Berpikir Seperti Komputer · Pelajaran 10 dari 10
Proyek: algoritma kasir kantin
9 menit baca · BelajarCode
Kantin sekolahmu ingin kasir yang bisa menghitung belanja secara otomatis. Aturannya:
- Kasir memasukkan harga dan jumlah setiap barang. Harga 0 menandakan semua barang sudah dicatat.
- Jika total belanja Rp50.000 atau lebih, pembeli mendapat diskon 10%.
- Kasir memasukkan uang dari pembeli, lalu program menampilkan kembalian. Jika uangnya kurang, tampilkan kekurangannya.
Langkah 1: analisis masukan, proses, dan keluaran
| Bagian | Isinya |
|---|---|
| Masukan | Harga dan jumlah setiap barang, uang dari pembeli |
| Proses | Menjumlahkan harga × jumlah, menghitung diskon, menghitung kembalian |
| Keluaran | Total, diskon, yang harus dibayar, dan kembalian atau kekurangan |
Langkah 2: flowchart
- Langkah 1, Mulai: Mulai
- Langkah 2, Proses: total ← 0
- Langkah 3, Masukan: Baca harga
- Langkah 4, Keputusan: harga ≠ 0?Yajika ya, baca jumlah, total ← total + harga × jumlah, baca harga berikutnya, kembali ke pertanyaan iniTidakjika tidak, lanjut
- Langkah 5, Keputusan: total ≥ 50000?Yajika ya, diskon ← 10% dari totalTidakjika tidak, diskon ← 0
- Langkah 6, Proses: bayar ← total - diskon
- Langkah 7, Masukan: Baca uang dari pembeli
- Langkah 8, Keputusan: uang ≥ bayar?Yajika ya, tampilkan kembalian uang - bayarTidakjika tidak, tampilkan kekurangan bayar - uang
- Langkah 9, Selesai: Selesai
Langkah 3: pseudocode
total ← 0
BACA harga
SELAMA harga ≠ 0 LAKUKAN
BACA jumlah
total ← total + harga × jumlah
BACA harga
AKHIR SELAMA
JIKA total ≥ 50000 MAKA
diskon ← total × 10 / 100
SELAIN ITU
diskon ← 0
AKHIR JIKA
bayar ← total - diskon
TULIS total, diskon, bayar
BACA uang
JIKA uang ≥ bayar MAKA
TULIS "Kembalian", uang - bayar
SELAIN ITU
TULIS "Uangnya kurang", bayar - uang
AKHIR JIKALangkah 4: program
Kalau kamu sudah mengikuti kursus Python untuk Pemula, ini terjemahannya. Kalau belum, cukup pahami pseudocode-nya dulu, lalu kembali ke sini nanti.
1total = 02harga = int(input("Harga barang (0 untuk selesai): "))3while harga != 0:4 jumlah = int(input("Jumlah: "))5 total = total + harga * jumlah6 harga = int(input("Harga barang (0 untuk selesai): "))78if total >= 50000:9 diskon = total * 10 // 10010else:11 diskon = 012bayar = total - diskon13print("Total belanja:", total)14print("Diskon:", diskon)15print("Harus dibayar:", bayar)1617uang = int(input("Uang dari pembeli: "))18if uang >= bayar:19 print("Kembalian:", uang - bayar)20else:21 print("Uangnya kurang", bayar - uang)Harga barang (0 untuk selesai): 15000 Jumlah: 2 Harga barang (0 untuk selesai): 8000 Jumlah: 3 Harga barang (0 untuk selesai): 0 Total belanja: 54000 Diskon: 5400 Harus dibayar: 48600 Uang dari pembeli: 50000 Kembalian: 1400
Susun flowchart kasir ini di Flowchart Studio, jalankan langkah demi langkah, lalu bandingkan kode yang dihasilkan dengan program di atas.
Gambar di Flowchart StudioCek pemahaman
Pembeli membeli 4 barang yang masing-masing seharga Rp12.000. Berapa yang harus dibayar?
Latihan
Uang pas
Tambahkan aturan baru: jika pembeli membayar dengan uang pas, tampilkan Terima kasih, uangnya pas. Tuliskan bagian pseudocode yang berubah.
Pembahasan
BACA uang
JIKA uang = bayar MAKA
TULIS "Terima kasih, uangnya pas"
SELAIN ITU JIKA uang > bayar MAKA
TULIS "Kembalian", uang - bayar
SELAIN ITU
TULIS "Uangnya kurang", bayar - uang
AKHIR JIKASekarang ada tiga kemungkinan, jadi dipakai percabangan bertingkat. Syarat uang pas diperiksa lebih dulu, karena uang ≥ bayar juga benar untuk uang pas.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.