Files
2026-06-09 19:36:57 +07:00

12 KiB
Raw Permalink Blame History

Penjelasan WebGIS — Bahan SRS & Manual Book

WebGIS Pontianak — Pengentasan Kemiskinan Berbasis Rumah Ibadah
(Poverty Mapping — WebGIS Kota Pontianak)


1. Gambaran Umum Sistem

Nama & Tujuan

Sistem informasi geografis (WebGIS) untuk pemetaan keluarga miskin di Kota Pontianak dengan pendekatan berbasis rumah ibadah sebagai unit pembina sosial. Rumah ibadah (masjid, gereja, pura, vihara, klenteng, dll.) memiliki radius cakupan wilayah; keluarga miskin di dalam radius tersebut otomatis ditugaskan sebagai KK binaan rumah ibadah terdekat.

Masalah yang Diselesaikan

  • Data kemiskinan tersebar dan sulit divisualisasikan secara spasial
  • Koordinasi bantuan sosial (PKH, BPNT, bansos, dll.) perlu dilacak per keluarga
  • Masyarakat perlu saluran laporan tanpa harus login
  • Pemkot (walikota) butuh dashboard agregat untuk pengambilan keputusan
  • Pengurus rumah ibadah butuh akses terbatas hanya untuk KK binaannya

Cakupan Geografis

6 kecamatan di Kota Pontianak:

  • Pontianak Utara, Selatan, Timur, Barat, Tenggara, Kota

2. Arsitektur Teknis

Stack Teknologi

Komponen Teknologi
Frontend HTML5, CSS3, JavaScript (vanilla), Leaflet 1.9.4
Backend PHP dengan PDO
Database MySQL (webgis_rumah_ibadah)
Peta CARTO Voyager tiles + OpenStreetMap Nominatim (reverse geocoding)
Ekspor SheetJS (Excel), jsPDF + autoTable (PDF)
Autentikasi PHP Session
Server dev Laragon (Apache + MySQL)

Struktur File Utama

  • index.html — seluruh antarmuka & logika frontend
  • index.php — redirect ke index.html
  • config.php — koneksi DB, utilitas (Haversine, auto-assign, rate limit, upload)
  • api_auth.php — autentikasi
  • api_rumah_ibadah.php — CRUD rumah ibadah
  • api_keluarga_miskin.php — CRUD keluarga miskin
  • api_laporan.php — laporan masyarakat
  • api_histori_bantuan.php — histori bantuan
  • api_dashboard.php — dashboard walikota
  • database.sql — skema & data contoh
  • uploads/ — foto laporan masyarakat

Alur Arsitektur

Browser (index.html)
    ↓ fetch JSON
PHP API (api_*.php)
    ↓ PDO
MySQL (webgis_rumah_ibadah)

Peta juga memanggil Nominatim OpenStreetMap untuk reverse geocoding (alamat otomatis dari koordinat).


3. Aktor / Pengguna Sistem

Role Deskripsi Login
Masyarakat (publik) Melihat peta & data (read-only), mengirim laporan warga miskin Tidak perlu login
Admin Kelola penuh: rumah ibadah, KK, laporan, bantuan, reset password pengurus admin / admin123
Pengurus Rumah Ibadah Kelola KK binaan & histori bantuan di wilayahnya Kode RI-XXX-9999 / password pengurus
Walikota Dashboard agregat, lihat data, ekspor; tidak bisa menambah/mengubah/hapus walikota / admin123

Format login pengurus: RI-[JENIS 3 HURUF]-[4 DIGIT]
Contoh: RI-MSJ-4821 (Masjid), RI-GRJ-7153 (Gereja)


4. Modul Fungsional (untuk SRS)

4.1 Modul Peta Interaktif (WebGIS)

  • Peta interaktif berpusat di Pontianak (lat: -0.0263, lng: 109.3425, zoom 14)
  • Layer marker:
    • Rumah ibadah — warna per jenis (Masjid hijau, Gereja biru, dll.)
    • Keluarga miskin — warna per tingkat (Sangat Miskin merah, Miskin oranye, Hampir Miskin kuning)
    • Radius cakupan rumah ibadah (lingkaran saat zoom ke RI)
  • Pick lokasi di peta — klik peta untuk set koordinat + auto-fill alamat via Nominatim
  • Popup detail saat klik marker
  • Legenda dinamis per tab aktif

4.2 Modul Rumah Ibadah

Data: nama, jenis, alamat, koordinat, radius (0.55 km), kecamatan, kode pengurus, password pengurus

Aksi Admin Pengurus Walikota Publik
Lihat daftar & peta ✓ (hanya RI sendiri)
Tambah
Edit ✓ (RI sendiri)
Hapus
Reset password pengurus

Fitur khusus:

  • Saat tambah RI, sistem generate kode pengurus & password acak (8 karakter)
  • Perubahan/hapus RI memicu re-assign otomatis semua KK ke RI terdekat

4.3 Modul Keluarga Miskin

Data: NIK, nama KK, tanggal lahir, pendidikan, jumlah anggota, alamat, kecamatan, koordinat, tingkat kemiskinan, status DTKS, riwayat penyakit (JSON), rumah ibadah binaan, jarak ke RI

Tingkat kemiskinan: Sangat Miskin, Miskin, Hampir Miskin
Status DTKS: Terdaftar DTKS, Belum DTKS, Sedang Diusulkan
Riwayat penyakit: Stunting, TBC, Hipertensi, Diabetes, Jantung, ODGJ, DBD, Gizi Buruk, Lainnya

Auto-assign: Algoritma Haversine — KK ditugaskan ke RI terdekat yang radiusnya mencakup lokasi KK.

Filter: kecamatan, tingkat kemiskinan, status DTKS

Flag bisnis: KK dengan status Belum DTKS ditandai Eligible Bansos Tunai Pemkot

Aksi Admin Pengurus Walikota
Lihat ✓ (KK binaan)
Tambah/Edit ✓ (KK binaan)
Hapus
Ekspor Excel/PDF

4.4 Modul Laporan Masyarakat

  • Tanpa login — tombol floating "Laporkan Warga Miskin"
  • Input: identitas warga (opsional), NIK (opsional, 16 digit), lokasi, alamat, deskripsi, foto (maks 5MB: JPG/PNG/GIF/WebP), identitas pelapor (boleh anonim)
  • Rate limit: maks 5 laporan per jam per IP
  • Status: Baru → Diverifikasi / Ditolak
  • Admin dapat: kelola status, isi alasan tolak, konversi ke data KK, buat KK baru dari laporan
Aksi Admin Walikota Publik
Kirim laporan
Lihat daftar
Kelola/verifikasi

4.5 Modul Histori Bantuan

Jenis bantuan: PKH, BPNT/Sembako, Beras Bansos, KIS-PBI, Bansos Tunai Pemkot, Rutilahu, PMT Stunting, CSR Swasta, Lainnya
Sumber dana: APBN, APBD, CSR, Lainnya

  • Pencatatan per KK: jenis, nominal (Rp), keterangan, tanggal penyaluran, sumber dana, penanggung jawab
  • Peringatan duplikasi jika KK sudah punya PKH/BPNT/Beras Bansos
  • Total bantuan per KK dihitung otomatis

4.6 Modul Dashboard Walikota

Tampil di sidebar saat walikota login (tab Rumah Ibadah & Keluarga Miskin). Menampilkan:

  • Total KK, KK sudah/belum dapat bantuan (tahun berjalan)
  • Distribusi per kecamatan, penyakit, DTKS, tingkat kemiskinan
  • Bantuan per jenis & sumber dana + total nominal
  • Jumlah laporan belum ditangani
  • Drill-down klikabel → detail tabel + ekspor Excel

Admin juga dapat mengakses API dashboard yang sama.

4.7 Modul Autentikasi

  • Login via username/password (JSON POST)
  • Session PHP ($_SESSION['user'])
  • Endpoint: check, login, logout
  • Pengurus login via kode RI, bukan tabel users

5. Model Data

Tabel Database (6 tabel)

  1. rumah_ibadah — titik lokasi + radius + kredensial pengurus
  2. users — admin & walikota
  3. keluarga_miskin — data KK + auto-assign
  4. laporan_masyarakat — laporan warga
  5. histori_bantuan — riwayat penyaluran
  6. rate_limit — pembatasan IP laporan

Relasi Utama

  • rumah_ibadahkeluarga_miskin (satu RI membina banyak KK)
  • keluarga_miskinhistori_bantuan (satu KK punya banyak bantuan)
  • usershistori_bantuan (penanggung jawab)
  • laporan_masyarakatkeluarga_miskin (konversi laporan ke KK)

6. Alur Bisnis Utama (untuk Manual Book)

Alur A — Pendaftaran Rumah Ibadah (Admin)

  1. Login sebagai admin
  2. Tab Rumah IbadahTambah
  3. Isi form / klik peta untuk koordinat
  4. Atur radius cakupan (slider 0.55 km)
  5. Simpan → sistem tampilkan kode pengurus & password (diserahkan ke pengurus RI)
  6. Semua KK di wilayah otomatis di-assign ulang

Alur B — Pengurus Mencatat KK Binaan

  1. Login dengan kode RI-XXX-9999
  2. Tab Keluarga MiskinTambah
  3. Isi NIK, data keluarga, pilih penyakit, tentukan lokasi di peta
  4. Simpan → KK terhubung ke RI pengurus
  5. Klik Bantuan pada kartu KK → catat penyaluran bantuan

Alur C — Laporan Masyarakat

  1. Tanpa login, klik Laporkan Warga Miskin
  2. Isi lokasi & deskripsi (identitas opsional)
  3. Kirim → status Baru
  4. Admin buka tab LaporanKelola
  5. Verifikasi (bisa buat KK dari laporan) atau tolak dengan alasan

Alur D — Monitoring Walikota

  1. Login walikota
  2. Lihat dashboard di sidebar (statistik & grafik bar)
  3. Klik kartu untuk drill-down detail
  4. Tab Keluarga Miskin → filter & Ekspor Excel/PDF
  5. Tab Laporan → pantau laporan masuk (read-only untuk kelola)

7. Antarmuka Pengguna

Area Fungsi
Topbar Brand, navigasi tab (RI / KK / Laporan), info user, login/logout
Peta (kiri) Visualisasi spasial, pick lokasi, zoom ke entitas
Sidebar (kanan) Daftar data, filter, legenda, statistik, tombol tambah/ekspor
Modal Form CRUD, login, laporan, bantuan, konfirmasi hapus, dashboard drill-down
FAB Tombol mengambang laporan masyarakat
Toast Notifikasi sukses/error

Responsif: Di layar ≤768px, sidebar menjadi panel bawah setengah layar.


8. Kebutuhan Non-Fungsional (untuk SRS)

Aspek Spesifikasi
Keamanan Password bcrypt, session-based auth, role-based access control, sanitasi input, prepared statements PDO
Ketersediaan data UTF-8 (utf8mb4), format JSON standar {success, data, message}
Performa Single-page, data dimuat via AJAX paralel
Batasan upload Foto laporan maks 5MB
Rate limiting 5 laporan/jam/IP
Kompatibilitas Browser modern dengan JavaScript; butuh koneksi internet (CDN peta & library)
Deployment PHP 7.4+, MySQL 5.7+, web server Apache/Nginx

9. Kerangka Dokumen SRS

  1. Pendahuluan — latar belakang, tujuan, ruang lingkup, definisi (DTKS, KK, RI, WebGIS)
  2. Deskripsi Umum — perspektif produk, fungsi produk, karakteristik pengguna
  3. Kebutuhan Fungsional — per modul (FR-01 s/d FR-XX)
  4. Kebutuhan Data — entitas & atribut dari database
  5. Kebutuhan Antarmuka — layar peta, sidebar, modal, dashboard
  6. Kebutuhan Non-Fungsional — keamanan, performa, reliabilitas
  7. Aturan Bisnis — auto-assign Haversine, eligible bansos tunai, duplikasi bantuan, rate limit
  8. Matriks Hak Akses — tabel role
  9. Integrasi Eksternal — OpenStreetMap, Nominatim, CDN library
  10. Lampiran — ERD, diagram alur, mockup UI

10. Kerangka Manual Book

Bab 1 — Pengenalan
Tentang sistem, siapa penggunanya, persyaratan (browser, Laragon/URL)

Bab 2 — Akses & Login
Login admin, walikota, pengurus (contoh kredensial demo)

Bab 3 — Panduan Masyarakat
Cara melihat peta, mengirim laporan, batas 5 laporan/jam

Bab 4 — Panduan Admin
Kelola rumah ibadah, KK, laporan, verifikasi & konversi ke KK

Bab 5 — Panduan Pengurus Rumah Ibadah
Login kode RI, input KK binaan, pencatatan bantuan

Bab 6 — Panduan Walikota
Dashboard, drill-down, ekspor data, tab laporan

Bab 7 — Fitur Peta
Navigasi, legenda, zoom, pick lokasi

Bab 8 — Ekspor Laporan
Excel & PDF (kolom yang diekspor)

Bab 9 — Troubleshooting
Gagal login, rate limit, KK di luar radius, koneksi database


11. Data Demo (untuk Testing)

Akun Username Password
Admin admin admin123
Walikota walikota admin123
Pengurus Masjid Raya RI-MSJ-4821 pengurus123
Pengurus Gereja RI-GRJ-7153 pengurus123

Database seed berisi: 2 rumah ibadah, 5 keluarga miskin, 1 laporan, 2 histori bantuan.


12. Ringkasan Nilai Sistem

Sistem ini menggabungkan GIS, manajemen data sosial, partisipasi masyarakat, dan dashboard kebijakan dalam satu aplikasi web. Konsep intinya: rumah ibadah sebagai node pembina dengan cakupan geografis terukur, sehingga program pengentasan kemiskinan dapat dipantau secara spasial dan berbasis data bantuan per keluarga.


Dokumen ini dibuat sebagai bahan penyusunan SRS (Software Requirements Specification) dan Manual Book untuk WebGIS Pontianak.