Sistem Manajemen Toko Kelontong

Cerita:

Pak Budi adalah pemilik toko kelontong di desa. Selama ini, ia mencatat stok barang, transaksi penjualan, dan pemasukan secara manual di buku catatan. Namun, ia sering lupa mengupdate stok atau mencatat transaksi, sehingga sulit mengetahui sisa stok barang atau keuntungannya.

Pak Budi ingin memiliki aplikasi sederhana untuk mencatat data barang, stok, dan transaksi penjualan, agar pekerjaannya lebih efisien. Ia juga ingin aplikasi ini mudah digunakan oleh dirinya maupun karyawannya.


User Story:

  1. Sebagai Pak Budi, saya ingin dapat login ke aplikasi sehingga hanya saya dan karyawan yang bisa menggunakan aplikasi.

  2. Sebagai Pak Budi, saya ingin dapat menambahkan data barang seperti nama barang, harga, dan jumlah stok.

  3. Sebagai Pak Budi, saya ingin dapat mencatat transaksi penjualan, sehingga saya tahu barang apa saja yang terjual dan sisa stoknya.

  4. Sebagai Pak Budi, saya ingin dapat melihat laporan penjualan harian, termasuk total pemasukan.


Skema Database (Maksimal 4 Tabel):

  1. Tabel users

    • id_user (Primary Key, INT)

    • username (VARCHAR, UNIQUE)

    • password (VARCHAR)

    • role (ENUM: "Admin", "Karyawan")

  2. Tabel barang

    • id_barang (Primary Key, INT)

    • nama_barang (VARCHAR)

    • harga (DECIMAL)

    • stok (INT)

  3. Tabel transaksi

    • id_transaksi (Primary Key, INT)

    • id_barang (Foreign Key, INT, mengacu pada barang.id_barang)

    • jumlah (INT)

    • total_harga (DECIMAL)

    • tanggal_transaksi (DATE)

  4. Tabel laporan

    • id_laporan (Primary Key, INT)

    • tanggal (DATE)

    • total_pemasukan (DECIMAL)


Tugas:

  1. Buatlah aplikasi berbasis web menggunakan PHP, HTML, CSS, dan MySQL yang dapat:

    • Login: Hanya user yang memiliki akun dapat mengakses sistem.

    • Menambahkan, mengedit, dan menghapus data barang.

    • Mencatat transaksi penjualan barang.

    • Menampilkan laporan harian total pemasukan.

  2. Bonus:

    • Tambahkan fitur pencarian barang berdasarkan nama.

    • Enkripsi password pada tabel users.

Last updated