Definisi Algoritma Dijkstra Skema Umum Algoritma Dijkstra

algoritma dijkstrapada ilmu komputer antara lain adalah pada link-state routing protocol, OSPF dan IS-IS. Pada literatur tersebut, algoritma ini sering digambarkan sebagai sebuah algoritma yang tamak. Contohnya, buku Algorithmics Brassard and Bratley [1988, pp. 87-92]mengulas ini pada bab tersebut dengan judul Greedy Algorithms. Encyclopedia of Operations Research and Management Science Gass and Harris [1996, pp. 166-167] menggambarkan algoritma ini sebagai sebuah node labelling greedy algorithm dan sebuah algoritma yang tamak digambarkan sebagai a heuristic algorithm that at every step selects the best choice available at that step without regard to future consequences Gass and Harris [1996, p. 264].

2.2.1 Definisi Algoritma Dijkstra

Pada dasarnya, algoritma ini merupakan salah satu bentuk algoritma greedy. Algoritma ini termasuk algoritma pencarian graf yang digunakan untuk menyelesaikan masalah lintasan terpendek dengan satu sumber pada sebuah graf yang tidak memiliki cost sisi negatif, dan menghasilkan sebuah pohon lintasan terpendek. Algoritma ini sering digunakan pada routing. Algoritma dijkstra mencari lintasan terpendek dalam sejumlah langkah. Algoritma ini menggunakan strategi greedy sebagai berikut : Untuk setiap simpul sumber source dalam graf, algortima ini akan mencari jalur dengna cost minimum antara simpul tersebut dengan simpul lainnya. Algoritma juga dapat digunakan untuk mencari total biaya cost dari lintasan terpendek yang dibentuk dari sebuah simpul ke sebuah simpul tujuan. Sebagai contoh, bila simpul pada graf merepresentasikan kota dan bobot sisi merepresentasikan jarak antara 2 kota yang mengapitnya, maka algoritma dijkstra dapat digunakan untuk mencari rute terpendek antara sebuah kota dengan kota lainnya. Universitas Sumatera Utara

2.2.2 Skema Umum Algoritma Dijkstra

Algoritma ini mencari panjang lintasan terpendek dari verteks a ke z dalam sebuah graf berbobot tersambung. Bobot dari rusuk i,j adalah wi,j0 dan label verteks x adalah Lx. Hasilnya, Lz merupakan panjang lintasan terpendek dari a ke z. Masukan: Sebuah graf berbobot tersambung dengan bobot positif. Verteks a sampai z. Keluaran: Lz, panjang lintasan terpendek dari a ke z.

1. procedure dijkstra w,a,z,L

2. La := 0

3. for semua verteks x a do

4. Lx := 5. T := himpunan semua verteks 6. T adalah himpunan verteks yang panjang terpendeknya dari a belum ditemukan

7. while z T do 8. begin

9. pilih v T dengan minimum Lv 10. T:=T-{v}

11. for setiap x T di samping v do

12. Lx:=min{Lx, Lv+wv,x}

13. end 14. end dijkstra

Contoh 10.2 : Carilah panjang lintasan terpendek dari verteks a ke z dalam graf berbobot tersambung berikut. Universitas Sumatera Utara Penyelesaian : Kita akan menerapkan Algoritma Dijkstra. Hasil pelaksanaan baris 2-4 dari Algoritma 10.1 adalah La = 0, Lb = Lc = Ld = Le = Lf = Lg = Lz = . Pada baris 7, z tidak dilingkari. Kita lanjutkan ke baris 9, di mana kita memilih verteks a, verteks tak dilingkari dengan label terkecil, dan melingkarinya. Pada baris 11 dan 12 kita perbarui setiap verteks tak terlingkari, b dan f, yang berdekatan dengan a. Kita dapatkan label- label baru Lb = min{ , 0+2} = 2, Lf = min{ , 0+1} = 1. Sampai pada bagian ini, kita kembali ke baris 7. Karena z tak dilingkari, kita lanjutkan ke baris 9, di mana kita memilih verteks f, verteks tak dilingkari dengan label terkecil, dan melingkarinya. Pada baris 12 dan 13 kita perbarui setiap label dari verteks tak dilingkari, d dan g, yang berdekatan dengan f. Kita dapatkan label-label baru Ld = min{ , 1+3} = 4, Lf = min{ , 1+5} = 6. Sampai pada bagian ini, kita kembali ke baris 7. Demikian seterusnya dan pada akhir algoritma, z dilabeli 5, menyatakan panjang lintasan terpendek dari a ke z adalah 5. Sebuah lintasan terpendek diberikan oleh a,b,c,z.

2.2.3 Kelebihan dan Kekurangan Algoritma Dijkstra

Algoritma djikstra dapat digunakan untuk menyelesaikan persoalan pencarian rute terpendek pada sebuah graf. Kelemahan algoritma ini adalah semakin banyak titik akan semakin memakan waktu proses. Dan Jumlah titik menentukan tingkat efektifitas dari algoritma djikstra. Universitas Sumatera Utara BAB 3 PERANCANGAN SISTEM

3.1 PERALATAN