🛒 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? 💪
