Membuat Aplikasi Kasir Sederhana dengan WinForms C#.NET

Membuat Aplikasi Kasir Sederhana dengan WinForms C#.NET
Photo by Windows / Unsplash

Dalam dunia bisnis, terutama di toko atau minimarket, sistem kasir sangat penting untuk mengelola transaksi secara efisien. Dengan C# dan Windows Forms (WinForms), kita bisa membangun aplikasi kasir sederhana yang dapat membantu dalam mencatat pembelian, menghitung total harga, dan mencetak struk.

Artikel ini akan membahas langkah-langkah membuat aplikasi kasir sederhana menggunakan C# .NET dan WinForms, lengkap dengan fitur utama seperti input barang, perhitungan total harga, dan pembayaran.

1. Fitur Utama Aplikasi Kasir

Sebelum kita mulai coding, berikut adalah fitur-fitur yang akan kita buat dalam aplikasi kasir ini:

Input Barang → Memasukkan daftar barang yang akan dibeli.
Perhitungan Total Harga → Menghitung subtotal, diskon, dan total pembayaran.
Pembayaran & Kembalian → Input jumlah uang pelanggan dan menampilkan kembalian.
Struk Transaksi → Menampilkan ringkasan pembelian.

2. Membuat Proyek WinForms di Visual Studio

  1. Buka Visual Studio → Pilih Create a new project.
  2. Pilih Windows Forms App (.NET Framework) → Klik Next.
  3. Beri nama proyek, misalnya KasirApp, lalu klik Create.

Setelah proyek dibuat, kita bisa mulai mendesain tampilan aplikasi.

3. Mendesain Form Kasir

Gunakan Toolbox di Visual Studio untuk menambahkan komponen berikut ke dalam form:

Komponen Fungsi
TextBox (txtKodeBarang) Input kode barang
Button (btnTambahBarang) Menambahkan barang ke daftar belanja
ListView (lvBelanja) Menampilkan daftar barang yang dibeli
Label (lblTotalHarga) Menampilkan total harga belanjaan
TextBox (txtUangBayar) Input jumlah uang dari pelanggan
Button (btnHitungKembalian) Menghitung kembalian
Label (lblKembalian) Menampilkan jumlah kembalian
Button (btnCetakStruk) Menampilkan struk transaksi

Pastikan setiap komponen memiliki Name yang sesuai untuk mempermudah pengelolaan dalam kode.

4. Koding Logika Aplikasi

📌 Menyimpan Data Barang dalam Dictionary

Kita bisa menyimpan daftar barang dalam Dictionary<string, (string, int)>, di mana key adalah kode barang, dan value adalah nama barang dan harga.

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace KasirApp {
    public partial class Form1 : Form {
        private Dictionary<string, (string, int)> daftarBarang = new Dictionary<string, (string, int)>() {
            { "001", ("Pensil", 2000) },
            { "002", ("Buku", 10000) },
            { "003", ("Penghapus", 3000) }
        };

        public Form1() {
            InitializeComponent();
        }

        private void btnTambahBarang_Click(object sender, EventArgs e) {
            string kode = txtKodeBarang.Text;
            if (daftarBarang.ContainsKey(kode)) {
                var barang = daftarBarang[kode];
                ListViewItem item = new ListViewItem(new string[] { kode, barang.Item1, barang.Item2.ToString() });
                lvBelanja.Items.Add(item);
                HitungTotal();
            } else {
                MessageBox.Show("Kode barang tidak ditemukan.");
            }
        }

        private void HitungTotal() {
            int total = 0;
            foreach (ListViewItem item in lvBelanja.Items) {
                total += int.Parse(item.SubItems[2].Text);
            }
            lblTotalHarga.Text = "Total: Rp " + total.ToString();
        }

        private void btnHitungKembalian_Click(object sender, EventArgs e) {
            int total = 0;
            foreach (ListViewItem item in lvBelanja.Items) {
                total += int.Parse(item.SubItems[2].Text);
            }
            int uangBayar = int.Parse(txtUangBayar.Text);
            int kembalian = uangBayar - total;
            lblKembalian.Text = "Kembalian: Rp " + kembalian.ToString();
        }

        private void btnCetakStruk_Click(object sender, EventArgs e) {
            string struk = "=== STRUK PEMBELIAN ===\n";
            foreach (ListViewItem item in lvBelanja.Items) {
                struk += item.SubItems[1].Text + " - Rp " + item.SubItems[2].Text + "\n";
            }
            struk += lblTotalHarga.Text + "\n";
            struk += lblKembalian.Text;
            MessageBox.Show(struk, "Struk Pembelian");
        }
    }
}

5. Penjelasan Kode

Dictionary daftarBarang → Menyimpan daftar kode barang beserta nama dan harga barang.
btnTambahBarang_Click → Menambahkan barang ke dalam ListView berdasarkan kode barang.
HitungTotal() → Menghitung total harga belanjaan.
btnHitungKembalian_Click → Menghitung jumlah kembalian berdasarkan uang yang dibayarkan pelanggan.
btnCetakStruk_Click → Menampilkan struk transaksi dalam bentuk MessageBox.

6. Menjalankan Aplikasi

  1. Jalankan aplikasi dari Visual Studio.
  2. Masukkan kode barang → Misalnya 001 untuk Pensil.
  3. Klik tombol "Tambah Barang" → Barang akan masuk ke daftar belanja.
  4. Masukkan jumlah uang bayar, lalu klik "Hitung Kembalian".
  5. Klik "Cetak Struk" untuk melihat struk transaksi.

7. Kapan Harus Menggunakan Aplikasi Ini?

Cocok untuk toko kecil atau usaha rumahan yang butuh sistem kasir sederhana.
Bisa dijadikan proyek belajar C# dan WinForms untuk memahami konsep dasar UI dan logika transaksi.
Bisa dikembangkan lebih lanjut dengan fitur tambahan seperti database dan laporan penjualan.

Tidak cocok untuk bisnis besar yang membutuhkan fitur kompleks seperti stok barang, multi-user, atau sistem pembayaran online.

8. Kesimpulan

  • Aplikasi kasir sederhana dapat dibuat dengan C# dan WinForms menggunakan ToolStrip, ListView, dan Event Handling.
  • Data barang disimpan dalam Dictionary agar mudah diakses.
  • Fitur utama mencakup input barang, perhitungan total harga, kembalian, dan pencetakan struk.
  • Aplikasi ini bisa dikembangkan lebih lanjut dengan fitur database atau integrasi barcode scanner.

Dengan memahami konsep di atas, kamu bisa membuat sistem kasir sendiri dan mengembangkannya sesuai kebutuhan bisnis!

Read more