body{font-family:monospace;background:#0b1120;color:#e0e6f0;padding:20px} .ok{color:#00c9aa} .err{color:#f03e5a} .info{color:#f59e0b} h2{color:#1a5fff}"; echo "
❌ Gagal konek ke MySQL/Database: " . $conn->connect_error . "
"); } echo "✅ Berhasil terhubung ke database $dbName.
"; // Bersihkan data warga lama (opsional, agar tidak duplikat jika di-run berkali-kali) // Kita gunakan TRUNCATE atau DELETE untuk membersihkan tabel relasi $conn->query("SET FOREIGN_KEY_CHECKS = 0"); $conn->query("TRUNCATE TABLE riwayat_penyakit"); $conn->query("TRUNCATE TABLE anggota_keluarga"); $conn->query("TRUNCATE TABLE histori_bantuan"); $conn->query("TRUNCATE TABLE warga"); $conn->query("SET FOREIGN_KEY_CHECKS = 1"); echo "🔄 Tabel warga, anggota_keluarga, riwayat_penyakit, dan histori_bantuan dikosongkan untuk di-generate ulang.
"; // Data Dummy Warga (Kepala Keluarga) $dummyWarga = [ [ 'nama' => 'Budi Santoso', 'nik' => '6171011211750001', 'kelurahan_id' => 4, // Kel. Mariana 'lat' => -0.0185000, 'lng' => 109.3325000, 'kategori' => 'sangat_miskin', 'jumlah_anggota' => 4, 'penghasilan' => 800000, 'tgl_lahir' => '1975-11-12', 'pendidikan' => 'sd', 'keterangan' => 'Bekerja sebagai buruh harian lepas, kondisi rumah kayu lapuk tidak layak huni.', 'anggota' => [ ['nama' => 'Budi Santoso', 'usia' => 50, 'hubungan' => 'Kepala Keluarga', 'penyakit' => ['hipertensi']], ['nama' => 'Siti Aminah', 'usia' => 45, 'hubungan' => 'Istri', 'penyakit' => ['diabetes']], ['nama' => 'Agus Santoso', 'usia' => 18, 'hubungan' => 'Anak', 'penyakit' => ['asma']], ['nama' => 'Eka Santosa', 'usia' => 12, 'hubungan' => 'Anak', 'penyakit' => ['stunting']], ], 'bantuan' => [ ['tanggal' => '2026-01-15', 'jenis' => 'PKH', 'nominal' => 600000, 'sumber_dana' => 'APBN', 'keterangan' => 'Bantuan Program Keluarga Harapan Tahap 1'] ] ], [ 'nama' => 'Ahmad Subarjo', 'nik' => '6171021508800002', 'kelurahan_id' => 3, // Kel. Sungai Bangkong 'lat' => -0.0210000, 'lng' => 109.3540000, 'kategori' => 'miskin', 'jumlah_anggota' => 3, 'penghasilan' => 1200000, 'tgl_lahir' => '1980-08-15', 'pendidikan' => 'smp', 'keterangan' => 'Pedagang kaki lima keliling, pendapatan tidak menentu.', 'anggota' => [ ['nama' => 'Ahmad Subarjo', 'usia' => 45, 'hubungan' => 'Kepala Keluarga', 'penyakit' => []], ['nama' => 'Dewi Lestari', 'usia' => 40, 'hubungan' => 'Istri', 'penyakit' => ['tbc']], ['nama' => 'Roni Subarjo', 'usia' => 10, 'hubungan' => 'Anak', 'penyakit' => []], ], 'bantuan' => [ ['tanggal' => '2026-02-10', 'jenis' => 'BLT', 'nominal' => 300000, 'sumber_dana' => 'APBD', 'keterangan' => 'BLT BBM Kota Pontianak'] ] ], [ 'nama' => 'Nurhayati', 'nik' => '6171034403680003', 'kelurahan_id' => 14, // Kel. Siantan Hulu 'lat' => -0.0110000, 'lng' => 109.3370000, 'kategori' => 'sangat_miskin', 'jumlah_anggota' => 2, 'penghasilan' => 500000, 'tgl_lahir' => '1968-03-04', 'pendidikan' => 'tidak_sekolah', 'keterangan' => 'Janda lanjut usia, bekerja serabutan cuci gosok gosok pakaian tetangga.', 'anggota' => [ ['nama' => 'Nurhayati', 'usia' => 58, 'hubungan' => 'Kepala Keluarga', 'penyakit' => ['jantung']], ['nama' => 'Ani', 'usia' => 15, 'hubungan' => 'Anak', 'penyakit' => []], ], 'bantuan' => [ ['tanggal' => '2026-03-05', 'jenis' => 'Sembako', 'nominal' => 200000, 'sumber_dana' => 'APBD', 'keterangan' => 'Bantuan Pangan Non-Tunai / Sembako Daerah'] ] ], [ 'nama' => 'Hendra Wijaya', 'nik' => '6171041902850004', 'kelurahan_id' => 6, // Kel. Parit Tokaya 'lat' => -0.0295000, 'lng' => 109.3380000, 'kategori' => 'hampir_miskin', 'jumlah_anggota' => 5, 'penghasilan' => 1800000, 'tgl_lahir' => '1985-02-19', 'pendidikan' => 'sma', 'keterangan' => 'Bekerja sebagai ojek online, menanggung orang tua yang sedang sakit stroke.', 'anggota' => [ ['nama' => 'Hendra Wijaya', 'usia' => 41, 'hubungan' => 'Kepala Keluarga', 'penyakit' => []], ['nama' => 'Maria Ulfa', 'usia' => 38, 'hubungan' => 'Istri', 'penyakit' => []], ['nama' => 'Rian Wijaya', 'usia' => 14, 'hubungan' => 'Anak', 'penyakit' => []], ['nama' => 'Kiki Wijaya', 'usia' => 8, 'hubungan' => 'Anak', 'penyakit' => []], ['nama' => 'Nenek Sumi', 'usia' => 70, 'hubungan' => 'Orang Tua', 'penyakit' => ['stroke']], ], 'bantuan' => [] ], [ 'nama' => 'Supriadi', 'nik' => '6171050101900005', 'kelurahan_id' => 1, // Kel. Tengah 'lat' => -0.0260000, 'lng' => 109.3425000, 'kategori' => 'miskin', 'jumlah_anggota' => 1, 'penghasilan' => 400000, 'tgl_lahir' => '1990-01-01', 'pendidikan' => 'smp', 'keterangan' => 'Hidup sebatang kara, mengalami gangguan kesehatan mental ringan (ODGJ terawat), dibantu warga sekitar.', 'anggota' => [ ['nama' => 'Supriadi', 'usia' => 36, 'hubungan' => 'Kepala Keluarga', 'penyakit' => ['odgj']], ], 'bantuan' => [ ['tanggal' => '2026-04-01', 'jenis' => 'Kesehatan', 'nominal' => 0, 'sumber_dana' => 'BPJS', 'keterangan' => 'Pemberian obat jalan gratis penderita ODGJ'] ] ] ]; $wargaCount = 0; $anggotaCount = 0; $penyakitCount = 0; $bantuanCount = 0; foreach ($dummyWarga as $w) { // Insert warga $stmt = $conn->prepare("INSERT INTO warga (nama, nik, kelurahan_id, lat, lng, kategori, jumlah_anggota, penghasilan, tgl_lahir, pendidikan, keterangan, status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'aktif')"); $stmt->bind_param("ssidssissss", $w['nama'], $w['nik'], $w['kelurahan_id'], $w['lat'], $w['lng'], $w['kategori'], $w['jumlah_anggota'], $w['penghasilan'], $w['tgl_lahir'], $w['pendidikan'], $w['keterangan'] ); if ($stmt->execute()) { $wargaId = $conn->insert_id; $wargaCount++; // Insert anggota keluarga foreach ($w['anggota'] as $a) { $stmtA = $conn->prepare("INSERT INTO anggota_keluarga (warga_id, nama, usia, hubungan) VALUES (?, ?, ?, ?)"); $stmtA->bind_param("isis", $wargaId, $a['nama'], $a['usia'], $a['hubungan']); if ($stmtA->execute()) { $anggotaId = $conn->insert_id; $anggotaCount++; // Insert riwayat penyakit foreach ($a['penyakit'] as $py) { $stmtP = $conn->prepare("INSERT INTO riwayat_penyakit (anggota_id, penyakit) VALUES (?, ?)"); $stmtP->bind_param("is", $anggotaId, $py); if ($stmtP->execute()) { $penyakitCount++; } } } } // Insert histori bantuan foreach ($w['bantuan'] as $b) { $stmtB = $conn->prepare("INSERT INTO histori_bantuan (warga_id, tanggal, jenis, nominal, sumber_dana, keterangan) VALUES (?, ?, ?, ?, ?, ?)"); $stmtB->bind_param("ississ", $wargaId, $b['tanggal'], $b['jenis'], $b['nominal'], $b['sumber_dana'], $b['keterangan']); if ($stmtB->execute()) { $bantuanCount++; } } } else { echo "❌ Gagal menginput warga " . htmlspecialchars($w['nama']) . ": " . $conn->error . "
"; } } echo "warga.anggota_keluarga.riwayat_penyakit.histori_bantuan.👉 Silakan kembali ke portal utama untuk melihat hasilnya pada peta & dashboard!
"; echo "⚠️ PENTING: Segera hapus file ini setelah dipakai!
"; echo ""; $conn->close(); ?>