14 KiB
WebGIS Poverty Mapping Kota Pontianak
Informasi Proyek
| Keterangan | Detail |
|---|---|
| Nama Proyek | WebGIS Poverty Mapping Kota Pontianak |
| Jenis Sistem | Sistem Informasi Geografis berbasis Web |
| Mata Kuliah | Sistem Informasi Geografis (SIG) |
| Program Studi | Informatika, Fakultas Teknik, Universitas Tanjungpura |
| Pengembang | Talitha Syakirah Artanti |
| NIM | D1041231013 |
| Dosen Pengampu | Dr. Ir. Yus Sholva, ST., MT., CPro. |
Deskripsi Singkat
WebGIS Poverty Mapping Kota Pontianak adalah aplikasi Sistem Informasi Geografis berbasis web yang digunakan untuk memetakan data masyarakat prasejahtera, laporan cepat masyarakat, histori bantuan, serta data rumah ibadah sebagai potensi pendukung penyaluran bantuan sosial.
Sistem ini dikembangkan menggunakan PHP native, MySQL, JavaScript, Leaflet.js, dan OpenStreetMap. Fokus utama aplikasi adalah membantu visualisasi persebaran masyarakat prasejahtera di Kota Pontianak, memantau laporan masyarakat, mencatat histori bantuan, serta menampilkan rumah ibadah dalam bentuk titik lokasi dan radius jangkauan.
Tujuan Sistem
Tujuan dari sistem ini adalah:
- Menampilkan persebaran masyarakat prasejahtera pada peta digital.
- Menyediakan fitur laporan cepat dari masyarakat umum.
- Membantu admin dalam memvalidasi dan mengelola laporan masyarakat.
- Mencatat histori bantuan yang diterima masyarakat prasejahtera.
- Menampilkan rumah ibadah sebagai potensi pemberi atau pendukung bantuan.
- Menyediakan dashboard ringkasan bagi admin, wali kota, dan dinas terkait.
- Menyediakan fitur unduh data dalam format CSV untuk kebutuhan monitoring.
Struktur Folder
UAS_SIG_Talitha/
├── 1_Pemetaan_SPBU/
├── 2_Jalan_ParsilTanah_dan_Layer/
├── 3_PovertyMapping/
├── env.php
├── .env.example
├── .gitignore
└── README.md
Keterangan:
1_Pemetaan_SPBU/berisi pengembangan awal WebGIS untuk pemetaan SPBU.2_Jalan_ParsilTanah_dan_Layer/berisi pengembangan awal WebGIS untuk data jalan, parsil tanah, dan layer peta.3_PovertyMapping/merupakan aplikasi utama/final yang digunakan untuk sistem WebGIS Poverty Mapping Kota Pontianak.env.phpdigunakan untuk membaca konfigurasi database dari environment variable..env.exampleberisi contoh konfigurasi environment..gitignoredigunakan untuk mencegah file sensitif dan file tidak diperlukan masuk ke repository.README.mdberisi dokumentasi proyek.
Fokus Aplikasi Final
Aplikasi final berada pada folder:
3_PovertyMapping/
Aplikasi ini tidak lagi menampilkan data SPBU, jalan, dan parsil tanah sebagai fitur utama. Folder SPBU dan jalan/parsil tetap disertakan sebagai bagian dari riwayat pengembangan tugas, tetapi sistem final yang digunakan untuk penilaian adalah Poverty Mapping.
Fitur Utama
1. Peta Digital
Sistem menampilkan peta digital Kota Pontianak menggunakan Leaflet.js dan OpenStreetMap sebagai basemap. Peta digunakan untuk menampilkan titik masyarakat prasejahtera, titik laporan masyarakat, dan titik rumah ibadah.
2. Data Masyarakat Prasejahtera
Admin dapat mengelola data masyarakat prasejahtera, meliputi:
- nama kepala keluarga;
- NIK;
- tanggal lahir;
- pendidikan;
- riwayat penyakit;
- jumlah KK;
- alamat;
- kecamatan;
- kelurahan;
- status bantuan;
- latitude dan longitude.
Data masyarakat prasejahtera ditampilkan dalam bentuk marker pada peta dan tabel pada dashboard.
3. Laporan Cepat Masyarakat
Masyarakat umum dapat mengirim laporan tanpa login melalui peta. Data laporan meliputi data pelapor, kategori laporan, tujuan laporan, deskripsi, data warga yang dilaporkan, serta titik lokasi.
Status laporan terdiri dari:
MasukDitinjauDiprosesSelesaiDijadikan Data MasyarakatDitolak
Laporan hanya dapat dijadikan data masyarakat prasejahtera setelah statusnya menjadi Selesai.
4. Auto Terhubung NIK/Nama
Sistem memiliki logika pencocokan otomatis berdasarkan NIK atau nama kepala keluarga. Jika laporan masyarakat memiliki NIK atau nama yang sama dengan data masyarakat prasejahtera yang sudah ada, sistem dapat menghubungkan laporan tersebut ke data lama agar tidak terjadi data ganda.
5. Histori Bantuan
Sistem mencatat histori bantuan yang diterima masyarakat prasejahtera. Data histori bantuan meliputi:
- penerima bantuan;
- jenis bantuan;
- tanggal bantuan;
- nominal bantuan;
- sumber bantuan;
- keterangan.
Histori bantuan dapat ditambahkan lebih dari satu kali untuk satu masyarakat prasejahtera, sehingga riwayat bantuan dapat dipantau secara berkala.
6. Rumah Ibadah
Sistem menampilkan data rumah ibadah sebagai titik lokasi dan radius jangkauan. Rumah ibadah dapat berupa:
- Masjid;
- Gereja;
- Vihara;
- Kelenteng;
- Pura.
Data rumah ibadah digunakan sebagai indikator potensi pendukung bantuan sosial. Radius rumah ibadah tidak otomatis berarti masyarakat menerima bantuan, tetapi menjadi acuan spasial untuk melihat potensi jangkauan bantuan.
7. Relasi Bantuan dengan Rumah Ibadah
Dalam pengembangan terbaru, histori bantuan dapat dikembangkan agar memiliki relasi dengan rumah ibadah tertentu melalui kolom masjid_id. Dengan relasi ini, sistem dapat mencatat bahwa suatu masyarakat prasejahtera menerima bantuan dari rumah ibadah tertentu.
Konsep relasinya adalah:
penduduk_id = masyarakat penerima bantuan
masjid_id = rumah ibadah pemberi bantuan
Jika bantuan berasal dari dinas atau sumber lain, maka masjid_id dapat dikosongkan. Jika bantuan berasal dari rumah ibadah, maka masjid_id diisi sesuai rumah ibadah pemberi bantuan.
8. Dashboard
Dashboard digunakan oleh pengguna yang memiliki akses login, yaitu admin, wali kota, dan dinas. Dashboard menampilkan:
- ringkasan jumlah masyarakat prasejahtera;
- jumlah laporan masuk, diproses, selesai, dan dijadikan data masyarakat;
- jumlah histori bantuan;
- jumlah rumah ibadah;
- tabel laporan masyarakat;
- tabel histori bantuan;
- tabel masyarakat prasejahtera;
- tabel rumah ibadah;
- fitur download data CSV;
- fitur kelola akun untuk admin.
9. Download Data
Sistem menyediakan fitur unduh data dalam format CSV untuk data utama, yaitu:
- laporan masyarakat;
- histori bantuan;
- masyarakat prasejahtera;
- rumah ibadah.
Hak Akses Pengguna
| Role | Hak Akses |
|---|---|
| Masyarakat Umum | Mengirim laporan cepat tanpa login |
| Admin | Mengelola data masyarakat, laporan, histori bantuan, rumah ibadah, akun pengguna, dashboard, dan download data |
| Wali Kota | Melihat dashboard dan mengunduh data |
| Dinas Sosial | Melihat laporan sesuai instansi dan menambahkan histori bantuan sosial |
| Dinas Kesehatan | Melihat laporan sesuai instansi dan menambahkan histori bantuan terkait kesehatan |
Alur Sistem
Alur Laporan Masyarakat
- Masyarakat membuka halaman peta.
- Masyarakat memilih lokasi pada peta.
- Masyarakat mengisi form laporan cepat.
- Sistem menyimpan laporan dengan status awal
Masuk. - Admin meninjau laporan.
- Status laporan dapat diubah menjadi
Ditinjau,Diproses, atauSelesai. - Setelah status
Selesai, laporan dapat dihubungkan ke data masyarakat lama atau dijadikan data masyarakat baru. - Data yang sudah valid masuk ke data masyarakat prasejahtera dan dapat digunakan untuk monitoring bantuan.
Alur Histori Bantuan
- Admin atau dinas memilih data masyarakat prasejahtera.
- Admin atau dinas mengisi jenis bantuan, tanggal, nominal, sumber bantuan, dan keterangan.
- Sistem menyimpan bantuan ke tabel histori bantuan.
- Data bantuan dapat dilihat pada dashboard dan diunduh dalam format CSV.
- Jika bantuan berasal dari rumah ibadah, sistem dapat mencatat rumah ibadah pemberi bantuan melalui
masjid_id.
Alur Rumah Ibadah
- Admin menambahkan data rumah ibadah pada peta.
- Sistem menyimpan jenis, nama, PIC, alamat, koordinat, dan radius rumah ibadah.
- Sistem menampilkan marker dan radius rumah ibadah.
- Radius digunakan sebagai indikator potensi jangkauan bantuan.
Struktur Database Utama
Tabel users
Menyimpan data akun pengguna sistem.
| Kolom | Keterangan |
|---|---|
| id | ID pengguna |
| nama | Nama pengguna |
| username | Username login |
| password | Password terenkripsi |
| role | Role pengguna |
| instansi | Nama instansi untuk role dinas |
| created_at | Waktu data dibuat |
Tabel penduduk_kemiskinan
Menyimpan data masyarakat prasejahtera.
| Kolom | Keterangan |
|---|---|
| id | ID masyarakat |
| nama_kepala_keluarga | Nama kepala keluarga |
| nik | Nomor Induk Kependudukan |
| tanggal_lahir | Tanggal lahir |
| pendidikan | Pendidikan terakhir |
| riwayat_penyakit | Riwayat penyakit |
| jumlah_kk | Jumlah anggota keluarga |
| alamat | Alamat lengkap |
| kecamatan | Kecamatan |
| kelurahan | Kelurahan |
| status_bantuan | Status bantuan |
| latitude | Koordinat latitude |
| longitude | Koordinat longitude |
| created_at | Waktu data dibuat |
Tabel laporan_masyarakat
Menyimpan laporan cepat dari masyarakat umum.
| Kolom | Keterangan |
|---|---|
| id | ID laporan |
| penduduk_id | Relasi ke data masyarakat jika sudah terhubung |
| nama_pelapor | Nama pelapor |
| no_hp | Nomor HP pelapor |
| kategori_laporan | Kategori laporan |
| deskripsi | Deskripsi laporan |
| aktor_tujuan | Tujuan laporan |
| status_laporan | Status laporan |
| data_nama_kepala_keluarga | Nama warga yang dilaporkan |
| data_nik | NIK warga yang dilaporkan |
| data_tanggal_lahir | Tanggal lahir warga |
| data_pendidikan | Pendidikan warga |
| data_riwayat_penyakit | Riwayat penyakit warga |
| data_jumlah_kk | Jumlah anggota keluarga |
| data_alamat | Alamat warga |
| data_kecamatan | Kecamatan |
| data_kelurahan | Kelurahan |
| data_status_bantuan | Status bantuan awal |
| latitude | Koordinat latitude |
| longitude | Koordinat longitude |
| created_at | Waktu laporan dibuat |
Tabel histori_bantuan
Menyimpan riwayat bantuan yang diterima masyarakat prasejahtera.
| Kolom | Keterangan |
|---|---|
| id | ID histori |
| penduduk_id | Relasi ke masyarakat penerima bantuan |
| masjid_id | Relasi ke rumah ibadah pemberi bantuan jika sumber bantuan berasal dari rumah ibadah |
| jenis_bantuan | Jenis bantuan |
| tanggal_bantuan | Tanggal bantuan |
| nominal | Nominal bantuan |
| sumber_bantuan | Sumber bantuan |
| keterangan | Keterangan tambahan |
| created_at | Waktu data dibuat |
Tabel masjid
Menyimpan data rumah ibadah. Nama tabel tetap menggunakan masjid untuk menyesuaikan struktur kode, tetapi isi tabel dapat memuat berbagai jenis rumah ibadah.
| Kolom | Keterangan |
|---|---|
| id | ID rumah ibadah |
| jenis_rumah_ibadah | Jenis rumah ibadah |
| nama_masjid | Nama rumah ibadah |
| pic_masjid | PIC atau penanggung jawab |
| alamat_masjid | Alamat rumah ibadah |
| latitude | Koordinat latitude |
| longitude | Koordinat longitude |
| radius_meter | Radius jangkauan |
| created_at | Waktu data dibuat |
Teknologi yang Digunakan
| Teknologi | Fungsi |
|---|---|
| PHP Native | Backend dan pengolahan request |
| MySQL | Penyimpanan data |
| JavaScript | Interaksi antarmuka dan peta |
| Leaflet.js | Library peta interaktif |
| OpenStreetMap | Basemap |
| HTML | Struktur halaman |
| CSS | Tampilan antarmuka |
| Git | Version control |
| Coolify | Platform deployment aplikasi |
Konfigurasi Environment
Project menggunakan file environment agar konfigurasi database tidak ditulis langsung di kode.
Contoh isi .env.example:
DB_HOST=127.0.0.1
DB_USER=root
DB_PASS=
DB_NAME=sig
DB_PORT=3306
File .env digunakan untuk konfigurasi lokal dan tidak boleh diunggah ke repository Git.
File yang Tidak Diunggah ke Git
File berikut tidak perlu diunggah ke repository:
.env
.env.*
!.env.example
.DS_Store
__MACOSX/
*.zip
Tujuannya adalah agar password database, file sistem Mac, dan file arsip tidak masuk ke repository.
Cara Menjalankan di Localhost
- Letakkan folder project pada direktori web server, misalnya
htdocs. - Buat database MySQL dengan nama
sig. - Import file SQL database yang tersedia.
- Salin
.env.examplemenjadi.env. - Sesuaikan konfigurasi database pada file
.env. - Jalankan Apache dan MySQL.
- Akses aplikasi melalui browser.
Contoh alamat akses:
http://localhost/UAS_SIG_Talitha/3_PovertyMapping/
Cara Deploy ke Coolify
- Push project ke repository Git.
- Pastikan file
.envtidak ikut terunggah. - Buat aplikasi baru di Coolify dari repository Git.
- Arahkan deployment ke folder
3_PovertyMapping. - Buat database MySQL pada Coolify.
- Import file SQL database.
- Isi Environment Variables pada Coolify:
DB_HOST=host_database
DB_USER=user_database
DB_PASS=password_database
DB_NAME=nama_database
DB_PORT=3306
- Jalankan deploy aplikasi.
- Akses aplikasi melalui domain yang diberikan oleh Coolify.
Catatan Keamanan
- Password pengguna disimpan dalam bentuk hash.
- File
.envtidak diunggah ke repository. - Query database menggunakan prepared statement pada proses utama.
- Hak akses dibedakan berdasarkan role pengguna.
- Data masyarakat prasejahtera hanya digunakan untuk kebutuhan pemetaan dan monitoring bantuan.
Catatan Pengembangan
Sistem ini dikembangkan untuk kebutuhan tugas mata kuliah Sistem Informasi Geografis. Aplikasi masih dapat dikembangkan lebih lanjut, seperti:
- penambahan filter berdasarkan kecamatan atau kelurahan;
- integrasi laporan PDF;
- analisis spasial lebih lanjut;
- notifikasi tindak lanjut laporan;
- validasi data kependudukan yang lebih lengkap;
- visualisasi bantuan berdasarkan sumber bantuan;
- relasi histori bantuan dengan rumah ibadah secara penuh melalui
masjid_id.
Kesimpulan
WebGIS Poverty Mapping Kota Pontianak merupakan aplikasi pemetaan berbasis web yang membantu visualisasi data masyarakat prasejahtera, laporan masyarakat, histori bantuan, dan rumah ibadah. Sistem ini mendukung proses monitoring bantuan melalui peta digital, dashboard, role pengguna, dan data yang dapat diunduh. Dengan adanya fitur laporan cepat dan histori bantuan, sistem dapat menjadi media pendukung dalam pengelolaan data sosial masyarakat prasejahtera di Kota Pontianak.