Seri Tutorial

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

  1. Administrator menambahkan kategori, satuan, dan produk.
  2. Stok awal atau pembelian barang dicatat sebagai stok masuk.
  3. Kasir memilih produk dan memasukkannya ke keranjang.
  4. Server membaca kembali harga dan stok dari database.
  5. Penjualan, detail barang, serta pergerakan stok disimpan dalam satu transaksi database.
  6. Sistem mengurangi stok dan menghitung uang kembali.
  7. Kasir membuka atau mencetak nota.
  8. Administrator melihat laporan penjualan dan stok menipis.

Susunan Seri Tutorial

Seri ini terdiri dari delapan bagian:

  1. Persiapan Proyek dan Login
  2. Membuat Struktur Database
  3. Model, Relasi, dan Seeder
  4. CRUD Master Data
  5. Transaksi Penjualan
  6. Pembelian dan Manajemen Stok
  7. Dashboard, Laporan, dan Nota
  8. 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.