Computational thinking atau berpikir komputasi adalah suatu cara berpikir untuk menyelesaikan masalah-masalah dengan menguraikan masalah tersebut lalu dibuat suatu solusi yang tepat untuk masalah tersebut. Cara berpikir seperti ini memudahkan manusia untuk memecahkan masalah dengan efektif dan efisien.
Para ahli juga memiliki definisinya masing-masing mengenai computational thinking ini. Kalr Beecher melihat konsep computational thinking ini yang memiliki ide yang sama dengan konsep prosedural thinking yang pernah dicetuskan oleh Seymour Papert. Ide procedural thinking ini adalah bagaimana caranya untuk menyelesaikan masalah melalui proses algoritmik diman komputer bisa menyelesaikan masalah dengan mudah. Papert menyebut pemecahan masalah memakai sistem komputer disebut dengan pemrograman.
Wing(2006) mendefinsikan computational thinking sebagai sebuah cara untuk pemecahan masalah, merancang sebuah sistem dan mengetahui karakter manusia dengan menggambarkan konsep dasar komputasi. Dari definisi tersebut bisa diambil bahwa computational thinking merupakan sebuah cara berpikir secara analitik, matematis yang secara umum digunakan untuk pemecahan masalah
Dalam computational thinking kita bisa lebih berfikir secara kritis, kreatif dan mempunyai keterampilan untuk melakukan suatu kolaborasi untuk memecahkan suatu masalah. Computational juga melatih pengetahuan logis, matematis dan mekanis lalu di kombinasikan dengan teknologi zaman sekarang yaitu komputer, dan juga membuat kita berpikiran terbuka dan lebih peka terhadap lingkungan sekitar.
Berpikir komputasi merupakan proses problem solving yang memiliki beberapa karakteristik sebagai berikut :
- Merumuskan masalah yang membuat seseorang menggunakan komputer atau alat lainnya untuk membantu pemecahan masalah.
- Menganalisa seluruh data secara logis dan runtut.
- Merepresentasikan data melalui suatu simulasi.
- Membuat solusi pemecahan masalah melalui algoritma.
- Mengidentifikasi atau memilih semuasolusi yang mungkin bisa untuk menjadi langkah paling efektif dan efisien
- Mentransfer proses problem solving untuk berbagai masalah.
Selain karakteristik yang tadi disebutkan, computational juga memiliki tahapan utama untuk pemecahan masalahnya. Ada 4 tahapan utama dalam computational thinking ini berdasarkan konsepnya, yaitu :
- Dekomposisi, yaitu memecahkan masalah menjadi bagian-bagian kecil sehingga kita bisa lebih mudah untuk menyelesaikannya satu persatu.
- Mencari pola yang sama atau persamaan yang sama dalam suatu masalah.
- Abstraksi, yaitu mencari informasi yang sesuai dengan masalah yang sedang dipecahkan dan mengabaikan semua informasi yang tidak sesuai dengan masalah tersebut.
- Algoritma, yaitu membuat langkah-langkah yang sesuai agar masalah tersebut bisa dipecahkan secara runtut.
Umumnya tahapan ini digunakan dalam program komputer. Yang nantinya digunakan oleh komputer untuk proses penyelesaian komputer, secara sederhananya komputer mendapatkan input lalu mengeluarkan output dari masalah tertentu yang tadi diinputkan. Ketika mempertimbangkan suatu masalah untuk dipecahkan, kita harus mempresentasikan informasi input yang diberikan dan output yang dikeluarkan.
Informasi yang digunakan atau bahasa yang digunakan oleh komputer untuk berinteraksi adalah biner. Biner terdiri dari angka 0 dan 1. Umumnya angka-angka terdiri dari 0 sampai 9 dan apabila ada banyak angka maka angka tersebut akan dijadikan kelipatan sepuluh, misalnya : 123 (seratus dua puluh tiga) ini sama saja dengan 1 x 100 + 2 x 10 + 3 x 1, jadi dari sebelah kanan akan dimulai dari dikalikan 1 lalu seterusnya akan dikalikan dengan kelipatan 10.
Berbeda dengan biner dimana angka dari yang sebelah kanan akan dikalikan dengan 1 lalu seterusnya dikalikan dengan 2, 4, 8, 16, 32 sampai 128. Jadi urutannya adalah 4 2 1, misalnya angkanya 1 maka 4 x 0 + 2 x 0 + 1 x 1 jadi angka binernya adalah 001, misalnya angkanya 3 maka 4 x 0 +2 x 1 + 1 x 1 menjadi 011, angkanya 5 maka 4 x 1 + 2 x 0 + 1 x 1 menjadi 101.
Jika angka melebihi dari angka 4 maka akan butuh lebih banyak anga 0 atau 1, angka 0 atau 1 itu dinamakan bit (binary digit). Apabila bit sudah menjadi 8 buah maka itu dinamakan 1 byte.
Semua simbol, angka dan huruf pun jika dimasukkan ke dalam komputer maka input tersebut akan diwakilkan dengan pola nol dan satu. Tapi masih banyak lagi karakter didunia ini seperti karakter beraksen dan bahasa lainnya, dan saat ini juga muncul karakter-karakter seperti gambar yang diakses melalui keyboard, karakter tersebut dinamakan emoji. Sama saja seperti simbol, angka dan kata, emoji pun terdiri dari pola nol dan satu .
Itulah yang dinamakan dengan unicode, yang bentukannya seperti superset dari ASCII. Tetapi ASCII hanya menggunakan 8 bit untuk polanya untuk merepresentasikan karakter. Tetapi unicode menggunakan 8 atau 16 atau 24 atau 32 yang berarti memiliki lebih banyak kemungkinan pola nol dan satu untuk mewakili karakter.
Selain emoji, foto dan video juga berupa pola nol dan satu di dalam komputer. Video merupakan sekumpulan gambar yang terus-menerus bergerak dan seolah-olah objek tersebut bergerak. Pola nol dan satu dalam video maupun foto merepresentasikan objek atau karakter, warna dan interaksi. Pada akhirnya semua tidak peduli media apa yang kita gunakan untuk merepresentasikan informasi, semuanya direduksi menjadi nol dan satu.
Inputan yang tadi dimasukkan akan menghasilkan ouput. Tetapi sebelum mengeluarkan output, inputan tersebut diolah terlebih dahulu didalam komputer. Pengolahan tersebut dilakukan oleh sesuatu yang dinamakan algoritma. Algoritma merupakan satu set untuk melakukan sesuatu. Yang dimaksud satu set disini ialah suatu petunjuk langkah demi langkah untuk memecahkan suatu permasalahan. Memakai algoritma kita bisa memecahkan banyak masalah dengan memanfaatkan intuisi dan kenyamanan dengan ide-ide yang muncul. Lalu ide tersebut diterjemahkan sedemikian rupa sehinggakomputer atau manusia lain bisa mengerti.
Penerjemahan suatu ide atau intuisi tersebut dilakukan memakai pseudocode atau kode semu. Pseudocode adalah sintaks seperti kode yang ditulis memakai bahasa sendiri yang mewakili ide dengan cara yang ringkas. Ada kontruksi tertentu dalam sebuah pemrograman, yang akan menjadi umum diantara semua bahasa ini dan akan dipanggil dalam bentuk fungsi. Fungsi adalah kata kerja atau tindakan yang hanya memberi tahu komputer atau manusia apa yang harus dilakukan.
Ada juga yang disebut dengan kondisi. Kondisi merupakan semacam pertigaan di jalan sehingga anda dapat melakukan hal ini, atau anda dapat melakukan hal itu atau mungkin hal lain juga. Tapi untuk membuat keputusan tersebut, anda harus terlebih dahulu bertanya kepada diri sendiri. Dan pertanyaan tersebut dalam ilmu komputer, disebut dengan ekspresi boolean.boolean memiliki value benar atau salah, atau ya atau tidak, lalu value tersebut diwakili oleh pola nol dan satu. Lalu ada juga yang namanya loop. Loop merupakan siklus yang melakukan sesuatu secara berulang kali.
Banyak yang beranggapan bahwa computational thinking sama dengan coding, tetapi kedua hal tersebut sangat berbeda. Coding adalah sebuah pemrograman yang digunakan oleh komputer untuk menyelesaikan suatu tugas tertentu dan computational thinking adalah proses problem solvingnya.
Jika dihubungkan dengan kemampuan manusia untuk mengoperasikan komputer untuk melakukan sesuatu hal dinamakan programming, sedangkan proses berpikir saat programming tersebut disebut dengan computational thinking. Sering terjadi kesalahan konsep yang dipahami oleh orang-orang tentang computational thinking ini, berikut beberapa kesalahan konsep yang dipahami terkait computational thinking :
- Computational thinking merupakan suatu konsep berpikir, bukanlah suatu skill programming.
- Computational thinking merupakkan dasar berpikir, bukanlah suatu kemampuan menghafal.
- Computational thinking berasal dari pikiran manusia sendiri bukan dari pikiran komputer, cara berpikir komputer sangat terstruktur dan detail, sedangkan manusia berpikir secara abstrak.
- Computational thinking mengkombinasikan matematika dengan pemikiran rekayasa.
- Ilmu komputer mengacu pada pemikiran rekayasa
- Computational thinking merupakan sebuah ide.
Contoh integrasi computational thinking dalam pendidikan :
Di selandia baru teknologi dimasukkan kedalam kurikulum sekolah yang berisi materi berupa, algoritma, representasi data, aplikasi digital, perangkat dan infrastruktur digital, manusia dan komputer, dan pemrograman.
Di korea selatan berfokus pada pengembangan computational thinking untuk siswanya, keterampilan pengkodean, dan kreatifitas melalui perangkat lunak. Dan disana para guru sudah dibekali beberapa pengetahuan tentang computational thinking ini agar para siswanya nyaman jika ingin bertanya.
Leave a Reply