Definisi Algoritma Dijkstra Algoritma Dijkstra

Pada Sistem Informasi Geografis ini, peta yang digunakan adalah peta Kota Medan yang memiliki kordinat latitude 3 o 35’ N dan longitude 98 o 40’ E. Yang dimaksud dengan latitude adalah garis lintang yang melingkari bumi ditarik dari arah barat ke timur atau sebaliknya sejajar dengan garis khatulistiwa. Sedangkan longitude adalah garis bujur yang melingkari bumi ditarik dari kutub utara hingga kutub selatan atau sebaliknya. Jika diproyeksikan ke dalam kordinat x.y maka latitude adalah merupakan sumbu x sedangkan longitude merupakan sumbu y.

2.3 Algoritma Dijkstra

2.3.1 Definisi Algoritma Dijkstra

Algoritma dijkstra digunakan untuk menetukan jarak terpendek pada sebuah graf berarah. Contoh penerapan algoritma dijkstra adalah lintasan terpendek yang menghubungkan dua lokasi,tempat berlainan tertentu single-source single-destination shortest path problem. Algoritma ini ditemukan oleh seorang ilmuwan komputer berkebangsaan belanda yang bernama Edsger Dijkstra. Alfred V Aho, John E Hopcroft, Jeffrey D Ullman menyimpulkan cara kerja algoritma dijkstra adalah memakai strategi greedy dimana pada setiap langkah dipilih sisi dengan bobot terkecil yang menghubungkan sebuah simpul yang sudah terpilih dengan simpul lain yang belum terpilih [2]. Algoritma dijkstra membutuhkan parameter tempat asal dan tempat tujuan. Hasil akhir algoritma ini adalah jarak terpendek dari tempat asal ke tempat tujuan beserta rutenya. Proses untuk mendapatkan solusi optimum jalur terpendek adalah dengan menghitung jarak satu per satu sesuai dengan arah yang ditunjukkan oleh tiap-tiap sisi. Perhitungan dilakukan terhadap sisi graf yang memiliki jalur awal dan jalur akhir. Contoh pada gambar di bawah ini akan memberikan gambaran yang lebih mudah dipahami. Misalkan akan ditentukan jalur terpendek dari graf berarah dibawah ini dengan G = V,E dimana masing-masing lintasan memiliki nilai tidak negatif dan satu titik ditentukan sebagai titik awal. Masalahnya adalah bagaimana menentukan rute terpendek dari titik awal ke setiap titik simpul lainnya dalam V, dimana panjang lintasan adalah jumlah dari bobot lintasan yang dilalui. Gambar 2.3.1: Graf Langkah-langkah penyelesaiannya adalah sebagai berikut: Jika titik awal S = {1}, D [2] = 10, D [3] = ∞, D [4] = 30 dan D [5] = 100. Pada iterasi pertama untuk loop baris 4 - 8, w = 2 dipilih sebagai simpul dengan nilai D minimum. Kemudian kami menetapkan D [3] = min ∞, 10 +50 = 60. D 4 dan D 5 tidak berubah, karena dapat langsung mencapai tanpa melewati titik 2. Urutan nilai D setiap iterasi dari loop ditunjukkan pada Tabel 8.2.1. Tabel 2.3.1: Perhitungan Dijkstra pada gambar 2.3.1 Keterangan: 1. G = Graph 2. V = himpunan titik 3. E = himpunan garis 4. S = Simpul sumber titik awal 5. D = Jarak antara simpul misalkan D[2] adalah jarak antara simpul s dan simpul 2 6. W = simpul dengan nilai paling minimum

2.3.2 Pseudo Code Algoritma Dijkstra