TUGAS MAKALAHALGORITMA DAN STRUKTUR DATA LANJUT
GRAF
Disusun Oleh :Daniel Abdi P. 672008224Indra Hari S 672008224Melany Wulandari 672008196Murniati 672008238
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS KRISTEN SATYA WACANASALATIGATEORI 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.
Gambar 1
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
A
B
C
D
E
200
100
50
18075
60
agar definisi-definisi maupun simbol-simbol yang digunakan merupakan definisi-definisi dan simbol-simbol yang biasa dipakai.1. Dasar-Dasar Graf
DefinisiSuatu 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.
ContohAda 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 BE 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.
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
G
F
E
e5
e4
e3
e2
e1
D
C
B
A
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.
ContohDalam 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.
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.
e5
e4
e3e1e2 v6
v5v4
v3
v1
v2
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.
ContohGambarlah graf G dengan titik dan garis berikut iniV(G) = {v1, v2, v3, v4}E(G) = {e1, e2, e3, e4, e5} Titik-titik ujung garis adalah :
Garis Titik Ujunge1 {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
Gambar 5 gambar 6Graf 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
DefinisiGraf Sederhana (Simple Graph) adalah graf yang tidak mempunyai loop ataupun garis paralel.
ContohGambarlah 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.
Karena ada 4 titik, maka ada garis yang mungkin dibuat, yaitu
v4
v2
v1
v3
e4e2
e5
e1
e3
e5e1 v3v1e3
e4e2
v4
v2
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.
Jadi ada buah graf yang mungkin dibentuk. Graf-graf 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 dGambar 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
Banyaknya garis dalam suatu graf lengkap dengan n titik adalah buah
BuktiMisalkan 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 v2. Salah satu garis tersebut menghubungkan v2 dengan v1. Garis ini sudah diperhitungkan pada waktu menghitung banyaknya garis yang berhubungan dengan v1. 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.
Jadi secara keseluruhan terdapat (n-1) + (n-2) + (n-3) + ... + 2 + 1 =
buah garis.
ContohGambarlah K2, K3, K4, K5, dan K6 !
Penyelesaian :
K2 K3 K4 K5 K6
Gambar 11
2.2. Komplemen Graf
DefinisiKomplemen suatu graf G (simbol ) dengan n titik adalah suatu graf dengan : 1. Titik-titik sama dengan titik-titik G. Jadi 2. Garis-garis adalah komplemen garis-garis G terhadap Graf
Lengkapnya (Kn)
Titik-titik yang dihubungkan dengan garis dalam G tidak terhubung dalam . Sebaliknya, titik-titik yang tidak terhubung dalam G menjadi terhubung dalam .
ContohGambarlah komplemen graf G yang didefinisikan dalam gambar 8.10 di bawah ini !
d c
baf
e
d
c
b
a
e
dc
ba
(a) (b) (c)
Gambar 14
Penyelesaian:Titik-titik dalam sama dengan titik-titik dalam G, sedangkan garis-garis dalam 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 dapat digambarkan pada gambar 14 (a). Secara analog, gambar 14 (b) dan 14 (c) dapat digambarkan pada gambar 15 (b) dan (c).
(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 GrafKonsep 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 6Misalkan 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 G2. Sebuah garis dalam G bersama-sama dengan titik-titik ujungnya
merupakan subgraf G3. Setiap graf merupakan subgraf dari dirinya sendiri
d c
baf
e
d
c
b
a
e
dc
ba
4. Dalam subgraf berlaku sifat transitif : Jika H adalah subgraf G dan G adalah subgraf K, maka K adalah subgraf K
ContohDalam graf 16 (a) - (d) di bawah ini, apakah H merupakan subgraf G ?a.
b.
c.
d.
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,
H
e4
v3
v2
G
e4
e3
e1e2
v3
v2
v1
H
e4 e3
e2e1
v3
v2v1
G
e4
e3
e2e1
v3
v2v1
e7
v4
v2
v3
v1
e4
e1
e2
e3G
e5
e6
e7
v4
v2
v3
v1
e4
e1
e2
e3H
e5
e6
e3
e2
v4
v2
v3
v1
e1
G H
e3
v4
v1
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.