Files
..
2026-06-10 19:48:00 +07:00
2026-06-10 19:48:00 +07:00
2026-06-10 19:48:00 +07:00
2026-06-10 19:48:00 +07:00
2026-06-10 19:48:00 +07:00
2026-06-10 19:48:00 +07:00

WebGIS Pengentasan Kemiskinan — Pontianak v2.0

Sistem Informasi Geografis berbasis Masyarakat & Rumah Ibadah


🏗️ Struktur Proyek

webgis-kemiskinan/
├── index.html                  # Frontend utama
├── .htaccess                   # URL rewriting Apache
├── config/
│   ├── app.php                 # Konstanta aplikasi
│   └── database.php            # Koneksi PDO MySQL
├── includes/
│   └── helpers.php             # Auth, sanitasi, log, utils
├── api/
│   ├── index.php               # Router RESTful
│   └── controllers/
│       ├── AuthController.php
│       ├── PendudukController.php
│       ├── KeluargaController.php
│       ├── BantuanController.php
│       ├── HistoriController.php
│       ├── LaporanController.php
│       ├── RumahIbadahController.php
│       ├── DashboardController.php
│       ├── PetaController.php
│       ├── PrioritasController.php
│       ├── ChatController.php
│       ├── LogController.php
│       ├── PeristiwaController.php
│       └── UserController.php
├── assets/
│   ├── css/style.css
│   └── js/
│       ├── api.js              # HTTP helper
│       ├── app.js              # Bootstrap & routing
│       ├── map.js              # Leaflet engine
│       ├── dashboard.js
│       ├── penduduk.js
│       ├── keluarga.js
│       ├── bantuan.js
│       ├── laporan.js
│       └── ri.js               # RI + Prioritas + Chat + Log
├── uploads/
│   ├── foto_laporan/
│   └── bukti_bantuan/
└── sql/
    └── schema.sql              # Database lengkap + seed data

🚀 Cara Instalasi

1. Persyaratan

  • PHP 8.0+
  • MySQL 5.7+ / MariaDB 10.3+
  • Apache/Nginx dengan mod_rewrite aktif

2. Setup Database

mysql -u root -p < sql/schema.sql

Atau import via phpMyAdmin.

3. Konfigurasi

Edit config/database.php:

define('DB_HOST', 'localhost');
define('DB_NAME', 'webgis_kemiskinan');
define('DB_USER', 'root');
define('DB_PASS', 'password_anda');

4. Web Server

Letakkan folder di htdocs/ (XAMPP) atau /var/www/html/.

http://localhost/webgis-kemiskinan/

5. Akun Demo

Username Password Role
admin admin123 Admin
pengurus_jami admin123 Pengurus RI
pimpinan admin123 Pimpinan
warga1 admin123 Masyarakat

📡 API Endpoints

Method Endpoint Keterangan
POST /api/auth Login
DELETE /api/auth/logout Logout
GET /api/auth/me Info user saat ini
GET /api/penduduk List penduduk
POST /api/penduduk Tambah penduduk
PUT /api/penduduk/:nik Update penduduk
DELETE /api/penduduk/:nik Hapus penduduk
GET /api/keluarga List keluarga
POST /api/keluarga Tambah KK
GET /api/bantuan Jenis bantuan
POST /api/histori Catat penyaluran
GET /api/histori/:nik/cek Cek riwayat penerima
POST /api/laporan Kirim laporan (publik)
PUT /api/laporan/:id Update status laporan
GET /api/rumah-ibadah List rumah ibadah
GET /api/dashboard Statistik dashboard
GET /api/peta?layer=penduduk GeoJSON peta penduduk
GET /api/peta?layer=rumah_ibadah GeoJSON rumah ibadah
GET /api/peta?layer=laporan GeoJSON laporan
GET /api/prioritas Daftar prioritas bantuan
POST /api/chat Kirim pesan
POST /api/peristiwa Catat peristiwa kependudukan
GET /api/log Log aktivitas

🗄️ Struktur Database (ERD Ringkas)

role ──────────────────── user
                           │
              rumah_ibadah ┘
                   │
             keluarga ─────── penduduk ──── histori_bantuan ─── bantuan
                                  │
                             laporan (opsional nik_terdampak)
                             riwayat_pendidikan
                             peristiwa_kependudukan
                             log_aktivitas

🎯 Fitur Sistem

# Fitur Status
1 CRUD Penduduk + validasi NIK 16 digit
2 Umur otomatis dari tanggal lahir
3 Validasi logika umur vs pendidikan
4 Relasi Keluarga (KK → Anggota)
5 Sistem peristiwa kependudukan
6 Laporan masyarakat + status tracking
7 Histori bantuan per NIK
8 Cek penerima bantuan sebelumnya
9 Multi-role (Admin/Pengurus/Pimpinan/Masyarakat)
10 WebGIS Leaflet + cluster + radius RI
11 Layer filter (miskin/rentan/mampu)
12 Prioritas bantuan otomatis (miskin+sakit)
13 Dashboard statistik real-time
14 Chat koordinasi antar pengurus
15 Log aktivitas sistem
16 Export CSV prioritas
17 Deteksi warga belum pernah dibantu
18 GeoJSON API untuk Leaflet

🔒 Hak Akses per Role

Fitur Admin Pengurus Pimpinan Masyarakat
CRUD Penduduk 👁
CRUD Keluarga 👁
Salurkan Bantuan
Verifikasi Laporan
Kirim Laporan
Dashboard
Manajemen User
Chat Koordinasi
Log Aktivitas

WebGIS Kemiskinan Pontianak v2.0 — Dikembangkan untuk mendukung intervensi bantuan sosial tepat sasaran berbasis data spasial.