PENGETAHUAN
DASAR COMPUTATIONAL THINKING
A.
Pengertian
Computational Thinking
Berpikir komputasi (Computational Thinking)
adalah sebuah metode pemecahan masalah dengan
mengaplikasikan/melibatkan teknik yang digunakan oleh software engineer dalam
menulis program. Berpikir komputasi tidak
berarti berpikir seperti komputer, melainkan berpikir tentang komputasi dimana
sesorang dituntut untuk memformulasikan masalah dalam bentuk masalah komputasi
dan menyusun solusi komputasi yang baik (dalam bentuk algoritma) atau
menjelaskan mengapa tidak ditemukan solusi yang sesuai.
Apa yang dimaksud dengan computational thinking ?
Computational Thinking (CT) adalah sebuah pendekatan dalam proses pembelajaran.
CT memang memiliki peran penting dalam pengembangan aplikasi komputer, namun
CT juga dapat digunakan untuk mendukung pemecahan masalah disemua
disiplin ilmu, termasuk humaniora, matematika dan ilmu pengetahuan.
Siswa yang belajar dimana CT diterapkan dalam kurikulum (proses pembelajaran)
dapat mulai melihat hubungan antara mata pelajaran, serta antara kehidupan di
dalam dengan di luar kelas.
Berpikir komputasi adalah teknik pemecahan masalah yang
sangat luas wilayah penerapannya. Tidak mengherankan bahwa memiliki
kemampuan tersebut adalah sebuah keharusan bagi seseorang yang hidup pada abad
ke dua puluh satu ini. Seperti juga bermain musik dan belajar bahasa
asing, Computational Thinking melatih otak untuk terbiasa berfikir
secara logis, terstruktur dan kreatif.
B.
Perkembangan
Ilmu Camputational Thinking
Istilah CT pertama kali
diperkenalkan oleh Seymour Papert pada tahun 1980
dan 1996. Seymour Papert merupakan ahli matematika dan ilmu komputer. Seymour
Papert merupakan penemu Bahasa pemrograman logo. Di tahun 2014, pemerintah Inggris memasukkan materi pemrograman kedalam
kurikulum sekolah dasar dan menengah, tujuannya bukan untuk mencetak pekerja
software (programmer) secara massif tetapi untuk mengenalkan Computational Thinking (CT) sejak dini kepada siswa.
Pemerintah Inggris percaya Computational Thinking (CT) dapat membuat siswa
lebih cerdas dan membuat mereka lebih cepat memahami teknologi yang ada di
sekitar mereka.
Tidak hanya pemerintah Inggris, ditahun yang sama lembaga non-profit dari Amerika Code.org 14 menyelenggarakan beberapa
acara untuk mempromosikan manfaat dari belajar pemrograman. Mulai dari Computer
Science Education Week untuk anak sekolah dan juga yang paling viral, Hour of Code.
Program ini didukung oleh Bill Gates, Mark Zuckerberg, Jack Dorsey,
Will.i.am dari Black Eyed Peas.
Bahkan Google pun terlibat untuk
memfasilitasi guru untuk dapat menguasai CT yang merupakan salah satu kecakapan
abad 21 yang harus dikuasai oleh peserta didik melalui kursus online.
Dibanyak negara CT mulai diintegrasikan kedalam semua mata
pelajaran, bahkan di beberapa negara untuk membantu dan mempercepat pengintegrasian dan penetrasi
kearah Computational Thinking, mereka memasukan Computer Science (ICT)
sebagai sebuah mata pelajaran wajib dalam kurikulum nasional mereka.
Problem Based Learning (PBL)
merupakan elemen penting dari Science, Technology, Engineering, dan Matematika
(STEM) yang ada pada pendidikan kita. Bahkan kini tidak hanya STEM tapi sudah
berkembang menjadi STEAM dimana huruf “A” mewakili “Arts / Seni”.
Karakteristik Berpikir Komputasi (CT) merumuskan masalah dengan
menguraikan masalah tersebut ke segmen yang lebih kecil dan lebih mudah dikelola. Strategi ini memungkinkan siswa untuk mengubah masalah
yang kompleks menjadi beberapa prosedur atau langkah yang tidak hanya lebih
mudah untuk dilaksanakan, akan tetapi juga menyediakan cara yang efisien untuk
berpikir kreatif.
Dalam pendidikan STEM, Berpikir Komputasi (CT) didefinisikan sebagai seperangkat
keterampilan kognitif yang memungkinkan peserta didik mengidentifikasi pola, memecahkan masalah kompleks menjadi
langkah-langkah kecil, mengatur dan membuat serangkaian langkah untuk
memberikan solusi, dan membangun representasi data melalui simulasi .
C.
Prinsip dan Karakteristik
Computational Thinking
Prinsip-prinsip
Computational Thinking adalah sebagai berikut:
ü Decomposition : Kemampuan memecah data, proses atau masalah (kompleks)
menjadi bagian-bagian yang lebih kecil atau menjadi tugas-tugas yang mudah
dikelola. Misalnya memecah ‘Drive/Direktory’ dalam sebuah komputer berdasarkan
komponen penyusunnya: File dan Direktory.
ü
Pattern Recognition : Kemampuan untuk melihat
persamaan atau bahkan perbedaan pola, tren dan keteraturan dalam data yang
nantinya akan digunakan dalam membuat prediksi dan penyajian data. Misalnya
mengenali pola file dokumen, file sistem, file eksekusion atau struktur data/file.
ü
Abstraksi : Melakukan generalisasi dan
mengidentifikasi prinsip-prinsip umum yang menghasilkan pola, tren dan
keteraturan tersebut. Misalnya dengan menempatkan semua file sistem di folder Windows, file program di
folder Program Files, file data/dokumen di Folder Mydocument dan file pendukung
di Drive/Direktory terpisah.
ü
Algorithm Design : Mengembangkan petunjuk
pemecahan masalah yang sama secara step-by-step, langkah demi langkah, tahapan
demi tahapan sehingga orang lain dapat menggunakan langkah/informasi tersebut
untuk menyelesaikan permasalahan yang sama. Misalnya bagaimanakah langkah
mencari file-file dokumen yang ada dalam sebuah komputer?
Karakteristik Computational
Thinking
- Mampu
memberikan pemecahan masalah menggunakan komputer atau perangkat lain.
- Mampu
mengorganisasi dan menganalisa data.
- Mampu melakukan representasi data melalui abstraksi
dengan suatu model atau simulasi.
- Mampu melakukan otomatisasi
solusi melalui cara berpikir algoritma.
- Mampu melakukan identifikasi,
analisa dan implementasi solusi dengan berbagai kombinasi langkah / cara
dan sumber daya yang efisien dan efektif.
Mampu melakukan generalisasi solusi untuk berbagai masalah yang berbeda.
D. Mengasah Kemampuan Computational Thinking
Coding Apps
Computational
thinking tidak butuh komputer. Meskipun demikian banyak hal akan lebih mudah
dijelaskan menggunakan komputer. Coding merupakan aplikasi dari computational
thinking dalam bentuk membuat kode program. Cara termudah (dan juga termalas)
dalam mengajarkan coding adalah melalui berbagai aplikasi yang ada, baik di PC
maupun tablet. Contoh aplikasi semacam ini misalnya: Code
Spark Academy with the Foos, Scratch, Scratch Jr.
Beberapa
aplikasi, seperti Scratch (ini aplikasi Desktop) sangat serius, dan perlu dasar
matematika (aritmatika, sistem koordinat). Pendekatan visual kadang bagus untuk
menyelesaikan kelas masalah tertentu, tapi sulit di kelas masalah yang lain
(misalnya substitution cipher). Sementara Scratch jr lebih ditujukan untuk
menyampaikan cerita. Misalnya jika kita menceritakan lelucon ke Jonathan,
dia bisa membuat ulang joke-nya dalam bentuk cerita di Scratch Junior. Tapi ada
batasan kerumitan cerita yang bisa dibuat oleh seorang anak dengan medium
seperti ini.
Games
Pendekatan offline yang paling sederhana dan bagus adalah melalui
permainan yang mengajarkan berpikir. Contohnya: sudoku, catur, dan berbagai jenis permainan yang salah satu komponennya
adalah lembaran persegi seperti papan yang bahannya bisa
bermacam-macam, tapi umumnya dari karton tebal dalam bentuk digital (board game). Cara ini bagus, tapi membutuhkan investasi
waktu yang cukup banyak dari orang tua. Anak tidak memiliki niat untuk belajar
sangat dalam mengenai catur, tapi beberapa anak cukup suka untuk memahami
berbagai gerakan biji catur dan aturan catur. Ini merupakan contoh baik mengenai
aturan (“if” di dunia komputer). Komputer bisa diajak bermain catur, tapi untuk
tujuan belajar input dari orang lain ketika bermain catur akan lebih berguna.
Misalnya: kamu yakin kamu mau menggerakan pion itu?
Buku
Pendekatan
offline lain adalah melalui buku. Ada banyak buku menarik yang bisa dibaca
oleh anak-anak, berikut ini review singkat dari beberapa buku yang kami miliki
(mungkin di lain waktu kami akan menuliskan lebih dalam). Buku Lift-the-flap computers and coding mengajarkan
tentang dasar komputer. Buku seri micro adventures, ini buku sangat lama, dan
bentuknya novel yang disisipi kode dalam bahasa BASIC. Contohnya mengetik
program BASIC untuk mendecode string (caesar cipher), dan ketika melihat ada puzzle
semacam itu di buku lain, amak ingat programnya, anak ingin memakai programnya,
dan juga anak mengerti untuk memodifikasi program dari enkrip menjadi dekrip
dengan mengubah plus atau minus N.
Selain buku untuk
anak-anak, buku Mindstorms: Children, Computers, And Powerful Ideas patut
dibaca oleh guru dan orang tua. Buku ini ditulis tahun 1980 dan direvisi
tahun 1993. Buku ini ditulis oleh Seymour Papert, salah satu pionir
AI, yang pernah bekerja sama bertahun-tahun dengan Jean
Piaget, seorang psikolog dan filosofer yang terkenal karena studi
epistemologi pada anak-anak (epistemologi adalah teori mengenai
pengetahuan). Jadi buku ini dituliskan oleh orang yang benar-benar mengerti
ilmu perkembangan anak, dan yang benar-benar mengerti mesin.
Materi Online
Sudah ada banyak
materi online untuk mengajarkan pemrograman dan computational thinking. Berikut
ini beberapa linknya (sebagian saya tahu ini dari Bu Inge yang terlibat aktif
di Bebras Indonesia). Untuk yang berbahasa Indonesia situs Bebras Indonesia berisi
berbagai informasi Bebras dan, Olympia.id berisi materi dan contoh soal bebras.
CS Unplugged (dari University
of Canterbury, New Zealand) berisi berbagai kurikulum dan materi untuk
berbagai usia. Sesuai namanya “unplugged”, tidak dibutuhkan komputer untuk
belajar materi di situs tersebut. Materi yang ada perlu dibaca oleh pengajar
dan diajarkan ke anak-anak, bukan kita serahkan langsung materinya ke
anak-anak.
Dari jaman dulu
BBC memiliki misi edukasi yang sangat baik. Di situs BBC ada topik
Computational Thinking. Sama seperti CS Unplugged, materi yang ada
perlu dibaca oleh pengajar dan diajarkan ke anak-anak. Untuk pemrograman yang
praktis, ada banyak situs, salah satunya adalah code.org. Di sini beberapa pelajaran langsung
bisa diberikan ke anak (ada video dan teks yang bisa dibaca oleh anak-anak). Banyak
situs lain juga yang sangat abstrak tapi mungkin cocok untuk para guru agar
lebih memahami konsep belajar di abad yang baru.
Tidak ada komentar:
Posting Komentar