Pertemuan 11 Teori 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 Kendal Demak Semarang Kudus Rembang Slawi Pekalongan Blora Purwokerto Temanggung Salatiga Wonosobo P urbalingga Banjarnegara Boyolali Solo Purwodadi Sragen Cilacap Kroya Kebumen Magelang Sukoharjo Purworejo Klaten Wonogiri 2
Sejarah Graf: masalah jembatan Königsberg (tahun 1736) C A D B Gambar 1. 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? 3
Konigsberg Bridge Problem Leonhard Euler 15 April 1707 18 September 1783 4
Graf struktur sebuah organisasi dan peta beberapa daerah tampak pada gambar 1. Ketua I Ketua I Ketua II Ketua II Seksi Dana Seksi Dana Seksi Acara Seksi Acara Seksi Konsumsi Seksi Konsumsi Seksi Perlengkapan Seksi Perlengkapan Sekretariat Sekretariat Seksi Keamanan Seksi Keamanan Gambar 1 A 75 C 200 B 50 180 100 D 60 E Gambar 2
Definisi Graf Graf G = (V, E), yang dalam hal ini: V = himpunan tidak-kosong dari titik-titik (vertices) = {,,..., v n } E = himpunan sisi (edges) yang menghubungkan sepasang simpul = {, e 2,..., e n } 6
1 1 1 e2 e 4 e2 e 4 2 3 2 3 e 5 e 6 e 7 2 e 8 e 6 5 e 7 4 4 4 G 1 G 2 G 3 Gambar 2. (a) graf sederhana, (b) graf ganda, dan (c) graf semu Contoh 1. Pada Gambar 2, G 1 adalah graf dengan V = { 1, 2, 3, 4 } E = { (1, 2), (1, 3), (2, 3), (2, 4), (3, 4) } G 2 adalah graf dengan V = { 1, 2, 3, 4 } E = { (1, 2), (2, 3), (1, 3), (1, 3), (2, 4), (3, 4), (3, 4) } = {, e 2,, e 4, e 5, e 6, e 7 } G 3 adalah graf dengan V = { 1, 2, 3, 4 } E = { (1, 2), (2, 3), (1, 3), (1, 3), (2, 4), (3, 4), (3, 4), (3, 3) } = {, e 2,, e 4, e 5, e 6, e 7, e 8 } 7
1 1 1 2 3 e 4 e 2 2 3 e e 6 5 e 7 2 e2 e 4 e 8 e 6 5 e 7 4 4 4 G 1 G 2 G 3 Gambar 2. (a) graf sederhana, (b) graf ganda, dan (c) graf semu Pada G 2, sisi = (1, 3) dan sisi e 4 = (1, 3) dinamakan sisiganda (multiple edges atau paralel edges) karena kedua sisi ini menghubungi dua buah simpul yang sama, yaitu simpul 1 dan simpul 3. Pada G 3, sisi e 8 = (3, 3) dinamakan gelang atau kalang (loop) karena ia berawal dan berakhir pada simpul yang sama. 8
Jenis-Jenis Graf Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka graf digolongkan menjadi dua jenis: 1. Graf sederhana (simple graph). Graf yang tidak mengandung gelang maupun sisi-ganda dinamakan graf sederhana. G 1 pada Gambar 2 adalah contoh graf sederhana 2. Graf tak-sederhana (unsimple-graph). Graf yang mengandung sisi ganda atau gelang dinamakan graf tak-sederhana (unsimple graph). G 2 dan G 3 pada Gambar 2 adalah contoh graf tak-sederhana 9
Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas 2 jenis: 1. Graf tak-berarah (undirected graph) Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah. Tiga buah graf pada Gambar 2 adalah graf tak-berarah. 2. Graf berarah (directed graph atau digraph) Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah. Dua buah graf pada Gambar 3 adalah graf berarah. 10
1 1 2 3 2 3 4 4 (a) G 4 (b) G 5 Gambar 3 (a) graf berarah, (b) graf-ganda berarah 11
Tabel 1 Jenis-jenis graf 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 12
Contoh Terapan Graf 1. Rangkaian listrik. A B C A B C F E D F E D (a) (b) 13
2. Isomer senyawa kimia karbon metana (CH 4 ) etana (C 2 H 6 ) propana (C 3 H 8 ) H H C H H 14
3. Jejaring makanan (Biologi) 15
4. Pengujian program read(x); while x <> 9999 do begin if x < 0 then writeln( Masukan tidak boleh negatif ) else x:=x+10; read(x); end; writeln(x); 4 1 2 3 6 7 Keterangan: 1 : read(x) 5 : x := x + 10 2 : x <> 9999 6 : read(x) 3 : x < 0 7 : writeln(x) 4 : writeln( Masukan tidak boleh negatif ); 5 16
5. Pemodelan Mesin Jaja (vending Machine) 17
Contoh Ada 7 kota (A,...,G) yang beberapa diantaranya dapat dihubungkan secara langsung dengan jalan darat. Hubungan-hubungan langsung yang dapat dilakukan adalah sebagai berikut: A dengan B dan D B dengan D C dengan B E dengan F Buatlah graf yang menunjukkan keadaan transportasi di 7 kota tersebut.
Penyelesaian : Misalkan kota-kota dianggap sebagai titik-titik. Dua titik/kota dihubungkan dengan garis bila dan hanya bila ada jalan yang menghubungkan langsung kedua kota tersebut. Dengan demikian, keadaan transportasi di 7 kota dapat dinyatakan dalam gambar 3. A e 2 B D e 4 C Gambar 3 E e 5 F G Dalam graf tersebut berhubungan dengan titik A dan B (keduanya disebut titik ujung ). Titik A dan B dikatakan berhubungan, sedangkan titik A dan C tidak berhubungan karena tidak ada garis yang menghubungkannya secara langsung. Titik G adalah titik terasing karena tidak ada garis yang berhubungan dengan G. dalam interpretasinya, kota G merupakan kota yang terasing karena tidak dapat dikunjungi dari kota-kota lain dengan jalan darat.
Contoh Dalam graf G pada gambar 4, tentukan : a. Himpunan titik-titik, himpunan garis-garis, titik-titik ujung masing-masing garis, dan garis paralel. b. Loop dan titik terasing. v 4 e 5 v 5 e 2 v 6 e 4 v 3 Gambar 4
Penyelesaian : a. V(G) = {,, v 3, v 4, v 5, v 6 } E(G) = {, e 2,, e 4, e 5, e 6, e 7 } Titik-titik ujung masing-masing garis adalah sebagai berikut : Garis Titik Ujung {, } e 2 {, } {,v 3 } e 4 {,v 3 } e 5 {v 4,v 5 } e 6 {v 5 } e 7 {v 3 } b. Garis paralel adalah dan e 2 yang keduanya menghubungkan titik dan. Loop adalah e 6 dan e 7, sedangkan titik terasing adalah titik v 6.
Contoh Gambarlah graf G dengan titik dan garis berikut ini V(G) = {,, v 3, v 4 } E(G) = {, e 2,, e 4, e 5 } Titik-titik ujung garis adalah : Garis Titik Ujung {,v 3 } e 2 {,v 4 } { } e 4 {,v 4 } e 5 {v 3 }
Ada banyak graf yang dapat dibentuk. Semua graf tersebut sebenarnya menggambarkan objek yang sama, tetapi tampak berbeda karena letak titik, panjang garis dan kelengkungannya berbeda. Dua diantara graf-graf tersebut tampak pada gambar 5 dan 6 v 3 e 2 e 4 e 2 v 3 e 4 e 5 e 5 v 4 v 4 Gambar 5 gambar 6 Graf juga banyak dipakai untuk membantu menyelesaikan masalah-masalah yang berhubungan dengan Kecerdasan Buatan (Artificial Intelligence), seperti dalam contoh 4, yang merupakan suatu teka-teki yang banyak dipakai sebagai ilustrasi. Dalam hal ini, graf digunakan untuk menyatakan hubungan-hubungan yang terjadi di antara objekobjek. Dengan cara itu, deduksi ke kesimpulan akan lebih mudah dibuat.
Graf Bipartitie Definisi 2 Graf Sederhana (Simple Graph) adalah graf yang tidak mempunyai loop ataupun garis paralel.
Contoh Gambarlah semua graf sederhana yang dapat dibentuk dari 4 titik {a, b, c, d} dan 2 garis Penyelesaian : Sebuah garis dalam graf sederhana selalu berhubungan dengan 2 buah titik. Karena ada 4 4! 4 titik, maka ada 6 garis yang mungkin dibuat, yaitu garis-garis yang titik-titik 2 2! 2! ujungnya adalah {a, b}, {a, c}, {a, d}, {b, c}, {b, d}, dan {c,d}. Dari keenam garis yang mungkin tersebut, selanjutnya dipilih 2 diantaranya. Jadi ada 6 6! 15 2 2! 4! buah graf yang mungkin dibentuk. Graf-graf tersebut dapat dilihat pada gambar 10. a b a b a b a b a b c d c d c d c d c d a b a b a b a b a b c d c d c d c d c d a b a b a b a b a b c d c d c d c d c d Gambar 10
Definisi 3 Graf Lengkap (Complete Graph) dengan n titik (simbol K n ) adalah graf sederhana denga n titik, di mana setiap 2 titik berbeda dihubungkan dengan suatu garis. Teorema 1 Banyaknya garis dalam suatu graf lengkap dengan n titik adalah n n 1 2 buah Contoh 8.6 Gambarlah K 2, K 3, K 4, K 5, dan K 6!
Penyelesaian : K 2 K 3 K 4 K 5 K 6 Gambar 11 Kadang-kadang, titik-titik dalam suatu graf dapat dipecah menjadi 2 bagian, di mana titik-titik dalam satu bagian dihubungkan dengan titik-titik di bagian yang lain. Dengan demikian, graf terlihat seolah-oleh "terpisah" menjadi 2 bagian.
Definisi 4 Suatu graf G disebut Graf Bipartite apabila V(G) merupakan gabungan dari 2 himpunan tak kosong V 1 dan V 2, dan setiap garis dalam G menghubungkan suatu titik dalam V 1 dengan titik dalam V 2. Apabila dalam Graf Bipartite, setiap titik dalam V 1 berhubungan dengan setiap titik dalam V 2, maka graf-nya disebut Graf Bipartite Lengkap. Jika V 1 terdiri dari m titik dan V 2 terdiri dari n titik, maka Graf Bipartite Lengkapnya sering diberi simbol K m,n.
Contoh Tentukan mana di antara graf-graf berikut ini yang merupakan graf Bipartite dan Bipartite lengkap. v 3 e 2 e 4 e 5 e 6 v 4 v 5 v 3 e 2 v 4 v 6 e 6 v 5 e 5 e 4 v 4 (a) (b) (c) (d) Gambar 12 e 2 v 3 v 4 e 5 e 4 e 2 v 5 e 6 v 3
Penyelesaian : a. Jelas bahwa titik-titik graf-nya terbagi menjadi 2 bagian yaitu V 1 = {,, v 3 } dan V 2 = {v 4, v 5 }. Setiap titik dalam V 1 dihubungkan dengan setiap titik dalam V 2. Maka graf-nya mempakan K 3,2. b. Hanya merupakan graf bipartite saja karena titik-titik dalam graf terbagi menjadi 2 bagian, yaitu V 1 = {, v 3 } dan V 2 = {, v 4 }. Akan tetapi, tidak semua titik dalam V 1 dihubungkan dengan semua titik dalam V 2 ( tidak dihubungkan dengan v 4 ). c. Dengan pengaturan letak titik-titiknya, maka graf gambar 12 (c) dapat digambarkan sebagai graf pada gambar 13. e 2 v 3 e 4 v 4 e 5 v 5 e 6 v 6 Gambar 13 Tampak bahwa titik-titiknya terbagi menjadi 2 bagian yaitu V 1 = {, v 3, v 5 } dan V 2 = {, v 4, v 6 }. Setiap garis menghubungkan sebuah titik dalam V 1 dengan sebuah titik dalam V 2, sehingga graf-nya merupakan graf bipartite d. Perhatikan bahwa meskipun tampak berbeda, sebenamya graf pda gambar 12 (d) sama dengan graf gambar 12 (a), sehingga graf gambar 12 (d) adalah K 3,2.
Komplemen Graf Definisi 5 Komplemen suatu graf G (simbol G ) dengan n titik adalah suatu graf dengan : V G V G 1. Titik-titik G sama dengan titik-titik G. Jadi 2. Garis-garis G adalah komplemen garis-garis G terhadap Graf Lengkapnya (K n ) E G E Kn E G Titik-titik yang dihubungkan dengan garis dalam G tidak terhubung dalam G. Sebaliknya, titik-titik yang tidak terhubung dalam G menjadi terhubung dalam G.
Contoh Gambarlah komplemen graf G yang didefinisikan dalam gambar 8.10 di bawah ini! a a b b f a b c d c e d c e (a) (b) (c) d
Penyelesaian: Titik-titik dalam G sama dengan titik-titik dalam G, sedangkan garis-garis dalam G adalah garis-garis yang tidak berada dalam G. Pada gambar 14 (a), titik-titik yang tidak dihubungkan dengan garis dalam G adalah garis dengan titik ujung {a, d}, {a, e}, {b, c}, dan {b, e}. Maka graf G dapat digambarkan pada gambar 14 (a). Secara analog, G gambar 14 (b) dan 14 (c) dapat digambarkan pada gambar 15 (b) dan (c). a a b b f a b c d c e d c e d (a) (b) (c) Gambar 15 Perhatikan bahwa komplemen K 4 dalam soal (c) adalah graf tanpa garis di dalamnya. Secara umum, komplemen K n adalah suatu graf dengan n titik dan tanpa garis.
Sub Graf Definisi 6 Misalkan G adalah suatu graf. Graf H dikatakan subgraf G bila dan hanya bila: a. V (H) V (G) b. E (H) E (G) c. Setiap garis dalam H mempunyai titik ujung yang sama dengan garis tersebut dalam G. Dari definisi 6, ada beberapa hal yang dapat diturunkan : 1. Sebuah titik dalam G merupakan subgraf G 2. Sebuah garis dalam G bersama-sama dengan titik-titik ujungnya merupakan subgraf G 3. Setiap graf merupakan subgraf dari dirinya sendiri 4. Dalam subgraf berlaku sifat transitif : Jika H adalah subgraf G dan G adalah subgraf K, maka K adalah subgraf K
Contoh Dalam graf 16 (a) - (d) di bawah ini, apakah H merupakan subgraf G? a. e 4 e 4 e 2 v 3 v 3 G H b. e1 e 2 e 4 e1 e 2 v 3 G e 4 v 3 H c. e 4 e 5 e 6 e 2 e 7 e 4 e 5 e 6 e 2 e 7 v 4 v 3 v 4 v 3 G H d. v 4 e2 v 4 v 3 G Gambar 16 H
Penye/esaian : a. V (H) = {, v 3 } dan V (G) = {,, v 3 }, sehingga V (H) V (G). E(H) = {e 4 } dan E(G) = {, e 2,, e 4 } sehingga E(H) E(G). Garis e 4 di H merupakan loop pada dan garis e 4 juga merupakan loop pada di G. Maka H merupakan subgrafg. b. H bukan merupakan subgraf G karena meskipun V(H) = V(G) = {,, v 3 } dan E(H) = E(G) = {, e 2,, e 4 }, tetapi garis e 4 dalam H tidak menghubungkan titik yang sama dengan garis e 4 dalam G. Dalam H, garis e 4 merupakan loop di v 3, sedangkan dalam G, garis e 4 merupakan loop dalam. c. Karena Graf H = Graf G maka H merupakan subgraf G. d. V(H) = {, v 4 } dan V(G) = {,, v 3, v 4 } sehingga V(H) V(G). E(H) = { } dan E(G) = {, e 2, } sehingga E(H) E(G). Garis menghubungkan titik dengan v 4. Hal yang sama juga berlaku pada G. Maka H merupakan subgraf G. Perhatikan bahwa posisi titik tidaklah mempengaruhi.
Contoh Gambarlah semua subgraf yang mungkin dibentuk dari graf G pada gambar 17. e 2 V 2 Gambar 17
e 2 e 2 Penyelesaian: G terdiri dari 2 titik dan 2 garis. Subgraf G yang mungkin dibentuk terdiri dari 1 atau 2 titik dan 0, 1 atau 2 garis. Semua subgraf G yang mungkin dibuat dapat digambarkan pada gambar 18. Jumlah garis = 0 Jumlah garis = 1 Jumlah garis = 2 e 2