21
BAB III KONSEP DASAR TEORI GRAF
Pada bab ini akan diperkenalkan konsep-konsep dasar dari teori graf. Graf biasa dilambangkan dengan G, verteks atau simpul dilambangkan dengan V dan
busur atau garis dilambangkan dengan E. Sebuah graf G terdiri dari himpunan VG dari simpul, himpunan EG dari busur
dan suatu relasi insidensi yang menghubungkan setiap busur. Jika e adalah sebuah busur dari G dengan ujung u dan v maka e dikatakan
menghubungkan u dan v.
Definisi 3.1
Sebuah busur dikatakan berinsidensi insident, jika simpul tersebut terdapat busur yang menghubungkannya dengan simpul yang lain.
Sebuah busur yang memiliki ujung yang sama dikatakan loop. Misalkan busur berarah a berinsidensi dari simpul a dan berinsidensi ke simpul a, maka
dikatakan loop. Dengan kata lain loop merupakan sebuah busur yang berinsidensi dari dan ke simpul yang sama. Pada Gambar 3.1 diberikan sebuah contoh graf G
dengan VG = {v
1
, v
2
, ..., v
5
} dan EG = {e
1
, e
2
, ..., e
8
}. Busur e
8
merupakan loop. Gambar lain dari Graf G digambarkan pada Gambar 3.2 :
v
2
e
1
e
5
e
7
v
1
e
3
e
4
e
8
v
4
v
5
e
2
e
6
v
3
Gambar 3.1
v
2
e
1
e
5
e
4
e
3
v
1
e
8
v
5
e
7
v
4
e
2
e
6
v
3
Gambar 3.2
22
Definisi 3.2
Dua simpul dikatakan berdampingan adjacent, jika kedua simpul tersebut dihubungkan oleh sebuah busur.
Pada busur berarah a,b, simpul a dikatakan berdampingan adjacent ke simpul b, dan simpul b dikatakan berdampingan adjacent dari simpul a.
Definisi 3.3
Sebuah simpul dikatakan simpul terasing atau terisolasi jika tidak terdapat busur yang berinsidensi dengannya.
Sebuah busur dari suatu graf dikatakan insidensi jika busur tersebut memiliki satu simpul persekutuan. Dua simpul dikatakan berdampingan jika
simpul-simpul tersebut berada pada ujung garis yang sama. Sebuah simpul dikatakan terasing jika tidak ada busur yang menghubungkannya dengan simpul
yang lain. e
3
e
1
v
1
v
2
e
4
e
2
v
5
v
6
e
6
v
3
v
4
e
5
Gambar 3.3. Graf dengan 6 simpul dan 6 busur
Perhatikan Gambar 3.3 di atas : v
6
merupakan simpul terasing, karena tidak ada busur yang menghubungkan simpul v
6
dengan simpul lainnya. Busur e
1
merupakan loop, karena menghubungkan v
2
dengan dirinya sendiri.
Busur e
2
, e
5
dan e
6
insidensi pada v
4
. v
1
dan v
2
berdampingan, karena berada pada satu garis yaitu e
3
. Secara umum, bentuk graf tidak unique atau tunggal.
Definisi 3.4
Suatu graf dikatakan multiple edges jika terdapat lebih dari 1 busur yang menghubungkan pasangan titik yang sama.
23 Pada Gambar 3.2 didapatkan bahwa busur e
3
dan e
4
multiple edges. Simpul v
2
dan v
3
sama-sama dihubungkan e
3
dan e
4.
Definisi 3.5
Suatu graf dikatakan simpel atau sederhana jika tidak memiliki loop dan multiple edges
. Contoh 3.1 :
v
1
v
2
v
3
v
4
Gambar 3.4 Graf Simpel
Gambar 3.1 dan Gambar 3.2 merupakan graf tidak simpel Definisi 3.6
Suatu graf dikatakan graf complete atau graf lengkap jika graf tersebut simpel dan setiap pasangan simpul yang berbeda dihubungkan oleh satu busur.
Graf complete yang mempunyai n titik dinotasikan K
n
. K
n
punya
2
n =
1 2
1 −
n n
busur. Bukti :
1 2
1 2
2 2
1 2
2
2
− =
− −
− =
− =
n n
n n
n n
n n
C
n
Definisi 3.7
Graf yang memiliki himpunan simpul yang dapat dipartisi menjadi 2 himpunan X dan Y, di mana ujung satunya di X dan ujung yang lain di Y, dinamakan graf
Bipartite .
Definisi 3.8 Graf Bipartite Complete adalah graf Bipartite dengan bipartisi X,Y di mana
setiap simpul X dihubungkan dengan setiap simpul Y. Graf Bipartite Complete dinotasikan dengan K
m,n
, di mana X = m dan =
Y n.
24 Contoh 3.2 :
K
1,3
K
2,3
K
3,3
Gambar 3.5
Catatan : Graf Bipartite tidak mungkin punya loop, tidak harus simpel tetapi punya multiple
edges .
Sebuah graf G adalah k-colourable jika simpul-simpulnya dapat diwarnai, tidak lebih dari k-warna, di mana tidak ada dua simpul yang berdampingan
diwarnai yang sama. Jika graf G 2-colourable, maka graf ini memiliki bipartisi X,Y dengan simpul dari X diberi 1 warna dan simpul di Y diberi warna lainnya.
Kesimpulannya, jika G merupakan graf Bipartite maka G merupakan 2- colourable.
Oleh karena itu, kita dapat mengatakan bahwa graf G bipartite jika dan hanya jika 2-colourable.Jika G merupakan graf Bipartite akan mempunyai 2
warna atau yang lebih dikenal dengan istilah 2-colourable. Contoh 3.3 :
Mana dari graf di bawah ini yang merupakan graf Bipartite ? u
2
v
2
v
5
u
6
u
5
v
1
v
3
v
6
v
8
u
4
u
7
v
4
v
7
u
1
u
3
G
1
G
2
Gambar 3.6
25 Jawaban :
G
1
tidak 2-colourable, karena graf ini berbentuk segitiga dengan simpul u
1
u
2
u
3
. Jadi G
1
bukan merupakan graf Bipartite. Selain itu, G
2
adalah 2- colourable
seperti yang ditunjukkan pada Gambar 3.7 di bawah ini : v
2
v
5
hitam v
1
v
3
v
6
v
8
putih v
4
v
7
Gambar 3.7
Kita mendapatkan bahwa graf di atas 2-colourable. Pertama, simpul v
1
diwarnai hitam. Kemudian simpul v
2
, v
3
dan v
4
yang berdampingan dengan v
1
diberi warna putih. Simpul v
5
, v
6
, dan v
7
yang berdampingan ke satu atau lebih dari simpul v
2
, v
3
dan v
4
diwarnai hitam. Terakhir, simpul v
8
yang berdampingan dengan simpul v
5
, v
6
, dan v
7
diberi warna putih. Jadi G
2
adalah sebuah graf Bipartite dengan bipartisi X,Y di mana X = {v
1
, v
5
, v
6
, v
7
} dan Y = {v
2
, v
3
, v
4
, v
8
}. Gambar alternatif dari G
2
digambarkan sebagai berikut : v
1
v
5
v
6
v
7
G
2
v
2
v
3
v
4
v
8
Gambar 3.8
Catatan : Contoh di atas merupakan cara sederhana untuk menentukan apakah graf
yang diberikan Bipartite atau tidak.
Definisi 3.9
Sub graf dari graf G adalah graf H dengan sifat : 1.
G V
H V
⊆ 2.
G E
H E
⊆
26 3. Jika e adalah busur H yang menghubungkan simpul u dan v maka e adalah
busur G yang menghubungkan u dan v.
Definisi 3.10
Jika sub graf H dari G tidak identik atau tidak sama terhadap G maka H dikatakan proper
sub graf dari G.
Definisi 3.11
Jika jumlah simpul di H sama dengan jumlah simpul di G VH = VG maka H dikatakan spanning subgraf dari G.
Contoh 3.4 : v
1
v
2
v
1
v
2
v
1
v
2
v
5
v
5
v
5
v
6
v
6
v
6
v
8
v
7
v
8
v
8
v
7
v
4
v
3
v
4
v
3
v
4
v
3
G A proper subgraph
A spanning subgraph
of G. of G.
Gambar 3.9
Derajat dv dari simpul v di G adalah jumlah busur di G yang insiden dengan v. Jika loop dihitung 2 busur.
Contoh 3.5 : Dari graf G, buktikan bahwa :
∑
∈
= 2
G V
V
G E
v d
Bukti : Ketika menjumlahkan derajat simpul-simpul dari G, kita menghitung
masing-masing busur di G dua kali, satu kali untuk setiap dua simpul yang insiden dengan busur loop dihitung sebagai dua busur. Jadi, jumlah derajat dari simpul-
simpul di G sama dengan dua kali jumlah busur di G.
27
Definisi 3.12
Graf G dikatakan k-regular, jika setiap simpul di G punya derajat k. Graf complete
K
n
= n-1-regular, di mana n menunjukkan jumlah simpul. Graf complete bipartite K
n,n
= n regular. Contoh 3.6 :
Sebuah perusahaan membutuhkan 6 pekerja W
1
, W
2, ...,
W
6
untuk 6 pekerjaan J
1
, J
2
, ..., J
6
dengan permintaan keahlian yang berbeda. Setiap pekerja dikualifikasi utnuk satu atau lebih pekerjaan, seperti yang ditunjukkan di bawah ini :
Pekerja Pekerjaan yang dikualifikasikan
W
1
J
1
, J
2
dan J
3
W
2
J
2
dan J
4
W
3
J
1
dan J
3
W
4
J
3
, J
5
dan J
6
W
5
J
2
W
6
J
4
dan J
5
Dapatkah semua pekerja ditugaskan sehingga tiap orang untuk 1 pekerjaan yang dikualifikasikan ?
Penyelesaian : Kita dapat membentuk graf Bipartite G dengan bipartisi X,Y dimana
misal X = pekerja = { W
1
, W
2, ...,
W
6
} Y = pekerjaannya = { J
1
, J
2
, ..., J
6
} W
1
dihubungkan dengan J
k
jika dan hanya jika W
1
dikualifikasikan untuk pekerjaan J
k
. Graf hasil digambarkan pada Gambar 3.10. W
1
W
2
W
3
W
4
W
5
W
6
G
J
1
J
2
J
3
J
4
J
5
J
6
Gambar 3.10
Penugasan mungkin jika dan hanya jika G memuat 1 regular spanning graf sub graf yang memiliki 1 faktor. Graf di atas hanya latihan untuk menentukan apakah
sub graf ada. Salah satu dari sub graf ditunjukkan oleh Gambar 3.11 di bawah ini, dengan busur-busur dari sub graf diberi garis tebal.
28 W
1
W
2
W
3
W
4
W
5
W
6
J
1
J
2
J
3
J
4
J
5
J
6
Gambar 3.11
Jadi penugasan pekerja untuk tiap jenis pekerjaan yang dikualifikasikan mungkin. Penugasan yang dilakukan seperti di bawah ini :
Pekerja Pekerjaan
W
1
W
2
W
3
W
4
W
5
W
6
J
1
J
4
J
3
J
6
J
2
J
5
Tabel 3.1
Catatan : 1.
Diberikan graf Bipartite G dengan bipartisi X,Y maka G mempunyai 1- regular spanning subgraf
, jika dan hanya jika i
Y X
= {jumlah bipartisi X=Y}
ii untuk himpunan bagian S dari simpul X sedikitnya S dari Y yang berdampingan ke satu atau lebih S.
Contoh : W
5
J
2
W
1
J
1,
J
2
, J
3
2. Ada sebuah algoritma yang disebut Metode Hungarian, menugaskan n orang
untuk n pekerjaan sehingga tiap orang punya tugas sesuai dengan yang dikualifikasikan.
Definisi 3.13
Walk dalam graf G merupakan barisan non-null berhingga w = v
e
1
v
1
e
2
v
2 ...
e
k
v
k
di mana menunjukkan titik dan busur sehingga untuk k
i ≤
≤ 1
, ujung e
i
= v
i-1
dan v
i
. W dikatakan walk dari v
asal ke v
k
tepat berhenti atau v -v
k
-walk.
29 Panjang walk merupakan jumlah busur dari w.
Jika simpul v
o
, v
1
, ..., v
k
dari walk w berbeda maka disebut lintasan atau path. Jika panjangnya positif dan asal serta simpul berhentinya sama maka dikatakan
walk tertutup.
Cycle merupakan walk tertutup yang memiliki asal dan simpul-simpul di dalamnya berbeda. Jadi dapat disimpulkan bahwa sebuah lintasan pasti
merupakan walk tetapi walk belum tentu merupakan lintasan. Gambar 3.12 mempunyai banyak cycle, contohnya v
e
1
v
1
e
2
v
2
e
10
v
5
e
7
v adalah cycle dengan panjangnya 4.
e
3
v
1
e
2
v
2
e
1
e
4
Walk: v e
1
v
1
e
8
v
5
e
10
v
2
e
3
v
2
v e
8
e
9
e
11
v
3
e
10
Path : v e
1
v
1
e
8
v
5
e
6
v
4
e
5
v
3
e
7
e
5
v
5
e
6
v
4
Gambar 3.12
Cycle : v
e
1
v
1
e
8
v
5
e
7
v dengan panjang atau length 3
Length atau panjang merupakan jumlah dari busurnya.
Contoh 3.7: Tunjukkan jika G merupakan graf bipartite dan tidak punya cycle dari length
ganjil Bukti :
Misal C = v e
1
v
1
e
2
v
2
... e
k-1
v
k -1
e
k
v adalah cycle di G. G bipartite jika 2-
colourable . Jadi simpul C dapat diwarnai dengan 2 warna berbeda, jika dan hanya
jika simpul lainnya berbeda warna. Simpul v
, v
2
, v
4
, ..., v
k-2
diberi satu warna dan v
1
, v
3
, v
5
, ..., v
k-1
diberi warna lainnya. Satu kemungkinannya, k bilangan bulat genap dan c sebuah cycle dengan
length genap.
30 Catatan :
Graf yang tidak punya cycle dari length ganjil adalah bipartite. Dengan kata lain graf dikatakan bipartite jika dan hanya jika tidak punya length cycle ganjil.
Dua simpul u dan v dari graf G dikatakan terhubung jika ada lintasan u,v di G. Graf G terhubung jika setiap pasangan titik G terhubung, selainnya dari G
tidak terhubung. Maksimal sub graf terhubung dari G disebut komponen G. Gambar 3.13 mengilustrasikan definisi ini.
Gambar 3.13 Graf tidak terhubung dengan 5 komponen
Dari Gambar 3.13, diperoleh sub graf yang terhubung maksimal 5 komponen. Dengan kata lain dari gambar di atas berarti ada 5 komponen, 9 simpul
dan 8 busur. Sebuah graf terhubung tanpa cycle disebut tree atau pohon. Dalam pohon
ada 2 simpul terhubung oleh lintasan yang tunggal. Pemindahan sembarang busur dari pohon menghasilkan graf tak terhubung. Dengan kata lain sebuah pohon
adalah minimal graf terhubung dalam arti memiliki jumlah busur paling sedikit. Contoh 3.8 :
Tunjukkan bahwa setiap graf terhubung memiliki pohon perentang Jawab :
Misal G graf terhubung dan T adalah minimal sub graf perentang terhubung. Akan ditunjukkan bahwa T adalah pohon dan T tidak punya cycle.
Ambil busur e yang menghubungkan x dan y di T. Selama T adalah minimal penghapusan e dari hasil T pada graf tak terhubung. Jadi ada simpul u dan v di T,
yang tak terhubung di sub graf T-e dengan menghapus busur e. P menyatakan lintasan u-v di T, lintasan ini ada selama T terhubung. Jelas bahwa e terdapat di
P. x mendahului y di P lihat Gambar 3.14.
31 x
y v
u e
V
Gambar 3.14
Jika e ada di cycle C di T, maka x dan y akan terhubung di T-e oleh lintasan C-e lihat Gambar 3.15. Tetapi, kemudian u dan v akan dihubungkan ke
T-e, selama di T-e, u dihubungkan dengan x dan v dihubungkan dengan y. e tidak dapat masuk ke cycle T. Jadi T adalah pohon.
Gambar 3.15 mengilustrasikan hasil pembuktian di atas.
G
a spanning tree of G
Gambar 3.15
Jika dua simpul u dan v terhubung di graf G, jarak du,v antara u dan v merupakan panjang lintasan u,v yang paling pendek di G. Jika tidak ada lintasan
yang menghubungkan u dan v di G, kita definisikan du,v tak terbatas. Diameter dari graf G dinyatakan sebagai Diam G, yang didefinisikan sebagai
berikut. Diam G =
} ,
{ max
,
v u
d
G V
v u
∈
Distance merupakan jarak terpendek dan Diam merupakan maksimum dari
distance graf G.
32 Contoh 3.9 :
Cari diameter dari graf berikut v
2
v
3
d v
1
,v
7
= 1 d v
1
,v
5
= 3 v
1
v
7
v
8
v
4
d v
1
,v
8
= 2 d v
2
,v
5
= 2 v
6
G v
5
diam G = 3
Gambar 3.16
Dalam rancangan jaringan, diameter dari sebuah graf merupakan sebuah parameter penting yang menghubungkan jumlah maksimum dari jaringan
termasuk pesan antara dua pusat dalam jaringan harus dilalui. Jadi, diameter merupakan ukuran keefisienan dan keefektifan yang penting dalam jaringan di
mana waktu ditunda atau signal diturunkan secara proporsional terhadap panjang lintasan yang akan digunakan. Contohnya jaringan komunikasi. Kegunaan penting
dari parameter untuk mengukur kehandalan jaringan adalah konektivitas, yang akan dibahas pada Bab 7.
Tujuan kita
adalah mengembangkan
algoritma yang
dapat diimplementasikan ke dalam komputer sehingga kita dapat menspesifikasikan graf
ke dalam program komputer.
Representasi Graf pada Matriks
Di dalam suatu graf seringkali perhitungan-perhitungan yang dikerjakan akan lebih sederhana bila graf yang dihadapi dinyatakan dalam bentuk matriks.
Dalam pembahasan ini, ada tiga bentuk representasi matriks dari suatu graf, yaitu:
1. Matriks Adjasensi
Matriks Adjasensi dari G dengan m ×
m matriks A = [a
ij
] menunjukkan jumlah busur yang menghubungkan v
i
dan v
j
. X
ij
bernilai 1 jika busur i. j ∈
E mempunyai arah dari simpul i
∈ V ke simpul j
∈ V, dan bernilai 0 jika tidak ada
hubungan sama sekali. Jika loop diberi nilai 2.
33 Jika graf G merupakan graf tak berarah, setiap busur i, j dapat dinyatakan
sebagai suatu busur dengan dua arah. Dalam hal ini matriks Adjasensi X merupakan matriks simetris.
Contoh 3.10 : e
6
e
7
v
1
v
2
v
6
e
4
e
5
e
3
v
3
v
4
v
5
e
1
e
2
Gambar 3.17
Matriks Adjasensi X dari graf berarah pada Gambar 3.17 adalah :
= =
1 1
1 1
1 1
1
] [
ij
X X
e
6
e
7
v
1
v
2
v
6
e
4
e
5
e
3
v
3
v
4
v
5
e
1
e
2
Gambar 3.18
Matriks Adjasensi X dari graf tak berarah pada Gambar 3.18 adalah :
= =
1 1
1 1
1 1
1 1
1 1
1 1
1 1
] [
ij
X X
Beberapa sifat penting dapat diturunkan dari representasi matriks suatu graf berarah maupun graf tak berarah. Dengan melihat contoh di atas, dapat diturunkan
sifat bahwa :
34 Matriks Adjasensi X dari graf berarah :
Suatu kolom yang seluruh elemennya bernilai 0 menyatakan suatu sumber.
Suatu baris yang seluruh elemennya bernilai 0 menyatakan suatu muara.
Jika seluruh elemen diagonal utamanya bernilai 0, maka menyatakan tidak terdapat loop dalam graf tersebut. Sebaliknya, suatu elemen yang
tidak bernilai 0 pada diagonal menyatakan suatu loop. Matriks X tidak simetri.
Matriks Adjasensi X dari graf tak berarah : Jika pada graf ditambahkan suatu simpul yang tidak terhubung, maka
pada matriks X akan ditambahkan pula baris dan kolom yang seluruh elemennya bernilai 0.
Matriks X simetris. Elemen yang tidak bernilai 0 pada diagonal menyatakan suatu loop.
2. Matriks Insidensi
Secara khusus, jika VG = {v
1
,v
2
, ..., v
m
} dan EG = {e
1
, e
2
, ..., e
n
} kita definisikan sebagai matriks Insidensi dari G dengan ordo m
× n. Matriks Insidensi
Z dari graf berarah merupakan matriks [z
ij
] di mana z
ij
bernilai 1 jika simpul i merupakan simpul awal busur, z
ij
bernilai -1 jika simpul i merupakan simpul akhir busur, dan bernilai 0 jika lainnya. Berdasarkan Gambar 3.17, matriks Insidensi Z
dari graf berarah tersebut adalah :
− −
− −
− −
−
= =
1 1
1 1
1 1
1 1
1 1
1 1
1 1
] [
ij
Z Z
Matriks Insidensi Z dari graf tak berarah adalah matriks [z
ij
] di mana z
ij
bernilai 1 jika simpul i dihubungkan dengan busur dan bernilai 0 jika lainnya. Matriks Insidensi dari graf tak berarah Gambar 3.18 adalah :
35
= =
1 1
1 1
1 1
1 1
1 1
1 1
1 1
] [
ij
Z Z
Dari representasi matriks Insidensi Z pada contoh di atas dapat dilihat bahwa : Pada graf tak berarah :
Jumlah elemen tidak nol pada suatu baris menunjukkan derajat dari simpul.
Setiap kolom mempunyai tepat dua elemen yang tidak nol. Suatu kolom yang hanya mempunyai satu elemen tidak nol
menunjukkan suatu gelung. Pada graf berarah :
Pada suatu baris yang semua elemen-elemen tidak nolnya adalah 1 menunjukkan bahwa barisan simpul merupakan suatu sumber.
Suatu baris yang semua elemen-elemen tidak nolnya adalah -1 menunjukkan bahwa baris simpul merupakan muara.
Jumlah elemen 1 pada suatu baris menunjukkan derajat keluar dari baris simpul. Jumlah elemen -1 pada suatu baris menunjukkan derajat masuk
dari simpul. Setiap kolom mempunyai satu elemen -1 dan satu elemen 1. Hal ini
sebagai akibat bahwa setiap busur selalu mempunyai satu simpul awal dan satu simpul akhir.
3. Matriks Biaya
Diberikan jaringan GV, E, W matriks biaya C dari jaringan G merupakan matriks [C
ij
] di mana C
ij
menyatakan biaya pengangkutan satu satuan barang pada busur i, j.
Pada representasi di atas, C
ij
menyatakan bobot wi, j. Matriks biaya C tersebut merupakan matriks bujur sangkar n
× n. Bilamana G merupakan jaringan tak
berarah maka matriks C merupakan matriks yang simetri.
36 Graf terboboti merupakan graf G di mana setiap busur e dan G memiliki
bilangan real we yang disebut bobot. Jika H merupakan sub graf terboboti dari G, maka bobot wH didefinisikan sebagai
∑
∈
=
H E
e
e w
H w
Contoh 3.11 : Jaringan komunikasi dapat dinyatakan dalam graf terboboti. Titik G adalah pusat
T
1
, T
2
, ..., T
n
. Kita menghubungkan dua titik dengan sebuah busur jika link komunikasi dapat diinstall antara pusat yang berhubungan, biaya untuk
menginstall dinyatakan sebagai bobot suatu busur. Bobotnya tidak negatif, selama bobot tersebut menyatakan biaya.
Graf berarah adalah suatu graf G di mana setiap busur mempunyai arah. Sebuah digraf D terdiri dari himpunan simpul VD, himpunan busur
berarah dan sebuah relasi insidensi yang menghubungkan setiap busur D yang merupakan pasangan berurut di D. Jika a adalah sebuah busur dari D yang
menunjukkan pasangan terurut u,v, maka a dikatakan yang menghubungkan u ekornya a ke v kepalanya a.
Sebuah digraf dikatakan simpel jika tidak punya loop dan tidak ada dua busur yang memiliki pangkal dan ujung yang sama. Seperti halnya graf, digraf
dapat dilambangkan di mana verteks dilambangkan dengan titik, busur oleh garis dan panah diletakkan di atas busur untuk menunjukkan arah.
Diberikan graf G, kita dapat memperoleh digraf D dari G dengan: i menentukan arah untuk setiap busur G
ii mengubah setiap busur G dengan suatu pasangan yang memiliki arah
busur yang berbeda.
G
Gambar 3.19
37 Graf yang diperoleh dengan cara i disebut Orientasi Graf G.
Diberikan sebuah digraf D, kita dapat memperoleh graf G dengan mengubah setiap busur di D dengan suatu busur yang menghubungkan ujung yang
sama. Graf G yang diperoleh dengan cara ii disebut Underlying Graf G. Sebuah jalan berarah di D merupakan barisan tak kosong berhingga
W = v
o
a
1
v
1
a
2
... a
k
v
k
di mana menunjukkan simpul dan busur, dan untuk k
i ≤
≤ 1
busur a
i
menghubungkan v
i-1
ke v
i
. Jumlah busur di W disebut panjang W. Jika titik v
0,
v
1, ...,
v
k
berbeda dan jalan berarah yang merupakan lintasan, maka disebut lintasan berarah Dipath .
Contoh 3.12 : Tentukan graf berarah terboboti D, di mana busur terboboti menunjukkan rata-rata
alur maksimum, dan alur maksimum di antara pasangan titik tertentu dalam jaringan.
Solusi : Solusi
dari permasalahan
di atas
dapat diselesaikan
dengan mengembangkan algoritma yang tepat. Penggunaan suatu algoritma biasanya
didasarkan pada waktu prosesnya. Hal inilah yang mendasari kita untuk membicarakan algoritma kompleksitas waktu.
Algoritma dikelompokkan berdasarkan waktu proses dari implementasi dalam komputer, tergantung ukuran masukan input. Dalam algoritma teori graf,
masukan yang dimaksud berupa jumlah simpul dan busur. Biasanya pernyataan di atas digunakan untuk memperkirakan jumlah operasi dasar komputer
penjumlahan, perkalian, dan perbandingan yang dibutuhkan dalam proses algoritma. Jika algoritma memproses masukan waktu cn
2
untuk beberapa konstanta c, maka waktu kompleksitas Tn dari algoritma dapat ditulis On
2
dibaca “order n
2
”. Secara umum, Tn disebut Ofn, jika ada a konstanta real c0 sehingga
Tn ≤
cfn untuk semua bilangan n. Waktu kompleksitas dari sebuah algoritma menunujukkan ukuran masalah
yang dapat diselesaikan. Tabel 3.2 dan 3.3 di bawah memberikan ilustrasi tentang hal di atas. Kita
asumsikan bahwa komputer mempunyai kecepatan 10
6
per detik.
38
Ukuran n Algoritma
Kompleksitas 20
30 60
A
1
A
2
A
3
A
4
A
5
n
2
n
3
n
5
2
n
3
n
0,0004 detik 0,008 detik
3,200 detik 1,049 detik
58,113 menit 0,0009 detik
0,027 detik 24,300 detik
17,896 menit 6,529 tahun
0,0036 detik 0,216 detik
12,96 detik 366 abad
1,3x10
13
abad
Tabel 3.2. Waktu Proses Untuk Berbagai Algoritma
Ukuran n Algoritma
Kompleksitas Komputer
sekarang Komputer
100 x lebih cepat
Komputer 1000 x lebih
cepat
A
1
A
2
A
3
A
4
A
5
n
2
n
3
n
5
2
n
3
n
60.000 1.533
81 32
20 600.000
7.114 205
38,4 24,2
1.897.367 15.326
325 41,7
26,3
Tabel 3.3 Ukuran Maksimum Pemecahan Masalah Dalam Satu Jam Waktu Komputer
Tabel 3.3 memberikan masalah besar yang dapat diselesaikan dalam 1 jam oleh komputer dengan kecepatan berbeda. Untuk algoritma A
4
dan A
5
, sebuah komputer yang cepat tidak dapat menyelesaikannya.
Sebuah algoritma di mana Tn adalah polinomial terbanyak dalam n disebut sebagai algoritma polinomial. Sebuah algoritma dikatakan eksponensial
jika ada sebuah aplikasi di mana Tn eksponensial di n. Algoritma A
1
dan A
3
adalah polinomial selama algoritma A
4
dan A
5
adalah eksponensial. Algoritma eksponensial tidak efisien dan biasanya merupakan variasi dari penelusuran
ekshaustive. Tujuan kita adalah mengembangkan algoritma polinomial. Algoritma polinomial menentukan sebuah algoritma di mana Tn eksponensial di n.
Jika n
2
, n
3
, n
5
maka polinomial n
k
, k = 1,2,3, ... Jika 2
n
, 3
n
maka eksponen k
n
, k = 1,2, ...
39
LATIHAN SOAL
1. Diberikan graf G di bawah ini :
v
2
v
3
v
1
G v
4
v
7
v
6
v
5
a Berikan sebuah contoh :
i sebuah jalan tetapi bukan lintasan,
ii sebuah lintasan
iii sebuah cycle b
Tentukan jarak dari v
6
ke setiap simpul lainnya di graf G c
Tentukan sebuah sub graf perentang di G yang tidak punya cycle. d
Tentukan matriks adjasensi dan insidensi dari G 2.
Berikan sebuah contoh dari graf yang i
tidak mempunyai simpul yang berderajat ganjil ii
tidak mempunyai simpul yang berderajat genap iii
mempunyai 4 komponen, 6 simpul dan 3 busur iv
3-regular tetapi tidak lengkap. 3.
a Misalkan m dan n adalah bilangan bulat sehingga n
m ≤
≤ 1
. Berikan contoh graf yang mempunyai n simpul dan m komponen.
b Apakah mungkin bagi sebuah graf untuk mempunyai komponen lebih dari simpulnya ? Jelaskan
40 4. Mana dari graf di bawah ini yang merupakan graf bipartite ?
5. Jika mungkin, gambarkan graf G yang memiliki sifat berikut, dan jika tidak ada jelaskan mengapa ?
a G adalah graf simpel dengan derajat simpulnya 2, 3, 4, 4 dan 5 b G adalah graf simpel dengan tepat hanya 3 simpul yang berderajat 5
c G adalah graf bipartite regular yang tidak terhubung. d G adalah pohon dengan 5 simpul dan 6 busur
e G adalah graf di mana untuk n simpul mempunyai lintasan dengan panjang maksimal 3 antara tiap pasangan simpul.
6. Berapa banyak busur yang mungkin dari : a sebuah graf bipartite
b sebuah graf k-regular ? 7. Tunjukkan bahwa dalam sebuah graf simpel, jumlah simpul dari derajat ganjil
adalah genap 8. Misalkan G adalah graf dengan 15 simpul yang terdapat dalam 4 komponen.
Tunjukkan bahwa sedikitnya satu komponen yang mempunyai 4 simpul atau lebih
41 9. Untuk setiap graf yang digambarkan dibawah ini, tentukan mungkin atau tidak
untuk mengorientasikan tiap graf sehingga digraf yang dihasilkan mempunyai sedikitnya satu dipath antara sedikitnya dua simpul. Jelaskan
42
BAB IV BEBERAPA ALGORITMA GRAF