Project UAS Sistem Informasi Geografis (SIG)

This commit is contained in:
2026-06-08 20:24:54 +07:00
commit c6087ed7dd
33 changed files with 4549 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
<?php
header('Content-Type: application/json');
include 'db.php';
$data = json_decode(file_get_contents("php://input"), true);
if (!$data) { echo json_encode(["message"=>"Data kosong"]); exit; }
$nama_kk = $data['nama_kk'] ?? '';
$jumlah_anggota = $data['jumlah_anggota'] ?? 1;
$alamat = $data['alamat'] ?? '';
$lat = $data['lat'] ?? 0;
$lng = $data['lng'] ?? 0;
// Parameter baru
$penghasilan = $data['penghasilan'] ?? '< 500rb';
$kondisi_rumah = $data['kondisi_rumah'] ?? 'Kayu';
$sumber_air = $data['sumber_air'] ?? 'Sumur';
if ($nama_kk==='' || $alamat==='') { echo json_encode(["message"=>"Field tidak lengkap"]); exit; }
// Kalkulasi Bobot
$penghasilan_opsi = ['< 500rb' => 100, '500rb - 1jt' => 50, '> 1jt' => 10];
$rumah_opsi = ['Bambu/Tepas' => 100, 'Kayu' => 50, 'Tembok' => 10];
$air_opsi = ['Sungai' => 100, 'Sumur' => 50, 'PDAM' => 10];
$val_p = $penghasilan_opsi[$penghasilan] ?? 50;
$val_r = $rumah_opsi[$kondisi_rumah] ?? 50;
$val_a = $air_opsi[$sumber_air] ?? 50;
// Rumus: Penghasilan 50%, Rumah 30%, Air 20%
$skor_kerentanan = ($val_p * 0.50) + ($val_r * 0.30) + ($val_a * 0.20);
// Rekomendasi jenis bantuan berdasarkan indikator terburuk
$skor_per_jenis = [
'BLT / Modal Usaha' => $val_p,
'Bedah Rumah' => $val_r,
'Air Bersih / PDAM' => $val_a,
];
arsort($skor_per_jenis);
$jenis_bantuan = array_key_first($skor_per_jenis);
$stmt = $conn->prepare("INSERT INTO penduduk_miskin (nama_kk, jumlah_anggota, alamat, latitude, longitude, penghasilan, kondisi_rumah, sumber_air, skor_kerentanan, jenis_bantuan) VALUES (?,?,?,?,?,?,?,?,?,?)");
$stmt->bind_param("sisddsssds", $nama_kk, $jumlah_anggota, $alamat, $lat, $lng, $penghasilan, $kondisi_rumah, $sumber_air, $skor_kerentanan, $jenis_bantuan);
if ($stmt->execute()) {
echo json_encode(["message"=>"Berhasil", "id"=>$stmt->insert_id, "skor"=>$skor_kerentanan]);
} else {
echo json_encode(["message"=>"Gagal", "error"=>$stmt->error]);
}
$stmt->close(); $conn->close();
?>