540 likes | 864 Views
Pengenalan Graph. Disusun Oleh: Budi Arifitama Pertemuan 9. Questions Review. Apa yang dimaksud dengan tree? Sebutkan penggunaan tree yang digunakan dalam kehidupan sehari hari Apa yang dimaksud dengan leaf? Apakah sebuah leaf dapat memiliki node dibawahnya?
E N D
Pengenalan Graph Disusun Oleh: Budi Arifitama Pertemuan 9
Questions Review • Apa yang dimaksud dengan tree? • Sebutkan penggunaan tree yang digunakan dalam kehidupan sehari hari • Apa yang dimaksud dengan leaf? • Apakah sebuah leaf dapat memiliki node dibawahnya? • Seandainya Sebuah leaf memiliki node dibawahnya sebutan apa kira kira yang tepat buat node tersebut? • Apa yang dimaksud dengan pohon biner?
Sub Topik • Overview : Graph • Jenis Graph • Implementasi Graph • Graph Property • Representasi Graph
Graph • Graph digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. • Gambar berikut ini sebuah graph yang menyatakan peta jaringan jalan raya yang menghubungkan sejumlah kota di Provinsi Jawa Tengah.
Definisi Graf • Graf G (V, E), adalah koleksi atau pasangan dua himpunan • Himpunan V yang elemennya disebut simpul atau titik, atau vertex, atau point, atau node. • Himpunan E yang merupakan pasangan tak terurut dari simpul, disebut ruas • atau rusuk, atau sisi, atau edge, atau line.
Graph • Banyaknya simpul (anggota V) disebut order Graf G, sedangkan banyaknya ruas • (anggota E) disebut ukuran (size) Graf G
Graph • G = (V,E) • Dimana : Vadalah Vertex, menyatakan entitas data. Eadalah Edge, menyatakan garis penghubung antar node. • Vertex (Vertices) disebut juga sebagai node atau point. • Edge disebut juga sebagai arcs atau lines. • Setiap edge menghubungkan dua vertices.
Contoh Graph • Contoh persoalan di dunia nyata yang dapat direpresentasikan dengan graph adalah : Jaringan pertemanan pada Facebook.
Nina Firda Riza Toni Joko Ale Jaringan pertemanan pada Facebook Graph dengan 6 node/vertex dan 7 lines/edge yang merepresentasikan jaringan pertemanan pada Facebook
Penjabaran • Node(vertex): para pemakai Facebook • Lines(edge): Garis penghubung antara pemakai satu dengan yang lain. • Sehingga dari contoh graph diatas dapat dijabarkan sebagai berikut : V = {Nina, Toni, Ale, Riza, Joko, Firda} E = {{Nina,Toni},{Toni,Riza},{Nina, Riza}, {Toni,Ale}, {Ale,Joko},{Riza,Joko},{Firda,Joko}}
Jenis Graph • Directed Graph (Digraph) • Undirected Graph • Complete Undirected Graph • Connected Undirected Graph • Weigth Graph
u • v Directed Graph (Digraph) • Graph yang memiliki orientasi/arah. • Setiap lines/edge Digraph memiliki anak panah yang mengarah ke node tertentu. • Secara notasi sisi digraph ditulis sebagai vektor (u, v). u = origin (vertex asal) v = terminus(vertex tujuan)
2 3 1 4 5 6 7 Contoh Digraph (1)
Contoh Digraph (2) G = {V, E} V = {A, B, C, D, E, F, G, H, I,J, K, L, M} E = {(A,B),(A,C), (A,D), (A,F), (B,C), (B,H), (C,E), (C,G), (C,H), (C,I), (D,E), (D,F), (D,G), (D,K), (D,L), (E,F), (G,I), (G,K), (H,I), (I,J), (I,M), (J,K), (J,M), (L,K), (L,M)}.
u • v Undirected Graph (Digraph) • Graph yang tidak memiliki orientasi/arah. • Setiap sisi {u, v} berlaku pada kedua arah. • Misalnya : {x,y}. Arah bisa dari x ke y, atau y ke x. • Secara grafis sisi pada undigraph tidak memiliki mata panah dan secara notasional menggunakan kurung kurawal.
2 3 8 1 10 4 5 9 11 6 7 Contoh Undi-Graph (1)
Contoh Undi-Graph (2) G = {V, E} V = {A, B, C, D, E, F, G, H, I,J, K, L, M} E = { {A,B},{A,C}, {A,D}, {A,F}, {B,C}, {B,H}, {C,E}, {C,G}, {C,H}, {C,I}, {D,E}, {D,F}, {D,G}, {D,K}, {D,L}, {E,F}, {G,I}, {G,K}, {H,I}, {I,J}, {I,M}, {J,K}, {J,M}, {L,K}, {L,M}}.
n = 4 n = 1 n = 2 n = 3 Complete Undirected Graph • Semua node memiliki edge/lines untuk setiap node pada graph. n = node
Connected Graph • Termasuk Jenis Undirected graph. • Setiap pasang vertex memiliki edge.
2 3 8 1 10 4 5 9 11 6 7 Contoh Connected Graph
2 3 8 1 10 4 5 9 11 6 7 Contoh Not Connected Graph
2 3 8 1 10 4 5 9 11 6 7 Connected Components
Weigth Graph • Jika semua lines/edge dalam graph memiliki bobot/nilai (value).
A E 2 D 2 2 4 5 B F 4 C Contoh Weigth Graph
Istilah pada graph Degree (derajat), indegree dan outdegree Degree sebuah simpul adalah jumlah busur yang incident dengan simpul tersebut.
Indegree sebuah simpul pada graph berarah adalah jumlah busur yang kepalanya incident dengan simpul tersebut, atau jumlah busur yang “masuk” atau menuju simpul tersebut. Outdegree sebuah simpul pada graph berarah adalah jumlah busur yang ekornya incident dengan simpul tersebut, atau jumlah busur yang “keluar” atau berasal dari simpul tersebut.
Adjacent Pada graph tidah berarah, 2 buah simpul disebut adjacent bila ada busur yang menghubungkan kedua simpul tersebut. Simpul v dan w disebut adjacent. Pada graph berarah, simpul v disebut adjacent dengan simpul w bila ada busur dari w ke v. w v e w e v
Successor dan Predecessor Pada graph berarah, bila simpul v adjacent dengan simpul w, maka simpul v adalah successor simpul w, dan simpul w adalah predecessor dari simpul v. • Path Sebuah path adalah serangkaian simpul-simpul yang berbeda, yang adjacent secara berturut-turut dari simpul satu ke simpul berikutnya. 1 1 1 2 1 2 2 2 4 4 4 4 3 3 3 3
Representasi Graph dalam bentuk matrix • Adjacency Matrix Graph tak berarah B C D E A Urut abjad 0 1 2 3 4 B 0 A 1 B A C 2 C 3 D D E 4 E Graph Degree simpul : 3
Representasi Graph dalam bentuk matrix • Directed Adjacency Matrix Graph B C D E A ke 0 1 2 3 4 B dari 0 A out 1 B A C 2 C 3 D D E 4 E Graph in
Contoh : untuk vertex A, memiliki 2 edge yang terhubung yaitu e1 dan e2. Urut abjad B e1 e2 e1 A e3 e4 A C B e2 e5 e7 C D E e6 D Graph E
List Matrix B A D B C E B A C D E B A C E D A C D C B E D E Graph
Directed Adjency List Graph B B A D C B A A C C E E D C D E E B
Directed & Weighted Graph A B D E C 0 1 2 3 4 B 6 0 A 3 5 1 B A C 14 2 C 12 2 12 3 D D E 4 E 7 Perhatikan pemilihan nilai 0.
Vertex degree • Degree : Jumlah edge/lines yang dimiliki node/vertex.
2 3 8 1 10 4 5 9 11 6 7 Contoh Vertex Degree degree(2) = 2, degree(5) = 3, degree(3) = 1 degree(9) = ??? degree (11) = ???
2 3 8 1 10 4 5 9 11 6 7 In-Degree Jumlah edge yang mengarah ke Node/Vertex. indegree(2) = 1, indegree(8) = 0, indegree(7)=???
2 3 8 1 10 4 5 9 11 6 7 Out-Degree Jumlah edge yang keluar dari Node/Vertex. outdegree(2) = 1, outdegree(8) = 2, outdegree(7) = ???
2 3 8 1 10 4 5 9 11 6 7 Aplikasi Jaringan Komunikasi • Node/Vertex = kota • Lines/Edge = communicationlink.
2 4 3 8 8 1 6 10 2 4 5 4 4 3 5 9 11 5 6 7 6 7 Peta Penelusuran Kota(Berdasarkan Jarak/Waktu) • Node/Vertex = Kota • Lines/edge = jalur • Weight = jarak/waktu
2 3 8 1 10 4 5 9 11 6 7 Peta kota • Some streets are one way.
Beberapa Aplikasi Graf a. Lintasan Terpendek (Shortest Path) • graf berbobot (weighted graph), • lintasan terpendek: lintasan yang memiliki total bobot minimum. Contoh aplikasi: • Menentukan jarak terpendek/waktu tempuh tersingkat/ongkos termurah antara dua buah kota • Menentukan waktu tersingkat pengiriman pesan (message) antara dua buah terminal pada jaringan komputer.
Lintasan Terpendek Terdapat beberapa jenis persoalan lintasan terpendek, antara lain: • Lintasan terpendek antara dua buah simpul tertentu. • Lintasan terpendek antara semua pasangan simpul. • Lintasan terpendek dari simpul tertentu ke semua simpul yang lain. • Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu. ==> Di dalam kuliah ini kita memilih jenis persoalan 3.