1. Apa itu Computational Thinking?
Menulis kode (coding) hanyalah tahap akhir dari pemrograman. 80% pekerjaan seorang software engineer adalah berpikir dan memecah masalah (Problem Solving). Computational Thinking adalah metode terstruktur untuk merumuskan masalah sehingga solusinya dapat dieksekusi oleh komputer secara efisien.
4 Pilar Computational Thinking
1. **Decomposition (Dekomposisi)**: Memecah masalah raksasa yang menakutkan menjadi potongan-potongan sub-tugas kecil yang mudah dikelola.
2. **Pattern Recognition (Pengenalan Pola)**: Mencari kesamaan atau keteraturan dari masalah sebelumnya yang pernah diselesaikan.
3. **Abstraction (Abstraksi)**: Mengabaikan detail yang tidak relevan dan fokus hanya pada informasi inti yang esensial.
4. **Algorithm Design (Desain Algoritma)**: Menyusun langkah-langkah instruksi langkah demi langkah (step-by-step) yang logis dan tidak ambigu.
2. Studi Kasus: Membangun Sistem Antrian Rumah Sakit
Bagaimana kita menerapkan 4 pilar ini saat diminta membuat sistem pemanggilan antrian pasien?
Algoritma Prioritas Antrian Pasien
javascript
| 1 | // Dekomposisi: Pasien Darurat (IGD) vs Pasien Reguler |
| 2 | function tentukanUrutanPanggil(antrianPasien) { |
| 3 | // Abstraksi: Kita hanya peduli pada isEmergency dan jamKedatangan |
| 4 | return antrianPasien.sort((a, b) => { |
| 5 | if (a.isEmergency && !b.isEmergency) return -1; // Prioritaskan darurat |
| 6 | if (!a.isEmergency && b.isEmergency) return 1; |
| 7 | return a.jamKedatangan - b.jamKedatangan; // FIFO jika prioritas sama |
| 8 | }); |
| 9 | } |
Kuis Pemahaman
+10 XP
Memecah fitur checkout e-commerce menjadi: 1) Hitung total keranjang, 2) Hitung ongkos kirim, 3) Potong voucher, 4) Buat tagihan pembayaran—merupakan contoh dari pilar apa?