Dekomposisi
Memecah satu masalah kompleks menjadi submasalah yang lebih kecil, memiliki batas yang jelas, dan dapat ditangani satu per satu.
Computational Thinking bukan tentang menjadi komputer. Ini adalah cara manusia merumuskan masalah agar solusi dapat dipahami, diuji, dan—ketika tepat—diotomatisasi dengan komputer.
Mulai dari definisi yang tepat. Setelah itu, baru kita bahas teknik-tekniknya.
Kata “computational” tidak berarti semua masalah harus diselesaikan dengan komputer. Artinya, masalah diolah secara terstruktur sehingga solusinya bisa dianalisis, diulang, diuji, dan berpotensi diotomatisasi.
Empat lensa untuk melihat masalah. Sering digunakan bersama, bukan sebagai kotak yang terpisah.
Memecah satu masalah kompleks menjadi submasalah yang lebih kecil, memiliki batas yang jelas, dan dapat ditangani satu per satu.
Mencari kesamaan, pengulangan, tren, atau hubungan sebab-akibat di antara kasus-kasus yang terlihat berbeda.
Memilih detail yang relevan untuk tujuan tertentu, membuat model sederhana, dan sengaja mengabaikan detail yang tidak membantu.
Menyusun prosedur yang jelas: urutan tindakan, kondisi, pengulangan, dan penanganan kegagalan.
Empat pilar berada di dalam proses yang lebih luas: mendefinisikan masalah, menguji asumsi, lalu mengevaluasi hasil.
Tentukan tujuan, ruang lingkup, pengguna, dan batasan. Pastikan masalahnya benar.
Pecah proses dan komponen. Tetapkan hubungan antarbagian.
Gunakan data dan observasi untuk mencari kasus yang berulang.
Abstraksikan hal penting lalu susun algoritma yang bisa diuji.
Uji kasus normal, batas, dan gagal. Ukur hasil lalu iterasi.
Satu kasus backend yang memperlihatkan mengapa berpikir komputasional lebih penting daripada langsung mengetik kode.
Bisnis hanya memiliki satu unit produk. Dua request masuk hampir bersamaan. Sistem tidak boleh menjual dua unit ketika stok hanya satu.
Request checkout, validasi stok, pengurangan stok, pencatatan order, transaksi database, dan respons ke pengguna adalah bagian yang berbeda.
Dua request membaca stok = 1 sebelum salah satunya memperbarui database. Keduanya mengira barang masih tersedia.
Fokus pada nilai stok, urutan operasi, konkurensi, dan aturan “stok tidak boleh negatif”. Detail tampilan halaman tidak relevan terhadap integritas stok.
Jadikan pemeriksaan dan pengurangan stok satu operasi database bersyarat. Hanya request yang berhasil mengubah satu baris yang boleh lanjut.
UPDATE products SET stock = stock - 1 WHERE id = 1 AND stock > 0;Masalah yang sama bisa dilihat dari empat sudut. Pilih satu pendekatan dan pelajari pertanyaan yang seharusnya diajukan.
Pilih pilar untuk menggali masalah ini.
Computational thinking membentuk cara kita memodelkan masalah. Ilmu komputer menyediakan konsep dan alat untuk merealisasikan model tersebut.
Bukan tes hafalan definisi. Pilih cara berpikir yang paling tepat untuk setiap situasi.
Istilah penting yang sering muncul ketika membahas computational thinking dan engineering.
| Istilah | Penjelasan | Pertanyaan kunci |
|---|
Gunakan pertanyaan ini sebelum mulai mengubah kode. Checklist tersimpan selama halaman ini terbuka.
Tandai setiap pertanyaan setelah kamu bisa menjawabnya dengan jelas.