Membuat aplikasi kasir sederhana adalah salah satu proyek pengantar terbaik saat mempelajari bahasa pemrograman seperti Python. Proyek ini memungkinkan Anda memahami konsep dasar seperti input/output, perulangan (looping), percabangan (conditional statements), dan struktur data sederhana (seperti dictionary atau list).
Program kasir berfungsi untuk mencatat barang yang dibeli, menghitung total harga, dan menentukan kembalian. Untuk implementasi paling dasar, kita akan menggunakan Python standar tanpa antarmuka grafis (GUI), menjadikannya berbasis teks (command-line).
Langkah pertama adalah menentukan daftar barang beserta harganya. Struktur data dictionary sangat ideal untuk ini karena kita bisa menyimpan nama barang sebagai key dan harganya sebagai value.
# Daftar produk dan harganya
daftar_produk = {
"kopi": 15000,
"roti": 8000,
"air mineral": 5000,
"sandwich": 18000
}
def tampilkan_menu():
print("\n--- Daftar Produk ---")
for produk, harga in daftar_produk.items():
print(f"{produk.capitalize()}: Rp {harga}")
print("---------------------\n")
Program harus berjalan dalam sebuah loop hingga pengguna memutuskan untuk mengakhiri transaksi. Di dalam loop, pengguna akan memasukkan nama produk yang dibeli.
Kita perlu menyimpan barang yang dibeli beserta jumlahnya. Kita juga harus mengelola total belanjaan yang terus bertambah. Jika produk yang dimasukkan tidak ada dalam daftar, sistem harus memberikan umpan balik yang jelas.
total_belanja = 0
keranjang = {} # Untuk menyimpan item yang dibeli dan kuantitasnya
while True:
tampilkan_menu()
item_input = input("Masukkan nama barang (atau 'SELESAI' untuk hitung): ").lower()
if item_input == 'selesai':
break
if item_input in daftar_produk:
try:
kuantitas = int(input(f"Berapa kuantitas {item_input}? "))
if kuantitas > 0:
harga_satuan = daftar_produk[item_input]
subtotal = harga_satuan * kuantitas
total_belanja += subtotal
# Update keranjang
if item_input in keranjang:
keranjang[item_input] += kuantitas
else:
keranjang[item_input] = kuantitas
print(f"{item_input.capitalize()} ({kuantitas}x) ditambahkan. Subtotal: Rp {subtotal}")
else:
print("Kuantitas harus lebih dari nol.")
except ValueError:
print("Input kuantitas tidak valid. Mohon masukkan angka.")
else:
print("Maaf, produk tersebut tidak tersedia dalam daftar.")
Setelah loop transaksi selesai (ketika pengguna mengetik 'SELESAI'), program harus menampilkan rincian transaksi, total akhir, dan meminta uang pembayaran dari pelanggan untuk menghitung kembalian.
if total_belanja > 0:
print("\n========== Rincian Pembelian ==========")
for produk, qty in keranjang.items():
harga_total_item = daftar_produk[produk] * qty
print(f"{produk.capitalize()} ({qty}x) @ Rp {daftar_produk[produk]} = Rp {harga_total_item}")
print("-------------------------------------")
print(f"TOTAL BELANJA: Rp {total_belanja}")
while True:
try:
bayar = float(input("Uang dibayar: Rp "))
if bayar < total_belanja:
print("Uang pembayaran kurang!")
else:
kembalian = bayar - total_belanja
print(f"Kembalian Anda: Rp {kembalian}")
print("\n--- Transaksi Selesai. Terima kasih! ---")
break
except ValueError:
print("Input pembayaran tidak valid. Masukkan angka.")
else:
print("\nTidak ada barang yang dibeli. Transaksi dibatalkan.")
Program kasir sederhana berbasis konsol ini adalah fondasi yang solid. Untuk membuatnya lebih fungsional dan menarik, Anda bisa melakukan beberapa pengembangan. Pertama, pisahkan data produk ke dalam file eksternal (misalnya CSV atau JSON) sehingga harga barang mudah diperbarui tanpa mengubah kode program utama. Kedua, tambahkan fitur untuk menghapus item dari keranjang atau mengubah kuantitas sebelum perhitungan akhir.
Penggunaan Python untuk kasus seperti ini menunjukkan betapa efektifnya bahasa ini dalam menangani logika bisnis dasar dengan sintaks yang relatif mudah dibaca dan diterapkan, bahkan untuk pemula di dunia pemrograman.