Dokumentasi Aplikasi Koperasi
Tutorial lengkap aplikasi Koperasi (Laravel 12 + Filament 3.3) β dari instalasi sampai operasional harian. Dokumen ini ikut dalam paket source code yang Anda beli.
π Pengantar
Aplikasi ini adalah software manajemen koperasi modern dengan dukungan dual-mode (Konvensional & Syariah) dalam satu platform. Cocok untuk:
- Koperasi Simpan Pinjam (KSP) β fokus simpanan & pinjaman
- Koperasi Serba Usaha (KSU) β multi unit (SP + Toko + Jasa)
- Koperasi Syariah (KSPPS) β 9 akad syariah lengkap
- Koperasi Pegawai (KPRI) β auto-debit gaji integrasi payroll
- Koperasi Karyawan (Kopkar) β internal perusahaan
- Koperasi Pondok Pesantren (Kopontren) β multi unit syariah
Aplikasi menjual source code β Anda dapat repository lengkap, deploy di server sendiri, dan modifikasi sesuka hati. Tidak ada SaaS subscription. Untuk pembelian: hubungi WhatsApp 0812-9605-2010.
π Kredensial Default
Setelah php artisan migrate --seed dijalankan, berikut akun default untuk login pertama:
Super Admin
| URL | /admin |
|---|---|
admin@koperasi.local | |
| Password | admin123 |
| Role | super-admin |
Portal Anggota Demo
| URL | /portal/login |
|---|---|
anggota1@demo.local | |
| Password | anggota123 |
| Catatan | Tersedia setelah seeder koperasi:seed-demo |
Role yang tersedia (Spatie Permission)
| Role | Akses |
|---|---|
super-admin | Full akses semua resource, semua tenant |
admin-koperasi | Full akses dalam 1 tenant (koperasi-nya) |
kasir | Transaksi simpanan & pinjaman, kas |
accounting | Jurnal, COA, laporan keuangan |
pengawas | Read-only semua data + laporan |
anggota | Hanya akses Portal Anggota (/portal) |
Role di-seed otomatis via RoleSeeder.php. Untuk assign role ke user lewat Filament: menu Users β Edit User β tab Roles.
βοΈ Instalasi
Prasyarat
- PHP 8.3 atau lebih baru (cek:
php --version) - Composer 2.7+ (
composer --version) - Node.js 18+ dan npm (untuk asset compilation)
- MySQL 8 / MariaDB 10.5+ atau PostgreSQL 14+
- Web server: Apache, Nginx, atau Laragon (Windows)
Langkah Instalasi
- Extract source code ke folder web (mis.
htdocs/koperasiatau/var/www/koperasi). - Buka terminal di folder tersebut, jalankan:
# 1. Install PHP dependencies
composer install --no-dev --optimize-autoloader
# 2. Install Node dependencies dan build asset
npm install
npm run build
# 3. Salin file environment
cp .env.example .env
# 4. Generate application key
php artisan key:generate
# 5. Edit .env β isi konfigurasi database
# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_DATABASE=koperasi
# DB_USERNAME=root
# DB_PASSWORD=
# 6. Buat database (lewat phpMyAdmin atau CLI)
mysql -u root -e "CREATE DATABASE koperasi CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
# 7. Run migration + seeder default
php artisan migrate --seed
# 8. Symlink storage (untuk upload file)
php artisan storage:link
# 9. Set permission folder storage & cache (Linux)
chmod -R 775 storage bootstrap/cache
# 10. Jalankan dev server
php artisan serve
Aplikasi sekarang accessible di http://localhost:8000. Login admin dengan kredensial di atas.
Deploy ke Production (Nginx)
server {
listen 80;
server_name koperasi.example.com;
root /var/www/koperasi/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
}
Setelah deploy, jalankan optimasi:
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache
π Aktivasi License
Aplikasi menggunakan domain-locked license. Tanpa aktivasi, semua route (selain /__pair) akan di-redirect ke wizard aktivasi. Khusus localhost dan domain *.test, license check di-bypass otomatis (dev mode).
- Setelah pembelian via WhatsApp 0812-9605-2010, Anda akan mendapat License Key dan Activation Code.
- Buka
https://yourdomain.com/__pairdi browser. - Masukkan License Key dan Activation Code β klik Aktifkan.
- Sistem akan validate ke server marketplace (
whitelabel.co.id) dan generatestorage/app/.license.lock. - Anda di-redirect ke
/adminsetelah aktivasi sukses.
Bypass Sementara untuk Development
Set di .env:
LICENSE_DEV_BYPASS=true
APP_ENV=local
Bypass hanya aktif untuk host localhost, 127.0.0.1, *.test, *.localhost. Banner peringatan akan muncul di setiap halaman.
Konfigurasi Heartbeat
Aplikasi melakukan heartbeat ke marketplace setiap 24 jam untuk verifikasi license aktif:
# config/license.php
'heartbeat_interval' => 86400, // 24 jam
'heartbeat_grace' => 604800, // grace 7 hari saat marketplace unreachable
π² Seed Demo Data 100.000 Records
Untuk demo dan stress-testing, tersedia command artisan yang generate ~100.000 record dummy realistic dalam beberapa menit:
# Generate 100.000 records (default)
php artisan koperasi:seed-demo
# Custom size
php artisan koperasi:seed-demo --members=10000 --tx-per-member=15
# Reset semua data demo
php artisan koperasi:seed-demo --fresh
Distribusi Default
| Tabel | Jumlah | Keterangan |
|---|---|---|
anggota | 5.000 | Anggota aktif dengan NIK & alamat realistic |
simpanan | 15.000 | 3 simpanan per anggota (Pokok, Wajib, Sukarela) |
simpanan_transaksi | 50.000 | ~10 transaksi setoran/penarikan per simpanan |
pinjaman | 8.000 | ~1.6 pinjaman per anggota (mix konv + syariah) |
pinjaman_jadwal | 12.000 | Jadwal angsuran 12 bulan per pinjaman |
pinjaman_pembayaran | 5.000 | Cicilan terbayar (random 0β12 cicilan) |
jurnal | 3.000 | Jurnal transaksi otomatis |
kas_transaksi | 2.000 | Mutasi kas masuk/keluar |
| Total | ||
| ~100.000 records | Realistic untuk demo & load test | |
Perkiraan Waktu Eksekusi
- Local development (Laragon, MySQL): 3β5 menit
- VPS 1 vCPU 2GB RAM: 5β8 menit
- VPS 4 vCPU 8GB RAM: 1β2 menit
Seeder pakai batch insert (chunk 1000 records) supaya memori-efisien. Bisa di-interrupt kapan saja dengan Ctrl+C tanpa korup data.
Login Anggota Demo
Setelah seeder selesai, semua anggota demo punya password seragam anggota123. Login portal di /portal/login:
Email: anggota1@demo.local β anggota#1
Email: anggota2@demo.local β anggota#2
...
Email: anggota5000@demo.local β anggota#5000
Password (semua): anggota123
π Tutorial Pemakaian (10 Langkah)
Workflow lengkap dari pertama login sampai operasional harian. Ikuti urutan ini saat pertama setup.
1 Aktivasi License & Login Pertama
- Buka browser ke
https://yourdomain.com/__pair - Masukkan License Key & Activation Code (kirim WA setelah pembelian)
- Sistem validasi β
.license.lockdibuat β redirect ke/admin - Login dengan
admin@koperasi.local/admin123 - Klik avatar kanan-atas β Edit Profile β ganti password baru yang kuat
2 Setup Profile Tenant (Koperasi)
Menu sidebar: Master β Tenant β klik tenant default β Edit.
- Tab Profil: nama koperasi, NIK badan hukum, NPWP, alamat, logo, warna brand
- Tab Mode Operasi: pilih Konvensional / Syariah / Dual
- Tab Subscription SaaS: (jika multi-tenant) status billing
- Tab Branding: kop surat, footer faktur, alamat cetak
- Klik Simpan β perubahan langsung effect ke seluruh halaman
3 Konfigurasi Chart of Accounts (CoA)
Menu sidebar: Akuntansi β Chart of Accounts.
- Default sudah ada akun PSAK 27 standar (di-seed via
ChartOfAccountsSeeder) - Review akun-akun: 1xxxx (Aset), 2xxxx (Kewajiban), 3xxxx (Ekuitas), 4xxxx (Pendapatan), 5xxxx (Beban)
- Tambah akun custom jika perlu (mis. Simpanan Lebaran, Dana Sosial)
- Set parent account untuk hierarchy yang rapi
- Filter by tipe akan auto-color-code badge di tabel
4 Buat Produk Simpanan
Menu: Master β Produk Simpanan β Create.
- Pokok: setoran sekali saat masuk anggota, tidak dapat ditarik
- Wajib: rutin bulanan, tidak dapat ditarik selama keanggotaan
- Sukarela: tabungan bebas, bisa ditarik kapan saja
- Berjangka: deposito koperasi, tenor & bunga/bagi hasil
Untuk Syariah, pilih akad pada produk Berjangka (Mudharabah / Wadiah). Set parameter: minimum setoran, biaya admin, bunga/nisbah.
5 Buat Produk Pinjaman / Pembiayaan
Menu: Master β Produk Pinjaman β Create (form 5 tab).
- Tab Info Dasar: nama produk, kode, deskripsi
- Tab Plafon: minimum-maksimum, tenor min-max bulan
- Tab Akad: pilih dari 10 opsi (Konvensional, Murabahah, Mudharabah, Musyarakah, Ijarah, Ijarah MB, Qardh, Rahn, Salam, Istishna)
- Tab Perhitungan: flat / efektif / anuitas, suku bunga atau nisbah
- Tab Biaya & Denda: admin, asuransi, denda telat (% per hari)
6 Daftarkan Anggota Baru
Menu: Anggota β Anggota β New Anggota.
- Isi data: NIK, Nama, Tempat/Tgl Lahir, Alamat, Pekerjaan, No HP, Email
- Upload foto KTP & foto profil (opsional)
- Isi data ahli waris (untuk klaim asuransi/SHU)
- Status: Aktif (default)
- Klik Save β anggota auto-buat User account untuk Portal Anggota
Untuk migrasi banyak anggota dari Excel, gunakan command php artisan koperasi:import-members file.csv (lihat docs add-on).
7 Catat Transaksi Setoran Simpanan
Menu: Transaksi β Simpanan β Setor.
- Pilih anggota (search by NIK atau nama)
- Pilih jenis simpanan (Pokok/Wajib/Sukarela/Berjangka)
- Input nominal setoran
- Pilih kas penerima (untuk multi-kas/bank)
- Catatan opsional
- Klik Simpan β sistem auto:
- Update saldo simpanan anggota
- Auto-jurnal Dr. Kas / Cr. Simpanan
- Update saldo kas
- Generate slip setoran (PDF β bisa di-print)
8 Proses Pengajuan Pinjaman
Menu: Pinjaman β Pinjaman β New.
- Pilih anggota & produk pinjaman
- Input plafon pengajuan, tenor (bulan)
- Sistem auto-generate jadwal angsuran (table preview)
- Upload dokumen jaminan (jika ada)
- Status awal: Pengajuan
- Approval flow: Pengajuan β Review β Approved/Rejected β Cair
- Saat status = Cair: auto-jurnal Dr. Piutang Pinjaman / Cr. Kas + pembayaran ke anggota
9 Tutup Buku Bulanan & Laporan Keuangan
Menu: Akuntansi β Laporan Keuangan (Page custom Filament).
- Pilih periode (mulai - akhir tanggal)
- Klik tab Neraca β posisi keuangan akhir periode
- Tab Laba-Rugi (PHU) β surplus/defisit operasional
- Tab Arus Kas β flow operasional, investasi, pendanaan
- Tab Buku Besar β detail transaksi per akun
- Klik Export PDF di tiap tab
10 Distribusi SHU & RAT Akhir Tahun
Menu: Akhir Tahun β SHU Perhitungan β New.
- Pilih periode RAT (mis. Jan-Des 2026)
- Sistem hitung total SHU otomatis dari Laba-Rugi
- Set persentase pembagian (sesuai AD/ART): cadangan, jasa modal, jasa usaha, dll
- Klik Hitung Distribusi β preview SHU per anggota
- Confirm & finalize β entry tabel
shu_distribusi - Export slip SHU per anggota (PDF batch)
- Bagikan slip ke anggota saat RAT
Menu RAT β Periode RAT juga menyimpan dokumen RAT (berita acara, daftar hadir, foto dokumentasi).
β‘ Daftar Fitur Confirmed di Source Code
Daftar di bawah ini semuanya sudah dibangun di repository β diverify dengan grep manual ke file resource/model/controller:
Filament Resources (19 modul)
| Resource | Path | Fitur |
|---|---|---|
| Anggota | app/Filament/Resources/AnggotaResource.php | CRUD anggota, ahli waris, status log |
| Tenant | TenantResource.php | Multi-tenant koperasi, 4 tab (Profile, Mode, Subscription, Branding) |
| User | UserResource.php | User admin/staff dengan Spatie Role |
| ProdukSimpanan | ProdukSimpananResource.php | Definisi produk simpanan (Pokok/Wajib/Sukarela/Berjangka) |
| ProdukPinjaman | ProdukPinjamanResource.php | 5-tab form, 10 akad selector |
| Simpanan | SimpananResource.php | Akun simpanan per anggota + transaksi |
| Pinjaman | PinjamanResource.php | Pengajuan, jadwal, pembayaran, jaminan |
| Coa | CoaResource.php | Chart of Accounts hierarchical |
| Jurnal | JurnalResource.php | Jurnal umum dengan multi-line detail |
| Kas | KasResource.php | Multi-kas + bank, conditional UI |
| ShuPerhitungan | ShuPerhitunganResource.php | Perhitungan & distribusi SHU |
| Rat | RatResource.php | Periode Rapat Anggota Tahunan |
| Tagihan | TagihanResource.php | Master tagihan rutin |
| TokoBarang | TokoBarangResource.php | Inventory toko Koperasi Serba Usaha |
| TokoPenjualan | TokoPenjualanResource.php | POS / kasir + detail transaksi |
| Karyawan | KaryawanResource.php | Data karyawan koperasi |
| Asset | AssetResource.php | Manajemen aset tetap |
| UnitJasaOrder | UnitJasaOrderResource.php | Order unit jasa anggota |
| UnitProdusenSetoran | UnitProdusenSetoranResource.php | Setoran unit produsen |
Custom Pages (2)
- LaporanKeuangan β Neraca, Laba-Rugi, Arus Kas dalam 1 page tab
- Pengaturan β Settings global koperasi
Dashboard Widgets (6)
- HeroBanner β Banner welcome dashboard
- StatsKoperasi β KPI cards (total anggota, simpanan, pinjaman aktif, kas)
- KolektabilitasChart β Chart kualitas pinjaman (Lancar/DPK/Macet)
- TrenSimpananChart β Tren simpanan 12 bulan
- AktivitasTerbaru β Feed transaksi real-time
- TopAnggotaTable β Top peminjam / penabung
Routes Public (luar Filament)
GET /β Landing page (LandingController)GET /portal/loginβ Portal Anggota loginGET /portalβ Portal dashboard anggotaGET /__pairβ License activation wizardGET /sitemap.xmlβ Auto-generated sitemap (75+ URL)GET /robots.txtβ Robots- 7 pSEO routes β kota, jenis, akad, panduan, kalkulator, alternatif, compare
Models (32)
Anggota, AhliWaris, AnggotaStatusLog, Asset, Cabang, Coa, Jurnal, JurnalDetail, Karyawan, Kas, KasTransaksi, Pinjaman, PinjamanApproval, PinjamanJadwal, PinjamanJaminan, PinjamanPembayaran, ProdukPinjaman, ProdukSimpanan, Rat, Setting, ShuDistribusi, ShuPerhitungan, Simpanan, SimpananTransaksi, Tagihan, TagihanMaster, Tenant, TokoBarang, TokoPenjualan, TokoPenjualanDetail, UnitJasaOrder, UnitProdusenSetoran, User.
β οΈ Belum Termasuk (Tersedia sebagai Add-on)
| Fitur | Catatan |
|---|---|
| Notifikasi WhatsApp | Belum ada package/service. Tersedia integrasi Fonnte/Wablas sebagai add-on (chat WA tim). |
| QR Code kartu anggota | Belum ada generator QR. Bisa pakai package simplesoftwareio/simple-qrcode. |
| Cetak struk thermal | Untuk POS toko, perlu integrasi printer driver ESC/POS. |
| Import CSV mass anggota | Filament tidak punya importer bawaan. Bisa pakai filament/spatie-laravel-import-export. |
| Backup otomatis daily | Package spatie/laravel-backup sudah terpasang, schedule perlu di-aktifkan di routes/console.php. |
| Mobile app native | Hanya web responsive. Bisa di-wrap pakai Capacitor/Cordova jika perlu. |
Konfirmasi via WhatsApp untuk biaya custom add-on: 0812-9605-2010.
π οΈ Admin Panel
Filament Panel di /admin dengan navigation groups:
- Dashboard β 6 widgets KPI & analytics
- Anggota β Anggota, Ahli Waris
- Master Data β Tenant, Cabang, Produk Simpanan, Produk Pinjaman
- Transaksi β Simpanan (set, set, tarik), Pinjaman (ajukan, approval, cair, cicil)
- Akuntansi β COA, Jurnal, Kas, Laporan Keuangan (Page)
- Toko / Unit Usaha β Toko Barang, Penjualan, Unit Jasa, Unit Produsen
- Karyawan & Aset β Karyawan, Asset
- Akhir Tahun β RAT, SHU Perhitungan
- Sistem β User, Tagihan, Pengaturan
Navigation groups bisa di-customize lewat tiap Resource ($navigationGroup, $navigationSort).
π± Portal Anggota
Antarmuka khusus untuk anggota koperasi (di luar admin Filament). Tidak butuh role admin β semua anggota auto-bisa login dengan akun yang dibuat saat registrasi.
URL Portal
/portal/loginβ Login form/portalβ Dashboard anggota (saldo simpanan, riwayat pinjaman)/laporan/neraca,/laporan/laba-rugi,/laporan/arus-kasβ Laporan keuangan koperasi (auth required)
Yang Anggota Bisa Lakukan
- Lihat saldo Simpanan Pokok / Wajib / Sukarela / Berjangka
- Lihat riwayat transaksi setoran/penarikan
- Lihat pinjaman aktif: sisa pokok, sisa cicilan, tanggal jatuh tempo
- Download bukti setoran (PDF)
- Update profil (alamat, no HP, password)
π pSEO Built-in (70+ Halaman SEO)
Aplikasi sudah include sistem Programmatic SEO yang otomatis generate halaman public untuk traffic dari Google. Data master ada di config/pseo.php:
| Pattern URL | Jumlah | Contoh |
|---|---|---|
/aplikasi-koperasi-{kota} | 30 | /aplikasi-koperasi-jakarta |
/jenis-koperasi/{tipe} | 6 | /jenis-koperasi/syariah |
/akad-syariah/{nama} | 10 | /akad-syariah/mudharabah |
/panduan/{slug} | 8 | /panduan/cara-mendirikan-koperasi |
/kalkulator/{slug} | 4 | /kalkulator/cicilan-pinjaman |
/alternatif-{kompetitor} | 6 | /alternatif-siska |
/compare/{a}-vs-{b} | 6 | /compare/koperasi-app-vs-siska |
Setiap halaman: JSON-LD schema, meta tags lengkap, 300+ kata konten unik, internal linking. Auto-registered di /sitemap.xml. Submit ke Google Search Console untuk indexing.
π Troubleshooting
"Routes tidak ditemukan / 404 setelah deploy"
Clear semua cache route lalu rebuild:
php artisan optimize:clear
php artisan route:cache
php artisan config:cache
"Internal Server Error setelah composer install"
- Pastikan
storage/danbootstrap/cache/writable:chmod -R 775 - Pastikan APP_KEY ter-generate:
php artisan key:generate - Pastikan
.envada dan database connection benar - Cek log:
tail -f storage/logs/laravel.log
"Filament page blank putih"
- Run:
php artisan filament:cache-components - Run:
php artisan icons:cache - Compile asset:
npm run build
"License pairing gagal β server unreachable"
- Pastikan server bisa akses
https://whitelabel.co.id(firewall, DNS) - Cek SSL cert:
curl -I https://whitelabel.co.id - Untuk dev: set
LICENSE_DEV_BYPASS=truedi.env
"Seeder demo OOM (out of memory)"
Naikkan PHP memory limit:
php -d memory_limit=512M artisan koperasi:seed-demo
Atau pakai --chunk=500 untuk mengurangi batch size.
β FAQ
Apakah bisa modifikasi source code?
Bisa di-deploy di shared hosting?
Berapa lama license valid?
Update versi baru gratis?
Bisa pakai PostgreSQL?
DB_CONNECTION=pgsql di .env.Support multi-bahasa?
π¬ Kontak Pembelian & Support
WhatsApp Sales & Support
SeninβSabtu Β· 09.00β17.00 WIB Β· Respond < 5 menit
π± 0812-9605-2010Untuk pembelian source code, hubungi via WhatsApp di nomor di atas. Tim sales akan kirim:
- Penawaran resmi (PDF) dengan detail spesifikasi
- Demo akses (admin panel + portal anggota)
- Invoice pembayaran (transfer bank atau e-wallet)
- License Key + Activation Code (setelah pembayaran)
- Link download source code (ZIP / Git repository)