Stop berusaha nge-hafal syntax bahasa pemrograman ✋

Tri Hargianto
JogjaJS Community
Published in
3 min readJun 2, 2020

Sampai hari ini, dari pertama kali saya menulis kode, sudah terhitung kurang lebih 8 tahun saya ngoding. Di perjalanan tersebut, saya melihat banyak sekali teknologi bermunculan (dan menghilang), mulai dari library, framework, bahasa pemrograman, tools, dll.

Dengan derasnya teknologi yang terus berdatangan, saya rasa masuk akal jika saya bilang “syntax tidak perlu dihafal”.

Saya dulu pernah bilang hal serupa ke teman saya di kampus. Tentu dia menolak menerima statement tersebut, karena dia rasa tidak mungkin rasanya menulis kode tanpa dihafal terlebih dahulu.

Banyak sekali programmer baru yang masih berpikir:

  1. Saya tidak cukup jago bikin aplikasi karena saya tidak hafal syntax dari teknologi X.
  2. Gimana ya caranya buat cepet menguasai teknologi X, tanpa ngeliat dokumentasi.
  3. Haduh gimana mau jadi ahli, bikin text supaya vertikal ketengah pake CSS aja masih kopi paste di Stackoverflow.

Nyatanya, kita memang tidak perlu ngotot menghafal syntax. Sebagai contoh, berikut ini beberapa cara buat menghitung berapa jumlah karakter suatu string di beberapa bahasa pemrograman :

  1. teks.length di Java & Javascript
  2. len(teks) di Python
  3. teks.count() di Django
  4. strlen(teks) di PHP & C
  5. length teks di Haskell
  6. (count teks) di Clojure
  7. dan seterusnya…

Tujuan dari semua kode di atas sama, namun tiap bahasa pemrograman punya caranya sendiri. Bahkan, saya tebak sekarang kamu udah lupa cara nulis syntax-nya di atas antara satu bahasa ke bahasa yang lain.

Oke, berarti kita gak perlu menghafal nih?

Saya bilang, tidak perlu berusaha menghafal.

Analoginya, kita pergi ke luar kota dan menetap di sana selama sebulan. Hari pertama, mau jalan-jalan tapi gak tau lokasi. Kita otomatis langsung buka Maps kan? Hari kedua mau ke tempat yang sama, masih lupa jalannya jadi buka Maps lagi, hari ketiga udah gak perlu buka Maps soalnya tanpa disadari udah hafal jalan dengan sendirinya.

Sama dengan pemrograman, ketika kita dihadapkan suatu masalah dan tidak tau syntax nya kita tinggal googling beres, nemu masalah lain gak tau syntax nya lagi, kita tinggal googling lagi. Proses ini akan berulang-ulang sampai akhirnya tanpa kita sadari kita hafal sendiri.

Cerita dikit, 3 tahun lalu saya dapet project bikin aplikasi buat Android sama iOS. Saya belum pernah bikin aplikasi mobile tapi nekat saya ambil project-nya. Dengan bekal punya ilmu dikit soal ReactJS. Selama proses develop saya tidak jauh-jauh dari situs React native, Google, Stackoverflow, & Github. Alhamdulilah hasil akhirnya sesuai harapan.

Seiring berjalannya waktu saya jadi tau Gradle itu apa, cara nambahin dependency di Android itu gimana kodenya, cara daftarin informasi aplikasi di file Info.plist di iOS itu gimana, dll.

Setelah hari itu, saya nerima project lain lagi dan ngerjainnya udah lebih cepet soalnya udah mulai familiar sama syntax-nya. Kalo lupa syntax tinggal buka dokumentasinya lagi.

Kata beberapa Engineer

Faktanya, programmer senior pun masih sering googling hal-hal sepele. Berikut beberapa tweet yang sebenernya udah lama banget, tapi masih cukup relevan 😁

Yang Lebih Penting daripada Syntax

Hal yang lebih penting dari syntax menurut saya adalah kemampuan kita dalam memecahkan masalah/problem solving. Banyak programmer yang jago nulis kode, hafal banyak syntax tapi kesulitan dalam hal problem solving.

Kalo lupa syntax kita bisa googling → nemu kodenya → copy → modif dikit → beres 🎉.

Tapi untuk kemampuan problem solving adalah satu hal yang benar-benar berbeda, dan ini yang perlu kita prioritaskan untuk dilatih.

Mempelajari Algoritma dan Struktur Data komputer adalah fundamental yang tepat dan penting untuk melatih problem solving kita di bidang pemrograman komputer.

Cara saya belajar teknologi baru

Berikut cara saya belajar ketika ada library, framework, maupun teknologi baru. Saya yakin, ini juga yang dilakukan banyak Engineer yang udah punya jam terbang tinggi.

Habiskan waktu lebih untuk memahami konsepnya, pelajari betul bagaimana alur dan cara kerjanya, apa aja fitur yang tersedia di library/framework/bahasa pemrograman tersebut.

Baca dokumentasinya secara lengkap, pahami konsep dan cara kerjanya. Sekali kita udah paham konsepnya, pas mau nulis kodenya, kita tinggal lihat dokumentasinya.

Apa yang saya tulis di sini adalah pendapat saya dari pengalaman saya pribadi 😁, saya sangat terbuka dengan pendapat maupun masukan lain yang mungkin bisa mengubah perspektif saya.

Btw, terimakasih sudah membaca 🤟

--

--