Uploaded by User56745

Tugas Akhir semester 2

advertisement
Nama Anggota :
Muhammad Mumtaz Ramadhan
Achmad Sesar Balbo
Syamil Taqiyuddin Ayyasy
Naufaldy Purwanto
1910511102
1910511123
1910511126
1910511128
TUGAS BESAR SEMESTER GENAP TA. 2019/2020
Soal :
1. d. Tentukan jarak minimum (shortest path) dari simpul S → H dengan
menggunakan algoritma Djikstra.
2. Tentukan urutan penelusuran graph berikut menggunakan:
d. DFS
3. Tentukan urutan penelusuran graph berikut menggunakan BFS & DFS jika
dimulai dari vertex:
d. D
Jawaban :
1. Pada awalnya, seluruh node x memiliki nilai dist[x] = ∞, dan visited[x] = false.
Khusus untuk node s, kita mengetahui bahwa jarak terpendek untuk mencapai s
dari s sendiri adalah 0. Oleh sebab itu, dist[s] = 0. Seluruh nilai pred[x] bisa kita isi
−1, sebab tidak diketahui node mana yang dikunjungi sebelum x.
Setelah inisialisasi selesai dilakukan, jalankan langkah-langkah berikut:
1. Pilih sebuah node yang belum dikunjungi dan memiliki dist terkecil. Sebut saja
node ini sebagai u.
2. Apabila tidak ada lagi node yang belum dikunjungi, atau dist[u] bernilai ∞,
artinya tidak ada lagi node yang dapat dikunjungi. Algoritma Dijkstra berakhir.
3. Karena u dikunjungi, maka set visited[u] = true. Kini dipastikan shortest path
dari s menuju u adalah dist[u]. Diketahui pula edge {pred[u],u} merupakan
edge yang perlu digunakan pada shortest path ke u.
4. Untuk setiap node v yang merupakan tetangga dari u, lakukan sebuah proses
yang disebut "relax ". Proses relax untuk node u dan v adalah proses untuk
memperbaharui jarak terpendek mencapai v, apabila ternyata mencapai v
melalui u membutuhkan jarak yang lebih kecil. Dengan kata lain, dilakukan:
dist[v] = min(dist[v],dist[u] +w[u][v])
Setiap kali dist[v] mengalami perubahan, ubah nilai pred[v] menjadi u. Sebab
sejauh ini diketahui bahwa untuk mencapai v pada shortest path , node
sebelumnya adalah u.
5. Kembali ke langkah 1.
6. Lakukan pengulangan tersebut sampai visited bernilai T(True) semua.
Table berikut menunjukan shortest path mulai dari node S ke seluruh node
lainnya.
Dist
visited
Pred
S
0
F
-1
A
∞
F
-1
B
∞
F
-1
C
∞
F
-1
D
∞
F
-1
E
∞
F
-1
F
∞
F
-1
G
∞
F
-1
H
∞
F
-1
dist
visited
pred
S
0
T
-1
A B
10 14
F F
S S
C
∞
F
-1
D
∞
F
-1
E
∞
F
-1
F
∞
F
-1
G
∞
F
-1
H
∞
F
-1
dist
visited
pred
S
0
T
-1
A B C D
10 14 26 22
T F F F
S S A A
E
∞
F
-1
F
∞
F
-1
G
∞
F
-1
H
∞
F
-1
dist
visited
pred
S
0
T
-1
A B C D
10 14 26 22
T T F F
S S A A
E
∞
F
-1
F
18
F
B
G
∞
F
-1
H
∞
F
-1
dist
visited
pred
S
0
T
-1
A B C D
10 14 26 22
T T F F
S S A A
E
∞
F
-1
F
18
T
B
G
∞
F
-1
H
29
F
F
dist
visited
pred
S
0
T
-1
A B C D E F
10 14 26 22 28 18
T T F T F T
S S A A D B
G
∞
F
-1
H
29
F
F
dist
visited
pred
S
0
T
-1
A B C D E F G H
10 14 26 22 28 18 35 29
T T T T F T F F
S S A A -1 B C F
dist
visited
pred
S
0
T
-1
A B C D E F G H
10 14 26 22 28 18 35 29
T T T T T T F F
S S A A D B C F
dist
visited
pred
S
0
T
-1
A B C D E F G H
10 14 26 22 28 18 35 29
T T T T T T F T
S S A A D B C F
dist
visited
pred
S
0
T
-1
A B C D E F G H
10 14 26 22 28 18 35 29
T T T T T T T T
S S A A D B C F
Jadi jarak minimum (shortest path) dari simpul S → H dengan menggunakan
algoritma Djikstra adalah 29 dengan melalui lajur S – B – F – H.
2. Urutan berdasarkan DFS : A – D – G – H – I – E – B – C – F
3. Urutan berdasarkan BFS = D – H – B – G – F – C – A – E
Urutan berdasarkan DFS = D – H – G – E – A – C – F – B
Download