Remidial — Teknik belajar untuk bertahan di dunia pemrograman

image

Refresh Icon — lambang penanda teknik remidial. Gambar diambil dari Wikimedia.

Saya masih ingat waktu SD-SMA (2006–2013), saya membeli buku bank soal persiapan ujian nasional. Kira-kira setiap sebelum pergantian jenjang pendidikan, saya membeli sekitar 2–3 buku bank soal. Waktu itu harganya bervariasi dari 65k-125k. Tujuannya sederhana biar mantap mempunyai persenjataan ilmu untuk menghadapi ujian nasional yang ibaratnya nyawa saya dipertaruhkan selama 3 hari. Sebelum ujian nasional pun saya pernah dihadapkan dengan ujian pemantapan baik itu tingkat kecamatan sampai provinsi. Belajar lembur bagai kuda pun tiada hentinya ketika saya sudah menempati di tingkat pendidikan akhir SD, SMP dan SMA. Bahkan saya pernah tidak lulus ujian pemantapan dan dipanggil oleh kepala sekolah waktu saya SMP. 😂Tidak puas dengan buku bank soal yang saya punya, saya pun diwajibkan atau mewajibkan diri menduplikat soal-soal (hard paper) ujian nasional dari jaman bahula sampai bahulu (istilah yang saya buat sendiri, tidak ada di KBBI).

Sekarang, jika saya menelisik tindakan saya yang sebelumnya ternyata saya membeli “rasa nyaman” buat diri saya. Nyaris satupun tidak ada soal dan jawaban ujian nasional yang membekas di ingatan saya. Jadi, uang beli buku keluar percuma, buku bank soal sudah sia-sia dan sekarang buku bank soal saya beli waktu itu sudah tidak tahu di mana lokasinya sekarang. Badai pasti berlalu.

Di bangku perkuliahan D3 Manajemen Informatika, kebiasaan saya membeli buku kembali lagi. Kira-kira mulai semester 5–6 (2015–2016), saya membeli buku pemrograman dan framework mulai dari buku CodeIgniter 3, Laravel 4, membuat aplikasi web dan mobile, bahkan sampai pernah beli buku rumus excel. Ya, tujuannya sih biar dipakai buat latihan dan kembali lagi, ujung-ujungnya tidak ada yang saya coba. Uang melayang beli buku tersebut dan saya membeli “rasa nyaman” buat diri saya (lagi).

Satu-satunya buku yang saya katakan berguna buat saya waktu membuat tugas akhir adalah buku Rekayasa Perangkat Lunak untuk membuat UML.

image

Buku Rekayasa Perangkat Lunak karya Rosa A.S dan M. Shalahuddin. Sumber foto pribadi.

Dari masa kuliah tersebut saya belajar bahwa dunia IT khususnya software perkembangannya sangat cepat seperti pahlawan Flash. Saat ini, saya sudah tidak membeli buku yang berbau teknis pemrograman yang berbahasa Indonesia karena panduan teknis di buku kalah cepat dibandingkan versi online. Saya lebih memilih membeli buku online yang disertai pembaharuan konten dari penulis dan video tutorial yang berbahasa Inggris.

Semenjak saya bekerja sebagai web programmer selama 1.5 tahun, akhir-akhir ini saya mulai kerajinan membeli tutorial maupun buku online yang nyatanya tidak semua saya pelajari karena ada beberapa materi yang tidak diperbaharui oleh penyedia tutorial. Jadi, uang pun terbuang percuma (lagi-lagi).

image

Materi pelajaran yang saya beli di Udemy.

Pada gambar di atas, saya beri kotak berwarna merah yang menandakan bahwa saya tidak akan mempelajari tutorial tersebut karena keterbatasan waktu dan materi yang tidak diperbaharui oleh penyedia konten.

Lantas saya berpikir, apa yang salah dari pola belajar saya dan hal apa yang bisa saya lakukan untuk mengubah pola belajar saya entah itu pemrograman maupun hal-hal yang lain?

Sambil merenung saya jadi teringat dengan mata kuliah pemrograman berbasis objek Java waktu saya semester 2. Waktu itu kami diajari dengan studi kasus yakni ular tangga. Kami disuruh menyiapkan bahan seperti papan ular tangga yang di slice dan setiap slice diberikan nama (contoh: “1.jpg”, “2.jpg”, “3.jpg”, …, “100.jpg). Selanjutnya ketika bahan sudah selesai kami dipandu oleh dosen kami cara ngodingnya.

Selama pembelajaran berlangsung, beliau menyuruh kami memperhatikan beliau ngoding dan kami dilarang ngoding sampai beliau selesai ngoding. Ini cukup menarik, karena biasanya ketika ketinggalan sedikit saja kami sendiri sudah ketakutan. Setelah beliau selesai ngoding, kami baru boleh mengetik ulang kodingan beliau di laptop kami masing-masing. Tak jarang ada yang iseng main salin kodingan dari laptop kami bahkan langsung dari laptop dosen. 😂

Saat kami menghadapi kesulitan seperti error karena ketinggalan satu baris atau titik koma, biasanya kami disuruh menganalisa sendiri mengapa error dan bagaimana cara menanggulanginya. Jika benar-benar mentok barulah kami bertanya ke dosen.

Setelah studi kasus ini selesai secara keseluruhan, saya penasaran dengan kakak kelas dan teman seangkatan, apakah ada yang diajarkan studi kasus seperti itu? Ternyata ada dan yang mengajarkan adalah dosen yang sama. Saat membandingkan kodingan yang diajarkan di kelas saya dengan kodingan kelas lain, isinya berbeda tetapi hasilnya sama. Jadi, bisa saya simpulkan bahwa dosen saya memiliki banyak variasi untuk membuat ular tangga ini berjalan.

Kalau dihitung-hitung sudah sampai generasi keempat (termasuk dua generasi di bawah saya) yang diberikan studi kasus ular tangga bahkan saya berani bertaruh bahwa isi kodingannya tidak 100% sama.

Seingat saya, saya pernah bertanya kepada beliau mengapa memberikan studi kasus ini kepada kami secara berulang-ulang. Jawabannya kira-kira seperti ini. > Tujuan saya memberikan ini ke kalian adalah biar saya tidak perlu menyiapkan materi baru dan mengulang materi yang saya berikan serta mencoba beberapa variasi koding dengan ular tangga tersebut.

Kita juga pasti pernah melihat kalau papan ular tangga tidak selalu selesai di angka 100, bisa saja 30 dan 50. Jadi, sudah pasti varian kodingnya banyak sekali. Dosen kami berpesan bahwa rajin-rajinlah membaca kode yang sudah pernah dibuat, kalau sudah jarang dibaca pasti cepat lupa apalagi kalau tidak diisi komentar di setiap fungsi.

Di waktu itu saya juga membaca artikel berjudul “Lan Na Zha” milik pak Endy Muhardin. Inti dari cerita tersebut adalah variasi tools boleh beragam setiap saat tetapi dasar pembuatan tools tersebut pasti tetap sama.

Dari hal-hal di atas, saya mulai membatasi diri untuk membeli tutorial pemrograman yang saya anggap tidak perlu atau tidak bisa saya pelajari karena sudah ada yang harus saya dan harus diselesaikan.

Pelajaran dari cerita saya yang bisa dipetik sebagai berikut:

  1. Membaca source code satu studi kasus yang sudah saya pernah buat berulang-ulang. Berusaha tidak tergoda untuk mencoba studi kasus yang baru jika belum menguasai studi kasus dan isi kodingan secara keseluruhan. Jika studi kasus tersebut kita buat dengan framework, coba kita upgrade framework tersebut, update library yang dipakai, melakukan code refactoring, membuat dokumentasi bagaimana cara menjalankan source code yang kita buat. Sama seperti ketika nilai ulangan kita jelek maka ada program remidial (biasanya) yang membuat nilai kita lebih baik.
  2. Fokus pada satu tutorial yang ingin dipelajari dan jangan tergoda mencoba tutorial yang baru kalau belum selesai. Jika sudah selesai, saya coba luangkan waktu dan melakukan langkah pertama.
  3. Kuasai dasar pemrograman pada tools atau bahasa pemrograman yang kita pilih saat ini dan jika perlu jangan coba berpaling ke lain hati (ke bahasa pemrograman lain). Kuasai tools atau bahasa pemrograman secara mendalam ibarat menyelami laut sampai ke dalam-dalamnya. Saya pribadi fokus pada dua bahasa yakni PHP sebagai backend dan JavaScript sebagai frontend.
  4. Jangan memaksa diri sendiri untuk belajar bahasa atau tools pemrograman lain. Jangan menganggap hal tersebut penting dan wajib yang mengakibatkan diri sendiri kesulitan. Lebih baik fokus ke beberapa hal yang menjadi keunggulan milik diri sendiri. Setiap orang punya kelebihan dan kekurangan serta saling melengkapi.

Semoga bermanfaat.