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

Analisis masalah kasir
BagianIsinya
MasukanHarga dan jumlah setiap barang, uang dari pembeli
ProsesMenjumlahkan harga × jumlah, menghitung diskon, menghitung kembalian
KeluaranTotal, diskon, yang harus dibayar, dan kembalian atau kekurangan

Langkah 2: flowchart

Kasir kantin
  1. Langkah 1, Mulai: Mulai
  2. Langkah 2, Proses: total ← 0
  3. Langkah 3, Masukan: Baca harga
  4. Langkah 4, Keputusan: harga ≠ 0?Yajika ya, baca jumlah, total ← total + harga × jumlah, baca harga berikutnya, kembali ke pertanyaan iniTidakjika tidak, lanjut
  5. Langkah 5, Keputusan: total ≥ 50000?Yajika ya, diskon ← 10% dari totalTidakjika tidak, diskon ← 0
  6. Langkah 6, Proses: bayar ← total - diskon
  7. Langkah 7, Masukan: Baca uang dari pembeli
  8. Langkah 8, Keputusan: uang ≥ bayar?Yajika ya, tampilkan kembalian uang - bayarTidakjika tidak, tampilkan kekurangan bayar - uang
  9. Langkah 9, Selesai: Selesai

Langkah 3: pseudocode

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 JIKA

Langkah 4: program

Kalau kamu sudah mengikuti kursus Python untuk Pemula, ini terjemahannya. Kalau belum, cukup pahami pseudocode-nya dulu, lalu kembali ke sini nanti.

Python
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)
Kasir kantin
Contoh saat dijalankan
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 Studio

Cek 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.

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.

Latih konsep ini

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi