Bab 11 Short Path Update
Bab 11 Short Path Update
Short Path
10 12
8
e b
15 9
11
d 14 c
Aplikasi Graf
Lintasan Terpendek (Shortest Path)
• Graf berbobot (weighted graph)
• Lintasan terpendek: lintasan yang memiliki total
bobot minimum.
Contoh aplikasi:
• Menentukan jarak terpendek/waktu tempuh
tersingkat/ongkos termurah antara dua buah
kota
• Menentukan waktu tersingkat pengiriman pesan
(message) antara dua buah terminal pada
jaringan komputer.
Lintasan Terpendek
• Terdapat beberapa jenis persoalan lintasan
terpendek, antara lain:
1) Lintasan terpendek antara dua buah simpul
tertentu.
2) Lintasan terpendek antara semua pasangan
simpul.
3) Lintasan terpendek dari simpul tertentu ke
semua simpul yang lain.
4) Lintasan terpendek antara dua buah simpul
yang melalui beberapa simpul tertentu.
• Di dalam kuliah ini kita memilih jenis
persoalan 3
Lintasan Terpendek
• Diberikan graf berbobot G = (V, E) dan
sebuah simpul a.
• Tentukan lintasan terpendek dari a ke
setiap simpul lainnya di G.
• Asumsi yang kita buat adalah bahwa
semua sisi berbobot positif.
• Untuk menentukan lintasan terpendek dari
suatu graf berbobot dapat digunakan
– Algoritma Djikstra
– Algoritma Hapus
Algoritma Djikstra
6
Contoh Algoritma Djikstra
• Tentukan lintasan terpendek dari a ke z
B D
5
4 6
1 8
A 2 Z
2 3
10 E
C
7
Solusi
• Mulai dari simpul A (lingkari) sebagai simpul awal
• Tentukan jalur dengan bobot terpendek yang
menghubungkan A dengan simpul yang lain.
• Jika jalurnya lebih dari satu, pilih jalur dengan bobot
terendah
B D
5
4 6
1 8
A 2 Z
2 3
10 E
C 8
Solusi
• Lingkari Simpul C
• Tentukan jalur dengan bobot terpendek yang
menghubungkan C dengan simpul yang lain.
• Jika jalurnya lebih dari satu, pilih jalur dengan bobot
terendah
B D
5
4 6
1 8
A 2 Z
2 3
10 E
C 9
Solusi
• Lingkari Simpul B
• Tentukan jalur dengan bobot terpendek yang
menghubungkan B dengan simpul yang lain.
• Jika jalurnya lebih dari satu, pilih jalur dengan bobot
terendah
B D
5
4 6
1 8
A 2 Z
2 3
10 E
C 10
Solusi
• Lingkari Simpul D
• Tentukan jalur dengan bobot terpendek yang
menghubungkan D dengan simpul yang lain.
• Jika jalurnya lebih dari satu, pilih jalur dengan bobot
terendah
B D
5
4 6
1 8
A 2 Z
2 3
10 E
C 11
Solusi
• Lingkari Simpul E
• Tentukan jalur dengan bobot terpendek yang
menghubungkan E dengan simpul yang lain.
• Jika jalurnya lebih dari satu, pilih jalur dengan bobot
terendah
B D
5
4 6
1 8
A 2 Z
2 3
10 E 12
C
Solusi
• Jadi Lintasan terpendek dari A ke Z adalah
B D
5
4 6
1 8
A 2 Z
2 3
10 E
C
• ACBDEZ
• Dengan Bobot = 2 + 1 + 5 + 2 + 3 = 13
13
Algoritma TKD (Hapus)
• Algoritma hapus merupakan salah satu
algoritma atau cara untuk memperoleh jalur
terpendek dari sebuah graf berbobot. Langkah-
langkah yang dilakukan untuk menggunakan
algoritma hapus adalah sebagai berikut.
– Tentukan simpul awal
– Hapus, sisi-sisi dengan bobot paling tinggi dengan
syarat jika sisi-sisi ini dihapus graf awal tidak terbagi
menjadi dua bagian atau lebih (graf tidak terpisah).
– Proses penghapusan sisi selesai setelah tidak ada lagi
sisi yang dapat di hapus
14
Algoritma Hapus
• Tentukan Lintasan Terpendek dari A ke Z dengan
Algoritma “Hapus”
B D
5
4 6
A 1 2 F
8
2
3
10
C E
15
Algoritma Hapus
• Jadi Lintasan terpendek dari A ke Z adalah
B D
5
A 1 2 Z
2 3
C E
• ACBDEZ
• Dengan Bobot = 2 + 1 + 5 + 2 + 3 = 13
16
Soal Latihan