[caption caption="Cuplikan dari baris-baris kode ANUGA yang sedang aku pelajari. ANUGA adalah hasil kolaborasi antara Australian National University dengan Geosciences Australia untuk melakukan simulasi aliran air seperti banjir."][/caption]Aku tergelitik menanggapi ide menteri telekomunikasi kita soal memasukkan pelajaran coding ke kurikulum SMK. Aku menggap positif hal ini dan gebrakan ini merupakan sesuatu yang patut didorong lebih jauh. Akan tetapi, menurutku ada beberapa hal yang perlu mendapat perhatian yang komprehensif.
Aku mencari sesuap nasi melalui aktivitas coding ini. Paling tidak enam jam sehari aku habiskan untuk beraktivitas di depan komputer mengetikkan tulisan-tulisan aneh yang hanya dapat dimengerti oleh yang orang terlatih. Tanpa aktivitas coding ini sarana seperti kompasiana tak mungkin terwujud :).
Masalahnya, aktivitas coding yang berupa mengetikkan tulisan-tulisan aneh di komputer adalah sebagian kecil dari pekerjaan yang sebenarnya. Pekerjaan sebenarnya adalah penyelesaian masalah. Tulisan-tulisan aneh yang oleh kalanganku disebut bahasa pemrograman jumlahnya ratusan macam di luar sana. Masing-masing bahasa pemrograman ini cocok untuk menyelesaikan permasalahan tertentu. Aku penasaran bahasa pemrograman apa nantinya yang akan diajarkan ke siswa-siswi SMK yang beruntung itu?
Aku pernah bertemu seorang bocah sebelas tahun yang sudah mulai belajar bahasa pemrograman JAVA yang aku anggap cukup sulit digunakan. Salah satu kegunaan bahasa JAVA ini adalah untuk membuat aplikasi Android. Kebanyakan kawan-kawan kuliahku pernah ikut ekstrakurikuler berupa pemrograman bahasa C atau C++ waktu SMA.
Salah satu kegunaan bahasa C atau C++ adalah untuk membuat sistem operasi seperti Android atau iOS. Sementara aku waktu SMA tak ada yang mengajari soal coding. Pernah aku membeli buku tentang bahasa pemrograman PHP namun tergeletak begitu saja. Memasuki kuliah aku tak mengerti satupun bahasa pemrograman dan kuliahku bukanlah jurusan komputer atau sejenisnya yang memang mengajarkan pemrograman.
Tapi ada salah satu modal berharga dan untuk ini aku sangat berterima kasih kepada guru-guru matematika di SMA yang telah mengajar dengan baik. Selama karir profesionalku sebagai "coder" ilmu matematika sangat sekali membantu. Bahkan ilmu matematika adalah dasar dibalik semua bahasa pemrograman. Bahasa pemrograman itu seperti bahasa manusia.
Dua kata berbada "ini" dalam bahasa indonesia dan "this" dalam bahasa inggris mempunyai makna yang sama dalam otak manusia. Berbagai hal yang berbeda pada dua bahasa pemrograman dapat mempunyai makna yang sama dalam otak komputer. Oleh karena itu yang penting adalah bagaimana nalar itu dapat berfungsi yang waktu SMA dapat diasah dengan pelajaran matematika.
[caption caption="Jangan disangka kegunaan bahasa pemrograman hanya sebatas membuat website, aplikasi web, aplikasi smartphone dan sebagainya. Bahasa pemrograman memungkinkan NASA melakukan simulasi peluncuran roket hingga mendaratkan robot Curiosity di permukaan Mars. Di gambar robot Curiosity sedang melakukan selfie :)"]
Jikalau bapak menteri tetep ngotot untuk memasukkan pelajaran coding ini ke kurikulum SMK aku pribadi menyarankan menggunakan bahasa pemrograman yang mempunyai kriteria:
- Spektrum permasalahan yang dapat dipecahkannya luas
- Bahasa yang mudah digunakan di komputer manapun bahkan komputer tua yang sering dijumpai di sekolah-sekolah pelosok kampung.
Kriteria pertama adalah bahasa pemrograman yang akan diajarkan nanti harus mampu menyelesaikan persoalan yang sebanyak mungkin, tidak hanya berfokus pada beberapa hal saja. Istilahnya bahasa pemrograman tersebut disebut general purpose programming language. Untuk menjabarkannya aku akan berandai-andai andaikata waktu SMA dulu ada pelajaran coding atau setidaknya ekstrakurikuler coding. Pertama sang pengajar tentu harus memilih permasalahan apa yang cocok untuk SMA.
Waktu aku masuk SMA pada tahun 2006 masalah yang mungkin adalah membuat aplikasi web sederhana menggunakan bahasa pemrograman PHP. Mungkin tahun 2015 masalah yang mungkin adalah membuat aplikasi Android sederhana. Pertama pengajar mengajari tentang dasar-dasar pemrograman seperti soal "tata bahasa pemrograman".