Ada yang kram otak ketika belajar koding? Ingin membenturkan kepala supaya meledak syaraf buntunya, atau memang sudah melakukannya? Kalau saya, sudah. Hehe.
Sebenarnya memprogram, atau lebih sering disebut ‘ngoding’(kadang juga disebut bikin script atau apalah), semudah membalik telapak tangan. Karena kalau tidak dibalik, jadinya berdoa. Kan menengadah ke atas.

Ini mau bercanda atau ngelantur? Baik, ini dia:
1. Tulis algoritma dengan bahasa ibu atau bahasa sehari-hari, untuk sementara.
Pada dasarnya, algoritma pemrograman adalah sederetan kode (jangan kode-kodean gitu lah, kaya cewek) yang diperintahkan kepada prosesor untuk mengeksekusinya. Pusing kalau bicara ke kode heksadesimal, kita bicara yang tingkat tinggi saja.
Bahasa pemrograman tingkat tinggi yang terkenal seperti python, m, C++, PHP, Java(sekarang katanya ganti Jakarta) dan sebagainya. Lalu mengapa harus sedemikian macam kalau akhirnya jadi heksadesimal yang sama? Jawabannya ada pada peruntukan aplikasi yang menyesuaikan alur berpikir alami manusia. Penerjemahan dari bahasa tingkat tinggi menjadi bahasa heksadesimal sangat dipengaruhi cara berpikir pencipta program. Jika penyusunnya adalah orang Jawa asli misalnya, hampir bisa dipastikan algoritmanya menggunakan kalimat “kanggone, yen, mangka, nalikane” untuk beberapa fungsi umum, terutama untuk pengambilan keputusan.
Nah, jika belum hafal instruksi-instruksi dari pustaka program semisal stdio.h atau stdafx.h (saya yakin ada yang sudah pusing ketika baca ini), tulis saja dulu perintah-perintah anda secara bersusun dan dengan bahasa masing-masing. Kasihan komputernya kalau dipukuli karena tidak paham omongan anda, dan anda tidak tahu cara ngomong ke dia.
Ini baru nomor satu kok panjang sekali? Pakai baper segala. Baik, sambung saja ke…
2. Pastikan tidak membenci matematika
Namanya juga algoritma, diambil dari nama Al Khawarizm, pengarang kitab Al Hisab wa Muqabbala, singkatnya ‘matematika’. Istilah-istilahnya tidak akan jauh-jauh dari istilah matematika juga. Seperti variabel, fungsi, matriks, vektor, dan sebagainya. Berhubung kode-kode yang ada hanya tulisan-tulisan bermakna tersirat, maka tidak bisa (atau belum ada) penulisan dengan cara papan tulis yang bisa dengan bebas membuat garis dan pecahan atau notas-notasi pembantu.
Kalau sudah alergi dengan matematika, lalu bagaimana? Coba saja langsung ..
3. Ulang terus
Melatih diri membuat program di papan ketik adalah mutlak harus dilakukan. Ini yang paling penting di antara proses belajar pemrograman, dan tentunya di pelajaran lain juga harus ada pengulangan. Apalagi akan sangat banyak sistem perulangan di dalam kode yang kita susun, apalagi jika sudah masuk kecerdasan buatan semacam Jaringan Syaraf Tiruan. Dan namanya mengulang, pasti berputar. Makanya mbulet bukan kotak, kecuali bundaran Simpang Lima Semarang. Hehe.
Bagi pembelajar yang tidak fokus di bidang pemrograman, hal ini menjadi sangat sulit. Akan membutuhkan proses lama. Saya pun juga bukan orang yang mengkhususkan diri di dunia program. Namun demi kemudahan dan pengiritan pekerjaan, suka tak benci, harus memrogram juga.
Jangankan satu buku, satu sub bab saja penulis butuh waktu sebulan sampai paham. Bahkan inisialisasi variabel dan membuat algoritma dasar saja harus nunggu diajari ketika dapat mata kuliah pemrograman. Bertahun-tahun belajar sendiri mengandalkan contoh program jadi, video tutorial, dan tulisan blog serta buku, tidak menghasilkan pemahaman berarti. Di sinilah pentingnya di’ulang’.
Gimana, sudah mau pecah kepala? Daripada bingung, baca dulu kisah ini:
Legenda Arduino
Massimo Banzi dan David Cuartielles, dosen di Italia mendapatkan masalah mengenai mahalnya perangkat keras dan referensi untuk belajar program. Karena mahasiswa dituntut bisa me’ngait’kan perangkat lunak ke perangkat keras, atau istilahnya mengantarmukakan, larik program yang begitu panjang membuat pembelajaran menjadi kurang efisien sedangkan penyelesaian tak kunjung ditemukan sementara materi harus dilanjutkan. Itu baru pemrograman Bahasa C dan C++, belum Assembly apalagi heksadesimal.
Dari masalah itu, beliau berusaha menciptakan suatu Development Board berbasis mikrokontroler ATMEL sekaligus Integrated Development Environtment (IDE) berbasis Java. Adapun Bahasa Pemrograman pada IDE nya adalah C++ yang dimodifikasi melalui library khusus Development Board tersebut. Terciptalah Arduino, Open Source Development Board yang telah mendunia.
Dengan Arduino, siapapun bisa menjadi programmer mikrokontroler. Mengapa? Karena larik programnya yang ringkas (larik yang perlu ditulis pengguna, bukan yang tersembunyi seperti katak di balik tempurung) dan contoh program beserta keterangan yang jelas. dari ‘nol puthul’ sampai belum bisa juga, hehehe. Nggak lah, pasti sampai mahir mahir. Mulai dari mengedipkan LED hingga menggerakkan Motor Stepper, bahkan pesawat tanpa awak seperti kit ArduPilotMEGA.
Kini Arduino dikembangkan hampir di seluruh dunia. Sifatnya yang terbuka dan ringkas membuat siapapun mudah berkontribusi.
Bagi yang penasaran, kisah Arduino, simak dokumentari dari Massimo Banzi dan tim pencipta Arduino
Sumber lain:
Arduino dan Revolusi Teknologi dengan Konsep Open Source
Bagi yang ‘terpaksa’ menulis program, ada buku bagus karangan Dr. Abdul Kadir yang berjudul “Pemrograman C++”. Walau ‘hanya’ C++, buku ini sudah cukup sakit kalau menghantam kepala. C++ menjadi bahasa dasar yang diajarkan di sekolah kejuruan maupun perguruan tinggi. Bagi yang membenci kurung kurawal dan titik koma, silakan bermain dengan python, di mana saya edang mencoba menyelesaikan “Otodidak Pemrograman Python” karya Jubilee Enterprise. Untuk aplikasi pembuat program yang serbaguna dan serbabisa, gunakan codeblocks.
Kesimpulannya adalah coding emang bikin kepala mau pecah ya hehe