c. System kemudian menelusuri ke database untuk mencari nomor vertex dari
kedua gedung tersebut. d.
Kemudian system akan menyusun matriks bobot yang akan digunakan untuk melakukan pencarian jarak terpendek menggunakan algoritma Floyd
Warshall. e.
Setelah matriks bobot tersusun system kemudian mulai mencari jarak terpendek antara lokasi awal dengan lokasi tujuan.
f. Kemudian system juga menyusun matriks predessesor atau matriks rute
dari lokasi awal ke lokasi tujuan. g.
Kemudian system akan menyusun data berupa matriks predessesor rute menjadi dalam bentuk garis 3D yang akan ditampilkan ke user sebagai
hasil pencarian.
3.2. Penerapan Algoritma
Floyd Warshall
3.2.1 Penitikan Titik dan Perhitungan Jarak
Pada penelitian ini penulis melakukan penitikan koordinat secara manual. Dengan cara mengambil titik latitude dan longitude suatu titik lewat Google maps. Dimana Garis
Lintang Latitude adalah garis khayalan yang membelah bumi secara horisontal menjadi dua bagian yaitu Utara dan Selatan. Garis yang membelah itu adalah garis
lintang 0 derajat atau disebut garis khatulistiwa seperti di Pontianak yang dilewati pararel dengan garis khatulistiwa atau garis lintang 0 derajat. Di atas khatulistiwa
disebut garis Lintang Utara LU dan di bawah disebut garis Lintang Selatan LS. Garis lintang berkisar dari 0 derajat di khatulistiwa sampai 90 derajat di Kutub
Utara atau Kutub Selatan. Garis Bujur Longitude adalah garis khayalan yang membelah bumi secara vertikal menjadi dua bagian yaitu Timur dan Barat, serta
menghubungkan kutub Utara dan Selatan. Sebagai patokan waktu di dunia. adalah garis yang tegak lurus dengan garis khatulistiwa dimana awalnya 0 derajat di Royal
Observatory Greenwich, Inggris. Ke arah kanan Timur merupakan garis Bujur Timur BT sedangkan ke arah kiriBarat merupakan garis Bujur Barat BB.
Universitas Sumatera Utara
Dengan klik kanan pada titik yang akan kita pilih, kemudian memilih menu “Ada apa di sini?” pada Google Maps. Google Maps akan memproses untuk mencari
latitude dan longitude pada peta. Dapat dilihat pada Gambar 3.3. Setelah mandapatkan koordinat yang dituju selanjutnya koordinat tersebut disimpan ke dalam database.
Gambar 3.3 Proses Pengambilan Koordinat pada Google Maps
Perhitungan jarak antar titik di dalam sistem di dapat dari data yang sudah ada dari Google maps. Dapat dilihat pada Gambar 3.4. Dengan m
emilih menu “ukur jarak” pada Google Maps, Google Maps akan menghitung jarak dari titik yang kita pilih.
3.2.2 Penerapan Algoritma Floyd Warshall Sebelum algoritma Floyd Warshall dapat digunakan di dalam sistem pencarian jarak
terpendek pada peta 3D Universitas Sumatera Utara, sistem terlebih dahulu harus menyediakan data yang terdiri dari titik vertex, garis-garis edges dan jarak untuk
setiap garisedge satu titik ke titik lain yang direpresentasikan dalam bentuk matriks. Setelah data tersebut lengkap baik vertex, edges dan jarak, baru sistem dapat
menggunakan algoritma Floyd Warshall. Algoritma Floyd Warshall mencari rutepath terpendek dari setiap titik ke
setiap titik yang ada. Di penelitian ini, penulis menggunakan data titik gedung
Universitas Sumatera Utara
sebanyak 127 buah titik ditambah 137 titik simpang sebagai titik bantu sehingga total terdapat
261 titik vertex
, algoritma Floyd Warshall akan mencari rute terpendek untuk ke-261 titik yang ada. Output dari perhitungan Floyd Warshall ada tiga, yaitu
matriks bobotweight, matriks jarakdistance, dan matriks pendahulu predecessor.
Gambar 3.4. Perhitungan jarak menggunakan Google Maps.
Gambar 3.5 Contoh Graph
Tabel 3.1 Contoh Tabel Weight
1 2
3 4
5 1
2 2
4 4
3 4
6 3
2 1
3 4
5 2
3 4
4 2
3
6
Universitas Sumatera Utara
4 6
2 5
4 3
2
Tabel weight pada pada tabel 3.1 merupakan matriks jarak antara masing-masing vertex. Nilai 0 berarti tidak ada terdapat path terhadap vertex tersebut. Sebagai contoh
matriks[1][1] pada tabel tersebut bernilai 0, artinya tidak ada path dari vertex 1 ke vertex 1. Sedangkan matriks[5][2] bernilai 4 artinya terdapat path dengan panjang 4
dari vertex 5 ke vertex 2.
Tabel 3.2 Contoh Tabel Distance
Tabel distance pada tabel 3.2 merupakan matriks jarak terpendek dari satu vertex ke vertex lainnya, hasil dari algoritma Floyd Warshall. Sama seperti pada tabel weight
nilai dari matriks berarti panjang jarak dari antara kedua vertex. Jadi, matriks[2][3] bernilai 4 artinya jarak terpendek dari vertex 2 ke vertex 3 adalah 4. Matriks[5][3]
bernilai 5 artinya jarak terpendek dari vertex 5 ke vertex 3 adalah 5. Matriks [2][1] diberi nilai 9999 agar pada saat perhitungan jarak terpendek matriks tersebut
diabaikan karena nilainya sangat besar, nilai dari 9999 bisa diganti dengan angka besar yang lainnya.
Tabel 3.3 Contoh Tabel Predesesor
1 2
3 4
5 1
1 1
2 5
1 2
2 2
5 2
3 3
3 3
3 1
2 3
4 5
6 1
2 6
5 3
2 9999
4 6
4 3
9999 4
6 5
4 9999
6 6
2 5
9999 4
5 2
6
Universitas Sumatera Utara
4 4
4 4
4 5
5 5
5 5
Tabel predesesor pada tabel 3.3 adalah matriks jalur atau matriks penelusuran. Apabila nilai dari matriks kosong berarti tidak terdapat path diantara kedua vertex. sebagai
contoh nilai dari matriks[2][4] adalah 5, berarti sebelum ke vertex 4, maka harus melewati vertex 5 terlebih dahulu. Jadi jalur penelusuran dari vertex 2 ke vertex 4
adalah 2-5-4.
3.3. Proses Algoritma