BAB 2 LANDASAN TEORI 2.1. Konsep Dasar Graph Sebelu sapai pada pendefinisian asalah network flow, terlebih dahulu pada bagian ini akan diuraikan engenai konsep-konsep dasar dari odel graph dan representasinya dala eodelkan asalah network flow. Definisi 2.1. Sebuah graph G adalah pasangan (V,E) di ana V adalah hipunan tak kosong yang anggotanya disebut verteks dan E adalah hipunan yang anggotanya adalah pasangan tak berurut dari verteks V yang disebut edge. Secara uu graph dapat digabarkan dengan suatu diagra di ana verteks ditunjukkan sebagai titik yang dinotasikan dengan v i, i = 1, 2,,P dan edge digabarkan dengan sebuah garis lurus atau garis lengkung yang enghubungkan dua verteks (v i, v j ) dan dinotasikan dengan e k. Sebagai ilustrasi dapat dilihat Gabar 2.1. yaitu suatu graph yang epunyai lia verteks dan ena edge. V 1 e 4 V 3 V 5 e1 e 5 e 3 e 6 V 2 e 2 V 4 Gabar 2.1. Graph dengan lia verteks dan ena edge
2.2. Graph Berlabel Hubungan antar verteks-verteks dala graph perlu diperjelas. Hubungan tidak cukup hanya enunjukkan verteks-verteks ana yang berhubungan langsung, tetapi juga seberapa kuat hubungan itu. Sebagai contoh, andaikata suatu graph enyatakan peta suatu daerah. Verteks-verteks graph enyatakan kota-kota yang ada di daerah tersebut. Edge-edge dala graph enyatakan jalan yang enghubungkan kota-kota tersebut. Inforasi tentang peta daerah perlu diperjelas dengan encantukan jarak antara 2 kota yang berhubungan. Inforasi tentang jarak dibutuhkan karena dala graph, letak verteks dan panjang edgenya tidak enyatakan jarak 2 kota yang sebenarnya seperti halnya dengan peta yang sebenarnya. Jadi setiap garis dala graph berhubungan dengan suatu label yang enyatakan bobot garis tersebut. Definisi 2.2. Graph Berlabel (weighted graph) adalah suatu graph tanpa edge paralel di ana setiap edgenya berhubungan dengan suatu bilangan riil tak negatif yang enyatakan bobot edge (w(e)) tersebut. Julah bobot seua edge disebut Total Bobot. Matriks yang bersesuaian dengan graph berlabel G adalah atriks hubung A = (a ij ) dengan a ij = bobot edge yang enghubungkan verteks v i dengan verteks v j. Jika verteks v i tidak berhubungan langsung dengan verteks v j, aka a ij =, dan a ij = 0 di ana i = j. Contoh 2.1. Dala suatu propinsi, ada 8 kota (v 1, v 2,, v 8 ) yang akan dihubungkan dengan jaringan listrik. Biaya peasangan jaringan listrik yang ungkin dibuat antar 2 kota adalah sebagai berikut:
Edge Kota yang dihubungkan Biaya per satuan e 4 e 7 e 2 e 8 e 9 e 1 e 3 e 10 e 5 e 11 e 6 v 2 v 3 3 v 4 v 6 4 v 1 v 7 5 v 3 v 4 5 v 3 v 5 5 v 1 v 2 15 v 1 v 4 15 v 6 v 8 15 v 7 v 8 15 v 5 v 6 15 v 6 v 7 18 a. Graph berlabel untuk enyatakan jaringan listrik di 8 kota dapat digabarkan pada Gabar 2.2. di bawah ini. Angka dala kurung enyatakan bobot edge yang bersangkutan. Bobot tersebut enyatakan biaya pengadaan jaringan listrik. v 1 e 2 (5) e 3 (15) v 7 v 4 e 6 (18) e 5 (15) e 7 (4) e 1 (15) e 8 (5) v 2 e 4 (3) v 3 e 9 (5) v 8 e 10 (15) v 6 e 11 (15) v 5 Gabar 2.2.Graph Jaringan listrik di 8 kota
b. Matriks hubung untuk enyatakan graph berlabel pada Gabar 2.2. adalah atriks A = (a ij ) dengan a ij = Jarak verteks v i dengan v j di ana ada edge yang enghubungkan verteks v i dengan v j di ana tidak ada edge yang enghubungkan verteks v i dengan v j 0 di ana i = j v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 8 v 1 0 15 15 v 2 15 0 3 v 3 3 0 5 5 A = v 4 15 5 0 4 v 5 5 0 15 v 6 4 15 0 18 15 v 7 5 18 0 15 v 8 15 15 0 Misalkan G adalah sebuah graph berarah. Sebuah edge berarah e = [u,v] dikatakan ulai pada verteks awal u dan berahkhir di verteks akhir v, u dan v dikatakan adjacent. Definisi 2.3. Derajat luar dari v, (outdeg (v)) adalah julah edge yang berawal pada v, dan derajat dala dari v (indeg (v)) adalah julah edge yang berakhir di v. Jika setiap edge ulai dan berakhir pada suatu verteks, aka julah derajat-dala dan julah derajat-luar harus saa dengan n, yaitu julah edge pada G. Definisi 2.4. Sebuah verteks v di G disebut suber (source) bila epunyai derajatluar positif tetapi derajat-dala nol. Sedangkan, v disebut tujuan (sink) jika v epunyai derajat-dala positif tetapi derajat-luar nol. Perhatikan Gabar 2.3.
A B C D E F G Gabar 2.3. Graph G dengan 7 verteks Gabar 2.3. di atas terdiri dari: Verteks A B C D E F G Derajat-dala (indegree) 0 2 2 4 1 1 2 Derajat-luar (outdegree) 4 1 0 0 3 3 1 Julah derajat dala dan julah derajat luar saa dengan 12 yaitu julah arc. Pada Gabar 2.3. Verteks A adalah suber (source) karena edgenya berawal pada A tetapi tidak berakhir di A. Sedangkan C dan D adalah verteks tujuan (sink) karena edgenya berakhir di C dan di D tetapi tidak berawal di verteks itu. 2.3. Path Miniu Salah satu aplikasi graph berarah berlabel yang sering dipakai adalah encari path terpendek diantara 2 verteks. Jika asalahnya adalah encari jalur tercepat, aka path terpendek tetap dapat digunakan dengan cara engganti nilai edge.
Definisi 2.5. Misalkan G adalah suatu graph. Di ana v dan w adalah 2 verteks dala G. Suatu Walk dari v ke w adalah barisan verteks-verteks berhubungan dan edge secara berselang-seling, diawali dari verteks v dan diakhiri pada verteks w. Walk dengan panjang n dari v ke w ditulis: v 0 e 1 v 1 e 2 v 2 v n-1 e n v n dengan v 0 = v; v n = w; v i-1 dan v i adalah verteks-verteks ujung edge e i. Path dengan panjang n dari v ke w adalah walk dari v ke w yang seua edgenya berbeda. Path dari v ke w dituliskan sebagai v = v 0 e 1 v 1 e 2 v 2 v n-1 e n v n = w dengan e i e j untuk i j. Definisi 2.6. Lintasan adalah suatu barisan edge ( e e,..., e ) sehingga verteks terinal i, i2 ei beripit dengan verteks awal j i k 1 sedeikian rupa e untuk 1 j k 1. i( j +1) Contoh 2.2. e 4 e 2 e 3 v 3 e 5 v 4 v 1 v 2 e 6 e 1 e 8 e 7 e 10 v 6 v 5 Gabar 2.4. Graph dengan 6 verteks dan 10 edge e 9 Pada Gabar 2.4. di atas terdapat: a. Seua edge berbeda (e 1, e 3, e 4, dan e 5 asing-asing uncul sekali). Ada verteks yang berulang (v 3 uncul 2 kali). Verteks awal dan verteks akhir tidak saa (verteks awal = v 1 dan verteks akhir = v 4 ). Barisan ini erupakan path dari v 1 ke v 4 dengan panjang 4. b. Ada edge yang uncul lebih dari sekali, yaitu e 5 (uncul 2 kali) berarti barisan tersebut erupakan walk dari v 1 ke v 5 dengan panjang 5.
2.4. Representasi Graph dala Matriks Matriks dapat digunakan untuk enyatakan suatu graph. Jika graph dinyatakan sebagai suatu atriks, aka perhitungan-perhitungan yang diperlukan dapat dilakukan dengan udah. Kesulitan utaa erepresentasikan graph dala suatu atriks adalah keterbatasan atriks untuk encakup seua inforasi yang ada dala graph. Akibatnya ada beraca-aca atriks untuk enyatakan suatu graph tertentu. Tiap-tiap atriks tersebut epunyai keuntungan yang berbeda-beda dala enyaring inforasi yang dibutuhkan pada graph. Misalkan G adalah sebuah graph dengan verteks-verteks v 1, v 2,, v edge-edge e 1, e 2,, e n. dan Definisi 2.7. Matriks adjacency Misalkan A = (a ij ) adalah atriks x yang didefinisikan oleh 1 jika {u, v} adalah edge, yaitu v i adjacent terhadap v j a ij = 0 lainnya A disebut atriks adjacency dari G. Perhatikan a ij = a ji, sehingga A adalah sebuah atriks sietris. (Didefinisikan sebuah atriks adjacency untuk sebuah ultigraph dengan peisalan a ij enyatakan julah edge {v i, v j }.) Definisi 2.8. Matriks Insiden Misalkan M = ( ij ) adalah atriks x n yang didefinisikan oleh 1 verteks v i adalah incident pada edge e j. = 0 lainnya M disebut atriks incidence dari G. Perhatikan Gabar 2.5 berikut ini.
e 5 v 1 e 2 v 5 e 6 e 1 e 3 e 7 v 4 e 8 v 2 e 4 v 3 Gabar 2.5. Graph dengan 5 verteks dan 8 edge Pada Gabar 2.5. Matriks adjacency A = (a ij ) dari graph G. Karena G epunyai 5 verteks aka A akan enjadi atriks 5 x 5. Jika ada sebuah edge antara v i dan v j, aka a ij = 1. Jika sebaliknya, aka a ij = 0. Ini akan enghasilkan atriks berikut: v 1 v 2 v 3 v 4 v 5 v 1 0 1 1 1 1 A = v 2 1 0 1 0 0 v 3 1 1 0 1 1 v 4 1 0 1 0 1 v 5 1 0 1 1 0 Pada Gabar 2.5. Matriks Incidence M = ( ij ) dari graph G. Jika G epunyai 5 verteks dan 8 edge, aka M akan enjadi atris 5 x 8. Jika verteks v i anggota dari edge e j, aka ij =1, jika sebaliknya, aka ij = 0 untuk lainnya. Ini akan enghasilkan atriks berikut.
e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 v 1 1 1 1 0 1 0 0 0 v 2 1 0 0 1 0 0 0 0 A = v 3 0 0 1 1 0 0 1 1 v 4 0 0 0 0 1 1 0 1 v 5 0 1 0 0 0 1 1 0 2.5. Shortest Path Setiap path dala digraph epunyai nilai yang dihubungkan dengan nilai path tersebut, yang nilainya adalah julah dari nilai edge path tersebut. Dari ukuran dasar ini dapat diruuskan asalah seperti encari lintasan terpendek antara dua verteks dan einiukan biaya. Banyak bidang penerapan ensyaratkan untuk enentukan lintasan terpendek berarah dari asal ke tujuan di dala suatu distribusi aliran berarah. Algorita yang diberikan dapat diodifikasi dengan udah untuk enghadapi lintasan berarah pada setiap iterasinya. Suatu versi yang lebih uu dari asalah lintasan terpendek adalah enentukan lintasan terpendek dari sebarang verteks enuju ke setiap verteks lainnya. Pilihan lain adalah ebuang kendala tak negatif bagi jarak. Suatu kendala lain dapat juga diberlakukan dala suatu asalah lintasan terpendek. Definisi 2.10. Lintasan terpendek antara dua verteks dari s ke t dala network adalah lintasan graph berarah sederhana dari s ke t dengan sifat di ana tidak ada lintasan lain yang eiliki nilai terendah.
Contoh 2.4. 2 X 1 1 2 2 4 3 X 3 X 2 X 4 3 X 5 5 X 8 4 1 3 X 7 5 1 X 6 Gabar 2.6. Shortest path (garis tebal) Pada Gabar 2.6. dapat dilihat bahwa setiap edge terletak pada path-path dari titik 1 ke titik 5. Edge erepresentasikan saluran dengan kapasitas tertentu (contohnya, air) dapat dialirkan elalui saluran. Sedangkan verteks erepresentasikan persipangan saluran. Air engalir elalui verteks pada verteks yang dilalui Lintasan terpendek dari verteks pada graph di atas adalah P = {1 4, 4 5} dengan kapasitas 4. 2.6. Linear Prograing Peruusan linear prograing dapat ebantu prosedur penyelesaian lebih efisien. Berikut ini adalah bentuk uu linear prograing. Miniukan Dengan kendala a c + 1 x1 + c2x2 +... c n xn (1) 11 x1 a12x2 +... + a1 n xn = b1 21 x1 + a22x2 +... + a2n xn = b2 + (2) a.. a x + a x +... + a x = b 1 1 2 2 1, x x n n n x 2,..., 0 (3)
Pada progra linear ini, x 1, x 2,, x n ewakili keputusan variabel yang tidak diketahui; c 1, c 2,, c n adalah biaya koefisien; b 1, b 2,, b n adalah nilai di saping kanan; dan a ij, i = 1 sapai dan j = 1 sapai n, dinaakan koefisien teknologi. Pernyataan (1) dinaakan fungsi objektif; (2) dinaakan kendala; dan (3) adalah kendala tidak negatif. Beberapa penyelesaian eenuhi seua kendala, dinaakan feasible solution. Pada peruusan ini, kendala ditulis dala bentuk persaaan. Uunya, kendala linear prograing epunyai relasi atau tetapi selalu dapat diubah dala persaaan dengan penjulahan slack variabel. Fungsi objektif (1) juga dapat diekspresikan sebagai aksiu sebagai pengganti iniu. Dapat diruuskan enjadi: Miniukan c j x j Dengan kendala n j = 1 n a ijx j = bi, j = 1 i = 1,2,..., x 0, j = 1,2,..., j 2.7. Flow Definisi 2.10 Suatu flow pada network G = (N,A) adalah suatu graph berarah dan berkapasitas, di ana setap arc(x,y) Є A eiliki kapasitas nonnegative c(x,y) 0. Jika (x,y) Є A, aka diasusikan c(x,y) = 0.
8 V1 6 a4 V3 6 a1 a8 s 0 a5 5 4 t 6 a2 V2 a3 6 a7 V4 a9 8 a6 Gabar 2.7. Flow dala network Gabar 2.7 eperlihatkan bahwa setiap arc terletak pada tiap-tiap node dari suber s ke tujuan t. Arc enggabarkan saluran dengan kapasitas tertentu. Kapasitas erupakan batas aksial di ana setiap aterial (isalnya air, gas, listrik) dapat dialirkan elalui saluran. Sedangkan node enggabarkan persipangan saluran. Material engalir elalui node tanpa engupulkan aterial tersebut pada node yang dilalui (kecuali pada node suber dan node tujuan). 2.8. Minial Cost Flow Definisi 2.11 Cost flow pada arc dala network flow dengan arc cost adalah perkalian antara arc-arc flow dan cost. Cost pada flow adalah julah dari cost flow pada arc. Andaikan sebuah directed network (jaringan berarah) G, terdiri atas beberapa node (titik) N = {1,2,,) dan beberapa directed arcs (busur berarah) S = {(i,j), (k,l),,(s,t)} dan saling terhubung pada node N. Arc (i,j) disebut incident (peristiwa) dari node i dan j dan terhubung dari node i ke node j. Dengan deikian diperoleh bahwa network eiliki node dan n arc. Untuk setiap node i dala network G, isalkan julah b i adalah ketersediaan barang (b i > 0) atau perintaan barang (b i < 0). Node dengan b i > 0 sering disebut sources (suber), dan node dengan b i < 0 sering disebut tujuan (sinks). Jika b i = 0,
aka tidak ada barang yang tersedia pada node i dan tidak diperlukan. Pada perasalahan ini node i sering disebut interediate (perantara) node. Untuk setiap arc (i,j) pada x ij adalah julah aliran pada arc (asusikan 0 x ij ) dan c ij adalah biaya pengirian sepanjang arc. Asusikan bahwa total penyediaan barang saa dengan total perintaan di dala network. Secara ateatika dapat dituliskan sebagai berikut. Miniukan c ij x ij i= 1 j= 1 Kendala x ij x ki j= 1 k = 1 = b i i = 1, 2,..., x ij 0 i,j = 1, 2,, (2.1) Persaaan (2.1) disebut flow conservation atau persaaan Kirchhoff. Di dala persaaan kekekalan, sedangkan enunjukkan julah aliran yang keluar dari node i enunjukkan julah aliran yang asuk ke node i. Persaaan tersebut engharuskan aliran yang keluar dari node i, x ij x ki, akan saa dengan b i. Jika b i < 0, aka akan lebih banyak aliran yang asuk pada node i dari pada yang keluar. x ki k = 1 x ij j= 1 j= 1 k = 1