Berpikir Komputasional
Berpikir Komputasional
Pada bab Berpikir Komputasional, kalian mampu menjelaskan dan menerapkan algoritma standar untuk beberapa persoalan yang disajikan, menjelaskan bagaimana data disimpan dalam struktur data tertentu, dan menentukan strategi yang efektif untuk menyelesaikan persoalan yang sajikan.
Ketika kalian menghadapi suatu permasalahan yang harus kalian selesaikan, tentunya kalian menentukan strategi, bukan? Apa itu strategi? Mengapa dalam menemukan solusi, kalian perlu menentukan strategi?
Banyak peralatan dan aplikasi di dunia digital sekarang ini menggunakan komputer. Komputer dan aplikasinya dibuat oleh ahli Informatika sehingga membuat komputer tampak seperti mesin yang cerdas. Namun, benarkah komputer itu cerdas? Bagaimana komputer bisa melakukan tugas seperti manusia?
Algoritma, strategi algoritmik, searching, sorting, stack, queue.
Kegiatan utama dalam BK ialah penyelesaian masalah (problem solving), untuk menemukan solusi yang efisien, efektif, dan optimal sehingga solusinya bisa dijalankan oleh manusia maupun mesin. Dengan kata lain, kegiatan dalam BK ialah mencari strategi untuk mengatasi persoalan
Sistem komputer pada pada hakikatnya meniru dunia ini untuk dijadikan dunia digital sehingga bisa membantu atau menggantikan manusia dalam melakukan pekerjaanpekerjaan yang sulit maupun membosankan.
Ada 4 fondasi berpikir komputasional yang dikenal dalam ilmu Informatika, yaitu Abstraksi, Algoritma, Dekomposisi, dan Pola, yang sangat mendasar dan secara garis besar dijelaskan sebagai berikut.
Abstraksi, yaitu menyarikan bagian penting dari suatu permasalahan dan mengabaikan yang tidak penting sehingga memudahkan fokus kepada solusi.
Algoritma, yaitu menuliskan otomasi solusi melalui berpikir algoritmik (langkah-langkah yang terurut) untuk mencapai suatu tujuan (solusi). Jika langkah yang runtut ini diberikan ke komputer dalam bahasa yang dipahami oleh komputer, kalian akan dapat “memerintah” komputer mengerjakan langkah tersebut.
Dekomposisi dan formulasi persoalan sedemikian rupa sehingga dapat diselesaikan dengan cepat dan efisien serta optimal dengan menggunakan komputer sebagai alat bantu. Persoalan yang sulit apalagi besar akan menjadi mudah jika diselesaikan sebagian-sebagian secara sistematis.
Pengenalan pola persoalan, generalisasi serta mentransfer proses penyelesaian persoalan ke persoalan lain yang sejenis.
Istilah Computational Thinking atau Berpikir/Pemikiran Komputasi pertama kali diperkenalkan oleh Seymour Papert (1980) dalam bukunya yang berjudul “Mindstorm”. Dalam bukunya, pada saat itu Papert fokus pada dua aspek komputasi yaitu bagaimana menggunakan komputasi untuk menciptakan pengetahuan baru dan bagaimana menggunakan komputer untuk meningkatkan pemikiran dan perubahan pola akses ke pengetahuan. Dalam perkembangannya, Jeanette M. Wing mengenalkan sebuah pendekatan yang dimodifikasi dan perhatian baru pada pemikiran komputasi atau Computational Thinking.
Seymour Papert menghubungkan pemikiran komputasi dan pedagogi digital dengan pendekatan modern dalam pendidikan yang diprakarsai oleh Jean Piaget, seorang psikolog perkembangan paling dikenal karena mempelopori teori belajar yang dikenal sebagai konstruktivisme. Dalam teori belajar tersebut disebutkan bahwa peserta didik membangun pengetahuan baru dalam pikiran mereka, dari interaksi pengalaman mereka dengan pengetahuan sebelumnya. Kemudian Seymour Papert mengembangkan teori konstruktivisme dengan menambahkan gagasan bahwa pembelajaran ditingkatkan ketika pelajar terlibat dalam kegiatan membangun produk yang bermakna.
Kurikulum nasional Inggris mulai memperkenalkan ilmu komputer atau Computer Science (CS) kepada semua siswanya pada Tahun 2012. Sedangkan di Singapura telah memberi label pengembangan Computational Thinking sebagai “kemampuan nasional” sebagai bagian dari inisiatif Smart Nation. Di beberapa negara-negara lain seperti Finlandia, Korea Selatan, Cina, Australia, dan Selandia Baru telah meluncurkan upaya berskala besar untuk memperkenalkan Computational Thinking di sekolah-sekolah sebagai bagian dari kurikulum Computer Science baru atau diintegrasikan ke dalam mata pelajaran lainnya. Pada tahun 2016, Barack Obama meminta semua siswa K-12 atau jenjang SD sampai SMA untuk dibekali dengan keterampilan Computational Thinking sebagai bagian dari inisiatif Computer Science for All.
Apa itu Computational Thinking? Secara sederhana Computational Thinking adalah metode menyelesaikan persoalan dengan menerapkan teknik ilmu komputer (informatika). Computational thinking sebagai cara berpikir untuk menyelesaikan masalah atau problem solving bekerja dengan cara menguraikannya menjadi beberapa tahapan yang efektif, efisien, dan menyeluruh, meliputi: decomposition, pattern recognition, abstraction, algorithms yang merupakan beberapa konsep dasar ilmu komputer.
Dalam memecahkan masalah, metode ini menghendaki siswa untuk memformulasikan masalah dalam bentuk masalah komputasi dan kemudian menyusun solusi komputasi yang baik (dalam bentuk algoritma) atau menjelaskan mengapa tidak ditemukan solusi yang sesuai.
Ada 4 fondasi berpikir komputasional yang dikenal dalam ilmu Informatika, yaitu Abstraksi, Algoritma, Dekomposisi, dan Pola, yang sangat mendasar dan secara garis besar dijelaskan sebagai berikut.
1. Dekomposisi (Decomposition):
Memecah masalah yang kompleks menjadi bagian-bagian yang lebih kecil dan mudah dikelola.
Contoh: Jika ingin membuat kue, kita akan memecahkannya menjadi langkah-langkah seperti menyiapkan bahan, mengaduk adonan, dan memanggang.
2. Abstraksi (Abstraction):
Mengidentifikasi informasi penting dan mengabaikan detail yang tidak relevan.
Contoh: Saat membuat peta, kita hanya menampilkan informasi penting seperti jalan, gedung, dan sungai, tanpa perlu menampilkan setiap detail kecil seperti pohon atau mobil.
3. Algoritma (Algorithm):
Merancang langkah-langkah yang jelas dan terurut untuk menyelesaikan masalah.
Contoh: Resep masakan adalah contoh algoritma, karena memberikan langkah-langkah yang harus diikuti untuk membuat makanan.
4. Pengenalan Pola (Pattern Recognition):
Menemukan pola atau kesamaan dalam data atau informasi.
Contoh: Saat bermain game puzzle, kita mencari potongan-potongan yang memiliki pola yang sama untuk menyusun gambar.
Membuat Program: Seorang programmer menggunakan Komputasional Thinking untuk merancang algoritma yang akan dijalankan oleh komputer.
Menganalisis Data: Seorang ilmuwan data menggunakan Komputasional Thinking untuk menemukan pola dalam data yang besar.
Memecahkan Masalah Sehari-hari: Kita dapat menggunakan Komputasional Thinking untuk merencanakan perjalanan, mengatur keuangan, atau menyelesaikan teka-teki.
Komputasional Thinking adalah keterampilan yang sangat berharga yang dapat membantu kita dalam berbagai aspek kehidupan. Dengan memahami konsep-konsep dasarnya, kita dapat menjadi pemecah masalah yang lebih baik dan lebih kreatif.
Skenario Permainan
Untuk memahami masalah pencarian, kalian akan bermain tebak angka. Pada saat bermain, cobalah untuk memahami permainan tersebut dan identifikasi aspek-aspek masalah pencarian pada permainan tersebut. Carilah strategi terbaik untuk menemukan angka yang dimiliki oleh teman kalian dengan jumlah pengecekan sesedikit mungkin. Skenario Permainan Pada permainan ini, kalian harus berpasangan dengan salah seorang teman. Teman kalian akan memilih sebuah angka bilangan bulat antara 1 – 100 (inklusif, angka 1 dan 100 juga boleh dipilih), dan angka tersebut akan ia rahasiakan. Tugas kalian ialah menemukan angka tersebut. Untuk menemukan angka tersebut, kalian harus mengecek apakah angka tebakan kalian ialah angka yang dimiliki oleh teman kalian. Kalian hanya bisa mengecek angka satu per satu dengan menyebutkan angka tebakan kalian tersebut. Setiap kali kalian menebak, teman kalian harus menjawab satu dari tiga kemungkinan berikut.
“Benar” apabila angka yang kalian tebak sama dengan angka yang dimiliki teman kalian.
“Angka milikku lebih kecil” apabila angka yang dimiliki teman kalian lebih kecil dari tebakan kalian.
“Angka milikku lebih besar” apabila angka yang dimiliki teman kalian lebih besar dari tebakan kalian.
Tentu saja, kalian dapat menebak angka apa pun, tetapi carilah strategi yang membuat kalian dapat dengan cepat (atau dengan kata lain jumlah tebakan sesedikit mungkin) menemukan angka yang dipilih oleh teman kalian. Catatlah angka-angka yang kalian tebak dan jumlah tebakan yang kalian lakukan di lembar kerja yang disediakan. Lakukan permainan ini minimal sebanyak dua kali. Pada permainan berikutnya, kalian bisa bertukar peran.
Ilustrasi
Berikut ini ilustrasi dari permainan di atas. Pada permainan ini, Andi dan Binti bermain secara berpasangan. Andi memilih angka, sedangkan Binti harus menebak angka tersebut. Mula-mula, Andi memilih sebuah angka antara 1 s.d. 100 (inklusif) dan Binti mencatat tebakannya di lembar kerjanya. Binti: “50?” Andi: “Angka milikku lebih kecil.” Binti: “30?” Andi: “Angka milikku lebih besar.” Binti: “40?” Andi: “Angka milikku lebih kecil.” Binti: “35?” Andi: “Benar!” Pada percakapan di atas, terlihat bahwa Binti dapat menebak angka yang dipilih Andi dalam empat kali penebakkan. Percakapan tersebut dicatat dalam lembar kerja, pada permainan ke-0. Kalian dapat memanfaatkan tabel berikut yang digunakan untuk mencatat angka yang ditebak dan berapa kali penebakan dilakukan. Pada permainan ke-0, diberikan contoh isian dari ilustrasi yang diberikan di atas. Terlihat bahwa Andi memilih angka 49. Binti memerlukan sebanyak 4 kali penebakan untuk menebak dengan benar angka yang dipilih oleh Andi, yaitu menebak secara berurutan 50, 40, 35, dan 35.