Kedua anak saya mulai belajar berhitung. Mereka baru masuk groep 4 di basisschool di Belanda, atau setara dengan kelas 2 SD. Berbeda dengan saya yang pada usia seperti mereka baru mengenal kalkulator pertama kali, mereka sudah menjumpai kalkulator di banyak peralatan di sekitar. Pesawat telepon di rumah dilengkapi kalkulator, Windows XP yang digunakan oleh mereka juga berisi kalkulator, telepon genggam, adalah sekian contoh alat-alat dengan kalkulator siap pakai.
Pada saat saya duduk di kelas satu SMP, kepala sekolah kami pernah menyempatkan memberi pandangan tentang “kerugian pemakaian kalkulator”. Beliau menyebutkan bahwa dengan kemudahan mengoperasikan tombol-tombol kalkulator, kami, para siswa, menjadi tidak ahli lagi dalam ilmu aritmatika. Saya sendiri tidak tahu persis kebenaran pendapat tersebut, namun yang jelas sedikit risau juga apabila melihat anak-anak terlalu sering menggunakan kalkulator untuk belajar dasar-dasar berhitung. Keperluan mereka mengoperasikan kalkulator yang hanya ingin mendapat jawaban tanpa melewati usaha menyusun langkah mencapai solusi tersebut, menurut saya kurang baik dibanding pemakaian sempoa atau menghitung menggunakan simbol-simbol di atas kertas.
Alih-alih melarang dengan tegas, saya lebih cenderung menyodorkan alternatif cara mengerjakan hitungan tersebut ketimbang secara mutlak melarang pemakaian kalkulator. Saya pernah mengenalkan utilitas bc di Linux kepada anak-anak, namun karena memang berbasis kalkulator tentu “kurang menantang” mereka jika sekadar mengetikkan 9 + 6 dan setelah diakhiri dengan ketikan Enter jawaban muncul di layar.
Seharusnya seperti halnya memrogram, alat bantu yang digunakan mengarahkan mereka menyusun langkah-langkah dulu sebelum jawaban diperoleh. Berarti bahasa pemrograman yang mereka perlukan, demikian kesimpulan saya sementara ini.
Agar tujuan di atas tercapai, saya menyusun kriteria bahasa pemrograman yang akan dipakai sebagai berikut,
- kelompok interpreter, sehingga respon diperoleh langsung dan tidak ada proses kompilasi;
- tersedia alat bantu interaktif yang sekaligus berfungsi sebagai editor, sehingga tidak perlu menjelaskan pemisahan editor dan alat bantu bahasa pemrograman;
- penulisan statemen di dalam bahasa tersebut semudah mungkin. Mereka belum tahu variabel, tipe data, dan pengertian semantik lainnya.
Jelas bahasa pemrograman seperti Pascal, C, atau Java sudah tidak lolos pada kriteria pertama. PHP terlalu Web-sentris dan versi perintah barisnya pun perlu editor terpisah — potensial merepotkan anak-anak untuk pindah editor dan interpreter pengeksekusi kode PHP. Perl sebenarnya potensial dianggap sebagai kandidat, walaupun versi gratis alat bantu ini tetap memisahkan tempat penulisan kode dan interpreter. Namun yang lebih menyulitkan adalah sintaks Perl itu sendiri yang terlalu cryptic untuk anak-anak: rasanya “kurang alamiah” sebuah variabel diawali dengan karakter $.
Saya sendiri mengawali belajar bahasa pemrograman dengan BASIC, sebuah kondisi tipikal tahun 1980-an, namun saya masih ragu menyodorkan bahasa ini untuk pendidikan sekarang ini. Selain alat bantu di lingkungan perintah baris terasa kurang berkembang, cap “pemrograman spaghetti” masih membekas akibat masa lalu BASIC yang overdosis dengan perintah GOTO.
Akhirnya saya pilihkan Python untuk anak-anak. Interpreter Python dilengkapi dengan editor sederhana yang relatif mudah dikuasai anak-anak, termasuk history baris sebelumnya yang menyenangkan karena menghemat pengetikan. Dari segi bahasa pun mudah saya jelaskan kepada mereka.
Pertama kali untuk berhitung, saya jelaskan bahwa perintah print dapat digunakan,
>>> print 3 + 9
12
>>> print 4 * 2
8
Setelah itu bentuk di atas yang tidak jauh dari kalkulator diganti dengan langkah-langkah penyelesaian soal, yakni lewat variabel,
>>> a = 3
>>> b = 9
>>> print a + b
12
Kebetulan dalam Bahasa Belanda, tanda = dibaca sebagai is, sehingga menjadi lebih mudah lagi dijelaskan, a is drie, dan b is negen. Persis seperti membaca sebuah soal cerita.
Agar tidak terpaku dengan variabel yang tidak berarti apa-apa seperti di atas, a dan b diganti dengan contoh nama benda-benda di sekitar, misalnya,
>>> apel = 10
>>> banaan = 4
>>> print apel - banaan
6
Tentu saja karena tujuan yang lebih penting pada usia mereka bukan penguasaan bahasa pemrograman itu sendiri, melainkan pada pemahaman salah satu langkah mendapatkan solusi lewat komputer, saya membiarkan saja mereka bermain sepuas mungkin dengan variasi pernyataan sederhana di atas.
Kesalahan penulisan program pun menjadi hal yang lucu bagi mereka, bukan sesuatu yang ditakuti. Misalnya apabila terdapat sebuah variabel yang belum diinisialisasi digunakan dan Python menolak dengan pesan kesalahan, cukup saya jelaskan bahwa “nama” tersebut belum dikenali oleh komputer sehingga dia “minta dikenalkan” terlebih dulu.
Python sendiri menurut pencetusnya, Guido Van Rossum, berawal dari ABC, bahasa pemrogaman yang digunakan untuk keperluan pengajaran. Walaupun saya belum membuktikan untuk pemakaian berskala luas seperti di kelas misalnya, saya puas melihat anak-anak bermain variabel dan print, baik dengan instalasi ActivePython dari ActiveState untuk lingkungan Windows XP, atau kadang-kadang saya biarkan mereka menggunakan paket bawaan di Linux sambil mengenal juga keindahan layar konsol teks.
sebelumnya saya perkenalkan diri terlebih dahulu, saya adalah seorang pendidik yang bukan berasal dari basic pendidikan. saat ini saya sedang berusaha “melek” komputer, kebetulan sekali bahasa pemrograman yang sedang saya pelajari adalah bahasa python. setelah membaca artikel ini, saya berterima kasih sekali atas petunjuknya. walaupun saat ini saya baru mulai belajar, tetapi saya sempat berpikir, apakah mungkin bahasa pemrograman dapat diajarkan kepada anak-anak. ternyata ide saudara memberikan spirit bagi saya bahwa bukan tidak mungkin mengenalkan bahasa program sejak dini. sekali lagi terima kasih. kalau boleh saya ingin diberikan tips atau pengalaman apalagi dalam mengenalkan bahasa program kepada anak anak. terima kasih