Computational Thinking (atau mungkin jika di Indonesiakan menjadi pemikiran komputasi) adalah salah satu pendekatan yang dapat digunakan dalam memecahkan masalah (problem solving). Secara singkat computational thinking adalah mencoba memecahkan masalah dengan cara pemecahan masalah dari sudut pandang komputasi. Walaupun sangat lekat dengan rekayasa perangkat lunak, namun pemrogram perangkat lunak pun seringkali tidak menerapkan computational thinking dalam membangun perangkat lunak.
Apa itu computational thinking ?
Istilah Computational Thinking pertama digaungkan oleh Seymour Papert dalam bukunya berjudul "Mindstorm". Menurut Jeannette Wing
Computational thinking is teh thought process involved in formulating problems and their solutions so that the solutions are represented in form that can be effectively carried out by an information-processing agent.
Computational Thinking pada dasarnya pola berpikir dengan menguraikan suatu masalah menjadi beberapa bagian yang lebih kecil dan sederhana, menemukan pla masalah serta menyusun langkah-langkah solusi mengatasi masalah, seperti dalam membangun perangkat lunak.
Kemampuan kunci dalam computational thinking
Ada 4 kemampuan kunci dalam Computational Thinking yaitu decomposition, pattern recognition, pattern abstraction, dan algorithm design. Dan beberapa tambahan kemampuan lain misalnya debugging. Mari kita bahas satu persatu.
Decomposition
Decomposition adalah memecah masalah yang lebih kompleks menjadi lebih kecil dan lebih mudah di-manage. Memecah-mecah masalah menjadi lebih kecil dan sampai ke pokok sebuah masalah hingga kita menyelesaikan suatu masalah tersebut dapat menyelesaikannya satu persatu dan mengidentifikasi perbagian darimana masalah itu datang.
Pattern Recognition
Pattern Recognition adalah mencari pola di sebuah puzzle permasahalan dan memutuskan apakah masalah/solusi yang pernah kita temukan dapat digunakan untuk memecahkan masalah saat ini. Dengan mengetahui pola maka kita dapat memikirkan kembali solusi-solusi yang cocok berdasarkan pola-pola dan solusi yang pernah kita lakukan apda masalah yang lain.
Pattern Abstraction
Pattern Abstraction atau kadang disebut juga dengan pattern generalization adalah mengidentifikasi prinsip-prinsip umum yang menghasilkan pola, tren, dan keteraturan. Salah satu caranya yaitu dengan membuat pemodelan atas sebuah masalah untuk mendapat gambaran paling umum dari kompleksnya suatu permasalahan.
Algorithm Design
Algorithm Design adalah menentukan langkah dan aturan yang diperlukan untuk diikuti dalam rangka mencapat tujuan yang diinginkan. Langkah demi langkah ini tidak jarang dapat digunakan pada permasalahan lain yang juga memiliki pola yang sama.
Other Skills
Selain kemampuan diatas beberapa kompetensi yang dapat membantu computational thinking yaitu debugging (analisis dan evaluasi yang sistematis ketika suatu solusi tidak berjalan seperti yang diinginkan), dan automation (serangkaian proses yang dapat mengurangi sumber daya dalam rangka menjalankan suatu tugas yang berulang-ulang harus di lakukan sehingga tidak harus dilakukan oleh manusia).
Computational thinking dapat diterapkan pada ranah yang sangat luas, bukan hanya di rekayasa perangkat lunak saja. Pendekatan computational thinking sebisanya diajarkan sejak kecil agar setiap individu terbiasa dalam memecahkan masalah serta berpikir kritis. Apalagi jika melihat Indonesia saat ini dimana masyarakatnya sangat mudah terpengaruh oleh pernyataan-pernyataan yang seolah mudah namun tidak dapat direalisasikan karena tidak terbiasa dengan berpikir dengan cara komputasional.
Sumber:
https://teachyourkidscode.com/what-is-computational-thinking/
https://socs.binus.ac.id/2018/12/03/computational-thinking/