Ilustrasi Konsep Sistem Kasir Sederhana
Membuat sistem kasir (Point of Sale/POS) adalah salah satu cara terbaik untuk memahami logika pemrograman dasar, terutama dalam mengelola data, perhitungan, dan input/output. Python, dengan sintaksnya yang bersih dan mudah dibaca, menjadikannya pilihan ideal untuk membuat contoh program kasir python, bahkan untuk pemula.
Program kasir membutuhkan manipulasi data (daftar barang, harga, stok), perhitungan matematis (total, diskon, kembalian), dan interaksi pengguna. Python unggul dalam hal ini karena:
Sebuah program kasir minimal harus memiliki tiga komponen utama:
Berikut adalah contoh kode Python yang mengimplementasikan fungsi dasar kasir. Program ini akan meminta input nama barang, menghitung total, dan menampilkan struk.
# 1. Database Produk (Nama: Harga)
database_produk = {
"AP001": {"nama": "Kopi Hitam", "harga": 10000},
"AP002": {"nama": "Teh Dingin", "harga": 7500},
"AP003": {"nama": "Roti Isi", "harga": 15000},
"AP004": {"nama": "Air Mineral", "harga": 5000}
}
def tampilkan_menu():
print("\n--- Daftar Barang Tersedia ---")
for kode, data in database_produk.items():
print(f"Kode: {kode} | Nama: {data['nama']:<15} | Harga: Rp {data['harga']:,}")
print("------------------------------")
def proses_transaksi():
keranjang = {}
total_belanja = 0
print("\n>>> Mulai Transaksi <<<")
while True:
kode = input("Masukkan kode barang (atau 'SELESAI' untuk hitung): ").upper()
if kode == 'SELESAI':
break
if kode in database_produk:
qty = int(input(f"Berapa kuantitas {database_produk[kode]['nama']}? "))
harga_satuan = database_produk[kode]['harga']
subtotal_item = harga_satuan * qty
# Menambahkan ke keranjang atau update kuantitas
if kode in keranjang:
keranjang[kode]['qty'] += qty
else:
keranjang[kode] = {
'nama': database_produk[kode]['nama'],
'harga': harga_satuan,
'qty': qty
}
total_belanja += subtotal_item
print(f"{database_produk[kode]['nama']} ({qty}x) ditambahkan. Subtotal sementara: Rp {total_belanja:,}")
else:
print("Kode barang tidak ditemukan. Silakan coba lagi.")
return keranjang, total_belanja
def cetak_struk(keranjang, total):
print("\n" + "="*30)
print(" STRUK PEMBAYARAN")
print("="*30)
print(f"{'Barang':<15} {'Qty':<5} {'Total':>8}")
print("-" * 30)
for kode, item in keranjang.items():
subtotal = item['qty'] * item['harga']
print(f"{item['nama']:<15} {item['qty']:<5} Rp {subtotal:,:>7}")
print("-" * 30)
print(f"{'TOTAL':<20} Rp {total:,:>8}")
# Proses Pembayaran
while True:
try:
bayar = int(input("Uang Tunai Diterima: Rp "))
if bayar >= total:
kembali = bayar - total
print(f"Kembalian: Rp {kembali:,}")
break
else:
print("Uang tidak mencukupi.")
except ValueError:
print("Input pembayaran tidak valid.")
print("="*30)
print(" Terima Kasih Sudah Berbelanja!")
print("="*30)
# --- Eksekusi Program Utama ---
if __name__ == "__main__":
tampilkan_menu()
item_dibeli, grand_total = proses_transaksi()
if grand_total > 0:
cetak_struk(item_dibeli, grand_total)
else:
print("\nTransaksi dibatalkan karena tidak ada barang yang dibeli.")
Kode di atas menggunakan beberapa konsep penting Python:
database_produk menyimpan data barang dengan kode unik sebagai kunci utama. Ini mensimulasikan tabel data.tampilkan_menu, proses_transaksi, cetak_struk) membuat program lebih terstruktur.while True): Digunakan dalam proses_transaksi untuk terus meminta input barang hingga pengguna mengetik 'SELESAI'.{total:,}).Meskipun contoh ini sangat fungsional untuk demonstrasi, program kasir sungguhan biasanya memerlukan lebih banyak fitur. Untuk membuat contoh program kasir python Anda lebih canggih, pertimbangkan hal berikut:
Dengan memahami fondasi ini, Anda dapat dengan mudah memperluas kode ini menjadi sistem kasir yang kompleks, membuktikan betapa serbagunanya Python dalam berbagai aplikasi bisnis.