CODING SEJAK SD, TAPI BERPIKIR ALGORITMIKNYA DI MANA?
Saya pernah berhadapan dengan siswa SMK yang bahkan kesulitan menjelaskan cara berpikir algoritmik dalam kehidupan sehari-hari.
Bukan disuruh bikin program. Bukan disuruh menulis kode.
Coba jelaskan saja kenapa harus melakukan A sebelum B. Kalau hasilnya gagal, apa yang diperiksa dulu. Kalau cara pertama tidak berhasil, apa alasan memilih cara kedua.
Pertanyaan sederhana. Tetapi jawabannya sering kali tidak sesederhana yang dibayangkan.
Belakangan, pendidikan coding sejak sekolah dasar mulai sering diperbincangkan. Anak-anak diperlihatkan sedang menggunakan perangkat lunak, menyusun blok instruksi, atau membuat sesuatu di layar komputer. Ada juga yang mengikuti perlombaan. Lalu prestasi itu ditampilkan sebagai bukti bahwa pembelajaran coding sudah berjalan.
Saya tidak sedang mengatakan kegiatan itu tidak berguna. Tentu ada manfaatnya. Anak-anak perlu mengenal teknologi. Mereka juga perlu kesempatan untuk mencoba dan membuat sesuatu.
Tetapi ada pertanyaan yang terasa lebih mendasar.
Apakah anak-anak sedang belajar berpikir, atau hanya belajar mengoperasikan perangkat lunak?
Coding bukanlah algoritma. Coding adalah cara menerjemahkan instruksi atau logika ke dalam bahasa yang dapat dipahami komputer. Sementara algoritma adalah urutan langkah untuk menyelesaikan persoalan.
Anak bisa saja berhasil menyusun blok pemrograman sampai programnya berjalan. Namun keberhasilan itu belum otomatis membuktikan bahwa anak memahami alasan di balik urutan instruksi tersebut.
Programnya berhasil dijalankan. Tetapi apakah anak memahami kenapa instruksi pertama harus dilakukan sebelum instruksi kedua?
Ini bukan perkara kecil. Sebab yang ingin dibangun melalui computational thinking bukan sekadar kemampuan menekan tombol atau menyusun blok. Ada kemampuan memecah masalah, mengenali pola, melakukan abstraksi, dan menyusun algoritma.
Empat hal tersebut tidak selalu harus dimulai dari komputer. Anak bisa belajar menyusun langkah, mengelompokkan benda, mengenali pola, atau mencari jalan keluar dari persoalan sehari-hari. Bahkan kegiatan tanpa perangkat digital dapat menjadi ruang untuk melatih cara berpikir tersebut.
Karena itu, saya agak terganggu ketika ukuran keberhasilan pendidikan coding terlalu cepat diarahkan pada apa yang terlihat di layar. Anak sedang menggunakan aplikasi. Anak sedang membuat permainan. Anak sedang mengikuti kompetisi.
Semua itu mudah diperlihatkan. Mudah didokumentasikan. Mudah dijadikan bahan publikasi.
Tetapi kemampuan berpikir tidak selalu terlihat dari sebuah foto kegiatan.
Masalahnya Tidak Berhenti di Sekolah
Saya melihat persoalan serupa ketika berhadapan dengan lulusan SMA atau siswa yang sudah berada di jenjang pendidikan menengah. Ada yang kesulitan mengikuti SOP tertulis.
Bukan karena tidak mampu membaca. Bukan juga karena tidak memahami kata-kata yang tertulis.
Masalahnya sering kali muncul ketika mereka merasa ada cara yang lebih singkat. Langkah tertentu dianggap tidak perlu. Urutan pekerjaan diubah begitu saja. A dilakukan setelah B, atau bahkan dilewati, karena menurut mereka hasil akhirnya tetap bisa dicapai.
Padahal, pertanyaan yang seharusnya muncul bukan sekadar “Apakah ada cara yang lebih cepat?”
Pertanyaan yang lebih penting adalah: “Apa alasan langkah ini harus dilakukan terlebih dahulu?”
Mengoptimalkan prosedur bukanlah kesalahan. Justru itu bisa menjadi tanda bahwa seseorang memahami proses. Tetapi mengubah urutan tanpa memahami alasan di baliknya adalah persoalan yang berbeda.
Ada perbedaan antara menemukan cara yang lebih efisien setelah memahami sistem dan memotong langkah hanya karena merasa langkah tersebut tidak penting.
Di bengkel servis laptop, misalnya, setiap tamu yang datang tetap dicatat nomor HP-nya di buku tamu. Tidak peduli apakah tamu tersebut akhirnya jadi melakukan servis atau tidak.
Ada orang yang mungkin berpikir, kalau tidak jadi servis, untuk apa nomor HP dicatat?
Tetapi kunjungan tidak selalu berakhir menjadi transaksi. Seseorang bisa datang untuk bertanya, mempertimbangkan biaya, lalu pulang. Bisa juga datang kembali beberapa hari kemudian. Catatan kunjungan membantu bengkel menghubungkan kembali riwayat kedatangan tersebut.
Ada kemungkinan lain yang lebih sederhana, tetapi justru sering terlupakan.
Barang tamu bisa saja tertinggal.
Charger, tas, flashdisk, atau barang lain yang tidak sengaja tertinggal di bengkel. Kalau nomor HP tidak pernah dicatat, bagaimana pihak bengkel menghubungi pemiliknya?
Jadi, pencatatan nomor HP bukan semata-mata urusan transaksi. Ada fungsi dokumentasi, penelusuran, dan tanggung jawab terhadap orang yang datang.
Langkah yang terlihat sederhana ternyata memiliki alasan. Dan alasan itulah yang sering tidak ikut dipahami ketika seseorang hanya melihat SOP sebagai daftar pekerjaan yang harus diselesaikan.
Berpikir Algoritmik Bukan Sekadar Mengikuti Urutan
Saya tidak sedang mengatakan bahwa semua SOP harus dipatuhi secara kaku tanpa ruang evaluasi. SOP juga bisa salah. Prosedur bisa diperbaiki. Urutan kerja bisa dibuat lebih efisien.
Tetapi sebelum mengubahnya, seseorang perlu memahami fungsi setiap langkah. Apa yang sedang dijaga? Risiko apa yang sedang dikurangi? Informasi apa yang akan hilang jika langkah tersebut dilewati?
Di sinilah berpikir algoritmik menjadi penting.
Bukan sekadar menghafal urutan A, B, C, lalu D. Melainkan memahami mengapa A dilakukan lebih dahulu, apa yang berubah setelah A, dan mengapa B menjadi langkah berikutnya.
Ketika hasilnya tidak sesuai harapan, seseorang tidak langsung melompat ke solusi yang dianggap paling cepat. Ada proses untuk memeriksa kembali langkah, mencari penyebab, dan menentukan pengujian berikutnya.
Cara berpikir seperti ini dibutuhkan di banyak bidang. Di ruang kelas, di tempat kerja, di bengkel, bahkan dalam kegiatan sehari-hari.
Maka pendidikan coding sejak SD seharusnya tidak berhenti pada kemampuan membuat sesuatu berjalan di layar komputer.
Yang lebih penting adalah membangun kebiasaan berpikir: memahami masalah sebelum memilih solusi, memahami urutan sebelum mengubah prosedur, dan memahami alasan sebelum menyimpulkan bahwa sebuah langkah tidak diperlukan.
Kalau anak-anak hanya belajar menyusun blok, mungkin mereka akan menjadi operator perangkat lunak yang terampil. Tetapi jika mereka belajar memahami algoritma, mereka punya kesempatan untuk menjadi pemecah masalah.
Dan bukankah itu tujuan yang seharusnya kita kejar?
Komentar
Posting Komentar