🛒 Simulasi Kasir Sederhana dengan OOP di C#
Dari Class, Objek, Sampai Transaksi — Semuanya Bisa Kamu Kelola Ala Dev Kopi Senja
Setelah kita membahas class, konstruktor, properti, dan method di artikel sebelumnya, sekarang waktunya menggabungkan semuanya dalam satu program mini: simulasi kasir sederhana. Tujuannya? Supaya kamu bisa melihat gimana konsep OOP bekerja nyata — dari input produk, proses transaksi, hingga cetak struk!
📦 Apa Saja yang Kita Buat?
- Class Produk: menyimpan data nama dan harga barang
- Class Transaksi: mencatat barang yang dibeli dan menghitung total
- Implementasi di fungsi
Main()
: simulasi proses belanja
💻 Class Produk
class Produk { public string Nama { get; set; } public double Harga { get; set; } public Produk(string nama, double harga) { Nama = nama; Harga = harga; } }
🧾 Class Transaksi
class Transaksi { private List<Produk> daftarBelanja = new List<Produk>(); public void TambahProduk(Produk p) { daftarBelanja.Add(p); } public void CetakStruk() { Console.WriteLine("--- Rincian Belanja ---"); double total = 0; foreach (var item in daftarBelanja) { Console.WriteLine($"{item.Nama} - Rp {item.Harga}"); total += item.Harga; } Console.WriteLine($"Total: Rp {total}"); } }
🎯 Simulasi di Program.cs
Kita hubungkan semuanya di fungsi Main()
:
Produk p1 = new Produk("Teh Botol", 5000); Produk p2 = new Produk("Roti Tawar", 9000); Produk p3 = new Produk("Indomie Goreng", 3500); Transaksi trx = new Transaksi(); trx.TambahProduk(p1); trx.TambahProduk(p2); trx.TambahProduk(p3); trx.CetakStruk();
🖨️ Output Program
--- Rincian Belanja --- Teh Botol - Rp 5000 Roti Tawar - Rp 9000 Indomie Goreng - Rp 3500 Total: Rp 17500
🧠 Apa yang Bisa Kamu Kembangkan dari Sini?
- Input produk dan jumlahnya dari pengguna (bukan dari kode)
- Menambahkan perhitungan diskon atau pajak
- Menyimpan data transaksi ke file atau database SQLite
- Integrasi ke UI (Windows Forms/WPF)
📌 Kesimpulan
OOP bukan sekadar teori abstrak — dia sangat praktis dan bisa menjadi pondasi aplikasi bisnis yang nyata. Kamu sekarang sudah mampu:
- Membuat objek dari class
- Menjalankan fungsi-fungsi (method) yang relevan
- Menstrukturkan logika program yang bersih dan fleksibel
Di artikel selanjutnya, kita bakal mulai bikin Encapsulation & Access Modifier di C#. Siap naik level? 💪