Selasa, 01 Maret 2016

Naik Angkot Terdekat dari ITB

Angkot Cicaheum-Ledeng adalah sarana transportasi bagi sebagian warga ITB. Untuk naik angkot tersebut dapat dilakukan di 3 tempat berikut ini:
  • Pertigaan Ganesha-Tamansari
  • Di depan BATAN
  • Pintu utara dekat SBM
Permasalahannya sekarang adalah dari ketiga tempat tersebut, manakah yang paling dekat dicapai dari kelas / tempat kerja di ITB? Solusi permasalahan ini nampaknya adalah algoritma Dijkstra.


Berikut ini beberapa hasil perhitungan jalur yang paling pendek menurut algoritma Dijkstra

Angkot Cicaheum Ledeng Dan Caringin Sadangserang

Berhubung saya ngantor di gedung labtek 8 STEI-ITB dan tinggal di Bandung utara, pertama-tama yang dihitung adalah 3 alternatif jalur dari STEI -ITB untuk menuju angkot Cicaheum-Ledeng:

Rute menuju angkot dari STEI ITB
Jarak dari masing-masing adalah sebagai berikut:
  • Pertigaan Ganesha-Tamansari (rute merah) : 993
  • Di depan BATAN (rute hijau): 1016
  • Pintu utara dekat SBM (rute kuning): 956
Kesimpulan jalur terdekat dari STEI adalah melalui pintu utara (SBM)

Untuk daerah lain di ITB dapat mengacu ke gambar berikut ini:




Penjelasan warna peta:
  • Kuning tua: daerah dengan jarak terdekat ke pintu SBM 
  • Hijau tua: daerah dengan jarak terdekat ke pintu Batan
  • Merah tua: daerah dengan jarak terdekat ke pertigaan Ganesha-Tamansari
  • Kuning muda: jalur dari STEI (Labtek 8) ke pintu SBM 
  • Hijau muda: jalur dari STEI ke pintu Batan
  • Merah muda: jalur dari STEI ke pertigaan Ganesha-Tamansari
Berikut ini metode visualisasi lainnya:


Beberapa hasil pengamatan:
  • Gedung labtek 8 dilingkupi warna kuning, jadi jarak terdekat adalah ke pintu SBM
  • Gedung Labtek 5 dilingkupi merah, kuning dan hijau, jadi jarak terdekat tergantung keluar dari tanggal sebelah mana
  • Gedung paling jauh dari angkot adalah gedung logistik
Berikut ini adalah rute terpanjang untuk mencapai angkot Cicaheum-Ledeng dari dalam ITB

Perjalanan terpanjang menuju angkot Cicaheum-Ledeng

Angkot Kelapa Dago

Berikut ini perhitungan jarak dengan algoritma Dijkstra untuk angkot Kelapa-Dago. Untuk naik angkot Kelapa Dago dapat dilakukan di pertigaan Dayang Sumbi - Dago atau pertigaan Ganesha - Dago.

Menuju angkot Dago dari Labtek 8
Keterangan gambar
  • merah tua: daerah di ITB yang lebih dekat naik angkot di pertigaan Dayang Sumbi-Dago
  • hijau tua: daeraih di ITB yang lebih dekat naik angkot di pertigaan Ganesha-Dago
  • pink: jalur dari STEI (Labtek 8) ke pertigaan Dayang Sumbi-Dago
  • hijau muda: jalur dari STEI ke pertigaan Ganesha-Dago
Jalur lewat Dayang Sumbi tidak populer karena beberapa pintu di sebelah utara masih ditutup berhubung proyek pembangunan gedung di situ belum selesai.

Berikut ini adalah 2 buah jalur terpanjang untuk mencapai angkot Dago. Daerah tersebut saat ini masih merupakan kawasan pembangunan gedung baru yang belum selesai juga.

Jalur terjauh menuju angkot Dago

Angkot Panghegar-Dago Dan Caringin-Sadangserang

 
Keterangan gambar
  • merah tua: daerah di ITB yang lebih dekat naik angkot di pintu parkir motor barat
  • kuning tua : daerah di ITB yang lebih dekat naik angkot di pintu parkir motor tengah
  • hijau: daerah di ITB yang lebih dekat naik angkot di pintu parkir motor timur
  • pink: jalur dari STEI (Labtek 8) ke pintu parkir motor barat
  • kuning:  jalur dari STEI (Labtek 8) ke pintu parkir motor tengah\
  • hijau muda: jalur dari STEI ke pintu parkir motor timur

Teknis Perhitungan Jalur

Berikut ini uraian teknis perhitungan yang dilakukan
Pertama diperlukan file gambar peta ITB yang berisi informasi gedung, jalan, taman dan sebagainya.

Sebagai sumber data adalah peta ITB  dari http://errryeaen.deviantart.com/art/Peta-Kampus-ITB-217107940

Peta ITB dari Erryeaen
Di peta tersebut sudah ada data gedung, jalan dan taman, namun peta itu nampaknya versi 2011 jadi perlu disesuaikan dengan data terbaru (2016) dan juga ada beberapa jalan pedestrian yang tidak ada. Proses editing manual dengan menggunakan software InkScape 0.91.

Data peta itu kemudian digabung dengan peta dari Google Maps untuk mendapatkan data jalan ke arah jalan Dago. Dari hasil superimpose ternyata kedua peta tidak cocok. Jadi ya sudah dicocok-cocokkan saja. Artinya data jarak tidak akurat 100%, namun untuk eksperimen ini tidak perlu ketelitian tinggi, jadi hal ini diterima saja apa adanya.

Peta dari Google Maps

File dari InkScape kemudian diexport ke dalam format PNG supaya mudah diolah. Hasil pengolahan adalah sebagai berikut:
 

Peta gabungan
Data tersebut kemudian diubah menjadi gambar hitam-putih, di mana putih menyatakan daerah kosong, sedangkan hitam adalah halangan yang tidak dapat dilewati.
Peta jalur dan halangan

File tersebut berukuran 1439 x 1601 piksel, dengan titik warna putih sebanyak 715076. Artinya kalau dibuat graph akan ada 715076 node pada graph tersebut.

Tahap selanjutnya adalah menghitung jarak setiap titik terhadap pintu gerbang dengan algoritma Dijkstra. Percobaan pertama menggunakan bahasa PHP, namun hasilnya terlalu lambat. Bahasa C/C++ mestinya lebih cepat, namun diduga bakal ribet karena mesti berurusan dengan struktur data Graph dan antrian, belum lagi segala urusan pointer. Akhirnya diputuskan solusi database MySQL untuk menyimpan nodes dan script PHP untuk pemrogramannya.

Untuk membuat graph, diasumsikan setiap node terhubung dengan maksimal 9 node lain ke arah atas bawah kiri kanan dan diagonal.

Pada graph ini yang diinginkan adalah menghitung jarak semua node dari tempat-tempat menunggu angkot di seputar ITB, jadi untuk setiap tempat itu perlu dibuat 1 graph tersendiri. Setiap kali perhitungan memerlukan waktu sekitar 1000 detik dengan prosesor Intel i5-4670 3.4 GHz atau 700 detik dengan prosesor i7-4770 3.4 GHz..

Untuk proses menampilkan hasil diperlukan masking agar hanya titik-titik di daerah ITB saja yang digambar.
Masking daerah ITB
Untuk visualisasi diperlukan juga gambar peta yang agak gelap sebagai berikut:
Peta ITB digelapkan

Referensi

Tidak ada komentar:

Posting Komentar