Definisi Computational Thinking

Computational thinking adalah cara berpikir untuk menyelesaikan masalah (problem solving) dengan cara menguraikannya menjadi beberapa tahapan yang efektif, efisien, dan menyeluruh, meliputi: decomposition, pattern recognition, abstraction, algorithms yang merupakan beberapa konsep dasar ilmu komputer.

Pemikiran komputasi dianggap diinisiasi oleh artikel jurnal Wing pada tahun 2006. Namun, sebetulnya subjek serupa telah dirujuk oleh Papert (1996) dengan nama “pemikiran prosuderal”.

Wing (2006, hlm. 33) berpendapat bahwa computational thinking melibatkan pemecahan masalah, perancangan sistem, memahami perilaku manusia dengan berkaca pada konsep-konsep dasar ilmu komputer.

Apa saja tahapannya? seperti yang telah dijelaskan sebelumnya, pemikiran komputasi melibatkan 4 tahap utama, yakni:

  1. Decomposition, merupakan pembagian masalah menjadi bagian-bagian yang lebih kecil atau sederhana.
  2. Pattern recognition, yakni mencari atau mengenali kesamaan pola dalam maupun antar masalah yang ingin dipecahkan.
  3. Abstraction, melihat permasalahan secara mendasar sehingga dapat melihat jangkauan luas yang lebih penting dan mengabaikan detil kecil yang sebetulnya kurang relevan.
  4. Algorithm, mengembangkan sistem, sekuen, atau langkah-langkah solusi yang dapat diterapkan secara menyeluruh terhadap pola yang sama sehingga lebih efektif dan efisien.

Dapat dikatakan pula bahwa apa itu computational thinking atau pemikiran komputasi merupakan metode untuk menyelesaikan masalah melalui tahapan-tahapan berpikir dalam merancang pengembangan sistem atau aplikasi komputer.

Ya, karena pada awalnya, pemikiran ini adalah pemikiran yang digunakan untuk memecahkan permasalahan ilmu komputer.

Biasanya, pengembangan aplikasi dimulai dengan kebutuhan sistem. Kebutuhan sistem akan menimbulkan banyak permasalahan antara keinginan pengguna (yang membutuhkan aplikasi) dengan Programmer atau sistem komputer yang digunakan untuk mengembangkan aplikasi tersebut.

Meskipun begitu, pemikiran komputasi dapat diimplementasikan terhadap permasalahan lain di luar ilmu komputer pula. Hal ini dapat terlihat dari definisi berbeda dari salah satu pemikir utama computational thinking, yakni Jeannette M. Wing.

Pada tahun 2011, Wing mengubah definisi pemikiran komputasi menjadi: Computational thinking adalah proses berpikir yang merumuskan masalah dan solusinya, sehingga solusi tersebut direpresentasikan dalam bentuk yang dapat dilakukan secara efektif oleh agen pengolah informasi (Wing, 2011).

Contoh Computational Thinking

Apakah cara berpikir computational thinking bekerja? Sebagai seseorang yang telah bergelut dengan sistem informasi dan aplikasi, ya, pemikiran komputasi sangat efektif untuk digunakan, setidaknya dalam kacamata informatika.

Sepanjang karir saya sebagai developer (programmer) terdapat masa ketika saya tidak menyadari bahwa saya sedang menggunakan metode computational thinking. Bagaimana pemikiran komputasi bekerja dalam dunia ilmu komputer akan saya gambarkan dalam beberapa baris penjelasan di bawah ini.

Computational Thinking dalam Pengembangan Aplikasi

Kebutuhan aplikasi akan banyak menimbulkan masalah yang harus dipecahkan agar aplikasi tersebut dapat bekerja dan digunakan. Salah satu contohnya adalah bagaimana input dari user harus diverifikasi validitasnya. Misalnya, suatu form isian wajib di isi, jika tidak aplikasi tidak dapat memprosesnya.

Bagaimana cara mengecek suatu form telah diisi oleh user atau tidak? Tentunya dengan mengecek satu-persatu form wajib yang harus di isi. Katakanlah, kita memberikan perintah ini pada sistem:

Jika form nama tidak diisi, Maka: “beri peringatan dan hentikan proses pendaftaran aplikasi”.

Jika form nama diisi, Maka: “lanjutkan proses pendaftaran aplikasi”.

Sehingga, jika form nama tidak diisi maka aplikasi akan menghentikan proses pendaftaran, sebaliknya jika form nama diisi, maka proses pendaftaran aplikasi akan dilanjutkan.

Tampaknya masalah tersebut sudah diselesaikan bukan? Salah. Karena banyak form lain yang wajib untuk di isi pula (bisa belasan bahkan puluhan). Tentunya, bisa saja kita membuat “Jika” yang lainnya untuk semua form. Namun di sana terdapat celah untuk melakukan salah satu aspek pertimbangan computational thinking, yakni: pengenalan pola yang sama (pattern recognition).

Daripada menduplikasi kedua perintah di atas satu persatu untuk semua form yang ada, lebih baik kita membuat algoritma yang dapat dipakai berulang-ulang untuk semua form. Maka, dengan computational thinking, kita akan membuat semacam:

$yang_divalidasi = $nama, $alamat, $nomor_telepon, dsb;

Algoritma Validasi Form yang Kosong ($yang_divalidasi) {

Jika $yang_divalidasi tidak diisi, Maka: “beri peringatan dan hentikan proses pendaftaran aplikasi”.

Jika $yang_divalidasi diisi, Maka: lanjutkan proses pendaftaran aplikasi”.

}

Selanjutnya kita tinggal memerintah Algoritma Validasi Form yang Kosong untuk menyelesaikan permasalahan pada seluruh form yang tidak boleh kosong, misalnya:

Algoritma Validasi Form yang Kosong ($yang_divalidasi);

Jauh lebih efektif bukan? Permasalahan benar-benar diselesaikan secara mendasar dan menyeluruh. Kita tidak harus membuat perintah berulang-ulang hingg puluhan baris untuk setiap masalah serupa yang akan kita hadapi.

Computational Thinking dalam Kehidupan Sehari-hari

Lalu seperti apa implementasinya dalam hal lain di luar ilmu komputer? Sesungguhnya, computational thinking telah banyak diterapkan dalam berbagai hal. Contoh mudahnya adalah bagaimana sistem antrean menyelesaikan permasalahan keadilan dan keefisienan dalam menunggu giliran.

Berbagai sistem manual seperti hukum, syarat dan ketentuan, SOP (standar operasional) dalam melaksanakan suatu pekerjaan merupakan salah satu bentuk nyata dari pemikiran komputasi.

Bedanya, jika sistem tersebut dibuat berlandaskan pemikiran komputasi, maka peraturan yang ada akan jauh menjadi lebih dinamis dan sesuai dengan kebutuhannya.

Misalnya, tanpa computational thinking pemerintah Amerika mengalami penambahan narapidana pemakai obat-obatan terlarang. Bahkan, penjara mereka yang tentunya cukup luas dengan daya tampung besar sudah tidak dapat menampungnya lagi.

Hal tersebut karena sistem hukum yang berlaku terlalu kaku, semua pengguna narkoba dianggap kriminal. Padahal, sebagian dari mereka tak lain sekedar korban yang bukan membutuhkan penjara, namun justru membutuhkan rehabilitasi. Computational thinking akan menerapkan alogirtma yang sesuai terhadap masing-masing profil pelanggar hukum.

Bandar dihukum berat (termasuk penjara), pengguna yang mengajak orang lain diberikan sanksi sosial hingga penjara, sementara korban pengguna yang “terbawa” cukup direhabilitasi saja. Terdapat sekuen yang berulang-ulang untuk memastikan setiap permasalahan ditangani oleh hal yang benar-benar akurat dan relevan yang merupakan salah satu bagian dari pemikiran komputasi: algorithm.

Tampaknya computational thinking sudah ada dalam kehidupan sehari-hari. Hal ini juga sudah kita ketahui tanpa adanya literasi ini. Lalu apa bedanya computational thinking dari pemikiran lain? Ini adalah salah satu hal yang banyak dipertanyakan oleh para ahli.

Kelemahan Computational Thinking

Beberapa ahli berpendapat bahwa computational thinking tidak memiliki pemikiran unik yang dapat membantu problem solving. Intinya, berbagai pendekatan dan metode lain telah memilikinya. Pengembangan sistem untuk menyelesaikan suatu repetisi telah dilakukan dari zaman dahulu.

Setidaknya, jika kita berkaca pada sejarah revolusi industri manusia, hal ini telah dilakukan bahkan dalam tahap revolusi industri awal. Bukankah inti yang dilakukan dalam computational thinking adalah: analisis, perancangan sistem, dan evaluasi?

Padahal, jika kita melihat kurikulum 13, pendekatan yang digunakan adalah pendekatan saintifik. Semua hal yang ada dalam computational thinking terdapat dalam pendekatan itu pula. Bahkan, pendekatan saintifik memiliki tools-tools yang jauh lebih luas lagi cakupannya jika dibandingkan dengan computational thinking.

Bisa dikatakan pula bahwa sebetulnya computational thinking tidak lebih dari sekedar turunan atau cabang pemikiran yang dihasilkan dari pendekatan saintifik pula. Jangan lupa bahwa teknologi adalah pengaplikasian sains.

Kelebihan

Namun bukan berarti computational thinking tidak berguna atau terlalu generik untuk diterapkan dalam kurikulum. Terkadang, jika kita tidak mengerucutkan suatu hal, bisa jadi dampak yang kita inginkan tidak maksimal.

Pendekatan saintifik mungkin terdengar jauh lebih kuat. Namun dalam implementasinya, bisa jadi siswa Indonesia belum membutuhkannya. Bisa jadi pendekatan saintifik jauh lebih efektif jika hanya diaplikasikan oleh perguruan tinggi yang berorientasi membentuk ilmuwan atau cendekia.

Sementara salah satu visi dari Mendikbud Nadiem Makarim sepertinya adalah memajukan SDM dan vokasi Indonesia. Dalam hal ini, computational thinking sangatlah menjanjikan. Apalagi jika kita menerapkan efisiensinya dalam problem solving.

Problem Solving

Computational thinking dapat diterapkan dalam banyak pemecahan masalah. Tahapnya yang efisien dan efektif dapat melatih siswa untuk bekerja secara sistematis dan menyeluruh. Problem solving bukanlah hal baru yang selalu digaungkan dalam dunia pendidikan.

Biasanya, guru akan memberikan masalah dan meminta siswa untuk memecahkannya dengan cara masing-masing. Namun tidak semua siswa mampu memulainya sendiri. Computational thinking dapat menjadi acuan dasar umum yang dapat digunakan dalam mata pelajaran, bidang, atau permasalahan apa pun.

Sebagai catatan akhir, mengapa problem solving menjadi salah satu kemampuan wajib di abad 21 ini? Kata kuncinya adalah kecepatan. Hari ini semua bidang menuntut suatu hal untuk dilakukan atau diproduksi dengan lebih cepat. Jika tidak, kita tidak akan mampu bersaing dengan perkembangan zaman yang memang menjadi jauh lebih cepat pula karena revolusi industri 4.0.

Namun, kecepatan tersebut memberikan dampak negatif pula. Apa? Yakni munculnya banyak masalah. Kulkas yang diproduksi zaman dulu jauh lebih awet dan tidak memberikan terlalu banyak masalah bukan? Berbeda dengan kulkas baru yang bisa jadi tiba-tiba rusak dalam 1-2 tahun saja.

Hal tersebut terjadi karena pengerjaannya tidak menggunakan timeline waterfall yang akan secara perlahan meriset, merancang, dan mengetesnya secara menyeluruh terlebih dahulu sebelum diproduksi massal.

Hari ini kebanyakan produsen kulkas melakukan timeline SCRUM yang melakukan segalanya dengan lebih cepat karena semua proses dilakukan secara bersamaan. Hasilnya? Produksi jauh lebih cepat, namun permasalahan yang datang juga semakin banyak.

Fenomena tersebut tidak hanya terjadi dalam industri kulkas saja. Bahkan industri militer yang memproduksi pesawat tempur saja mengalami hal yang sama. Inilah mengapa problem solving menjadi kemampuan yang sangat penting untuk melakukan negasi terhadap dampak negatif dari percepatan industri.

Referensi

  1. Cansu, Fatih & Cansu, Sibel. (2019). An Overview of Computational Thinking. International Journal of Computer Science Education in Schools. 3. 3. 10.21585/ijcses.v3i1.53.
  2. Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35.
  3. Wing, J.M. (2011), Research Notebook: Computational thinking  -what and why? The Link Magazine, 20-23. Tersedia Online https://www.cs.cmu.edu/link/research-notebook-computational-thinking-what-and-why

Gabung ke Percakapan

2tare

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *