KONSEP DASAR TEORI GRAF

21

BAB III KONSEP DASAR TEORI GRAF

Pada bab ini akan diperkenalkan konsep-konsep dasar dari teori graf. Graf biasa dilambangkan dengan G, verteks atau simpul dilambangkan dengan V dan busur atau garis dilambangkan dengan E. Sebuah graf G terdiri dari himpunan VG dari simpul, himpunan EG dari busur dan suatu relasi insidensi yang menghubungkan setiap busur. Jika e adalah sebuah busur dari G dengan ujung u dan v maka e dikatakan menghubungkan u dan v. Definisi 3.1 Sebuah busur dikatakan berinsidensi insident, jika simpul tersebut terdapat busur yang menghubungkannya dengan simpul yang lain. Sebuah busur yang memiliki ujung yang sama dikatakan loop. Misalkan busur berarah a berinsidensi dari simpul a dan berinsidensi ke simpul a, maka dikatakan loop. Dengan kata lain loop merupakan sebuah busur yang berinsidensi dari dan ke simpul yang sama. Pada Gambar 3.1 diberikan sebuah contoh graf G dengan VG = {v 1 , v 2 , ..., v 5 } dan EG = {e 1 , e 2 , ..., e 8 }. Busur e 8 merupakan loop. Gambar lain dari Graf G digambarkan pada Gambar 3.2 : v 2 e 1 e 5 e 7 v 1 e 3 e 4 e 8 v 4 v 5 e 2 e 6 v 3 Gambar 3.1 v 2 e 1 e 5 e 4 e 3 v 1 e 8 v 5 e 7 v 4 e 2 e 6 v 3 Gambar 3.2 22 Definisi 3.2 Dua simpul dikatakan berdampingan adjacent, jika kedua simpul tersebut dihubungkan oleh sebuah busur. Pada busur berarah a,b, simpul a dikatakan berdampingan adjacent ke simpul b, dan simpul b dikatakan berdampingan adjacent dari simpul a. Definisi 3.3 Sebuah simpul dikatakan simpul terasing atau terisolasi jika tidak terdapat busur yang berinsidensi dengannya. Sebuah busur dari suatu graf dikatakan insidensi jika busur tersebut memiliki satu simpul persekutuan. Dua simpul dikatakan berdampingan jika simpul-simpul tersebut berada pada ujung garis yang sama. Sebuah simpul dikatakan terasing jika tidak ada busur yang menghubungkannya dengan simpul yang lain. e 3 e 1 v 1 v 2 e 4 e 2 v 5 v 6 e 6 v 3 v 4 e 5 Gambar 3.3. Graf dengan 6 simpul dan 6 busur Perhatikan Gambar 3.3 di atas : v 6 merupakan simpul terasing, karena tidak ada busur yang menghubungkan simpul v 6 dengan simpul lainnya. Busur e 1 merupakan loop, karena menghubungkan v 2 dengan dirinya sendiri. Busur e 2 , e 5 dan e 6 insidensi pada v 4 . v 1 dan v 2 berdampingan, karena berada pada satu garis yaitu e 3 . Secara umum, bentuk graf tidak unique atau tunggal. Definisi 3.4 Suatu graf dikatakan multiple edges jika terdapat lebih dari 1 busur yang menghubungkan pasangan titik yang sama. 23 Pada Gambar 3.2 didapatkan bahwa busur e 3 dan e 4 multiple edges. Simpul v 2 dan v 3 sama-sama dihubungkan e 3 dan e 4. Definisi 3.5 Suatu graf dikatakan simpel atau sederhana jika tidak memiliki loop dan multiple edges . Contoh 3.1 : v 1 v 2 v 3 v 4 Gambar 3.4 Graf Simpel Gambar 3.1 dan Gambar 3.2 merupakan graf tidak simpel Definisi 3.6 Suatu graf dikatakan graf complete atau graf lengkap jika graf tersebut simpel dan setiap pasangan simpul yang berbeda dihubungkan oleh satu busur. Graf complete yang mempunyai n titik dinotasikan K n . K n punya     2 n = 1 2 1 − n n busur. Bukti : 1 2 1 2 2 2 1 2 2 2 − = − − − = − = n n n n n n n n C n Definisi 3.7 Graf yang memiliki himpunan simpul yang dapat dipartisi menjadi 2 himpunan X dan Y, di mana ujung satunya di X dan ujung yang lain di Y, dinamakan graf Bipartite . Definisi 3.8 Graf Bipartite Complete adalah graf Bipartite dengan bipartisi X,Y di mana setiap simpul X dihubungkan dengan setiap simpul Y. Graf Bipartite Complete dinotasikan dengan K m,n , di mana X = m dan = Y n. 24 Contoh 3.2 : K 1,3 K 2,3 K 3,3 Gambar 3.5 Catatan : Graf Bipartite tidak mungkin punya loop, tidak harus simpel tetapi punya multiple edges . Sebuah graf G adalah k-colourable jika simpul-simpulnya dapat diwarnai, tidak lebih dari k-warna, di mana tidak ada dua simpul yang berdampingan diwarnai yang sama. Jika graf G 2-colourable, maka graf ini memiliki bipartisi X,Y dengan simpul dari X diberi 1 warna dan simpul di Y diberi warna lainnya. Kesimpulannya, jika G merupakan graf Bipartite maka G merupakan 2- colourable. Oleh karena itu, kita dapat mengatakan bahwa graf G bipartite jika dan hanya jika 2-colourable.Jika G merupakan graf Bipartite akan mempunyai 2 warna atau yang lebih dikenal dengan istilah 2-colourable. Contoh 3.3 : Mana dari graf di bawah ini yang merupakan graf Bipartite ? u 2 v 2 v 5 u 6 u 5 v 1 v 3 v 6 v 8 u 4 u 7 v 4 v 7 u 1 u 3 G 1 G 2 Gambar 3.6 25 Jawaban : G 1 tidak 2-colourable, karena graf ini berbentuk segitiga dengan simpul u 1 u 2 u 3 . Jadi G 1 bukan merupakan graf Bipartite. Selain itu, G 2 adalah 2- colourable seperti yang ditunjukkan pada Gambar 3.7 di bawah ini : v 2 v 5 hitam v 1 v 3 v 6 v 8 putih v 4 v 7 Gambar 3.7 Kita mendapatkan bahwa graf di atas 2-colourable. Pertama, simpul v 1 diwarnai hitam. Kemudian simpul v 2 , v 3 dan v 4 yang berdampingan dengan v 1 diberi warna putih. Simpul v 5 , v 6 , dan v 7 yang berdampingan ke satu atau lebih dari simpul v 2 , v 3 dan v 4 diwarnai hitam. Terakhir, simpul v 8 yang berdampingan dengan simpul v 5 , v 6 , dan v 7 diberi warna putih. Jadi G 2 adalah sebuah graf Bipartite dengan bipartisi X,Y di mana X = {v 1 , v 5 , v 6 , v 7 } dan Y = {v 2 , v 3 , v 4 , v 8 }. Gambar alternatif dari G 2 digambarkan sebagai berikut : v 1 v 5 v 6 v 7 G 2 v 2 v 3 v 4 v 8 Gambar 3.8 Catatan : Contoh di atas merupakan cara sederhana untuk menentukan apakah graf yang diberikan Bipartite atau tidak. Definisi 3.9 Sub graf dari graf G adalah graf H dengan sifat : 1. G V H V ⊆ 2. G E H E ⊆ 26 3. Jika e adalah busur H yang menghubungkan simpul u dan v maka e adalah busur G yang menghubungkan u dan v. Definisi 3.10 Jika sub graf H dari G tidak identik atau tidak sama terhadap G maka H dikatakan proper sub graf dari G. Definisi 3.11 Jika jumlah simpul di H sama dengan jumlah simpul di G VH = VG maka H dikatakan spanning subgraf dari G. Contoh 3.4 : v 1 v 2 v 1 v 2 v 1 v 2 v 5 v 5 v 5 v 6 v 6 v 6 v 8 v 7 v 8 v 8 v 7 v 4 v 3 v 4 v 3 v 4 v 3 G A proper subgraph A spanning subgraph of G. of G. Gambar 3.9 Derajat dv dari simpul v di G adalah jumlah busur di G yang insiden dengan v. Jika loop dihitung 2 busur. Contoh 3.5 : Dari graf G, buktikan bahwa : ∑ ∈ = 2 G V V G E v d Bukti : Ketika menjumlahkan derajat simpul-simpul dari G, kita menghitung masing-masing busur di G dua kali, satu kali untuk setiap dua simpul yang insiden dengan busur loop dihitung sebagai dua busur. Jadi, jumlah derajat dari simpul- simpul di G sama dengan dua kali jumlah busur di G. 27 Definisi 3.12 Graf G dikatakan k-regular, jika setiap simpul di G punya derajat k. Graf complete K n = n-1-regular, di mana n menunjukkan jumlah simpul. Graf complete bipartite K n,n = n regular. Contoh 3.6 : Sebuah perusahaan membutuhkan 6 pekerja W 1 , W 2, ..., W 6 untuk 6 pekerjaan J 1 , J 2 , ..., J 6 dengan permintaan keahlian yang berbeda. Setiap pekerja dikualifikasi utnuk satu atau lebih pekerjaan, seperti yang ditunjukkan di bawah ini : Pekerja Pekerjaan yang dikualifikasikan W 1 J 1 , J 2 dan J 3 W 2 J 2 dan J 4 W 3 J 1 dan J 3 W 4 J 3 , J 5 dan J 6 W 5 J 2 W 6 J 4 dan J 5 Dapatkah semua pekerja ditugaskan sehingga tiap orang untuk 1 pekerjaan yang dikualifikasikan ? Penyelesaian : Kita dapat membentuk graf Bipartite G dengan bipartisi X,Y dimana misal X = pekerja = { W 1 , W 2, ..., W 6 } Y = pekerjaannya = { J 1 , J 2 , ..., J 6 } W 1 dihubungkan dengan J k jika dan hanya jika W 1 dikualifikasikan untuk pekerjaan J k . Graf hasil digambarkan pada Gambar 3.10. W 1 W 2 W 3 W 4 W 5 W 6 G J 1 J 2 J 3 J 4 J 5 J 6 Gambar 3.10 Penugasan mungkin jika dan hanya jika G memuat 1 regular spanning graf sub graf yang memiliki 1 faktor. Graf di atas hanya latihan untuk menentukan apakah sub graf ada. Salah satu dari sub graf ditunjukkan oleh Gambar 3.11 di bawah ini, dengan busur-busur dari sub graf diberi garis tebal. 28 W 1 W 2 W 3 W 4 W 5 W 6 J 1 J 2 J 3 J 4 J 5 J 6 Gambar 3.11 Jadi penugasan pekerja untuk tiap jenis pekerjaan yang dikualifikasikan mungkin. Penugasan yang dilakukan seperti di bawah ini : Pekerja Pekerjaan W 1 W 2 W 3 W 4 W 5 W 6 J 1 J 4 J 3 J 6 J 2 J 5 Tabel 3.1 Catatan : 1. Diberikan graf Bipartite G dengan bipartisi X,Y maka G mempunyai 1- regular spanning subgraf , jika dan hanya jika i Y X = {jumlah bipartisi X=Y} ii untuk himpunan bagian S dari simpul X sedikitnya S dari Y yang berdampingan ke satu atau lebih S. Contoh : W 5 J 2 W 1 J 1, J 2 , J 3 2. Ada sebuah algoritma yang disebut Metode Hungarian, menugaskan n orang untuk n pekerjaan sehingga tiap orang punya tugas sesuai dengan yang dikualifikasikan. Definisi 3.13 Walk dalam graf G merupakan barisan non-null berhingga w = v e 1 v 1 e 2 v 2 ... e k v k di mana menunjukkan titik dan busur sehingga untuk k i ≤ ≤ 1 , ujung e i = v i-1 dan v i . W dikatakan walk dari v asal ke v k tepat berhenti atau v -v k -walk. 29 Panjang walk merupakan jumlah busur dari w. Jika simpul v o , v 1 , ..., v k dari walk w berbeda maka disebut lintasan atau path. Jika panjangnya positif dan asal serta simpul berhentinya sama maka dikatakan walk tertutup. Cycle merupakan walk tertutup yang memiliki asal dan simpul-simpul di dalamnya berbeda. Jadi dapat disimpulkan bahwa sebuah lintasan pasti merupakan walk tetapi walk belum tentu merupakan lintasan. Gambar 3.12 mempunyai banyak cycle, contohnya v e 1 v 1 e 2 v 2 e 10 v 5 e 7 v adalah cycle dengan panjangnya 4. e 3 v 1 e 2 v 2 e 1 e 4 Walk: v e 1 v 1 e 8 v 5 e 10 v 2 e 3 v 2 v e 8 e 9 e 11 v 3 e 10 Path : v e 1 v 1 e 8 v 5 e 6 v 4 e 5 v 3 e 7 e 5 v 5 e 6 v 4 Gambar 3.12 Cycle : v e 1 v 1 e 8 v 5 e 7 v dengan panjang atau length 3 Length atau panjang merupakan jumlah dari busurnya. Contoh 3.7: Tunjukkan jika G merupakan graf bipartite dan tidak punya cycle dari length ganjil Bukti : Misal C = v e 1 v 1 e 2 v 2 ... e k-1 v k -1 e k v adalah cycle di G. G bipartite jika 2- colourable . Jadi simpul C dapat diwarnai dengan 2 warna berbeda, jika dan hanya jika simpul lainnya berbeda warna. Simpul v , v 2 , v 4 , ..., v k-2 diberi satu warna dan v 1 , v 3 , v 5 , ..., v k-1 diberi warna lainnya. Satu kemungkinannya, k bilangan bulat genap dan c sebuah cycle dengan length genap. 30 Catatan : Graf yang tidak punya cycle dari length ganjil adalah bipartite. Dengan kata lain graf dikatakan bipartite jika dan hanya jika tidak punya length cycle ganjil. Dua simpul u dan v dari graf G dikatakan terhubung jika ada lintasan u,v di G. Graf G terhubung jika setiap pasangan titik G terhubung, selainnya dari G tidak terhubung. Maksimal sub graf terhubung dari G disebut komponen G. Gambar 3.13 mengilustrasikan definisi ini. Gambar 3.13 Graf tidak terhubung dengan 5 komponen Dari Gambar 3.13, diperoleh sub graf yang terhubung maksimal 5 komponen. Dengan kata lain dari gambar di atas berarti ada 5 komponen, 9 simpul dan 8 busur. Sebuah graf terhubung tanpa cycle disebut tree atau pohon. Dalam pohon ada 2 simpul terhubung oleh lintasan yang tunggal. Pemindahan sembarang busur dari pohon menghasilkan graf tak terhubung. Dengan kata lain sebuah pohon adalah minimal graf terhubung dalam arti memiliki jumlah busur paling sedikit. Contoh 3.8 : Tunjukkan bahwa setiap graf terhubung memiliki pohon perentang Jawab : Misal G graf terhubung dan T adalah minimal sub graf perentang terhubung. Akan ditunjukkan bahwa T adalah pohon dan T tidak punya cycle. Ambil busur e yang menghubungkan x dan y di T. Selama T adalah minimal penghapusan e dari hasil T pada graf tak terhubung. Jadi ada simpul u dan v di T, yang tak terhubung di sub graf T-e dengan menghapus busur e. P menyatakan lintasan u-v di T, lintasan ini ada selama T terhubung. Jelas bahwa e terdapat di P. x mendahului y di P lihat Gambar 3.14. 31 x y v u e V Gambar 3.14 Jika e ada di cycle C di T, maka x dan y akan terhubung di T-e oleh lintasan C-e lihat Gambar 3.15. Tetapi, kemudian u dan v akan dihubungkan ke T-e, selama di T-e, u dihubungkan dengan x dan v dihubungkan dengan y. e tidak dapat masuk ke cycle T. Jadi T adalah pohon. Gambar 3.15 mengilustrasikan hasil pembuktian di atas. G a spanning tree of G Gambar 3.15 Jika dua simpul u dan v terhubung di graf G, jarak du,v antara u dan v merupakan panjang lintasan u,v yang paling pendek di G. Jika tidak ada lintasan yang menghubungkan u dan v di G, kita definisikan du,v tak terbatas. Diameter dari graf G dinyatakan sebagai Diam G, yang didefinisikan sebagai berikut. Diam G = } , { max , v u d G V v u ∈ Distance merupakan jarak terpendek dan Diam merupakan maksimum dari distance graf G. 32 Contoh 3.9 : Cari diameter dari graf berikut v 2 v 3 d v 1 ,v 7 = 1 d v 1 ,v 5 = 3 v 1 v 7 v 8 v 4 d v 1 ,v 8 = 2 d v 2 ,v 5 = 2 v 6 G v 5 diam G = 3 Gambar 3.16 Dalam rancangan jaringan, diameter dari sebuah graf merupakan sebuah parameter penting yang menghubungkan jumlah maksimum dari jaringan termasuk pesan antara dua pusat dalam jaringan harus dilalui. Jadi, diameter merupakan ukuran keefisienan dan keefektifan yang penting dalam jaringan di mana waktu ditunda atau signal diturunkan secara proporsional terhadap panjang lintasan yang akan digunakan. Contohnya jaringan komunikasi. Kegunaan penting dari parameter untuk mengukur kehandalan jaringan adalah konektivitas, yang akan dibahas pada Bab 7. Tujuan kita adalah mengembangkan algoritma yang dapat diimplementasikan ke dalam komputer sehingga kita dapat menspesifikasikan graf ke dalam program komputer. Representasi Graf pada Matriks Di dalam suatu graf seringkali perhitungan-perhitungan yang dikerjakan akan lebih sederhana bila graf yang dihadapi dinyatakan dalam bentuk matriks. Dalam pembahasan ini, ada tiga bentuk representasi matriks dari suatu graf, yaitu:

1. Matriks Adjasensi

Matriks Adjasensi dari G dengan m × m matriks A = [a ij ] menunjukkan jumlah busur yang menghubungkan v i dan v j . X ij bernilai 1 jika busur i. j ∈ E mempunyai arah dari simpul i ∈ V ke simpul j ∈ V, dan bernilai 0 jika tidak ada hubungan sama sekali. Jika loop diberi nilai 2. 33 Jika graf G merupakan graf tak berarah, setiap busur i, j dapat dinyatakan sebagai suatu busur dengan dua arah. Dalam hal ini matriks Adjasensi X merupakan matriks simetris. Contoh 3.10 : e 6 e 7 v 1 v 2 v 6 e 4 e 5 e 3 v 3 v 4 v 5 e 1 e 2 Gambar 3.17 Matriks Adjasensi X dari graf berarah pada Gambar 3.17 adalah :                     = = 1 1 1 1 1 1 1 ] [ ij X X e 6 e 7 v 1 v 2 v 6 e 4 e 5 e 3 v 3 v 4 v 5 e 1 e 2 Gambar 3.18 Matriks Adjasensi X dari graf tak berarah pada Gambar 3.18 adalah :                     = = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ] [ ij X X Beberapa sifat penting dapat diturunkan dari representasi matriks suatu graf berarah maupun graf tak berarah. Dengan melihat contoh di atas, dapat diturunkan sifat bahwa : 34 Matriks Adjasensi X dari graf berarah : Suatu kolom yang seluruh elemennya bernilai 0 menyatakan suatu sumber. Suatu baris yang seluruh elemennya bernilai 0 menyatakan suatu muara. Jika seluruh elemen diagonal utamanya bernilai 0, maka menyatakan tidak terdapat loop dalam graf tersebut. Sebaliknya, suatu elemen yang tidak bernilai 0 pada diagonal menyatakan suatu loop. Matriks X tidak simetri. Matriks Adjasensi X dari graf tak berarah : Jika pada graf ditambahkan suatu simpul yang tidak terhubung, maka pada matriks X akan ditambahkan pula baris dan kolom yang seluruh elemennya bernilai 0. Matriks X simetris. Elemen yang tidak bernilai 0 pada diagonal menyatakan suatu loop.

2. Matriks Insidensi

Secara khusus, jika VG = {v 1 ,v 2 , ..., v m } dan EG = {e 1 , e 2 , ..., e n } kita definisikan sebagai matriks Insidensi dari G dengan ordo m × n. Matriks Insidensi Z dari graf berarah merupakan matriks [z ij ] di mana z ij bernilai 1 jika simpul i merupakan simpul awal busur, z ij bernilai -1 jika simpul i merupakan simpul akhir busur, dan bernilai 0 jika lainnya. Berdasarkan Gambar 3.17, matriks Insidensi Z dari graf berarah tersebut adalah :                     − − − − − − − = = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ] [ ij Z Z Matriks Insidensi Z dari graf tak berarah adalah matriks [z ij ] di mana z ij bernilai 1 jika simpul i dihubungkan dengan busur dan bernilai 0 jika lainnya. Matriks Insidensi dari graf tak berarah Gambar 3.18 adalah : 35                     = = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ] [ ij Z Z Dari representasi matriks Insidensi Z pada contoh di atas dapat dilihat bahwa : Pada graf tak berarah : Jumlah elemen tidak nol pada suatu baris menunjukkan derajat dari simpul. Setiap kolom mempunyai tepat dua elemen yang tidak nol. Suatu kolom yang hanya mempunyai satu elemen tidak nol menunjukkan suatu gelung. Pada graf berarah : Pada suatu baris yang semua elemen-elemen tidak nolnya adalah 1 menunjukkan bahwa barisan simpul merupakan suatu sumber. Suatu baris yang semua elemen-elemen tidak nolnya adalah -1 menunjukkan bahwa baris simpul merupakan muara. Jumlah elemen 1 pada suatu baris menunjukkan derajat keluar dari baris simpul. Jumlah elemen -1 pada suatu baris menunjukkan derajat masuk dari simpul. Setiap kolom mempunyai satu elemen -1 dan satu elemen 1. Hal ini sebagai akibat bahwa setiap busur selalu mempunyai satu simpul awal dan satu simpul akhir.

3. Matriks Biaya

Diberikan jaringan GV, E, W matriks biaya C dari jaringan G merupakan matriks [C ij ] di mana C ij menyatakan biaya pengangkutan satu satuan barang pada busur i, j. Pada representasi di atas, C ij menyatakan bobot wi, j. Matriks biaya C tersebut merupakan matriks bujur sangkar n × n. Bilamana G merupakan jaringan tak berarah maka matriks C merupakan matriks yang simetri. 36 Graf terboboti merupakan graf G di mana setiap busur e dan G memiliki bilangan real we yang disebut bobot. Jika H merupakan sub graf terboboti dari G, maka bobot wH didefinisikan sebagai ∑ ∈ = H E e e w H w Contoh 3.11 : Jaringan komunikasi dapat dinyatakan dalam graf terboboti. Titik G adalah pusat T 1 , T 2 , ..., T n . Kita menghubungkan dua titik dengan sebuah busur jika link komunikasi dapat diinstall antara pusat yang berhubungan, biaya untuk menginstall dinyatakan sebagai bobot suatu busur. Bobotnya tidak negatif, selama bobot tersebut menyatakan biaya. Graf berarah adalah suatu graf G di mana setiap busur mempunyai arah. Sebuah digraf D terdiri dari himpunan simpul VD, himpunan busur berarah dan sebuah relasi insidensi yang menghubungkan setiap busur D yang merupakan pasangan berurut di D. Jika a adalah sebuah busur dari D yang menunjukkan pasangan terurut u,v, maka a dikatakan yang menghubungkan u ekornya a ke v kepalanya a. Sebuah digraf dikatakan simpel jika tidak punya loop dan tidak ada dua busur yang memiliki pangkal dan ujung yang sama. Seperti halnya graf, digraf dapat dilambangkan di mana verteks dilambangkan dengan titik, busur oleh garis dan panah diletakkan di atas busur untuk menunjukkan arah. Diberikan graf G, kita dapat memperoleh digraf D dari G dengan: i menentukan arah untuk setiap busur G ii mengubah setiap busur G dengan suatu pasangan yang memiliki arah busur yang berbeda. G Gambar 3.19 37 Graf yang diperoleh dengan cara i disebut Orientasi Graf G. Diberikan sebuah digraf D, kita dapat memperoleh graf G dengan mengubah setiap busur di D dengan suatu busur yang menghubungkan ujung yang sama. Graf G yang diperoleh dengan cara ii disebut Underlying Graf G. Sebuah jalan berarah di D merupakan barisan tak kosong berhingga W = v o a 1 v 1 a 2 ... a k v k di mana menunjukkan simpul dan busur, dan untuk k i ≤ ≤ 1 busur a i menghubungkan v i-1 ke v i . Jumlah busur di W disebut panjang W. Jika titik v 0, v 1, ..., v k berbeda dan jalan berarah yang merupakan lintasan, maka disebut lintasan berarah Dipath . Contoh 3.12 : Tentukan graf berarah terboboti D, di mana busur terboboti menunjukkan rata-rata alur maksimum, dan alur maksimum di antara pasangan titik tertentu dalam jaringan. Solusi : Solusi dari permasalahan di atas dapat diselesaikan dengan mengembangkan algoritma yang tepat. Penggunaan suatu algoritma biasanya didasarkan pada waktu prosesnya. Hal inilah yang mendasari kita untuk membicarakan algoritma kompleksitas waktu. Algoritma dikelompokkan berdasarkan waktu proses dari implementasi dalam komputer, tergantung ukuran masukan input. Dalam algoritma teori graf, masukan yang dimaksud berupa jumlah simpul dan busur. Biasanya pernyataan di atas digunakan untuk memperkirakan jumlah operasi dasar komputer penjumlahan, perkalian, dan perbandingan yang dibutuhkan dalam proses algoritma. Jika algoritma memproses masukan waktu cn 2 untuk beberapa konstanta c, maka waktu kompleksitas Tn dari algoritma dapat ditulis On 2 dibaca “order n 2 ”. Secara umum, Tn disebut Ofn, jika ada a konstanta real c0 sehingga Tn ≤ cfn untuk semua bilangan n. Waktu kompleksitas dari sebuah algoritma menunujukkan ukuran masalah yang dapat diselesaikan. Tabel 3.2 dan 3.3 di bawah memberikan ilustrasi tentang hal di atas. Kita asumsikan bahwa komputer mempunyai kecepatan 10 6 per detik. 38 Ukuran n Algoritma Kompleksitas 20 30 60 A 1 A 2 A 3 A 4 A 5 n 2 n 3 n 5 2 n 3 n 0,0004 detik 0,008 detik 3,200 detik 1,049 detik 58,113 menit 0,0009 detik 0,027 detik 24,300 detik 17,896 menit 6,529 tahun 0,0036 detik 0,216 detik 12,96 detik 366 abad 1,3x10 13 abad Tabel 3.2. Waktu Proses Untuk Berbagai Algoritma Ukuran n Algoritma Kompleksitas Komputer sekarang Komputer 100 x lebih cepat Komputer 1000 x lebih cepat A 1 A 2 A 3 A 4 A 5 n 2 n 3 n 5 2 n 3 n 60.000 1.533 81 32 20 600.000 7.114 205 38,4 24,2 1.897.367 15.326 325 41,7 26,3 Tabel 3.3 Ukuran Maksimum Pemecahan Masalah Dalam Satu Jam Waktu Komputer Tabel 3.3 memberikan masalah besar yang dapat diselesaikan dalam 1 jam oleh komputer dengan kecepatan berbeda. Untuk algoritma A 4 dan A 5 , sebuah komputer yang cepat tidak dapat menyelesaikannya. Sebuah algoritma di mana Tn adalah polinomial terbanyak dalam n disebut sebagai algoritma polinomial. Sebuah algoritma dikatakan eksponensial jika ada sebuah aplikasi di mana Tn eksponensial di n. Algoritma A 1 dan A 3 adalah polinomial selama algoritma A 4 dan A 5 adalah eksponensial. Algoritma eksponensial tidak efisien dan biasanya merupakan variasi dari penelusuran ekshaustive. Tujuan kita adalah mengembangkan algoritma polinomial. Algoritma polinomial menentukan sebuah algoritma di mana Tn eksponensial di n. Jika n 2 , n 3 , n 5 maka polinomial n k , k = 1,2,3, ... Jika 2 n , 3 n maka eksponen k n , k = 1,2, ... 39 LATIHAN SOAL 1. Diberikan graf G di bawah ini : v 2 v 3 v 1 G v 4 v 7 v 6 v 5 a Berikan sebuah contoh : i sebuah jalan tetapi bukan lintasan, ii sebuah lintasan iii sebuah cycle b Tentukan jarak dari v 6 ke setiap simpul lainnya di graf G c Tentukan sebuah sub graf perentang di G yang tidak punya cycle. d Tentukan matriks adjasensi dan insidensi dari G 2. Berikan sebuah contoh dari graf yang i tidak mempunyai simpul yang berderajat ganjil ii tidak mempunyai simpul yang berderajat genap iii mempunyai 4 komponen, 6 simpul dan 3 busur iv 3-regular tetapi tidak lengkap. 3. a Misalkan m dan n adalah bilangan bulat sehingga n m ≤ ≤ 1 . Berikan contoh graf yang mempunyai n simpul dan m komponen. b Apakah mungkin bagi sebuah graf untuk mempunyai komponen lebih dari simpulnya ? Jelaskan 40 4. Mana dari graf di bawah ini yang merupakan graf bipartite ? 5. Jika mungkin, gambarkan graf G yang memiliki sifat berikut, dan jika tidak ada jelaskan mengapa ? a G adalah graf simpel dengan derajat simpulnya 2, 3, 4, 4 dan 5 b G adalah graf simpel dengan tepat hanya 3 simpul yang berderajat 5 c G adalah graf bipartite regular yang tidak terhubung. d G adalah pohon dengan 5 simpul dan 6 busur e G adalah graf di mana untuk n simpul mempunyai lintasan dengan panjang maksimal 3 antara tiap pasangan simpul. 6. Berapa banyak busur yang mungkin dari : a sebuah graf bipartite b sebuah graf k-regular ? 7. Tunjukkan bahwa dalam sebuah graf simpel, jumlah simpul dari derajat ganjil adalah genap 8. Misalkan G adalah graf dengan 15 simpul yang terdapat dalam 4 komponen. Tunjukkan bahwa sedikitnya satu komponen yang mempunyai 4 simpul atau lebih 41 9. Untuk setiap graf yang digambarkan dibawah ini, tentukan mungkin atau tidak untuk mengorientasikan tiap graf sehingga digraf yang dihasilkan mempunyai sedikitnya satu dipath antara sedikitnya dua simpul. Jelaskan 42

BAB IV BEBERAPA ALGORITMA GRAF