Simulasi berpikir algoritmik dalam mengelola kebutuhan, persediaan, dan anggaran keluarga.
1. Deskripsi Masalah
Sebuah keluarga memiliki anggaran belanja mingguan sebesar Rp500.000. Keluarga harus memenuhi kebutuhan selama tujuh hari tanpa melebihi anggaran.
Masalahnya, tidak semua barang harus dibeli. Sebagian persediaan masih tersedia, beberapa barang sudah habis, harga dapat berubah, dan terdapat kebutuhan mendadak.
2. Tujuan
- Memenuhi kebutuhan rumah tangga selama tujuh hari.
- Menghindari pembelian barang yang masih tersedia dalam jumlah cukup.
- Memprioritaskan kebutuhan pokok.
- Menjaga total pengeluaran agar tidak melebihi anggaran.
- Menyediakan catatan transaksi untuk evaluasi.
3. Input
- Anggaran: Rp500.000.
- Durasi kebutuhan: tujuh hari.
- Daftar anggota keluarga.
- Daftar kebutuhan mingguan.
- Data persediaan barang di rumah.
- Harga barang di toko.
- Daftar barang pengganti.
4. Contoh Data Kebutuhan
| Barang | Kebutuhan | Stok | Rencana |
|---|---|---|---|
| Beras | 5 kg | 2 kg | Beli 3 kg |
| Minyak goreng | 2 liter | 1 liter | Beli 1 liter |
| Telur | 2 kg | 0 kg | Beli 2 kg |
| Gula | 1 kg | 1 kg | Tidak perlu beli |
| Sabun | 2 buah | 0 buah | Beli 2 buah |
Catatan: Angka kebutuhan di atas merupakan data simulasi, bukan standar konsumsi setiap keluarga.
5. Langkah Algoritma
- Tentukan anggaran maksimal belanja.
- Catat jumlah anggota keluarga dan periode kebutuhan.
- Periksa seluruh persediaan barang di rumah.
- Bandingkan persediaan dengan kebutuhan selama tujuh hari.
- Hitung kekurangan setiap barang.
- Masukkan barang yang benar-benar diperlukan ke daftar belanja.
- Kelompokkan barang berdasarkan tingkat prioritas.
- Periksa harga barang di toko.
- Hitung perkiraan total biaya.
- Jika total biaya melebihi anggaran, evaluasi barang yang prioritasnya lebih rendah.
- Jika barang tidak tersedia, periksa apakah ada pengganti yang sesuai.
- Jika tidak ada pengganti yang sesuai, tandai sebagai kebutuhan yang belum terpenuhi.
- Lakukan pembelian berdasarkan daftar yang telah disusun.
- Periksa barang dan jumlahnya sebelum pembayaran.
- Bandingkan total transaksi dengan anggaran.
- Simpan bukti transaksi.
- Perbarui catatan persediaan rumah tangga.
- Evaluasi sisa anggaran dan kebutuhan yang belum terpenuhi.
6. Pseudocode
MULAI
anggaran = 500000
total_belanja = 0
SIAPKAN daftar_kebutuhan
SIAPKAN data_persediaan
UNTUK setiap barang dalam daftar_kebutuhan:
periksa jumlah_stok
hitung jumlah_kebutuhan
kekurangan = jumlah_kebutuhan - jumlah_stok
JIKA kekurangan > 0:
masukkan barang ke daftar_belanja
JIKA TIDAK:
tandai barang sebagai tidak perlu dibeli
SELESAI UNTUK
URUTKAN daftar_belanja berdasarkan prioritas
UNTUK setiap barang dalam daftar_belanja:
periksa harga barang
JIKA barang tersedia:
hitung subtotal
JIKA TIDAK:
periksa barang_pengganti
JIKA barang_pengganti sesuai:
gunakan barang_pengganti
JIKA TIDAK:
tandai kebutuhan belum terpenuhi
LANJUTKAN ke barang berikutnya
JIKA total_belanja + subtotal <= anggaran:
masukkan barang ke keranjang
total_belanja = total_belanja + subtotal
JIKA TIDAK:
evaluasi prioritas barang
JIKA barang termasuk kebutuhan pokok:
cari alternatif yang sesuai
JIKA TIDAK:
tunda pembelian
SELESAI UNTUK
PERIKSA seluruh barang dalam keranjang
JIKA jumlah barang sesuai:
LAKUKAN pembayaran
JIKA TIDAK:
PERBAIKI daftar transaksi
SIMPAN bukti pembayaran
PERBARUI data_persediaan
sisa_anggaran = anggaran - total_belanja
BUAT laporan belanja
SELESAI
7. Tiga Struktur Dasar Algoritma
A. Runtunan (Sequence)
Instruksi dijalankan berdasarkan urutan yang telah ditentukan.
Contoh: Memeriksa persediaan, menghitung kekurangan, menyusun daftar belanja, kemudian memeriksa harga.
B. Pemilihan (Selection)
Algoritma memilih tindakan berdasarkan kondisi.
Contoh: Jika stok masih cukup, barang tidak dibeli. Jika stok kurang, barang masuk daftar belanja.
Contoh lain: Jika harga melebihi anggaran, cari alternatif atau tunda pembelian.
C. Pengulangan (Iteration)
Instruksi dilakukan berulang kali untuk memproses seluruh data.
Contoh: Memeriksa setiap barang dalam daftar kebutuhan satu per satu sampai seluruh barang selesai dievaluasi.
8. Simulasi Kondisi Bermasalah
Kasus A: Harga beras naik.
Harga beras yang direncanakan Rp45.000 ternyata menjadi Rp55.000. Algoritma harus memperbarui total belanja dan menghitung ulang sisa anggaran.
Kasus B: Telur tidak tersedia.
Algoritma memeriksa alternatif yang sesuai dengan kebutuhan. Jika tidak tersedia alternatif yang layak, kebutuhan tersebut dicatat sebagai belum terpenuhi.
Kasus C: Ada kebutuhan mendadak.
Anggota keluarga membutuhkan obat yang belum masuk daftar belanja. Algoritma harus memasukkan kebutuhan baru, menentukan prioritasnya, lalu menghitung ulang anggaran.
Kasus D: Uang belanja tidak cukup.
Algoritma mengevaluasi kembali barang yang dapat ditunda tanpa mengabaikan kebutuhan pokok.
9. Pertanyaan untuk Menguji Berpikir Algoritmik
- Apakah semua barang yang stoknya habis harus langsung dibeli?
- Bagaimana algoritma membedakan kebutuhan pokok dan kebutuhan tambahan?
- Bagaimana jika harga berubah ketika pembeli sudah berada di kasir?
- Bagaimana jika dua kebutuhan penting memiliki prioritas yang sama, tetapi anggaran hanya cukup untuk salah satunya?
- Bagaimana algoritma menangani kebutuhan mendadak yang tidak ada dalam daftar awal?
- Apakah anggaran yang tidak terpakai selalu berarti keputusan belanja sudah optimal?
- Data apa yang harus disimpan agar perencanaan belanja minggu berikutnya lebih akurat?
10. Kesimpulan
Mengelola belanja rumah tangga bukan sekadar aktivitas membeli barang. Di dalamnya terdapat proses pengumpulan data, pengelompokan kebutuhan, perhitungan, penentuan prioritas, pengambilan keputusan, penanganan kondisi khusus, dan evaluasi hasil.
Inilah inti berpikir algoritmik: mengubah masalah yang kompleks menjadi serangkaian proses yang dapat dijelaskan, diuji, dan diperbaiki.
Prinsip utama: Seseorang yang berpikir algoritmik tidak sekadar bertanya apa yang harus dilakukan. Seseorang juga harus mampu menjelaskan berdasarkan data apa keputusan dibuat, kondisi apa yang mengubah keputusan, dan bagaimana memastikan hasilnya sesuai tujuan.
Komentar
Posting Komentar