BAB I
SEJARAH TEORI GRAF
A. Pendahuluan
Teori graf merupakan pokok bahasan
matematika yang telah tua usianya (teori ini muncul
pertama sekali pada tahun 1736) namun masih
dipelajari hingga saat ini, ini disebabkan penerapan
teori ini dalam pemrograman komputer. Selain dalam
pemrograman komputer teori graf juga diterapkan
dalam ilmu kimia, operasi penelitian, teknik elektro,
linguistik, dan ekonomi. Graf digunakan untuk
merepresentasikan objek-ojek diskrit dan hubungan
antara objek-objek tersebut. Beberapa contoh graf
yang sering dijumpai dalam kehidupan sehari-hari
antara lain: struktur organisasi, bagan alir
pengambilan mata kuliah, peta, rangkaian listrik, dan
lain-lain. Peta yang merupakan contoh graf yang
sering kita perhatikan dapat menolong kita untuk
melihat hubungan jalan raya yang menghubungkan
kota-kota dalam peta itu, juga dapat dilihat jarak
(dalam skala) jalan-jalan itu. Sehingga dengan
Teori Graf |2
BAB II
KONSEP DASAR GRAF
A. Definisi Graf
Secara kasar, graf adalah suatu diagram yang
memuat informasi tertentu jika diinterpretasikan
secara tepat. Dalam kehidupan sehari-hari, graf
digunakan untuk menggambarkan berbagai macam
struktur yang ada. Tujuannya adalah sebagai
visualisasi objek-objek agar lebih mudah dimengerti.
Teori graf merupakan pokok bahasan yang
sudah tua usianya, namun memiliki banyak terapan
dalam kehidupan sehari-hari. Banyak persoalan pada
dunia nyata yang sebenarnya merupakan
reprensentasi visual dari graf. Salah satu contoh
reprensentasi visual dari graf adalah Peta.
Selain peta, masih banyak hal lain dalam dunia
nyata yang merupakan representasi visual dari graf.
Gambar 2.1
Teori Graf |8
V = { 1, 2, 3, 4}
E = { (1, 2), (1,3), (2,3), (2, 4),(3, 4)}
V = { 1, 2, 3, 4}
E = { (1, 2), (2, 3), (1,3), (1,3), (2,4), (3, 4),(3, 4)} →
himpunan ganda = {𝑒1 , 𝑒2 , 𝑒3 , 𝑒4 , 𝑒5 , 𝑒6 , 𝑒7 , 𝑒8 }
Pada 𝐺2 sisi 𝑒3 = (1, 3) dan sisi 𝑒4 = (1, 3)
dinamakan sisi ganda karena kedua sisi ini
menghubungi dua buah simpul yang sama, yaitu
simpul 1 dan simpul 3. Pada 𝐺3 , sisi 𝑒8 = (3, 3)
dinamakan gelang atau kalang (loop) karena ia
berawal dan berakhir pada simpul yang sama.
B. Jenis-jenis Graf
Berdasarkan ada atau tidaknya loop atau garis
parallel pada suatu graf, maka secara umum graf
dapat digolongkan menjadi dua jenis:
1. Graf sederhana (simple graph).
Graf yang tidak memiliki loop maupun garis
parallel.
2. Graf tak sederhana (unsimple graph).
Graf yang memiliki loop maupun garis parallel.
Macam- macam graf tak sederhana diantaranya :
T e o r i G r a f | 11
a) Graph rangkap
Sebuah graph yang memiliki sisi rangkap
tetapi tidak memiliki gelung disebut graph
rangkap (multi-graph).
b) Graph semu
Sebuah graph yang memilki sisi rangkap
dan memiliki gelung disebut graph semu
(pseudograph).
c) Graph komplit
Sebuah graph komplit (graph lengkap)
dengan n titik, dilambangkan dengan Kn ,
adalah graph sederhana dengan n titik dan
setiap dua titik berbeda dihubungkan dengan
sebuah sisi. Sebuah graph lengkap sering juga
disebut sebagai graph universal. Kerena tiap
titik dalam grap lengkap selalu dihubungkan
dengan titik lain melalui satu sisi, maka derajat
tiap titik dalam sebuah graph lengkap G
dengan n titik adalah n-1. Dengan demikian,
banyaknya sisi dalam graph lengkap G adalah .
T e o r i G r a f | 12
h) Graph bipartisi
Sebuah graph G disebut graph bipartisi
jika V(G) (himpunan titik graph G) dapat
dipartisi menjadi dua himpunan bagian X dan
Y sedemikian sehingga setiap sisi dari G
menghubungkan sebuah titik di X dan sebuah
titik di Y. Kita notasikan (X,Y) bipartisi dari G.
Apabila G sederhana dan bipartisi dengan
partisi (X,Y) sedemikian sehingga setiap titik
di X berhubungan langsung dengan setiap titik
di Y, maka G disebut graf bipartisi lengkap,
dinotasikan dengan Km,n dengan m dan n
adalah banyaknya titik dikedua partisi tersebut.
i) Graph berbobot
Sebuah graph G disebut graph berbobot
jika setiap sisinya diberi sebuah harga.
Gambar 2.3
a) Graf Sederhana, b) Graf Ganda, c) Graf Semu
T e o r i G r a f | 14
S Q
R
Gambar 2.4
Graf berarah (directed graph)
Gambar 2.5
Graf berarah (directed graph) dan Graf Ganda
Berarah
C. Terminologi Dasar
Ada beberapa terminologi(istilah) dasar yang ber
kaitan dengan graph. Beberapa
diantaranya sebagai berikut:
T e o r i G r a f | 16
1. Bertetangga (Adjacent)
Dua buah simpul dikatakan bertetangga bila
keduanya terhubung langsung.
Tinjau graf G1 : Simpul 1 bertetangga dengan
simpul 2 dan 3, simpul 1
tidak bertetangga dengan
simpul 4.
Matriks ketetanggan G adalah matriks yang
berukuran n x n. Bila matriks A = [i,j], maka ai,j=
0. Jika simpul i dan j tidak bertetangga.
2. Bersisian (Insidency)
Untuk sembarang sisi e = (vj, vk) dikatakan e
bersisian dengan simpul vj , atau e bersisian
dengan simpul vk
Tinjau graf G1: Sisi (2, 3) bersisian dengan simpul
2 dan simpul 3, sisi (2, 4) bersisian
T e o r i G r a f | 17
Contoh :
Notasi: deg(v)
d(1) = d(4) = 2
d(2) = d(3) = 3
Contoh :
din(1) = 1; dout(1) = 1
din(2) = 1; dout(2) = 3
din(3) = 1; dout(3) = 1
din(4) = 2; dout(3) = 0
d (v ) 2 E
vV
BAB III
GRAF SEDERHANA KHUSUS
K1 K2 K3 K4 K5 K6
Gambar 3.3
V V
1 3.4 Graf Bipartite
Gambar 2 G(V1, V2)
1
Graf G di bawah ini adalah graf bipartit, karena
11
simpul-simpunya dapat dibagi menjadi V1 = {a, b, d}
dan V2 = {c, e, f, g}
a b
g c
f
e d
H2 H3
W G E
Contoh :
Berapa jumlah maksimum dan jumlah minimum
simpul pada graf sederhana yang mempunyai 16 buah
sisi dan tiap simpul berderajat sama dan tiap simpul
berderajat ≥ 4 ?
Penyelesaian :
BAB IV
POHON (TREE)
A. Definisi Pohon
a b a b a b a b
c d c d c d c d
e f e f e f e f
Gambar 4.2
T e o r i G r a f | 31
C. Pohon Merentang
Spanning Tree dari suatu graf terhubung
merupakan subgraf merentang yang berupa pohon.
T e o r i G r a f | 33
Gambar 4.4
(a) (b)
Router
. Subnetwork
Gambar 4.5
Contoh :
Gambarkan 3 buah pohon merentang minimum yang
berbeda beserta bobotnya untuk graf pada gambar 3.1
dengan menggunakan algoritma prim.
a 3 b 4 c 2 d
4 2 3 6
5 f 4 g 4
e h
5 3 5 4
i 4 j 4 k 2 l
Gambar 4.6
Penyelesaian :
Graf diatas memiliki beberapa sisi yang berbobot
sama, maka ada kemungkinan pohon merentang
minimumnya lebih dari satu. Tiga buah diantaranya
adalah :
T e o r i G r a f | 36
a 3 b c 2 d a 3 b c 2 d a 3 b 4 c 2 d
4 2 3 4 2 3 4 2 3
f g h f h f g h
e e e
4 4 4
5 3 4 5 3 4 5 3 4
i j 4 k 2 l i j 4 k 2 l i j k 2 l
Gambar 4.7
Algoritma Kruskal
( Langkah 0: sisi-sisi dari graf sudah diurut menaik
berdasarkan bobotnya – dari bobot kecil ke bobot
besar)
Langkah 1: T masih kosong
Langkah 2: Pilih sisi (u, v) dengan bobot minimum
yang tidak membentuk sirkuit di T.
Tambahkan (u, v) ke dalam T.
Langkah 3: Ulangi langkah 2 sebanyak n – 1 kali.
D. Sisi Pemotong
Sebuah sisi pemotong pada graf G adalah
sebuah sisi e, demikian sehingga w (G – e) ≥ w (G)
dengan w (G) sebagai banyaknya komponen dari G.
T e o r i G r a f | 37
E. Simpul Pemotong
Sebuah simpul v pada graf G disebut simpul
pemotong jika E(G) dapat dipartisikan kedalam dua
himpunan bagian E1 dan E2 demikian sehingga
G(E1) dan G(E2) hanya mempunyai irisan pada
simpul V.
Jika G merupakan graf non trivial dan tidak
mengandung loop, maka v merupakan simpul
pemotong dari G jika dan hanya jika w (G – v) ≥ w
(G).
T e o r i G r a f | 38
Gambar 4.8
Teorema 4.4
Sebuah simpul v pada pohon G merupakan simpul
pemotong dari G jika dan hanya jika deg(v)>1.
Teorema 4.5
Setiap graf terhubung non trivial yang tanpa loop
mempunyai paling sedikit dua simpul yang tidak
merupakan simpul pemotong.
F. Pohon Optimal
Jika G adalah graf berbobot, maka bobot pohon
merentang T dari G didefinisikan sebagai jumlah
bobot semua sisi di T. Diantara semua pohon
merentang di G, pohon merentang yang berbobot
minimum dinamakan pohon optimal.
T e o r i G r a f | 39
Gambar 4.9
Penyelesaian :
T e o r i G r a f | 40
H. Pohon Berakar
Suatu graf dinamakan pohon berarah bila arah
rusuknya diabaikan dan suatu pohon berarah
dinamakan pohon berakar (rooted tree) bila ada tepat
satu simpul yang berderajat masuk 0, dan semua
simpul lain berderajat masuk 1. simpul berderajat
masuk 0 dinamakan akar, simpul berderajat keluar 0
dinamakan daun, sedangkan simpul yang berderajat
masuk 1 tetapi derajat keluarnya tidak 0 disebut
simpul cabang.
T e o r i G r a f | 41
a akar
b c Simpul cabang
d e f g daun
Gambar 4.10
V1 V2
V3 V4 V5
Gambar 4.11
V0 V1
V2 V3 V4
V5 V6 V7 V8
Gambar 4.11
V0
V1 V2
V3 V4 V5
Gambar 4.12
T e o r i G r a f | 44
Teorema 4.7
Irreflexive
Setiap simpul tidak berelasi dengan simpul itu
sendiri.
V0
V1 V2
V3 V4 V5
Gambar 4.13
V0
V1 V2
V3 V4 V5
Gambar 4.14
V0
Subtree V1 V2
T(V1)
V3 V4 V5
Gambar 4.15
Gambar 4.16
Contoh :
Misalkan ada sebuah turnamen, pada setiap
pertandingan menggunakan sistem gugur. Ada 16
klub peserta turnamen, sehingga pada akhir turnamen
hanya tersisa satu tim yang menjadi juara. Bila kita
tuangkan jadwal pertandingannya dalam bentuk
grafik, ini merupakan contoh sebuah pohon biner
teratur dimana setiap simpul cabang tepat memiliki 2
anak. Maka kita dapat menemukan bahwa jumlah
T e o r i G r a f | 48
a b c d e f g h i j k l m n o p
Gambar 4.17
Bila i menyatakan banyak simpul cabang, dan t
menyatakan banyaknya daun, maka diperoleh
hubungan :
i=t–1
hasil ini dapat diperluas untuk pohon m-er teratur
lainnya menjadi :
(m–1) i = t – 1
T e o r i G r a f | 49
Contoh :
Bila sebuah komputer dapat menghitung 3 buah
bilangan sekaligus dengan sebuah instruksi, berapa
instruksikah yang dibutuhkan untuk menjumlahkan 7
buah bilangan ?
Jawab : dengan menggunakan rumus yang sudah kita
definisikan diatas, maka:
(m–1) i = t – 1 ; m=3 dan t=7
(3–1) i = 7 – 1
i=3
Ini berarti komputer harus melakukan 3 kali instruksi
untuk menjumlahkan ketujuh bilangan tersebut dan
dapat digambarkan sebagai berikut (dalam dua cara)
Gambar 4.17
T e o r i G r a f | 50
b
c d
e
f g
k
h i j
l m
Gambar 4.18
1. Anak (child atau children) dan Orangtua
(parent)
b, c, dan d adalah anak-anak simpul a, a adalah
orangtua dari anak-anak itu
2. Lintasan (path)
Lintasan dari a ke j adalah a, b, e, j.
Panjang lintasan dari a ke j adalah 3.
3. Saudara kandung (sibling)
f adalah saudara kandung e, tetapi, g bukan
saudara kandung e, karena orangtua mereka
berbeda.
T e o r i G r a f | 51
4. Upapohon (subtree)
b
c d
e
f g
k
h i j
l m
Gambar 4.19
5. Derajat (degree)
Derajat sebuah simpul adalah jumlah upapohon
(atau jumlah anak) pada simpul tersebut. Derajat a
adalah 3, derajat b adalah 2, Derajat d adalah satu
dan derajat c adalah 0. Jadi, derajat yang
dimaksudkan di sini adalah derajat-keluar. Derajat
maksimum dari semua simpul merupakan derajat
pohon itu sendiri. Pohon di atas berderajat 3.
6. Daun (leaf)
Simpul yang berderajat nol (atau tidak mempunyai
anak) disebut daun. Simpul h, i, j, f, c, l, dan m
adalah daun.
T e o r i G r a f | 52
Aras
a
0
b 1
c d
e 2
f g
k 3
h i j
4
l m
Gambar 4.20
9. Tinggi (height) atau Kedalaman (depth)
Aras maksimum dari suatu pohon disebut tinggi
atau kedalaman pohon tersebut. Pohon di atas
mempunyai tinggi 4.
T e o r i G r a f | 53
J. POHON BINER
B B
Gambar 4.21
Penelusuran pohon biner
Penelusuran pohon berakar ada 3 macam :
1. Preorder
Kunjungi akar
T e o r i G r a f | 54
b c
d e f g
h i j k l
Gambar 4.2
Preorder : a-b-d-h-e-i-c-f-i-g-k-l
T e o r i G r a f | 55
Inorder : h-d-b-e-i-a-j-f-c-k-g-l
Postorder : h-d-i-e-b-j-f-k-l-g-c-a
K. POHON BERLABEL
Mulai
Pendeklarasian variabel
a ; b ; c (input dari user)
D = b2 – 4.a.c
if D > 0 then
o akar akarnya nyata
o X12 = (- b D1/2 ) / 2.a
o selesai
if D < 0 then
o akar akarnya imaginer
o X12 = (- b i.(-D)1/2 ) / 2.a
o selesai
else
o akarnya sama
o X12 = - b / 2a
o selesai
T e o r i G r a f | 57
Begin
a ; b ;
c
D = b2 –
4.a.c Ya
D>0 X12 = Real
Tidak
X12 = (- b D1/2 ) /
2.a
End
Ya
D>0 X12 =
Imaginer
X12 = (- b i.(-D)1/2 )
/ 2.a
X12 = nyata dan Gambar 4.23
sama
X12 = -b/2a
End
T e o r i G r a f | 58
Begin
a;b;c
x +
_ + c
x
a 2 b 3 6 3
Gambar 4.25
T e o r i G r a f | 59
Jawaban :
Bagan pertandingan sistem gugur adalah contoh
pohon biner teratur, sehingga kita dapat membuat
contoh bagannya sebagai berikut :
T e o r i G r a f | 60
C H
B C F H
A B C D E F G H
Gambar 4.26
Jawaban :
Untuk pohon m-er berlaku (m – 1 )i = t – 1
Sehingga bila diterapkan dalam soal ini :
(m – 1 )i = t– 1
(3 – 1 )i = 7 – 1
i=3
X4 X6 X7
X1 X2 X3 X5 X6 X7 X4 X5
Gambar 4.27
X1 X2 X3
T e o r i G r a f | 62
+ _
_ _
7 x
Gambar 4.28
6 2 y 4
T e o r i G r a f | 63
b c
d e f g
h i j
Gambar 4.29 k
Jawaban :
BAB V
GRAF EULER DAN GRAF HAMILTON
Contoh 5.1:
Lintasan Euler pada gambar 5.1(a) : 3, 1, 2, 3, 4, 1
Lintasan Euler pad gambar 5.1(b) : 1, 2, 4, 6, 2, 3, 6,
5, 1, 3
Sirkuit Euler pada Gambar 5.1(c) : 1, 2, 3, 4, 7, 3, 5,
7, 6, 5, 2, 6, 1
Sirkuit Euler pada Gambar 5.1(d) : a, c, f, e, c, b, d,
e, a, d, f, b, a
Graf (e) dan (f) tidak mempunyai lintasan maupun
sirkuit Euler.
T e o r i G r a f | 66
2 1 1 2 2 3
(a) (b) (c)
3 5
4 1 4
3 4 5 6 6 7
e c 4 5 c d e
Gambar 5.1 (a) dan (b) graf semi-Euler, (c) dan (d) graf Euler,
(e) dan (f) bukan graf semi-Euler atau graf Euler.
a
b d c d c
g
f
c
a b a b
e d
Gambar 5.2
1 2 1 2 1 2
4 3 4 3 4 3
(a) (b) (c)
Gambar 5.3
(a) (b)
Teorema 5.4
Syarat cukup (jadi bukan syarat perlu) supaya graf
sederhana G dengan n ( 3) buah simpul adalah graf
Hamilton ialah bila derajat tiap simpul paling sedikit
n/2 (yaitu, d(v) n/2 untuk setiap simpul v di G).
Teorema 5.5
Setiap graf lengkap adalah graf Hamilton.
T e o r i G r a f | 70
Teorema 5.6
Di dalam graf lengkap G dengan n buah simpul (n
3), terdapat (n - 1)!/2 buah sirkuit Hamilton.
Teorema 5.7
Di dalam graf lengkap G dengan n buah simpul (n 3
dan n ganjil), terdapat (n - 1)/2 buah sirkuit Hamilton
yang saling lepas (tidak ada sisi yang beririsan). Jika
n genap dan n 4, maka di dalam G terdapat (n - 2)/2
buah sirkuit Hamilton yang saling lepas.
Contoh 5.2
(Persoalan pengaturan tempat duduk). Sembilan
anggota sebuah klub bertemu tiap hari untuk makan
siang pada sebuah meja bundar. Mereka memutuskan
duduk sedemikian sehingga setiap anggota
mempunyai tetangga duduk berbeda pada setiap
makan siang. Berapa hari pengaturan tersebut dapat
dilaksanakan?
T e o r i G r a f | 71
9
8
1
3
5
5 5
1 2 1 2
4 3 4 3
(a) (b)
Gambar 5.6
BAB VI
GRAF PLANAR DAN GRAF BIDANG
Gambar 6.2 Tiga buah graf planar. Graf (b) dan (c) adalah graf
bidang
T e o r i G r a f | 75
Gambar 6.3
T e o r i G r a f | 76
Gambar 6.4
B. Teorema Kuratoswki
Gambar 6.6 Tiga buah graf yang Homeomorfik satu sama lain
Contoh 6.2 :
Perlihatkan dengan teorema Kuratowski bahwa graf
Petersen tidak planar.
T e o r i G r a f | 81
1 1 1
6 7 2 6 7 2 6 2
10
9 8 3 9 8 3 3
5 5 5
4 4 4
(a) Graf Petersen, G (b) G1 (c) G2
1 3 5
2 4 6
(d) K3,3
BAB VII
KETERHUBUNGAN
A. Terhubung (Connected)
Dua buah simpul v1 dan simpul v2 disebut
terhubung jika terdapat lintasan dari v1 ke v2. G
disebut graf terhubung (connected graph) jika untuk
setiap pasang simpul vi dan vj dalam himpunan V
terdapat lintasan dari vi ke vj. Jika tidak, maka G
disebut graf tak-terhubung (disconnected graph).
2
5
1 4
6
3 8 7
Gambar 7.1
Graf berarah G dikatakan terhubung jika graf tidak
berarahnya terhubung (graf tidak berarah dari G
diperoleh dengan menghilangkan arahnya).
T e o r i G r a f | 83
2 3
3 4
Gambar 7.2
2 2
1 1 1
3 3
3
6 6
4 5 2 5 5
9
12
1 6 7
5
11
13
2 3 4 8 10
Gambar 7.4
1 4
5
2 3
Gambar 7.5
T e o r i G r a f | 86
1 1 1
2 3 2 3 2 3
4 5 4 5
(a) graf G (b) upagraf rentang dari G (c) bukan upagraf rentang
dari G
Gambar 7.6
B. Cut-Set
Cut-set dari graf terhubung G adalah himpunan
sisi yang bila dibuang dari G menyebabkan G tidak
terhubung. Jadi, cut-set selalu menghasilkan dua buah
komponen.
Pada graf di bawah, {(1,2), (1,5), (3,5), (3,4)}
adalah cut-set. Terdapat banyak cut-set pada sebuah
graf terhubung.
T e o r i G r a f | 87
1 5 1 5
4 6 4 6
2 3 2 3
Gambar 7.7
T e o r i G r a f | 88
BAB VIII
PEWARNAAN
3 3 3
4 4
4
8 5 8 5 8 5
7 6 7 6 7 6
putih kuning
7 6 7 6
hitam merah
(d) (e)
Gambar 8.1 (a) Peta(b) Peta dan graf yang
merepresentasikannya, (c) Graf yang merepresentasikan peta,
(d) Pewarnaan simpul, setiap simpul mempunai warna berbeda,
(e) Empat warna sudah cukup untuk mewarnai 8 simpul
B. Pewarnaan Sisi
Misal G graf sederhana. Pewarnaan sisi-k untuk
G adalah pemberian k warna pada sisi-sisi G
T e o r i G r a f | 90