Anda di halaman 1dari 10

TUGAS MAKALAH

ALGORITMA DAN STRUKTUR DATA LANJUT


GRAF

Disusun Oleh :
Daniel Abdi P. 672008224
Indra Hari S 672008224
Melany Wulandari 672008196
Murniati 672008238

FAKULTAS TEKNOLOGI INFORMASI


UNIVERSITAS KRISTEN SATYA WACANA
SALATIGA
TEORI GRAF

Secara dasar, graf adalah suatu diagaram 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 obyek-obyek agar lebih mudah
dimengerti. 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. Graf struktur sebuah organisasi
dan peta beberapa daerah tampak pada gambar 1.

Ketua I Ketua II
Ketua I Ketua II

Seksi Seksi Seksi


Seksi Dana Seksi Acara Seksi Seksi Sekretariat Seksi
Seksi Dana Seksi Acara Konsumsi Perlengkapan Sekretariat Keamanan
Konsumsi Perlengkapan Keamanan

Gambar 1

200 B
A 50
180 100
75 D
60
C E
Gambar 2

Tiap-tiap diagram memuat sekumpulan obyek (kotak, titik, dan lain-lain)


beserta garis-garis yang menghubungkan obyek-obyek tersebut. Garis bisa
berarah ataupun tidak berarah. Garis yang berarah biasanya digunakan untuk
menyatakan hubungan yang mementingkan urutan antar objek-objek. Urut-
urutan objek akan mempunyai arti yang lain jika arah garis diubah. Sebagai
contoh adalah garis komando yang menghubungkan titik-titik struktur sebuah
organisasi. Sebaliknya, garis yang tidak berarah digunakan untuk
menyatakan hubungan antar objek-objek yang tidak mementingkan urutan.
Sebagai contoh adalah garis untuk menyatakan jarak hubung 2 kota pada
gambar 2. Jarak dari kota A ke kota B sejauh 200 km akan sama dengan
jarak dari kota B ke kota A. Apabila jarak 2 tempat tidak sama jika dibalik
(misalnya karena harus melalui jalan memutar), maka garis yang digunakan
haruslah garis yang berarah.
Dalam bab ini, graf akan dibahas secara teoretis, baik graf secara
umum maupun Tree (pohon) yang merupakan kasus khusus graf yang
banyak dipakai dalam ilmu komputer. Terminologi yang dipakai dalam teori
graf tidak baku. Dalam buku yang berbeda, sebuah simbol mungkin
menyatakan beberapa hal yang berbeda. Hal ini bisa dimaklumi mengingat
luasnya aplikasi graf dalam berbagai bidang. Dalam buku ini, diusahakan
agar definisi-definisi maupun simbol-simbol yang digunakan merupakan
definisi-definisi dan simbol-simbol yang biasa dipakai.
1. Dasar-Dasar Graf

Definisi
Suatu graf G terdiri dari 2 himpunan yng berhingga, yaitu himpunan titik-titik
tidak kosong (simbol V(G)) dan himpunan garis-garis (simbol E(G)).

Setiap garis berhubungan dengan satu atau dua titik. Titik-titik tersebut
dinamakan Titik Ujung. Garis yang hanya berhubungan dengan satu titik
ujung disebut Loop. Dua garis berbeda yang menghubungkan titik yang sama
disebut Garis Paralel.
Dua titik dikatakan berhubungan (adjacent) jika ada garis yang
menghubungkan keduanya. Titik yang tidak mempunyai garis yang
berhubungan dengannya disebut Titik Terasing (Isolating Point)

Graf yang tidak mempunyai titik (sehingga tidak mempunyai garis) disebut
Graf Kosong.
Jika semua garisnya berarah maka graf-nya disebut Graf Berarah (Directed
Graph, atau sering disingkat Digraph). Jika semua garisnya tidak berarah,
maka graf-nya disebut Graf Tak Berarah (Undirected Graph). Dalam bab ini,
jika hanya disebutkan graf saja, maka yang dimaksud adalah graf tak
berarah.

Contoh
Ada 7 kota (A,...,G) yang beberapa diantaranya dapat dihubungkan secara
langsung dengan jalan darat. Hubungan-hubungan langsung yang dapat
dilakukan adalah sebagai berikut:
A dengan B dan D
B dengan D
C dengan B
E dengan F
Buatlah graf yang menunjukkan keadaan transportasi di 7 kota tersebut.

Penyelesaian :
Misalkan kota-kota dianggap sebagai titik-titik. Dua titik/kota dihubungkan
dengan garis bila dan hanya bila ada jalan yang menghubungkan langsung
kedua kota tersebut. Dengan demikian, keadaan transportasi di 7 kota dapat
dinyatakan dalam gambar 3.
B E
e1 e4
e5 G
A e3 C
e2 F
D
Gambar 3

Dalam graf tersebut e1 berhubungan dengan titik A dan B (keduanya disebut


titik ujung e1). Titik A dan B dikatakan berhubungan, sedangkan titik A dan C
tidak berhubungan karena tidak ada garis yang menghubungkannya secara
langsung.
Titik G adalah titik terasing karena tidak ada garis yang berhubungan dengan
G. dalam interpretasinya, kota G merupakan kota yang terasing karena tidak
dapat dikunjungi dari kota-kota lain dengan jalan darat.

Contoh
Dalam graf G pada gambar 4, tentukan :
a. Himpunan titik-titik, himpunan garis-garis, titik-titik ujung masing-masing
garis, dan garis paralel.
b. Loop dan titik terasing. v
1 v5
v4 e5
e1 e3
e2 v6
v2 e4 v3
Gambar 4

Penyelesaian :
a. V(G) = {v1, v2, v3, v4, v5, v6}
E(G) = {e1, e2, e3, e4, e5, e6, e7}

Titik-titik ujung masing-masing garis adalah sebagai berikut :


Garis Titik Ujung
e1 {v1,v2}
e2 {v1,v2}
e3 {v1,v3}
e4 {v2,v3}
e5 {v4,v5}
e6 {v5}
e7 {v3}

Garis paralel adalah e1 dan e2 yang keduanya menghubungkan titik v1


dan v2.
b. Loop adalah e6 dan e7, sedangkan titik terasing adalah titik v6.

Dalam graf tak berarah, garis e dengan titik ujung (v,w) menyatakan suatu
garis yang menghubungkan titik v dengan titik w. Dalam graf berarah, garis
tersebut menyatakan garis dari titik v ke titik w.

Dengan diketahuinya graf, maka himpunan garis, titik serta titik-titik ujungnya
adalah tunggal. Tetapi hal ini tidak berlaku sebaliknya. Dengan diketahuinya
himpunan garis, titik dan titik-titik ujung garis, maka kita dapat membentuk
beberapa graf yang “berbeda”. Perbedaan graf-graf tersebut terletak pada
panjang garis, kelengkungan garis, dan posisi titik yang berbeda antara satu
graf dengan graf yang lainnya.

Tetapi karena visualisasi titik dan garis (panjang garis, kelengkungan posisi
titik dan lain-lain) tidak berpengaruh, maka graf-graf tersebut merupakan graf
yang sama meskipun secara visual tampak berbeda.
Contoh
Gambarlah graf G dengan titik dan garis berikut ini
V(G) = {v1, v2, v3, v4}
E(G) = {e1, e2, e3, e4, e5}
Titik-titik ujung garis adalah :
Garis Titik Ujung
e1 {v1,v3}
e2 {v2,v4}
e3 {v1}
e4 {v2,v4}
e5 {v3}

Penyelesaian :
Ada banyak graf yang dapat dibentuk. Semua graf tersebut sebenarnya
menggambarkan objek yang sama, tetapi tampak berbeda karena letak titik,
panjang garis dan kelengkungannya berbeda. Dua diantara graf-graf tersebut
tampak pada gambar 5 dan 6

e3 v2 v2
v1 e3 v e v
e1 e2 e4 1 1 3 e5
v3 e2 e4
e5 v4 v4

Gambar 5 gambar 6
Graf juga banyak dipakai untuk membantu menyelesaikan masalah-
masalah yang berhubungan dengan Kecerdasan Buatan (Artificial
Intelligence), seperti dalam contoh 4, yang merupakan suatu teka-teki yang
banyak dipakai sebagai ilustrasi. Dalam hal ini, graf digunakan untuk
menyatakan hubungan-hubungan yang terjadi di antara objek-objek. Dengan
cara itu, deduksi ke kesimpulan akan lebih mudah dibuat.
2.1. Graf Bipartite

Definisi
Graf Sederhana (Simple Graph) adalah graf yang tidak mempunyai loop
ataupun garis paralel.

Contoh
Gambarlah semua graf sederhana yang dapat dibentuk dari 4 titik {a, b, c, d}
dan 2 garis

Penyelesaian :
Sebuah garis dalam graf sederhana selalu berhubungan dengan 2 buah titik.
4  4!
Karena ada 4 titik, maka ada   = = 6 garis yang mungkin dibuat, yaitu
 2  2! 2!
garis-garis yang titik-titik ujungnya adalah {a, b}, {a, c}, {a, d}, {b, c}, {b, d},
dan {c,d}.
Dari keenam garis yang mungkin tersebut, selanjutnya dipilih 2 diantaranya.
6  6!
Jadi ada   = = 15 buah graf yang mungkin dibentuk. Graf-graf
 2  2! 4!
tersebut dapat dilihat pada gambar 10.

a b a b a b a b a b

c d c d c d c d c d

a b a b a b a b a b

c d c d c d c d c d

a b a b a b a b a b

c d c d c d c d c d
Gambar 10

Definisi

Graf Lengkap (Complete Graph) dengan n titik (simbol Kn) adalah graf
sederhana dengan n titik, di mana setiap 2 titik berbeda dihubungkan dengan
suatu garis.

Teorema
n( n −1)
Banyaknya garis dalam suatu graf lengkap dengan n titik adalah
2
buah

Bukti
Misalkan G adalah suatu graf lengkap dengan n titik v1, v2,..., vn.
Ambil sembarang titik (sebutlah v1). Karena G merupakan graf lengkap, maka
v1 dihubungkan dengan (n-1) titik lainnya (v2, v3, ... , vn). Jadi ada (n-1) buah
garis.
Selanjutnya, ambil sembarang titik kedua (sebutlah v2). Karena G adalah graf
lengkap, maka v2 juga dihubungkan dengan semua titik sisanya (v1, v3, ..., vn),
sehingga ada (n-1) buah garis yang berhubungan dengan v 2. Salah satu garis
tersebut menghubungkan v2 dengan v1. Garis ini sudah diperhitungkan pada
waktu menghitung banyaknya garis yang berhubungan dengan v 1. Jadi, ada
(n-2) garis yang belum diperhitungkan.
Proses dilanjutkan dengan menghitung banyaknya garis yang berhubungan
dengan v3, v4, ..., vn-1 dan yang belum diperhitungkan sebelumnya. Banyak
garis yang didapat berturut-turut adalah : (n-3), (n-4), ...,3,2,1.
n( n −1)
Jadi secara keseluruhan terdapat (n-1) + (n-2) + (n-3) + ... + 2 + 1 =
2
buah garis.

Contoh
Gambarlah K2, K3, K4, K5, dan K6 !

Penyelesaian :

K2 K3 K4 K5 K6
Gambar 11

2.2. Komplemen Graf

Definisi
Komplemen suatu graf G (simbol G ) dengan n titik adalah suatu graf dengan
:
1. Titik-titik G sama dengan titik-titik G. Jadi V (G ) =V ( G )
2. Garis-garis G adalah komplemen garis-garis G terhadap Graf
Lengkapnya (Kn)
E (G ) = E ( K n ) − E ( G )

Titik-titik yang dihubungkan dengan garis dalam G tidak terhubung


dalam G . Sebaliknya, titik-titik yang tidak terhubung dalam G menjadi
terhubung dalam G .

Contoh
Gambarlah komplemen graf G yang didefinisikan dalam gambar 8.10 di
bawah ini !

a b b f a b

c d c e d c

d
e
(a) (b) (c)
Gambar 14
Penyelesaian:
Titik-titik dalam G sama dengan titik-titik dalam G, sedangkan garis-garis
dalam G adalah garis-garis yang tidak berada dalam G.

Pada gambar 14 (a), titik-titik yang tidak dihubungkan dengan garis dalam G
adalah garis dengan titik ujung {a, d}, {a, e}, {b, c}, dan {b, e}.

Maka graf G dapat digambarkan pada gambar 14 (a). Secara analog, G


gambar 14 (b) dan 14 (c) dapat digambarkan pada gambar 15 (b) dan (c).

a b b f a b

c d c e d c

e d

(a) (b) (c)


Gambar 15

Perhatikan bahwa komplemen K4 dalam soal (c) adalah graf tanpa garis di
dalamnya. Secara umum, komplemen Kn adalah suatu graf dengan n titik dan
tanpa garis.

2.3. Sub Graf


Konsep subgraf sama dengan konsep himpunan bagian. Dalam teori
himpunan, himpunan A dikatakan merupakan himpunan bagian B bila dan
hanya bila setiap anggota A merupakan anggota B. Karena graf mempakan
himpunan yang terdiri dari titik dan garis maka H dikatakan subgraf G jika
semua titik dan garis H juga merupakan titik dan garis dalam G. Secara
formal, subgraf didefinisikan dalam defmisi 6.
Definisi 6
Misalkan G adalah suatu graf. Graf H dikatakan subgraf G bila dan hanya
bila:
a. V (H) ⊆ V (G)
b. E (H) ⊆ E (G)
c. Setiap garis dalam H mempunyai titik ujung yang sama dengan garis
tersebut dalam G.
Dari definisi 6, ada beberapa hal yang dapat diturunkan :
1. Sebuah titik dalam G merupakan subgraf G
2. Sebuah garis dalam G bersama-sama dengan titik-titik ujungnya
merupakan subgraf G
3. Setiap graf merupakan subgraf dari dirinya sendiri
4. Dalam subgraf berlaku sifat transitif : Jika H adalah subgraf G dan G
adalah subgraf K, maka K adalah subgraf K
Contoh
Dalam graf 16 (a) - (d) di bawah ini, apakah H merupakan subgraf G ?
a.
e4 e4
v2 v2
e e2
1

v1 e3 v3 v3

G H

b.
v2 v2
v1 v1
e4
e1 e2 e1 e2
e3 e4 e3
v3 v3
G H

c. e
e
e e
v1 7 v1 7
e 1 e v2 e 1 e v2
e e e e
6 5 6
5
4 2 4 2

v4 e v4 e v3
v3
3 3
G H

d.
v e v v
1
1 2 4
e e e
3 3
v 2 v v
4 3 1
G H
Gambar 16

Penye/esaian :
a. V (H) = {v2, v3} dan V (G) = {v1, v2, v3}, sehingga V (H) ⊆ V (G).
E(H) = {e4} dan E(G) = {e1, e2, e3, e4} sehingga E(H) ⊆ E(G). Garis e4 di
H merupakan loop pada v2 dan garis e4 juga merupakan loop pada v2 di
G. Maka H merupakan subgrafG.
b. H bukan merupakan subgraf G karena meskipun V(H) = V(G) = {v1, v2,
v3} dan E(H) = E(G) = {e1, e2, e3, e4}, tetapi garis e4 dalam H tidak
menghubungkan titik yang sama dengan garis e4 dalam G. Dalam H,
garis e4 merupakan loop di v3, sedangkan dalam G, garis e4 merupakan
loop dalam v2.
c. Karena Graf H = Graf G maka H merupakan subgraf G.
d. V(H) = {v1, v4} dan V(G) = {v1, v2, v3, v4} sehingga V(H) ⊆ V(G).
E(H) = {e3} dan E(G) = {e1, e2, e3} sehingga E(H) ⊆ E(G). Garis e3
menghubungkan titik v1 dengan v4. Hal yang sama juga berlaku pada G.
Maka H merupakan subgraf G. Perhatikan bahwa posisi titik tidaklah
mempengaruhi.