Studi Kasus Python: Membuat Program Kasir dengan Promo Diskon
Salah satu cara terbaik untuk belajar pemrograman adalah dengan menerapkan konsep-konsep yang telah kita pelajari ke dalam sebuah proyek yang meniru situasi di dunia nyata. Kali ini, kita akan membuat sebuah program kasir sederhana. Program ini tidak hanya akan menghitung total belanja, tetapi juga mampu menerapkan promo diskon dalam bentuk persen untuk barang-barang tertentu.
Dalam proyek ini, kita akan menggabungkan beberapa konsep fundamental Python yang telah kita bahas, seperti dictionaries untuk menyimpan data, lists untuk keranjang belanja, loops untuk memproses input, dan percabangan kondisional (if) untuk menerapkan diskon.
Langkah 1: Menyiapkan Data Produk dan Diskon ๐
Langkah pertama adalah mendefinisikan data barang yang kita jual beserta harganya, dan barang mana saja yang sedang diskon. Cara terbaik untuk menyimpan data semacam ini adalah dengan menggunakan Dictionary.
daftar_harga: Dictionary untuk menyimpan nama barang sebagai key dan harganya sebagai value.daftar_diskon: Dictionary untuk menyimpan nama barang yang didiskon sebagai key dan nilai diskonnya (dalam desimal) sebagai value. Misalnya, diskon 15% kita tulis0.15.
# Data produk dan harga
daftar_harga = {
"apel": 5000,
"roti": 15000,
"susu": 22000,
"cokelat": 12000,
"jeruk": 8000
}
# Data barang yang sedang diskon (10% untuk susu, 20% untuk roti)
daftar_diskon = {
"susu": 0.10,
"roti": 0.20
}Langkah 2: Membangun Logika Program Kasir ๐
Program kita akan memiliki alur kerja sebagai berikut:
- Meminta pengguna (kasir) untuk memasukkan barang satu per satu. Proses ini akan berulang hingga kasir mengetik 'selesai'.
- Setiap barang yang dimasukkan akan ditambahkan ke dalam sebuah list yang kita sebut 'keranjang belanja'.
- Setelah semua barang dimasukkan, program akan menghitung totalnya.
- Saat menghitung, program akan memeriksa setiap barang di keranjang: jika barang tersebut ada di daftar diskon, harganya akan dipotong.
- Terakhir, program akan menampilkan struk belanja sederhana beserta total akhir yang harus dibayar.
Langkah 3: Kode Program Lengkap ๐งพ
Berikut adalah kode program kasir yang menggabungkan semua logika di atas.
# --- DATA PRODUK (bisa ditaruh di awal seperti Langkah 1) ---
daftar_harga = {"apel": 5000, "roti": 15000, "susu": 22000, "cokelat": 12000, "jeruk": 8000}
daftar_diskon = {"susu": 0.10, "roti": 0.20}
# --- INISIALISASI PROGRAM ---
keranjang_belanja = []
total_belanja = 0
print("--- Selamat Datang di Toko PyMart ---")
print("Daftar barang:", ", ".join(daftar_harga.keys()))
# --- PROSES INPUT BARANG ---
while True:
barang_dibeli = input("Masukkan nama barang (atau ketik 'selesai' untuk selesai): ").lower()
if barang_dibeli == 'selesai':
break
if barang_dibeli in daftar_harga:
keranjang_belanja.append(barang_dibeli)
print(f"'{barang_dibeli}' telah ditambahkan ke keranjang.")
else:
print("Maaf, barang tidak ditemukan.")
# --- PROSES PERHITUNGAN DAN TAMPILKAN STRUK ---
print("\n--- Struk Belanja ---")
for barang in keranjang_belanja:
harga_asli = daftar_harga[barang]
harga_setelah_diskon = harga_asli
info_diskon = ""
# Cek apakah barang ada di daftar diskon
if barang in daftar_diskon:
diskon = daftar_diskon[barang]
potongan = int(harga_asli * diskon)
harga_setelah_diskon = harga_asli - potongan
info_diskon = f"(Diskon {int(diskon*100)}%)"
total_belanja += harga_setelah_diskon
print(f"- {barang.capitalize():<10}: Rp {harga_setelah_diskon:>7,} {info_diskon}")
print("-----------------------------")
print(f"Total Belanja : Rp {total_belanja:>7,}")
print("--- Terima Kasih Telah Berbelanja! ---")Kesimpulan
Kita baru saja membuat sebuah aplikasi kasir mini yang fungsional. Proyek ini menunjukkan bagaimana konsep-konsep dasar seperti dictionary, list, loop, dan if dapat dirangkai bersama untuk menciptakan sebuah program yang memiliki logika bisnis nyata. Program ini tentu masih bisa dikembangkan lebih lanjut, misalnya dengan menambahkan fitur jumlah barang (kuantitas), pajak, atau jenis promo lainnya.

