-- phpMyAdmin SQL Dump -- version 5.2.1 -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1 -- Generation Time: May 17, 2026 at 01:04 PM -- Server version: 10.4.32-MariaDB -- PHP Version: 8.2.12 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `bansos_gis` -- -- -------------------------------------------------------- -- -- Table structure for table `anggota_keluarga` -- CREATE TABLE `anggota_keluarga` ( `id` int(11) NOT NULL, `rumah_warga_id` int(11) NOT NULL, `nama` varchar(200) NOT NULL, `nik` varchar(16) DEFAULT NULL, `tanggal_lahir` date DEFAULT NULL, `jenis_kelamin` enum('laki_laki','perempuan') DEFAULT 'laki_laki', `pendidikan` enum('tidak_sekolah','sd','smp','sma','d3','s1','s2','s3') DEFAULT 'sd', `pekerjaan` varchar(100) DEFAULT NULL, `status_bekerja` enum('bekerja','tidak_bekerja','pelajar','pensiunan') DEFAULT 'tidak_bekerja', `kondisi_kesehatan` enum('sehat','sakit_ringan','sakit_berat','disabilitas') DEFAULT 'sehat', `dapat_bekerja` tinyint(1) DEFAULT 1, `created_at` timestamp NOT NULL DEFAULT current_timestamp(), `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -- Dumping data for table `anggota_keluarga` -- INSERT INTO `anggota_keluarga` (`id`, `rumah_warga_id`, `nama`, `nik`, `tanggal_lahir`, `jenis_kelamin`, `pendidikan`, `pekerjaan`, `status_bekerja`, `kondisi_kesehatan`, `dapat_bekerja`, `created_at`, `updated_at`) VALUES (1, 1, 'Budi Santoso', '1234567890123456', '1985-06-15', 'laki_laki', 'smp', 'Buruh Harian', 'bekerja', 'sehat', 1, '2026-05-17 06:06:37', '2026-05-17 06:06:37'), (2, 1, 'Rina Santoso', '1234567890123457', '1988-03-20', 'perempuan', 'sd', 'Ibu Rumah Tangga', 'tidak_bekerja', 'sehat', 1, '2026-05-17 06:06:37', '2026-05-17 06:06:37'), (3, 1, 'Doni Santoso', '1234567890123458', '2008-11-10', 'laki_laki', 'smp', NULL, 'pelajar', 'sehat', 0, '2026-05-17 06:06:37', '2026-05-17 06:06:37'), (4, 1, 'Dewi Santoso', '1234567890123459', '2012-07-25', 'perempuan', 'sd', NULL, 'pelajar', 'sehat', 0, '2026-05-17 06:06:37', '2026-05-17 06:06:37'), (5, 2, 'Siti Aminah', '9876543210987654', '1970-01-12', 'perempuan', 'sd', NULL, 'tidak_bekerja', 'sakit_ringan', 0, '2026-05-17 06:06:37', '2026-05-17 06:06:37'), (6, 2, 'Ahmad Firdaus', '9876543210987655', '2005-09-30', 'laki_laki', 'sma', NULL, 'pelajar', 'sehat', 1, '2026-05-17 06:06:37', '2026-05-17 06:06:37'); -- -------------------------------------------------------- -- -- Table structure for table `konfigurasi_sistem` -- CREATE TABLE `konfigurasi_sistem` ( `id` int(11) NOT NULL, `kunci` varchar(100) NOT NULL COMMENT 'key konfigurasi', `nilai` text NOT NULL COMMENT 'value konfigurasi', `label` varchar(200) DEFAULT NULL COMMENT 'label tampil di UI', `deskripsi` text DEFAULT NULL, `tipe` enum('integer','decimal','string','boolean','json') DEFAULT 'string', `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -- Dumping data for table `konfigurasi_sistem` -- INSERT INTO `konfigurasi_sistem` (`id`, `kunci`, `nilai`, `label`, `deskripsi`, `tipe`, `updated_at`) VALUES (1, 'interval_verifikasi_bulan', '6', 'Interval Verifikasi Data (Bulan)', 'Berapa bulan sekali data rumah warga harus diverifikasi ulang', 'integer', '2026-05-17 10:41:31'), (2, 'skor_data_kadaluarsa', '40', 'Skor Minimum Data Valid (%)', 'Data dengan skor kepercayaan di bawah nilai ini dianggap perlu reverifikasi', 'integer', '2026-05-17 10:41:31'), (3, 'threshold_penghasilan_mandiri', '3500000', 'Threshold Penghasilan Mandiri (Rp)', 'Penghasilan bulanan minimum agar warga dianggap berpotensi mandiri (default = UMR)', 'decimal', '2026-05-17 10:41:31'), (4, 'bobot_penghasilan', '40', 'Bobot Skor: Penghasilan (%)', 'Kontribusi penghasilan terhadap skor kemandirian (total 3 bobot harus = 100)', 'integer', '2026-05-17 10:41:31'), (5, 'bobot_status_kerja', '35', 'Bobot Skor: Status Kerja (%)', 'Kontribusi status pekerjaan anggota terhadap skor kemandirian', 'integer', '2026-05-17 10:41:31'), (6, 'bobot_tanggungan', '25', 'Bobot Skor: Tanggungan (%)', 'Kontribusi jumlah tanggungan terhadap skor kemandirian', 'integer', '2026-05-17 10:41:31'), (7, 'threshold_skor_mandiri', '70', 'Threshold Skor Kemandirian (%)', 'Skor minimum agar warga masuk kategori \"Berpotensi Mandiri\"', 'integer', '2026-05-17 10:41:31'), (8, 'kapasitas_default_ibadah', '20', 'Kapasitas Default per Rumah Ibadah (KK)', 'Jumlah KK yang idealnya ditangani 1 rumah ibadah jika tidak diset manual', 'integer', '2026-05-17 10:41:31'); -- -------------------------------------------------------- -- -- Table structure for table `redistribusi_bantuan` -- CREATE TABLE `redistribusi_bantuan` ( `id` int(11) NOT NULL, `ibadah_pengirim_id` int(11) NOT NULL COMMENT 'Rumah ibadah yang punya surplus', `ibadah_penerima_id` int(11) NOT NULL COMMENT 'Rumah ibadah yang butuh tambahan', `jumlah_kk` smallint(5) UNSIGNED DEFAULT 0 COMMENT 'Jumlah KK yang dialihkan', `estimasi_dana` decimal(15,2) DEFAULT 0.00 COMMENT 'Estimasi dana yang ikut dialihkan', `status` enum('saran_sistem','disetujui','ditolak','selesai') DEFAULT 'saran_sistem', `catatan_sistem` text DEFAULT NULL COMMENT 'Alasan/penjelasan dari sistem', `catatan_admin` text DEFAULT NULL COMMENT 'Catatan keputusan admin', `disetujui_oleh` varchar(150) DEFAULT NULL, `tanggal_saran` timestamp NOT NULL DEFAULT current_timestamp(), `tanggal_keputusan` timestamp NULL DEFAULT NULL, `periode_bulan` char(7) DEFAULT NULL COMMENT 'Format YYYY-MM, periode redistribusi' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `riwayat_kemandirian` -- CREATE TABLE `riwayat_kemandirian` ( `id` int(11) NOT NULL, `rumah_warga_id` int(11) NOT NULL, `tanggal` date NOT NULL, `skor` tinyint(3) UNSIGNED DEFAULT 0, `status` enum('sangat_bergantung','bergantung','berkembang','berpotensi_mandiri','mandiri') DEFAULT 'bergantung', `penghasilan_saat_ini` decimal(15,2) DEFAULT 0.00, `catatan` text DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `riwayat_verifikasi` -- CREATE TABLE `riwayat_verifikasi` ( `id` int(11) NOT NULL, `rumah_warga_id` int(11) NOT NULL, `tanggal` date NOT NULL, `petugas` varchar(150) DEFAULT NULL, `skor_sebelum` tinyint(3) UNSIGNED DEFAULT NULL, `skor_sesudah` tinyint(3) UNSIGNED DEFAULT NULL, `perubahan` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Field yang berubah saat verifikasi' CHECK (json_valid(`perubahan`)), `catatan` text DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- -- -- Table structure for table `rumah_ibadah` -- CREATE TABLE `rumah_ibadah` ( `id` int(11) NOT NULL, `nama` varchar(200) NOT NULL, `jenis` enum('masjid','gereja','klenteng','pura','vihara','lainnya') NOT NULL DEFAULT 'masjid', `alamat` text DEFAULT NULL, `kelurahan` varchar(100) DEFAULT NULL, `kecamatan` varchar(100) DEFAULT NULL, `kota` varchar(100) DEFAULT NULL, `latitude` decimal(10,8) NOT NULL, `longitude` decimal(11,8) NOT NULL, `penanggung_jawab` varchar(150) DEFAULT NULL, `kontak` varchar(50) DEFAULT NULL, `keterangan` text DEFAULT NULL, `kapasitas_kk` smallint(5) UNSIGNED DEFAULT 20 COMMENT 'Kapasitas maksimal KK yang dapat ditangani', `anggaran_bulanan` decimal(15,2) DEFAULT 0.00 COMMENT 'Estimasi anggaran bantuan tersedia per bulan (Rp)', `radius_primer` smallint(5) UNSIGNED DEFAULT 500 COMMENT 'Radius cakupan utama dalam meter', `created_at` timestamp NOT NULL DEFAULT current_timestamp(), `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -- Dumping data for table `rumah_ibadah` -- INSERT INTO `rumah_ibadah` (`id`, `nama`, `jenis`, `alamat`, `kelurahan`, `kecamatan`, `kota`, `latitude`, `longitude`, `penanggung_jawab`, `kontak`, `keterangan`, `kapasitas_kk`, `anggaran_bulanan`, `radius_primer`, `created_at`, `updated_at`) VALUES (1, 'Masjid Al-Ikhlas', 'masjid', 'Jl. Merdeka No. 1', 'Sungai Jawi', 'Pontianak Kota', 'Pontianak', -0.02436519, 109.32911396, 'H. Ahmad Fauzi', '08123456789', 'Masjid utama kecamatan', 20, 0.00, 500, '2026-05-17 06:06:37', '2026-05-17 07:29:38'), (2, 'Paroki Santo Yoseph Katedral', 'gereja', 'Jl. Katedral No. 5', 'Mariana', 'Pontianak Kota', 'Pontianak', -0.02727270, 109.33816910, 'Pastor Yohanes', '08234567890', 'Gereja Katedral', 20, 0.00, 500, '2026-05-17 06:06:37', '2026-05-17 06:06:37'); -- -------------------------------------------------------- -- -- Table structure for table `rumah_warga` -- CREATE TABLE `rumah_warga` ( `id` int(11) NOT NULL, `no_kk` varchar(16) NOT NULL, `nama_kepala_keluarga` varchar(200) NOT NULL, `nik` varchar(16) DEFAULT NULL, `alamat` text DEFAULT NULL, `kelurahan` varchar(100) DEFAULT NULL, `kecamatan` varchar(100) DEFAULT NULL, `kota` varchar(100) DEFAULT NULL, `latitude` decimal(10,8) NOT NULL, `longitude` decimal(11,8) NOT NULL, `jumlah_tanggungan` int(11) DEFAULT 1, `penghasilan_bulanan` decimal(15,2) DEFAULT 0.00, `pekerjaan` varchar(100) DEFAULT NULL, `status_pekerjaan` enum('tetap','tidak_tetap','tidak_bekerja','pensiun') DEFAULT 'tidak_bekerja', `luas_rumah` decimal(8,2) DEFAULT NULL COMMENT 'm2', `jenis_lantai` enum('tanah','semen','keramik','kayu','lainnya') DEFAULT 'semen', `jenis_dinding` enum('tembok','kayu','bambu','lainnya') DEFAULT 'tembok', `sumber_air` enum('pdam','sumur','sungai','hujan','lainnya') DEFAULT 'sumur', `status_tempat_tinggal` enum('milik_sendiri','sewa','numpang','dinas') DEFAULT 'milik_sendiri', `kategori_kemiskinan` enum('sangat_miskin','miskin','rentan_miskin') DEFAULT 'miskin', `status_bantuan` enum('belum_terima','sudah_terima','sedang_proses') DEFAULT 'belum_terima', `rekomendasi_bantuan` enum('bantuan_rutin','bantuan_pelatihan','keduanya','tidak_ada') DEFAULT 'bantuan_rutin', `keterangan` text DEFAULT NULL, `tanggal_verifikasi` date DEFAULT NULL COMMENT 'Tanggal terakhir data diverifikasi petugas', `petugas_verifikasi` varchar(150) DEFAULT NULL COMMENT 'Nama petugas yang melakukan verifikasi', `skor_kepercayaan` tinyint(3) UNSIGNED DEFAULT 100 COMMENT 'Skor kepercayaan data 0-100 (100=baru diverifikasi)', `status_verifikasi` enum('terverifikasi','perlu_update','kadaluarsa') DEFAULT 'terverifikasi' COMMENT 'Status keterbaruan data', `skor_kemandirian` tinyint(3) UNSIGNED DEFAULT 0 COMMENT 'Skor potensi kemandirian 0-100 (dihitung otomatis)', `status_kemandirian` enum('sangat_bergantung','bergantung','berkembang','berpotensi_mandiri','mandiri') DEFAULT 'bergantung' COMMENT 'Status kemandirian warga', `catatan_kemandirian` text DEFAULT NULL COMMENT 'Catatan perkembangan kemandirian dari petugas', `tanggal_exit_plan` date DEFAULT NULL COMMENT 'Target tanggal warga keluar dari daftar bantuan', `created_at` timestamp NOT NULL DEFAULT current_timestamp(), `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -- Dumping data for table `rumah_warga` -- INSERT INTO `rumah_warga` (`id`, `no_kk`, `nama_kepala_keluarga`, `nik`, `alamat`, `kelurahan`, `kecamatan`, `kota`, `latitude`, `longitude`, `jumlah_tanggungan`, `penghasilan_bulanan`, `pekerjaan`, `status_pekerjaan`, `luas_rumah`, `jenis_lantai`, `jenis_dinding`, `sumber_air`, `status_tempat_tinggal`, `kategori_kemiskinan`, `status_bantuan`, `rekomendasi_bantuan`, `keterangan`, `tanggal_verifikasi`, `petugas_verifikasi`, `skor_kepercayaan`, `status_verifikasi`, `skor_kemandirian`, `status_kemandirian`, `catatan_kemandirian`, `tanggal_exit_plan`, `created_at`, `updated_at`) VALUES (1, '1234567890987654', 'Budi Santoso', '1234567890123456', 'Jl. Gang Melati No. 3', 'Sungai Jawi', 'Pontianak Kota', 'Pontianak', -0.02399236, 109.32659805, 4, 800000.00, 'Buruh Harian', 'tidak_tetap', 36.00, 'semen', 'kayu', 'sumur', 'sewa', 'miskin', 'belum_terima', 'bantuan_pelatihan', 'Kepala keluarga masih produktif', '2026-05-17', NULL, 100, 'terverifikasi', 0, 'bergantung', NULL, NULL, '2026-05-17 06:06:37', '2026-05-17 10:41:31'), (2, '0987654321234567', 'Siti Aminah', '9876543210987654', 'Jl. Flamboyan No. 12', 'Sungai Jawi', 'Pontianak Kota', 'Pontianak', -0.02216577, 109.32456493, 2, 0.00, 'Ibu Rumah Tangga', 'tidak_bekerja', 24.00, 'tanah', 'bambu', 'sungai', 'numpang', 'sangat_miskin', 'belum_terima', 'bantuan_rutin', 'Suami meninggal, tidak ada penghasilan', '2026-05-17', NULL, 100, 'terverifikasi', 0, 'bergantung', NULL, NULL, '2026-05-17 06:06:37', '2026-05-17 10:41:31'), (3, '1111111111111111', 'Test User', '1111111111111111', 'Test Alamat', 'Test', 'Test', 'Pontianak', -0.02300000, 109.32600000, 1, 500000.00, 'Test', 'tidak_bekerja', 30.00, 'semen', 'tembok', 'sumur', 'milik_sendiri', 'miskin', 'belum_terima', 'bantuan_rutin', 'Test data', '2026-05-17', NULL, 100, 'terverifikasi', 0, 'bergantung', NULL, NULL, '2026-05-17 08:08:57', '2026-05-17 10:41:31'), (4, '9999999999999999', 'Ahmad Wijaya', '', '', '', '', '', -0.02300000, 109.32600000, 1, 0.00, '', 'tidak_bekerja', NULL, 'semen', 'tembok', 'sumur', 'milik_sendiri', 'miskin', 'belum_terima', 'bantuan_rutin', '', '2026-05-17', NULL, 100, 'terverifikasi', 0, 'bergantung', NULL, NULL, '2026-05-17 08:13:55', '2026-05-17 10:41:31'); -- -- Indexes for dumped tables -- -- -- Indexes for table `anggota_keluarga` -- ALTER TABLE `anggota_keluarga` ADD PRIMARY KEY (`id`), ADD KEY `fk_anggota_warga` (`rumah_warga_id`); -- -- Indexes for table `konfigurasi_sistem` -- ALTER TABLE `konfigurasi_sistem` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `uk_kunci` (`kunci`); -- -- Indexes for table `redistribusi_bantuan` -- ALTER TABLE `redistribusi_bantuan` ADD PRIMARY KEY (`id`), ADD KEY `fk_redist_pengirim` (`ibadah_pengirim_id`), ADD KEY `fk_redist_penerima` (`ibadah_penerima_id`), ADD KEY `idx_periode` (`periode_bulan`), ADD KEY `idx_status` (`status`); -- -- Indexes for table `riwayat_kemandirian` -- ALTER TABLE `riwayat_kemandirian` ADD PRIMARY KEY (`id`), ADD KEY `fk_kemandirian_warga` (`rumah_warga_id`); -- -- Indexes for table `riwayat_verifikasi` -- ALTER TABLE `riwayat_verifikasi` ADD PRIMARY KEY (`id`), ADD KEY `fk_riwayat_warga` (`rumah_warga_id`); -- -- Indexes for table `rumah_ibadah` -- ALTER TABLE `rumah_ibadah` ADD PRIMARY KEY (`id`); -- -- Indexes for table `rumah_warga` -- ALTER TABLE `rumah_warga` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `no_kk` (`no_kk`), ADD UNIQUE KEY `uk_no_kk` (`no_kk`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `anggota_keluarga` -- ALTER TABLE `anggota_keluarga` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7; -- -- AUTO_INCREMENT for table `konfigurasi_sistem` -- ALTER TABLE `konfigurasi_sistem` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9; -- -- AUTO_INCREMENT for table `redistribusi_bantuan` -- ALTER TABLE `redistribusi_bantuan` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `riwayat_kemandirian` -- ALTER TABLE `riwayat_kemandirian` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `riwayat_verifikasi` -- ALTER TABLE `riwayat_verifikasi` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- AUTO_INCREMENT for table `rumah_ibadah` -- ALTER TABLE `rumah_ibadah` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; -- -- AUTO_INCREMENT for table `rumah_warga` -- ALTER TABLE `rumah_warga` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; -- -- Constraints for dumped tables -- -- -- Constraints for table `anggota_keluarga` -- ALTER TABLE `anggota_keluarga` ADD CONSTRAINT `fk_anggota_warga` FOREIGN KEY (`rumah_warga_id`) REFERENCES `rumah_warga` (`id`) ON DELETE CASCADE; -- -- Constraints for table `redistribusi_bantuan` -- ALTER TABLE `redistribusi_bantuan` ADD CONSTRAINT `fk_redist_penerima` FOREIGN KEY (`ibadah_penerima_id`) REFERENCES `rumah_ibadah` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `fk_redist_pengirim` FOREIGN KEY (`ibadah_pengirim_id`) REFERENCES `rumah_ibadah` (`id`) ON DELETE CASCADE; -- -- Constraints for table `riwayat_kemandirian` -- ALTER TABLE `riwayat_kemandirian` ADD CONSTRAINT `fk_kemandirian_warga` FOREIGN KEY (`rumah_warga_id`) REFERENCES `rumah_warga` (`id`) ON DELETE CASCADE; -- -- Constraints for table `riwayat_verifikasi` -- ALTER TABLE `riwayat_verifikasi` ADD CONSTRAINT `fk_riwayat_warga` FOREIGN KEY (`rumah_warga_id`) REFERENCES `rumah_warga` (`id`) ON DELETE CASCADE; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;