BAB 2 LANDASAN TEORI
2.1 Teori graf
2.1.1 Definisi graf
Graf adalah kumpulan dari minimal satu atau lebih simpul vertex yang dihubungkan oleh sisi atau busur edge. Dalam kehidupan sehari-hari, graf
banyak diaplikasikan Suryanaga, 2003 seperti untuk pengaturan arus lalu lintas, jaringan komputer, pembuatan chip, jaringan sosial dan sebagainya.
Simpul didalam graf biasanya dilambangkan dengan titik sedangkan busur dilambangkan dengan garis. Contohnya : kota-kota di lambangkan
dengan titik dan garis melambangkan jalan yang menghubungkan antar kota.
Gambar 2.1 Gambar graf dimana setiap titik mewakili kota-kota dan
garis mewakili jalan.
Menurut Diestel 2000, sebuah graf G dapat diartikan sebagai himpunan berhingga dan tak kosong dari v dan e yang merupakan
himpunan pasangan tak berurut dari unsur-unsur di v, dimana v=Vertex dan e=edge.
G=v,e
Universitas Sumatera Utara
Gambar 2.2 Gambar graf sederhana G
pada gambar 2.2, G memiliki v={1,2,3,4} dan e={1,3, 1,2, 1,4, 2,4, 3,4} atau {e1,e2,e3,e4,e5}.
Ada dua cara merepresentasikan sebuah graf Adamchik, 2005 1.
Adjacency lists Representasi ini secara visual lebih mudah dimengerti, akan tetapi
kurang bagus untuk dioperasikan bila vertex yang dimiliki terlalu banyak.
Biasanya adjacency lists direpresentasikan seperti bentuk array.
Gambar 2.3 Gambar kiri merupakan graf G, gambar kanan
merupakan adjacency lists.
Kerugian potensial dari representasi adjacency-daftar adalah bahwa tidak ada cara cepat untuk menentukan apakah ada edge diantara
dua simpul. 2.
Adjacency matrix Representasi ini baik digunakan untuk representasi graf didalam
komputer.
e3 e1
e2 e4
e5
1
2 3
4
Universitas Sumatera Utara
Kekurangan dari adjacency lists dapat ditutupi dengan adjacency matrix. Adjacency matrix adalah matriks dari v x v dimana,
Mi,j 1, jika ada
� diantara dan 0, jika tidak ada
� diantara dan
Gambar 2.4 gambar kiri merupakan graf G, gambar kanan
merupakan matriks dari grafG
2.1.2 Jenis-jenis graf
Menurut Scheinerman dan Ullman 2008, berdasarkan ada atau tidaknya gelang loop, graf digolongkan menjadi dua, yaitu :
a. Graf sederhana simple graph Graf yang tidak memiliki loops dan sisi paralel.
b. Graf tak-sederhana unsimple graphmultigraph Graf yang memiliki loops dan sisi paralel.
Menurut Munir 2008, Berdasarkan ada atau tidaknya arah, graf digolongkan menjadi dua, yaitu :
a. Graf berarah directed graph Graf yang memiliki orientasi arah pada sisinya.
v
a
,v
b
≠ v
b
,v
a
Pada simpul v
a
,v
b
, v
a
adalah simpul asal sedangkan v
b
adalah simpul tujuan.
b. Graf tak berarah undirected graph Graf yang tidak memiliki orientasi arah pada sisinya.
v
a
,v
b
= v
b
,v
a
Universitas Sumatera Utara
Dalam hal ini tidak terdapat simpul asal maupun simpul tujuan karena bukan merupakan hal yang terlalu diperhatikan.
Berdasarkan bobotnya, graf juga terbagi menjadi dua, yaitu : a. Graf berbobot
Graf yang setiap sisinya memiliki nilai atau harga. Misalnya sisi melambangkan jalan, bobot bisa merupakan panjang jalan
dan sebagainya tergantung kebutuhan. b. Graf tak berbobot
Graf yang setiap sisinya tidak memiliki nilai atau harga.
2.1.3 Walk dan path
Menurut Yulianti 2008, walk dalam graf G adalah sebuah urutan tak nol yang suku-sukunya bergantian antara simpul dan sisi. dimana
w = v e
1
v
1
e
2
v
2
…e
i
v
i
…e
k
v
k :
1≤ i ≤ k
Panjang dari sebuah walk adalah banyaknya sisi yang dilalui dalam walk tersebut.
Sebuah path atau jalur adalah walk dengan semua simpul dalam barisan berbeda.
Gambar 2.5 gambar graf G
e – c – d – b – c – d – b – a adalah sebuah walk dengan panjang 7.
e – c – d – b – a adalah sebuah path dengan panjang 4.
Universitas Sumatera Utara
Berdasarkan hasil diatas maka dapat dinyatakan bahwa setiap simpul walk pasti mengandung simpul path.
2.2 Searching pencarian