initiall commit

This commit is contained in:
unknown
2026-06-10 21:59:59 +07:00
commit cfd55d0dd0
28 changed files with 3442 additions and 0 deletions
+166
View File
@@ -0,0 +1,166 @@
-- ============================================
-- DATABASE: pemetaan_kemiskinan
-- DIBUAT UNTUK: Sistem Pemetaan Kemiskinan
-- ============================================
-- CREATE DATABASE
CREATE DATABASE IF NOT EXISTS `pemetaan_kemiskinan` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `pemetaan_kemiskinan`;
-- ============================================
-- TABLE 1: masyarakat_miskin
-- ============================================
CREATE TABLE IF NOT EXISTS `masyarakat_miskin` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`nama` varchar(100) NOT NULL,
`tanggal_lahir` date NOT NULL,
`jenis_kelamin` enum('Laki-laki','Perempuan') NOT NULL,
`nik` varchar(20),
`alamat` text NOT NULL,
`latitude` decimal(10,8) NOT NULL,
`longitude` decimal(11,8) NOT NULL,
`status_bpjs` enum('Ya','Tidak','Proses') DEFAULT 'Tidak',
`no_hp` varchar(15),
`pekerjaan` varchar(100),
`pendapatan_bulanan` int(11),
`jumlah_tanggungan` int(11),
`status_rumah` enum('Milik Sendiri','Sewa','Menumpang') DEFAULT 'Menumpang',
`kelurahan` varchar(100),
`kecamatan` varchar(100),
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX `idx_nama` (`nama`),
INDEX `idx_status_bpjs` (`status_bpjs`),
INDEX `idx_kecamatan` (`kecamatan`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- ============================================
-- TABLE 2: rumah_ibadah
-- ============================================
CREATE TABLE IF NOT EXISTS `rumah_ibadah` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`nama` varchar(100) NOT NULL,
`jenis` enum('Masjid','Gereja','Vihara','Kelenteng','Sinagog','Lain') NOT NULL,
`latitude` decimal(10,8) NOT NULL,
`longitude` decimal(11,8) NOT NULL,
`alamat` text NOT NULL,
`nama_pemimpin` varchar(100),
`no_hp_pemimpin` varchar(15),
`kapasitas` int(11),
`tahun_didirikan` year,
`keterangan` text,
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX `idx_nama` (`nama`),
INDEX `idx_jenis` (`jenis`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- ============================================
-- TABLE 3: bantuan_riwayat
-- ============================================
CREATE TABLE IF NOT EXISTS `bantuan_riwayat` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`id_masyarakat` int(11) NOT NULL,
`jenis_bantuan` varchar(100) NOT NULL,
`tanggal_bantuan` date NOT NULL,
`nilai` int(11) NOT NULL,
`satuan` varchar(50),
`keterangan` text,
`nama_pemberi` varchar(100),
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (`id_masyarakat`) REFERENCES `masyarakat_miskin`(`id`) ON DELETE CASCADE,
INDEX `idx_id_masyarakat` (`id_masyarakat`),
INDEX `idx_tanggal` (`tanggal_bantuan`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- ============================================
-- TABLE 4: bpjs_record
-- ============================================
CREATE TABLE IF NOT EXISTS `bpjs_record` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`id_masyarakat` int(11) NOT NULL,
`no_peserta` varchar(20) NOT NULL UNIQUE,
`jenis_bpjs` enum('Kesehatan','Ketenagakerjaan','Jaminan Hari Tua') DEFAULT 'Kesehatan',
`tingkat` enum('Penerima Bantuan Iuran (PBI)','Pekerja Penerima Upah','Pekerja Bukan Penerima Upah','Peserta Mandiri') DEFAULT 'Penerima Bantuan Iuran (PBI)',
`tanggal_daftar` date NOT NULL,
`status_aktif` enum('Aktif','Nonaktif','Suspended') DEFAULT 'Aktif',
`faskes_tingkat_1` varchar(100),
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (`id_masyarakat`) REFERENCES `masyarakat_miskin`(`id`) ON DELETE CASCADE,
INDEX `idx_id_masyarakat` (`id_masyarakat`),
INDEX `idx_no_peserta` (`no_peserta`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- ============================================
-- TABLE 5: users (untuk login admin)
-- ============================================
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`username` varchar(50) NOT NULL UNIQUE,
`password` varchar(255) NOT NULL,
`nama_lengkap` varchar(100) NOT NULL,
`role` enum('Admin','Surveyor','Viewer') DEFAULT 'Surveyor',
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- Insert default admin user (password: admin123)
INSERT INTO `users` (`username`, `password`, `nama_lengkap`, `role`) VALUES
('admin', '5f4dcc3b5aa765d61d8327deb882cf99', 'Administrator', 'Admin');
-- ============================================
-- TABLE 6: fasilitas_jalan
-- ============================================
CREATE TABLE IF NOT EXISTS `fasilitas_jalan` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`nama` varchar(150) NOT NULL,
`geojson` text NOT NULL,
`tipe` varchar(50),
`keterangan` text,
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- ============================================
-- TABLE 7: fasilitas_polygon
-- ============================================
CREATE TABLE IF NOT EXISTS `fasilitas_polygon` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`nama` varchar(150) NOT NULL,
`geojson` text NOT NULL,
`tipe` varchar(50),
`keterangan` text,
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- ============================================
-- TABLE 8: fasilitas_spbu
-- ============================================
CREATE TABLE IF NOT EXISTS `fasilitas_spbu` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`nama` varchar(150) NOT NULL,
`latitude` decimal(10,8) NOT NULL,
`longitude` decimal(11,8) NOT NULL,
`alamat` text,
`is_24_jam` enum('Ya','Tidak') DEFAULT 'Tidak',
`created_at` timestamp DEFAULT CURRENT_TIMESTAMP,
`updated_at` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- ============================================
-- SAMPLE DATA (Opsional - untuk testing)
-- ============================================
-- Sample Masyarakat Miskin
INSERT INTO `masyarakat_miskin` (`nama`, `tanggal_lahir`, `jenis_kelamin`, `nik`, `alamat`, `latitude`, `longitude`, `status_bpjs`, `no_hp`, `pekerjaan`, `pendapatan_bulanan`, `jumlah_tanggungan`, `status_rumah`, `kelurahan`, `kecamatan`) VALUES
('Siti Nur Azizah', '1985-03-15', 'Perempuan', '6101234567890123', 'Jl. Mahakam No. 25', -0.0612, 109.3445, 'Ya', '081234567890', 'Buruh Harian', 1500000, 4, 'Menumpang', 'Sungai Jawi', 'Pontianak Kota');
-- Sample Rumah Ibadah
INSERT INTO `rumah_ibadah` (`nama`, `jenis`, `latitude`, `longitude`, `alamat`, `nama_pemimpin`, `no_hp_pemimpin`, `kapasitas`, `tahun_didirikan`) VALUES
('Masjid Al-Hidayah', 'Masjid', -0.0615, 109.3450, 'Jl. Diponegoro No. 45', 'Ustaz Ahmad', '081234567890', 500, 2005),
('Gereja Hati Kudus', 'Gereja', -0.0610, 109.3440, 'Jl. Jend Sudirman No. 12', 'Pdt. Bonaventura', '081234567891', 300, 1995);
-- ============================================
-- SELESAI
-- ============================================