Berpikir Komputasional
Berpikir Komputasional (BK) merupakan metode penyelesaian masalah (problem solving) untuk menemukan solusi yang efisien, efektif, dan optimal agar dapat dijalankan dengan baik oleh manusia maupun mesin.
Tujuan Pembelajaran
Apa itu Berpikir Komputasional?
Melalui Berpikir Komputasional (BK), kalian akan berlatih berpikir seperti seorang ilmuwan Informatika, bukan berpikir seperti komputer karena komputer adalah mesin.
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.
4 Fondasi Berpikir Komputasional
Ada 4 fondasi berpikir komputasional yang dikenal dalam ilmu Informatika:
1. Abstraksi
Menyarikan bagian penting dari suatu permasalahan dan mengabaikan yang tidak penting sehingga memudahkan fokus kepada solusi.
2. Algoritma
Menuliskan otomasi solusi melalui berpikir algoritmik (langkah-langkah yang terurut) untuk mencapai suatu tujuan (solusi).
3. Dekomposisi
Formulasi persoalan sedemikian rupa sehingga dapat diselesaikan dengan cepat dan efisien dengan membaginya menjadi bagian kecil yang sistematis.
4. Pengenalan Pola
Mengenali pola persoalan, generalisasi serta mentransfer proses penyelesaian persoalan ke persoalan lain yang sejenis.
Pencarian (Searching)
Mencari adalah menemukan "sesuatu" yang bisa berupa benda, angka, konsep, informasi yang memenuhi kriteria tertentu dalam suatu ruang pencarian.
Elemen pada masalah pencarian meliputi:
- Sekumpulan benda atau objek.
- Kriteria dari benda atau objek yang dicari.
- Pengecekan benda atau objek, untuk memeriksa apakah ia memenuhi kriteria pencarian.
Contoh di dunia nyata meliputi mencari buku di perpustakaan, pakaian batik di lemari, atau berkas digital menggunakan mesin pencari Google.
Pengurutan (Sorting)
Pengurutan merupakan suatu permasalahan klasik pada komputasi yang dilakukan untuk mengatur agar suatu kelompok benda, objek, atau entitas diletakkan mengikuti aturan tertentu (menaik / ascending maupun menurun / descending).
Terdapat dua langkah penting dalam melakukan pengurutan, yaitu pembandingan dan penempatan objek.
Algoritma Pengurutan Standar:
- Insertion Sort: Mengurutkan sebuah list dengan cara menyisipkan elemen satu per satu sesuai dengan urutan besar kecilnya elemen hingga elemen menjadi terurut.
- Selection Sort: Mencari (menyeleksi) bilangan terkecil/terbesar dari daftar yang belum terurut dan menempatkannya pada posisi yang benar secara berurutan.
- Bubble Sort: Membandingkan sepasang elemen yang berdekatan dan menukarnya jika berada dalam urutan yang salah secara terus menerus.
Tumpukan (Stack) & Antrean (Queue)
Dua konsep penyimpanan data/objek dalam struktur data yang menentukan urutan pemrosesan objek.
Tumpukan (Stack) - LIFO
Prinsip penyimpanan objek di mana yang pertama masuk justru akan menjadi yang terakhir keluar (Last In First Out).
Operasi utama: Push (memasukkan objek) dan Pop (mengeluarkan objek teratas).
Contoh: Tumpukan piring, fitur Back/Forward browser, operasi Undo/Redo.
Antrean (Queue) - FIFO
Prinsip penyimpanan objek di mana objek yang pertama datang akan menjadi yang pertama keluar/selesai (First In First Out).
Operasi utama: Enqueue (masuk antrean) dan Dequeue (keluar antrean).
Contoh: Antrean loket rumah sakit, antrean kendaraan di lampu merah, antrean cetak dokumen printer.