|
|
||
|---|---|---|
| api | ||
| assets | ||
| config | ||
| .htaccess | ||
| ITEM_SUMMARY.md | ||
| KMZ_Export_Fix_Guide.md | ||
| KMZ_Export_Guide.md | ||
| KMZ_Export_Summary.md | ||
| README.md | ||
| auto_login_genieacs.php | ||
| auto_login_observium.php | ||
| auto_olt.py | ||
| auto_refresh.py | ||
| bc html.txt | ||
| bg.jpg | ||
| database.sql | ||
| debug_onu.html | ||
| debug_onu.json | ||
| get_clients.php | ||
| get_rx_power.php | ||
| hapus.php | ||
| index.php | ||
| login.php | ||
| logout.php | ||
| manajemen_users.php | ||
| megadata.jpeg | ||
| register.php | ||
| setup_instructions.md | ||
| testing_guide.md | ||
| update_database.sql | ||
| wifi.png | ||
README.md
FTTH Planner
Aplikasi perencanaan infrastruktur FTTH (Fiber to the Home) berbasis web menggunakan AdminLTE, PHP, MySQL, dan OpenStreetMaps.
Fitur Utama
- Manajemen Item FTTH: OLT, Tiang Tumpu, ODP, ODC
- Peta Interaktif: Visualisasi infrastruktur menggunakan OpenStreetMaps
- Drag & Drop: Pindahkan item langsung di peta
- Routing Kabel: Buat rute kabel mengikuti jalan
- Form Dinamis: Tambah/edit item dengan form modal
- Dashboard Statistik: Monitoring jumlah item dan route
- Responsive Design: Tampilan optimal di desktop dan mobile
- Export KMZ: Export data ke Google Earth format
Sistem Requirement
- XAMPP (Apache, MySQL, PHP 7.4+)
- Web Browser modern dengan JavaScript enabled
- Koneksi Internet untuk loading maps dan library
Instalasi
1. Setup XAMPP
- Download dan install XAMPP dari https://www.apachefriends.org/
- Start Apache dan MySQL di XAMPP Control Panel
2. Setup Database
- Buka phpMyAdmin di browser:
http://localhost/phpmyadmin - Import file database:
database.sql - Atau jalankan SQL script secara manual untuk membuat database dan tabel
3. Setup Aplikasi
- Copy folder aplikasi ke
C:\xampp\htdocs\ftthplanner - Pastikan struktur folder seperti ini:
C:\xampp\htdocs\ftthplanner\ ├── index.php ├── config/ │ └── database.php ├── api/ │ ├── items.php │ ├── routes.php │ ├── tube_colors.php │ ├── splitters.php │ └── statistics.php ├── assets/ │ ├── css/ │ │ └── custom.css │ └── js/ │ ├── map.js │ ├── app.js │ └── kmz-export.js ├── database.sql ├── README.md ├── KMZ_Export_Guide.md └── testing_guide.md
4. Konfigurasi Database
Edit file config/database.php sesuai dengan setting MySQL Anda:
private $host = "localhost";
private $db_name = "ftth_planner";
private $username = "root";
private $password = "";
5. Akses Aplikasi
Buka browser dan akses: http://localhost/ftthplanner
Cara Penggunaan
Menambah Item FTTH
- Via Sidebar: Klik menu "Tambah OLT", "Tambah Tiang Tumpu", dll
- Via Map: Klik langsung di peta untuk menambah item di lokasi tersebut
- Via Tombol: Klik tombol "Tambah Item" di header card map
Mengedit Item
- Klik marker di peta
- Klik tombol "Edit" di popup
- Update informasi di form modal
- Klik "Simpan"
Memindahkan Item
- Drag & drop marker langsung di peta
- Posisi akan otomatis tersimpan
Membuat Route Kabel
- Mode Routing: Klik tombol "Mode Routing" atau "Route" di popup item
- Pilih Tujuan: Klik item tujuan untuk membuat route
- Auto Route: Sistem akan membuat route mengikuti jalan
Melihat Daftar Item/Route
- Klik menu "Daftar Item" untuk melihat semua item dalam tabel
- Klik menu "Routing Kabel" untuk melihat semua route
Export ke Google Earth
- Klik tombol "Export KMZ" di header peta atau sidebar
- File KMZ otomatis terdownload dengan timestamp
- Buka di Google Earth atau aplikasi GIS lainnya
- Lihat detail lengkap setiap item dan route
Struktur Database
Tabel Utama
ftth_items: Data item infrastruktur FTTHcable_routes: Data routing kabel antar itemitem_types: Jenis-jenis item (OLT, Tiang, ODP, ODC)tube_colors: Master data warna tubesplitter_types: Master data jenis splitter
Relasi
- Item memiliki relasi ke item_types, tube_colors, dan splitter_types
- Route menghubungkan dua item (from_item_id dan to_item_id)
Teknologi yang Digunakan
Frontend
- AdminLTE 3.2: Framework dashboard admin
- Leaflet.js: Library peta interaktif
- OpenStreetMaps: Data peta
- Leaflet Routing Machine: Routing jalan
- Bootstrap 4: CSS framework
- jQuery: JavaScript library
- Font Awesome: Icon library
- JSZip: Compression untuk KMZ export
- FileSaver.js: Download file functionality
Backend
- PHP 7.4+: Server-side scripting
- MySQL: Database
- PDO: Database abstraction layer
Maps & Routing
- OpenStreetMaps: Tile server peta
- Leaflet: Map rendering engine
- OSRM: Routing service
Fitur Lanjutan
Drag & Drop Items
- Semua marker dapat di-drag ke posisi baru
- Update koordinat otomatis tersimpan ke database
Interactive Popup
- Info lengkap item saat klik marker
- Aksi edit, route, dan hapus dalam popup
Route Visualization
- Route terpasang: garis solid hijau
- Route perencanaan: garis putus-putus kuning
- Route maintenance: garis putus-putus merah
Responsive Design
- Optimized untuk desktop dan mobile
- Map dan form menyesuaikan ukuran layar
Export KMZ
- Export semua data items dan routes ke format Google Earth
- File KMZ dengan styling yang sesuai untuk setiap jenis item
- Informasi lengkap dalam popup Google Earth
- Kompatibel dengan aplikasi GIS profesional
Troubleshooting
Error Database Connection
- Pastikan MySQL berjalan di XAMPP
- Cek konfigurasi di
config/database.php - Pastikan database
ftth_plannersudah dibuat
Map Tidak Muncul
- Cek koneksi internet
- Pastikan JavaScript enabled di browser
- Lihat console browser untuk error
Item Tidak Tersimpan
- Cek permission folder aplikasi
- Pastikan semua field required sudah diisi
- Lihat Network tab di browser untuk error API
Route Tidak Terbuat
- Pastikan kedua item sudah ada di database
- Cek koneksi internet untuk routing service
- Mode routing harus aktif sebelum memilih item
Pengembangan Lebih Lanjut
Fitur yang Bisa Ditambahkan
- Import/Export Data: Import data dari Excel/CSV
- Laporan: Generate laporan PDF/Excel
- User Management: Login dan role-based access
- Backup/Restore: Backup data dan konfigurasi
- Mobile App: Native app untuk survey lapangan
- Integration: Integrasi dengan sistem lain via API
Customization
- Ubah warna marker di
assets/css/custom.css - Tambah jenis item baru di database
item_types - Modifikasi form field di
index.php - Tambah validasi di file API
Lisensi
Aplikasi ini dibuat untuk keperluan pembelajaran dan dapat digunakan secara bebas.
Kontak
Untuk pertanyaan dan support, silakan hubungi developer.
Catatan: Pastikan selalu backup database sebelum melakukan perubahan major pada aplikasi.