query("SELECT COUNT(*) AS c FROM rumah_miskin")->fetch_assoc()['c']; $terjangkau = $conn->query("SELECT COUNT(*) AS c FROM rumah_miskin WHERE status_bantuan='Terjangkau'")->fetch_assoc()['c']; $sudahTerima = $conn->query("SELECT COUNT(*) AS c FROM rumah_miskin WHERE status_bantuan='Sudah Menerima'")->fetch_assoc()['c']; $blankSpot = $conn->query("SELECT COUNT(*) AS c FROM rumah_miskin WHERE status_bantuan='Belum Terbantu'")->fetch_assoc()['c']; $prioritas = $conn->query("SELECT COUNT(*) AS c FROM rumah_miskin WHERE prioritas=1")->fetch_assoc()['c']; $totalBantuan = $conn->query("SELECT COUNT(*) AS c FROM bantuan_tersalur")->fetch_assoc()['c']; $totalIbadah = $conn->query("SELECT COUNT(*) AS c FROM rumah_ibadah")->fetch_assoc()['c']; $totalTanggungan = $conn->query("SELECT SUM(jumlah_tanggungan) AS c FROM rumah_miskin")->fetch_assoc()['c'] ?? 0; $avgPendapatan = $conn->query("SELECT AVG(pendapatan_bulanan) AS c FROM rumah_miskin")->fetch_assoc()['c'] ?? 0; $pct = $totalKpm > 0 ? round(($terjangkau + $sudahTerima) / $totalKpm * 100) : 0; $byKondisi = $conn->query("SELECT kondisi_rumah, COUNT(*) AS c FROM rumah_miskin GROUP BY kondisi_rumah"); $kondisiData = []; while ($r = $byKondisi->fetch_assoc()) $kondisiData[$r['kondisi_rumah']] = $r['c']; $byKec = $conn->query("SELECT kecamatan, COUNT(*) AS c FROM rumah_miskin WHERE kecamatan IS NOT NULL AND kecamatan!='' GROUP BY kecamatan ORDER BY c DESC LIMIT 10"); $ibadahPerf = $conn->query("SELECT ri.nama_ibadah, ri.kuota_bantuan, ri.radius_m, COUNT(bt.id) AS total_salur FROM rumah_ibadah ri LEFT JOIN bantuan_tersalur bt ON ri.id=bt.ibadah_id GROUP BY ri.id ORDER BY total_salur DESC"); $pendDist = $conn->query("SELECT SUM(CASE WHEN pendapatan_bulanan < 500000 THEN 1 ELSE 0 END) AS sangat_rendah, SUM(CASE WHEN pendapatan_bulanan BETWEEN 500000 AND 1000000 THEN 1 ELSE 0 END) AS rendah, SUM(CASE WHEN pendapatan_bulanan BETWEEN 1000001 AND 2000000 THEN 1 ELSE 0 END) AS menengah, SUM(CASE WHEN pendapatan_bulanan > 2000000 THEN 1 ELSE 0 END) AS atas FROM rumah_miskin")->fetch_assoc(); include 'includes/sidebar.php'; ?>

Laporan & Statistik

Data per

Total KPM Terdata
jiwa
%
Cakupan Bantuan
KK
Blank Spot
Belum terjangkau
Bantuan Tersalur
Transaksi tercatat

Distribusi Status KPM

[$blankSpot, '#dc2626'], 'Terjangkau' => [$terjangkau, '#16a34a'], 'Sudah Menerima' => [$sudahTerima, '#2563eb'], 'Prioritas Bencana' => [$prioritas, '#ea580c'], ]; foreach ($statusArr as $label => [$val, $color]): $p = $totalKpm > 0 ? round($val / $totalKpm * 100) : 0; ?>
KK  %
'#dc2626','Tidak Layak'=>'#ea580c','Layak'=>'#16a34a'] as $k=>$c): ?>

Distribusi Pendapatan

[$pendDist['sangat_rendah'], '#dc2626'], 'Rp500rb – 1jt' => [$pendDist['rendah'], '#ea580c'], 'Rp1jt – 2jt' => [$pendDist['menengah'], '#d97706'], '> Rp2 jt' => [$pendDist['atas'], '#16a34a'], ]; foreach ($pendArr as $label => [$val, $color]): $pp = $totalKpm > 0 ? round($val / $totalKpm * 100) : 0; ?>
Rata-rata Pendapatan
per bulan / KK

Sebaran per Kecamatan

num_rows === 0): ?> fetch_assoc()): $p2 = $totalKpm > 0 ? round($r['c'] / $totalKpm * 100) : 0; ?>
KecamatanKPMProporsi
Data wilayah belum diisi
%

Performa Rumah Ibadah

Lihat semua
num_rows === 0): ?> fetch_assoc()): ?>
NamaKuotaRadiusBantuan
Belum ada data
KK m x