BAB 2
LANDASAN TEORI
2.1 Teori Graf
2.2.1 Definisi Graf
Graf didefinisikan dengan G = V, E, di mana V adalah himpunan tidak kosong dari vertex-vertex = {v1, v2, v3,...} dan E himpunan sisi edges atau arcs yang
menghubungkan sepasang vertex {e1, e2, e3, ...}. Vertex dalam graf pada tulisan ini merupakan kota dan edge atau sisi merupakan rute atau jalan yang
menghubungkan antar kota.
B
D C
A
Gambar 2.1 Graf dengan Empat Vertex dan Tujuh Edge
Keterangan Gambar: G adalah graf dengan:
V = { a, b, c, d } E = { a, b, b, c, a, c, a, c, b, d, c, d, c, d }
= { e1, e2, e3, e4, e5, e6, e7}
Universitas Sumatera Utara
Berdasarkan orientasi arah pada sisi, secara umum graf dapat dibedakan atas dua jenis:
1. Graf tak-berarah undirected graph Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah.
2. Graf berarah directed graph atau digraph Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah.
B
D C
A
Gambar 2.2 Graf Berarah
2.2.2 Graf Hamilton
Graf Hamilton adalah graf yang memiliki sirkuit Hamilton, sedangkan graf yang hanya memiliki lintasan Hamilton disebut graf semi-Hamilton. Lintasan Hamilton
ialah lintasan yang melalui tiap vertex di dalam graf tepat satu kali. Sedangkan sirkuit Hamilton ialah sirkuit yang melalui tiap vertex di dalam graf tepat satu
kali, kecuali vertex asal sekaligus vertex akhir yang dilalui dua kali.
Teorema 2.1. Setiap graf lengkap adalah graf Hamilton.
Gambar 2.3 Penggambaran Graf Hamilton
a b
c d
a
c
b
d
a b
c
d a
b c
Universitas Sumatera Utara
Keterangan gambar: a graf yang memiliki lintasan Hamilton misal:c, b, a, d
b graf yang memiliki sirkuit Hamilton a, b, c, d, a c graf yang tidak memiliki lintasan maupu n sirkuit Hamilton
2.2.3 Representasi Graf Pada Komputer
Untuk mengimplementasikan suatu algoritma graf dalam bahasa pemrograman komputer, dibutuhkan suatu cara untuk menterjemahkan bentuk graf ke dalam
bentuk lain yang dikenal oleh komputer, sebab komputer tidak dapat mengenal graf dalam bentuk gambar graf biasa. Matriks dapat digunakan untuk menyatakan
suatu graf, jika graf dinyatakan sebagai matriks maka perhitungan-perhitungan yang diperlukan dapat dilakukan dengan mudah. Representasi graf pada komputer
dapat dilakukan dengan beberapa cara, yaitu:
1. Matriks Adjacency
Matriks adjacency didefinisikan sebagai berikut , misalkan A matriks berordo nxn n baris dan n kolom. Jika antara dua vertex terhubung adjacent maka
elemen matriks bernilai 1, dan sebaliknya jika tidak terhubung bernilai 0. Matriks adjacency dari graf Gambar 2.2 adalah:
A =
1 1
1 1
1 1
1 1
1 1
1 1
Jika graf yang diberikan adalah graf berbobot maka elemen matriks yang terhubung antara vertex adalah bobot graf.
Universitas Sumatera Utara
2. Matriks Incidency
Matriks incidence atau matriks bersisian adalah matriks yang
merepresentasikan hubungan antara vertex dan edge. Misalkan B adalah matriks dengan m baris untuk setiap vertex dan n kolom untuk setiap edge.
Jika vertex terhubung dengan edge, maka elemen matriks bernilai 1. Sebaliknya, jika vertex tidak terhubung dengan edge maka elemen matriks
bernilai 0. Matriks bersisian dari graf Gambar 2.2 adalah:
B =
1 1
1 1
1 1
1 1
1 1
1 1
1 1
Seperti halnya matriks kedekatan untuk matriks berbobot, untuk matriks
bersisian elemen dari matriks juga merupakan bobot dari setiap edge dari graf.
2.2 Traveling Salesperson Problem