Apa itu Computational Thinking?


Computational Thinking (CT) dalam bahasa Indonesia disebut dengan Berpikir Komputasi, CT adalah sebuah proses pemecahan masalah yang meliputi karakteristik sebagi berikut :

  • Decomposition : Memecah masalah menjadi bagian-bagian kecil sehingga mudah untuk dicarikan solusinya.
  • Pattern Recognition : mengumpulkan, menyimpan dan merepresentasikan data dalam bentuk informasi yang mudah dipahami komputer untuk membantu kita dalam menemukan dan mengenali pola, membuat prediksi dan mengkomunikasikan ide-ide yang penting.
  • Abstraction : Sebuah proses yang mengurangkan kompleksitas permasalahan dengan fokus terhadap pokok masalahnya.
  • Algorithm design : Sebuah proses untuk merancang tahapan penyelesaian masalah yang akan dibantu komputer untuk menyelesaikan masalah.

Dengan kata lain CT adalah sebuah metode yang digunakan untuk memecahkan suatu masalah dan mencari solusinya dengan cara yang sistematis dan terstruktur dimana komputer sebagai alat bantunya.

CT perlu diintegrasikan dalam proses pembelajaran agar siswa mampu untuk mengembangkan keterampilan abad 21 yaitu 4C : critical thinking dan problem solving, creativity, communication dan collaboration. Dalam upaya pengembangan keterampilan diatas penulis mencoba untuk menggunakan Scratch sebagai salah satu aplikasi pemrograman visual yang diajarakan di sekolah. Dengan Scracth, siswa dapat membuat karya mereka sendiri seperti interactive stories, games, dan simulations, dan membagikan karya mereka dengan komunitasi online di seluruh dunia tanpa batas.

Computational Thingking (CT) memiliki 3 dimensi yaitu:

  • Computational Concepts
  • Computational Practices
  • Computational Perspectives

Computational Concepts

Seorang siswa yang merancang sebuah karya dengan Scratch, mereka juga sedang belajar konsep programming secara bersamaan. Dimana konsep ini dapat dengan mudah diadaptasi jika mempelajari bahasa pemrograman yang lainnya. Konsep pemrograman tersebut adalah:

  1. Sequence : mengeksekusi set blok kode atau instruksi secara berurutan.
  2. Loops : mengeksekusi set blok kode atau instruksi berulang-ulang.
  3. Parallelism : mengatur beberapa objek untuk dapat dieksekusi di waktu yang bersamaan.
  4. Events : membuat sebuah event yang menyebabkan hal lainnya terjadi dalam eksekusi program.
  5. Conditionals : mengeksekusi set blok kode atau instruksi berdasarkan suatu kondisi.
  6. Operators : Scratch mendukung penggunaan ekspresi matematika dan logika.
  7. Data : Scratch dapat menyimpan, mengambil dan memperbaharui sebuah nilai.

Computational Practices

Ketika siswa merancang sebuah karya dengan Scracth, mereka sedang mempraktekan 4 tahapan dalam pemrograman yaitu:

  1. Experimenting dan iterating : Siswa bereksperimen untuk merancang karyanya terus menerus.
  2. Testing dan debugging : Setelah karyanya sudah jadi, maka siswa dapat memastikan apakah karya mereka dapat berjalan sesuai rancangannya.
  3. Reusing dan remixing : Siswa dapat membuat sebuah karya dengan mengembangkan project atau ide-ide yang sudah ada di komunitas Scratch.
  4. Abstracting dan modularizing : Siswa dapat menjelajah hubungan antara keseluruhan atau bagian-bagian objek dan instruksi pada karya yang dirancangnya.

Computational Perspectives

Pengguna yang menggunakan aplikasi Scratch disebut dengan Scratcher, siswa yang menggunakan Scratch menjelaskan bahwa mereka dapat mengembangkan 3 perspektif ketika membuat karya dengan Scratch, yaitu:

  1. Expressing : siswa menyadari bahwa mereka dapat membuat sesuatu ” I can create” dengan menggunakan komputer sebagai media untuk memecahkan sebuah masalah dan mencari solusi.
  2. Connecting : siswa dapat mengenali kekuatan menciptakan suatu karya dengan atau untuk yang lain, ” I can do different things when I have access to others
  3. Questioning : Siswa dapat mengembangkan keterampilan berpikir kritis dengan komputasi, “I can (use computation to) ask questions to make sense of (computational things in) the world.

Are you computational thinker???

Semoga bermanfaat!

Reference

  1. https://www.iste.org/standards/computational-thinking
  2. http://scratched.gse.harvard.edu/ct/defining.html
  3. https://edu.google.com/resources/programs/exploring-computational-thinking/
  4. https://www.barefootcomputing.org/resources/computational-thinking-and-programming-poster