Sistem kasir adalah tulang punggung operasional bisnis ritel. Meskipun aplikasi kasir profesional mungkin kompleks, membuat versi sederhana menggunakan bahasa pemrograman Python adalah cara yang sangat baik untuk memahami logika dasar input data, perhitungan harga, dan output struk.
Python dipilih karena sintaksnya yang bersih dan kemudahannya dalam menangani struktur data seperti dictionary (untuk menyimpan daftar produk) dan list (untuk menyimpan transaksi). Proyek ini dapat dijalankan langsung di terminal atau command prompt tanpa memerlukan antarmuka grafis (GUI) yang rumit, menjadikannya sangat ringan dan mudah dipelajari bagi pemula.
Langkah pertama dalam membuat sistem kasir adalah mendefinisikan katalog produk. Dalam Python, dictionary sangat ideal untuk ini, di mana key adalah kode atau nama produk, dan value adalah harga jualnya.
produk = {
"A001": {"nama": "Buku Tulis", "harga": 5000},
"A002": {"nama": "Pulpen Gel", "harga": 3500},
"B010": {"nama": "Pensil 2B", "harga": 1500},
"C050": {"nama": "Penghapus Besar", "harga": 2000}
}
Sistem kasir sederhana harus mampu melakukan beberapa tugas utama:
Kita akan menggunakan loop tak terbatas (while True) untuk terus meminta input barang sampai ada perintah keluar.
def sistem_kasir(daftar_produk):
keranjang = []
total_belanja = 0
print("--- Selamat Datang di Kasir Sederhana ---")
print("Ketik 'SELESAI' untuk mengakhiri transaksi.")
while True:
kode = input("Masukkan Kode Barang: ").upper()
if kode == 'SELESAI':
break
if kode in daftar_produk:
item = daftar_produk[kode]
keranjang.append(item)
total_belanja += item['harga']
print(f"Ditambahkan: {item['nama']} (Rp{item['harga']:,})")
else:
print("Kode barang tidak ditemukan. Silakan coba lagi.")
return keranjang, total_belanja
# Simulasi menjalankan fungsi
# hasil_keranjang, total = sistem_kasir(produk)
Setelah loop berhenti, bagian selanjutnya adalah menampilkan output yang jelas, menyerupai struk belanja. Pemformatan string (f-string) sangat membantu untuk memastikan angka (terutama harga) ditampilkan dengan pemisah ribuan agar mudah dibaca.
def cetak_struk(keranjang, total):
print("\n" + "="*30)
print(" STRUK PEMBAYARAN")
print("="*30)
if not keranjang:
print("Tidak ada barang yang dibeli.")
return
for i, item in enumerate(keranjang):
# Format nama rata kiri, harga rata kanan
print(f"{i+1}. {item['nama']:<15} Rp{item['harga']:,}")
print("-" * 30)
# Terapkan diskon sederhana (misalnya 5% jika total di atas 20000)
diskon = 0
if total > 20000:
diskon = total * 0.05
total_akhir = total - diskon
print(f"Subtotal: Rp{total:,}")
if diskon > 0:
print(f"Diskon (5%): -Rp{int(diskon):,}")
print("--------------------------------")
print(f"TOTAL BAYAR: Rp{int(total_akhir):,}")
print("="*30)
print(" TERIMA KASIH SUDAH BERBELANJA")
# Contoh pemanggilan lengkap
# keranjang, total = sistem_kasir(produk)
# cetak_struk(keranjang, total)
Pengembangan sistem kasir di Python menawarkan beberapa keunggulan signifikan:
Secara keseluruhan, pemrograman kasir sederhana Python ini adalah proyek batu loncatan yang sempurna. Ini mengajarkan bagaimana data direpresentasikan, bagaimana kondisi diterapkan (seperti pengecekan kode barang), dan bagaimana output diformat dengan baik untuk pengalaman pengguna akhir yang profesional, meskipun hanya berjalan di konsol.