From 77051fb0c53831d67f200710d0516ed13ec3a8cf Mon Sep 17 00:00:00 2001 From: Freya_Martines Date: Fri, 12 Jun 2026 17:50:24 +0000 Subject: [PATCH] Upload files to "/" --- hapus_kavling.php | 10 +- index.html | 630 ++++++++++--------------------------------- install_database.php | 47 ++++ koneksi.php | 23 ++ simpan.php | 22 +- 5 files changed, 237 insertions(+), 495 deletions(-) create mode 100644 install_database.php create mode 100644 koneksi.php diff --git a/hapus_kavling.php b/hapus_kavling.php index 2c8a196..a463071 100644 --- a/hapus_kavling.php +++ b/hapus_kavling.php @@ -1,4 +1,8 @@ query("DELETE FROM kavling WHERE id=$_POST[id]"); -?> \ No newline at end of file +require_once 'koneksi.php'; +$id = (int)($_POST['id'] ?? 0); +$stmt = $conn->prepare("DELETE FROM kavling WHERE id=?"); +$stmt->bind_param('i', $id); +$stmt->execute(); +echo json_encode(['status' => 'success']); +?> diff --git a/index.html b/index.html index db9ccb5..49a59e4 100644 --- a/index.html +++ b/index.html @@ -1,485 +1,153 @@ - + - -GIS SPBU - - - - - - - - - - - - - - - - - - - -
- - + * { box-sizing: border-box; } + body { + margin: 0; + font-family: Arial, Helvetica, sans-serif; + background: var(--bg); + color: var(--text); + } + header { + background: var(--primary); + color: white; + padding: 42px 24px; + text-align: center; + } + header h1 { + margin: 0 0 10px; + font-size: clamp(26px, 4vw, 42px); + } + header p { + margin: 0; + color: #d1d5db; + } + main { + max-width: 1120px; + margin: -28px auto 48px; + padding: 0 18px; + } + .grid { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 18px; + } + .card { + background: var(--card); + border: 1px solid var(--line); + border-radius: 18px; + padding: 22px; + box-shadow: 0 8px 24px rgba(17,24,39,.08); + min-height: 260px; + display: flex; + flex-direction: column; + justify-content: space-between; + } + .badge { + display: inline-block; + padding: 7px 10px; + border-radius: 999px; + background: var(--soft); + color: #374151; + font-size: 12px; + font-weight: 700; + margin-bottom: 16px; + } + .card h2 { + margin: 0 0 10px; + font-size: 20px; + } + .card p { + margin: 0 0 18px; + color: var(--muted); + line-height: 1.55; + font-size: 14px; + } + a.btn { + display: inline-block; + text-decoration: none; + background: var(--primary); + color: white; + padding: 11px 14px; + border-radius: 12px; + font-weight: 700; + text-align: center; + } + .info { + background: white; + border: 1px solid var(--line); + border-radius: 16px; + padding: 18px 20px; + margin-top: 18px; + color: var(--muted); + line-height: 1.55; + } + code { background: #f3f4f6; padding: 2px 6px; border-radius: 6px; color: #111827; } + @media (max-width: 900px) { .grid { grid-template-columns: repeat(2, 1fr); } } + @media (max-width: 560px) { .grid { grid-template-columns: 1fr; } main { margin-top: -18px; } } + + + +
+

Landing Page Tugas SIG

+

Kumpulan tugas WebGIS kelas milik Freya Martines

+
+ +
+
+
+
+ Tugas 1 +

WebGIS Pemetaan SPBU

+

Menampilkan, menambah, mengedit, dan menghapus titik SPBU menggunakan marker Leaflet.

+
+ Buka Tugas 1 +
+ +
+
+ Tugas 2 +

Jalan & Kavling

+

Manajemen data spasial jalan dalam bentuk polyline dan data kavling/tanah dalam bentuk polygon.

+
+ Buka Tugas 2 +
+ +
+
+ Tugas 3 +

Layer Control SPBU

+

Menampilkan layer group SPBU berdasarkan status buka 24 jam dan tidak buka 24 jam.

+
+ Buka Tugas 3 +
+ +
+
+ Tugas 4 +

GeoJSON Kecamatan

+

Menampilkan batas kecamatan Kota Pontianak dari file GeoJSON beserta nama kecamatan dan populasi.

+
+ Buka Tugas 4 +
+
+ +
+ Setelah deploy, URL tugas akan berbentuk /Tugas1/, /Tugas2/, /Tugas3/, dan /Tugas4/ dari domain utama Coolify. +
+
- \ No newline at end of file + diff --git a/install_database.php b/install_database.php new file mode 100644 index 0000000..77a8f04 --- /dev/null +++ b/install_database.php @@ -0,0 +1,47 @@ +Install Database Tugas SIG Kelas Freya"; +echo "

Target koneksi: " . htmlspecialchars($host) . ":" . htmlspecialchars((string)$port) . ", database: " . htmlspecialchars($db) . ", user: " . htmlspecialchars($user) . "

"; + +$conn = new mysqli($host, $user, $pass, $db, $port); +if ($conn->connect_error) { + die("

Koneksi gagal: " . htmlspecialchars($conn->connect_error) . "

"); +} +$conn->set_charset('utf8mb4'); + +$sqlFile = __DIR__ . '/database.sql'; +if (!file_exists($sqlFile)) { + die("

File database.sql tidak ditemukan.

"); +} + +$sql = file_get_contents($sqlFile); +$sql = preg_replace('/CREATE\s+DATABASE\s+IF\s+NOT\s+EXISTS\s+`?[^`\s;]+`?.*?;/is', '', $sql); +$sql = preg_replace('/CREATE\s+DATABASE\s+`?[^`\s;]+`?.*?;/is', '', $sql); +$sql = preg_replace('/USE\s+`?[^`\s;]+`?\s*;/is', '', $sql); + +if ($conn->multi_query($sql)) { + do { + if ($result = $conn->store_result()) { $result->free(); } + } while ($conn->more_results() && $conn->next_result()); + + if ($conn->errno) { + echo "

Ada error saat import: " . htmlspecialchars($conn->error) . "

"; + } else { + echo "

Database berhasil diimport/reset.

"; + echo "

Setelah ini, hapus file install_database.php dari repo lalu redeploy.

"; + } +} else { + echo "

Import gagal: " . htmlspecialchars($conn->error) . "

"; +} +$conn->close(); +?> diff --git a/koneksi.php b/koneksi.php new file mode 100644 index 0000000..af017ed --- /dev/null +++ b/koneksi.php @@ -0,0 +1,23 @@ +connect_error) { + http_response_code(500); + die(json_encode([ + 'status' => 'error', + 'message' => 'Koneksi database gagal: ' . $conn->connect_error + ])); +} + +$conn->set_charset('utf8mb4'); +?> diff --git a/simpan.php b/simpan.php index 91b03f6..e7b24b4 100644 --- a/simpan.php +++ b/simpan.php @@ -1,12 +1,12 @@ query("INSERT INTO spbu (nama, wa, buka, lat, lng) -VALUES ('$nama','$wa','$buka','$lat','$lng')"); -?> \ No newline at end of file +require_once 'koneksi.php'; +$nama = $_POST['nama'] ?? ''; +$wa = $_POST['wa'] ?? ''; +$buka = $_POST['buka'] ?? 'Tidak'; +$lat = $_POST['lat'] ?? 0; +$lng = $_POST['lng'] ?? 0; +$stmt = $conn->prepare("INSERT INTO spbu (nama, wa, buka, lat, lng) VALUES (?, ?, ?, ?, ?)"); +$stmt->bind_param('sssdd', $nama, $wa, $buka, $lat, $lng); +$stmt->execute(); +echo json_encode(['status' => 'success']); +?>