Anda di halaman 1dari 48

G RAF

ELVIA BUDIANITA, ST
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS & TEKNOLOGI
UIN SUSKA RIAU

SEJARAH GRAF

Graf digunakan untuk merepresentasikan objek-objek diskrit dan


hubungan antara objek-objek tersebut.
Sejarah graf : masalah jembatan Knigsberg (tahun 1736)
C

Graf yang merepresentasikan jembatan Knigsberg

Simpul (vertex) menyatakan daratan


Sisi (edge)
menyatakan jembatan

Bisakah melalui setiap jembatan tepat sekali dan kembali lagi ke


tempat semula?
m7_matdis / LKW / 2007

DEFINISI GRAF

Graf G = (V, E), yang dalam hal ini:


V

= himpunan tidak-kosong dari simpul-simpul


(vertices) = { v1 , v2 , ... , vn }

= himpunan sisi (edges) yang menghubungkan


sepasang simpul = {e1 , e2 , ... , en }
1

1
e

2
e

1
e

e
3

(b) graf ganda,

e
5

(a) graf sederhana

(c) graf semu

m7_matdis / LKW / 2007

1
e

2
e

1
e

e
3

e
5

3
6

2
e

e
5

Pada G2, sisi e3 = (1, 3) dan sisi e4 = (1, 3) dinamakan


sisi-ganda (multiple edges atau paralel edges) karena
kedua sisi ini menghubungkan dua buah simpul yang
sama, yaitu simpul 1 dan simpul 3.
Pada G3, sisi e8 = (3, 3) dinamakan gelang atau kalang
(loop) karena berawal dan berakhir pada simpul yang
sama.
Graf yang hanya mempunyai 1 simpul tanpa sebuah sisipun disebut graf trivial
m7_matdis / LKW / 2007

JENIS GRAF
Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf,
maka graf digolongkan menjadi dua jenis:
1. Graf sederhana (simple graph).
Graf yang tidak mengandung gelang maupun sisi-ganda.
Contoh : G1
2. Graf tak-sederhana (unsimple-graph).
Graf yang mengandung sisi ganda atau gelang.
Contoh : G2 dan G3

m7_matdis / LKW / 2007

JENIS GRAF
Berdasarkan jumlah simpul pada suatu graf, maka secara umum
graf dapat digolongkan menjadi dua jenis:
1. Graf berhingga (limited graph)
graf yang jumlah simpulnya, n, berhingga.
2. Graf tak-berhingga (unlimited graph)
Graf yang jumlah simpulnya, n, tidak berhingga banyaknya

Berdasarkan orientasi arah pada sisi, maka secara umum graf


dibedakan atas 2 jenis :
1. Graf tak-berarah (undirected graph)
Graf yang sisinya tidak mempunyai orientasi arah.
2. Graf berarah (directed graph atau digraph)
Graf yang setiap sisinya diberikan orientasi arah

m7_matdis / LKW / 2007

CONTOH TERAPAN GRAF


1.

Rangkaian listrik
A

2.

Transaksi konkuren pada basis data terpusat


Transaksi T0 menunggu transaksi T1 dan T2

T1

Transaksi T2 menunggu transaksi T1


Transaksi T1 menunggu transaksi T3

T3

T0

Transaksi T3 menunggu transaksi T2


T2

deadlock!

m7_matdis / LKW / 2007

TERMINOLOGI GRAF
1

e
2

e
1

3
4

1. Ketetanggaan (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.
2. Bersisian (Incidency)
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 dengan simpul 2 dan simpul 4, tetapi sisi (1, 2) tidak bersisian
dengan simpul 4.

m7_matdis / LKW / 2007

TERMINOLOGI GRAF
1

e2

e4

e3

e1

e5

3
2

3. Simpul Terpencil (Isolated Vertex)


Simpul terpencil ialah simpul yang tidak mempunyai sisi yang bersisian
dengannya.
Tinjau graf G3: simpul 5 adalah simpul terpencil.
4. Graf Kosong (null graph atau empty graph)
Graf yang himpunan 1sisinya merupakan himpunan kosong (Nn).
Graf N5 :

2
5
3

m7_matdis / LKW / 2007

TERMINOLOGI GRAF
5. Derajat (Degree)
Derajat suatu simpul adalah jumlah sisi yang bersisian dengan simpul tersebut.
Notasi: d(v)
Tinjau graf G1:
Tinjau graf G3:
d(1) = d(4) = 2d(5) = 0 simpul terpencil
d(2) = d(3) = 3d(4) = 1 simpul anting-anting (pendant vertex)
Tinjau graf G2:
d(1) = 3 bersisian dengan sisi ganda
d(2) = 4 bersisian dengan sisi gelang (loop)
Pada graf berarah, d(v) = din(v) + dout(v )
din(v) = derajat-masuk (in-degree) = jumlah busur yang masuk ke simpul v
dout(v) = derajat-keluar (out-degree) = jumlah busur yang keluar dari simpul v

m7_matdis / LKW / 2007

10

TERMINOLOGI GRAF

Lemma Jabat Tangan. Jumlah derajat semua simpul pada suatu graf
adalah genap, yaitu dua kali jumlah sisi pada graf tersebut.

d (v ) 2 E
Dengan kata lain, jika G = (V, E), maka
vV
Tinjau graf G1:
d(1) + d(2) + d(3) + d(4) = 2 + 3 + 3 + 2 = 10 = 2 jumlah sisi = 2 5
Contoh : Diketahui graf dengan lima buah simpul. Dapatkah kita
menggambar graf tersebut jika derajat masing-masing simpul adalah:
(a) 2, 3, 1, 1, 2
(b) 2, 3, 3, 4, 4
Penyelesaian:
a. tidak dapat, karena jumlah derajat semua simpulnya ganjil
(2 + 3 + 1 + 1 + 2 = 9).
b. dapat, karena jumlah derajat semua simpulnya genap
(2 + 3 + 3 + 4 + 4 = 16).
m7_matdis / LKW / 2007

11

TERMINOLOGI GRAF
6. Lintasan (Path)
Lintasan yang panjangnya n dari simpul awal v0 ke simpul tujuan vn di dalam graf G
ialah barisan berselang-seling simpul-simpul dan sisi-sisi yang berbentuk v0, e1, v1, e2,
v2,... , vn 1, en, vn sedemikian sehingga e1 = (v0, v1), e2 = (v1, v2), ... , en = (vn-1, vn) adalah
sisi-sisi dari graf G.
Tinjau graf G1: lintasan 1, 2, 4, 3 adalah lintasan dengan barisan sisi (1,2), (2,4),
(4,3).
Panjang lintasan adalah jumlah sisi dalam lintasan tersebut. Lintasan 1, 2, 4, 3 pada
G1 memiliki panjang 3.
Lintasan sederhana jika semua simpulnya berbeda / setiap sisi hanya dilewati 1
kali
Lintasan tertutup / sirkuit lintasan yang berawal dan berakhir pada simpul yang
sama
7. Siklus (Cycle) atau Sirkuit (Circuit)
Lintasan yang berawal dan berakhir pada simpul yang sama disebut sirkuit atau
siklus.
Tinjau graf G1: 1, 2, 3, 1 adalah sebuah sirkuit.
Panjang sirkuit adalah jumlah sisi dalam sirkuit tersebut. Sirkuit 1, 2, 3, 1 pada G1
memiliki panjang 3.

m7_matdis / LKW / 2007

12

TERMINOLOGI GRAF
8. 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).
Contoh graf tak-terhubung: G3
Graf berarah G dikatakan terhubung jika graf tidak berarahnya terhubung
(graf tidak berarah dari G diperoleh dengan menghilangkan arahnya).
Dua simpul, u dan v, pada graf berarah G disebut terhubung kuat (strongly
connected) jika terdapat lintasan berarah dari u ke v dan juga lintasan
berarah dari v ke u.
m7_matdis / LKW / 2007

13

TERMINOLOGI GRAF
1
1
2

2
3

graf berarah terhubung lemah

graf berarah terhubung kuat

Jika u dan v tidak terhubung kuat tetapi terhubung pada graf tidak
berarahnya, maka u dan v dikatakan terhubung lemah (weakly
coonected).
Graf berarah G disebut graf terhubung kuat (strongly connected
graph) apabila untuk setiap pasang simpul sembarang u dan v di G,
terhubung kuat. Kalau tidak, G disebut graf terhubung lemah.

m7_matdis / LKW / 2007

14

TERMINOLOGI GRAF
9. Upagraf (Subgraph) dan Komplemen Upagraf
Misalkan G = (V, E) adalah sebuah graf. G1 = (V1, E1) adalah upagraf
(subgraph) dari G jika V1 V dan E1 E.
Komplemen dari upagraf G1 terhadap graf G adalah graf G2 = (V2, E2)
sedemikian sehingga E2 = E - E1 dan V2 adalah himpunan simpul yang
anggota-anggota E2 bersisian dengannya.
2

1
3

(a) Graf G1

6
2

(b) Sebuah upagraf

m7_matdis / LKW / 2007

(c) komplemen dari upagraf (b)

15

10. Upagraf Rentang (Spanning Subgraph)


Upagraf G1 = (V1, E1) dari G = (V, E) dikatakan upagraf rentang jika
V1 =V (yaitu
G1 mengandung semua simpul dari G).
1
1

graf G

upagraf rentang dari G

bukan upagraf rentang dr G

11. 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.
m7_matdis / LKW / 2007

16

TERMINOLOGI GRAF
12. Graf Berbobot (Weighted Graph)
Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga
(bobot).
a
10
e
15

12
8

b
9

11
d

14

m7_matdis / LKW / 2007

17

REPRESENTASI GRAF
1.

Matriks ketetanggaan (adjacency matrix)

A = [aij],
1, jika simpul i dan j bertetangga
aij =
0, jika simpul i dan j tidak bertetangga

Matriks ketetanggaan untuk graf sederhana dan tidak berarah


selalu simetri. Diagonal utamanya selalu 0 karena tidak ada
gelang / loop.

m7_matdis / LKW / 2007

18

MATRIKS KETETANGGAAN

A = [aij],
1, jika simpul i dan j bertetangga
aij =
0, jika simpul i dan j tidak bertetangga

m7_matdis / LKW / 2007

19

MATRIKS KETETANGGAAN (2)

Matriks ketetanggaan dengan nilai


0-1 tidak dapat digunakan untuk
merepresentasikan graf yang
mengandung sisi ganda.

Untuk menyiasatinya, elemen aij =


jumlah sisi yang berasosiasi
dengan (vij, vj).

Untuk graf semu, gelang pada


simpul vi dinyatakan dengan nilai 1
pada posisi (i,i) di matriks.

m7_matdis / LKW / 2007

20

MATRIKS KETETANGGAAN (3)

Derajat tiap simpul i dapat dihitung dari matriks


(a) Untuk graf tak-berarah,

(b) Untuk graf berarah,


din (vj) = jumlah nilai pada kolom j =
dout (vi) = jumlah nilai pada baris i =

m7_matdis / LKW / 2007

21

MATRIKS KETETANGGAAN (4)

Untuk graf berbobot, aij menyatakan


bobot sisi yang menghubungkan
simpul i dan j.

m7_matdis / LKW / 2007

22

REPRESENTASI GRAF
2.

Matriks bersisian (incidency matrix)

A = [aij],
1, jika simpul i bersisian dengan sisi j
aij =
0, jika simpul i tidak bersisian dengan sisi j

m7_matdis / LKW / 2007

23

MATRIKS BERSISIAN

Dapat digunakan untuk merepresentasikan graf yang


mengandung sisi ganda atau gelang.

Derajat tiap simpul menghitung jumlah seluruh


elemen pada baris I, kecuali pada graf yang
mengandung gelang.

m7_matdis / LKW / 2007

24

REPRESENTASI GRAF
3.

Senarai ketetanggaan (adjacency list)

m7_matdis / LKW / 2007

25

GRAF ISOMORFIK

Dua buah graf yang sama tetapi secara geometri berbeda disebut
graf yang saling isomorfik.

Definisi : Dua buah graf, G1 dan G2 dikatakan isomorfik jika


terdapat korespondensi satu-satu antara simpul-simpul keduanya
dan antara sisi-sisi keduaya sedemikian sehingga hubungan
kebersisian tetap terjaga.

Dengan kata lain, misalkan sisi e bersisian dengan simpul u dan v di


G1, maka sisi e yang berkoresponden di G2 harus bersisian
dengan simpul u dan v yang di G2.

Graf isomorfik dapat dilihat dari kesamaan matriks ketetanggaan


kedua graf tersebut.
m7_matdis / LKW / 2007

26

GRAF ISOMORFIK
3

G1 isomorfik dengan G2.


4

G1 tidak isomorfik dengan G3

G1

G2

G3
z

e
c
b

G1

G2

m7_matdis / LKW / 2007

27

GRAF ISOMORFIK

Dari definisi graf isomorfik dapat dikemukakan bahwa dua buah graf
isomorfik memenuhi ketiga syarat berikut:
1. Mempunyai jumlah simpul yang sama.
2. Mempunyai jumlah sisi yang sama
3. Mempunyai jumlah simpul yang sama berderajat tertentu

Namun, ketiga syarat ini ternyata belum cukup menjamin.


Pemeriksaan secara visual perlu dilakukan.

m7_matdis / LKW / 2007

28

GRAF PLANAR

Graf yang dapat digambarkan pada bidang datar dengan sisi-sisi


tidak saling memotong disebut sebagai graf planar, jika tidak, ia
disebut graf tak-planar.

PLANAR

m7_matdis / LKW / 2007

TAK PLANAR

29

GRAF PLANAR

Sisi-sisi pada graf planar membagi bidang menjadi


beberapa wilayah (region) atau muka (face).
R
R

6 wilayah (termasuk wilayah terluar)

Jumlah wilayah (f) pada graf planar sederhana dapat


dihitung dengan Rumus Euler :
n e + f = 2 atau f = e n + 2
e = jumlah sisi
n = jumlah simpul
m7_matdis / LKW / 2007

30

PELAJARI :

TEOREMA KURATOWSKI
HOMEOMORFIK
DUAL GRAPH

m7_matdis / LKW / 2007

31

LINTASAN DAN SIRKUIT EULER

Ingat : masalah jembatan Konigsberg!


Lintasan Euler adalah lintasan yang melalui masingmasing sisi di dalam graf tepat satu kali.
Sirkuit Euler ialah sirkuit yang melewati masing-masing
sisi tepat satu kali.
Graf yang memiliki sirkuit Euler disebut graf Euler.
Graf yang memiliki lintasan Euler disebut graf semi
Euler.

m7_matdis / LKW / 2007

32

CONTOH
2

(a)

(b)

2
(c)

3
5

a
(d)

(e)

(f)

Lintasan Euler pada graf Gambar (a) : 3, 1, 2, 3, 4, 1


Lintasan Euler pada graf Gambar (b) : 1, 2, 4, 6, 2, 3, 6, 5, 1, 3
Sirkuit Euler pada graf Gambar (c) : 1, 2, 3, 4, 7, 3, 5, 7, 6, 5, 2, 6, 1
Sirkuit Euler pada graf Gambar (d) : a, c, f, e, c, b, d, e, a, d, f, b, a
Graf (e) dan (f) tidak mempunyai lintasan maupun sirkuit Euler

m7_matdis / LKW / 2007

33

SYARAT PERLU LINTASAN & SIRKUIT


EULER

Teorema :

Graf tidak berarah memiliki lintasan Euler jika dan hanya jika
terhubung dan memiliki dua buah simpul berderajat ganjil atau
tidak ada simpul berderajat ganjil sama sekali.

Graf tidak berarah G adalah graf Euler (memiliki sirkuit Euler)


jika dan hanya jika setiap simpul berderajat genap.

Graf berarah G memiliki sirkuit Euler jika dan hanya jika G


terhubung dan setiap simpul memiliki derajat-masuk dan derajatkeluar sama.
G memiliki lintasan Euler jika dan hanya jika G terhubung dan
setiap simpul memiliki derajat-masuk dan derajat-keluar sama
kecuali dua simpul, yang pertama memiliki derajat-keluar satu
lebih besar derajat-masuk, dan yang kedua memiliki derajatmasuk satu lebih besar dari derajat-keluar.
m7_matdis / LKW / 2007

34

LINTASAN DAN SIRKUIT HAMILTON

Lintasan Hamilton ialah lintasan yang melalui tiap


simpul di dalam graf tepat satu kali.
Sirkuit Hamilton ialah sirkuit yang melalui tiap simpul di
dalam graf tepat satu kali, kecuali simpul asal (sekaligus
simpul akhir) yang dilalui dua kali.
Graf yang memiliki sirkuit Hamilton dinamakan graf
Hamilton, sedangkan graf yang hanya memiliki lintasan
Hamilton disebut graf semi-Hamilton.

m7_matdis / LKW / 2007

35

CONTOH
1

(a) graf yang memiliki lintasan Hamilton (misal: 3, 2, 1, 4)


(b) graf yang memiliki lintasan Hamilton (1, 2, 3, 4, 1)
(c) graf yang tidak memiliki lintasan maupun sirkuit Hamilton

m7_matdis / LKW / 2007

36

BEBERAPA TEORI TTG LINTASAN /


SIRKUIT HAMILTON

Teorema Dirac
Graf sederhana G dengan n ( 3) buah simpul adalah graf
Hamilton, bila derajat tiap simpul paling sedikit n/2 (yaitu,
d(v) n/2 untuk setiap simpul v di G).
Setiap graf lengkap adalah graf Hamilton.
Di dalam graf lengkap G dengan n buah simpul (n 3),
terdapat (n - 1)!/2 buah sirkuit Hamilton.
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.
m7_matdis / LKW / 2007

37

APLIKASI GRAF
1.
2.
3.
4.

Lintasan terpendek
Persoalan pedagang keliling
Persoalan tukang pos Cina
Pewarnaan graf

m7_matdis / LKW / 2007

38

LINTASAN TERPENDEK

graf berbobot (weighted graph),


lintasan terpendek: lintasan yang memiliki total
bobot minimum.
Contoh aplikasi:
Menentukan

jarak terpendek/waktu tempuh


tersingkat/ongkos termurah antara dua buah kota
Menentukan waktu tersingkat pengiriman pesan
(message) antara dua buah terminal pada jaringan
komputer.

m7_matdis / LKW / 2007

39

CONTOH

Diberikan graf berbobot G = (V, E) dan sebuah simpul a.


Tentukan lintasan terpendek dari a ke setiap simpul
lainnya di G. Asumsi yang kita buat adalah bahwa
semua sisi berbobot positif.
45
1

50
40

20

15

10

15

10

20

35

m7_matdis / LKW / 2007

30

40

CONTOH

45
1

50
40

20

15

10

15

10

20

35

m7_matdis / LKW / 2007

30

41

LINTASAN TERPENDEK : Alg. Djikstra

Untuk mencari lintasan terpendek : alg. Djikstra


Properti algoritma Dijkstra:
1. Matriks ketetanggaan M[mij]
mij = bobot sisi (i, j) (pada graf tak-berarah mij = mji )
mii = 0
mij = , jika tidak ada sisi dari simpul i ke simpul j
2. Larik S = [si] yang dalam hal ini,
si = 1, jika simpul i termasuk ke dalam lintasan terpendek
si = 0, jika simpul i tidak termasuk ke dalam lintasan
terpendek
3. Larik/tabel D = [di] yang dalam hal ini,
di = panjang lintasan dari simpul awal s ke simpul i
m7_matdis / LKW / 2007

42

LINTASAN TERPENDEK : Alg. Djikstra


(Mencari lintasan terpendek dari simpul a ke semua simpul lain }
Langkah 0 (inisialisasi):
inisialisasi si = 0 dan di = mai untuk i = 1, 2, ..., n

Langkah 1:
isi sa dengan 1 (karena simpul a adalah simpul asal lintasan
terpendek, jadi sudah pasti terpilih)
isi da dengan (tidak ada lintasan terpendek dari simpul a ke a)

Langkah 2, 3, ..., n-1:


cari j sedemikian sehingga sj = 0 dan dj = min{d1, d2, ..., dn}

isi sj dengan 1

perbarui di, untuk i = 1, 2, 3, , n dengan:


di (baru) = min{di (lama), dj + mji }.
m7_matdis / LKW / 2007

43

45
1

50
40

20

15

10

15

10

20

35

Tentukan lintasan terpendek dari simpul 1 ke


semua simpul lain.

30

m7_matdis / LKW / 2007

44

Jadi, lintasan terpendek dari:


1 ke 3 adalah 1, 3 dengan panjang = 10
1 ke 4 adalah 1, 3, 4 dengan jarak = 25
1 ke 2 adalah 1, 3, 4, 2 dengan jarak = 45
1 ke 5 adalah 1, 5 dengan jarak = 45
1 ke 6 tidak ada

m7_matdis / LKW / 2007

45

PERSOALAN PEDAGANG KELILING


(Travelling Salesperson Problem - TSP)

Diberikan sejumlah kota dan jarak antar kota. Tentukan sirkuit


terpendek yang harus dilalui oleh seorang pedagang bila pedagang
itu berangkat dari sebuah kota asal dan menyinggahi setiap kota
tepat satu kali dan kembali lagi ke kota asal keberangkatan.

menentukan sirkuit Hamilton yang memiliki bobot minimum.

Aplikasi TSP:
Pak Pos mengambil surat di kotak pos yang tersebar pada n
buah lokasi di berbagai sudut kota.
Lengan robot mengencangkan n buah mur pada beberapa buah
peralatan mesin dalam sebuah jalur perakitan.
Produksi n komoditi berbeda dalam sebuah siklus.
m7_matdis / LKW / 2007

46

PERSOALAN TUKANG POS CINA


(CHINESE POSTMAN PROBLEM)

Dikemukakan oleh Mei Gan (berasal dari Cina) pada


tahun 1962.
Masalahnya adalah sebagai berikut: seorang tukang pos
akan mengantar surat ke alamat-alamat sepanjang jalan
di suatu daerah. Bagaimana ia merencanakan rute
perjalanannya supaya ia melewati setiap jalan tepat
sekali dan kembali lagi ke tempat awal keberangkatan.
menentukan sirkuit Euler di dalam graf.

m7_matdis / LKW / 2007

47

PEWARNAAN GRAF

Tiga macam persoalan dalam pewarnaan graf :

Pewarnaan simpul
Pewarnaan wilayah
Pewarnaan sisi

Pewarnaan simpul : memberi warna pada simpul-simpul


di dalam graf sehingga tiap 2 simpul bertetangga
mempunyai warna yang berbeda.
Aplikasi : pewarnaan peta

m7_matdis / LKW / 2007

48

Anda mungkin juga menyukai