Source Code Sistem Peminjaman Barang
Gabung Saluran WhatsApp Papicode
Update source code terbaru langsung ke HP kamu, nggak pakai spam.
Deskripsi
Sistem Peminjaman Barang berbasis CodeIgniter 4 yang bersih, ringan, dan langsung siap pakai: pencatatan data barang inventaris, data peminjam, transaksi peminjaman dengan validasi stok otomatis, hingga pengembalian barang dan riwayat lengkap semua dalam satu dashboard admin yang rapi dan mudah dipahami. Sistem ini dirancang untuk mahasiswa, organisasi kampus, laboratorium, kelas, maupun kantor kecil yang ingin meninggalkan pencatatan peminjaman barang manual di kertas atau spreadsheet, beralih ke sistem digital sederhana namun akurat, tanpa harus belajar sistem yang rumit.
Sistem
Setiap barang didaftarkan dengan kode unik, jumlah total, dan kondisi (Baik/Rusak Ringan/Rusak). Saat admin mencatat peminjaman baru, sistem otomatis menghitung sisa stok yang tersedia (jumlah total dikurangi jumlah yang sedang aktif dipinjam) dan menolak transaksi jika jumlah yang diminta melebihi stok tersedia, lengkap dengan pesan error yang jelas. Status barang otomatis berubah menjadi "Dipinjam" ketika seluruh stoknya sedang keluar, dan kembali "Tersedia" begitu ada unit yang dikembalikan. Setiap transaksi peminjaman mendapat kode unik otomatis (format PJM-tanggal-urutan), tercatat lengkap dengan peminjam, tanggal pinjam, rencana tanggal kembali, dan catatan opsional. Proses pengembalian dilakukan lewat halaman khusus dengan satu klik "Proses Pengembalian" status transaksi berubah menjadi "Dikembalikan" dan stok barang otomatis bertambah kembali. Seluruh riwayat transaksi (aktif maupun sudah selesai) dapat ditelusuri lewat halaman Riwayat dengan pencarian dan filter status.
Fitur
- Login admin sederhana dengan session authentication
- CRUD Data Barang dengan kode unik, kondisi, dan status otomatis
- CRUD Data Peminjam (nama, identitas/NIM/NIP, kelas, no. HP)
- Pencatatan transaksi Peminjaman dengan validasi stok tersedia otomatis
- Penolakan otomatis jika jumlah pinjam melebihi stok tersedia
- Halaman Pengembalian dengan update stok & status real-time
- Riwayat peminjaman lengkap dengan pencarian dan filter status
- Dashboard ringkas: total barang, total peminjam, barang dipinjam, peminjaman aktif
- Search dan pagination di setiap halaman data
- Validasi input server-side dengan pesan error yang jelas
- Proteksi CSRF, password hashing, dan proteksi halaman admin
- Konfirmasi sebelum hapus data dan flash message di setiap aksi
- Tampilan modern, clean, dan responsif (desktop, tablet, mobile)
Panduan Instalasi
-
Clone/copy project ke folder yang diinginkan.
-
Install dependency dengan Composer:
composer install -
Buat database MySQL baru, misalnya
peminjaman_barang:CREATE DATABASE peminjaman_barang CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -
Copy file environment:
cp env .env -
Atur koneksi database pada file
.env:CI_ENVIRONMENT = production app.baseURL = 'http://localhost:8080/' database.default.hostname = localhost database.default.database = peminjaman_barang database.default.username = root database.default.password = database.default.DBDriver = MySQLi database.default.DBPrefix = database.default.port = 3306Sesuaikan
username,password, danapp.baseURLdengan konfigurasi server Anda. -
Jalankan migration untuk membuat semua tabel (
users,items,borrowers,borrowings):php spark migrate -
Jalankan seeder untuk mengisi akun admin dan data contoh:
php spark db:seed DatabaseSeeder -
Jalankan server development bawaan CodeIgniter:
php spark serveAplikasi dapat diakses di
http://localhost:8080. -
Login menggunakan akun admin demo:
- Email:
admin@example.com - Password:
password
- Email:
Struktur Data Contoh (Seeder)
Setelah menjalankan seeder, aplikasi sudah berisi:
- 1 akun admin
- 6 data barang contoh (Laptop, Proyektor, Kamera, Tripod, Mikrofon, Speaker)
- 4 data peminjam contoh
- 4 transaksi peminjaman contoh (3 aktif, 1 sudah dikembalikan)
