Cara Membuat Sistem Kasir Sederhana dengan Laravel 13 dan MySQL
Diterbitkan 15 September 2026
Membangun aplikasi kasir merupakan latihan yang baik untuk mempelajari alur aplikasi Laravel secara utuh. Dalam satu proyek, kita akan memakai autentikasi, pengelolaan data, transaksi database, relasi antartabel, laporan, dan pengujian.
Seri ini membahas pembuatan sistem kasir berbasis Laravel 13, PHP 8.3 atau lebih baru, MySQL, dan Bootstrap. Slug halaman tidak memakai nomor versi Laravel agar alamatnya tetap dapat digunakan ketika isi tutorial diperbarui pada masa mendatang.
Sistem yang Akan Dibuat
Setelah menyelesaikan seluruh bagian, aplikasi akan memiliki fitur berikut:
- Login administrator dan kasir
- Dashboard ringkasan transaksi
- Pengelolaan kategori dan satuan
- Pengelolaan produk beserta harga dan stok
- Data pelanggan dan pemasok
- Transaksi penjualan dengan beberapa barang
- Perhitungan total, pembayaran, dan uang kembali
- Pengurangan stok otomatis saat penjualan
- Penambahan stok melalui transaksi pembelian
- Riwayat pergerakan stok
- Laporan penjualan berdasarkan periode
- Informasi produk terlaris dan stok menipis
- Nota yang dapat dicetak
- Pengujian fitur penting
- Konfigurasi untuk hosting
Untuk Siapa Tutorial Ini?
Tutorial ini ditujukan untuk pembaca yang sudah memahami dasar PHP dan penggunaan terminal. Pengetahuan Laravel sebelumnya akan membantu, tetapi setiap bagian disusun berurutan mulai dari pembuatan proyek.
Ikuti bagian sesuai urutan. Bagian berikutnya menggunakan tabel, model, dan kode yang dibuat pada bagian sebelumnya.
Perangkat yang Dibutuhkan
- PHP 8.3 atau lebih baru
- Composer
- MySQL atau MariaDB
- Node.js dan npm
- Editor kode
- Browser
Node.js dan npm diperlukan karena tampilan autentikasi dan aset aplikasi akan dibangun melalui proses frontend Laravel.
Struktur Database
Aplikasi menggunakan tabel berikut:
| Tabel | Kegunaan |
|---|---|
| users | Akun administrator dan kasir |
| categories | Kategori produk |
| units | Satuan produk |
| products | Produk, harga, dan stok saat ini |
| customers | Data pelanggan |
| suppliers | Data pemasok |
| purchases | Transaksi pembelian |
| purchase_details | Barang dalam transaksi pembelian |
| sales | Transaksi penjualan |
| sale_details | Barang dalam transaksi penjualan |
| stock_movements | Riwayat stok masuk dan keluar |
| settings | Identitas toko dan pengaturan nota |
Pemisahan header dan detail transaksi memungkinkan satu transaksi memiliki beberapa produk. Tabel stock_movements menyimpan alasan setiap perubahan stok sehingga selisih stok lebih mudah diperiksa.
Alur Penggunaan Aplikasi
- Administrator menambahkan kategori, satuan, dan produk.
- Stok awal atau pembelian barang dicatat sebagai stok masuk.
- Kasir memilih produk dan memasukkannya ke keranjang.
- Server membaca kembali harga dan stok dari database.
- Penjualan, detail barang, serta pergerakan stok disimpan dalam satu transaksi database.
- Sistem mengurangi stok dan menghitung uang kembali.
- Kasir membuka atau mencetak nota.
- Administrator melihat laporan penjualan dan stok menipis.
Susunan Seri Tutorial
Seri ini terdiri dari delapan bagian:
- Persiapan Proyek dan Login
- Membuat Struktur Database
- Model, Relasi, dan Seeder
- CRUD Master Data
- Transaksi Penjualan
- Pembelian dan Manajemen Stok
- Dashboard, Laporan, dan Nota
- Pengujian dan Upload Hosting
Gunakan daftar isi seri yang tampil pada halaman ini untuk membuka setiap bagian. Selesaikan satu bagian sebelum melanjutkan agar struktur aplikasi tetap sama dengan contoh berikutnya.
Prinsip Keamanan yang Digunakan
Data transaksi tidak cukup dihitung di browser. Harga, stok, total, dan kembalian akan dihitung ulang oleh server. Perubahan stok menggunakan transaksi database dan penguncian baris untuk mencegah stok ganda ketika dua transaksi berjalan hampir bersamaan.
Form menggunakan validasi Laravel dan perlindungan CSRF. Halaman administrasi hanya dapat dibuka setelah login. Pada hosting, mode debug harus dimatikan dan kredensial produksi tidak boleh dimasukkan ke source code.
Source Code Siap Digunakan
Seluruh langkah dapat dipelajari melalui seri tutorial ini. Pengunjung yang ingin langsung menggunakan aplikasinya dapat memilih paket source code lengkap yang berisi proyek Laravel, database, data contoh, akun demo, pengujian, dan panduan instalasi.




