Suatu hari penulis ditanya oleh seorang teman, kira-kira pertanyaannya seperti ini: Kira-kira hal apa yang bisa dari pemrograman atau IT yang bisa digabungkan dengan ilmu lain? Maka penulispun menjawab, Computational Thinking. Lalu si penanya bertanya, Computational Thinking? Apa itu Computational Thinking? Di sini penulis berusaha untuk menjawab pertanyaan tersebut sesederhana mungkin karena si penanya tidak memiliki background IT. Computational Thinking yang bisa disebut berfikir secara komputasi adalah salah satu cara berfikir yang digunakan dalam menyelesaikan masalah. Tiba-tiba di penanya mengatakan, beberapa waktu lalu saya sempat tanya ke salah satu saudara yang lulusan IT dan orang tersebut menjadi founder salah satu start up yang terkenal dengan pertanyaan yang sama dan dia menjawab hal yang sama yaitu berfikir secara komputasi.
Apa itu Computational Thinking?
Computational Thinking atau berfikir secara komputasi adalah salah satu proses berfikir yang melibatkan bagaimana memformulasikan persoalan dan solusinya sehingga solusi tersebut dapat direpresentasikan dalam bentuk yang efektif. Dalam berfikir secara komputasi memiliki beberapa landasan, yaitu dekomposisi, abstraksi, algoritma, pengenalan pola, dan mengevaluasi cara.
Mari kita bahas satu persatu dari landasan tersebut.
1. Dekomposisi (Decompotition)
Dekomposisi atau decompotition adalah memecahkan atau membagi suatu masalah menjadi bagian-bagian kecil, sehingga membuat kita lebih mudah dalam menyelesaikan masalah tersebut. Pada kasus kali ini kita akan menggunakan masalah pembuatan meja. Jika kita ingin membuat meja kita harus melihat apa saja yang kita butuhkan dalam pembuatan meja tersebut dan membagi hal tersebut menjadi bagian-bagian yang memiliki fungsi sendiri. Suatu meja memiliki tatakan (bagian atas), kaki-kaki meja dan penyambung antara kaki dan meja bagian atas. Dari sini kita dapat mengambil kesimpulan bahwa kita memiliki 3 bagian dari masalah pembuatan meja yaitu kita harus menyiapkan bagian atas meja, kaki-kaki meja dan penyambung antara kaki-kaki meja dan bagian atas meja. Sehingga kita bisa fokus dalam memaksimalkan fungsi-fungsi dari bagian-bagian yang akan kita buat.
2. Abstraksi (Abstraction)
Abstraksi atau abstraction adalah mengutamakan hal-hal yang penting dalam pemecahan suatu masalah. Di sini kita akan menggunakan contoh diatas yaitu pembuatan meja. Dalam pembuatan meja kita harus melihat apa saja yang dibutuhkan agar meja tersebut berfungsi sesuatu dengan kebutuhan kita, jika kita membutuhkan meja yang sederhana dan hanya digunakan untuk menulis atau menaruh barang-barang saja, maka kita bisa membuat kesimpulan bahwa meja yang kita butuhkan adalah meja sederhana tanpa ada tambahan apapun. Kita tidak perlu memikirkan harus ada roda di kaki meja tersebut atau meja tersebut memiliki warna yang aesthetic dan lain-lain. Setelah kita membuat meja tersebut dan sudah mencapai tujuan dari fungsi yang kita butuhkan barulah kita memikirkan masalah yang lain.
3. Algoritma (Algorithm)
Algoritma atau algorithm adalah membuat langkah apa yang akan kita lakukan untuk menyelesaikan suatu masalah. Dalam pembuatan meja di atas kita sudah mengetahui apa saja yang kita butuhkan dan apa saja bagian-bagian penting yang harus dikerjakan. Dari sini kita bisa membuat langkah-langkah untuk menyelesaikan masalah yaitu pembuatan meja, kita bisa memulai dari membuat kaki meja terlebih dahulu atau bagian atas meja atau bagian untuk menyambungkan antara kaki dan bagian atas meja.
4. Pengenalan Pola (Pattern Recognition)
Pengenalan pola atau patter recognition adalah mengenali dan memahami langkah-langkah yang kita buat dalam pemecahan suatu masalah sehingga jika kita menghadapi masalah yang sama kita dapat menyelesaikan masalah tersebut secara cepat dan efektif. Pada saat pembuatan meja, kita harus mengenali, memahami dan menghafal langkah-langkah yang kita butuhkan dalam pembuatan meja, sehingga jika kita ingin membuat meja yang sama untuk kedua kali, ketiga kali dan seterusnya, maka proses tersebut menjadi lebih cepat dan lebih efisien.
5. Mengevaluasi Cara (Algorithm Evaluation)
Mengevaluasi cara adalah menganalisa dan mengevaluasi apa yang sudah kita kerjakan, bagaimana hasilnya dan apakah ada cara yang lebih cepat dan efektif dalam penyelesaian masalah tersebut. Dalam pembuatan suatu meja kita bisa menganalisa cara yang kita pakai dan bahan atau kayu apa yang akan kita gunakan untuk membuat meja tersebut. Dari sini kita bisa mengembangkan fikiran kita sehingga meja yang kita buat bisa sesuai dengan penggunaannya. Contoh meja yang akan digunakan untuk meletakkan barang-barang berat maka membutuhkan kayu yang kuat, seperti kayu jati.
Kesimpulan
Computational Thinking atau berfikir secara komputasi tidak berpacu pada jurusan tertentu atau pekerjaan bidang tertentu. Dengan memahami dasar-dasar berfikir secara komputasi maka kita akan bisa menerapkan cara berfikir ini pada segala aspek dan bidang.