GRAF
PENDAHULUAN Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Gambar di bawah ini sebuah graf yang menyatakan peta jaringan jalan raya yang menghubungkan sejumlah kota di Provinsi Jawa Tengah. Brebes Tegal Pemalang Kend al Demak Semarang Kudus Remb ang Slawi Pekalong an Blora Pu rwokerto Temanggung Salatiga Wonosobo Pu rbalin gga Banjarnegara Boyo lali Solo Pu rwodadi Sragen Cilacap Kroya Kebu men Pu rworejo Magelan g Klaten Sukoharjo Wonogiri
Sejarah Graf: masalah jembatan Königsberg (tahun 76) C A D B Gambar. Masalah Jembatan Königsberg Graf yang merepresentasikan jembatan Königsberg: Simpul (vertex) menyatakan daratan Sisi (edge) menyatakan jembatan Bisakah melalui setiap jembatan tepat sekali dan kembali lagi ke tempat semula?
DEFINISI GRAF Graf G = (V, E), yang dalam hal ini: V = himpunan tidak-kosong dari simpul-simpul (vertices) = { v, v,..., v n } E = himpunan sisi (edges) yang menghubungkan sepasang simpul = {e, e,..., e n }
e e e e e e e e e 5 e 6 e 7 e 8 e e 6 5 e 7 G G G Gambar. (a) graf sederhana, (b) graf ganda, dan (c) graf semu Contoh. Pada Gambar, G adalah graf dengan V = {,,, } E = { (, ), (, ), (, ), (, ), (, ) } G adalah graf dengan V = {,,, } E = { (, ), (, ), (, ), (, ), (, ), (, ), (, ) } = { e, e, e, e, e 5, e 6, e 7 } G adalah graf dengan V = {,,, } E = { (, ), (, ), (, ), (, ), (, ), (, ), (, ), (, ) } = { e, e, e, e, e 5, e 6, e 7, e 8 } 5
e e e e e e e e e 5 e 6 e 7 e 8 e e 6 5 e 7 G G G Gambar. (a) graf sederhana, (b) graf ganda, dan (c) graf semu Pada G, sisi e = (, ) dan sisi e = (, ) dinamakan sisiganda (multiple edges atau paralel edges) karena kedua sisi ini menghubungi dua buah simpul yang sama, yaitu simpul dan simpul. Pada G, sisi e 8 = (, ) dinamakan gelang atau kalang (loop) karena ia berawal dan berakhir pada simpul yang sama. 6
JENIS-JENIS GRAF Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka graf digolongkan menjadi dua jenis:. Graf sederhana (simple graph). Graf yang tidak mengandung gelang maupun sisi-ganda dinamakan graf sederhana. G pada Gambar adalah contoh graf sederhana. Graf tak-sederhana (unsimple-graph). Graf yang mengandung sisi ganda atau gelang dinamakan graf tak-sederhana (unsimple graph). G dan G pada Gambar adalah contoh graf tak-sederhana 7
Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas jenis:. Graf tak-berarah (undirected graph) Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah. Tiga buah graf pada Gambar adalah graf tak-berarah.. Graf berarah (directed graph atau digraph) Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah. Dua buah graf pada Gambar adalah graf berarah. 8
(a) G (b) G 5 Gambar (a) graf berarah, (b) graf-ganda berarah 9
Tabel Jenis-jenis graf [ROS99] Jenis Sisi Sisi ganda dibolehkan? Graf sederhana Tak-berarah Tidak Graf ganda Tak-berarah Ya Graf semu Tak-berarah Ya Graf berarah Bearah Tidak Graf-ganda berarah Bearah Ya Sisi gelang dibolehkan? Tidak Tidak Ya Ya Ya
TERMINOLOGI GRAF. Ketetanggaan ( Adjacent ) Dua buah simpul dikatakan bertetangga bila keduanya terhubung langsung. Tinjau graf G : simpul bertetangga dengan simpul dan, simpul tidak bertetangga dengan simpul. e e e 5 e 5 e G G G
. Bersisian (Incidency) Untuk sembarang sisi e = (v j, v k ) dikatakan e bersisian dengan simpul v j, atau e bersisian dengan simpul v k Tinjau graf G : sisi (, ) bersisian dengan simpul dan simpul, sisi (, ) bersisian dengan simpul dan simpul, tetapi sisi (, ) tidak bersisian dengan simpul. e e e 5 e 5 e G G G
. Simpul Terpencil (Isolated Vertex) Simpul terpencil ialah simpul yang tidak mempunyai sisi yang bersisian dengannya. Tinjau graf G : simpul 5 adalah simpul terpencil. e e e 5 e 5 e G G G
. Graf Kosong (null graph atau empty graph) Graf yang himpunan sisinya merupakan himpunan kosong (N n ). Graf N 5 : 5
5. Derajat (Degree) Derajat suatu simpul adalah jumlah sisi yang bersisian dengan simpul tersebut. Notasi: d(v) Tinjau graf G : d() = d() = d() = d() = Tinjau graf G : d(5) = simpul terpencil d() = simpul anting-anting (pendant vertex) Tinjau graf G : d() = d() = bersisian dengan sisi ganda bersisian dengan sisi gelang (loop) e e e 5 e 5 e 5 G G G
Pada graf berarah, d in (v) = derajat-masuk (in-degree) = jumlah busur yang masuk ke simpul v d out (v) = derajat-keluar (out-degree) = jumlah busur yang keluar dari simpul v d(v) = d in (v) + d out (v) 6
Tinjau graf G : G G 5 d in () = ; d out () = d in () = ; d out () = d in () = ; d out () = d in () = ; d out () = 7
Lemma Jabat Tangan. Jumlah derajat semua simpul pada suatu graf adalah genap, yaitu dua kali jumlah sisi pada graf tersebut. Dengan kata lain, jika G = (V, E), maka vv d( v) E Tinjau graf G : d() + d() + d() + d() = + + + = = jumlah sisi = 5 Tinjau graf G : d() + d() + d() = + + = = jumlah sisi = 5 Tinjau graf G : d() + d() + d() + d() + d(5) = + + + + = 8 = jumlah sisi = e e e 5 e 5 e 8 G G G
Akibat dari lemma (corollary): Teorema: Untuk sembarang graf G, banyaknya simpul berderajat ganjil selau genap. 9
Contoh. Diketahui graf dengan lima buah simpul. Dapatkah kita menggambar graf tersebut jika derajat masing-masing simpul adalah: (a),,,, (b),,,, Penyelesaian: (a) tidak dapat, karena jumlah derajat semua simpulnya ganjil ( + + + + = 9). (b) dapat, karena jumlah derajat semua simpulnya genap ( + + + + = 6).
6. Lintasan (Path) Lintasan yang panjangnya n dari simpul awal v ke simpul tujuan v n di dalam graf G ialah barisan berselang-seling simpul-simpul dan sisi-sisi yang berbentuk v, e, v, e, v,..., v n, e n, v n sedemikian sehingga e = (v, v ), e = (v, v ),..., e n = (v n-, v n ) adalah sisi-sisi dari graf G. Tinjau graf G : lintasan,,, adalah lintasan dengan barisan sisi (,), (,), (,). Panjang lintasan adalah jumlah sisi dalam lintasan tersebut. Lintasan,,, pada G memiliki panjang. e e e 5 e 5 e G G G
7. Siklus (Cycle) atau Sirkuit (Circuit) Lintasan yang berawal dan berakhir pada simpul yang sama disebut sirkuit atau siklus. Tinjau graf G :,,, adalah sebuah sirkuit. Panjang sirkuit adalah jumlah sisi dalam sirkuit tersebut. Sirkuit,,, pada G memiliki panjang. e e e 5 e 5 e G G G
8. Terhubung (Connected) Dua buah simpul v dan simpul v disebut terhubung jika terdapat lintasan dari v ke v. G disebut graf terhubung (connected graph) jika untuk setiap pasang simpul v i dan v j dalam himpunan V terdapat lintasan dari v i ke v j. Jika tidak, maka G disebut graf tak-terhubung (disconnected graph). Contoh graf tak-terhubung: 5 6 8 7
Graf berarah G dikatakan terhubung jika graf tidak berarahnya terhubung (graf tidak berarah dari G diperoleh dengan menghilangkan arahnya). Dua simpul, u dan v, pada graf berarah G disebut terhubung kuat (strongly connected) jika terdapat lintasan berarah dari u ke v dan juga lintasan berarah dari v ke u. Jika u dan v tidak terhubung kuat tetapi terhubung pada graf tidak berarahnya, maka u dan v dikatakan terhubung lemah (weakly coonected).
9. Graf Berbobot (Weighted Graph) Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot). a e 8 b 5 9 d c 5
REPRESENTASI GRAF. Matriks Ketetanggaan (adjacency matrix) A = [a ij ], a ij = {, jika simpul i dan j bertetangga, jika simpul i dan j tidak bertetangga 6
7 Contoh: 5 5 (a) (b) (c) 5 e e e e e 5 e 6 e 7 e 8
Derajat tiap simpul i: (a) Untuk graf tak-berarah (b) Untuk graf berarah, n d(v i ) = j a ij d in (v j ) = jumlah nilai pada kolom j = d out (v i ) = jumlah nilai pada baris i = n i n j a ij a ij 8
e a 8 b 5 9 d c a b c d e a b 9 8 c 9 d 5 e 8 5 9
. Matriks Bersisian (incidency matrix) A = [a ij ], a ij = {, jika simpul i bersisian dengan sisi j, jika simpul i tidak bersisian dengan sisi j e e e e e 5 e e e e e 5
. Senarai Ketetanggaan (adjacency list) 5 Simpul Simpul Tetangga Simpul Simpul Tetangga Simpul Simpul Terminal,,,,,,,,,,,,, 5 - (a) (b) (c)
GRAF ISOMORFIK Dua buah graf yang sama tetapi secara geometri berbeda disebut graf yang saling isomorfik. Dua buah graf, G dan G dikatakan isomorfik jika terdapat korespondensi satu-satu antara simpul-simpul keduanya dan antara sisisisi keduaya sedemikian sehingga hubungan kebersisian tetap terjaga. Dengan kata lain, misalkan sisi e bersisian dengan simpul u dan v di G, maka sisi e yang berkoresponden di G harus bersisian dengan simpul u dan v yang di G. Dua buah graf yang isomorfik adalah graf yang sama, kecuali penamaan simpul dan sisinya saja yang berbeda. Ini benar karena sebuah graf dapat digambarkan dalam banyak cara.
d c v w a b x y (a) G (b) G (c) G Gambar 6.5 G isomorfik dengan G, tetapi G tidak isomorfik dengan G
(a) G (b) G Gambar 6.6 Graf (a) dan graf (b) isomorfik [DEO7] e d c b a z v w y x A G = e d c b a A G = z v w y x z d c a b e x v w y
(a) (b) Gambar 6.8 (a) Dua buah graf isomorfik, (b) tiga buah graf isomorfik 5
Dari definisi graf isomorfik dapat dikemukakan bahwa dua buah graf isomorfik memenuhi ketiga syarat berikut [DEO7]:. Mempunyai jumlah simpul yang sama.. Mempunyai jumlah sisi yang sama. Mempunyai jumlah simpul yang sama berderajat tertentu Namun, ketiga syarat ini ternyata belum cukup menjamin. Pemeriksaan secara visual perlu dilakukan. u w x y v (a) (b) 6
GRAF PLANAR (PLANAR GRAPH) DAN GRAF BIDANG (PLANE GRAPH) Graf yang dapat digambarkan pada bidang datar dengan sisi-sisi tidak saling memotong (bersilangan) disebut graf planar, jika tidak, maka ia disebut graf tak-planar. K adalah graf planar: 7
K 5 adalah graf tidak planar: 8
Graf planar yang digambarkan dengan sisi-sisi yang tidak saling berpotongan disebut graf bidang (plane graph). (a) (b) (c) Tiga buah graf planar. Graf (b) dan (c) adalah graf bidang 9
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).
Contoh. Lintasan Euler pada graf (a) :,,,,, Lintasan Euler pada graf (b) :,,, 6,,, 6, 5,, Sirkuit Euler pada graf (c) :,,,, 7,, 5, 7, 6, 5,, 6, 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 (a) (b) (c) 5 6 a 5 6 7 Rinaldi M/IF9 Strukdis (d) d b (e) (f) a b e c 5 c d e f (a) dan (b) graf semi-euler (c) dan (d) graf Euler (e) dan (f) bukan graf semi-euler atau graf Euler
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 di dalam graf tepat satu kali, kecuali simpul asal (sekaligus simpul akhir) yang dilalui dua kali. Rinaldi M/IF9 Strukdis Graf yang memiliki sirkuit Hamilton dinamakan graf Hamilton, sedangkan graf yang hanya memiliki lintasan Hamilton disebut graf semi-hamilton.
Rinaldi M/IF9 Strukdis (a) (b) (c) (a) graf yang memiliki lintasan Hamilton (misal:,,, ) (b) graf yang memiliki lintasan Hamilton (,,,, ) (c) graf yang tidak memiliki lintasan maupun sirkuit Hamilton
Beberapa graf dapat mengandung sirkuit Euler dan sirkuit Hamilton sekaligus, mengandung sirkuit Euler tetapi tidak mengandung sirkuit Hamilton, dan sebagainya.. 5 5 Rinaldi M/IF9 Strukdis 6 (a) (b) (a) Graf Hamilton sekaligus graf Euler (b) Graf Hamilton sekaligus graf semi-euler
BEBERAPA APLIKASI GRAF Lintasan terpendek (shortest path) o Persoalan pedagang keliling (travelling salesperson problem) Persoalan tukang pos Cina (chinese postman problem) Pewarnaan graf (graph colouring) Rinaldi M/IF5 Matdis 5