From e0aad3a89357dfd57ab87f84eb31d7c8543e4f63 Mon Sep 17 00:00:00 2001 From: azgrey Date: Fri, 5 Jun 2026 15:34:11 +0700 Subject: [PATCH] first commit --- README.md | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b25d668 --- /dev/null +++ b/README.md @@ -0,0 +1,136 @@ +# Tugas WebGIS — PHP & Leaflet + +Kumpulan tugas WebGIS berbasis PHP + MySQL, dijalankan menggunakan **XAMPP** (Apache + MySQL). + +--- + +## Cara Menjalankan + +### 1. Prasyarat +- [XAMPP](https://www.apachefriends.org/) sudah terinstall +- Apache dan MySQL sudah aktif (buka XAMPP Control Panel → klik **Start** pada keduanya) + +### 2. Letakkan folder project +Salin folder `tugas/` ke dalam direktori `htdocs` milik XAMPP: + +| OS | Path htdocs | +|---------|------------------------------------| +| Windows | `C:\xampp\htdocs\tugas\` | +| Linux | `/opt/lampp/htdocs/tugas/` | +| macOS | `/Applications/XAMPP/htdocs/tugas/`| + +Struktur yang diharapkan: +``` +htdocs/ +└── tugas/ + ├── 01/ + │ ├── index.php + │ └── spbu_map.sql + ├── 02/ + │ ├── index.php + │ └── webgis_db.sql + ├── 03/ + │ ├── index.php + │ ├── pontianak.js + │ ├── pontianak.json + │ └── us-states.js + └── 04/ + ├── index.php + └── spbu_map.sql +``` + +### 3. Import database (untuk tugas yang menggunakan database) + +Buka **phpMyAdmin** di `http://localhost/phpmyadmin`, lalu import file SQL: + +| Tugas | File SQL | Database | +|-------|-------------------|------------| +| 01 | `01/spbu_map.sql` | `spbu_map` | +| 02 | `02/webgis_db.sql`| `webgis_db`| +| 04 | `04/spbu_map.sql` | `spbu_map` | + +> Tugas 03 **tidak memerlukan database** — data sudah ada di file `.js` dan `.json`. + +Cara import via phpMyAdmin: +1. Buka `http://localhost/phpmyadmin` +2. Klik tab **Import** di menu atas +3. Pilih file `.sql` yang sesuai +4. Klik **Go / Kirim** + +Atau bisa juga melalui MySQL CLI: +```bash +mysql -u root -p < tugas/01/spbu_map.sql +mysql -u root -p < tugas/02/webgis_db.sql +``` + +--- + +## Daftar Tugas + +### Tugas 01 — SPBU Map Pontianak +**URL:** `http://localhost/tugas/01/index.php` +**Database:** `spbu_map` + +Peta interaktif SPBU di Pontianak menggunakan Leaflet.js. Fitur: +- Tambah SPBU dengan klik pada peta (isi nama, nomor WA, status 24 jam) +- Marker berwarna: **hijau** = buka 24 jam, **merah** = tidak 24 jam +- Drag marker untuk pindah lokasi (otomatis tersimpan) +- Hapus data SPBU +- Popup dengan info detail dan link WhatsApp + +--- + +### Tugas 02 — WebGIS Jalan dan Parsil Tanah +**URL:** `http://localhost/tugas/02/index.php` +**Database:** `webgis_db` + +WebGIS untuk manajemen data spasial jalan dan parsil tanah. Fitur: +- Gambar **polyline** (jalan) dan **polygon** (parsil tanah) langsung di peta +- Undo titik saat menggambar +- CRUD atribut: nama, status jalan (Nasional/Provinsi/Kabupaten), status kepemilikan (SHM/HGB/HGU/HP) +- Edit geometri (seret titik untuk ubah bentuk) +- Kalkulasi otomatis panjang jalan (meter) dan luas tanah (m²) +- Legenda warna per status + +--- + +### Tugas 03 — Peta Kepadatan Penduduk Pontianak +**URL:** `http://localhost/tugas/03/index.php` +**Database:** Tidak diperlukan + +Peta choropleth kepadatan penduduk per kecamatan di Pontianak menggunakan data GeoJSON lokal. Fitur: +- Visualisasi gradasi warna berdasarkan kepadatan penduduk +- Data koordinat UTM (Zone 49N) dikonversi ke WGS84 via Proj4js +- Info panel saat hover kecamatan +- Legenda kepadatan + +--- + +### Tugas 04 — SPBU Map (Extended) +**URL:** `http://localhost/tugas/04/index.php` +**Database:** `spbu_map` (sama dengan Tugas 01) + +Versi lanjutan dari Tugas 01 dengan fitur tambahan pada tampilan dan fungsionalitas peta SPBU Pontianak. + +--- + +## Konfigurasi Database + +Semua file PHP menggunakan koneksi default XAMPP: + +```php +$conn = new mysqli("localhost", "root", "", "nama_database"); +``` + +Jika password MySQL Anda berbeda dari default (kosong), ubah parameter ketiga sesuai password Anda pada masing-masing file `index.php`. + +--- + +## Teknologi yang Digunakan + +- **PHP** — backend & CRUD database +- **MySQL** — penyimpanan data spasial +- **Leaflet.js** — library peta interaktif +- **Leaflet-Editable** — edit geometri di peta (Tugas 02) +- **Proj4js** — konversi proyeksi koordinat (Tugas 03) +- **OpenStreetMap** — tile layer peta dasar