BAB 2
TINJAUAN PUSTAKA
2.1 Teori Graf
2.1.1 Definisi Graf
Graf G didefenisikan sebagai pasangan himpunan V,E yang dalam hal ini V adalah himpunan tidak kosong dari verteks vertex atau node = {v
1
, v
2
, ...,v
n
} dan E adalah himpunan sisi edge yang menghubungkan sepasang verteks = {e
1
, e
2
, ... ,e
n
}, atau dapat ditulis singkat notasi G=V,E. Hal ini berarti bahwa V tidak boleh kosong,
sedangkan E boleh kosong. Jadi, sebuah graf dimungkinkan tidak memiliki sisi satu buah pun, tetapi verteksnya harus ada, minimal satu. Graf yang hanya memiliki satu
buah verteks tanpa sebuah sisi pun dinamakan graf trivial. Munir, 2003, hal: 291.
Verteks pada graf dapat dinomori dengan huruf, bilangan asli, atau gabungan keduanya. Sedangkan sisi yang menghubungkan verteks v
i
dan verteks v
j
dinyatakan dengan pasangan v
i
, v
j
atau dengan lambang e
1
, e
2
, .... Dengan kata lain, jika e adalah sebuah sisi yang menghubungkan verteks v
i
dengan v
j
, maka e dapat ditulis sebagai e = v
i
, v
j
.
A
D E
C B
e
1
e
6
e
5
e
4
e
2
e
3
e
7
Gambar 2.1 Graf G dengan Lima Verteks dan Tujuh Sisi
G adalah graf dengan: V
= { a, b, c, d, e }. E
= { a, b, a, c, c, d, b, d, b, e, b, e, d, e }. = { e
1
, e
2
, e
3
, e
4
, e
5
, e
6
, e
7
}.
Verteks pada graf dapat merupakan obyek sembarang seperti kota, atom-atom suatu zat, nama anak, jenis buah, komponen alat elektronik dan sebagainya. Sisi dapat
menunjukkan hubungan relasi sembarang seperti jalur penerbangan, jalan raya, sambungan telepon, ikatan kimia, dan lain-lain. Verteks dalam graf pada tulisan ini
merupakan gedung atau persimpangan jalan dan sisi dalam graf merupakan jalan yang menghubungkan gedung atau persimpangan jalan.
2.1.2 Jenis-jenis Graf
Menurut arah dan bobotnya, graf dibagi menjadi empat bagian, yaitu: 1.
Graf berarah dan berbobot: tiap sisi mempunyai anak panah dan bobot.
A
D E
C B
5 9
6
5 6
8
9
Gambar 2.2 Graf Berarah dan Berbobot
Gambar 2.1 menunjukkan graf berarah dan berbobot yang terdiri dari lima verteks yaitu verteks A, B, C, D, dan E. Verteks A menujukkan arah ke verteks
B, verteks C dan verteks D, verteks B menunjukkan arah ke verteks D, verteks C menunjukkan arah ke verteks D, dan seterusnya. Bobot antar verteks pun
telah di ketahui.
2. Graf tidak berarah dan berbobot: tiap sisi tidak mempunyai anak panah tetapi mempunyai bobot.
A
D E
C B
5 9
6
5 6
8
9
Gambar 2.3 Graf Tidak Berarah dan Berbobot
Gambar 2.2 menunjukkan graf tidak berarah dan berbobot. Graf terdiri dari lima verteks yaitu verteks A, B, C, D, dan E. Verteks A tidak menunjukkan
arah ke verteks B atau C, namun bobot antara verteks A dan verteks B telah diketahui. Begitu juga dengan verteks-verteks yang lain.
3. Graf berarah dan tidak berbobot: tiap sisi mempunyai anak panah yang tidak berbobot. Gambar 2.3 menunjukkan graf berarah dan tidak berbobot.
A
D E
C B
Gambar 2.4 Graf berarah dan tidak berbobot
4. Graf tidak berarah dan tidak berbobot: tiap sisi tidak mempunyai anak panah dan
tidak berbobot.
A
D E
C B
Gambar 2.5 Graf Tidak Berarah dan Tidak Berbobot
2.1.3 Lintasan
Misalkan v dan v
n
adalah verteks-verteks dalam sebuah graf. Sebuah lintasan dari v ke v
n
dengan panjang n adalah sebuah barisan berselang-seling dari n + 1 verteks dan n sisi yang berawal dari verteks v
dan berakhir dengan verteks v
n
, v , e
1
, v
1
, e
2
, ..., v
n- 1
, e
n
, v
n
, dengan sisi e
i
insiden dengan verteks v
i-1
dan v
i
untuk i = 1, ..., n. Jhonsonbaugh, 2002.
Jika graf yang ditinjau merupakan graf sederhana, maka lintasan cukup dituliskan sebagai barisan verteks: v
, v
1
, v
2
, …, v
n-1
, v
n
, karena antara dua buah verteks yang berurutan dalam lintasan tersebut hanya terdapat satu sisi. Jika graf yang ditinjau
memiliki sisi ganda, maka, lintasan ditulis sebagai barisan berselang-seling antara verteks dan sisi: v
, e
1
, v
1
, e
2
, v
2
, e
3
, …, v
n-1
, e
n
, v
n
.
Verteks dan sisi yang dilalui di dalam lintasan boleh berulang. Sebuah lintasan
yang semua verteksnya berbeda setiap sisinya dilalui hanya sekali dikatakan lintasan sederhana. Lintasan yang berawal dan berakhir pada verteks yang sama disebut
lintasan tertutup closed walk, sedangkan lintasan yang tidak berawal dan berakhir pada verteks sama disebut lintasan terbuka open walk. Jalur dari suatu lintasan yang
mana setiap verteksnya berbeda kecuali mungkin verteks awal boleh sama verteks akhir disebut closed path. Panjang lintasan adalah jumlah sisi yang muncul dalam
suatu lintasan.
2.1.4 Representasi Graf
Munir 2003, hal: 318, menyatakan bahwa agar graf dapat diproses dalam program komputer, graf harus direpresentasikan ke dalam memori. Terdapat beberapa
representasi untuk graf, antara lain matriks ketetanggaan, matriks bersisian dan senarai ketetanggaan.
2.1.4.1 Matriks Ketetanggaan Adjacency Matrix
Misalkan G = V, E graf sederhana dimana |V| = n, n 1. Maka, matriks ketetanggaan A dari G adalah matriks n x n dimana:
A = [a
ij
], [a
ij
] menjadi 1 bila verteks i dan j terhubung bertetangga, [a
ij
] menjadi 0 bila verteks i dan j tidak terhubung tidak bertetangga.
Dengan kata lain matriks ketetanggaan didefinisikan sebagai berikut, misalkan A matriks berordo n x n n baris dan n kolom. Jika antara dua verteks terhubung
adjacent maka elemen matriks bernilai 1, dan sebaliknya jika tidak terhubung bernilai 0.
Jumlah elemen matriks bertetanggaan untuk graf dengan n verteks adalah n
2
. Jika tiap elemen membutuhkan ruang memori sebesar p, maka ruang memori yang
diperlukan seluruhnya adalah pn
2
.
Keuntungan representasi dengan matriks ketetanggaan adalah kita dapat mengakses elemen matriksnya langsung dari indeks. Selain itu, kita juga dapat
menentukan dengan langsung apakah verteks i dan verteks j bertetangga.
Pada graf berbobot, a
ij
menyatakan bobot tiap sisi yang menghubungkan verteks i dengan verteks j. Bila tidak ada sisi dari verteks i ke verteks j atau dari
verteks j ke verteks i, maka, a
ij
diberi nilai tak berhingga.
1
2
3 4
Gambar 2.6 Graf Matriks Ketetanggaan
Bentuk matriks ketetanggaan dari graf pada gambar 2.6 adalah
4 3
2 1
4 3
2 1
1 1
1 1
1 1
1
v v
v v
A
v v
v v
=
Seperti halnya matriks kedekatan, pada graf berbobot, a
ij
menyatakan bobot tiap sisi yang menghubungkan verteks i dengan verteks j. Bila tidak ada sisi dari
verteks i ke verteks j atau dari verteks j ke verteks i, maka, a
ij
juga diberi nilai tak berhingga.
2.1.4.2 Matriks Bersisian Incidency Matrix
Misalkan G = V, E adalah graf dengan n verteks dan m sisi, maka matriks kebersisian A dari G adalah matriks berukuran m x n dimana:
A = [a
ij
], [a
ij
] menjadi 1 bila verteks i dan sisi j bersisian, [a
ij
] menjadi 0 bila verteks i dan sisi j tidak bersisian.
Dengan kata lain matriks bersisian adalah matriks yang merepresentasikan hubungan antara verteks dan sisi. Misalkan A adalah matriks dengan m baris untuk setiap verteks
dan n kolom untuk setiap sisi. Jika verteks terhubung dengan sisi, maka elemen
matriks bernilai 1. Sebaliknya, jika verteks tidak terhubung dengan sisi maka elemen matriks bernilai 0.
Gambar 2.7 Graf Matriks Bersisian
Bentuk matriks bersisian dari graf pada gambar 2.7 adalah
4 3
2 1
4 3
2 1
1 1
1 1
1 1
1 1
e e
e e
A
v v
v v
=
2.1.4.3 Senarai Ketetanggaan Adjacency List
Matriks ketetanggaan memiliki kelemahan apabila graf memiliki jumlah sisi yang relatif sedikit sehingga graf sebagian besar berisi bilangan 0. Hal ini merupakan
pemborosan terhadap memori, karena banyak menyimpan bilangan 0 yang seharusnya tidak perlu disimpan. Untuk kepentingan efisiensi ruang, maka tiap baris matriks
tersebut digantikan senarai yang hanya berisikan verteks-verteks dalam adjacency set Vx dari setiap verteks x.
Bentuk senarai ketetanggan graf dari gambar 2.7 diatas adalah 1: 3
2: 3,4 3: 1,2,4
4: 2,3
2.2 Permasalahan Optimasi