Graph Theory Lecture Note Part 1

(1)

BAB I

PENGENALAN TENTANG APLIKASI MATEMATIKA DISKRET

I.1. Pendahuluan

Banyak masalah kehidupan sehari-hari yang dapat diabstraksi sebagai masalah yang berkaitan dengan himpunan benda-benda diskret dan relasi biner pada benda-benda tersebut. Sebagai contoh, marilah kita perhatikan serangkaian pol pendapat umum yang dilakukan untuk menentukan kepopuleran para calon presiden. Dalam setiap pol yang diadakan, ingin diketahui pendapat para pemilih tentang dua di antara para calon, dan lalu ditentukan siapa favoritnya. Hasil pol-pol tersebut ditafsirkan sebagai berikut :

Calon a dianggap lebih favorit daripada calon b jika salah satu di antara tiga kondisi berikut dipenuhi :

1. Calon a lebih favorit daripada calon b di dalam pol yang diadakan antara keduanya.

2. Calon a lebih favorit daripada calon c di dalam sebuah pol, sedangkan calon c lebih favorit daripada calon b di dalam pol yang lain.

3. Calon a lebih favorit daripada calon c, dan calon c lebih favorit daripada calon d, dan calon d lebih favorit daripada calon b di dalam tiga pol terpisah yang diadakan, dan begitu seterusnya.

Untuk dua calon tertentu, misalnya kita ingin tahu apakah salah satu lebih kuat daripada yang lain atau tidak. Misalkan S = {a, b, c, ...} himpunan para calon presiden dan R sebuah relasi biner pada S sedemikian rupa sehingga (a,b) ada di dalam R jika pol antara a dan b diadakan dan a terpilih sebagai calon yang lebih favorit.

Relasi biner pada suatu himpunan dapat disajikan dalam bentuk tabel atau grafik. Misalkan relasi biner pada Gambar 1.1.a dan Gambar 1.1.b mempresentasikan hasil-hasil pol yang diadakan. Kita lihat bahwa calon a lebih favorit daripada calon e sebab pasangan terurut (a, b), (b, d), (d, e) ada di dalam R.


(2)

a

a b c d e a

b b e c

d e

c d (a) (b)

Gambar 1.1 Hasil pol yang diadakan

Sebagai ilustrasi lain, misalkan sejumlah kota dihubungkan oleh jalan-jalan raya. Bila diberikan peta jalan-jalan-jalan-jalan raya tersebut, kita mungkin ingin mengetahui apakah ada rute jalan raya antara kedua kota pada peta tersebut. Dalam berbagai masalah yang berkaitan dengan benda-benda diskret dan relasi biner, representasi grafik seringkali merupakan bentuk penyajian yang memudahkan. Hal ini menuntun kita pada pembelajaran tentang teori graf, suatu pembelajaran tentang aplikasi dari Matematika Diskret.

I.2. Penerapan Graf Dalam Persoalan Matematika Diskret

Graf dapat didefinisikan sebagai kumpulan simpul-simpul yang dihubungkan dengan garis. Simpul biasa dinyatakan dengan istilah verteks dan garis biasa dinyatakan dengan istilah edges atau busur.

Contoh :

1.1Struktur kimia adalah kumpulan atom-atom yang terikat menurut aturan ikatan kimia tertentu.

Sebagai contoh, CH4 (Metana) merupakan ikatan kimia yang terdiri dari 1

atom C dan 4 atom H, sehingga terbentuk ikatan seperti di bawah ini. H

H C H H

CH4 (Metana) Model Graf


(3)

Dari ikatan yang ada pada Gambar 1.2, dapat diubah ke dalam model graf seperti gambar di sampingnya.

1.2Jaringan komunikasi adalah kumpulan beberapa pusat atau stasiun yang dapat berkomunikasi secara langsung.

Subscriber Group Switching Centre

Local exchange

Gambar 1.3 Jaringan Telepon

Switching Center Model Graf Gambar 1.4 Jaringan Switching

1.3Jaringan lalu lintas adalah kumpulan jalan yang saling berhubungan. Jika digambar dalam bentuk graf, simpul melambangkan persimpangan dan busur melambangkan arah lalu lintas.


(4)

Contoh :

Gambar 1.5 Jaringan Lalu Lintas

Gambar 1.6 Model Graf Jaringan Lalu Lintas

1.4Sebuah papan sirkuit adalah kumpulan komponen yang dihubungkan dengan sebuah lintasan konduktor. Jika digambar dalam bentuk graf, simpul melambangkan simpangan dan busur melambangkan terminal dari komponen. Model alternatif lainnya adalah simpul melambangkan komponen dan busur melambangkan lintasan konduktor antara terminal-terminal dalam komponen.


(5)

Contoh-contoh di atas merupakan beberapa contoh tentang aplikasi graf dalam sistem model yang nyata. Dalam setiap persoalan, graf memberikan sebuah sruktur model tentang sistem yang kita pelajari, menjelaskan interaksi dan hubungan antara berbagai komponen dalam sistem. Sedangkan dalam berbagai persoalan, masalah yang sering muncul dalam pelaksanaannya adalah mendapatkan sebuah penyusunan yang memenuhi semua permintaan, dan optimal menurut beberapa kriteria seperti harga, pengeluaran atau penampilan.

Masalah dasar yang sering muncul pada Matematika Diskret yaitu : 1. Masalah eksistensi

Apakah sedikitnya ada satu penyusunan dalam tipe khusus ? 2. Masalah perhitungan

Berapa banyak penyusunan dari tipe khusus yang ada ? 3. Masalah optimisasi

Diperoleh dengan memilih bentuk dari semua penyusunan yang mungkin untuk tipe yang pasti dan terbaik menurut beberapa kriteria.

Kita dapat mengilustrasikan masalah-masalah ini ke dalam contoh berikut : Contoh 1.5 :

Masalah Alokasi :

Pada permasalahan pengalokasian frekuensi pengangkutan ke stasiun pengirim, dimisalkan ada m saluran (frekuensi) yang mungkin digunakan oleh n stasiun pengirim. Stasiun yang dialokasikan dekat dengan stasiun yang lain dan tidak dapat menggunakan saluran yang sama tanpa menyebabkan percampuran. Jadi, diberikan dua stasiun yang dapat atau tidak dapat dinyatakan bahwa kedua stasiun itu menggunakan saluran yang sama. Sejumlah persoalan terjadi.

Masalah Eksistensi :

Apakah mungkin untuk mengalokasikan sebuah saluran pada setiap gardu di mana untuk dua stasiun yang berbeda saluran harus mempunyai saluran yang berbeda? Jika ya, bagaimana cara mendapatkan alokasi tersebut ?

Masalah Perhitungan :


(6)

Masalah Optimasi :

Berapa jumlah saluran minimum yang memenuhi kondisi alokasi ?

Bagaimana kita dapat memodelkan situasi ini ? Sebuah model graf dapat dikembangkan sebagai berikut. Setiap stasiun dihubungkan oleh simpul dan 2 simpul dihubungkan oleh 1 busur jika dan hanya jika stasiun yang berhubungan tidak menggunakan saluran yang sama.

Sebagai contoh, dimisalkan ada 5 stasiun dan informasi yang ada dinyatakan dalam hubungan matriks berikut.

1 2 3 4 5

1 2 3 4 5 - 1 0 0 1

1 - 1 1 0

0 1 - 1 1

0 1 1 - 1

1 0 1 1 -

Tabel 1.1 1 menunjukkan adanya hubungan (Gardu tidak bisa diberikan pada channel yang sama) dan 0 menunjukkan tidak ada hubungan. Dari informasi yang ada, dapat dibuat model graf seperti di bawah ini. 1

5 2

4 3 Gambar 1.8

Penggambaran matriks konflik yang ada ke dalam bentuk graf tentu saja tidak menyelesaikan masalah. Tetapi, aspek visual dari model graf tersebut


(7)

memberikan beberapa pandangan. Sebagai contoh, pembuatan segitiga ke dalam bentuk graf, menunjukkan bahwa kita membutuhkan sedikitnya tiga saluran yang berbeda. Dapatkah kita membuat alokasi, jika kita hanya mempunyai tiga saluran? Bagaimana kita menyelesaikan masalah eksistensi jika kita hanya punya m saluran? Sebuah alokasi mungkin terjadi hanya jika kita dapat mempartisi simpul dalam graf menjadi m himpunan di mana tidak ada dua simpul dalam himpunan yang sama terhubung oleh sebuah busur. Hal inilah yang membawa kita ke konsep pewarnaan.

Sebuah graf dikatakan Graf k-colourable jika simpul-simpul dalam graf dapat diwarnai dengan syarat 2 simpul yang adjacent (berdampingan) diwarnai berbeda. Sebagai contoh Graf Gi, i = 1, 2, 3, 4, ... yang disajikan ke dalam Gambar

1.8 mempunyai i-pewarnaan.

G1 G2 G3 G4

Gambar 1.9

Sebuah Combinatorial Design merupakan cara memilih himpunan bagian dari suatu himpunan berhingga jika dan hanya jika beberapa kondisi khusus terpenuhi. Kondisi khusus ini disebut dengan mengeliminasi bias.

Contoh 1.6 :

Sebuah percobaan yang dilakukan untuk menguji efek samping dari 5 jenis obat terhadap 5 subyek.

Dimisalkan obat-obat yang ada diberi label 1,2,3,4,5 dan subyeknya diberi nama A,B,C,D,E.

Kemungkinan 1 : A B C D E 1 2 3 4 5

(Subyek A diberi obat berlabel 1, subyek B diberi obat berlabel 2, dan seterusnya.)


(8)

Beberapa subyek mungkin alergi terhadap obat tertentu sehingga hasilnya akan bias.

Kemungkinan 2 : Memberi setiap subyek setiap jenis obat, 5 hari berturut-turut. HARI

Senin Selasa Rabu Kamis Jumat

A 1 2 3 4 5

B 1 2 3 4 5

C 1 2 3 4 5

D 1 2 3 4 5

S U B Y E

K E 1 2 3 4 5

Tabel 1.2

Apakah solusi ini benar ? Hasilnya dapat mengakibatkan bias, karena : (i) Hari-hari tertentu, obat diberikan (Tiap hari sama obat)

(ii) Efek dari obat pertama dapat mempengaruhi efek obat terakhir Bagaimana cara menghilangkan bias ?

Untuk menghilangkan bias, tidak ada 2 subyek yang mendapatkan jenis obat yang sama pada hari yang sama. Jadi muncul tepat 1 kali pada setiap baris dan kolom.

HARI

Senin Selasa Rabu Kamis Jumat

A 1 2 3 4 5

B 2 3 4 5 1

C 3 4 5 1 2

D 4 5 1 2 3

S U B Y E

K E 5 1 2 3 4

Tabel 1.3

Inilah solusi yang terbaik. Sejumlah persoalan akan timbul, seperti : 1. Apakah solusinya tunggal ?

2. Apa yang terjadi, jika kita hanya punya 4 subyek ?

Bentuk matriks yang diberikan di atas dapat disebut dengan istilah Latin Square. Latin square didefinisikan sebagai suatu bentuk matriks di mana antara satu baris dan satu kolom tidak ada yang sel yang sama.


(9)

LATIHAN SOAL

1. Gambarkan sebuah graf yang mewakili setiap komponen kimia berikut ! (a) H H H H

H C C C C H

H H H H C4H10 (Butana)

(b)

H

H C H

H H

H C C C H H H

H

C4H10 (Iso-butane)

Susunan di atas mempunyai komposisi yang sama tetapi berbeda bentuk. Dapatkah kamu menjelaskan mengapa hal ini dapat terjadi ?

2. Untuk masing-masing graf di bawah ini, tentukan minimum warna yang dibutuhkan untuk mewarnai simpul-simpul dibawah ini sehingga simpul yang berdampingan dapat diwarnai berbeda.


(10)

3. Tentukan Latin Square dengan order : (a) 2

(b) 3 (c) 4

4. Dua Latin Square A = (aij) dan B = (bij) dari n order yang sama dikatakan

ortogonal jika n2 order yang berpasangan (aij, bij)semuanya berbeda. Tentukan


(11)

BAB II

GRAF DAN JARINGAN

Pada bab terdahulu diberikan beberapa contoh tentang graf. Dalam bab ini, kita akan melihat beberapa permasalahan khusus dalam rancangan jaringan.

Masyarakat modern didominasi oleh sistem jaringan untuk informasi penyaluran, transportasi rakyat, dan penyaluran barang-barang serta energi. Jaringan telekomunikasi dan jaringan komputer adalah contoh umumnya. Secara luas dikatakan, sebuah jaringan adalah sebuah sistem yang melibatkan aliran atau perpindahan komoditas. Komoditas yang dimaksud dapat berupa benda yang dapat disentuh, seperti komponen elektronik, mobil-mobil, kaleng bir, gas alam atau benda yang tidak dapat disentuh seperti informasi, persahabatan dan hubungan kekeluargaan. Jaringan-jaringan ini dapat dimodelkan ke dalam kesatuan matematika yang disebut graf.

Seperti yang telah dijelaskan dalam pendahuluan, sebuah graf dapat disebut sebagai kumpulan titik yang disebut simpul dan dihubungkan oleh garis yang disebut busur. Graf dapat digunakan sebagai cara yang sangat sederhana untuk memodelkan banyak jaringan. Sebagai contoh, sebuah jaringan komunikasi dapat dimodelkan ke dalam bentuk graf, dengan simpul menyatakan pusat komunikasi (contohnya, saluran telepon) dan busur menyatakan jaringan komunikasi (contohnya, saluran telegraf). Dalam memodelkan sebuah jaringan dengan graf, simpul dalam graf umumnya dinyatakan dalam bentuk titik yang menyatakan asal aliran serta tempat berakhir (contohnya, stasiun kereta api, terminal, pabrik, gudang, dan lain-lain). Busur dalam graf secara umum menyatakan saluran di mana komoditas berakhir (contohnya, trayek kereta api, rute penerbangan, aliran pipa, dan lain-lain).

Sebuah graf memberikan model struktural dari jaringan. Dalam kebanyakan jaringan, metode konstruksi biasanya dinyatakan oleh harga, efisiensi, kehandalan dan kapasitas.


(12)

II.1. Graf

Graf adalah kumpulan simpul atau verteks yang dihubungkan dengan garis atau busur.

Definisi 2.1

Graf adalah himpunan busur dan simpul yang banyaknya berhingga dan busur-busurnya menghubungkan sebagian atau keseluruhan pasangan dari simpul-simpulnya. (C.L. Liu)

Graf G(V, E) terdiri atas himpunan simpul yang dinyatakan dengan V = {v1,v2, v3, ..., vn} dan himpunan busur yang dinyatakan dengan E =

{e1, e2, e3, ..., en} dengan ei = (vi, vj) merupakan busur yang menghubungkan

simpul vi dan simpul vj.

Dalam menggambarkan graf, simpul digambarkan dengan lingkaran kecil atau titik tebal dan busur digambarkan dengan garis, dan arah panah pada garis melambangkan arah dari garis tersebut. Nomor atau nama simpul dapat diletakkan di dalam lingkaran kecil atau di tepi titik tebal.

Busur (i,j) disebut busur berarah jika terdapat suatu aliran dari simpul i menuju ke simpul j. Dalam hal ini simpul i disebut simpul awal, sumber atau pangkal dan simpul j disebut simpul akhir, ujung, tujuan, atau terminal dari busur (i, j). Jika tidak terdapat aliran dari simpul i ke simpul j, maka busur (i, j) disebut busur tidak berarah.

i j i j i j a. busur tak berarah b. busur berarah c. busur dua arah

Gambar 2.1

Penulisan simpul dan busur dari graf G (V, E) yang digunakan seperti Gambar 2.1. Jika simpul s telah diberi nomor i maka cukup ditulis i, dan jika simpul s telah diberi nomor j, maka cukup ditulis simpul j. Demikian juga busur yang menghubungkan simpul i dan j cukup ditulis busur (i,j).

II.2. Jaringan

Suatu jaringan G (V, E, W) terdiri atas himpunan simpul yang dinyatakan dengan V = {v1,v2, v3, ..., vn} dan himpunan busur yang menghubungkan


(13)

simpul-simpul ∈ V dinyatakan dengan E = {e1, e2, e3, ..., en} = {(vi, vj) : vi ∈V } dan

setiap busurpada jaringan diberikan bobot (W).

Dengan kata lain, jaringan merupakan suatu graf yang memiliki bobot pada setiap busurnya. Oleh karena itu, pada umumnya graf dinotasikan dengan G (V, E) dan jaringan dinotasikan dengan G(V, E, W).

Jaringan komunikasi jika dibuat dalam bentuk graf, maka simpul melambangkan pusat komunikasi dan busur melambangkan link komunikasi. Contoh :

Perusahaan memproduksi l tanaman, P1, P2, ..., Pl yang dibutuhkan m outlets

atau pasar M1, M2, ..., Mm. Komoditas khusus disimpan pada n gudang, W1,

W2, ..., Wn. Dalam graf, busur melambangkan hubungan transportasi dan

simpul melambangkan produksi tanaman, gudang dan pasar.

Pada tiap busur, akan ditentukan jumlah maksimum komoditas yang dapat ditransport sepanjang hubungan dan harga transport 1 unit.

Pada simpul mewakili:

Tanaman Pi, i = 1, 2, ..., l . Kita dapat menentukan bobot sebagai rata-rata

produksi tanaman dan harga produksi per unit untuk Pi.

Gudang Wj, j = 1, 2, ..., n. Kita dapat menentukan bobot sebagai

kemampuan penyimpanan pada gudang Wj dan harga penyimpanan satu

unit per waktu.

Pasar Mk, k = 1, 2, ..., m, kita dapat menentukan bobot sebagai permintaan

per waktu, dan harga penjualan komoditas.

Pembahasan selanjutnya tentang seberapa jauh penggunaan graf sebagai model struktural. Sekarang, kita akan membahas beberapa persoalan khusus yang muncul.

Persoalan Penghubung

Sebuah jaringan komunikasi (contohnya, jaringan telepon) yang menghubungkan n pusat atau kota T1, T2, ..., Tn harus diinstall. Masing-masing

pusat mampu untuk menerima dan menyalurkan informasi. Jadi dua pusat dapat berkomunikasi secara langsung maupun tidak langsung. Diberikan contoh n×n matriks C = [cij] di mana cij menyatakan harga penginstallan


(14)

jaringan komunikasi (contohnya, jaringan telepon) antara pusat Ti dan Tj,

disusun menjadi sebuah jaringan untuk mencapai dua tujuan berikut : (i) sedikitnya dua pusat yang dapat berkomunikasi, dan

(ii) jumlah biaya instalasi adalah minimum.

Berdasarkan Persoalan Penghubung di atas, jika n = 6, dan matriks biayanya adalah :

T1 T2 T3 T4 T5 T6

T1

T2

T3

T4

T5

T6

0 5 10 ∞ ∞ 3 5 0 8 4 10 ∞ 10 8 0 5 15 ∞ ∞ 4 5 0 13 7 ∞ 10 15 13 0 2 3 ∞ ∞ 7 2 0

Tabel 2.1

Graf yang digambarkan berdasarkan matriks di atas adalah pada Gambar 2.2. di bawah ini :

T1 5 T2

10 8 3

10 4 T3

T6

15

7 5 2

13

T5 T4

Gambar 2.2

Biaya yang bertanda ∞ artinya pusat yang berhubungan tidak dapat berkomunikasi secara langsung, sehingga kita dapat menghilangkan busur tersebut dari graf kita.

Persoalan Lintasan Terpendek

Perhatian khusus ditujukan untuk menemukan rute terpendek antara pasangan pusat dalam sebuah jaringan. Contohnya, sebuah perusahaan bisnis besar dengan kantor pusat di New York mempunyai beberapa cabang utama di negara-negara seluruh dunia. Kantor pusat mengkoordinasi seluruh kegiatan operasi perusahaan, dan setiap hari seluruh informasi (meliputi permintaan,


(15)

penawaran dan biaya) harus diberikan dari kantor pusat ke kantor-kantor cabang. Informasi yang adadikirimkan via teleks. Diberikan biaya pengiriman pesan melalui teleks antara dua perusahaan, dan ditentukan rute komunikasi termurah dari kantor pusat dan setiap kantor cabang lainnya.

Perusahaan perbankan dengan kantor pusat di New York (NY) dan kantor cabang di Paris (P), Zurich (Z), Berlin (B), Tokyo (T), Hongkong(HK) dan Sydney (S). Setiap hari informasi penting (meliputi permintaan, penawaran dan biaya) harus diberikan dari kantor pusat ke kantor-kantor cabang. Informasi yang ada dikirimkan via teleks. Biaya pengiriman pesan antara dua kantor cabang diberikan dalam matriks di bawah ini :

NY P Z B T HK S NY

P Z B T HK S

0 8 10 12 10 15 20 8 0 2 1 10 10 10 10 2 0 3 12 12 15 12 1 3 0 10 10 10 10 10 12 10 0 3 5 15 10 12 10 3 0 5 20 10 15 10 5 5 0

Tabel 2.2

Graf yang digambarkan berdasarkan matriks di atas adalah pada Gambar 2.3. di bawah ini :

10 P 1

10 B

2 10 10

8 3 10 10

T 12

10 NY 20 5

15 3

10 S

HK 5

Z 12 15

12

Gambar 2.3

Seperti contoh terdahulu, model graf ini memberikan himpunan semua hubungan yang mungkin dan permasalahannya adalah memilih sebuah


(16)

himpunan bagian dari himpunan ini yang menunjukkan bahwa jaringan yang ada sesuai dan jumlah biaya dari pengiriman informasi dari kantor pusat ke kantor cabang dapat diminimalkan.

Persoalan Aliran Maksimum

Persoalan dasar dimulai dengan menentukan jumlah aliran maksimum yang dapat dikirim antara pasangan pusat dalam jaringan. Sebagai contoh sebuah jaringan telepon menghubungkan n pusat (sambungan telepon)

T1, T2, ..., Tn. Jumlah maksimum panggilan langsung yang disebut cij dapat

dibuat per unit waktu antara Ti dan Tj, tergantung jumlah saluran yang

menghubungkan dua pusat. Setiap pusat tentu saja dapat menerima dan mengirim panggilan. Diberikan matriks C = [cij]. Permasalahannya adalah

menentukan jumlah panggilan maksimum yang dapat terjadi antara dua pusat yang diberikan.

Sesuai contoh jika n = 6 dan kapasitas matriks C diberikan seperti di bawah ini

                    = 0 50 80 0 0 0 50 0 20 100 20 0 80 20 0 20 60 0 0 100 20 0 20 80 0 20 60 20 0 40 0 0 0 80 40 0 C

Jaringan yang ada dapat digambarkan sebagai berikut :

C2 60 C4

40 20 80 C1 20 20 C6

80 20 50 100

C3 C5

Gambar 2.4

Perkembangan teori graf diawali dari teka-teki (puzzle). Salah satu teka-tekinya adalah masalah jembatan Konigsberg. Solusi dari teka-teki ini mengilhami beberapa konsep dasar dalam teori graf.


(17)

Sebuah rencana kota tua Konigsberg (sekarang Kaliningrad) di Prussia Timur dan sungai Pregel (sekarang Pregolya) dengan tujuh jembatan perentang ditunjukkan pada Gambar 2.5. Hal ini menunjukkan bahwa masyarakat Konigsberg dapat menghibur diri mereka dengan mengelilingi kota dan menyeberangi tujuh jembatan tepat satu kali. Pada tahun 1736 Leonhard Euler, seorang matematikawan dari Swiss, dalam artikel perdananya mengembangkan sebuah metode untuk menyelesaikan persoalan umum ini.

Gambar 2.5

Metode Euler menjelaskan bahwa setiap daratan dinyatakan dengan simpul dan setiap jembatan dinyatakan dengan busur yang menghubungkan simpul-simpul. Berdasarkan informasi tersebut, dapat dibuat graf seperti di bawah ini :

C

A B

D Gambar 2.6

Hal inilah yang membuat hasil kerja Euler memberikan konsep penting dalam “graf Eulerian” yang muncul dalam kehidupan modern sekarang. Aplikasi hal ini dalam teori graf seperti pengiriman surat, pengeplotan mesin dan masih banyak lagi. Aplikasi ini akan dibahas dalam Bab 6.

A C

D


(18)

LATIHAN SOAL

1. Sebuah perusahaan minuman mempunyai 3 jenis minuman B1, B2, dan B3.

Masing-masing minuman mempunyai kapasitas produksi 5000 karton per bulan. Perusahaan mempunyai outlet di Louisville (M1), Plains (M2), Pittsburg

(M3) dan St. Louis (M4) yang membutuhkan 1.500, 3.500, 2.000, dan 2.500

karton per bulan. Biaya pengiriman per 100 karton minuman Bi, i = 1, 2, 3, ke

outlet-outlet Mj, j = 1, 2, 3, 4 diberikan dalam matriks di bawah ini :

M1 M2 M3 M4

     

   

25 20 35 12

17 18 25 8

20 15 30 5

3 2 1

B B B

a. Gambarkan graf berbobot untuk menunjukkan situasi di atas ! b. Permasalahan optimasi apa yang akan muncul ?

2. Seorang penjual koran bertanggung jawab dalam mengirimkan koran-koran ke rumah-rumah yang ditunjukkan dalam map ini pada sore hari. Karena kemacetan lalu lintas, dia tidak dapat menyeberang jalan kembali dan tidak dapat mengirimkan koran ke rumah-rumah di seberang jalan. Jadi ia harus berjalan sebanyak dua kali. Apakah mungkin bagi penjual koran untuk menentukan rute terpendek agar ia dapat berjalan di jalan itu tepat hanya satu kali ?


(19)

3. Air dikirimkan dari sumber penampungan utama D ke sebuah penampungan cabang lainnya, R, melalui sebuah saluran pipa yang terdiri atas 5 stasiun pemompa P1, P2, ..., P5. Rata-rata air yang dialirkan antara berbagai stasiun per

hari dalam jutaan liter disajikan dalam tabel di bawah ini. D P1 P2 P3 P4 P5 R

                      0 0 0 0 0 0 0 250 0 0 0 0 0 0 200 0 0 0 0 0 0 0 150 0 0 0 0 0 180 160 0 0 0 0 0 0 0 200 0 100 0 0 0 0 0 170 200 230 0 5 4 3 2 1 R P P P P P D

Permasalahannya adalah untuk memaksimumkan aliran air per hari dari sumber penampungan utama ke penampungan cabang lainnya.

(a) Gambarkan jaringannya !

(b) Dimisalkan sebuah penampungan R` ditambahkan ke dalam jaringan. Stasiun pemompa P3, P4 dan P5 dihubungkan ke R` dengan saluran

pipa yang mempunyai kapasitas 50, 75, dan 100 juta liter per hari. Bagaimana perubahan yang terjadi pada jaringan? Permasalahan optimasi apa yang muncul ?

(c) Dimisalkan pompa P4 mempunyai kapasitas maksimum 280 juta liter

per hari dan kapasitas pipa tidak berubah. Bagaimana jaringan dalam soal (a) akan berubah ?

4. Perpustakaan universitas dikelompokkan ke dalam empat fasilitas, dengan nama Catalog (C), Photocopy (P), Jurnal (J) dan Buku baru (B). Sebuah investigasi menjelaskan permintaan harian, dan jumlah peredaran setiap pasangan fasilitas : E C P J B

                − − − − − 26 19 42 32 26 64 125 80 19 64 77 4 42 125 77 200 32 80 4 200 B J P C E


(20)

E menyatakan jalan masuk. Diputuskan untuk mengatur fasilitas-fasilitas ke dalam bentuk jalan, dengan tujuan memaksimumkan jumlah nilai pasangan fasilitas yang berdampingan. Gambarkan model graf untuk persoalan ini ! 5. Sebuah universitas mensponsori seminar setengah hari tentang Optimasi

Kombinatorial. Ada tujuh pembicara, masing-masing dari mereka berbicara selama 1 jam. Seminar ini memerlukan waktu lebih dari 4 jam dan oleh karena itu beberapa pembicara harus menjadwalkan waktunya pada jam yang sama. Matriks berikut memberikan hubungan antara para pembicara dalam seminar. “1” menunjukkan pembicara tidak dapat menjadwalkan pada waktu yang sama dan “-“ menunjukkan tidak ada hubungan.

1 2 3 4 5 6 7

                      − − − − − − − − − − − − − − − − − − − − − − − − − − − 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7 6 5 4 3 2 1

a. Gambarkan matriks di atas ke dalam bentuk graf ! b. Dapatkan seminar diatur dalam waktu yang spesifik ?


(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 V(G) dari simpul, himpunan E(G) 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 V(G) = {v1, v2, ..., v5} dan E(G) = {e1, e2, ..., e8}. Busur e8 merupakan

loop. Gambar lain dari Graf G digambarkan pada Gambar 3.2 : v2

e1 e5

e7

v1 e3 e4 e8

v4 v5

e2 e6

v3

Gambar 3.1 v2

e1 e5

e4

e3 v1 e8

v5 e7 v4

e2 e6

v3


(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.

e3 e1

v1 v2

e4 e2 v5 v6

e6

v3 v4

e5

Gambar 3.3. Graf dengan 6 simpul dan 6 busur Perhatikan Gambar 3.3 di atas :

v6 merupakan simpul terasing, karena tidak ada busur yang

menghubungkan simpul v6 dengan simpul lainnya.

Busur e1 merupakan loop, karena menghubungkan v2 dengan dirinya

sendiri.

Busur e2, e5 dan e6 insidensi pada v4.

v1 dan v2 berdampingan, karena berada pada satu garis yaitu e3.

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 e3 dan e4multiple edges. Simpul v2 dan

v3 sama-sama dihubungkan e3 dan e4.

Definisi 3.5

Suatu graf dikatakan simpel atau sederhana jika tidak memiliki loop dan multiple edges.

Contoh 3.1 :

v1 v2

v3 v4

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 Kn.

Kn 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


(24)

Contoh 3.2 :

K1,3 K2,3 K3,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 ?

u2 v2 v5

u6

u5 v1 v3 v6 v8

u4 u7

v4 v7

u1 u3

G1 G2


(25)

Jawaban :

G1 tidak 2-colourable, karena graf ini berbentuk segitiga dengan simpul

u1u2u3. Jadi G1 bukan merupakan graf Bipartite. Selain itu, G2 adalah 2-colourable seperti yang ditunjukkan pada Gambar 3.7 di bawah ini :

v2 v5

hitam

v1 v3 v6 v8

putih

v4 v7

Gambar 3.7

Kita mendapatkan bahwa graf di atas 2-colourable. Pertama, simpul v1 diwarnai

hitam. Kemudian simpul v2, v3 dan v4 yang berdampingan dengan v1 diberi warna

putih. Simpul v5, v6, dan v7 yang berdampingan ke satu atau lebih dari simpul v2,

v3 dan v4 diwarnai hitam. Terakhir, simpul v8 yang berdampingan dengan simpul

v5, v6, dan v7 diberi warna putih. Jadi G2 adalah sebuah graf Bipartite dengan

bipartisi (X,Y) di mana X = {v1, v5, v6, v7} dan Y = {v2, v3, v4, v8}. Gambar

alternatif dari G2 digambarkan sebagai berikut :

v1 v5 v6 v7

G2

v2 v3 v4 v8

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. V(H)⊆V(G)


(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 (V(H) = V(G)) maka H dikatakan spanning subgraf dari G.

Contoh 3.4 :

v1 v2 v1 v2 v1 v2

v5 v5 v5

v6 v6 v6

v8 v7 v8 v8 v7

v4 v3 v4 v3 v4 v3

G A proper subgraph A spanning subgraph of G. of G.

Gambar 3.9

Derajat d(v) 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 Kn = (n-1)-regular, di mana n menunjukkan jumlah simpul.

Graf complete bipartite Kn,n= n regular.

Contoh 3.6 :

Sebuah perusahaan membutuhkan 6 pekerja W1, W2, ..., W6 untuk 6 pekerjaan J1,

J2, ..., J6 dengan permintaan keahlian yang berbeda. Setiap pekerja dikualifikasi

utnuk satu atau lebih pekerjaan, seperti yang ditunjukkan di bawah ini : Pekerja Pekerjaan yang dikualifikasikan

W1 J1, J2 dan J3

W2 J2 dan J4

W3 J1 dan J3

W4 J3, J5 dan J6

W5 J2

W6 J4 dan J5

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 = { W1, W2, ..., W6 }

Y = pekerjaannya = { J1, J2, ..., J6 }

W1 dihubungkan dengan Jk jika dan hanya jika W1 dikualifikasikan untuk

pekerjaan Jk. Graf hasil digambarkan pada Gambar 3.10.

W1 W2 W3 W4 W5 W6

G

J1 J2 J3 J4 J5 J6

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)

W1 W2 W3 W4 W5 W6

J1 J2 J3 J4 J5 J6

Gambar 3.11

Jadi penugasan pekerja untuk tiap jenis pekerjaan yang dikualifikasikan mungkin. Penugasan yang dilakukan seperti di bawah ini :

Pekerja Pekerjaan W1

W2

W3

W4

W5

W6

J1

J4

J3

J6

J2

J5

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) X = Y {jumlah bipartisi X=Y}

(ii) untuk himpunan bagian S dari simpul X sedikitnya S dari Y yang berdampinganke satu atau lebih S.

Contoh : W5 J2

W1 J1, J2, J3

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 = v0 e1 v1 e2 v2 ... ek vk

di mana menunjukkan titik dan busur sehingga untuk 1≤ik, ujung ei = vi-1 dan

vi .


(29)

Panjang walk merupakan jumlah busur dari w.

Jika simpul vo, v1, ..., vk 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 v0e1v1e2v2e10v5e7v0

adalah cycle dengan panjangnya 4.

e3

v1 e2

v2

e1 e4 Walk: v0 e1 v1 e8 v5 e10 v2 e3 v2

v0 e8 e9 e11 v3

e10 Path : v0 e1 v1 e8 v5 e6 v4 e5 v3

e7 e5

v5 e6 v4

Gambar 3.12

Cycle : v0 e1 v1 e8 v5 e7 v0 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 = v0 e1 v1 e2 v2 ...ek-1 vk -1 ek v0 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 v0, v2, v4, ..., vk-2 diberi satu warna dan v1, v3, v5, ..., vk-1 diberi warna

lainnya. Satu kemungkinannya, k bilangan bulat genap dan c sebuah cycle dengan


(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 d(u,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 d(u,v) tak terbatas.

Diameter dari graf G dinyatakan sebagai Diam (G), yang didefinisikan sebagai berikut.

Diam (G) = max { ( , )}

) ( ) ,

(uvV G d u v

Distance merupakan jarak terpendek dan Diam merupakan maksimum dari


(32)

Contoh 3.9 :

Cari diameter dari graf berikut ! v2 v3

d (v1,v7) = 1

d (v1,v5) = 3

v1 v7 v8 v4 d (v1,v8) = 2

d (v2,v5) = 2

v6 G v5 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 = [aij] menunjukkan

jumlah busur yang menghubungkan vi dan vj. Xij 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 :

e6 e7

v1 v2 v6 e4 e5 e3

v3 v4 v5

e1 e2

Gambar 3.17

Matriks Adjasensi X dari graf berarah pada Gambar 3.17 adalah :

                    = = 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 ] [Xij

X

e6 e7

v1 v2 v6 e4 e5 e3

v3 v4 v5

e1 e2

Gambar 3.18

Matriks Adjasensi X dari graf tak berarah pada Gambar 3.18 adalah :

                    = = 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 ] [Xij

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 V(G) = {v1,v2, ..., vm} dan E(G) = {e1, e2, ..., en} kita

definisikan sebagai matriks Insidensi dari G dengan ordo m×n. Matriks Insidensi Z dari graf berarah merupakan matriks [zij] di mana zij bernilai 1 jika simpul i

merupakan simpul awal busur, zij 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 :

                    − − − − − − − = = 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 ] [Zij Z

Matriks Insidensi Z dari graf tak berarah adalah matriks [zij] di mana zij

bernilai 1 jika simpul i dihubungkan dengan busur dan bernilai 0 jika lainnya. Matriks Insidensi dari graf tak berarah Gambar 3.18 adalah :


(35)

                    = = 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 ] [Zij 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 G(V, E, W) matriks biaya C dari jaringan G merupakan matriks [Cij] di mana Cij menyatakan biaya (pengangkutan satu satuan barang)

pada busur (i, j).

Pada representasi di atas, Cij menyatakan bobot w(i, 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 w(e) yang disebut bobot. Jika H merupakan sub graf terboboti dari G, maka bobot w(H) didefinisikan sebagai

=

) (

) ( )

(

H E e

e w H

w

Contoh 3.11 :

Jaringan komunikasi dapat dinyatakan dalam graf terboboti. Titik G adalah pusat T1, T2, ..., Tn. 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 V(D), 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


(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 = vo a1 v1 a2 ... ak vk di mana menunjukkan simpul dan busur, dan untuk

k i

1 busur ai menghubungkan vi-1 ke vi. Jumlah busur di W disebut panjang

W. Jika titik v0, v1, ..., vk 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 cn2 untuk beberapa konstanta c, maka waktu kompleksitas T(n) dari algoritma dapat ditulis O(n2) (dibaca “order n2”).

Secara umum, T(n) disebut O(f(n)), jika ada a konstanta real c>0 sehingga T(n) ≤ cf(n) 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 106 per detik.


(38)

Ukuran n

Algoritma Kompleksitas

20 30 60

A1 A2 A3 A4 A5 n2 n3 n5 2n 3n 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,3x1013 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 A1 A2 A3 A4 A5 n2 n3 n5 2n 3n 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 A4 dan A5, sebuah

komputer yang cepat tidak dapat menyelesaikannya.

Sebuah algoritma di mana T(n) adalah polinomial terbanyak dalam n disebut sebagai algoritma polinomial. Sebuah algoritma dikatakan eksponensial jika ada sebuah aplikasi di mana T(n) eksponensial di n. Algoritma A1 dan A3

adalah polinomial selama algoritma A4 dan A5 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 T(n) eksponensial di n.

Jika n2, n3, n5 maka polinomial (nk), k = 1,2,3, ... Jika 2n, 3n maka eksponen (kn), k = 1,2, ...


(39)

LATIHAN SOAL

1. Diberikan graf G di bawah ini : v2

v3

v1

G v4

v7 v6

v5

(a) Berikan sebuah contoh :

(i) sebuah jalan tetapi bukan lintasan, (ii) sebuah lintasan

(iii) sebuah cycle

(b) Tentukan jarak dari v6 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 1≤mn. 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

Dalam bab ini, kita mempelajari sejumlah algoritma (yang dipelajari dalam Matematika Diskrit).

Ada dua jenis algoritma yang kita bahas dalam bab ini, yaitu : a. Algoritma Kruskal

Algoritma ini digunakan untuk menentukan pohon perentang terbobot minimum.

b. Algoritma Dijkstra

Algoritma ini digunakan untuk menentukan lintasan terpendek pada graf berbobot.

4.1. Pohon Perentang Terbobot Minimum

Pohon perentang terbobot minimum disebut juga pohon optimal. Untuk mencari pohon optimal, harus graf terhubung. Kita hanya memodifikasikan sedikit algoritma yang diberikan sebelumnya untuk menentukan pohon perentang G. Modifikasi yang dilakukan sederhana. Pada setiap tahap pemilihan busur, pilih busur yang tidak membentuk cycle dan pilih busur dengan bobot terkecil.

Algoritma Kruskal :

1. Pilih busur e1 sehingga bobot w(e1) yang paling kecil.

2. Jika busur e1, e2, ..., ek telah terpilih, pilih busur ek+1 dari busur yang belum

dipilih sedemikian hingga

(i) ek+1 tidak menjadi siklus di G dengan busur e1, e2, ..., ek

(ii) w(ek+1) sekecil mungkin berhubungan dengan (i)

3. Berhenti ketika langkah 2 tidak dapat dilanjutkan lagi. Contoh 4.1:

Gunakan Algoritma Kruskal untuk menentukan pohon perentang terbobot minimum !


(43)

5 6 2

3 4 2

1 4

5 6

7

8

Gambar 4.1 Solusi :

Busur dari pohon optimal digambarkan dalam garis tebal.

(1) (2)

5 5

6 2 6 2

3 4 3 4

1 2 1 2

5 4 5 4

7 6 7 6

8 8

(3) (4)

5 5

6 2 6 2

3 4 3 4

1 2 1 2

5 4 5 4

7 6 7 6

8 8

(5) (6)

5 5

6 2 6 2

3 4 3 4

1 2 1 2

5 4 5 4

7 6 7 6

8 8


(44)

LATIHAN SOAL

1. Gunakan algoritma Kruskal untuk menemukan pohon perentang terbobot minimum .

2 4 1 5 2 3

5 1 2 6 4 1 2 2 4 6 3 3 1 2 3 5 5 3

3 5 1 5 5 6 7 4 7

2. Sebuah jaringan telepon diperlukan untuk diinstall di sebuah negara baru yang terdiri dari 8 kota T1, T2, ..., T8. Biaya untuk menginstall sebuah saluran antara

kota Ti dan Tj diberikan dalam matriks di bawah ini. (∞ menyatakan bahwa

tidak mungkin untuk menginstal sebuah saluran). Diputuskan bahwa :

(i) setiap kota dapat berkomunikasi secara langsung maupun tidak langsung ke setiap kota lainnya.

(ii) Total biaya instalasi diminimumkan.

Gambarkan sebuah jaringan dengan tujuan di atas ! T1 T2 T3 T4 T5 T6 T7 T8

                          ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 70 9 8 10 5 0 31 12 40 11 10 70 31 0 21 5 5 10 12 21 0 3 17 5 9 40 5 3 0 10 15 8 11 17 10 0 30 15 10 5 5 15 30 0 20 5 10 10 15 20 0 8 7 6 5 4 3 2 1 T T T T T T T T

3. The White Country, yang terletak di daerah bersalju, Ontario Pusat, terdiri dari 8 kota T1, T2, ..., T8. Beberapa badai salju membuat salju-salju menutupi

sebagian jalan-jalan di daerah tersebut. Selain badai salju, masalah utama yang sering terjadi adalah pembukaan kembali jalan-jalan. Waktu dalam jam, diperlukan untuk membersihkan jalan, dengan menggunakan peralatan yang


(45)

lengkap, sehingga pengembalian jalan untuk transportasi antara kota Ti dan Tj

diberikan dalam matriks di bawah ini. ∞ menyatakan bahwa tidak ada jalan langsung yang menghubungkan kota Ti dan Tj.

T1 T2 T3 T4 T5 T6 T7 T8

                          ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 0 5 , 1 5 , 10 0 , 1 5 , 1 0 25 , 5 8 , 1 0 , 8 0 , 2 75 , 0 0 75 , 3 5 , 2 0 , 3 5 , 1 5 , 4 25 , 5 75 , 3 0 0 , 3 25 , 1 5 , 4 8 , 1 5 , 2 0 , 3 0 5 , 0 5 , 10 0 , 8 0 , 3 25 , 1 5 , 0 0 3 0 , 2 5 , 1 5 , 4 0 5 , 1 0 , 1 75 , 0 5 , 4 0 , 3 5 , 1 0 8 7 6 5 4 3 2 1 T T T T T T T T

Transportasi jalan dapat dibuka kembali jika memungkinkan untuk dilalui dengan jalan antara dua kota. Tujuan pertama adalah membuka kembali transportasi jalan di daerah tersebut secepat mungkin. Bagaimana cara mencapai tujuan ini ? Anda dapat mengasumsikan bahwa waktu yang diperlukan untuk memindahkan peralatan dalam membersihkan jalan diabaikan.

4. Empat kota C1, C2, C3 dan C4 diletakkan pada sudut dari sebuah persegi. Kota

kelima C5 diletakkan di tengah persegi yang dihubungkan oleh C1, C2, C3 dan

C4. Biaya untuk membangun jalan antara dua kota sebanding dengan jarak

antara kedua kota tersebut. Tentukan biaya termurah yang dapat menghubungkan kelima kota tersebut !


(46)

4.2. Lintasan Terpendek

Dalam kehidupan sehari-hari kita sering dihadapkan pada permasalahan untuk menentukan lintasan terpendek dari suatu tempat ke tempat lain. Misalnya dalam masalah transportasi, jaringan dapat menggambarkan jalan yang menghubungkan satu kota dengan kota-kota lainnya, dan sepanjang jalan yang menghubungkan satu kota (sebagai kota asal) ke satu kota lainnya (sebagai kota tujuan) disebut lintasan.

Kita mengetahui bahwa untuk menuju ke satu kota tujuan dapat ditempuh melalui beberapa lintasan. Dalam hal ini, kita akan menentukan kota-kota atau jalan manakah yang harus dilalui sehingga kita dapat mencari tempat tujuan dengan jarak terpendek. Dengan demikian lintasan terpendek dapat diartikan sebagai bobot minimal dari suatu lintasan, yaitu jumlah bobot dari seluruh busur yang membentuk lintasan.

Pada jaringan G(S,B,W) terdapat minimal satu lintasan yang menghubungkan sumber dan tujuan. Kita akan memilih salah satu bilangan terkecil di antara sejumlah bilangan yang menyatakan bobot dari suatu lintasan. Jelas hanya terdapat satu bilangan yang memenuhi. Dengan kata lain hanya terdapat satu bobot lintasan yang memenuhi, sedangkan lintasannya sendiri dapat lebih dari satu dengan bobot yang sama.

Ada beberapa metode yang dapat digunakan untuk menentukan lintasan terpendek, yaitu metode Dijkstra, Moore, Bellman, Matriks, dan Ford. Selain beberapa metode tersebut masih terdapat metode lainnya sebagai pengembangan dari metode Ford, yaitu Hert et al (1968), Floyd (1962), Spira (1973), serta Johnson (1973). Akan tetapi, yang kita bahas dalam bab ini hanya metode Dijkstra.

Length merupakan jumlah bobot dari lintasan, sedangkan bobot minimum dari lintasan (u,v) disebut distance d(u,v). Bobot minimum lintasan disebut lintasan terpendek. Jika eE(G) maka w(e) = ∞

Asumsi mencari lintasan terpendek yaitu : 1. G merupakan graf simpel


(47)

Observasi Penting :

1. Jika P = u0, u1, ..., uk, uk+1 adalah lintasan terpendek (u0, uk+1) di G, maka

bagian (u0, ui) yaitu u0, u1, ..., ui, 1≤ik dari P adalah lintasan terpendek (u0,

ui) di G.

Jadi, d(u0, uk+1) = d(u0, uk) + w (uk, uk+1). (4.2.1)

2. Jika S adalah himpunan bagian dari V, maka u0∈S dan lintasan terpendek dari

u0 ke simpul lainnya di S diketahui. Misal S = semua simpul kecuali di S.

Kita definisikan jarak dari u0 ke S sebagai berikut :

d(u0, S) = min{d(u0,v)}

S

v∈ (4.2.2)

Hal ini merupakan cara untuk menentukan simpul S yang terdekat ke u0.

Jelas bahwa P = u0, u1, ..., uk, uk+1 adalah lintasan terpendek dari u0 ke S. Jadi

)} ( ) , ( { min ) ,

(u0 S d u0 u w uv

d

S v S

u +

=

∈ (4.2.3)

Untuk graf yang disajikan di bawah ini (busur dari lintasan terpendek ditunjukkan oleh garis tebal)

d(u0, S) = 7,

dan v2 adalah simpul S yang dekat ke u0. Lintasan u0, u1, u2, v2 adalah

lintasan terdekat (u0, v2) di G.

u1 2 u4 v5

8 v1 4

1 5 5

2 6 1

5 3 4

u0 u2 u5 2 v4

4 3

3 5 8

10 v2 7

u3 v3

Gambar 4.2

S = {u0, u1,…, u5} S = {v1, v2,…, v5}

Persamaan 4.2.3 memberikan suatu prosedur untuk menemukan lintasan terpendek dari simpul spesifik u0 ke setiap simpul lain di G. Gagasan dasarnya


(48)

n=V(G), terhubung dalam cara yang sama dan berakhir pada tahap i, lintasan terpendek dari u0 ke semua simpul di Si diketahui.

Algoritma Dijkstra :

1. Tentukan u0 paling kiri. Biasanya u0 diberi tahu.

2. Lintasan berakhir paling ujung.

3. Lintasan atau busur yang dilalui tidak boleh membentuk cycle. 4. Harus berurutan pemberian labelnya pada tiap simpul.

5. Carilah busur dengan bobot yang paling minimum. Contoh 4.2 :

Carilah lintasan terpendek dari u0 ke setiap simpul lainnya, dari graf di bawah ini !

5

1 2 6 2 5 5 2 6 u0

3 4 3 4 1

8

Gambar 4.3 Solusi :

Gambar-gambar untuk menentukan lintasan terpendek dari graf pada Gambar 4.3 di atas, disajikan di bawah ini. Busur yang merupakan lintasan terpendek, diberi garis tebal.

5

1 2 6 2 5 5 2 6

u0 S0 = {u0}

3 4 3

4 1

8 u1 5

1 2 6 2 5 5 2 6

u0 S1 = {u0, u1}

3 4 3

4 1


(49)

u1 5

1 2 6 2 5 5 u2 2 6

u0 S2 = {u0, u1, u2}

3 4 3

4 1

8 u1 5

1 2 6 2 5 5 u2 2 6

u0 S3 = {u0, u1, u2, u3}

3 4 3

4 1

u3 8

u1 5

1 2 6 2 5 5 u2 2 u4 6

u0 S4 = {u0, u1,…, u4}

3 4 3

4 1

u3 8

u1 5 u5

1 2 6 2 5 5 u2 2 u4 6

u0 S5 = {u0, u1,…, u5}

3 4 3

4 1

u3 8

u1 5 u5

1 2 6 2 5 5 u2 2 u4 6

u0 S6 = {u0, u1,…, u6}

3 4 3

4 1


(50)

u1 5 u5

1 2 6 2 5 5 u2 2 u4 6

u0 u7 S7 = {u0, u1,…, u7}

3 4 3

4 1

u3 8 u6

Lintasan terpendek = 29

Secara ringkas, algoritma Dijkstra dapat dituliskan di bawah ini : 1. Misal l(u0)=0, l(v)=∞ untuk v≠u0,S0 ={u0}dan i=0.

2. Untuk setiap vSi , ganti l(v)dengan min{l(v),l(ui)+w(uiv)}. Hitung )}

( {

min v

i S v

l

∈ dan misal ui+1 menyatakan sebuah simpul di mana minimum

didapat. Maka Si+1=Si∪{ui+1}.

3. Jika i=V(G) −1,berhenti. Jika tidak ganti i dengan i + 1 dan lanjutkan ke langkah 2.

Contoh 4.3 :

Untuk graf pada Gambar 4.4, carilah lintasan terpendek dari u0 ke setiap simpul

lainnya dengan menggunakan algoritma Djikstra !

1 8

2 5

4 1

8 2 3 2 4

u0 4

2 3

6 2

2 3

Gambar 4.4 Solusi :

Gambar-gambar untuk menentukan lintasan terpendek dari graf pada Gambar 4.4 di atas, disajikan di bawah ini. Busur yang merupakan lintasan terpendek, diberi garis tebal.


(51)

∞ ∞

1 8

2 ∞ 5

4 1

0 8 2 3 2 ∞ 4 ∞

u0 ∞ 4

2 3

6 ∞ 2

2 3

∞ ∞

2 u1 ∞

1 8

2 ∞ 5

4 1

0 8 2 3 2 ∞ 4 ∞

u0 ∞ 4

2 3

6 ∞ 2

2 3

6 ∞

2 u1 ∞

1 3 8

2 5

4 u2 1

0 8 2 3 2 ∞ 4 ∞

u0 4

2 3

6 ∞ 2

2 3

6 ∞

2 u1 11

1 3 8

2 4 5

u2 1

0 8 5 2 3 2 ∞ 4 ∞ u0 u3 4

2 3

6 6 2

2 3


(52)

2 u1 11

1 3 8

2 4 5

u2 1

0 8 5 2 3 2 ∞ 4 ∞ u0 u3 4

2 3

6 6 2

6 2 3

u4 ∞

2 u1 11

1 3 8

2 4 5

u2 1

0 8 5 2 3 2 ∞ 4 ∞ u0 u3 4

2 6 3

6 u5 2

6 2 3

u4 ∞

2 u1 8 u6

1 3 8

2 4 5

u2 1

0 8 5 2 3 2 ∞ 4 ∞ u0 u3 4

2 6 3

6 u5 2

6 2 3

u4 9

2 u1 8 u6

1 3 8

2 4 5

u2 1

0 8 5 2 3 2 9 4 13 u0 u3 4

2 6 3

6 u5 2

6 2 3 9

u4 u7


(53)

2 u1 8 u6

1 3 8

2 4 5

u2 1

0 8 5 2 3 2 4 11

u0 u3 4 9 u8

2 6 3

6 u5 2

6 2 3 9

u4 u7

2 u1 8 u6

1 3 8

2 4 5

u2 1

0 8 5 2 3 2 4 11

u0 u3 4 9 u8 u9

2 6 3

6 u5 2

6 2 3 9


(54)

LATIHAN SOAL

1. Untuk setiap graf di bawah ini, gunakan algoritma Djikstra untuk menemukan lintasan terpendek dari u0 ke setiap simpul lainnya. Anda diharuskan untuk

menggambarkan graf per tahap, sehingga masing-masing pelabelan dapat digambarkan dengan jelas.

(i)

1 2

2 6 5 9 7 9 3

u0 8 1 6 2

7 2 4 3 1

1 4

9 1 (ii)

4

2 2 4

5 1 2 6 1 u0 3 3 2

1

3 5 1 5 4

(iii)

1 5

2 3 4 6 3 2

2 3 4 3 u0

2 6 1 4 3 2

5 5 3 2


(55)

(iv)

2 1

3 1 3 6 4

3

u0 4

5 5 2 6 1 4 5 1 1

5

7

2

2. Sebuah paket berisi barang-barang asli di Los Angeles dapat dikirimkan ke Boston melalui beberapa rute berbeda, yang ditunjukkan di bawah ini. Bobot tiap busur menyatakan biaya transportasi atau pengiriman paket antar kota yang berhubungan. Gunakan algoritma Djikstra untuk menemukan rute terpendek yang dapat meminimumkan biaya dari Los Angeles ke Boston! H

A 58

130 F 25

48 40 I

B 85 29 58 66 63

D 27 53 43 75 29 G

C 28

85 E

A = Portland F = Chicago

B = Salt Lake City G = Memphis

C = Los Angeles H = Boston

D = Kansas City I = Washington

E = Dallas

3. Sebuah perusahaan perbankan dengan kantor pusat di New York (NY) mempunyai beberapa cabang utama di London (L), Paris (P), Zurich (Z), Roma (R), Berlin (B), Montreal (M), dan Vienna (V). Setiap hari informasi penting (meliputi rata-rata pertukaran mata uang, dan lainnya) harus


(56)

diinformasikan dari kantor pusat ke kantor cabang. Biaya pengiriman pesan melalui teleks antara dua kantor cabang, diberikan pada matriks di bawah ini.

NY L P Z R B M V

                          0 000 . 1 000 . 1 000 . 1 000 . 1 000 . 1 10 15 000 . 1 0 000 . 1 000 . 1 000 . 1 8 000 . 1 3 000 . 1 000 . 1 0 8 5 3 2 11 000 . 1 000 . 1 8 0 2 2 2 9 000 . 1 000 . 1 5 2 0 1 3 12 000 . 1 8 3 2 1 0 3 10 10 000 . 1 2 2 3 3 0 8 15 3 11 9 12 10 8 0 V M B R Z P L NY

Tentukan rute komunikasi termurah antara kantor pusat dengan setiap kantor cabang lainnya !

4. Pelayaran dengan tujuan untuk mengirimkan barang-barang bekas melakukan perjalanan dari Coquitlam ke Saskatoon. Rute-rute yang mungkin ditunjukkan di bawah ini. Bobot untuk tiap busur menyatakan biaya pengiriman barang-barang bekas antara kota yang berhubungan. Gunakan algoritma Djikstra untuk menentukan rute terpendek yang dapat meminimumkan total biaya transportasi !

H

E 20

43 42 18 K

62 F I 56 B 42 26

48 32 22

5 40 39 41 31 24 C J

5 52 61 16 L A 20 D

G

A = Coquitlan G = Cranbrook

B = Kamlocpe H = Bdmonton

C = Kelama I = Calgary

D = Penticton J = Swift Current

E = Jasper K = Saskatoon


(57)

5. Berdasarkan jaringan di bawah ini, bobot busur menyatakan kemungkinan yang diberikan oleh fungsi busur.

90

2 4

80

1 70 90 80

80

3 5

75


(58)

KONSEP LEBIH JAUH DALAM TEORI GRAF

Dalam Bab 3, kita mempelajari beberapa konsep dasar dalam teori graf, di mana sebagian besar telah dipelajari dalam Matematika Diskret. Dalam bab ini, kita memperkenalkan beberapa konsep dan ide lebih jauh dalam teori graf. Tujuan pertama adalah mengilustrasikan beberapa metode pembuktian dalam teori graf. Kita mulai dengan memperkenalkan beberapa notasi yang sering digunakan dalam teori graf.

Untuk sebuah graf G : V(G) = jumlah simpul di G

ε(G) = jumlah busur di G d(u) = derajat simpul u di G

δ(G) = derajat paling minimum di G ∆(G) = derajat paling maksimum di G

Derajat suatu simpul sama dengan dua kali jumlah busurnya.

∈ = ) ( ) ( 2 ) ( G v v G v

d ε (5.1)

Sebagai akibatnya, sebuah graf simpel mempunyai jumlah genap dari simpul berderajat ganjil.

Teorema 1.1 :

Untuk graf G, buktikan bahwa ≤ ≤∆

v

ε

δ 2 !

Bukti : Dari (5.1) kita memperoleh

∈ = ) ( ) ( 2 G v v v d ε

≥δv sehingga

v

ε δ ≤ 2 dan

∈ = ) ( ) ( 2 G v v v d ε

≤∆v sehingga ≤∆

v

ε 2


(59)

Jadi terbukti bahwa ≤ ≤∆

v

ε

δ 2 .

Untuk kesimpulan selanjutnya dengan mudah dinyatakan bahwa himpunan simpul yang berdampingan ke sebuah simpul u dinyatakan dengan N(u) dan yang berjauhan dinyatakan dengan N (u). Dengan kata lain N(u) sebagai tetangga dari u dan N (u) bukan tetangga dari u.

Teorema 5.2 :

Misal G adalah graf simpel dengan (

 

) 2 1 x v     ≥

δ menunjukkan bilangan bulat x, maka G terhubung.

Bukti :

Misal d(u) = δ . Ambil himpunan lain N(u) dari u     ≥ v u N 2 1 ) ( 1 2 1 ) ( −     −

v v

u N

) (u N

w∈ maka − <δ

    − ≤ − 2 2 1 1 )

(u v v

N

Titik N(u) harus berhubungan dengan sedikitnya satu titik di N(u). Jadi G terhubung.

Teorema 5.3 :

G adalah graf dengan δ ≥2. G punya cycle. Bukti :

P = v0, v1, v2, ..., vl lintasan terpanjang di G

v0 v1 v2 vk vl

v0 ada di P. Karena δ ≥2, v0 dihubungkan ke beberapa simpul vk dengan 1<k≤l .

Maka G punya cycle C = v0, v1, v2, ..., vk, v0.


(60)

Teorema 5.4 :

G adalah graf dengan ε ≥v. G punya cycle. Bukti :

P(n) adalah Graf G dengan n simpul dari ε ≥n punya cycle.

Langkah 1 : Jika v = 1 dan ε ≥1, g punya sedikitnya 1 loop dan memiliki cycle

yang panjangnya satu. P(1) terbukti. Langkah 2 : (Langkah induktif)

P(n) benar dan g graf dengan simpul n+1 dan ε ≥n+1. Jika 2

) (G

δ , G punya cycle. 2

) (G <

δ dan v simpul di G dengan d(v)≤1.

Maka graf G-V didapat dengan menghapus v dan semua busur insiden ke v memiliki ε(GV)≥n=V(GV).

Jadi G-V punya cycle dan G punya cycle. P(n+1) benar jika P(n) benar.

BARISAN DERAJAT

Menyatakan banyaknya busur yang insiden dengan simpul.

Jika V(G) = {v1, v2, ..., vn}, barisan (d(v1), d(v2), ..., d(vn)) disebut barisan derajat

G.

Contoh 5.1 :

Perhatikan graf di bawah ini. v3

v1

v5 v2

v4

Barisan derajat dari G :


(61)

Teorema 5.5 :

Sebuah barisan (d1, d2, ..., dn) dari bilangan bulat tak negatif adalah barisan derajat

dari G jika dan hanya jika

=

n

i i

d

1

genap. Bukti :

Kita akan membuktikan 2 kenyataan :

(i) Jika (d1, d2, ..., dn) adalah barisan derajat maka

=

n

i i

d

1

= genap. (syarat cukup)

(ii) Jika (d1, d2, ..., dn) adalah barisan dari bilangan bulat tak negatif maka

=

n

i i

d

1

genap, maka ada graf yang memiliki barisan derajat (d1, d2, ...,

dn). (syarat perlu)

Bukti :

Untuk membuktikan (ii) buat graf dengan barisan derajat (d1, d2, ..., dn)

seperti ini.

V(G) = {v1, v2, ..., vn}, karena

=

n

i i

d

1

genap, jumlah simpul di yang

ganjil adalah genap. Pasangkan di dan gabungkan setiap pasangan

dengan satu busur. Tambahkan loop sebesar 2

i

d

pada setiap simpul i. Jadi graf yang dihasilkan akan memiliki barisan derajat (d1, d2, ..., dn).

Contoh 5.2 :

Bentuk graf dengan barisan (4, 1, 3, 6, 5, 1) !

v1 v1

v6 v2 v6 v2


(62)

v4 v4

Ada 4 komponen yang tidak terhubung.

Graf dikatakan grafik jika ada graf simpel dengan barisan derajat d. Contoh 5.3 :

Apakah barisan berikut grafik ? 1. (4, 1, 3, 6, 5, 1)

2. (6, 6, 5, 5, 4, 3, 1) Jawaban :

1. (4, 1, 3, 6, 5, 1) berarti ada 6 simpul.

Derajat maksimum pada graf simpel dengan 6 simpul adalah 5. Jadi bukan grafik.

Derajat maksimum = Jumlah simpul – 1 2. (6, 6, 5, 5, 4, 3, 1) berarti ada 7 simpul.

Andai G grafik, v1 dan v2 menyatakan dua simpul di G dengan derajat g.

Karena G punya 7 simpul, v1 dan v2 berdampingan maka v1 dan v2

berdampingan ke simpul di G lainnya dengan menunjukkan bahwa 2

) (G

δ .

Jadi G bukan grafik. Teorema 5.6 :

Misal d = (d1, d2, ..., dn) adalah barisan tidak naik dari bilangan bulat tidak negatif,

dan menyatakan barisan

(d2−1,d3−1,...,dd1+1−1,dd1+2,...,dn) oleh d`. Maka d adalah grafik jika dan hanya jika d` grafik. Bukti :

Misalkan d` adalah grafik. Maka dengan definisi, ada sebuah graf simpel G` dengan V(G`) = {v2, v3, ..., vn} yaitu :

   ≤ ≤ + + ≤ ≤ − = n i jikad d d i jika d v d i i i G 2 , 1 2 , 1 ) ( 1 1 `

Sebuah graf baru dapat digambarkan dengan menghubungkan sebuah simpul baru, v1 ke G` dan menggabungkan v1 ke v2, v3, ..., 1

1+ d


(1)

e. 7, 6, 4, 4, 4, 3, 3, 3, 3, 1, 1, 0. f. 5, 4, 4, 3, 3, 2, 2, 1, 0, 0. g. 6, 6, 5, 5, 4, 4, 3, 2, 2, 1, 0, 0. h. 8, 6, 5, 4, 4, 3, 3, 3, 2, 0, 0.

3. Tentukan jumlah pohon perentang dari graf di bawah ini !

a. b.

c. d.

e. f.


(2)

5. Dalam masing-masing kemungkinan, tentukan mungkin atau tidak graf berpasangan yang diberikan berikut adalah isomorfik !

a.

b.

c.


(3)

e.

f.

6. Komplemen G dari graf simpel G adalah graf dengan himpunan simpul V(G), dua simpul menjadi berdampingan di G jika dan hanya jika kedua simpul ini tidak berdampingan di G. Tentukan komplemen dari graf berikut !

a. b.

c. Km, n d. Kn

7. Sebuah graf adalah self-complementary jika GG. Apakah graf di bawah ini self complementary ? Buktikan jawabanmu !


(4)

(5)

DAFTAR PUSTAKA

Chartrand, Gary & Oellermann, Ortrud R. 1993, Applied and Algorithmic Graph

Theory, McGraw-Hill, Inc.

McHugh, James A. 1990, Algoritmic Graph Theory, Prentice-Hall International, Inc.


(6)