ü Berpikir komputasional (computational thinking)
adalah konsep bagaimana menemukan masalah yang ada di sekitar kita,
memahaminya, kemudian mengembangkan solusi yang inovatif dengan bantuan
perangkat teknologi komputer. Berpikir komputasional memungkinkan kita dapat
menyelesaikan masalah-masalah yang ada meskipun masalah tersebut merupakan
masalah yang sangat kompleks.
ü Berpikir komputasional mempunyai
empat teknik kunci
pendekatan (cornerstones),
yaitu dekomposisi, pengenalan pola, abstraksi, dan algoritme.
Keempat teknik tersebut bekerja bersama sama melengkapi satu dengan yang lain.
ü Dekomposisi adalah pendekatan dengan memecah masalah besar dan kompleks menjadi masalah-masalah yang lebih kecil dan lebih sederhana sehingga lebih mudah dikelola dan dipahami, kemudian dicari solusinya.
ü Istilah lain untuk teknik dekomposisi adalah “divide and conquer” atau “divide et impera’.
ü Teknik pendekatan dekomposisi dapat
digunakan dalam berbagai persoalan kehidupan dan mengembangkan sesuatu, termasuk mengembangkan
produk.
ü Pendekatan dekomposisi memberikan kemudahan dalam melakukan inovasi. Ketika mengembangkan solusi atau produk, kita dapat melakukan atau menambahkan perubahan-perubahan yang akan memberikan hasil yang lebih baik dalam penyelesaian permasalahan atau pengembangan produk.
Contoh: Misalnya kita memiliki sepeda, permasalahannya adalah ketika sepeda dikendarai terdengar bunyi “tak tak tak” secara berulang
dan semakin cepat terdengar
saat sepeda bergerak. Dengan teknik dekomposisi, dapat diselesaikan dengan memecah
persoalan menjadi berikut.
1) Apa penyebab dari bunyi “tak tak
tak”?
2) Bagian mana dari sepeda yang
bergerak dan menjadi sumber bunyi?
3) Bagaimana cara memeriksa dan
menentukan sumber bunyi?
4) Bagaimana cara melakukan perbaikan?
5) Bagaimana cara memeriksa bahwa
perbaikan sudah dilakukan dengan benar?
cabang kecerdasan
yang menitik-beratkan pada metode pengklasifikasian objek ke dalam klas - klas
tertentu untuk menyelesaikan masalah tertentu.
ü Teknik pengenalan pola merupakan teknik yang mencoba untuk melihat kesamaan pola-pola atau karakteristik tertentu dari suatu permasalahan yang ada.
ü Masalah yang memiliki karateristik sama memberikan peluang untuk menggunakan solusi yang sama. Kesamaan pola juga membuat kita atau komputer dapat menemukan dan memberikan solusi dengan lebih mudah.
ü Pola tidak dibatasi dalam bentuk
visual saja, pola dapat
muncul dalam berbagai wujud.
ü Di alam, kita dapat melihat berbagai
hal yang jika diperhatikan
dalam skala besar akan membentuk pola sendiri. Pemahaman akan pola pola
tersebut dapat membantu manusia untuk memperkirakan cuaca, musim, dan bencana
sehingga manusia dapat mengambil tindakan yang dibutuhkan.
ü Kemampuan mengenali pola, seperti angka, kejadian, perilaku, dan pola-pola lainnya merupakan sesuatu yang penting. Kemampuan mengenali pola tersebut akan membantu kita untuk mengidentifikasi masalah, menganalisis dan mencari solusi yang tepat.
c. Abstraksi
ü Abstraksi adalah teknik untuk menemukan
informasi yang penting dan informasi yang tidak relevan, dengan berfokus pada informasi yang penting
dan berguna serta mengabaikan detail-detail yang tidak berguna.
ü Setelah melakukan dekomposisi dan
pengenalan pola, kita perlu melihat secara detail dari setiap permasalahan yang
sudah dipecah, mempelajarinya, serta menentukan karateristik yang perlu
dipertimbangkan dan karateristik yang perlu dihilangkan dari pengamatan.
ü Dengan melakukan abstraksi, kita
dapat fokus pada informasi yang berguna dan menghilangkan informasi yang tidak
penting.
Contoh: Kita ingin membangun model matematika untuk menggambarkan perilaku bola. Kita dapat melakukan dekomposisi dengan cara membagi beberapa karateristik bola. Pada proses pengenalan pola kita dapat melihat bahwa bola-bola memiliki kesamaan bentuk. Selanjutnya, pada tahap ini kita akan melakukan proses abstraksi, yaitu menyaring informasi yang penting dan informasi yang perlu dibuang.
ü
Algoritme
adalah teknik untuk mengembangkan langkah-langkah atau aturan-aturan yang harus
dipenuhi untuk memecahkan permasalahan yang ada.
ü
Algoritme
digunakan untuk merencanakan langkah-langkah instruksi yang akan dijalankan
oleh program komputer.
ü
Ketika
kita ingin komputer melakukan sesuatu, kita harus memberikan input mengenai apa
yang harus dilakukan komputer tersebut secara langkah demi langkah dan
bagaimana melakukannya.
ü
Algoritme
digunakan dalam berbagai proses, termasuk perhitungan, pemrosesan data, dan
otomatisasi.
ü
Ada
dua cara untuk menuliskan algoritme, yaitu menggunakan pseudocode
dan flowchart.
ü
Flowchart
adalah diagram yang mewakili kumpulan dari instruksi-instruksi. Flowchart
umumnya menggunakan simbol standar untuk menggambarkan instruksi-instruksi yang
berbeda.
ü
Ada
beberapa aturan untuk menuntukan tingkat detail dalam flowchart.
ü
Flowchart dapat dipecah menjadi langkah-langkah yang menyediakan banyak detail mengenai
bagaimana proses yang dijalankan dalam program secara jelas.
ü
Flowchart dapat
dibuat sederhana yang terdiri
atas beberapa langkah saja di mana langkah-langkah yang banyak digabung menjadi
sebuah langkah sederhana saja.
ü Pseudocode adalah rangkaian instruksi yang
menggambarkan langkah langkah untuk menyelesaikan permasalahan.
ü Pseudocode bukanlah sintaks program
dan tidak terikat pada bahasa pemrograman tertentu.
ü Menulis pseudocode sama dengan
menuliskan bahasa pemrograman. Setiap baris algoritme ditulis dalam barisnya
sendiri dalam rangkaian perintah-perintah.
ü Perintah perintah dituliskan dengan
huruf kapital, variabel ditulis menggunakan huruf kecil, dan pesan-pesan dalam
kalimat.
ü
Evaluasi
merupakan proses untuk memastikan bahwa solusi yang diberikan dapat bekerja
dengan baik dan melihat kemungkinan apakah solusi yang ada dapat ditingkatkan.
ü
Ketika
algoritme selesai disusun, ada beberapa hal yang perlu diperiksa, di antaranya
sebagai berikut.
a)
Apakah
mudah dimengerti sehingga orang lain yang membaca tidak akan salah mengerti dan
sudah didekomposisi dengan benar sehingga semua masalah sudah dimengerti dengan
jelas?
b)
Apakah
sudah lengkap sehingga semua aspek permasalahan sudah diselesaikan?
c)
Apakah
efisien sehingga permasalahan diselesaikan dengan penggunaan sumber daya yang
seminimal mungkin?
d)
Apakah
memenuhi semua kriteria desain yang sudah ditentukan?
a)
Solusi
tidak didekomposisi dengan benar
b)
Solusi tidak lengkap
c)
Solusi tidak efisien
d)
Solusi tidak sesuai dengan kriteria yang
digunakan
ü
Salah
satu cara menguji solusi yang sudah diberikan adalah dengan teknik “dry run”, artinya menelusuri
langkah demi langkah, kemudian menuliskan hasil dari setiap proses pada setiap
langkah sampai semua proses sudah diperiksa.
ü
Cara
tersebut dilakukan dengan menggunakan beberapa input yang berbeda. Biasanya
input tersebut dipilih dengan beberapa kriteria berikut.
a)
Pada
input batas
b)
Pada
input batas ekstrem
c)
Pada
input batas normal