Apa itu Dekomposisi?
Bayangkan kamu diminta untuk memakan sebuah semangka utuh. Jika kamu mencoba memakannya langsung dalam satu gigitan, kamu pasti akan kesulitan atau bahkan tersedak. Apa solusinya?
Kamu harus memotongnya menjadi irisan-irisan kecil, lalu memakannya satu per satu. Itulah yang disebut dengan Dekomposisi.
Dalam Berpikir Komputasional, Dekomposisi adalah kemampuan memecah sebuah masalah yang kompleks dan besar menjadi bagian-bagian (modul) yang lebih kecil, lebih sederhana, dan lebih mudah diselesaikan secara terpisah.
Masalah Besar → Sub-Masalah Kecil
Dekomposisi di Dunia Koding
Saat programer membuat aplikasi e-Commerce (seperti Shopee/Tokopedia), mereka tidak membuat seluruh kodenya dalam satu langkah. Mereka memecahnya menjadi:
- Modul Login: Mengurus password dan akun.
- Katalog: Menampilkan foto barang.
- Keranjang: Menghitung total belanja.
- Pembayaran: Menghubungkan ke bank/e-Wallet.
Mengapa Sangat Penting?
- Kerja Tim: Bagian kecil bisa dibagi ke banyak orang.
- Mudah Diperbaiki: Jika error di pembayaran, programer tidak perlu membongkar kode login.
- Tidak Menakutkan: Masalah besar sering membuat panik. Jika dipecah, akan terlihat lebih mungkin diselesaikan.
Lab Maya: Dekomposisi Pesta
Misi Kamu: Kelas kita akan mengadakan Pesta Perayaan. Masalah utamanya adalah "Menyelenggarakan Pesta". Bantulah memecah (dekomposisi) masalah besar ini dengan mengelompokkan 9 tugas acak di bawah ini ke dalam 3 Kategori Sub-Masalah.
1. Sentuh/klik salah satu Kartu Tugas (kartu akan menyala).
2. Sentuh/klik ke Kotak Kategori yang menurutmu tepat untuk memindahkannya.
Tugas Belum Dikelompokkan
Tamu & Undangan
Konsumsi (Makanan)
Dekorasi & Hiburan
Lembar Kerja (LKPD)
Jawablah pertanyaan berikut untuk menguji pemahamanmu tentang Dekomposisi!
1. Mengurus Acara Kelas
Bayangkan kelasmu ingin mengadakan acara perpisahan. Jika kamu sebagai ketua kelas mengerjakan semuanya sendiri pasti akan pusing. Sebutkan 4 kelompok tugas (divisi) yang akan kamu buat agar pekerjaan jadi lebih ringan!
2. Dekomposisi Aplikasi Gojek/Grab
Saat *programmer* membuat aplikasi besar seperti Gojek, mereka membaginya menjadi fitur-fitur kecil. Sebutkan 3 fitur berbeda di dalam aplikasi tersebut yang bisa dikerjakan secara terpisah!
3. Mengerjakan Tugas Kelompok
Kamu dan teman-temanmu diberi tugas membuat Majalah Dinding (Mading) kelas. Pecahlah tugas membuat mading tersebut menjadi 4 tahap/bagian kecil yang bisa dibagi-bagikan ke setiap anggota kelompok!
4. Perintah untuk Robot AI
Sebuah robot AI pelayan restoran mendapat perintah dari pelanggan: "Tolong ambilkan minuman di dapur". Robot tidak bisa langsung paham. Pecahlah perintah tersebut ke dalam 3 langkah kecil yang harus dikerjakan sang robot secara bertahap!