Anda di halaman 1dari 35

Bab 3

Teori Graf
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 ilmi 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 melihat peta kita dapat menentukan rute perjalanan mana yang
harus kita ikuti agar lebih cepat sampai ke tujuan.

Tujuan Instruksional Umum

Agar mahasiswa memahami teori graf dan penerapannya dalam


merepresentasikan objek-objek diskrit dan dalam hubungannya
pemrograman, misalnya dengan algoritma lintasan terpendek.
Bab 3. Teori Graf 100

Tujuan Instruksional Khusus

Setelah mempelajari topik-topik bahasan dalam bab ini, mahasiswa


diharapkan mampu:
1. Membedakan directed dan undirected graf.
2. Memahami istilah-istilah dalam graf seperti, edge, verteks, path, graf
berarah, graf tidak berarah.
3. Memahami aplikasi siklus Hamilton untuk memecahkan masalah the
traveling sales person.
4. Menentukan siklus Euler dan siklus Hamilton dari suatu graf.
5. Menerapkan algoritma Dijkstra untuk memecahkan masalah lintasan
terpendek dalam kasus the travelling sales person.
6. Menuliskan representasi matriks menurut adjacency matriks dan
incidence matriks.
7. Menentukan dua graf yang diberikan isomorfis dan identik.
8. Memahami aplikasi graf dalam pemograman komputer.

Topik-topik bahasan

3.1. Pendahuluan
3.2. Graf tak-berarah dan berarah
3.3. Lintasan dan siklus
3.4. Siklus Hamilton dan masalah travelling sales-person.
3.5. Algoritma lintasan terpendek.
3.6. Representasi graf
3.7. Keisomorfisan graf
3.8. Graf bidang.
3.9. Bilangan Erdos
Ringkasan Bab
Soal-soal Latihan
Bab 3. Teori Graf 101

3.1. Pendahuluan

Perhatikan gambar 3.1 di bawah ini. Gambar 3.1 menunjukkan peta lokasi
10 (A, B, C, D, E, F, G, H, I, J) kota dalam suatu propinsi di negara tertentu.
A
C

B D

F
G H

I J

Gambar 3.1. Peta 10 kota A, B, C,…, I dalam suatu daerah.

Peta di atas dapat digambar ulang sebagai sebuah graf seperti gambar 3.2
berikut:
B e1 A e2 C

e3 e4 e5 e6
e7 e8
E J
D
e9 e10 e11
F 99H
e12 I e13 G e14

Gambar 3.2. Graf yang mewakili peta pada gambar 3.1

Dalam graf terdapat titik-titik yang dihubungkan oleh garis-garis. Titik-titik


ini disebut verteks (simpul), sedangkan garis-garis ini disebut edges (sisi).
Label dari verteks adalah A, B, C, …, J. Verteks-verteks (kota) ini dapat juga
disimbolkan dengan A=v0, B=v1, C=v2, …, J=v9 Sedangkan label dari edges
adalah e0, e1,…,e13. Jika kita mengadakan perjalanan dari kota A hingga ke J,
dengan lintasan tertentu, maka kita mengambil lintasan (path) lengkap.
Bab 3. Teori Graf 102

Definisi Graf:
Secara sederhana sebuah graf adalah merupakan kumpulan dari verteks-
verteks, bersama-sama dengan beberapa edge yang menghubungkan
verteks-verteks itu. Sebuah graf adalah sebuah objek G=(V,E), dimana V
adalah sebuah himpunan terbatas dan E adalah kumpulan dari subset dari
V. Elemen-elemen dari V disebut verteks dan elemen-elemen dari E disebut
edges. Dua verteks v,w  V disebut berdekatan (adjacent) jika (v,w)  E;
dengan kata lain, jika v dan w dihubungkan dengan sebuah edge.

3.2 Graf tak-berarah dan berarah

Graf tak berarah.


Sebuah graf tak-berarah G (directed graph) terdiri dari himpunan verteks V
(simpul) dan himpunan edges E sedemikian hingga masing-masing edges e
 E berhubungan dengan pasangan tak berurutan dengan verteks. Jika ada
edge tertentu e menghubungkan verteks v dan w, kita menulis e=(v,w) atau
e=(w,v). Dalam konteks ini (v,w) menyatakan sebuah edge antara v dan w
dalam graf tak-berarah dan bukan pasangan teratur.

Graf berarah.
Sebuah graf berarah G (directed graph) terdiri dari himpunan verteks V
(simpul) dan himpunan edges E sedemikian hingga masing-masing edges e
 E berhubungan dengan pasangan berurutan dengan verteks. Jika ada
edge tertentu e menghubungkan verteks v dan w, kita menulis e=(v,w).
Pada gambar 3.3 berikut ditunjukkan graf berarah. Graf ini merupakan
gambar yang sama dengan graf pada gambar 3.2, kecuali dengan adanya
panah yang membedakan graf berarah dengan graf tak-berarah.
Bab 3. Teori Graf 103

B e1 A e2 C

e4 e5 e6
e3
e7 e8
E J
D
e9 e10 e11
F 99H
e12 I e13 G e14

Gambar 3.3. Graf berarah.

Cara menuliskan graf.


Jika G adalah sebuah graf (directed atau undirected graph) berhubungan
dengan verteks V dan edges E kita dapat menulis graf tersebut sebagai
G=(V,E)


Contoh 3.1.
Perhatikan graf pada gambar 3.2. Nyatakan semua edges dalam verteks,
dan himpunan E dan V dan nyatakan graf tersebut sebagai graf G.
Jawab:
e1 = (v0,v1)= (v1,v0) e2 = (v0,v2)= (v2,v0)
e3 = (v1,v4)= (v4,v1) e4 = (v1,v3)= (v3,v1)
e5 = (v2,v3)= (v3,v2) e6 = (v2,v9)= (v9,v2)
e7 = (v4,v3)= (v3,v4) e8 = (v9,v3)= (v3,v9)
e9 = (v4,v5)= (v5,v4) e10 = (v4,v6)= (v6,v4)
e11 = (v3,v6)= (v6,v3) e12 = (v7,v9)= (v9,v7)
e13 = (v5,v8)= (v7,v5) e14 = (v6,v8)= (v8,v6)
e15 = (v7,v6)= (v6,v7)
E = {e1,e2,e3,e4,e5,e6,e7,e8,e9,e9,e10,e11,e12,e13,e14,e15}
V = {v0,v1,v2,v3,v4,v5,v6,v7,v8,v9}
G=({v0,v1,v2,v3,v4,v5,v6,v7,v8,v9},{e1,e2,e3,e4,e5,e6,e7,e8,e9,e9,e10,e11,
e12,e13,e14,e15})


Contoh 3.2.
Perhatikan graf pada gambar 3.3. Nyatakan semua edges dalam verteks.
Jawab.
Bab 3. Teori Graf 104

e1 = (v1,v0) e2 = (v0,v2)
e3 = (v1,v4) e4 = (v1,v3)
e5 = (v2,v3) e6 = (v2,v9)
e7 = (v4,v3) e8 = (v3,v9)
e9 = (v4,v5) e10 = (v4,v6)
e11 = (v3,v6) e12 = (v9,v7)
e13 = (v6,v8) e14 = (v8,v6)
e15 = (v7,v6)

Jika e1 dan e2 keduanya berhubungan dengan pasangan verteks (v 1,v2),


maka verteks e1 dan e2 disebut edge paralel (sejajar). Sebuah edge e yang
berawal dan berakhir di verteks v, e=(v,v), maka verteks e disebut loop. Jika
ada tidak ada satupun edge yang dibuhungkan dengan sebuah verteks v
maka verteks v disebut verteks terisolasi (isolated vertex). Sebuah graf
yang tidak memiliki edge paralel maupun loop, disebut graf sederhana
(simple graph).

Sebuah graf dimana semua edgenya merupakan sebuah angka yang


menyatakan nilai (panjang) dari edge itu disebut weighted graph (graf
bernilai). Panjang suatu lintasan dapat dihitung yaitu merupakan jumlah
dari semua edge yang dilalui.


Contoh 3.3.
Lihat graf berikut ini. Dari segala kemungkinan lintasan dari a ke e tentukan
panjang lintasannya.
b
8

a 6
2
c 9
4
6 3 12
5
d
4
e

Gambar 3.4. Graf untuk contoh soal 3.3.


Bab 3. Teori Graf 105

Ada 6 kemungkinan lintasan yang ditabelkan pada tabel berikut. Misalnya


untuk lintasan pertama:
(a,b)+(b,c)+(c,d)+(d,e) = 8+6+3+4 = 21.

Lintasan Panjang
a,b,c,d,e 21
a,b,d,c,e 28
a,c,b,d,e 24
a,c,d,b,e 26
a,d,b,c,e 27
a,d,c,b,e 22

Contoh soal 3.3 merupakan salah satu penerapan sebuah graf yaitu untuk
menentukan lintasan terpendek. Dalam teori graf masalah ini disebut
sebagai the travelling salesperson problem. Seorang sales yang ingin
menjual produknya kepada pelanggan di sejumlah kota, maka dia akan
membentuk sebuah graf untuk semua kota-kota yang akan dikunjungi. Dari
segala kemungkinan rute yang akan dilalui, dan dengan
mempertimbangkan panjang jalan dari masing-masing rute yang akan
dilalui itu, maka dia harus memutuskan rute mana yang harus dilalui agar
perjalanannya efisien (lintasan yang dilalui adalah jarak terpendek).


Contoh 3.4: Kemiripan Graf
Contoh berikut berhubungan dengan masalah mengelompokkan objek-
objek ke dalam kelompok-kelompok didasarkan atas sifat-sifat objek itu.
Misalnya suatu masalah akan dikerjakan dengan bahasa BASIC. Orang
berbeda akan menuliskan program yang berbeda untuk menyelesaikan hal
yang sama. Perbedaan yang dilakukan bisa jadi dalam hal jumlah baris
program itu, juga jumlah perintah GOTO yang digunakan dan jumlah
panggilan subrutin. Misalkan ada 5 programer menghasilkan 5 program
yang diberikan pada tabel berikut:
Bab 3. Teori Graf 106

Jumlah
Program Jumlah baris Jumlah subrutin
perintah GOTO
1 66 20 1
2 41 10 2
3 68 5 8
4 90 34 5
5 75 12 14

Program ke-1 hingga ke-5 merupakan verteks v 1,v2,v3,v4 dan v5. Verteks v
berhubungan ketiga sifat-sifat jumlah baris (p 1), jumlah GOTO (p2) dan
jumlah subrutin(p3). Sedangkan untuk verteks w sifat-sifat itu disimbolkan
dengan q1,q2, dan q3. Nilai edge untuk verteks v dan w, s(v,w), didefinisikan
sebagai s(v,w) = |p1-q1|+|p2-q2|+|p3-q3|. Nilai dari s(v,w) menyatakan
tingkat kemiripan dari dua program. Jika nilai s kecil maka dua program
disebut mirip, sedangkan kalau nilai s besar maka dua program tsb tidak
mirip. Dari definisi ini dapat dihitung nilai dari masing-masing edge sbb:

s(v1,v2) = 36 s(v1,v3) = 24
s(v1,v4) = 42 s(v1,v5) = 30
s(v2,v3) = 38 s(v2,v4) = 76
s(v2,v5) = 48 s(v3,v4) = 54
s(v3,v5) = 20 s(v4,v5) = 46

Bila kriteria nilai kemiripan itu misalnya ditentukan s=25 (rata-rata dari
s(v3,v5) = 20 dan s(v1,v5)=30), maka program-program yang mirip adalah v 1,v3
dan v5. sedangkan program 2 dan 4 tidak mirip dengan program yang lain.

Graf lengkap.
Graf lengkap dengan n verteks, dinyatakan sebagai K n, adalah graf
sederhana dimana ada edge diantara tiap-tiap pasangan verteks.


Contoh 3.5.
Graf berikut adalah graf lengkap K4.
Bab 3. Teori Graf 107

Gambar 3.5. Graf lengkap K4.


Graf bipartisi.
Sebuah graf G=(V,E) adalah graf bipartisi jika himpunan verteks V dapat
dipartisi menjadi dua sub-himpunan V 1 dan V2 sedemikian hingga masing-
masing edge E ada pada setiap verteks dalam V 1 dan V2. Graf bipartisi
lengkap dengan m dan n verteks, disimbolkan Km,n adalah graf sederhana
dimana verteksnya dapat dipartisi menjadi dua verteks V 1 dengan m verteks
dan V2 dengan n verteks dimana ada edge pada setiap pasangan verteks.


Contoh 3.6.
Graf (a) berikut adalah graf bipartisi dimana V 1={ v1,v2,v3} dan V2=(v4,v5),
sedangkan gambar (b) merupakan graf bipartisi lengkap K 2,4.

v3
v1
v4
v2 v1 v4
v5
v3 v2
v5
v6

(a) (b)

Gambar 3.6. Graf bipartisi tidak lengkap (a) dan bipartisi lengkap (b).

Bab 3. Teori Graf 108

3.3 Lintasan dan siklus

Misalkan v0 dan v v0 adalah verteks-verteks dalam sebuah graf. Sebuah


lintasan dari v v0 ke v vn dengan panjang n adalah sebuah deretan dengan
n+1 verteks dan n edge mulai dari verteks v 0 dan berakhir di vn,

(v0, e1, v1, e2,…, vn-1,en,vn),

dimana edge ei ada pada verteks vi-1 dan vi untuk i=1,2,…,n.


Contoh 3.7.
Tentukan sebuah lintasan dengan panjang 4 dari verteks 1 ke verteks 2.

3
e2
2 e3
e1
e4 4

1 e5 e6
7
e8
5 e
7
6

Gambar 3.7. Graf untuk contoh soal 3.7.

Lintasan dengan panjang 4 adalah (1,e 1,2,e2,3,e3,4,e4,2).


Sebuah graf adalah terhubung jika pada setiap verteks yang diberikan, v dan
w, ada lintasan dari v ke w. Contohnya graf pada contoh soal 3.7 adalah graf
terhubung karena ada lintasan dari v ke w yang diberikan.

Subgraf.
Misalkan G=(V,E) adalah sebuah graf. (V’,E’) adalah subgraf dari G jika:
a. V’  V dan E’  E.
Bab 3. Teori Graf 109

b. Untuk setiap edge e’E, jika e’ menghubungkan v’ dan w’, maka


v’,w’V’.

Lintasan sederhana dan siklus.


Misalkan v dan w ada dalam graf G. Sebuah lintasan sederhana dari v ke w
adalah sebuah lintasan tanpa ada verteks yang berulang. Sebuah siklus
(sirkuit) adalah sebuah lintasan dengan panjang bukan nol dari v ke v tanpa
ada edge yang berulang. Sebuah siklus sederhana adalah sebuah siklus dari
v ke v dimana, kecuali verteks awal dan terakhir, tidak ada verteks yang
berulang.


Contoh 3.8.
Perhatikan graf pada gambar 3.7. Tentukan yang mana merupakan lintasan
sederhana, siklus dan siklus sederhana?
Jawab.
Tabel berikut ini meringkaskan lintasan yang merupakan lintasan
sederhana, siklus dan siklus sederhana.

Lintasan Siklus
Lintasan Siklus?
sederhana? sederhana
(6,5,2,4,3,2,1) Tidak Tidak Tidak
(6,5,2,4) Ya Tidak Tidak
(2,6,5,2,4,3,2) Tidak Ya Tidak
(5,6,2,5) Tidak Ya Ya
(7,6) Ya Tidak Tidak

Masalah Jembatan Königsberg.


Masalah jembatan Königserg adalah masalah yang pertama kali
menggunakan graf pada tahun 1736 yang dikemukan oleh Leonhard Euler.
Di kota Königserg (sekarang Kaliningrad Rusia) ada dua pulau kecil dalam di
dalam sungai Pregel yang dihubungkan sebuah jembatan dan ada empat
jembatan lainnya menghubungkan ke dua pulau dengan daratan, seperti
ditunjukkan oleh gambar 3.8 berikut. Dimana di samping gambar tersebut
diberikan graf yang berhubungan.
Bab 3. Teori Graf 110

A
A

C
B B
C

sungai pregel
D

Gambar 3.8. Jembatan Könisberg dan representasi grafnya.

Siklus Euler
Jika sebuah graf G memiliki sebuah siklus Euler, maka G adalah graf
terhubung dan setiap verteks memiliki derajat genap. Dengan kata lain jika
G adalah graf terhubung dan setiap verteksnya berderajat genap, maka G
memiliki siklus Euler. Jika G adalah sebuah graf dengan m edge dan vertices
{v1,v2,…,vn}, maka

n
  (vi )  2m
i 1

Dengan kata lain, jumlah derajat dari semua verteks dalam graf itu adalah
genap.

Bila kita melihat graf di kanan gambar 6.8, dapat dilihat bahwa semua
verteks (A, B, C dan D) berderajat ganjil, dimana (A) = 3, (B) = 5, (C) = 3,
(D) = 3. Sehingga graf tersebut tidak memiliki siklus Euler. Pemberian
istilah siklus Euler, untuk menghormati Leonhard Euler yang pertama sekali
menulis dan menjelaskan graf berhubungan dengan jembatan Königsberg.


Contoh 3.9.
Misalkan G adalah graf pada gambar 3.8, periksalah apakah G memiliki
sebuah siklus Euler? Jika ada sebutkan salah satunya.
Bab 3. Teori Graf 111

v1

v2

v3
v5
v4

v6 v7

Gambar 3.8. Graf untuk contoh soal 3.9.

Kita melihat bahwa

(v1)=(v2)=(v3)=(v5)= 4,

dan

(v4) = 6, (v6)=(v7) = 2.

Karena semua verteks berderajat genap maka dari definisi, graf pada
gambar 3.8 memiliki siklus Euler, yaitu:

(v6,v4,v7,v5,v1,v3,v4,v1,v2, v5,v4,v2,v3,v6).

Sebuah graf mempunyai sebuah lintasan tanpa pengulangan edge dari v ke


w (vw) yang berisi semua edge dan verteks jika dan hanya jika graf itu
terhubung dan v dan w adalah semua verteks yang memiliki derajat ganjil.

Jika sebuah graf G berisi sebuah siklus dari v ke v, maka G berisi sebuah
siklus sederhana dari v ke v.
Bab 3. Teori Graf 112

3.4 Siklus Hamilton

Masalah siklus Hamilton ini pertama-tama dikemukakan oleh William R.


Hamilton sekitar pertengahan 1800 berupa sebuah teka-teki tentang
dodekahedron seperti gambar 3.9 berikut.

(a) (b) (c)

Gambar 3.9. (a) Dodekahedron, (b) Graf menyatakan (a), (c) Siklus
Hamilton.

Untuk menghormati Hamilton, siklus dalam sebuah graf G yang berisi


masing-masing verteks dalam G tepat satu kali, kecuali verteks yang
merupakan awal sikllus yang juga merupakan akhir siklus, disebut siklus
Hamilton.

Masalah the travelling salesperson berhubungan dengan masalah


mendapatkan sebuah siklus Hamilton dalam sebuah graf. Masalahnya
adalah, bila diberikan sebuah graf bernilai, maka akan ditentukan siklus
Hamilton dengan panjang lintasan minimum.

Masalah mendapat siklus Hamilton dalam sebuah graf kelihatannya mirip


dengan masalah menentukan siklus Euler dalam sebuah graf. Pada siklus
Euler, setiap edge dilewati satu kali saja, sementara pada siklus Hamilton
yang dikunjungi satu kali saja adalah verteks, sehingga sebenarnya
masalah kedua siklus ini berbeda.


Contoh 3.10.
Tentukan siklus Hamilton pada graf berikut.
Bab 3. Teori Graf 113

a b

f d
c

g e

Gambar 3.10. Graf untuk contoh soal 3.10

Jawab.
Siklus Hamilton untuk graf di atas adalah (a,b,c,d,e,f,g,a).


Contoh 3.11.
Tunjukkan bahwa graf pada gambar 3.11 berikut tidak memiliki sebuah
siklus Hamilton.

v1

v3
v4 v2

v5

Gambar 3.11: Graf untuk contoh soal 3.11

Karena ada lima verteks maka sebuah siklus Hamilton harus memiliki lima
edge. Tetapi karena pada graf di atas siklus yang akan dibentuk harus
melewati verteks dua kali hingga kembali verteks semula maka tidak ada
siklus Hamilton pada graf tersebut. Misalnya kita mulai dari v 1, sehingga
harus kembali ke v1, maka siklus yang mungkin dibuat adalah (v 1,v2,v3,v4)
kalau mau melewati v5 dan harus kembali ke v1 maka v2 harus dilewati 2
kali. Namun kalau langsung ke v 1 dari v4, maka v5 tidak akan dilewati,
sehingga tidak ada siklus Hamilton dalam graf tersebut. Ada siklus Hamilton
pada graf tersebut, maka harus ada edge yang menghubungkan verteks v 1
dan v5.

Bab 3. Teori Graf 114


Contoh 3.12.
Tunjukkan apakah graf berikut memiliki siklus Hamilton atau tidak.

a b c

d f

h i j
g k
l

m
Gambar 3.12: Graf untuk contoh soal 3.12

Misalkan graf tersebut memiliki siklus Hamilton, maka edge (a,b), (a,g), (b,c)
dan (c,k) harus dilalui, karena masing-masing verteks dalam siklus Hamilton
memiliki derajat 2. Sehingga edge (b,d) dan (b,f) tidak bagian dari siklus.
Maka edge (g,d), (d,e), (e,f) dan (f,k) harus bagian dari siklus. Dengan
meilhat graf di atas dapat diyakini bahwa graf tersebut tidak memiliki siklus
Hamilton.


Contoh 3.13: Kode Gray dan Siklus Hamilton
Misalkan G1 menyatakan barisan 0,1. Kita mendefinisikan G n dalam hal Gn-1
dengan aturan-aturan berikut:
a). Misalkan GR n 1 menyatakan barisan G n-1 yang ditulis terbalik.

'
b). Misalkan Gn 1 menyatakan barisan yang diperoleh dengan
menambahkan imbuhan pada masing-masing anggota Gn 1 dengan 0.

"
c). Misalkan Gn 1 menyatakan barisan yang diperoleh dengan
menambahkan imbuhan pada masing-masing GR
n 1 dengan 1.
Bab 3. Teori Graf 115

d). Misalkan Gn adalah barisan berisi Gn' 1 diikuti oleh Gn


"
1 .

Maka Gn adalah kode Gray untuk setiap integer n.


Maka dari definisi di atas dapat dibentuk kode gray G 3 dimulai dengan G1.

G1 0 1
R 1 0
G1
'
G1 00 01
"
G11
1 10
G1
00 01 11 10
GR
2
10 11 01 00
G'2 000 001 011 010
"
G110
2 111 101 100
G2
000 001 011 010 110 111 101 100

3.5 Algoritma lintasan terpendek

Graf dengan bobot adalah sebuah graf dimana nilai dari edges diberikan
dan bahwa panjang dalam sebuah graf berbobot adalah jumlah dari bobot
edge dalam lintasan itu. Misalkan w(i,j) adalah bobot dari edge(i,j). Kita
ingin menentukan lintasan terpendek antara dua verteks yang diberikan.
Berikut ini dituliskan algoritma yang menentukan lintasan terpendek.
Algoritma ini dikembangkan oleh E.W. Dikstra, seorang ahli pemrograman
berkebangsaan Belanda.
Bab 3. Teori Graf 116


Contoh 3.14.
Perhatikan graf berikut pada gambar 3.13(a). Tentukan lintasan terpendek
dari A ke D untuk graf tersebut. Verteks yang tidak dilingkari dan memiliki
label sementara. Verteks yang dilingkari memiliki label permanen.
Bab 3. Teori Graf 117
Bab 3. Teori Graf 118
Bab 3. Teori Graf 119

Gambar 3.13: Graf-graf untuk Langkah-langkah Dengan Menggunakan


Algoritma Dijkstra

3.6 Representasi graf

Graf pada umumnya dinyatakan dengan menggambarnya. Berikut ini


dijelaskan cara merepresentasikan graf dengan cara formal agar lebih dapat
diolah dengan komputer. Ada 3 metode yang dibahas yaitu cara matriks
berdekatan (verteks dengan verteks) dan matriks insiden (verteks dengan
edge).
Bab 3. Teori Graf 120

Matriks berdekatan.

Contoh 3.15.
Diberikan matriks pada gambar 3.14 berikut. Buatlah matriks verteks
dengan verteks.

a b

d e

Gambar 3.14 : Graf untuk contoh soal 3.15.

Matriks untuk graf di atas adalah:

a b c d e
a 0 1 0 0 1
 
b 1 0 1 0 1
c 0 1 1 0 1
 
d0 0 0 0 1
 
e 1 1 1 1 0

Perhatikan bahwa dengan menjumlahkan semua angka pada baris kita


dapat menentukan derajat dari masing-masing verteks. Misalnya derajat
dari verteks a adalah 2 dan derajat verteks e adalah 4.

Perhatikan juga bahwa representasi graf dengan cara ini memungkinkan


sebuah loop dapat direpresentasikan, akan tetapi tidak dapat
direpresentasikan edge sejajar/paralel. Tetapi jika kita memodifikasi definisi
dari matriks berdekatan ini sehingga diperbolehkan menggunakan
sembarang bilangan bulat bukan negatif sebagai masukan maka kita dapat
merepresentasikan edge sejajar.
Bab 3. Teori Graf 121

Matriks berdekatan bukanlah cara yang sangat efisien untuk


merepresentasikan sebuah graf. Karena matriks menjadi simetris sepanjang
diagonal utamanya, sehingga informasi kecuali pada diagonal utama,
muncul dua kali.


Contoh 3.16.
Tuliskan matriks berdekatan untuk graf berikut:

a b

d e

Gambar 3.15: Graf untuk contoh soal 3.16

Matriks untuk graf di atas adalah:

a b c d e
a 0 1 0 1 0
 
b 1 0 1 0 1
c 0 1 0 1 1
 
d 1 0 1 0 0
 
e 0 1 1 0 0

Jika A adalah matriks berdekatan dari sebuah graf, maka pangkat dari A:

A, A2, A3,…

menyatakan jumlah lintasan dengan berbagai panjang. Jelasnya, jika verteks


dari graf G diberi label 1,2,3,…, maka elemen ke-ij dalam matriks A n sama
dengan jumlah lintasan dari i ke j dengan panjang n. Sebagai contoh, dari
misalkan matriks di atas adalah A, maka:
Bab 3. Teori Graf 122

0 1 0 1 0 0 1 0 1 0
   
1 0 1 0 1  1 0 1 0 1
A2  0 1 0 1 1 x 0 1 0 1 1
   
1 0 1 0 0  1 0 1 0 0
   
0 1 1 0 0 0 1 1 0 0

a b c d e
a2 0 2 0 1
 
b 0 3 1 2 1
= 
c 2 1 3 0 1
 
d0 2 0 2 1
 
e 1 1 1 1 2

Dari matriks A2 di atas, perhatikan elemen baris pertama (a) dan kolom
ketiga (c), yaitu 2. Berarti ada 2 lintasan dengan panjang 2 (n=2), yaitu
(a,b,c) dan (a,d,c). Contoh lain verteks b ke b (baris 2, kolom 2), elemennya
adalah 3, maka terdapat 3 lintasan dengan panjang 2, yaitu (b,c,c), (b,a,b)
dan (b,e,b).

Jika A adalah matriks berdekatan dari sebuah graf sederhana, maka elemen
ke-ij dari An sama dengan jumlah lintasan dengan panjang n dari verteks i
ke verteks j, n=1,2,3,…

Dari contoh di atas, jika matriks dipangkat empat (n=4), maka akan didapat:

2 0 2 0 1 2 0 2 0 1
   
0 3 1 2 1 0 3 1 2 1
A 4  A 2 .A 2  2 1 3 0 1 x 2 1 3 0 1
   
0 2 0 2 1 0 2 0 2 1
   
1 1 1 1 2 1 1 1 1 2

a b c d e
a 9 3 11 1 6
 
b 3 15 7 11 8
= 
c 11 7 15 3 8
 
d 1 11 3 9 6
 
e 6 8 8 6 8
Bab 3. Teori Graf 123

Elemen baris d dan kolom e adalah 6, berarti bahwa ada 6 lintasan dengan
panjang 4 dari d ke e, yaitu: (d,a,d,c,e), (d,c,d,c,e), (d,a,b,c,e), (d,c,e,c,e),
(d,c,e,b,e) dan (d,c,b,c,e).

Matriks insiden (bersisian).


Contoh 3.17.
Diberikan graf berikut:

v1 e3 v3
e1 e2 e5
e4 e6
e7
v4 v5

Gambar 3.16 : Graf untuk soal 3.16

Matriks insiden untuk graf di atas adalah:

e1 e2 e3 e4 e5 e6 e7
a 1 1 1 0 0 0 0
 
b 0 0 1 1 1 0 1
c 0 0 0 0 0 1 0
 
d 1 1 0 1 0 0 0
 
e 0 0 0 0 1 1 0

Matriks insiden memungkinkan kita merepresentasikan edge dan loop.


Perhatikan bahwa dalam graf tanpa loop maka masing-masing kolom edge
akan memiliki dua angka 1 dan jika jumlah dari baris tertentu menyatakan
derajat dari verteks yang dinyatakan dalam baris itu.
Bab 3. Teori Graf 124

3.7 Keisomorfisan graf

Misalkan 2 orang diminta untuk menggambar graf pada kertas, dengan


instruksi: “gambar dan berikan label lima verteks a, b, c, d, dan e.
Hubungkan a dan b, b dan c, c dan d, d dan e.” Graf yang dihasilkan ke dua
orang itu mungkin berbeda seperti pada gambar berikut. Kedua graf itu
disebut isomorfis.

x1 a A
x2 y2
y3 D
e b y1
C
x3
x5
y4 y5
d x4 c E B

Gambar 3.17: 2 graf G1 dan G2 yang isormorfis.

Graf G1 dan G2 disebut isomorfis jika ada fungsi pada, satu-satu (f) dari
verteks-verteks graf G1 ke verteks-verteks graf G 2 dan fungsi pada, satu-
satu (g) dari edges graf G 1 ke edge graf G2, sehingga sebuah e ada pada v
dan w dalam G11 jika dan hanya jika g(e) ada pada f(v) dan f(w) dalam G 2.
Pasangan fungsi f dan g disebut keisomorfisan G 1 dan G2.

Keisomorfisan pada graf gambar 2.17 untuk G 1 dan G2 didefinisikan sebagai


f(a) = A, f(b) = B, f(c) = C, f(d) = D dan f(e) = E. g(x i) = yi, dimana i = 1, 2, …,5.
Jika kita mendefinisikan sebuah relasi R pada himpunan dari graf dengan
aturan G1RG2 jika G1 dan G2 adalah isomorfis, R adalah relasi ekuivalen.
Masing-masing kelas equivalensi terdiri dari sebuah himpunan graf
isomorifis yang mutual.

Misalkan G1 dan G2 adalah graf sederhana. Maka pernyataan berikut adalah


ekuivalen.
(a) G1 dan G2 adalah isomorfis.
(b) Ada fungsi f pada,satu-satu dari kumpulan verteks G 1 kepada kumpulan
verteks G2 yang memenuhi: verteks-verteks v dan w bertetangga dalam
G1 jika dan hanya jika verteks f(v) dan f(w) adalah bertetangga dalam G 2.
Bab 3. Teori Graf 125

Graf sederhana G1 dan G2 adalah isomorfis jika dan hanya jika untuk
beberapa verteks yang berurutan, matriks yang berdekatan adalah sama.


Contoh 3.18.
Lihat gambar 3.17. Tentukan matrik bertetangga untuk graf G 1 dan G2.
Jawab.
Matriks bertetangga untuk graf G 1:

a b c d e
a 0 1 0 0 1
 
b 1 0 1 0 0
c 0 1 0 1 0
 
d0 0 1 0 1
 
e 1 0 0 1 0

Matriks bertetangga untuk graf G 2:

A B C D E
A 0 1 0 0 1
 
B 1 0 1 0 0
C 0 1 0 1 0
 
D 0 0 1 0 1
 
E 1 0 0 1 0

Kita melihat bahwa kedua matriks adalah sama.


Masalah yang menarik adalah untuk menentukan apakah dua graf isomorfis
atau bukan isomorfis. Salah satu cara untuk menunjukkan bahwa dua graf
G1 dan G2 bukan isomorfis. Tentukan sifat dari G1 yang mana G2 tidak miliki,
tetapi G2 akan miliki jika G1 dan G2 isomorfis. Sifat seperti disebut invariant.
Jelasnya, sifat P adalah invarian, jika kapanpun G 1 dan G2 adalah graf
isomorfis:

Jika G1 memiliki sifat P, G2 juga memiliki sifat P.

Dari definisi, jika graf G1 dan G2 isomorfis maka ada fungsi pada, satu-satu
dari edges (verteks) G1 ke edge (verteks) G2. Sehingga jika G1 dan G2
Bab 3. Teori Graf 126

isomorfis, maka G1 dan G2 memiliki jumlah edge dan verteks yang sama.
Sehingga, jika e dan n adalah bilangan bulat bukan negatif , sifat “memiliki e
edge” dan “memiliki n verteks” adalah invarian.


Contoh 3.19.
Graf G1 dan G2 berikut bukanlah isomorfis, karena G1 memiliki tujuh edge
dan G2 memiliki enam edge dan “memiliki 7 edge” adalah sebuah invarian.

G1 G2

Gambar 3.19: Graf G1 dan G2 yang bukan isomorfis.


3.8 Graf planar

Perhatikan gambar berikut ini, misalkan pada tiga kota K 1, K2 dan K3 akan
dibangun jalan langsung dari masing-masing kota ke semua kota K 4 K5, dan
K6. Apakah mungkin membangun jalan tersebut tanpa saling-silang?
jawabannya adalah tidak mungkin, seperti ditunjukkan dalam gambar 3.20.
Dalam hal ini jalan layang tidak dimungkinkan.

K1 K2 K3

K4 K5 K6

Gambar 3.20 : Graf yang bukan planar.


Bab 3. Teori Graf 127

Sebuah graf adalah planar jika dapat digambarkan dalam bidang itu tanpa
edgenya bersilangan.

Masalah graf planar ini diterapkan dalam bidang elektronika, dimana kalau
seseorang ingin mendisain rangkaian elektronik harus diusahakan
sedemikian rupa agar garis-garis rangkaian tidak saling bersilangan,
sehingga seorang ahli disain rangkaian elektronik menghadapi masalah
planaritas.

Jika sebuah sebuah graf terhubung yang planar dibuat dalam bidang, bidang
dibagi kedalam daerah yang disebut muka (faces). Sebuah muka dicirikan
dengan sebuah lingkaran yang membentuk batasannya.


Contoh 3.20.
Perlihatkan bahwa graf berikut adalah planar.

1 2
D C
6 B
5
A
4 3

Gambar 3.21: Sebuah graf yang planar

Muka A terikat kepada siklus (5,2,3,4,5), dan muka C terikat kepada siklus
(1,2,5,1). Sedangkan muka luar D dianggap terikat kepada siklus
(1,2,3,4,6,1). Graf di atas memiliki 4 muka (f=4), 8 edge (e=8), dan 6 verteks
(v=6). Perhatikan bahwa berikut berikut berlaku:

f = e – v + 2.

Adalah Euler pada tahun 1752 yang membuktikan kebenaran rumus di atas
yang berlaku untuk setiap graf terhubung yang planar.


Contoh 3.21.
Tunjukkan bahwa graf pada gambar 3.20 dan 3.22 tidak planar.
Bab 3. Teori Graf 128

a b

e c

Gambar 3.22: Graf K5 yang bukan planar

Pada gambar 3.20, e=9 dan v=6. Karena setiap siklus paling sedikit memiliki
4 edge, maka setiap muka terikat kepada paling sedikit 4 edge. Sehingga
jumlah edge yang terikat kepada muka adalah paling sedikit 4f, karena
masing-masing edge milik dari paling banyak 2 siklus terikat. Sehingga 2e 
4f, dan 2e  4 (e-v+2), maka 18 = 2.9  4(9-6+2), atau 18  20, berarti
kontradiksi. Dengan argumen yang sama akan dapat dibuktikan bahwa graf
pada gambar 3.22 tidak planar.

3.9 Bilangan Erdos

Setiap ahli matematik memiliki sebuah bilangan Erdos. Setiap ahli


matematika yang bangka akan dirinya sendiri mengetahui bilangan
Erdosnya. Ide bilangan Erdos berasal dari banyak teman dan kolega dari ahli
matematika terkenal berkebangsaan Hungari (1913-1996), yang menulis
sekitar 1500 artikel matematik berkualitas tinggi. Bilangan Erdos adalah
sebuah ukuran dari rasa yang enak, dimana bilangan erdos yang tinggi
menyatakan rasa sangat tidak enak.

Semua sahabat-sahabat Erdos setuju bahwa hanya Erdos yang memiliki


kualifiasi bilangan Erdos = 0. Bilangan Erdos dari ahli matematika yang lain
adalah apakah bilangan integer positif atau tidak terhingga. Karena Erdos
telah memberikan kontribusi yang lebih banyak dalam hal matematika
diskrit disbanding ahli matematika lainnya, adalah tepat bahwa penggunaan
bilangan Erdos didefinisikan dalam hal teori Graf.
Bab 3. Teori Graf 129

Misalkan sebuah graf G=(V,E), dimana V adalah himpunan terbatas dari


semua ahli matematika, sekarang ini, maupun yang sudah mati. Untuk
setiap dua ahli matematika x,y  V, misalkan (x,y)  E jika dan hanya jika x
dan y memiliki sebuah artikel matematika dengan penulis bergabung
(bersama) dengan yang lain, mungkin dengan ahli matematika yang lain.
Graf G dinyatakan dalam fungsi weight w: E N. Karena Erdos tidak
menyenangi semua ketidakadilan, fungsi weight ini didefinisikan dengan
menuliskan w({x,y})=1 untuk setiap edge {x,y}  E.

Jika kita melihat pada graf ini secara hati-hati, maka tidak sulit untuk
merealisasikan bahwa graf ini tidak terhubung. Beberapa ahli matematika
tidak memiliki artikel gabungan dengan ahli matematika yang lain, dan yang
lain tidak pernah menulis sama sekali. Kemudian, banyak ahli matematika
yang berada dalam komponen berbeda dari graf berisi bilangan erdos. Ahli
matematika ini semuanya memiliki bilangan erdos .

Dan seterusnya didefinisikan bilangan-bilangan Erdos dari semua ahli


matematika yang cukup beruntung memiliki komponen yang sama dari graf
G seperti Erdos. Misalkan x  Erdos adalah seorang ahli matematika.
Panjang dari lintasan ini, yang pasti sebuah bilangan integer, tetapi
kebanyakan tertentu jumlahnya, diambil sebagai bilangan Erdos dari ahli
matematika x.

Setiap ahli matematika yang telah menulis sebuah artikel bersama dengan
Paman Paul, dengan siapa Erdos terus dikenal, memiliki bilangan erdos 1.
Setiap ahli matematika yang telah menulis sebuah artikel bersama dengan
seorang ahli matematika yang lain yang telah menulis sebuah artikel
bersama dengan Erdos, tetapi dia sendiri belum pernah menulis artikel
bersama dengan Erdos, memiliki bilangan erdos 2. Dan seterusnya.

Ringkasan bab

 Sebuah graf takberarah G terdiri dari kumpulan verteks V(v 1,v2,v3,…,vn)


atau node dan kumpulan edges E(e 1,e2,e3,…,en) sehingga masing-masing
edge e E berhubungan dengan sebuah pasangan takberaturan verteks.
Sebuah graf berarah G terdiri dari kumpulan verteks V dan kumpulan
edges E sehingga edge eE berasosiasi dengan pasangan beraturan
verteks.
Bab 3. Teori Graf 130

 Graf lengkap dengan n verteks, K n, adalah graf sederhana dengan n


verteks dimana ada edge antara setiap pasangan verteks berbeda. Graf
bipartit lengkap dengan verteks m dan n, K n,m, adalah graf sederhana
yang kumpulan verteksnya dipartisi menjadi V n dengan n verteks, dan V m
dengan m verteks yang mana ada edge antara pasangan verteks v 1 dan
v2 dimana v1 ada di V1 dan v2 ada di V2.

 Sebuah graf sederhana dari v ke w adalah sebuah lintasan tanpa verteks


berulang. Sebuah siklus adalah sebuah lintasan dengan panjang bukan
nol dari v ke w tanpa edge berulang. sebuah siklus sederhana adalah
sebuah siklus dari v ke v, kecuali dari awal dan akhir verteks yang
keduanya sama kepada v, tanpa pengulangan verteks.

 Jika graf G memiliki sebuah siklus Euler, maka G adalah graf terhubung
dan setiap verteks memiliki derajat genap. Derajat suatu verteks adalah
banyaknya edges yang terhubung kepada verteks tsb. Dalam setiap graf
ada sejumlah genap verteks yang berderajat ganjil.

 Siklus Hamilton, atau the traveling sales person, adalah siklus dimana
edge tidak berulang, tetapi semua verteks harus dilalui, kecuali verteks
awal. Kubik-n memiliki sebuah siklus Hamilton untuk setiap bilangan
integer positif n  2.

 Algoritma Djikstra adalah sebuah algoritma untuk menentukan lintasan


terpendek pada the travelling sales person problem. Algoritma ini
memiliki kompleksitas orde (n2).

 Jika A adalah matriks adjacency dari graf sederhana, maka elemen ke I


dari A sama dengan jumlah lintasan dengan panjang n dari verteks I ke
verteks j, n=1,2,….

 Graf secara khusus diaplikasikan dalam masalah menentukan lintasan


terpendek (menggunakan algoritma Dijkstra) dan menyelesaikan
masalah the travelling salesperson.
Bab 3. Teori Graf 131

Soal-soal Latihan

1. Gambarkan graf K3 dan K5.

2. Tentukan rumus untuk menentukan jumlah edge dalam K n.

3. Berikan sebuah graf bipartisi selain graf pada contoh soal 3.6.

4. Gambarkan graf K2,3 dan K3,3.

5. Tentukan rumus untuk menentukan jumlah edge dalam K m,n.

6. Tentukan biaya paling kecil yang diperlukan untuk membangun jalan


yang menghubungkan kota-kota seperti ditunjukkan graf berikut.
Vertek-verteks dalam graf menyatakan kota-kota, sedangkan edge-edge
menyatakan biaya membangun jalan yang menghubungkan kota itu.

a
10
5
b 15 c
7 30
6 5
12 e
9 d 8
20
f 14 g

7. Tentukan apakah soal (a) hingga (i) graf berikut memiliki (i) lintasan
sederhana, (ii) dan (iii) siklus sederhana.

a b

d e

a). (b,b)
b). (e,d,c,b)
Bab 3. Teori Graf 132

c) . (a,d,c,d,e)
d). (d,c,b,e,d)
e). (,c,d,a,,e,d,c,b)
f). (b,c,d,e,,b)
g). (a,d,c,b,e)
h). (d)
i). (d,c,b)

8. Untuk masing-masing soal (a) s/d (j) berikut, gambarlah sebuah yang
memiliki sifat-sifat seperti diberikan atau jelaskan mengapa tidak ada
mungkin ada graf tersebut.
a). Enam verteks masing-masing berderajat 3.
b). Lima verteks masing-masing berderajat 3.
c). Empat verteks masing-masing berderajat 1
d). Enam verteks; empat edge
e). Empat edge; empat verteks yang memiliki derajat 1,2,3,4.
f). Empat verteks memiliki derajat 1,2,3,4.
g). Graf sederhana; enam verteks yang memiliki derajat 1,2,3,4,5,5.
h). Graf sederhana; lima verteks yang memiliki derajat 2,3,3,4,4.
i). Graf sederhana; lima verteks yang memiliki derajat 2,2,4,4,4.

9. Tentukan semua siklus sederhana yang pada graf di bawah ini.

10. Tentukan apakah graf berikut memiliki siklus Euler atau tidak. Jika ada
tunjukkan salah satunya.

c d
e
a b
g f

b e f j
b d f
a d i
e g
a c

i c g h
h j k
Bab 3. Teori Graf 133

(a) (b)

11. Kapankah sebuah graf lengkap Kn berisi sebuah siklus Euler?

12. Kapankah sebuah graf bipartit lengkap K m,n berisi sebuah siklus Euler?

13. Tentukan apakah pernyataan berikut benar atau salah. Jika salah
berikan contoh yang membenarkannya:
a. Misalkan G adalah graf dan v dan w adalah verteks yang berbeda. Jika
ada lintasan dari v ke w, maka ada lintasan sederhana dari v ke w.
b. Jika sebuah graf berisi sebuah siklus yang berisi semua edge, siklus itu
adalah siklus Euler.

14. Misalkan G adalah graf terhubung. Misalkan juga bahwa sebuah edge e
ada dalam siklus. Tunjukkan bahwa jika e dibuang G masih graf
terhubung.

15. Tunjukkan bahwa ada 125 spanning tree yang berbeda dari graf lengkap
K5.