Sistem Penyaluran Dana

Aplikasi manajemen keuangan dengan workflow approval bertingkat untuk organisasi yang memerlukan transparansi dan akuntabilitas dalam penyaluran dana.

Versi 1.0.0 - Aplikasi ini telah siap digunakan untuk produksi dengan semua fitur yang telah diimplementasikan dan diuji.
100% Complete

Semua fitur telah diimplementasikan dan siap produksi

Multi-Role System

5 level role dengan hak akses yang berbeda-beda

Workflow Approval

Proses persetujuan bertingkat yang terstruktur

Teknologi yang Digunakan

Backend
  • Laravel 12
  • PHP 8.2+
  • MySQL 8.0+
Frontend
  • Bootstrap 5
  • JavaScript ES6+
  • DataTables

Fitur Utama

Ready
Sistem Autentikasi & Role

Login, register, dan manajemen role user dengan 4 level akses berbeda

  • Multi-role access control
  • Session management
  • Role-based restrictions
Ready
Workflow Approval

Sistem persetujuan bertingkat dengan validasi role dan notifikasi

  • Approval verifikator
  • Approval bendahara
  • Status tracking
Ready
PDF Generator

Generate dokumen resmi dengan tanda tangan digital dan branding

  • Digital signature
  • Dynamic branding
  • Professional layout
Ready
Penyaluran Dana

Modul lengkap untuk pengelolaan penyaluran dana ke mustahik

  • Multi-recipient support
  • Advanced filtering
  • Export capabilities
Ready
Dashboard & Reporting

Dashboard interaktif dan sistem pelaporan komprehensif

  • Real-time statistics
  • Role-based dashboard
  • Excel export
Ready
Settings Management

Pengaturan lembaga, logo, dan konfigurasi sistem

  • Institution branding
  • Logo management
  • System configuration

System Requirements

Pastikan server Anda memenuhi requirements minimum berikut sebelum melakukan instalasi.
Server Requirements
  • PHP: 8.2 atau lebih tinggi
  • MySQL: 8.0 atau MariaDB 10.4+
  • Web Server: Apache 2.4+ atau Nginx 1.18+
  • Memory: Minimum 512MB RAM
  • Storage: Minimum 1GB disk space
PHP Extensions
  • BCMath PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • GD PHP Extension
  • Zip PHP Extension

Development Tools (Optional)

  • Node.js: 16+ (untuk asset compilation)
  • NPM: 8+ atau Yarn 1.22+
  • Composer: 2.0+
  • Git: Untuk version control

Instalasi

Perhatian: Pastikan semua system requirements telah terpenuhi sebelum melanjutkan instalasi.

1. Extract File Aplikasi

Download dan extract file zip aplikasi ke dalam folder yang diinginkan:

# Extract file sistem-penyaluran-dana.zip # Pindahkan ke folder htdocs (XAMPP) atau www (WAMP) # Contoh lokasi: C:\xampp\htdocs\sistem-penyaluran-dana

2. Buka Command Prompt

Buka Command Prompt (CMD) dan masuk ke direktori aplikasi:

# Masuk ke direktori aplikasi cd C:\xampp\htdocs\sistem-penyaluran-dana # Atau sesuaikan dengan lokasi folder Anda

3. Install Dependencies

# Install PHP dependencies composer install # Install NPM dependencies npm install

3. Environment Configuration

# Copy environment file copy .env.example .env # Generate application key php artisan key:generate

4. Database Setup

Edit file .env dan sesuaikan konfigurasi database:

DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=sistem_penyaluran_dana DB_USERNAME=root DB_PASSWORD=

5. Run Migration & Seeder

# Create database tables php artisan migrate # Seed initial data php artisan db:seed

6. Storage Link

# Create storage symbolic link php artisan storage:link

7. Start Development Server

# Start Laravel development server php artisan serve # Aplikasi akan berjalan di: http://localhost:8000
Instalasi Selesai! Aplikasi sekarang dapat diakses melalui browser. Login dengan akun default yang tersedia di seeder.

Konfigurasi

Environment Variables

Berikut adalah konfigurasi penting dalam file .env:

Variable Description Default
APP_NAME Nama aplikasi "Sistem Penyaluran Dana"
APP_ENV Environment aplikasi local/production
APP_DEBUG Mode debug true/false
APP_URL URL aplikasi http://localhost
DB_* Konfigurasi database MySQL settings
MAIL_* Konfigurasi email (optional) SMTP settings

File Permissions

Pastikan folder berikut memiliki permission yang tepat:

# Set proper permissions chmod -R 775 storage/ chmod -R 775 bootstrap/cache/ chown -R www-data:www-data storage/ chown -R www-data:www-data bootstrap/cache/

Default User Accounts

Setelah menjalankan seeder, akun default berikut akan tersedia:

Role Email Password
Super Admin admin@example.com password
Admin Penyaluran penyaluran@example.com password
Verifikator verifikator@example.com password
Bendahara bendahara@example.com password
Direksi direksi@example.com password
Keamanan: Pastikan untuk mengubah password default setelah instalasi pertama!

Role & Permissions

Sistem ini menggunakan 5 level role dengan hak akses yang berbeda-beda sesuai dengan tanggung jawab masing-masing.

Super Admin

Full Admin Access: Kontrol penuh sistem dan data master

  • View semua data
  • User management (CRUD)
  • Wilayah management (CRUD)
  • Akun bank management (CRUD)
  • Pengaturan lembaga
  • Download PDF & Export Excel
Admin Penyaluran

Fokus: Mengelola pengajuan dan penyaluran dana

  • Buat pengajuan dana
  • Kelola penyaluran dana
  • CRUD Master data
  • Kelola data mustahik (CRUD)
  • Download PDF & Export Excel
  • Tidak bisa approve
Verifikator

Tugas: Verifikasi dan approval tahap pertama

  • Review pengajuan dana
  • Approve/reject pengajuan
  • Approve/reject penyaluran
  • View dashboard khusus
  • Digital signature
  • Download PDF & Export Excel
  • Tidak bisa create data
Bendahara

Tanggung Jawab: Persetujuan keuangan dan pencairan

  • Final approval dana
  • Kelola pencairan dana
  • Approve penyaluran
  • Monitor keuangan
  • Kelola akun bank
  • Digital signature
  • Download PDF & Export Excel
Direksi

Akses: View dan monitoring semua aktivitas

  • View semua data
  • Dashboard monitoring
  • Export reports
  • View activity logs
  • Download PDF & Export Excel
  • Tidak bisa create/edit
  • Tidak bisa approve

Matriks Hak Akses Lengkap

Keterangan: CRUD = Create, Read, Update, Delete | Create/Edit = Buat & Edit saja | Approve = Approve/Reject | Read = View only | Download/Export = PDF & Excel | No Access = Tidak ada akses
Modul/Fitur Super Admin Admin Penyaluran Verifikator Bendahara Direksi
📊 DASHBOARD & MONITORING
Dashboard Read Read Read Read Read
Data Export & Reports Download/Export Download/Export Download/Export Download/Export Download/Export
🏗️ MASTER DATA
Master Data
(Asnaf, Jenis Data, Program, Bank, Sumber Dana, Jenis Uang Muka)
Read CRUD Read Read Read
Kelola Data
(Mustahik, Penanggung Jawab, Divisi, Sub Program)
Read CRUD Read Read Read
👥 USER & SYSTEM MANAGEMENT
User Management CRUD No Access No Access No Access No Access
Wilayah Management
(Provinsi, Kota, Kecamatan, Kelurahan)
CRUD No Access No Access No Access No Access
Kelola Akun Bank CRUD No Access No Access CRUD Read
Settings Lembaga CRUD Read No Access No Access No Access
💰 WORKFLOW KEUANGAN
Data Mustahik Read CRUD Read Read Read
Pengajuan Dana Read Create/Edit Read Read Read
Approval Verifikator No Access No Access Approve No Access No Access
Approval Bendahara No Access No Access No Access Approve No Access
Pencairan Dana Read Read Read Create/Edit Read
Penyaluran Dana Read Create/Edit Approve Approve Read
Catatan Penting
  • Security: Semua akses divalidasi middleware
  • Profile: Semua role dapat edit profile sendiri
  • Logout: Tersedia untuk semua role
Workflow Rules
  • Pengajuan → Verifikator → Bendahara
  • Tidak bisa approve pengajuan sendiri
  • Digital signature wajib untuk approval

Workflow Approval

Sistem ini menggunakan workflow approval bertingkat untuk memastikan transparansi dan akuntabilitas dalam setiap proses penyaluran dana.

Alur Persetujuan Pengajuan Dana
1. Admin Penyaluran
Membuat pengajuan dana
2. Verifikator
Review & approve/reject
3. Bendahara
Final approval
Status Tracking
  • Draft: Belum disubmit
  • Pending: Menunggu approval
  • Approved: Disetujui verifikator
  • Final Approved: Disetujui bendahara
  • Rejected: Ditolak
System Features
  • Digital Signature: Tanda tangan elektronik
  • PDF Generation: Laporan otomatis
  • Data Export: Excel dan PDF
  • Dashboard: Real-time monitoring

Workflow Rules

Aturan Penting:
  • Setiap pengajuan harus melalui approval berurutan
  • Verifikator tidak dapat approve pengajuan yang dibuat sendiri
  • Bendahara hanya dapat approve setelah verifikator approve
  • Rejection di level manapun akan menghentikan workflow
  • Digital signature wajib untuk approval

Modul Aplikasi

Master Data

Pengelolaan data referensi dan konfigurasi sistem

  • Divisi
  • Penanggung Jawab
  • Sumber Dana
  • Jenis Uang Muka
  • Asnaf
  • Program & Sub Program
  • Bank
  • Wilayah Indonesia
User Management

Manajemen pengguna dan hak akses sistem

  • Registrasi User
  • Manajemen Profile
  • Role Assignment
  • Digital Signature
  • Activity Log
  • Permission Control
Pengajuan Dana

Proses pengajuan dan persetujuan dana

  • Buat Pengajuan Baru
  • Edit Pengajuan Draft
  • Workflow Approval
  • Tracking Status
  • Approval Comments
  • Generate PDF
Pencairan Dana

Pengelolaan pencairan dana yang telah disetujui

  • Buat Pencairan
  • Jadwal Pencairan
  • Metode Pembayaran
  • Bukti Transfer
  • Status Monitoring
Penyaluran Dana

Distribusi dana kepada mustahik

  • Kelola Data Mustahik
  • Buat Penyaluran
  • Multi-Recipient
  • Kalkulasi Otomatis
  • Advanced Filtering
  • Export Excel/PDF
Dashboard & Reports

Analisis dan pelaporan komprehensif

  • Role-based Dashboard
  • Real-time Statistics
  • Laporan Periodik
  • Export Excel
  • Print Reports
  • Advanced Search

Fitur Tambahan

Settings Lembaga

Konfigurasi identitas, logo, dan branding lembaga

PDF Generator

Generate dokumen resmi dengan tanda tangan digital

Data Export/Import

Backup dan restore data sistem

Arsitektur Sistem

Aplikasi ini dibangun menggunakan arsitektur MVC (Model-View-Controller) Laravel dengan struktur yang terorganisir dan scalable.
Application Layer
  • Presentation Layer: Blade Templates + Bootstrap 5
  • Business Logic: Controllers & Services
  • Data Layer: Eloquent ORM + MySQL
  • Security Layer: Middleware & Auth
Directory Structure
app/ ├── Http/ │ ├── Controllers/ # Business Logic │ └── Middleware/ # Request Filters ├── Models/ # Data Models (Eloquent) └── Providers/ # Service Providers resources/ ├── views/ │ ├── layouts/ # Layout Templates │ ├── dashboard/ # Dashboard Views │ ├── pengajuan/ # Pengajuan Views │ ├── penyaluran/ # Penyaluran Views │ └── master-data/ # Master Data Views ├── css/ # Stylesheets └── js/ # JavaScript Files database/ ├── migrations/ # Database Schema ├── seeders/ # Initial Data └── factories/ # Model Factories public/ ├── build/ # Compiled Assets ├── storage/ # Public Storage Link └── index.php # Entry Point config/ # Configuration Files routes/ # Route Definitions storage/ # File Storage & Logs

Design Patterns

MVC Pattern

Separation of concerns dengan Model-View-Controller

Repository Pattern

Abstraksi layer untuk data access

Middleware Pattern

Request filtering dan authentication

Database Schema

Sistem menggunakan database MySQL dengan 20+ tabel yang saling terintegrasi untuk mendukung semua fitur aplikasi.

User Management
  • users - Data pengguna
  • password_reset_tokens - Reset password
  • sessions - Session management
Master Data
  • divisis - Divisi organisasi
  • penanggung_jawabs - PJ divisi
  • sumber_danas - Sumber pendanaan
  • programs - Program kerja
  • sub_programs - Sub program
Transaction Data
  • pengajuans - Pengajuan dana
  • pencairans - Pencairan dana
  • penyalurans - Penyaluran dana
  • penyaluran_details - Detail penyaluran
Supporting Data
  • mustahiks - Data penerima
  • asnafs - Kategori asnaf
  • banks - Data bank
  • provinces, cities, districts, villages - Wilayah

Database Relationships

Sistem menggunakan relasi yang ketat antar tabel dengan foreign key constraints untuk menjaga integritas data.
Relationship Type Parent Table Child Table Description
One-to-Many users pengajuans User dapat membuat banyak pengajuan
One-to-Many pengajuans penyalurans Pengajuan dapat memiliki banyak penyaluran
Many-to-Many penyalurans mustahiks Penyaluran ke banyak mustahik via detail
Belongs-to mustahiks provinces/cities Lokasi mustahik berdasarkan wilayah

Keamanan Sistem

Authentication & Authorization
  • Session-based Auth: Laravel's built-in authentication
  • Role-based Access: 4-level role system
  • Route Protection: Middleware validation
  • Permission Check: Every action validated
Data Protection
  • Input Validation: Server-side validation
  • CSRF Protection: Laravel's CSRF tokens
  • SQL Injection: Eloquent ORM protection
  • XSS Protection: Blade template escaping

Troubleshooting

Penyebab: Cache corrupted atau permission tidak tepat
Solusi:
# Clear cache php artisan cache:clear php artisan config:clear php artisan route:clear php artisan view:clear # Set proper permissions chmod -R 775 storage/ bootstrap/cache/

Penyebab: Konfigurasi database salah atau service tidak berjalan
Solusi:
  • Periksa konfigurasi database di file .env
  • Pastikan MySQL service berjalan
  • Test koneksi: php artisan migrate:status
  • Restart database service jika perlu

Penyebab: Application key belum di-generate
Solusi:
# Generate application key php artisan key:generate # Pastikan .env file ada cp .env.example .env

Penyebab: Web server tidak memiliki permission untuk menulis file
Solusi:
# Linux/Mac sudo chown -R www-data:www-data storage/ bootstrap/cache/ sudo chmod -R 775 storage/ bootstrap/cache/ # Windows (run as Administrator) icacls storage /grant IIS_IUSRS:F /T icacls bootstrap\cache /grant IIS_IUSRS:F /T

Kemungkinan Penyebab:
  • Session driver tidak terkonfigurasi dengan benar
  • Database seeder belum dijalankan
  • Password hash tidak match
Solusi:
# Re-seed database php artisan migrate:fresh --seed # Clear session php artisan session:table php artisan migrate # Test dengan akun default Email: admin@example.com Password: password
Butuh Bantuan Lebih Lanjut? Hubungi administrator sistem atau cek log file di storage/logs/laravel.log untuk informasi error yang lebih detail.

Changelog

Version 1.0.0 - Final Release
08 May 2026
✨ Features:
  • Complete workflow approval system
  • PDF generation with digital signatures
  • Settings management system
  • Dynamic branding
  • Comprehensive documentation