GRAF (bagian-4)
Kisna Pertiwi
2
Aplikasi Graf 1. Lintasan Terpendek
• Persoalan mencari lintasan terpendek di dalam graf : salah satu
persoalan optimasi
• Graf yang digunakan dalam pencarian lintasan terpendek : Graf
Berbobot
• Graf berbobot : graf yang setiap sisinya diberikan nilai / bobot
• Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu
pengiriman pesan, ongkos pembangunan
• Kata “terpendek” jangan selalu diartikan secara fisik sebagai panajng
minimum, sebab kata “terpendek” berbeda-beda maknanya bergantung
pada tipikal persoalan yang akan diselesaikan
• Namun, secara umum “terpendek” berarti meminimasasi bobot pada
suatu lintasan di dalam graf
3
Lintasan
Terpendek Contoh-contoh terapan pencarian lintasan terpendek:
1. Misalnya simpul pada suatu graf dapat merupakan kota, sedangkan sisi
menyatakan jalan yang menghubungkan dua buah kota. Bobot sisi graf dapat
menyatakan jarak antara dua buah kota atau rata-rata waktu yang ditempuh
antara dua buah kota. Apabila terdapat lintasan terpendek disini adalah
menentukan jarak terpendek atau waktu tersingkat dari kota A ke kota B
2. Misalkan simpul pada gra dapat berupa terminal computer atau simpul
komunikasi dalam suatu jaringan, sedangkan sisi menyatakan saluran
komunikasi yang menghubungkan dua buah terminal. Bobot pada graf dapat
menyatakan biaya pemakaian saluran komunikasi antara dua buah terminal,
jarak antara dua buah terminal, atau waktu pengiriman pesan (message)
antara dua buah terminal. Persoalan lintasan terpendek disini adalah
menentukan jalur komunikasi terpendek antara dua buah terminal komputer.
Lintasan terpendek akan menghemat waktu pengiriman pesan dan biaya
komunikasi
4
Lintasan
Terpendek
5
Lintasan
Terpendek
Graf berbobot G = (V, E) dan sebuah simpul awal a. tentukan lintasan terpendek
dari a ke setiap simpul lainnya di dalam G.
Gambar 2. Graf yang digunakan sebagai contoh untuk persoalan lintasan terpendek
6
Contoh 1. Lintasan Terpendek (1/4)
7
Contoh 1. Lintasan Terpendek (2/4)
j=1 2 3 4 5 6 7 8
i=1 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞
2 300 0 ∞ ∞ ∞ ∞ ∞ ∞
3 1000 800 0 ∞ ∞ ∞ ∞ ∞
4 ∞ ∞ 1200 0 ∞ ∞ ∞ ∞
5 ∞ ∞ ∞ 1500 0 250 ∞ ∞
6 ∞ ∞ ∞ 1000 ∞ 0 900 1400
7 ∞ ∞ ∞ ∞ ∞ ∞ 0 1000
8 1700 ∞ ∞ ∞ ∞ ∞ ∞ 0
8
Contoh 1. Lintasan Terpendek (3/4)
Perhitungan lintasan terpendek dari simpul awal a = 5 ke semua simpul lainnya ditabulasikan sebagai berikut.
9
Contoh 1. Lintasan Terpendek (4/4)
10
Algoritma
Dijkstra
• Algoritma Dijkstra : algoritma yang banyak digunakan untuk
mencari lintasan terpendek
• Algoritma Djikstra ditemukan oleh Edsger W. Dijkstra
• Algoritma Djikstra diterapkan untuk mencari lintasan terpendek
pada graf berarah dan bisa juga pada graf tak-berarah
• Algoritma Djikstra mencari lintasan terpendek dalam sejumlah
langkah
• Algoritma Djikstra menggunakan prinsip greedy
• Prinsip greedy pada Algoritma Djikstra menyatakan bahwa setiap
langkah kita memilih sisi yang berbobot minimum dan
memasukkannya ke dalam himpunan solusi
11
Contoh Menentukan jalur terpendek dari titik A ke semua titik lainnya.
AB 20 ABF 30
10 Iterasi From A to>> B C D E F G H
B F 10 20 80 90
1 A ∞ ∞ ∞ ∞
ABFC 40 A A A
20
50 20 80 30 90 ∞
C 2 B
A
∞
A
∞
B A
50 40
A 20
3 F
20 40 70
∞
30 90
∞
10 A F F B A
90 80
H 4 C
20 40 50
∞
30 90 60
E 20
ABFCH 60
A F C B A C
D 5 D
20 40 50
∞
30 70 60
30 A F C B D C
20 AD 80
ABFD 70 20 40 50 30 70 60
AG 90 G ABFCD 50
6 H
A F C
∞
B D C
ABFCDG 70
12
Contoh Menentukan jalur terpendek dari titik A ke semua titik lainnya
14
Algoritma • Mencari lintasan terpendek dari router asal ke router tujuan dapat
diartikan sebagai menentukan lintasan terpendek dari simpul asal ke
Dijkstra simpul tujuan di dalam graf yang merepresentasikan jaringan komputer
tersebut
Gambar. Lintasan terpendek yang dilalui oleh pesan dari router 1 ke router 5
17
Aplikasi Graf 2. Persoalan Pedagang Keliling (travelling
salesperson problem (TSP)
Diberikan sejumlah kota dan diketahui jarak antar kota.
Tentukan tur terpendek yang harus dilalui oleh seorang
pedagang bila pedagang itu berangkat dari sebuah kota asal
dan menyinggahi setiap kota tepat satu kali dan kembali lagi
ke kota asal keberangkatan.
18
Travelling
Salesperson
Problem
(TSP)
19
Travelling
Salesperson
Problem Aplikasi TSP:
(TSP)
1.Pak Pos mengambil surat di kotak pos yang tersebar
pada n buah lokasi di berbagai sudut kota.
2.Lengan robot mengencangkan n buah mur pada
beberapa buah peralatan mesin dalam sebuah jalur
perakitan.
3.Produksi n komoditi berbeda dalam sebuah siklus.
20
Travelling Jumlah sirkuit Hamilton di dalam graf lengkap dengan n simpul: (n – 1)!/2.
Salesperson a 12 b
Problem 10
5 9
8
(TSP)
d 15 c
a 12 b a 12 b a b
5 9 5 9
10 8 10 8
d 15 c d 15 c d c
21
a 12 b a 12 b a b
Travelling 5 9 5 9
10 10
Salesperson 8 8
Problem d 15 c d 15 c d c
(TSP)
I1 = (a, b, c, d, a) → bobot = 10 + 12 + 8 + 15 = 45
I2 = (a, c, d, b, a) → bobot = 12 + 5 + 9 + 15 = 41
I3 = (a, c, b, d, a) → bobot = 10 + 5 + 9 + 8 = 32
23
Chinese
Postman
Problem
B 8 C
2 8 1
4
A 3 4 D
6 2
F 5 E
24
Chinese
Postman
Problem • Jika graf yang merepresentasikan persoalan adalah
graf Euler, maka sirkuit Eulernya mudah ditemukan.
25
Chinese Persoalan tukang pos Cina menjadi:
Postman
Problem Seorang tukang pos akan mengantar surat ke alamat-
alamat sepanjang jalan di suatu daerah. Bagaimana ia
merencanakan rute perjalanannya yang mempunyai jarak
terpendek supaya ia melewati setiap jalan paling sedikit
sekali dan kembali lagi ke tempat awal keberangkatan?
26
Aplikasi Graf 4. Pewarnaan Graf
• Ada dua macam: pewarnaan simpul, dan pewarnaan sisi
• Hanya dibahas perwarnaan simpul
• Pewarnaan simpul: memberi warna pada simpul-simpul graf
sedemikian sehingga dua simpul bertetangga mempunyai
warna berbeda.
27
Pewarnaan
Graf
28
Pewarnaan
Graf - Peta
• Aplikasi pewarnaan graf: mewarnai peta.
29
Pewarnaan
Graf - Peta
30
Pewarnaan
Graf - Peta
• Nyatakan wilayah sebagai simpul, dan batas antar dua
wilayah bertetangga sebagai sisi.
31
1 1 1
Pewarnaan 2 2 2
3 3 3
Graf - Peta 8
4
5 8
4
5
4
5
8
7 6 7 6 7 6
putih kuning
7 6 7 6
hitam merah
(d) (e)
33
Pewarnaan
pada Berbagai • Graf kosong Nn memiliki (G) = 1, karena semua simpul tidak
terhubung, jadi untuk mewarnai semua simpul cukup
Tipe Graf dibutuhkan satu warna saja.
34
Pewarnaan
pada Berbagai
Tipe Graf • Graf lengkap Kn memiliki (G) = n sebab semua simpul
saling terhubung sehingga diperlukan n buah warna.
35
Pewarnaan
pada Berbagai
Tipe Graf
• Graf bipartit Km,n mempunyai (G) = 2, satu untuk simpul-
simpul di himpunan V1 dan satu lagi untuk simpul-simpul di
V2.
36
Pewarnaan
pada Berbagai
Tipe Graf
• Graf lingkaran dengan n ganjil memiliki (G) = 3, sedangkan
jika n genap maka (G) = 2.
37
Teorema
Pewarnaan • Perkembangan teorema pewarnaan graf:
Graf TEOREMA 1. Bilangan kromatik graf planar 6.
TEOREMA 2. Bilangan kromatik graf planar 5.
TEOREMA 3. Bilangan kromatik graf planar 4.
39
Pewarnaan
Graf -
Penjadwalan • Aplikasi lain pewarnaan graf: penjadwalan.
Misalkan terdapat delapan orang mahasiswa (1, 2, …, 8) dan lima buah mata kuliah yang
dapat dipilihnya (A, B, C, D, E). Tabel berikut memperlihatkan matriks lima mata kuliah
dan delapan orang mahasiswa. Angka 1 pada elemen (i, j) berarti mahasiswa i memilih
mata kuliah j, sedangkan angka 0 menyatakan mahasiswa i tidak memilih mata kuliah j.
A B C D E
1 0 1 0 0 1
2 0 1 0 1 0
3 0 0 1 1 0
4 1 1 0 0 0
5 0 1 0 1 0
6 0 0 1 1 0
7 1 0 1 0 0
8 0 0 1 1 0
40
Pewarnaan
Graf -
Penjadwalan Berapa paling sedikit jumlah hari yang dibutuhkan
untuk jadwal ujian tersebut sedemikian sehingga
semua mahasiswa dapat mengikuti ujian mata
kuliah yang diambilnya tanpa bertabrakan waktunya
dengan jadwal ujian kuliah lain yang juga
diambilnya?
Penyelesaian:
simpul → mata kuliah
sisi → ada mahasiswa yang mengambil
kedua mata kuliah (2 simpul)
41
Pewarnaan A merah A
Graf - biru
E E
Penjadwalan B B merah
merah
biru
D
D C
(a) (b)
43
Latihan
B
(a) Tunjukkan dengan ketidaksamaan
A C Euler bahwa graf G tidak planar.
D E
F G
44
Latihan
5. Gambarkan 2 buah graf yang isomorfik dengan graf teratur
berderajat 3 yang mempunyai 8 buah simpul.
46