Web Development & AI
Completed
May 2026
JelajahSumut
Sistem WebGIS cerdas untuk merencanakan rute wisata harian round-trip (hotel-ke-hotel) di Sumatera Utara menggunakan algoritma optimasi Hybrid ACO-GA dan integrasi TomTom Live Traffic.
JelajahSumut.view
LIVE
Ringkasan Proyek
Latar belakang dan cakupan sistem
Merencanakan perjalanan wisata harian sering kali berakhir melelahkan karena rute yang acak-acakan, salah perkiraan waktu tempuh, atau terjebak kemacetan. Jelajah Sumut adalah aplikasi berbasis WebGIS yang dirancang khusus untuk memecahkan masalah tersebut.
Sistem ini mengambil pendekatan hotel-centric: wisatawan cukup memilih penginapan awal, jam berangkat, dan jam pulang yang diinginkan. Sistem kemudian secara otomatis memfilter destinasi dalam satu klaster wilayah (seperti Danau Toba/Samosir, Berastagi/Karo, Bukit Lawang/Langkat, atau Sibolga), menghitung kombinasi urutan kunjungan terbaik, lalu menyajikan rute melingkar (round-trip) lengkap dengan peta interaktif, estimasi biaya (mobil/motor), serta breakdown jadwal menit demi menit agar wisatawan tidak terlambat kembali ke hotel.
Sistem ini mengambil pendekatan hotel-centric: wisatawan cukup memilih penginapan awal, jam berangkat, dan jam pulang yang diinginkan. Sistem kemudian secara otomatis memfilter destinasi dalam satu klaster wilayah (seperti Danau Toba/Samosir, Berastagi/Karo, Bukit Lawang/Langkat, atau Sibolga), menghitung kombinasi urutan kunjungan terbaik, lalu menyajikan rute melingkar (round-trip) lengkap dengan peta interaktif, estimasi biaya (mobil/motor), serta breakdown jadwal menit demi menit agar wisatawan tidak terlambat kembali ke hotel.
Latar Belakang & Kebutuhan
Kendala operasional dan kebutuhan spesifikasi sistem
Itinerary Tidak Realistis: Wisatawan kerap memaksakan mengunjungi terlalu banyak destinasi tanpa memperhitungkan batas jam operasional, durasi kunjungan di lokasi, dan waktu tempuh nyata antar titik.
Kondisi Geografis & Karakter Jalan: Di wilayah Sumatera Utara, jarak garis lurus tidak mencerminkan jarak darat sebenarnya karena medan berkelok dan kecepatan rata-rata kendaraan yang relatif rendah (~32 km/jam).
Komputasi Rute Kompleks (TSP/Orienteering Problem): Menemukan urutan kunjungan optimal dari belasan opsi destinasi dengan batasan waktu yang ketat butuh daya komputasi tinggi. Jika memanggil API rute berbayar untuk setiap kombinasi, kuota API akan cepat habis dan sistem menjadi lambat.
Kondisi Geografis & Karakter Jalan: Di wilayah Sumatera Utara, jarak garis lurus tidak mencerminkan jarak darat sebenarnya karena medan berkelok dan kecepatan rata-rata kendaraan yang relatif rendah (~32 km/jam).
Komputasi Rute Kompleks (TSP/Orienteering Problem): Menemukan urutan kunjungan optimal dari belasan opsi destinasi dengan batasan waktu yang ketat butuh daya komputasi tinggi. Jika memanggil API rute berbayar untuk setiap kombinasi, kuota API akan cepat habis dan sistem menjadi lambat.
Solusi & Desain Sistem
Pendekatan arsitektur dan struktur logika sistem
Solusinya adalah membangun pipeline optimasi cerdas bertingkat tanpa framework berat, murni menggunakan arsitektur PHP Native dan MySQL:
Klasterisasi Wilayah & Subwilayah: Membatasi destinasi hanya pada radius kawasan hotel untuk menghindari rute lintas daerah yang tidak masuk akal dalam satu hari.
Optimasi Hybrid ACO-GA: Menggabungkan Ant Colony Optimization (ACO) untuk membangun jalur awal berbasis jejak feromon dan Genetic Algorithm (GA) untuk mengevolusikan rute terbaik lewat seleksi, crossover, dan mutasi.
Two-Tier API Refinement: Perhitungan awal menggunakan formula Haversine dengan faktor kelok jalan (1.28) untuk menyaring ribuan kombinasi secara lokal di server. Hanya Top 4 kandidat rute terbaik yang dikirim ke TomTom Routing API untuk mengambil data jarak presisi, keterlambatan macet (live traffic delay), dan geometri jalan.
Visualisasi Interaktif: Menampilkan rute jalan, marker hotel/destinasi, dan popup informasi secara dinamis menggunakan Leaflet.js dan peta OpenStreetMap.
Klasterisasi Wilayah & Subwilayah: Membatasi destinasi hanya pada radius kawasan hotel untuk menghindari rute lintas daerah yang tidak masuk akal dalam satu hari.
Optimasi Hybrid ACO-GA: Menggabungkan Ant Colony Optimization (ACO) untuk membangun jalur awal berbasis jejak feromon dan Genetic Algorithm (GA) untuk mengevolusikan rute terbaik lewat seleksi, crossover, dan mutasi.
Two-Tier API Refinement: Perhitungan awal menggunakan formula Haversine dengan faktor kelok jalan (1.28) untuk menyaring ribuan kombinasi secara lokal di server. Hanya Top 4 kandidat rute terbaik yang dikirim ke TomTom Routing API untuk mengambil data jarak presisi, keterlambatan macet (live traffic delay), dan geometri jalan.
Visualisasi Interaktif: Menampilkan rute jalan, marker hotel/destinasi, dan popup informasi secara dinamis menggunakan Leaflet.js dan peta OpenStreetMap.
Pendekatan Teknis & Pemilihan Teknologi
Alasan pemilihan teknologi dan alur proses data
Algoritma Optimasi Metaheuristik:
ACO Phase: 16 semut dijalankan dalam 12 iterasi. Probabilitas pemilihan jalur dihitung berdasarkan bobot feromon ($\alpha = 1.0$) dan nilai kemenarikan/desirability ($\beta = 2.4$) yang adaptif terhadap mode preferensi (Balanced, Fastest, Cheapest, atau Most Destinations).
GA Phase: Mengambil benih rute ACO ke dalam populasi 20 individu, melewati seleksi turnamen, rekombinasi urutan rute, mutasi acak (22%), serta mekanisme repair route otomatis jika durasi melebihi batas waktu pulang.
Multi-Objective Scoring Function: Fungsi fitness mempertimbangkan jarak tempuh, durasi total, biaya tiket & parkir, penalti jika lintas subwilayah, penalti akses non-darat, dan kondisi jalan lokal.
Database Architecture:
Desain skema relasional di MySQL mencakup tabel regions, subregions, hotels, destinations, road_conditions, dan media_gallery dengan indeks koordinat (lat/long) dan foreign key constraints.
Tabel route_histories menyimpan payload kalkulasi, data perbandingan algoritma, dan geometri rute dalam format JSON untuk caching dan riwayat pencarian instan.
WebGIS & Client-Side:
Integrasi Leaflet.js dengan layer OpenStreetMap untuk me-render polyline rute jalan, kalkulasi auto-fit bounds peta, serta timeline perjalanan interaktif.
ACO Phase: 16 semut dijalankan dalam 12 iterasi. Probabilitas pemilihan jalur dihitung berdasarkan bobot feromon ($\alpha = 1.0$) dan nilai kemenarikan/desirability ($\beta = 2.4$) yang adaptif terhadap mode preferensi (Balanced, Fastest, Cheapest, atau Most Destinations).
GA Phase: Mengambil benih rute ACO ke dalam populasi 20 individu, melewati seleksi turnamen, rekombinasi urutan rute, mutasi acak (22%), serta mekanisme repair route otomatis jika durasi melebihi batas waktu pulang.
Multi-Objective Scoring Function: Fungsi fitness mempertimbangkan jarak tempuh, durasi total, biaya tiket & parkir, penalti jika lintas subwilayah, penalti akses non-darat, dan kondisi jalan lokal.
Database Architecture:
Desain skema relasional di MySQL mencakup tabel regions, subregions, hotels, destinations, road_conditions, dan media_gallery dengan indeks koordinat (lat/long) dan foreign key constraints.
Tabel route_histories menyimpan payload kalkulasi, data perbandingan algoritma, dan geometri rute dalam format JSON untuk caching dan riwayat pencarian instan.
WebGIS & Client-Side:
Integrasi Leaflet.js dengan layer OpenStreetMap untuk me-render polyline rute jalan, kalkulasi auto-fit bounds peta, serta timeline perjalanan interaktif.
Peran & Tanggung Jawab
Tanggung jawab langsung dalam pengembangan modul
Merancang dan membangun arsitektur sistem dari awal menggunakan PHP Native dan MySQL (termasuk dashboard admin untuk manajemen data spasial & media).
Mengimplementasikan seluruh formula matematika dan logika algoritma Hybrid ACO-GA dari nol tanpa pustaka pihak ketiga.
Merancang strategi two-tier filtering untuk menghemat konsumsi kuota TomTom Routing API hingga lebih dari 85% sekaligus menjaga performa komputasi server.
Mengembangkan antarmuka WebGIS interaktif berbasis Leaflet.js yang responsif dan mudah dipahami wisatawan awam.
Mengimplementasikan seluruh formula matematika dan logika algoritma Hybrid ACO-GA dari nol tanpa pustaka pihak ketiga.
Merancang strategi two-tier filtering untuk menghemat konsumsi kuota TomTom Routing API hingga lebih dari 85% sekaligus menjaga performa komputasi server.
Mengembangkan antarmuka WebGIS interaktif berbasis Leaflet.js yang responsif dan mudah dipahami wisatawan awam.
Hasil & Dampak Proyek
Pencapaian fungsional dan pengujian hasil implementasi
Waktu Eksekusi Cepat: Komputasi optimasi kombinatorial multi-destinasi selesai dalam waktu singkat (di bawah 1–2 detik) di lingkungan server PHP Native.
Efisiensi Kuota API: Mengeliminasi pemanggilan API berulang; dari potensi ratusan request per pencarian rute, ditekan hanya menjadi 4 panggilan API per eksekusi rute final.
Akurasi & Kelayakan Rute: 100% rute yang direkomendasikan memenuhi batasan waktu harian (time-window constraint) dan memperhitungkan kondisi kemacetan aktual dari TomTom Live Traffic.
Efisiensi Kuota API: Mengeliminasi pemanggilan API berulang; dari potensi ratusan request per pencarian rute, ditekan hanya menjadi 4 panggilan API per eksekusi rute final.
Akurasi & Kelayakan Rute: 100% rute yang direkomendasikan memenuhi batasan waktu harian (time-window constraint) dan memperhitungkan kondisi kemacetan aktual dari TomTom Live Traffic.