Bab IV
teori graf
BAB IV TEORI GRAF
1.Pengantar
Pada bab 2. telah disinggung sekilas penggunaan penggunaan graf untuk untuk representasi relasi. Saat ini apliksi graf banyak digunakan dalam dunia nyata transportasi (traveling), bisnis, jaringan
seperti
untuk menyatakan
jalur
computer, mencari jalur terpenpek atau lintasan
terpendek dll. Pada bab ini akan dibahas tentang apa itu graf, istilah-istilah dalam graf, terapan graf.
2. Kompetensi
Mahasiswa dapat memahami pola pikir pikir teori graf yang merupakan diagram informasi yang dapat diintegrasikan secara cepat dan dapat menyelesaikan permasalah optimasi kususnya kususnya di bidang komputer 3. Pokok bahasan: Teori Graf (Graph Teori)
Sub Pokok bahasan :
Pengertian Graf Jenis-Jenis Graf Graf sederhana dan tak sederhana Penggolongan Graf berdasar simpul dan sisi Terapan Graf Istilah (Terminologi) dalam Graf Beberapa contoh Graf Sederhana Aplikasi Graf untuk Lintasan Terpendek Lintasan Terpendek (Short Path) Algoritma Dijkstra
4. Kegiatan Belajar
Dalam permasalahan riil graf digunakan untuk merepresentasikan
objek-objek
diskrit dan hubungan antara objek-objek tersebut. terse but. Representasi Representa si visual dari graf untuk Matematika diskrit
IV-1
Bab IV
teori graf
menunjukkan objek digunakan noktah, bulatan, titik atau simpul antar objek dinyatakan dengan garis. Contoh gambar peta
sedangkan hubungan suatu daerah kota dapat
dinyatakan dengan bulatan sedangkan jalan dinyatakan sebagai garis, garis , dengan adanya peta dapat diketahui apakah ada lintasan jalan antara dua Kota, jalur terpendek perjalanan dari kota A ke kota B.
4.1. Pengertian Graf
Definisi 4.1: Graf didefinisikan sebagai pasangan himpunan (V,E) yang dinyatakan
G = (V,E). dimana , V = Himpunan berhingga dan tidak kosong dari simpul-simpul ( vertices atau node). atau dinyatakan dengan
V = { V 1 , V 2
… V n
}
dan
E = Himpunan sisi ( edges atau ars) yang menghubungkan sepasang simpul, dinyatakan dengan E = {e1, e2, e3, … en } Pengkodean simpul dan sisi
Untuk memudahkan dalam memberikan ilustrasi ilust rasi tentang graf dalam menentukan simpul dan sisi s isi
maka diberikan notasi sebagai berikut :
1. Simpul pada graf dapat dinotasikan dengan huruf misal V,W,X,… ; atau bilangan asli 1,2,3,… atau gabungan keduanya. 2. Sedangkan sisi yang menghubungkan simpul V i dengan simpul V j di nyatakan dengan pasangan (V ,i , V j ) . 3. e = (V ,i , V j) artinya e adalah sisi yang menghubungkan simpul V i dengan simpul V j
Untuk mempermudah penggambaran graf dapat dilihat ilustrasi ilustras i graf G sbb:
Matematika diskrit
IV-2
Bab IV
teori graf
menunjukkan objek digunakan noktah, bulatan, titik atau simpul antar objek dinyatakan dengan garis. Contoh gambar peta
sedangkan hubungan suatu daerah kota dapat
dinyatakan dengan bulatan sedangkan jalan dinyatakan sebagai garis, garis , dengan adanya peta dapat diketahui apakah ada lintasan jalan antara dua Kota, jalur terpendek perjalanan dari kota A ke kota B.
4.1. Pengertian Graf
Definisi 4.1: Graf didefinisikan sebagai pasangan himpunan (V,E) yang dinyatakan
G = (V,E). dimana , V = Himpunan berhingga dan tidak kosong dari simpul-simpul ( vertices atau node). atau dinyatakan dengan
V = { V 1 , V 2
… V n
}
dan
E = Himpunan sisi ( edges atau ars) yang menghubungkan sepasang simpul, dinyatakan dengan E = {e1, e2, e3, … en } Pengkodean simpul dan sisi
Untuk memudahkan dalam memberikan ilustrasi ilust rasi tentang graf dalam menentukan simpul dan sisi s isi
maka diberikan notasi sebagai berikut :
1. Simpul pada graf dapat dinotasikan dengan huruf misal V,W,X,… ; atau bilangan asli 1,2,3,… atau gabungan keduanya. 2. Sedangkan sisi yang menghubungkan simpul V i dengan simpul V j di nyatakan dengan pasangan (V ,i , V j ) . 3. e = (V ,i , V j) artinya e adalah sisi yang menghubungkan simpul V i dengan simpul V j
Untuk mempermudah penggambaran graf dapat dilihat ilustrasi ilustras i graf G sbb:
Matematika diskrit
IV-2
Bab IV
teori graf
Gambar 4.1. Graf dengan notasi simpul berupa huruf , angka dan gabungan keduanya
Dari gambar 4.1 dapat dijelaskan bahwa simpul graf G1 diberi notasi huruf, simpul graf G2 diberi notasi angka
dan simpul simpul graf G3
diberi notasi gabungan huruf dan
angka . 4.2. Jenis-Jenis Graf
Graf dapat dikelompokkan dalam beberapa jenis tergantung pada sudut pandang pengelompokannya. Pengelompokan Pengelompokan graf dapat dipandang berdasarkan ada tidaknya sisi ganda atau sisi kalang, jumlah simpul atau berdasar orientasi arah pada sisi.
4.2.1. Graf sederhana dan tak sederhana. 1.
Graf sederhana ( simple simple graph )
Graf sederhana adalah graf yang tidak mengandung gelang maupun sisi-sisi ganda.
Contoh 4.1.
Gambar 4.2. Graf sederhana
Matematika diskrit
IV-3
Bab IV
teori graf
2. Graf tak-sederhana (unsimple graph )
Graf
tak-sederhana adalah
graf
yang
mengandung sisi ganda
atau
gelang,
terdapat dua macam graf tak sederhana yaitu:
a. Graf ganda ( multigraph) yaitu graf G = (V, E) yang mengandung sisi ganda dan
V merupakan himpunan
tidak
kosong serta himpunan ganda (multi-set) yang
mengandung sisi ganda E.
Contoh 4.2.
Gambar 4.3. Graf memuat sisi ganda b. Graf semu ( pseudograph) yaitu graf yang mengandung gelang(loop). Graf semu
lebih umum karena dapat terhubung dengan dirinya sendiri.
Contoh 4.3.
Gambar 4.4. Graf memuat gelang di V3
Kardinalitas Graf : Jumlah simpul pada graf disebut kardinalitas graf yang dinyatakan dengan n = |V|, sedangkan jumlah sisi dinyatakan dengan m = | E |.
Matematika diskrit
IV-4
Bab IV
teori graf
Contoh 4.4. : Jumlah simpul graf contoh 4.3 adalah n = |V| =3 dan jumlah sisi
m =| E |= 5 , sisi untuk gelang dihitung duakali. 4.2.2. Penggolongan Graf berdasar simpul dan sisi
Dalam penggolongannya graf dapat ditinjau dari sudut pandang simpul dan orientasi arah yang diuraikan sbb: Berdasar simpul, dari pandangan simpul graf dapat di bedakan atas simpul berhingga dan tak berhingga :
1. Graf berhingga (limited graph) adalah graf yang jumlah simpulnya ' n' berhingga. 2. Graf tak berhingga (unlimited graph) adalah graf yang jumlah simpulnya tidak berhinnga banyaknya.
Berdasar arah pada sisi, graf dapat di bedakan atas graf dengan sisi berarah dan tak berarah
:
1. Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak berarah, pada graf ini urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Jadi ( v j ,vk ) = ( vk ,v j ) merupakan sisi sama. 2. Graf berarah ( directed graph atau digraph) Graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah atau busur ( arc). Pada graf berarah ( V j ,V k ) ≠ ( V k ,V j ) menyatakan dua busur yang berbeda dengan kata lain ( V j ,V k ) ≠ ( V k ,V j ) dan simpul V j
dinamakan
simpul asal (initial vertex) sedangkan V k dinamakan simpul terminal ( terminal vertex ).
Matematika diskrit
IV-5
Bab IV
teori graf
4.3. Terapan Graf
Penerapan graf dalam kehidupan sehari-hari sangat luas, umumnya penggunaan graf adalah untuk memodelkan permasalahan. Contoh penerapan graf dapat dilihat pada permasalahan pada rangkaian listrik, pengujian program, terapan pada teori bahasa otomata dll.
Contoh 4.5. Rangkaian Listrik.
Salah satu terapan
graf
dapat
dilihat pada
rangkaian
listrik
Kirchoff (1847) yang menggunakan graf untuk memodelkan rangkaian
dengan Hukum listrik.
Gambar 4.5.a menyatakan rangkaian listrik sebenarnya sedangkan pada gambar 4.5.b yang digambarkan secara graf.
Contoh 4.6. Pengujian Program.
Pada permasalahan rekayasa perangkat lunak sebuah program harus menjalani tahap pengujian untuk menentukan kesalahan.
Bagian program berikut : Baca While
(x); x <> 9999
do
Begin Jika x<0 maka writeln('Masukan tidak boleh negatif') else x = x + 10
Matematika diskrit
IV-6
Bab IV
teori graf
baca(x) end writeln(x)
Graf alir yang menggambarkan kendali program tersebut sbb:
Gambar 4.6. Graf kendali program.
Keterangan
:
1. baca (x) 2. x<>9999 3. x < 0 4. writeln ('Masukan tidak boleh negatif') 5. x = x + 10 6. baca (x) 7. writeln(x) Data pengujian harus dirancang sedemikian semua lintasan di dalam graf dilalui satu kali.
Contoh 4.7. Terapan graf di dalam teori bahasa otomata
Contoh ini menggambarkan pemodelan perilaku sebuah mesin jaja untuk menjual coklat seharga 15 sen. Untuk mudahnya missal mesin hanya menerima uang logam 5 sen dan 10 sen dan mesin tidak akan memberikan kembalian apabila pembayaran lebih dari 15 sen. Buatlah graf berbobot untuk yang menggambarkan perilaku mesin tersebut
jika simpul
menyatakan bayak uang yang dimasukkan.
Matematika diskrit
IV-7
Bab IV
teori graf
Gambar 4.7. proses eksekusi mesin jaja coklat.
4.4. Istilah (Terminologi) Dalam Graf
Dalam pembahasan lebih lanjut tentang graf akan dijumpai banyak istilah atau terminologi seperti sebelumnya terdapat graf sederhana, multi graf dll.
Terminologi lain
yang sering digunakan dalam graf adjacent, incident, isolated vertex, lintasan(circuit), terhubung (connected ) adalah sebagai berikut :
1.
Adjacent (ketetanggaan)
Dua buah simpul dikatakan bertetangga (adjacent ) bila kedua simpul terhubung langsung seperti simpul V i adjacent dengan simpul V j jika untuk setiap e(sisi)∈ E demikian sehingga e ∈ (Vi ,V j).
Contoh 4.8.
Gambar 4.8. Ketetanggaan simpul Vi dengan V j
Matematika diskrit
IV-8
Bab IV
teori graf
dari gambar 4.8,
e
∈ (V1,V2), menyatakan bahwa simpul V1 bertetangga langsung
dengan simpul V2 2.
Incidency( bersisian)
Untuk sembarang sisi e ∈ (V j ,Vk ) dikatakan bahwa
3.
i)
e bersisian dengan simpul V j atau
ii)
e bersisian dengan simpul Vk
Simpul terpencil( isolated vertex).
Simpul
terpencil
adalah
simpul
yang
tidak
mempunyai
sisi
yang
bersisian
dengannya. Contoh 4.9.
Gambar. 4.9. Graf yang memuat simpul terpencil. Simpul V5 merupakan simpul terpencil karena tidak ada sisi yang menghubungkan langsung ke simpul lainnya. 4. Graf kosong ( null graf emty graph) adalah
graf yang tidak mempunyai sisi yang
menghubungkan antara simpul V i ke simpul V j.
Gambar. 4.10. Graf kosong Matematika diskrit
IV-9
Bab IV
teori graf
5. Derajad (Degree)
Definisi 4.2. Derajad suatu simpul adalah jumlah sisi yang bersisian dengan simpul tersebut
Notasi d(V)
menyatakan derajad simpul V
(4.1).
Simpul terpencil adalah simpul dengan d(V) = 0 Simpul yang mempunyai gelang dihitung mempunyai dua buah sisi yang bersisian (karena
dipresentasikan (V,V) dan simpul V bersisian dua kali) , jika terdapat n buah gelang dan e buah sisi bukan gelang yang bersisian dengan simpul V, maka derajat simpul V adalah
d( V ) = 2n + e.
(4.2).
Pendant vertex diartikan sebagai simpul yang berderajad satu.
Pada graf berarah, pengertian derajad dibedakan menjadi dua macam : 1. din(V) = derajad-masuk (in-degree) = jumlah busur yang masuk ke simpul V. 2. dout(V) = derajad-keluar (out-degree) = jumlah busur yang keluar dari ke simpul V dan d(V) = din(V) + dout(V)
Secara umum dalam graf G = (V,E) berlaku hubungan
∑ d (V ) = ∑ d in
i∈v
out
(V ) =| E |
(4.3).
i∈v
Hanshaking lemma :
Jumlah derajad semua simpul pada suatu graf adalah genap, yaitu dua kali jumlah sisi pada graf tersebut. Jadi jika G = (V,E) maka
∑ d (V ) = 2 | E |. i∈v
Matematika diskrit
IV-10
Bab IV
teori graf
Contoh 4.11: Diberikan graf berikut
Gambar. 4.11. Graf berarah
apakah
∑ d (V ) = 2 | E |
dan
i∈v
∑ d (V ) = ∑ d
(V ) =| E |
∑ d (V ) = ∑ d
(V ) = | E |
in
i∈v
out
i∈v
Jawab :
a). Akan diselidiki apakah
in
i∈v
out
i∈v
perhatikan tabel perhitungan berikut d in(V ) i
d out(V ) i
din(V1) = 1 dout(V1) = 2 din(V2) = 1 dout(V2) = 2 din(V3) = 2 dout(V3) = 2 din(V4) = 2 dout(V1) = 0
∑ d (V ) = 6 ∑ d in
out
i∈v
(V ) =6
i∈v
din(V1) = 1 dimaksudkan bahwa arah busur ke simpul V1 sebanyak satu kali, din(V2) = 1 dimaksudkan bahwa arah busur ke simpul V 2 sebanyak satu kali din(V3) = 2 dan din(V4) = 2 dimaksudkan bahwa arah busur ke simpul V 3 dan V4 sebanyak dua kali. Begitu juga untuk d out(V ), dout(V1) = 2, d out(V2) = 2 dan dout(V3) = 2 dimaksudkan bahwa arah i busur keluar dari V1 , V2 dan V3 sebanyak dua kali sedangkan dari V4 tidak ada busur yang keluar. Sedangkan
∑ d (V ) = 6 in
menyatakan jumlah derajad masuk ( in-degree)
i∈v
Matematika diskrit
IV-11
Bab IV
teori graf
∑ d
simpul dari graf yang diketahui adalah 6 dan
out
(V ) = 6 menyatakan jumlah derajad
i∈v
keluar (out-degree) simpul dari graf yang diketahui adalah 6. Banyak sisi E dari graf tersebut adalah 6 jadi
∑ d (V ) = ∑ d in
out
i∈v
(V ) = 6 = | E |
i∈v
b) Jumlah derajad masuk dan keluar dalam graf G adalah
∑ d (V ) = ∑ d (V ) + ∑ d in
i∈v
i∈v
out
(V )
i∈v
= 6 + 6 = 12 = 2 | E |
Contoh 4.12 : Diberikan derajad masing -masing simpul sbb:
a. 2,3,1,1,2 b. 2,3,3,4,4
dapatkah graf tersebut digambar, apabila dapat gambarkan grafnya tetapi apabila tidak dapat berikan berikan alasannya
Jawab :
a. Diketahui derajad masing-masing simpul 2,3,1,1,2 yang berarti apabila kita jumlahkan yaitu 2 + 3 + 1 + 1 + 2 = 9 diperoleh jumlah ganjil berdasar Hanshaking lemma yaitu jumlah derajad semua simpul pada suatu graf adalah genap. Jadi dari data yang diketahui tidak dapat dibuat graf.
b. Jika
ditinjau dari jumlahan derajad
masing-masing
simpul
yaitu
2 + 3 + 3 + 4 + = 16 adalah genap, maka dapat dibuat graf salah satu modelnya sbb:
Matematika diskrit
IV-12
Bab IV
teori graf
Gambar 4.12. Graf dengan lima simpul dan derajad simpul 2,3,3,4,4
Akibat dari hanshaking lemma dapat diturunkan teorema berikut :
Teorema 4.1. Untuk sembarang graf G, banyaknya simpul yang berderajad ganjil selalu
genap.
6. Lintasan ( Path)
Definisi 4.3 : Lintasan dari simpul
awal V p ke simpul akhir Vq dalam graf
G adalah
rangkaian simpul V p ,Vi1 , Vi2 ,Vi3…… Vim , Vq sehingga (V p, Vi1 ), (Vi1 Vi2) ,….., (Vim Vq) merupakan sisi dalam graf G ( simpul dan sisi yang dilalui boleh berulang ).
a.Lintasan Sederhana (simple path)
adalah lintasan dengan semua simpul berbeda dan semua sisi yang dilalui hanya satu kali.
b.Lintasan Elementer(elementary path)
Adalah lintasan dengan semua simpul yang dilalui hanya muncul satu kali, kecuali mungkin simpul pertama dan terakhir. c.Lintasan Tertutup(close path)
Adalah lintasan yang berawal dan berakhir pada simpul yang sama. d.Lintasan terbuka (Open path)
Lintasan yang berawal dan berakhir pada simpul yang tidak sama.
Matematika diskrit
IV-13
Bab IV
teori graf
Panjang Lintasan Adalah jumlah sisi dalam lintasan tersebut , penulisan litasan Vi1 , Vi2 Vi1…… Vim , Vq hanya berlaku untuk graf sederhana. Contoh 4.13 :
Gambar 4.13. Graf sederhana
1. Lintasan V1 , V2 ,V3 , V4 merupakan lintasan sederhana yang terbuka , karena simpul awal tidak sama dengan simpul akhir dan tidak ada simpul yang diulang. 2. Lintasan V1 , V2 ,V3 , V4 , V1 merupakan lintasan sederhana yang tertutup , karena simpul awal sama dengan simpul akhir.
7. Siklus (Cycle) atau sirkuit (Circuit)
Adalah lintasan yang semua simpul dan sisi hanya dilalui satu kali dengan
simpul
awal sama dengan simpul akhir. Panjang sirkuit adalah jumlah sisi yang ada dalam sirkuit tersebut .
8.
Terhubung (Connected)
Dua buah simpul Vi , V j dari suatu graf G dikatakan terhubung apabila terdapat litasan dari Vi ke V j dan sebaliknya. Secara umum dapat dikatakan sebagai berikut
Definisi 4.4 : Graf tak berarah G disebut graf terhubung (connected graph) jika untuk
setiap pasang simpul Vi dan
V j
dalam himpunan V terdapat lintasan Vi , V j dan
sebaliknya. Jika tidak maka graf G disebut graf tak tehubung (disconnected graph).
Matematika diskrit
IV-14
Bab IV
teori graf
Contoh 4.14.
Gambar 4.14 : (a). Menyatakan graf terhubung (b). Menyatakan graf tak terhubung
Keterhubungan dua buah simpul pada graf berarah dibedakan menjadi terhubung kuat dan terhubung lemah. Dua buah simpul V i , V j pada suatu graf berarah G disebut terhubung kuat (strongly connected ) jika terdapat lintasan berarah dari Vi ke V j dan dari V j ke Vi. 9. Upagraf (subgraph) dan Komplemen Upagraf Definisi 4.5: Misal G = (V,E) adalah sebuah graf G1= (V1,E 1) adalah upagraf (sub graph)
dari G jika V1 ⊆ V dan E1 ⊆ E. Komplemen dari upagraf G1 terhadap graf G adalah graf G2 = (V2,E 2) Sedemikian E2 = E - E1 dan V2 adalah
himpunan simpul yang anggota-anggotanya E 2 bersisian
dengannya.
Gambar : 4.15. (a) graf lengkap G; (b) upagraf dari graf G dan (c) Komplemen upagraf (b)
Matematika diskrit
IV-15
Bab IV
teori graf
Komponen terhubung(connected component) dari graf G atau komponen adalah upagraf terhubung dari graf G yang tidak terdapat di dalam upagraf terhubung dari G yang lebih besar untuk jelasnya dapat dilihat gambar berikut .
Gambar : 4.16 Graf G terdiri atas G1 dan G2
Graf G gambar 4.16.mempunyai dua komponen G 1 dan G2 saling terpisah.
11. Upagraf Rentang (Spanning Subgraph )
Definisi 4.6: Upagraf G1= (V1,E 1) dari G = (V,E) dikatakan upagraf merentang jika V1=V yaitu G1 memuat semua simpuldari graf G.
12. Cut-Set Definisi 4.7 : 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 terhubung. 13. Graf berbobot(Weighted Graph) Definisi 4.8 : Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot),
Bobot pada setiap sisi dapat berbeda beda tergantung dari permasalah yang dapat dimodelkan dengan graf. Bobot pada setiap sisi dapat menyatakan jarak antar dua kota, biaya perjalanan, waktu tempuh telpon dari suatu titik(simpul) komunikasi ke simpul yang lain ke dll
Matematika diskrit
IV-16
Bab IV
teori graf
Contoh 4.16:
Gambar : 4.17 Graf G berbobot
Masing-masing sisi graf G pada gambar 4.17 diberi bobot berupa angka yang dapat mewakili permasalahan yang diinginkan misalnya menyatakan jarak
antar kota. Contoh
jarak dari kota V1 ke kota V2 sejauh 8 km.
4.5. Beberapa Graf Sederhana Khusus
Dalam banyak aplikasi sering dijumpai graf sederhana seperti graf lengkap (complete graph), graf lingkaran , graf teratur dan graf bipartite( Bipartite Graph) masing-masing
diuraikan sbb. a. Graf Lengkap(complete Graph) Adalah graf sederhana yang setiap simpulnya mempunyai sisi ke semua simpul lainnya. Graf lengkap dengan n buah simpul dilambangkan dengan G n .Jumlah sisi pada graf lengkap yang terdiri atas n buah simpul adalah n(n-1)/2. b.Graf lingkaran Graf lingkaran adalah graf sederhana yang setiap simpulnya berderajad dua. c.Graf Teratur (Regular Graphs) Adalah graf yang setiap simpulnya
berderajad sama , apabila derajad setiap simpul
adalah r maka graf tersebut disebut sebagai graf teratur berderajad r. d. Graf bipartite(Bipartite Graph) Adalah suatu graf misalkan diberi nama G yang simpulnya dapat dipisah menjadi dua himpunan bagian V 1 dan V2, sedemikian setiap sisi pada G menghubungkan sebuah simpul di V1 ke sebuah simpul di V2 dan di nyatakan G(V1, V2). Apabila setiap simpul di V1 Matematika diskrit
IV-17
Bab IV
teori graf
bertetangga dengan semua simpul di V2 maka G(V1, V 2) disebut sebagai graf
bipartite
lengkap yang dilambangkan K m, n.
sebagai contoh diberikan graf
bipartite sbb:
Gambar 4.18. Graf Bipartite
Simpul pada graf gambar 4.18 dapat dipisah atas himpunan V1 ={A,C,F }dan V 2 ={B,G,D,E }. dan setiap sisi menghubungkan simpul –simpul di V 1 dan di V2. 4.6. Representasi graf dalam bentuk matrik
Pada pemrograman komputer pernyataan graf dapat dipresentasikan dalam bentuk matrik yang sering digunakan adalah matrik ketetanggaan, bersisian, senerai ketetanggaan.
4.6.1. Matriks ketetanggaaan(adjacency matrix)
Misalkan G =(V,E) adalah matrik dengan n buah simpul , n ≥ 1 maka matrik ketetanggaan G adalah matrik berukuran n x n apabila matriks tersebut diberi nama B = [bij ] maka
bij = 1 apabila simpul i, j bertetangga langsung dan bij = 0 apabila simpul
tidak bertetangga langsung. Atau dinyatakan sebagai berikut matrik B = [bij ] dengan
⎧ 1, jika simpul i dan ke j berte tan gga langsung
b ij = ⎨
⎩ 0, jika simpul i dan ke j tidak berte tan gga langsung
Matematika diskrit
IV-18
Bab IV
teori graf
Contoh 4.17: Diberikan graf sederhana sebagai berikut
Matriks ketetanggaan dari graf tersebut adalah
simpul ke i dan ke j yang bertetangga langsung diberi nilai 1 dan yang tidak langsung diberi nilai 0
4.6.2. Matriks Bersisian ( incidency matrix)
Matrik bersisian menyatakan ke bersisian antara sisi dan simpul dari suatu graf. Misalkan G = (V,E) adalah matrik dengan n buah simpul dan m buah sisi. Maka matrik bersisian dari G adalah matrik berukuran nxm, baris menunjukkan label simpul dan kolom menunjukkan label sisi. Apabila matriks tersebut diberi nama B = [b ij ] maka
bij
= 1 apabila simpul i bersisian langsung dengan sisi j, dan bij = 0 apabila simpul tidak bersisian dengan sisi j, langsung, atau dinyatakan sebagai berikut matrik B = [bij ] dengan
⎧ 1, jika simpul i bersisian langsung dengan sisi ke j
b ij = ⎨
⎩ 0, jika simpul i tidak bersisian langsung dengan sisi ke j
Matematika diskrit
IV-19
Bab IV
teori graf
Contoh 4.18 :
Matriks bersisian dari graf tersebut adalah
Simpul A bersisian langgung dengan sisi e1 dan e2 maka diberi nilai 1, tetapi tidak bersisian langsung dengan sisi e 3, e4 dan e5 maka diberi nilai nol.Begitu pula simpul-simpul yang lain. 4.6.3. Senerai Ketetanggaan( adjacency list)
Kelemahan representasi graf dalam bentuk adjacency matrix dan incidency matrix, matrik terkadang banyak memuat elemen nol hal ini menimbulkan pemborosan ditinjau dari sisi penyimpanan akan di dalam komputer, karena komputer banyak menyimpan elemen nol. Untuk
mengatasi
ini representasi graf
dapat dinyatakan
dalam bentuk senerai
ketetanggaan.
Contoh 4.19 : Diberikan graf sederhana sebagai berikut
Matematika diskrit
IV-20
Bab IV
teori graf
Representasi senerai ketetanggaan graf tersebut sebagai berikut A : B, D B : A, C, D C : B, D D : A, B, C Maksud dari pernyataan diatas :
a. Simpul A bertetangga langsung dengan simpul B dan D, b. Simpul B bertetangga langsung dengan simpul A, C dan D, c. Simpul C bertetangga langsung dengan simpul B dan D, d. Simpul D bertetangga langsung dengan simpul A, B dan C ,
4.7.Graf Isomorfik( Isomorphic Graph)
Dua buah graf sama tetapi secara geometri berbeda disebut graf yang saling isomorfik.
Definisi 4.9:
Dua buah
korespondensi satu-satu
graf
G1
dan G2 dikatakan
isomorfik
apabila
terdapat
antara simpul dan sisi pada kedua graf sedemikian apabila
sisi e bersisian dengan simpul A, B pada G1 maka sisi e’ yang berkorespondensi pada G2 juga harus bersisian dengan simpul A’, B’ pada G2 .
Contoh 4.20:
Diberikan graf G dan G’
Tunjukkan kedua graf tersebut Isomorfik.
Matematika diskrit
IV-21
Bab IV
teori graf
Jawab : Salah satu cara untuk mengetahui kedua graf tersebut isomorfik atau tidak
dengan memperhatikan korespondesi simpul pada graf G dan G’ tersebut yaitu f : V(G)
V(G’)
Huruf A, B, C, D merupakan simpul pada graf G dan V(G) adalah himpunan simpulsimpul pada graf G
sedangkan
I, J, K, L merupakan
simpul
himpunan simpul-simpul pada graf G’. Simpul-simpul dalam
pada graf G’, V(G’)
V(G) berkorespondensi 1-
1 dengan simpul pada V(G’) yang dinyatakan dengan f . Sedangkan hubungan antar sisi dapat dilihat sbb:
sisi dari graf G
sisi dari graf G’
{A,B}
{K,I}= {g(A),g(B)}
{B,C}
{I,J} = { g(B),g(C)}
{C,D}
{J,L}= { g(A),g(D)}
Maka graf G dan G’ Isomorfik.
4.8. Graf Planar dan graf bidang
Definisi 4. 10 : Graf planar adalah graf
yang dapat digambarkan pada bidang datar
dengan sisi-sisi yang tidak saling memotong (bersilangan).
Matematika diskrit
IV-22
Bab IV
teori graf
Contoh 4.21
Gambar graf G mempunyai diagonal berpotongan , graf tersebut g dapat digambarkan menjadi graf G’ dengan diagonal tidak saling berpotongan maka graf G desebut sebagai graf planar.
Graf bidang adalah representasi graf planar yang digambarkan dengan sisi yang tidak saling berpotongan. Sisi pada graf bidang membagi bidang datar menjadi beberapa wilayah (region) atau muka (face).
Rumus euler : jumlah wilayah ( f ) pada graf planar sederhana
dapat dengan rumus
sebagai berikut
n - e + f = 2 atau f = e - n + 2
4.9. Aplikasi Graf untuk Lintasan Terpendek : 4.9.1. Lintasan Terpendek (Short Path)
Permasalahan mencari lintasan
terpendek dalam Graf merupakan
salah satu
persoalan optimasi. Graf yang digunakan dalam pencarian lintasan terpendek adalah graf berbobot (weighted graph), yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu pengiriman pesan, panjang jaringan antara workstation dan sebagainya. Secara umum kata “terpendek” diartikan sebagai bobot minimal pada suatu lintasan dalam graf. Asumsi yang digunakan adalah semua bobot bernilai positif.
Matematika diskrit
IV-23
Bab IV
teori graf
Contoh terapan pencarian lintasan terpendek misalnya: Simpul pada graf dapat merupakan jalur pengiriman surat POS, sedangkan sisi menyatakan jalan yang menghubungkan 2 buah kantor POS cabang. Bobot sisi graf dapat dinyatakan jarak antara 2 buah kantor POS cabang atau rata-rata waktu tempuh antara 2 buah kantor POS cabang. Apabila terdapat lebih dari 1 lintasan dari kantor POS cabang A ke kantor POS cabang B, maka persoalan lintasan terpendek disini adalah menentukan jarak terpendek atau waktu tersingkat dari kantor POS cabang A ke kantor POS cabang B.
Beberapa persoalan lintasan terpendek, antara lain : a).
Lintasan terpendek antara dua buah simpul tertentu
b).
Lintasan terpendek antara semua pasangan simpul
c).
Lintasan terpendek dari simpul tertentu ke semua simpul yang lain
d).
Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu
Persoalan a). mirip dengan persoalan c), karena pencarian terpendek pada jenis persoalan c). dapat dihentikan apabila simpul tujuan yang dikehendaki telah ditemukan lintasan terpendeknya. Deskripsi persoalan lintasan terpendek pada jenis persoalan c adalah sebagai berikut : Diberikan graf berbobot G = (V,E) dan sebuah simpul awal A tentukan lintasan terpendek dari simpul A kesimpul lainnya didalam G.
Contoh 4.20. Diberikan graf
jalur transpotasi biskota
anggka 5 menyatakan terminal,
angka 1,2,3 dan 4 menyatakan sub terminal sbb
Gambar 4.18 Jalur transpotasi biskota
Matematika diskrit
IV-24
Bab IV
teori graf
Akan ditentukan lintasan terpendek dari sub terminal 1 ke semua sub terminal pada graf gambar 4.18.
Jawab :
Untuk menjawab permasalahan tersebut diberikan tabel
lintasan terpendek yang dapat
ditempuh dari sub terminal 1 ke sub terminal lainnya, arah panah menunjukkan jalan yang boleh dilewati adalah sbb. Tabel 4.1. menentukan lintasan terpendek Simpul asal 1
Simpul tujuan 3
Lintasan terpendek
jarak
1,3
10
1
4
1,3,4
25
1
2
1,3,4,2
45
1
5
1,5
45
1
6
Tidak ada
-
dari tabel 4.1 dapat dilihat bahwa lintasan terpendek dari sub terminal 1 ke sub terminal 2 harus melalui sub terminal 3 dan 4. Lintasan terpendek dari sub terminal 1 ke sub terminal 5 langsung dari melalui sub terminal 1 ke 5. Sub terminal 6 tidak dapat ditempuh dari sub terminal manapun karena jalannya satu arah.
4.9.2. Algoritma Dijkstra
Algoritma lintasan terpendek yang terkenal adalah algoritma Disjktra. Dalam naskah aslinya Algoritma Disjktra diterapkan untuk mencari lintasan terpendek pada graf berarah, tetapi algoritma ini juga dapat digunakan untuk graf tak berarah. Algoritma Dijkstra mencari lintasan terpendek dalam sejumlah langkah. Algoritma ini menggunakan prinsip greedy. Prinsip greedy pada algoritma Disjktra menyatakan bahwa pada setiap langkah kita memilih sisi yang berbobot minimum dan memasukkannya ke dalam himpunan penyelesaian.
Matematika diskrit
IV-25
Bab IV
teori graf
Misalkan ada sebuah graf berbobot dengan n buah simpul dinyatakan dengan matriks ketetanggaan M = [mij], dengan
⎧mij = bobot sisi(i, j ), pada graf tak berarah mij = m ji ⎪ mij = ⎨mii = 0 ⎪mij = ∞, jika tidak ada sisi dari simpul i ke j ⎩ Kita juga menggunakan tabel S = [si] dengan
⎧si = 1, jika simpul i termasuk kedalam lintasan terpendek ⎩si = 0, jika simpul i tidak termasuk kedalam lintasan terpendek
s ij = ⎨
dan tabel D = [d i] yang dimana di = panjang lintasan dari simpul awal ke simpul i
Algoritma Dijkstra dinyatakan dalam notasi pseudo-code sebagai berikut: Procedure Dijkstra (input m: matriks, a: simpul awal)
{ Mencari lintasan terpendek dari simpul awal a ke semua simpul lainnya Masukan : matriks ketetanggaan (m) dari graf berbobot G dan simpul awal a Keluaran : lintasan terpendek dari a ke semua simpul lainnya } Deklarasi s1, s2, …, sn : Integer { tabel integer} d1, d2,
, dn : integer {tabel integer}
I, j, k : integer
Algoritma {Langkah 0 (inisialisasi:} For i
1 to n
←
S1
←
d1
←
do
0 mai
endfor { Langkah 1: }
Matematika diskrit
IV-26
Bab IV
sa
teori graf
0
←
{
karena
simpul
a
adalah
simpul
asal
lintasan
terpendek,
jadi simpul a sudah pasti terpilih dalam lintasan terpendek}
da
←
{ tidak ada lintasan terpendek dari simpul a ke a}
∞
{ Langkah 2, 3, …, n-1: } For k
j
2 to n-1 do
←
0 simpul dengan sj = 0 dan dj minimal
←
sj
1 { simpul j sudah terpilih ke dalam lintasan terpendek }
←
{ perbaharui tabel d }
semua simpul i dengan sj = 0 do For If dj + mji < di
di
then
dj + mji
←
endif endfor endfor
Algoritma 4.1. Djikstra untuk mencari lintasan terpendek
Dari gambar 4.18 contoh 4.20, diperoleh matriks ketetanggaan M sebagai berikut :
i=1
j = 1 0
2 50
3 10
4 40
5 45
∞
2
∞
0
15
∞
10
∞
3
20
∞
0
15
∞
∞
4
∞
20
∞
0
35
∞
5
∞
∞
∞
30
0
∞
6
∞
∞
∞
3
∞
0
Perhitungan lintasan terpendek dari simpul awal
6
a = 1 ke semua simpul lainnya
ditabulasikan sebagai berikut :
Lelaran
inisial
1
S
Simpul yang Lintasan dipilih -
1
Matematika diskrit
-
1
D
1
2
3
4
5
6
0
0
0
0
0
0
1
0
0
0
0
0
1
0
∞
2
3
4
5
6
50
10
40
45
∞
(1,2)
(1,3)
(1,4)
(1,5)
(1,6)
50
10
40
45
∞
(1,2)
(1,3)
(1,4)
(1,5)
(1,6)
IV-27
Bab IV
teori graf
2
3
3
4
4
2
5
5
1,3
1,3,4
1,3,4,2
1,5
1
1
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
0
0
1
0
0
0
0
50
10
25
45
(1,2)
(1,3)
(1,3,4)
(1,5)
45
10
25
45
∞
(1,3,4,2)
(1,3)
(1,3,4)
(1,5)
(1,6)
45
10
25
45
∞
(1,3,4,2)
(1,3)
(1,3,4)
(1,5)
(1,6)
45
10
25
45
∞
(1,3,4,2)
(1,3)
(1,3,4)
(1,5)
(1,6)
∞
∞
∞
∞
∞
Keterangan : Angka-angka di dalam tanda kurung menyatakan lintasan terpendek dari simpul 1 ke simpul lainnya. Jadi, lintasan terpendek dari simpul : 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 lintasan Resume:
1. Graf didefinisikan sebagai pasangan himpunan (V,E) yang dinyatakan G = (V,E), dengan V merupakan himpunan berhingga dan tidak kosong dari simpulsimpul (vertices atau node) dapat dinyatakan dengan
V = { V 1 , V 2
… V n
}
dan
E merupakan himpunan sisi ( edges atau ars) yang menghubungkan sepasang simpul, dinyatakan dengan E = { e1, e2, e3, … en }
2. Graf sederhana (simple graph ),
adalah graf yang tidak mengandung gelang(loop)
maupun sisi-sisi ganda. Graf tak-sederhana (unsimple graph ), adalah graf yang mengandung sisi ganda atau gelang, terdapat dua macam graf tak sederhana yaitu: a. Graf ganda (multigraph ) yaitu graf G = (V, E) yang mengandung sisi ganda dan V merupakan himpunan tidak kosong, E mengandung sisi ganda. b. Graf semu ( pseudograph) yaitu graf yang mengandung gelang(loop). Graf semu lebih umum karena dapat terhubung dengan dirinya sendiri. Matematika diskrit
IV-28
Bab IV
3.
teori graf
Beberapa Graf Sederhana Khusus a. Graf Lengkap (complete Graph), adalah graf sederhana yang setiap simpulnya mempunyai sisi ke semua simpul lainnya. Graf lengkap dengan n buah simpul dilambangkan dengan Gn .Jumlah sisi pada graf lengkap yang terdiri atas n buah simpul adalah n(n-1)/2.
b. Graf lingkaran, adalah graf sederhana yang setiap simpulnya berderajad dua. c. Graf Teratur ( Regular Graphs ), adalah graf yang setiap simpulnya
berderajad
sama , apabila derajad setiap simpul adalah r maka graf tersebut disebut sebagai graf teratur berderajad r. d. Graf Bipartite (Bipartite Graph), adalah suatu graf misalkan diberi nama G yang simpulnya
dapat dipisah
menjadi dua
himpunan
bagian
V1 dan
V2,
sedemikian setiap sisi pada G menghubungkan sebuah simpul di V 1 ke sebuah simpul di V2
dan
di nyatakan G(V1, V2). Apabila setiap simpul di
V1
bertetangga dengan semua simpul di V2 maka G(V1, V2) disebut sebagai graf bipartite lengkap yang dilambangkan K m, n.
Referensi :
1. Deo N, 1984, Graph theory with Applications to Engineering
and
Computer
Science, Prentice-Hall .
2. Johnsonbaugh, 2005, Discrete Mathematics , Prentice Hall. 3. Liu C.L , 1997, Dasar- dasar Matematika Diskret Mc. Graw-Hill Inc. 4. Munir R, 2005, Matematika Diskrit ', Informatika Bandung. .
5. Susana, 2004, “ Discrete Mathematics with Aplications “, Thomson Learning Inc Singapore.
Matematika diskrit
IV-29
Bab IV
teori graf
Latihan:
4.1. Tentukan jumlah simpul pada graf sederhana bila mempunyai 12 buah sisi dan tiap simpul berderajad dua. 4.2. Ada n buah komputer yang akan dihubungkan dengan sejumlah kabel, baik secara langsung atau terhubung melalui komputer lainnya. Berapa jumlah minimum kabel yang dibutuhkan. 4.3. Dapatkah kita menggambar graf teratur derajad 3 dengan 6 buah simpul. 4.4. Tentukan jumlah simpul pada graf sederhana apabila graf tersebut mempunyai 12 buah sisi dan tiap simpul berderajad dua. 4.5. Tentukan jumlah simpul pada graf sederhana apabila graf tersebut mempunyai 20 buah sisi dan tiap simpul berderajad sama. 4.6. Dapatkah kita menggambar graf teratur derajad 3 dengan 7 buah simpul. 4.7. Diketahui matriks ketetanggaan dari sebuah graf sebagai berikut
⎛ 0 ⎜ ⎜1 ⎜0 ⎜ ⎜0 ⎜1 ⎝
1
0 0 1 ⎞
⎟
0 1 1 1⎟ 1 1 1 0⎟
⎟
1 1 0 1⎟ 1
0 1
⎟
0 ⎠
Gambarkan graf yang dimaksud, notasi simpul bebas.
4.8. Persoalan pengaturan tempat duduk , sembilan anggota klub penggemar matematika diskrit
bertemu tiap hari untuk
makan
siang pada suatu meja bundar. Memeka
berkeinginan untuk duduk sedemikian sehingga setiap anggota mempunyai tetangga duduk yang berbeda pada setiap makan.Berapa hari pengaturan dapat dilaksanakan.
Matematika diskrit
IV-30
Bab IV
teori graf
4.9. Berapa jumlah minimum simpul yang diperlukan agar sebuah graf dengan 11 buah sisi menjadi planar.
4.8. Diberikan Peta jalur transpotasi suatu kota sbb :
A
20
5
25
B
20
17
E C
5
D
Nyatakan representasi graf untuk jalur transpotasi tersebut dalam bentuk matriks M = (mij), dimana nilai mij = 0 jika jalur tidak terhubung langsung dan mij = angka pada masing ruas jika terhubung langsung. A,B,C,D dan E menyatakan terminal, angka pada tiap ruas menyatakan jarak antar terminal dan arah panah menyatakan jalur yang boleh dilalui.
4.9. Tuliskan representasi matriks adjacency
⎧ ∞, apabila vi , v j tak terhubung langsung
M= {aij}= ⎨ ⎩ bobot pada sisi, apabila vi , v j terhubung langsung dari graph berikut :
4.10. Diberikan graf yang menyatakan jalur transpotasi tempat pariwisata di Bali, apabila simpul menyatakan tempat pariwisata sedangkan sisi menyatakan jarak antara lokasi.
Matematika diskrit
IV-31