Selamat datang. Di buku ini kita membangun satu aplikasi dari awal sampai siap dipakai: aplikasi kasir untuk toko kecil. Pilihan ini bukan kebetulan. Aplikasi kasir terlihat sederhana, tetapi menyentuh hampir semua hal penting dalam aplikasi bisnis: uang, stok, laporan, dan banyak pengguna yang bekerja bersamaan.
Gambaran aplikasi
Bayangkan sebuah toko kelontong dengan dua kasir dan satu pemilik. Setiap hari ada sekitar 150 transaksi. Pemilik ingin tahu tiga hal setiap malam:
Berapa uang yang masuk hari ini?
Berapa labanya, bukan sekadar omzetnya?
Barang apa yang hampir habis?
Aplikasi kita akan menjawab ketiganya. Fitur yang dibangun:
Master barang: nama, barcode, harga jual, satuan, dan stok minimum.
Pembelian stok: mencatat barang masuk beserta harga belinya.
Kasir: keranjang, pembayaran tunai atau QRIS, kembalian, dan struk.
Laporan: omzet, laba kotor, dan barang terlaris per periode.
Pengguna: pemilik dan kasir dengan hak yang berbeda.
Kenapa laba itu sulit
Omzet mudah dihitung: jumlahkan semua penjualan. Laba lebih rumit karena harga beli barang berubah. Minggu lalu Anda membeli gula Rp 15.200 per kilogram, minggu ini Rp 16.100. Saat sekilo gula terjual hari ini, berapa modalnya?
Jawaban yang kita pakai di buku ini: simpan harga pokok di setiap baris penjualan saat transaksi terjadi. Dengan begitu laporan bulan lalu tidak berubah walaupun harga beli hari ini naik. Kita membahasnya rinci di bab Menghitung Laba per Item.
Teknologi yang dipakai
Bagian
Pilihan
Alasan
Framework
Laravel 13
Ekosistem lengkap, mudah dicari bantuannya
Interaksi
Livewire 4
Keranjang interaktif tanpa API terpisah
Tampilan
Tailwind CSS 4
Cepat menyusun layar kasir yang rapi
Database
MySQL atau SQLite
SQLite untuk belajar, MySQL untuk produksi
Cara membaca buku ini
Setiap bab diakhiri dengan kode yang berjalan. Jika Anda tersesat, bandingkan kode Anda dengan contoh di akhir bab. Tekan tombol Tandai selesai setelah contoh berjalan di komputer Anda, maka bab berikutnya akan terbuka.
Siap? Kita mulai dengan menyiapkan project.
Konten ini hanya bisa dibaca di Lembar.
Masuk untuk menyimpan progres baca
Tanpa akun, Anda tetap bisa membaca bab gratis, tetapi progres tidak tersimpan.