1.1k likes | 2.46k Views
GRAF. Matematika Diskrit. C. D. A. B. Pendahuluan . Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut Representasi : Objek : noktah, bulatan atau titik Hubungan antar objek : garis. Definisi .
E N D
GRAF Matematika Diskrit
C D A B Pendahuluan • Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut • Representasi : • Objek : noktah, bulatan atau titik • Hubungan antar objek : garis
Definisi • Graf G didefinisikan sebagai pasangan himpunan (V,E) • Ditulis dengan notasi : G = (V, E) V = himpunan tidak kosong dari simpul-simpul (vertices atau node) E = himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul • Graf trivial adalah : • Graf hanya mempunyai satu buah simpul tanpa sebuah sisi • Simpul pada graf dinomori dengan : • Huruf (a,b, …,z) atau • Bilangan (1, 2, … ) atau • Huruf dan bilangan (a1, a2, …. ) • Sisi yang menghubungkan simpul u dan simpul v dinyatakan dengan pasangan (u,v) atau dinyatakan dengan e1, e2, …. Sehingga dapat ditulis : e = (u,v)
1 2 3 4 Contoh 1 • G1 adalah graf dengan himpunan simpul V dan himpunan sisi E : V = {1, 2, 3, 4} E = {(1,2), (1,3), (2,3), (2,4), (3,4)} Graf sederhana
1 e4 e1 e3 2 3 e2 e6 e5 e7 4 Contoh 2 • G2 adalah graf dengan himpunan simpul V dan himpunan sisi E : V = {1, 2, 3, 4} E = {(1,2), (2,3), (1,3), (1,3), (2,4), (3,4), (3,4)} = {e1, e2, e3, e4, e5, e6, e7} Himp. Ganda • Pada G2 : sisi e3 = (1,3) dan sisi e4 = (1,3) dinamakan sisi ganda (multiple edges atau paralel edges) Graf ganda
1 e4 e1 e3 e8 2 e2 e6 3 e5 e7 4 Contoh 3 • G3 adalah graf dengan himpunan simpul V dan himpunan sisi E : V = {1, 2, 3, 4} E = {(1,2), (2,3), (1,3), (1,3), (2,4), (3,4), (3,4), (3,3)} = {e1, e2, e3, e4, e5, e6, e7, e8} Himp. Ganda • Pada G3 : e8 = (3,3) dinamakan gelang atau kalang (loop) Graf semu
Jenis-jenis Graf Berdasarkan ada atau tidaknya gelang : • Graf sederhana (simple graph) • Graf tidak mengandung gelang maupun sisi ganda • Sisi adalah pasangan tak terurut (unordered pairs) • Graf tak-sederhana (unsimple graph) • Graf yang mengandung sisi ganda atau gelang Ada 2 macam graf tak-sederhana : • Graf ganda (multigraph) • Graf yang mengandung sisi ganda, sisi ganda yang menghubungkan sepasang simpul bisa lebih dari dua buah • Graf semu (pseudograph) • Graf yang mengandung gelang (loop), sisi graf semu terhubung ke dirinya sendiri
Jenis-jenis Graf (Cont.) Berdasarkan orientasi arah pada sisi : • Graf tak-berarah (undirected graph) • Graf yang sisinya tidak mempunyai orientasi arah • Urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan • Graf berarah (directed graph atau digraph) • Graf yang setiap sisinya diberikan orientasi arah • Biasanya disebut dengan busur (arc) Busur (u,v) : • Simpul u = simpul asal (initial vertex) • Simpul v = simpul terminal (terminal vertex)
Kardinalitas Graf • Kardinalitas graf adalah : • Jumlah simpul pada graf • Dinyatakan dengan : n = |V| • Jumlah sisi dinyatakan dengan : m = |E|
Terminologi (Istilah) Dasar • Adjacent (bertetangga) • Incident (bersisian) • Isolated vertex (simpul terpencil) • Null graph atau empty graph (graf kosong) • Degree (derajat) • Path (lintasan) • Cycle (siklus) atau circuit (sirkuit) • Connected (terhubung) • Subgraph (upagraf) dan Komplemen Upagraf • Spanning subgraph (upagraf merentang) • Cut – set • Weigted graph (graf berbobot)
1 2 3 4 Adjacent (bertetangga) • Dua buah simpul pada graf tak berarah G dikatakan bertetangga bila keduanya terhubung langsung dengan sebuah sisi. • Contoh : simpul 1 bertetangga dengan simpul 2 dan 3 tetapi simpul 1 tidak bertetangga dengan simpul 4
1 2 3 4 Incident (bersisian) • Untuk sembarang sisi e = (u,v), sisi e dikatakan bersisian dengan simpul u dan simpul v • Contoh : sisi (2,3) bersisian dengan simpul 2 dan simpul 3, sisi (2,4) bersisian dengan simpul 2 dan simpul 4 tetapi sisi (1,2) tidak bersisian dengan simpul 4
1 5 3 4 2 Isolated vertex (simpul terpencil) • Simpul terpencil adalah simpul yang tidak mempunyai sisi yang bersisian dengannya. • Dapat juga dinyatakan bahwa simpul terpencil adalah simpul yang tidak satupun bertetangga dengan simpul-simpul lainnya • Contoh : Simpul 5 adalah simpul terpencil
1 5 4 2 3 Null graph atau empty graph (graf kosong) • Graf yang himpunan sisinya merupakan himpunan kosong disebut sebagai graf kosong • Ditulis sebagai : Nn , n = jumlah simpul • Contoh : graf di atas adalah graf kosong N5
1 2 3 4 Degree (derajat) • Derajat suatu simpul pada graf tak berarah adalah jumlah sisi yang bersisian dengan simpul tersebut • Notasi : d(v) menyatakan derajat simpul v • Contoh : d(1) = d(4) = 2 d(2) = d(3) = 3 • Sisi terpencil adalah simpul dengan d(v) = 0 karena tidak satupun sisi yang bersisian dengan simpul tersebut • Sisi gelang (loop) dihitung berderajat dua • Jika terdapat g buah gelang dan e buah sisi bukan gelang yang bersisian dengan simpul v maka derajat simpul v adalah : d(v) = 2g + e
Degree (derajat) • Simpul yang berderajat satu disebut anting-anting (pendant vertex) • Pada graf berarah, derajat simpul v dinyatakan dengan din(v) dan dout(v), dalam hal ini : din(v) = derajat masuk (in-degree) = jumlah busur yang masuk ke simpul v dout(v) = derajat keluar (out-degree) = jumlah busur yang keluar dari simpul v Dan d(v) = din(v) + dout(v)
b a c d Contoh • Derajat setiap simpul : din(a) = 2 ; dout(a) = 1 din(b) = 2 ; dout(b) = 3 din(c) = 1 ; dout(c) = 2 din(d) = 2 ; dout(d) = 1 • Pada graf berarah G = (V,E) selalu berlaku hubungan : • Sehingga :
Path (lintasan) • Lintasan yang panjangnya n dari simpul awal vo ke simpul tujuan vn di dalam graf G adalah barisan berselang-seling simpul-simpul dan sisi-sisi yang berbentuk vo, e1, v1, e2, v2, …, vn-1, en, vn sedemikian sehingga e1 = (vo, v1), e2 = (v1, v2), …, en = (vn-1, vn) adalah sisi-sisi dari graf G • Lintasan sederhana (simple path) : • Jika semua simpulnya berbeda (setiap sisi yang dilalui hanya sekali) • Lintasan tertutup (closed path) : • Lintasan yang berawal dan berakhir pada simpul yang sama • Lintasan terbuka (opened path) : • Lintasan yang tidak berawal dan berakhir pada simpul yang sama • Panjang lintasan : • Jumlah sisi dalam lintasan tersebut
1 2 3 4 Contoh • Lintasan 1,2,4,3 adalah lintasan sederhana dan terbuka • Lintasan 1,2,4,3,1 adalah lintasan sederhana dan tertutup • Lintasan 1,2,4,3,2 bukan lintasan sederhana tetapi lintasan terbuka • Lintasan 1,2,4,3 memiliki panjang lintasan = 3
Cycle (siklus) atau circuit (sirkuit) • Lintasan yang berawal dan berakhir pada simpul yang sama disebut sirkuit atau siklus • Sirkuit sederhana (simple circuit) : • jika setiap sisi yang dilalui berbeda • Contoh : • Lintasan 1,2,3,1 sirkuit sederhana • Lintasan 1,2,4,3,2,1 bukan sirkuit sederhana karena sisi (1,2) dilalui 2 kali
Connected (terhubung) • Graf tak-berarah G disebut graf terhubung (connected graph) jika untuk setiap pasang simpul u dan v di dalam himpunan V terdapat lintasan dari u ke v (yang juga harus berarti ada lintasan dari u ke v) • Graf berarah G dikatakan terhubung jika graf tak berarahnya terhubung (graf tak berarah dari G diperoleh dengan menghilangkan arahnya) • Graf berarah G disebut terhubung kuat (strongly connected) jika untuk setiap pasang simpul sembarang vi dan vj di G terhubung kuat
1 1 5 5 2 2 4 4 3 3 Contoh • Graf di samping merupakan graf terhubung kuat karena untuk sembarang sepasang simpul di dalam graf terdapat lintasan • Graf di samping merupakan graf terhubung lemah karena tidak semua pasangan simpul mempunyai lintasan dari dua arah
2 2 1 3 1 3 1 3 6 6 5 4 5 5 4 Subgraph (upagraf) dan Komplemen Upagraf • Misalkan G = (V,E) adalah sebuah graf. G1 = (V1, E1) adalah upagraf (subgraph) dari G jika V1 V dan E1 E • Komplemen dari upagraf G1 terhadap G adalah graf G2 = (V2, E2) sedemikian sehingga E2 = E - E1 dan V2 adalah himpunan simpul yang anggota-anggota E2 bersisian dengannya Upagraf dari G1 Graf G1 Komplemen dari upagraf yang bersesuaian
b a c f d e Contoh • Tentukan komponen terhubung dari G = (V,E) dimana V = {a,b,c,d,e,f} dan E = {(a,d),(c,d)} Penyelesaian : simpul a bertetangga dengan d sedangkan simpul d bertetangga dengan c, ini berarti a juga terhubung dengan c. Simpul b,e dan f merupakan simpul terpencil. Sehingga ada : • G1 = (V1, E1) dengan V1 = {a,c,d} dan E1 = {(a,d),(c,d)} • G2 = (V2, E2) dengan V2 = {b} dan E2 = { } • G3 = (V3, E3) dengan V3 = {e} dan E3 = { } • G4 = (V4, E4) dengan V4 = {f} dan E4 = { } Dan • V1 V2 V3 V4 = V • E1 E2 E3 E4 = E • G1 V2 V3 V4 =
1 1 1 2 3 2 3 2 3 4 5 4 5 Spanning subgraph (upagraf merentang) • Upagraf G1 = (V1, E1) dan G = (V,E) dikatakan upagraf merentang jika = V1 = V (yaitu G1 mengandung semua simpul dari G) Bukan upagraf merentang dari G Graf G Upagraf merentang dari G
Cut – set • Cut set dari graf terhubung G adalah himpunan sisi yang bila dibuang dari G menyebabkan G tidak terhubung • Cut set selalu menghasilkan 2 buah komponen terhubung • Nama lain : jembatan (bridge) adalah • himpunan sisi apabila dibuang dari graf menyebabkan graf tersebut tidak terhubung (menjadi 2 buah komponen terhubung)
2 2 2 1 1 1 5 5 5 6 6 6 3 4 3 3 4 4 Contoh Himpunan {(1,2),(1,5),(3,5),(3,4)} adalah cut-set • Sisi (1,2) dibuang, graf tetap terhubung • Jika sisi (1,2) dan (1,5) dibuang, graf tetap terhubung • Jika sisi dari himpunan {(1,2),(1,5),(3,5),(3,4)} dibuang, graf tidak terhubung cut-set • Cut-set terjadi pada himpunan : • {(1,2),(1,5),(3,5),(3,4)} • {(1,2),(2,5)} • {(1,3),(1,5),(1,2)} • {(2,6)}
a e b d c 10 12 8 11 15 9 14 Weigted graph (graf berbobot) • Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot) • Bobot pada tiap sisi berbeda-beda tergantung pada masalah yang dimodelkan dengan graf • Bobot dapat menyatakan : • Jarak antara 2 kota • Biaya perjalanan antara 2 kota • Waktu tempuh pesan (message) dari sebuah simpul komunikasi ke simpul komunikasi lain • Ongkos produksi • dll • Istilah lain : graf berlabel
Graf Sederhana Khusus • Complete graph (Graf lengkap) • Graf lingkaran • Regular graph (Graf teratur) • Bipartite graph (Graf bipartit)
Complete Graph (Graf Lengkap) • Adalah graf sederhana yang setiap simpulnya mempunyai sisi ke semua simpul lainnya. • Graf lengkap dengan n buah simpul dilambangkan dengan Kn • Setiap simpul pada Kn berderajat n-1 • Jumlah sisi : Graf lengkap Kn , 1 n 6 K1 K5 K2 K4 K3 K6
Graf Lingkaran • Adalah graf sederhana yang setiap simpulnya berderajat 2 • Graf lingkaran dengan n simpul dilambangkan dengan : Cn • Jika simpul-simpul pada Cn adalah v1, v2, …, vn, maka sisi-sisinya adalah : (v1, v2), (v2, v3), …, (vn-1, vn) dan (vn, v1) • Ada sisi simpul dari simpul terakhir, vn, ke simpul pertama, v1 Graf lingkaran Cn , 3 n 6
Regular graph (Graf teratur) • Adalah : graf yang setiap simpulnya mempunyai derajat yang sama • Jika derajat setiap simpul adalah r maka graf tersebut disebut sebagai graf teratur derajat r • Jumlah sisi pada graf teratur derajat r dengan n buah simpul adalah : Derajat 0 Derajat 1 Derajat 2
Contoh (1) • Grafteratur berderajat 3 dengan 4 buah simpul • Graf teratur berderajat 3 dengan 6 buah simpul • Graf teratur berderajat 3 dengan 8 buah simpul (ii) n = 6, r = 3 (iii) n = 8, r = 3 (i) n = 4, r = 3
Contoh (2) Berapa jumlah maksimum dan jumlah minimum simpul pada graf sederhana yang mempunyai 12 buah sisi dan setiap simpul berderajat sama yang 3 ? Penyelesaian : • Tiap simpul berderajat sama berarti graf teratur • e = 12, r 3 • Jumlah sisi pada graf teratur berderajat r adalah e = nr/2 n = 2e/r = 2 * 12/r = 24/r • Sehingga : • r = 3 n = 24/3 = 8 maksimum • r = 4 n = 24/4 = 6 minimum • r = 6 n = 24/6 = 4 tidak mungkin membentuk graf sederhana • r = 8 n = 24/8 = 3 tidak mungkin membentuk graf sederhana • r = 12 n = 24/12 = 2 tidak mungkin membentuk graf sederhana • r = 24 n = 24/24 = 1 tidak mungkin membentuk graf sederhana • Jadi jumlah simpul paling sedikit (minimum) = 6 buah dan paling banyak (maksimum) = 8 buah
V2 V1 Bipartite graph (Graf bipartit) • Adalah graf G yang himpunan simpulnya dapat dikelompokkan menjadi 2 himpunan bagian V1 dan V2, sedemikian hingga setiap sisi di dalam G menghubungkan sebuah simpul di V1 ke sebuah simpul di V2 • Dinyatakan sebagai G(V1, V2) • Graf bipartit lengkap (complete bipartite graph) adalah : • Jika setiap simpul di V1 bertetangga dengan semua simpul di V2 • Dilambangkan dengan Km,n • Jumlah sisi : mn Graf bipartit G(V1, V2)
a b g c f d e Contoh (1) • V1 = {a,b,d} dan V2 = {c,e,f,g} • Setiap sisi menghubungkan simpul di V1 ke simpul V2 • Sehingga bentuk graf bipartit C6 adalah :
Contoh (2) • Graf bipartit lengkap K2,3 , K3,3 dan K2,4 adalah : K3,3 K2,4 K2,3
Representasi Graf • Adjacency matrix (matriks ketetanggaan) • Incidency matrix (matriks bersisian) • Adjacency list (senarai ketetanggaan)
Adjacency matrix (matriks ketetanggaan) • Adalah matriks dwimatra yang berukuran n x n • Jika A = [aij] maka aij = 1 simpul i dan j bertetanggaan • Jika aij = 0 simpul i dan j tidak bertetanggaan • Matriks ketetanggaan berisi 0 dan 1 matriks nol-satu (zero-one) • Matriks ketetanggaan untuk graf sederhana dan tidak berarah selalu simetri • Matriks ketetanggaan untuk graf berarah belum tentu simetri (akan simetri jika berupa graf berarah lengkap) • Matriks ketetanggaan tidak dapat digunakan untuk merepresentasikan graf yang mempunyai sisi ganda (graf ganda) • Untuk matriks semu, gelang pada simpul vi dinyatakan dengan nilai 1 pada posisi (i,i) di matriks ketetanggaan
1 1 2 3 3 2 4 4 1 e4 e1 1 e3 e2 5 e8 2 e6 3 e5 3 4 e7 4 2 Contoh
Adjacency matrix • Jumlah elemen matriks ketetanggaan untuk graf dengan n simpul adalah : n2 • Jika tiap elemen membutuhkan ruang memori sebesar p, maka ruang memori yang diperlukan seluruhnya adalah : p n2 • Matriks ketetanggaan untuk graf tak-berarah sederhana simetri membutuhkan ruang memori : p n2 / 2 • Derajat tiap simpul i dapat dihitung • Untuk graf tak-berarah : • Untuk graf berarah :
1 2 3 4 1 5 1 3 4 2 3 2 4 Contoh • Derajat matriks simpul 2 adalah : 1 + 0 + 1 + 1 = 3 • Derajat matriks simpul 4 adalah : 0 + 1 + 1 + 0 = 2 • Derajat matriks simpul 4 adalah : 0 + 0 + 1 + 0 + 0 = 1 • Derajat matriks simpul 5 adalah : 0 + 0 + 0 + 0 + 0 = 0 • Derajat masuk matriks simpul 2 adalah : 1 + 0 + 0 + 1 = 2 • Derajat keluar matriks simpul 2 adalah : 1 + 0 + 1 + 1 = 3
Incidency matrix (matriks bersisian) • Adalah matriks dwimatra yang berukuran n x m • Baris menunjukkan label simpul • Kolom menunjukkan label sisinya • Jika A = [aij] maka aij = 1 simpul i bersisian dengan sisi j • Jika aij = 0 simpul i tidak bersisian dengan sisi j • Digunakan untuk merepresentasikan graf yang mengandung sisi ganda atau sisi gelang (loop) • Derajat setiap simpul i adalah : jumlah seluruh elemen pada baris i (kecuali pada graf yang mengandung gelang) • Jumlah elemen matriks bersisian : nm • Jika tiap elemen membutuhkan ruang memori sebesar p, maka ruang memori yang diperlukan adalah : pnm
e1 2 1 e2 e4 e3 3 e5 4 e6 Contoh Jumlah elemen matriks adalah 4 x 6 = 24
1 1 2 3 3 2 4 4 1 5 3 4 2 Adjacency list (senarai ketetanggaan) • Senarai ketetanggaan mengenumerasi simpul-simpul yang bertetangga dengan setiap simpul di dalam graf Senarai ketetanggaan : 1 : 2,3 2 : 1,3,4 3 : 1,2,4 4 : 2,3 Senarai ketetanggaan : 1 : 2,3 2 : 1,3 3 : 1,2,4 4 : 3 5 : - Senarai ketetanggaan : 1 : 2 2 : 1,3,4 3 : 1 4 : 2,3
d c 3 v w 4 b a 1 2 y x Isomorphic Graph (graf isomorfik) • Dua buah graf, G1 dan G2 dikatakan isomorfik jika terdapat korespondensi satu-satu antara simpul-simpul keduanya dan antara sisi-sisi keduanya sedemikian hingga jika sisi e bersisian dengan simpul u dan v di G1, maka sisi e’ yang berkoresponden di G2 juga harus bersisian dengan simpul u’ dan v’ di G2 G3 G2 G1 • G1 isomorfik dengan G2. Simpul 1,2,3 dan 4 di G1 berkoresponden dengan simpul a,b,c dan d di G2 . Sisi (1,2), (2,3), (3,1), (3,4), (1,4) dan (2,4) berkoresponden dengan sisi (a,b), (b,c), (c,d), (a,d), (a,c) dan (b,d). Semua simpul di G1 dan G2 berderajat 3 • G1 dan G2 tidak isomorfik dengan G3 karena simpul-simpul di G3 2 buah berderajat 2 dan 2 buah berderajat 3, sedangkan G1 dan G2 berderajat 3
z a w v e b c x y d Contoh • Simpul a,b,c,d dan e di G1 masing-masing berkoresponden dengan simpul x, y, w, v dan z di G2 • Masing-masing simpul berderajat 3, 2, 3, 3 dan 1 G1 G2
z a w v e b c x y d Isomorphic Graph (graf isomorfik) • Dua buah graf isomorfik harus memenuhi syarat : • Mempunyai jumlah simpul yang sama • Mempunyai jumlah sisi yang sama • Mempunyai jumlah simpul yang sama berderajat tertentu • Untuk memeriksa graf isomorfik, digunakan bantuan matriks ketetanggaan (adjacency matrix) G1 G2
Graf Planar • Graf planar adalah : • Graf yang dapat digambarkan pada bidang datar dengan sisi-sisi yang tidak saling memotong (bersilangan) K4 adalah graf planar K5 bukan graf planar