Sebelum kita menulis satu baris kode pun, ada cara berpikir yang perlu kita kuasai terlebih dahulu — cara berpikir seperti seorang pemecah masalah yang sistematis.
Bayangkan kamu diminta memasak mie instan untuk pertama kalinya. Kamu tidak hanya melempar mie ke dalam panci dan berharap hasilnya enak. Kamu berpikir terlebih dahulu: bahan apa yang dibutuhkan, apa yang harus dilakukan lebih dulu, bagaimana urutan langkahnya.
Tanpa kamu sadari, kamu sedang melakukan Computational Thinking — cara berpikir yang sistematis, terstruktur, dan efisien dalam memecahkan masalah.
Computational Thinking (CT) adalah proses berpikir yang digunakan untuk merumuskan masalah dan solusinya sedemikian rupa sehingga solusi tersebut dapat dieksekusi oleh manusia, komputer, atau keduanya secara efektif.
— Wing, J.M. (2006). Computational Thinking. Communications of the ACM.
Dengan kata lain, CT adalah cara berpikir seperti pemecah masalah ulung — bukan sekadar cara berpikir seperti komputer. Ini adalah keterampilan manusia yang kebetulan sangat cocok untuk memprogram komputer.
Computational Thinking berdiri di atas empat pilar utama. Keempat pilar ini bekerja bersama — bukan secara terpisah — untuk membentuk cara berpikir yang komprehensif dalam memecahkan masalah.
Dekomposisi adalah kemampuan memecah masalah atau sistem yang besar dan kompleks menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola.
Analogi terbaik: Bayangkan kamu diminta membersihkan kamar yang sangat berantakan. Jika kamu melihatnya secara keseluruhan, kamu mungkin akan kewalahan dan tidak tahu harus mulai dari mana. Tapi jika kamu dekomposisi tugasnya — pertama rapikan baju, lalu susun buku, kemudian sapu lantai — tiba-tiba tugas besar itu terasa bisa diselesaikan.
Pengenalan Pola adalah kemampuan mengidentifikasi persamaan, tren, dan keteraturan dalam data atau masalah. Dengan mengenali pola, kita bisa menggunakan solusi yang sudah berhasil sebelumnya untuk memecahkan masalah baru yang serupa.
Analogi: Seorang dokter yang sudah berpengalaman bisa mendiagnosis penyakit lebih cepat karena ia mengenali pola gejala yang pernah dilihatnya sebelumnya. Ia tidak perlu memulai dari nol setiap kali ada pasien baru.
Abstraksi adalah kemampuan menyaring informasi yang tidak pentingdan hanya fokus pada hal-hal yang relevan dengan masalah yang sedang dipecahkan.
Analogi yang sempurna: Peta. Sebuah peta Jakarta tidak menunjukkan setiap pohon, setiap papan reklame, atau setiap genangan air di jalanan. Peta hanya menampilkan informasi yang kita butuhkan untuk sampai ke tujuan — jalan, landmark, dan arah. Detail yang tidak relevandiabstraksikan agar kita tidak kebingungan.
Algoritma adalah serangkaian langkah yang jelas, terurut, dan terbatas untuk memecahkan masalah atau mencapai tujuan. Ini adalah "resep" yang bisa diikuti siapa saja — manusia atau komputer — dan akan selalu menghasilkan output yang sama untuk input yang sama.
Analogi: Resep masakan adalah algoritma. Jika kamu mengikuti resep nasi goreng spesialdengan tepat, hasilnya akan selalu nasi goreng spesial — bukan sup, bukan kue. Algoritma bersifat deterministik: input yang sama selalu menghasilkan output yang sama.
CT bukan konsep yang hanya hidup di dalam buku teks atau laboratorium komputer. CT adalah cara berpikir yang kita gunakan — bahkan tanpa sadar — setiap harinya.
Ketika Google Maps memberikan 3 rute berbeda ke tujuanmu, kamu secara otomatis menerapkan CT: dekomposisi (pecah perjalanan menjadi segmen), pengenalan pola (rute mana yang biasanya macet jam segini?), abstraksi (abaikan jalan tol yang mahal), dan algoritma (ikuti rute yang paling efisien).
Mengikuti resep masakan adalah algoritma murni — langkah berurutan yang jelas, dengan input (bahan) dan output (masakan). Jika kamu menyesuaikan resep untuk porsi lebih besar, kamu melakukan abstraksi (rasio bahan) dan pengenalan pola.
Strategi belajar yang baik dimulai dengan dekomposisi materi ke dalam topik-topik kecil, pengenalan pola soal (tipe soal apa yang sering muncul?), abstraksi (fokus pada konsep kunci, bukan hafalan detail), lalu algoritma (jadwal belajar yang terstruktur).
Sekarang kita sambungkan CT dengan apa yang akan kita pelajari sepanjang tahun ini — Arduino dan pemrograman robotika. Hubungannya sangat langsung dan tidak bisa dipisahkan.
Memecah program besar menjadi fungsi-fungsi kecil yang spesifik
Memilih struktur kontrol (loop, if-else, switch) berdasarkan pola masalah
Membuat fungsi/library yang menyembunyikan detail implementasi
Menulis kode yang berurutan, efisien, dan menghasilkan output yang dapat diprediksi
Di akhir Semester 1, kita akan membangun Smart Gate System — sistem palang pintu otomatis berbasis Arduino. Sistem ini akan menggabungkan semua 4 pilar CT:
Jawab pertanyaan berikut untuk mengecek pemahamanmu. Tidak ada penilaian — ini adalah kesempatan untuk mengetahui seberapa jauh kamu sudah memahami materi hari ini.
Pilih satu aktivitas dari kehidupan sehari-harimu yang kamu lakukan hari ini atau kemarin. Aktivitas bisa apa saja — dari yang sederhana seperti menyiapkan sarapan hingga yang kompleks seperti berlatih olahraga atau mengerjakan tugas.
Format pengumpulan: Tulis tangan di buku catatan atau ketik di Google Docs. Presentasikan secara singkat kepada teman di sebelahmu.
Luangkan 2–3 menit untuk menjawab pertanyaan di bawah secara jujur.
Apa yang paling mengejutkan atau menarik hari ini?
Pilar CT mana yang paling sering kamu gunakan dalam kehidupan sehari-hari tanpa kamu sadari sebelumnya? Mengapa kamu baru menyadarinya sekarang?
Apa yang masih membingungkan atau ingin kamu pahami lebih dalam?
Apakah ada bagian dari 4 pilar CT yang masih terasa abstrak atau sulit dibedakan satu sama lain? Berikan contoh kebingunganmu.
Apa yang ingin kamu coba atau pelajari minggu depan?
Bagaimana kamu akan mencoba menerapkan setidaknya satu pilar CT secara sadar dalam aktivitas belajar atau keseharianmu minggu ini?
Refleksi tidak dinilai — ini adalah ruang jujurmu untuk berpikir.