DEFINISI GRAPH
Graph adalah struktur data yang memiliki relasi many to many, yaitu tiap
element dapat memiliki 0 atau lebih dari 1 cabang.
Graph terbentuk dari 2 bagian, yaitu node dan edge.
Node : digunakan untuk menyimpan data
Edge : cabang, untuk menghubungkan node satu
dengan node lain.
DEFINISI GRAPH CONT…
G = (V, E)
Dimana
G = Graph
V = Simpul atau Vertex, atau Node, atau Titik
E = Busur atau Edge, atau arc
GRAPH
Firda
Riza
Toni
Joko
Ale
Degree (derajat)
Degree sebuah simpul adalah jumlah busur yang incident
dengan
simpul tersebut.
ISTILAH PADA GRAPH CONT…
Indegree
Jumlah busur yang kepalanya incident dengan simpul tersebut, atau
jumlah busur yang “masuk” atau menuju simpul tersebut.
Outdegree
Jumlah busur yang ekornya incident dengan simpul tersebut, atau
jumlah busur yang “keluar” atau berasal dari simpul tersebut.
ISTILAH PADA GRAPH
CONT..
Pada graph tidah berarah, 2 buah simpul disebut adjacent
bila ada busur yang menghubungkan kedua simpul
tersebut. Simpul v dan w disebut adjacent.
e w
v
ISTILAH PADA GRAPH
CONT..
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 2 1 2 1 2 1 2
3 4 4 3 4 3 4
3
CONTOH GRAPH
vertex v2
B V terdiri dari v1, v2, …, v5
e1 e3 E terdiri dari e1, e2, … , e7
e4
v1 A edge C v3
e2 e5 e7
E
v4 D e6 v5
Undirected graph
JENIS GRAPH
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}}.
Contoh Undi-Graph
2
3
4
5
6
7
Directed Graph
Biasa disingkat : Di-graph.
Yaitu graph yang memiliki arah.
Setiap 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
Gambar Digraph
Notasional
Contoh Digraph
2
3
4
5
6
7
GRAPH BERARAH DAN GRAPH TAK BERARAH
v2
v2
B e9 B
e8
e3 e1 e3
e1
e4 v3 e4
v1 A C v1 A C v3
e10
e2 e5 e7 e5 e7
e2
D e6 E v5 E
v4 v4 D e6 v5
A
2
E
2
D
2
4 5
4
F
C
GRAPH BERBOBOT
v2
v2
B 7 B
4
3 5 3
5
12 v3 12
v1 A C v1 A C v3
10
e2 6 8 6
8 4
D 3 E v5 E
v4 v4 D 3 v5
Panjang busur (atau bobot) mungkin tidak digambarkan secara panjang yang
proposional dengan bobotnya. Misal bobot 5 digambarkan lebih panjang dari 7.
Representasi Graph
2. Adjacency Lists
dapat direpresentasikan dengan array (bukan berupa matriks)
maupun linked list.
Adjacency Matrix
Representasi Graph berupa Matrik ordo nxn. dimana n = node.
Baris berisi Node asal, sedangkan kolom berisi Node tujuan.
Jika graph tidak berbobot,maka nilai matriks diisi dengan 1
atau 0. nilai 1 jika ada edge, dan 0 jika tidak ada edge antar
node.
A(i,j) = 1, jika antara node i dan node j terdapat
edge/terhubung.
Jika graph berbobot, maka nilai matriks diisi dengan bobot dari
edge. A(i,j) = nilai bobot.
Undi-graph j
1 2 3 4 5
2 1 0 1 0 1
3 0
1 2 1 0 0 0
1
3 0 0 0 0
4
5
i
1
4
•Diagonal entries are zero. 1 0 0 0
1
•Adjacency matrix of an5 undirected
0 1 graph
1 1 is
0
symmetric.
A(i,j) = A(j,i) for all i and j.
Adjacency Matrix
j
1 2 3 4
5
2 1 0 1 0 1 0
3
2 1 0 0 0 1
1
3 0 0 0 0 1
4
i 4 1 0 0 0 1
5
5 0 1 1 1 0
Di-graph j
1 2 3 4 5
2 1 0 0 0 1
3 0
1 2 1 0 0 0
1
3 0 0 0 0
4
5
i
0
4 0 0 0 0
Dimungkinkan tidak simetris jika terdapat loop.
1
5 0 1 1 0
0
REPRESENTASI GRAPH DALAM BENTUK MATRIX
A 0 0 1 0 1 0
A C
B 1 1 0 1 0 1
C 2 0 1 0 1 1
D E D 3 1 0 1 0 1
Graph E 4 0 1 1 1 0
Degree simpul : 3
REPRESENTASI GRAPH DALAM BENTUK MATRIX
D 3
0 1 0 1 1
D E
E 4 0 0 1 0 1
Graph 0 0 0 0 0
in
REPRESENTASI GRAPH DALAM
BENTUK LINKED LIST
2
3
aList[1] = (2,4)
1 aList[2] = (1,5)
4 aList[3] = (5)
5
aList[4] = (5,1)
aList[5] = (2,4,3)
Adjacency Lists (Linked List)
2 aList [1] 2 4
3
[2] 1 5
1
[3] 5
4 [4] 5 1
5 [5] 2 4 3
Define struct untuk sebuah simpul yang dapat digunakan sebagai
vertex maupun edge.
B Urut abjad
e1 A e1 e2
e3
e4
A C B
e2 e5 e7 C
D E
e6
D
Graph
E
Gambar di atas dapat disusun dengan lebih sederhana,
sbb :
A B D
B
B A C E
C B D E
A C
D A C E
E B C D
D E
Graph
ADJENCY LIST GRAPH BERARAH
B A B D
B A C
A C C E
D C E
D E E B
GRAPH BERARAH DAN BERBOBOT
A B C D E
6 B 0 1 2 3 4
3
A 0 0 5 0 2 0
5
A 14 C
B 1 6 0 3 0 0
C 2 0 0 0 0 9
2 12 12
D 3 0 0 12 0 7
D 7 E E 4 0 14 0 0 0
Perhatikan pemilihan nilai 0.