MATEMATIKA DISKRIT II ( 2 SKS) Rabu, 18.50 20.20 Ruang Hard Disk PERTEMUAN XI, XII RELASI Dosen Lie Jasa 1 Matematika Diskrit Graf (lanjutan) 2
Lintasan dan Sirkuit Euler Lintasan Euler ialah lintasan yang melalui masing-masing sisi di dalam graf tepat satu kali. Sirkuit Euler ialah sirkuit yang melewati masing-masing sisi tepat satu kali.. Graf yang mempunyai sirkuit Euler disebut graf Euler (Eulerian graph). Graf yang mempunyai lintasan Euler dinamakan juga graf semi-euler (semi-eulerian graph). 3 2 1 contoh 1 2 (a) (b) (c) 3 4 1 2 3 5 4 3 a 4 5 6 6 7 (d) d b (e) 1 2 (f) 3 a b e c 4 5 c d e (a) dan (b) grafsemi-euler, (c) dan (d) graf Euler, (e) dan (f) f bukan grafsemi-euler atau grafeuler Lintasan Euler pada graf (a) : 3, 1, 2, 3, 4, 1 Lintasan Euler pada graf (b) : 1, 2, 4, 6, 2, 3, 6, 5, 1, 3 Sirkuit Euler pada graf (c) : 1, 2, 3, 4, 7, 3, 5, 7, 6, 5, 2, 6, 1 Sirkuit Euler pada graf (d) : a, c, f, e, c, b, d, e, a, d, f, b, a Graf (e) dan (f) tidak mempunyai lintasan maupun sirkuit Euler 4
Teorema-teorema TEOREMA 6.2. Graf tidakberarah memiliki lintasan Euler jika dan hanyajika terhubung danmemiliki dua buah simpul berderajat ganjilatau tidak ada simpul berderajat ganjil sama sekali. TEOREMA 6.3. Graf tidak berarah G adalah graf Euler (memiliki sirkuit Euler) jika dan hanya jika setiap simpul berderajat genap. (Catatlah bahwa graf yang memiliki sirkuit Euler pasti mempunyai lintasan Euler, tetapi tidak sebaliknya) TEOREMA 6.4. Graf berarah G memiliki sirkuit Euler jika dan hanya jika G terhubung dan setiap simpul memiliki derajatmasuk dan derajat-keluar sama. G memiliki lintasan Euler jika dan hanyajika G terhubung dan setiap simpul memiliki derajat-masuk dan derajat-keluar sama kecuali dua simpul, yang pertama memiliki derajat-keluar satu lebih besar derajatmasuk, dan yang kedua memiliki derajat-masuk satu lebih besar dari derajat-keluar. 5 a b Ilustrasi d c d c f g e d c a (a) (b) (c) (a) Graf berarah Euler (a, g, c, b, g, e, d, f, a) (b) Graf berarah semi-euler (d, a, b, d, c, b) (c) Graf berarah bukan Euler maupun semi-euler b a b 6
Hamiltonian cycles Traveling salesperson problem To visit every vertex of a graph G only once by a simple cycle. Such a cycle is called a Hamiltonian cycle. If a connected graph G has a Hamiltonian cycle, G is called a Hamiltonian graph. 7 Lintasan dan Sirkuit Hamilton Lintasan Hamilton ialah lintasan yang melalui tiap simpul di dalam graf tepat satu kali. Sirkuit Hamilton ialah sirkuit yang melalui tiap simpul didalam graf tepat satu kali, kecuali simpul asal (sekaligus simpul akhir) yang dilalui dua kali. Graf yang memiliki sirkuit Hamilton dinamakan graf Hamilton, sedangkan graf yang hanya memiliki lintasan Hamilton disebut graf semi- Hamilton. 8
Ilustrasi 9 Teorema TEOREMA 6.5. Syarat cukup (jadi bukan syarat perlu) supaya grafsederhana G dengann ( 3) buah simpul adalah graf Hamilton ialah bila derajat tiap simpul paling sedikit n/2 (yaitu, d(v) n/2 untuk setiap simpul v di G). TEOREMA 6.6. Setiap graf lengkap adalahgraf Hamilton. TEOREMA 6.7. Di dalam graf lengkap G dengan n buah simpul (n 3), terdapat (n - 1)!/2 buah sirkuit Hamilton. TEOREMA 6.8. Di dalam graf lengkap G dengan n buah simpul (n 3 dan n ganjil), terdapat (n - 1)/2 buah sirkuit Hamilton yang saling lepas (tidak ada sisi yang beririsan). Jika n genap dann 4, maka di dalam G terdapat (n - 2)/2 buah sirkuit Hamilton yang saling lepas. 10
contoh (Persoalan pengaturan tempat duduk). Sembilan anggota sebuah klub bertemu tiap hari untuk makan siang pada sebuah meja bundar. Mereka memutuskan duduk sedemikian sehingga setiap anggota mempunyai tetangga duduk berbeda pada setiap makan siang. Berapa hari pengaturan tersebut dapat dilaksanakan? Jumlah pengaturan tempat duduk yang berbeda adalah (9-1)/2 = 4. 11 Dengan graf 8 9 1 7 6 3 2 Graf yang merepresentasikan persoalan pengaturan tempat duduk 5 12
13 45 1 50 2 10 40 15 35 20 10 20 30 5 3 15 4 3 6 14
Beberapa Aplikasi Graf 1. Lintasan Terpendek (Shortest Path) graf berbobot (weighted graph), lintasan terpendek: lintasan yang memiliki total bobot minimum. Contoh aplikasi: 1. Menentukan jarak terpendek/waktu tempuh tersingkat/ongkos termurah antara dua buah kota 2. Menentukan waktu tersingkat pengiriman pesan (message) antara dua buah terminal pada jaringan komputer. 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 abtara dua buah simpul yang melalui beberapa simpul tertentu. ==> Di dalam kuliah ini kita memilih jenis persoalan 3. 15 Uraian Persoalan Diberikan graf berbobot G = (V, E) dan sebuah simpul a. Tentukanlintasanterpendek dari a ke setiap simpul lainnya di G. Asumsi yang kita buat adalahbahwa semua sisi berbobot positif. 45 1 50 2 10 40 15 35 20 10 20 30 5 3 15 4 3 6 16
contoh 45 1 50 2 10 40 15 35 20 10 20 30 5 3 15 4 3 6 Tentukan lintasan terpendek dari simpul 1 ke semua simpul lain. 17 18
Algoritma lintasan terpendek 19 Algoritma Lintasan Terpendek Dijkstra 20
contoh 21 22
Pohon / tree Pohon adalah graf tak-berarahterhubung yang tidak mengandung sirkuit 23 Hutan (forest) kumpulanpohon yang saling lepas, atau graf tidak terhubung yang tidak mengandung sirkuit. Setiap komponendi dalam graf terhubung tersebut adalah pohon. Hutan yang terdiri dari tiga buahpohon Pohon mempunyai bilangan kromatis = 2. 24
Sifat-sifat Pohon Teorema. Misalkan G = (V, E) adalah graf tak-berarah sederhana dan jumlahsimpulnya n. Maka, semua pernyataan di bawahini adalahekivalen: G adalah pohon. Setiap pasang simpul di dalam G terhubung dengan lintasan tunggal. G terhubung dan memiliki m = n 1 buah sisi. G tidak mengandung sirkuit dan memiliki m = n 1 buah sisi. G tidak mengandung sirkuit dan penambahan satu sisi pada graf akan membuat hanya satu sirkuit. G terhubung dan semua sisinya adalah jembatan. Teorema di atas dapat dikatakan sebagai definisi lain dari pohon. 25 Pohon Merentang (spanning tree) Pohonmerentang dari graf terhubung adalah upagraf merentang yang berupapohon. Pohonmerentang diperolehdengan memutus sirkuit didalam graf. 26
Aplikasi Pohon Merentang 27 Pohon Rentang Minimum 28
Algortima Prim Langkah 1: ambil sisi dari graf G yang berbobot minimum, masukkan ke dalam T. Langkah 2: pilih sisi (u, v) yang mempunyai bobotminimum dan bersisian dengan simpul di T, tetapi (u, v) tidak membentuk sirkuit di T. Masukkan (u, v) ke dalam T. Langkah 3: ulangi langkah 2 sebanyak n 2 kali. Jumlah langkah seluruhnyadidalam algoritma Prim adalah 1 + (n 2) = n 1 yaitu sebanyak jumlah sisi di dalam pohon rentang dengan n buah simpul. 29 Algoritma Prim 30
Contoh 31 32
33 Algoritma Kruskal ( Langkah 0: sisi-sisi dari graf sudah diurut menaik berdasarkan bobotnya dari bobot kecil ke bobot besar) Langkah 1: T masih kosong Langkah 2: pilih sisi (u, v) dengan bobot minimum yang tidak membentuk sirkuit di T. Tambahkan (u, v) ke dalam T. Langkah 3: ulangi langkah 2 sebanyak n 1 kali. 34
Algoritma Kruskal 35 Contoh 36
37 Pohon Berakar 38
Pohon Berakar 39 Terminologi pada Pohon Berakar a b c d e f g h i j k l m 40
Derajat (Degree) 41 Daun (leaf) 42
Tinggi (height) atau Kedalaman (depth) 43 Pohon m-ary 44
Pohon Biner 45 Pohon Biner 46
47 48
49 50
51 52
53 54
selesai 55