Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Teknik Informatika - Universitas Muhammadiyah Malang (UMM)

Presentasi serupa


Presentasi berjudul: "Teknik Informatika - Universitas Muhammadiyah Malang (UMM)"— Transcript presentasi:

1 Teknik Informatika - Universitas Muhammadiyah Malang (UMM)
GRAPH Oleh : Nur Hayatin, S.ST Teknik Informatika - Universitas Muhammadiyah Malang (UMM) Tahun Akademik

2 Sub Topik Overview : Graph Jenis Graph Implementasi Graph
Graph Property Representasi Graph

3 Graph

4 Graph G = (V,E) Dimana : V adalah Vertex, menyatakan entitas data.
E adalah 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.

5 Contoh Graph Contoh persoalan di dunia nyata yang dapat direpresentasikan dengan graph adalah : Jaringan pertemanan pada Facebook.

6 Jaringan pertemanan pada Facebook
Toni Nina Ale Firda Joko Riza Graph dengan 6 node/vertex dan 7 lines/edge yang merepresentasikan jaringan pertemanan pada Facebook

7 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}}

8 Jenis Graph

9 Jenis Graph Directed Graph (Digraph) Undirected Graph Weigth Graph
Complete Undirected Graph Connected Undirected Graph Weigth Graph

10 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) u v

11 Contoh Digraph (1) 2 3 1 4 5 6 7

12 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)}.

13 Gambar Digraph (2)

14 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. u v

15 Contoh Undi-Graph (1) 2 3 8 10 1 4 5 9 11 6 7

16 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}}.

17 Gambar Undi-Graph (2)

18 Complete Undirected Graph
Semua node memiliki edge/lines untuk setiap node pada graph. n = 2 n = 4 n = 3 n = 1 n = node

19 Connected Graph Termasuk Jenis Undirected graph.
Setiap pasang vertex memiliki edge.

20 Contoh Connected Graph
2 3 8 10 1 4 5 9 11 6 7 Determine whether an undirected graph is connected.

21 Contoh Not Connected Graph
2 3 8 10 1 4 5 9 11 6 7

22 Connected Components 2 3 8 10 1 4 5 9 11 6 7

23 Weigth Graph Jika semua lines/edge dalam graph memiliki bobot/nilai (value).

24 Contoh Weigth Graph B A C E F D 2 4 5

25 Loop Digraph dapat memiliki edge dari dan menuju ke node itu sendiri (Self-edge). Hal ini dikenal dengan istilah loop. 5 3 7 1 4 2 6 Self-edge/loop LEGAL

26 Implementasi Graph

27 Aplikasi Jaringan Komunikasi
2 3 8 10 1 4 5 9 11 6 7 Internet connection. Vertices are computers. Send from 1 to 7. Node/Vertex = kota Lines/Edge = communication link.

28 Peta Penelusuran Kota (Berdasarkan Jarak/Waktu)
2 3 8 10 1 4 5 9 11 6 7 Node/Vertex = Kota Lines/edge = jalur Weight = jarak/waktu

29 Peta kota 2 3 8 10 1 4 5 9 11 6 7 Some streets are one way.

30 Graph Property

31 Property Jumlah Edge Vertex Degree Jumlah Vertex Degree In-Degree
Out-Degree

32 Jumlah Lines/Edge—Undirected Graph
Setiap lines/edge memiliki bentuk (u,v) dimana u != v. Jumlah pasangan vertex n yang mungkin adalah n(n-1). Jumlah lines/edge undirected graph (lebih kecil sama dengan) <= n(n-1)/2. Selama (u,v) sama dengan (v,u) Jumlah lines/edge pada complete undi-graph adalah n(n-1)/2.

33 Jumlah Lines/Edges—Directed Graph
Setiap lines/edge memiliki bentuk (u,v) dimana u != v. Jumlah pasangan verteks yang mungkin untuk vertex n adalah n(n-1). Selama edge(u,v) tidak sama dengan (u,v) dan (v,u) maka jumlah edge untuk complete directed graph adalah n(n-1). Jumlah edge untuk directed graph (lebih kecil sama dengan) <= n(n-1).

34 Vertex degree Degree : Jumlah edge/lines yang dimiliki node/vertex.

35 Contoh Vertex Degree degree(2) = 2, degree(5) = 3, degree(3) = 1
8 10 1 4 5 9 11 6 7 degree(2) = 2, degree(5) = 3, degree(3) = 1 degree(9) = ??? degree (11) = ???

36 Jumlah Vertex Degrees Jumlah Vertex degrees = 2e (e adalah jumlah edge) Jumlah Vertex Degree = 6 8 10 9 11

37 In-Degree Jumlah edge yang mengarah ke Node/Vertex. indegree(2) = 1, indegree(8) = 0, indegree(7)=??? 2 3 8 10 1 4 5 9 11 6 7

38 Out-Degree Jumlah edge yang keluar dari Node/Vertex. outdegree(2) = 1, outdegree(8) = 2, outdegree(7) = ??? 2 3 8 10 1 4 5 9 11 6 7

39 Representasi Graph

40 Representasi Graph Adjacency Matrix Adjacency Lists

41 Adjacency Matrix Direpresentasikan dengan array 2D.

42 Adjacency Matrix Matriks digunakan untuk himpunan adjacency setiap verteks. Baris berisi vertex asal adjacency, sedangkan kolom berisi vertex tujuan adjacency. Bila sisi graph tidak mempunyai bobot, maka [x, y] adjacency disimbolkan dengan 1 dan 0. Bila sisi graph mempunyai bobot, maka [x, y] adjacency disimbolkan dengan bobot sisi tersebut.

43 Representasi Graph

44 Penerapan Adjacency Matriks

45 Adjacency Matrix Representasi Matrik ordo nxn , dimana n = vertex/node
A(i,j) = 1, jika antara node i dan node j terdapat edge/terhubung. 1 2 3 4 5 2 3 1 4 5 1 1 1 1 1 1 1 1 1 1

46 Adjacency Matrix (Undi-graph)
2 3 1 4 5 Diagonal entries are zero. Adjacency matrix of an undirected graph is symmetric. A(i,j) = A(j,i) for all i and j.

47 Adjacency Matrix (Digraph)
2 3 1 4 5 Adjacency matrix of a digraph need not be symmetric.

48 Adjacency List Direpresentasikan dengan linked list atau array.
Linked Adjacency Lists Array Adjacency Lists

49 Array Adjacency Lists Adjacency list for vertex i is a linear list of vertices adjacent from vertex i. An array of n adjacency lists. aList[1] = (2,4) aList[2] = (1,5) aList[3] = (5) aList[4] = (5,1) aList[5] = (2,4,3) 2 3 1 4 5

50 Adjacency Lists (Linked List)
Each adjacency list is a chain. 2 3 1 4 5 aList[1] aList[5] [2] [3] [4] 2 4 1 5 5 5 1 2 4 3 Array length n simply means we need an array with n spots. A direct implementation using a Java array would need n+1 spots, because spot 0 would not be utilized. However, by using spot 0 for vertex 1, spot 1 for vertex 2, and so on, we could get by with a Java array whose length is actually n.

51 Adjacency Lists (Array)
Each adjacency list is an array list. 2 3 1 4 5 aList[1] aList[5] [2] [3] [4]

52 1. Gambarkan undirected graph dari representasi graph berikut:
Latihan 1. Gambarkan undirected graph dari representasi graph berikut:

53

54

55 2. Representasikan dengan adjacency list & adjacency matrix
B A C E F D 2 4 5

56 Spanning Tree Subgraph that includes all vertices of the original graph. Subgraph is a tree. If original graph has n vertices, the spanning tree has n vertices and n-1 edges.

57 Minimum Cost Spanning Tree
2 3 8 10 1 4 5 9 11 6 7 Tree cost is sum of edge weights/costs.

58 A Spanning Tree Spanning tree cost = 51. 2 4 3 8 8 1 6 10 2 4 5 4 4 3
9 8 11 5 6 2 7 6 7 Spanning tree cost = 51.

59 Minimum Cost Spanning Tree
2 4 3 8 8 1 6 10 2 4 5 4 4 3 5 9 8 11 5 6 2 In the communication networks area, we are interested in finding minimum cost spanning trees. 7 6 7 Spanning tree cost = 41.

60 A Wireless Broadcast Tree
2 4 3 8 8 1 6 10 2 4 5 4 4 3 5 9 8 11 5 6 2 Edge cost is power needed to reach a node. If vertex 1 broadcasts with power 2, only vertex 4 is reached. If it broadcasts with power 4, both 2 and 4 are reached. Min-broadcast rooted spanning tree is NP-hard. Cost of tree of previous slide becomes 26. 7 6 7 Source = 1, weights = needed power. Cost = = 41.

61 Pustaka Sartaj Sahni , “Data Structures & Algorithms”, Presentation L20-24. Mitchell Waite, “Data Structures & Algorithms in Java”, SAMS, 2001


Download ppt "Teknik Informatika - Universitas Muhammadiyah Malang (UMM)"

Presentasi serupa


Iklan oleh Google