0
Upcoming SlideShare
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Standard text messaging rates apply

Shortest Path Problem: Algoritma Dijkstra

6,739

Published on

bagaimana mencari jarak/rute terpendek dari sebuah jaringan menggunakan algoritma Dijkstra

bagaimana mencari jarak/rute terpendek dari sebuah jaringan menggunakan algoritma Dijkstra

Published in: Education
1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total Views
6,739
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
406
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript

• 1. Algoritma DijkstraMenentukan Jarak Terpendek Onggo Wr @OnggoWr
• 2. Shortest Path Permasalahan Diberikan suatu peta antar kota berikut dengan Model Graph jarak antar setiap kotaAlgoritma Dijkstra Jakarta Bekasi 30 km Contoh 40 km 20 km 30 km Serang Tasikmalaya 20 km 10 km 30 km Bogor Bandung Akan dicari rute tempuh terpendek dari Serang ke Tasikmalaya.
• 3. Shortest Path Permasalahan Masalah tersebut dapat dimodelkan sebagai graph Model GraphAlgoritma Dijkstra B C 30 Contoh 40 20 30 A F 20 10 30 D E Dapatkah Anda menebak rute terpendeknya?
• 4. Shortest Path Permasalahan Masalah ini dapat diselesaikan dengan algoritma Dijkstra: Model Graph procedure DijkstraAlgoritma Dijkstra {G has vertices a = V0, V1, . . . , Vn = z and weights w(Vi, Vj) where w(Vi, Vj) = &#x221E; if {Vi, Vj} is not an edge in G} Contoh for i : = 1 to n L(Vi):=&#x221E; L(a) := 0 S := &#xF0C6; {the labels are now initialized so that the label of a is 0 and all other labels are &#x221E;, and S is the empty set } while z &#xF0CF; S begin u := a vertex not in S with L(u) minimal S := S &#xF0C8; {u} for all vertices v not in S if L(u) + w(u, v) &lt; L(v) then L(v) := L(u) + w(u, v) {this adds a vertex to S with minimal label and updates the labels of vertices not in S} end {L(z) = length of a shortest path from a to z}
• 5. Shortest Path Permasalahan &#x2022; Labelkan semua vertex dengan &#x221E;, kecuali A = 0 Model Graph &#x2022; A beradjacent dengan B dan D, hitung masing-masing jaraknyaAlgoritma Dijkstra B/&#x221E; 30 C/&#x221E; B/40 30 C/&#x221E; 40 20 40 20 Contoh 30 30 A/0 F/&#x221E; A/0 F/&#x221E; 20 10 20 10 30 30 D/&#x221E; E/&#x221E; D/20 E/&#x221E; u S L(u) v w(u,v) L(v) A {A} 0 B 40 40 D 20 20 (min) Keterangan: huruf merah menandakan masuk ke S, angka tebal menandakan perubahan nilai label.
• 6. Shortest Path Permasalahan &#x2022; Karena label D minimum, D masuk ke S Model Graph &#x2022; D hanya beradjacent dengan E, hitung jaraknya B/40 30 C/&#x221E; B/40 30 C/&#x221E;Algoritma Dijkstra 40 20 40 20 Contoh 30 30 A/0 F/&#x221E; A/0 F/&#x221E; 20 10 20 10 30 30 D/20 E/&#x221E; D/20 E/50 u S L(u) v w(u,v) L(v) A {A} 0 B 40 40 (min) D 20 20 D {A,D} 20 E 30 50
• 7. Shortest Path Permasalahan &#x2022; Karena label B minimum, B masuk ke S Model Graph &#x2022; B beradjacent dengan C dan E, hitung masing-masing jaraknya B/40 30 C/&#x221E; B/40 30 C/70Algoritma Dijkstra 40 20 40 20 Contoh 30 30 A/0 F/&#x221E; A/0 F/&#x221E; 20 10 20 10 30 30 D/20 E/50 D/20 E/50 u S L(u) v w(u,v) L(v) A {A} 0 B 40 40 D 20 20 D {A,D} 20 E 30 50 B {A,B,D} 40 C 30 70 E 30 50 (min)
• 8. Shortest Path Permasalahan &#x2022; Karena label E minimum, E masuk ke S Model Graph &#x2022; E hanya beradjacent dengan F, hitung jaraknya B/40 30 C/70 B/40 30 C/70Algoritma Dijkstra 40 20 40 20 Contoh 30 30 A/0 F/&#x221E; A/0 F/60 20 10 20 10 30 30 D/20 E/50 D/20 E/50 u S L(u) v w(u,v) L(v) A {A} 0 B 40 40 D 20 20 D {A,D} 20 E 30 50 B {A,B,D} 40 C 30 70 E 30 50 E {A,B,D,E} 50 F 10 60 (min)
• 9. Shortest Path Permasalahan &#x2022; Label F minimum, F masuk ke S, algoritma berhenti. Model Graph &#x2022; Jarak rute terpendek adalah label dari F. B/40 30 C/70 B/40 30 C/70Algoritma Dijkstra 40 20 40 20 Contoh 30 30 A/0 F/&#x221E; A/0 F/&#x221E; 20 10 20 10 30 30 D/20 E/50 D/20 E/50 u S L(u) v w(u,v) L(v) A {A} 0 B 40 40 D 20 20 D {A,D} 20 E 30 50 B {A,B,D} 40 C 30 70 E 30 50 E {A,B,D,E} 50 F 10 60 (min) F {A,B,D,E,F} 60 Selesai, jarak rute terpendek = 60
• 10. Tugas Permasalahan &#x2022; Tentukan jarak dan rute terpendek dari a ke z dengan menggunakan Algoritma Dijkstra untuk jaringan berikut ini. Model GraphAlgoritma Dijkstra Contoh