BAB 2 LANDASAN TEORI

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB 2 LANDASAN TEORI"

Transkripsi

1 BAB 2 LANDASAN TEORI 2.1 Definisi Graf Sebuah graf G adalah pasangan sebuah himpunan hingga tidak kosong dari simpul (bentuk tunggal adalah titik) bersama dengan sebuah himpunan berurut dari simpul yang berbeda dari G yang disebut busur. 2.2 Graf Berarah (Directed Graph atau Digraph) Graf berarah merupakan graf yang setiap busurnya diberikan orientasi arah. Sisi pada graf berarah biasanya disebut busur (arc). Graf berarah dapat dilihat pada Gambar 2.1. Gambar 2.1 Graf Berarah Di dalam situasi yang dinamis, seperti pada komputer digital ataupun pada sistem aliran, konsep graf berarah lebih sering digunakan dibandingkan dengan konsep graf tak berarah. Apabila ruas suatu graf berarah mempunyai suatu bobot, graf berarah tersebut dinamakan suatu jaringan atau network. Beberapa Pengertian dalam jaringan: a. Derajat ke luar (out degree) suatu simpul adalah banyaknya ruas yang berawal/ keluar dari simpul tersebut.

2 6 b. Derajat ke dalam (in degree) suatu simpul adalah banyaknya ruas yang berakhir / masuk ke simpul tersebut. c. Simpul berderajat ke dalam = 0 disebut source, sedangkan simpul berderajat ke luar = 0 disebut sink. Pada graf berarah terdapat 3 pengertian keterhubungan, yakni : a. Terhubung lemah, jika terdapat suatu semi path antara setiap 2 simpul dari graf. b. Terhubung unilateral, jika antara setiap 2 simpul u dan v dari graf, terdapat jalur dari u ke v atau dari v ke u. c. Terhubung kuat, jika antara setiap 2 simpul u dan v dari graf, terdapat jalur dari u ke v dan dari v ke u. Contoh : Gambar 2.2 Connected Graf 2.3 Lintasan (Path) Jika u dan v adalah dua simpul dalam graf G maka sebuah lintasan (path) u-v adalah urutan bolak simpul dan busur dimulai dari u dan berakhir di v tanpa ada simpul yang diulang. Gambar 2.3 adalah contoh sebuah lintasan a-e: a,b,c,d,f,e. Dengan kata lain, dapat dimulai dari simpul a menuju ke simpul b, dari b menuju ke c, kemudian ke d, dari d menuju ke f dan berakhir di e. Perhatikan bahwa simpul berturut-turut di lintasan-lintasan yang berdekatan satu sama lain. Dalam lintasan tidak diperbolehkan mengulang simpul dan busur. (Slamin, 2006).

3 7 a b c g d f e Gambar 2.3 Lintasan (Path) pada Graf 2.4 Pohon (Tree) Tree adalah suatu diagram yang digambar dengan menggunakan titik dan garis di mana setiap garis berfungsi untuk menghubungkan dua buah titik. Tree mempunyai kekhususan, yaitu dari simpul yang satu ke simpul yang lain hanya terhubung oleh serangkaian busur dengan jalur tunggal yang berarti tidak ada dua jalur antara dua simpul. (Zakaria T.M, 2005). Jika T = (V,E) adalah sebuah graf dengan n simpul, maka pernyataan berikut adalah ekuivalen: 1. T adalah sebuah pohon (tree). 2. T tidak sirkuit dan mempunyai n-1 busur. 3. T terhubung dan mempunyai n-1 busur. 4. Setiap busur dari T adalah titik potong (cut set). 5. Untuk setiap u,v Є V hanya satu lintasan (path) u-v. 6. Untuk setiap busur e yang baru, yang bergabung T + e mempunyai satu sirkuit.

4 8 Gambar 2.4 Contoh-contoh Tree 2.5 Arus Optimal Pada Jaringan Multiple Source dan Sinks Sebuah graf berbobot adalah kembar tiga (triplet) η = (V, Ą, c), dimana V adalah sebuah himpunan hingga tak kosong (nonempty finite set) dimana elemennya adalah sebuah simpul, Ą adalah sebuah himpunan dari pasangan berurut yang mengapit dua simpul dan c adalah sebuah fungsi dari Ą ke non negatif yang real yang disebut fungsi kapasitas. Jaringan adalah diasumsikan sebagai simpul-simpul yang terkoneksi untuk menghubungkan simpul (x, y) yang memenuhi persamaan x = x 0, x 1,, x m = y, dimana untuk setiap i, 1 i m, dengan (x i-1, x) atau (x 1, x i-1 ) adalah sebuah busur. Untuk setiap pasangan dari himpunan bagian X, Y V, (X, Y) = {(x,y): x X, y Y, (x,y) Ą}. (1) Sebuah pasangan dari bentuk (X,VX) adalah disebut sebuah cut, jika g adalah sebuah fungsi dari Ą untuk bilangan real yang didefinisikan sebagai berikut: g(x,y) = g(x, y) x,y (x,y). (2) dan untuk setiap simpul x didefinisikan sebagai: net (g,x) =g(v,{x}) g ({x}),v).. (3)

5 9 Diberikan S V untuk diletakkan di source dan T V \ S yang di letakkan di sinks pada jaringan. Sebuah aliran adalah sebuah fungsi f dari Ą ke nonegative real (bilangan real bukan negatif) sebagai: f(x,y) c(x,y).... (4) Untuk semua busur (x,y) dan untuk setiap simpul x, maka: G (f,x) 0 jika x S, 0 jika x T, = 0 selain itu.. (5) Definisi dari klas dari semua aliran adalah τ. Diberikan sebuah aliran f, T(f) didefinisikan sebagai T -tuple dari nomor graf (f,t), t T, sesuai dari penambahan magnitudo. Analogi beri S(f) sebagai S -tuple dari nomor graf (f,s), s S, sesuai dengan pengurangan magnitudo. Sebuah aliran f* adalah disebut sink yang optimal atau source yang optimal jika untuk setiap f Є τ, T(f*) (S(f*)) adalah lexicographically greater (less) maka atau sama dengan ke T(f) (S(f)) (Megiddo, 1974). 2.6 Primal Simplex Variant untuk Max Flow Problem Pada sebuah graf G (V,A) adalah graf langsung dari simpul yang ditetapkan sebagai V, dan sebuah busur yang ditetapkan sebagai A. Setiap busur k Є A mungkin sebagai sebuah pasangan berurut dari simpul (u,v). Sebagai gambaran untuk setiap busur k = (u,v) adalah sebuah variabel aliran x k dan sebuah batas atas atau koefisien kapasitas u k. Penambahan dua simpul yang spesifik s Є V dan t Є V disebut source dan sink. Sebuah rumusan dari permasalahan aliran maksimum dari sebuah source (s) ke sebuah sink (t) adalah disajikan sebagai: Maximize y 1, Subject to - xk +y1 k FS(s) =0, k FS(i) xk + y 1 + y 2 =0, xk y2=0, k RS(i) k FS(i) =0, i Є N {s,t},

6 10 0 x k uk, untuk semua k A, y 1, y 2 0, dimana FS(i) = {k:k = (i,j) A} dan RS(i) = {k:k = (j,i) A}. FS (i) adalah disebut sebagai permulaan dari simpul i dan suatu himpunan bagian dari busur pada simpul i. RS(i) adalah disebut kebalikan dari simpul i dan himpunan bagian dari busur pada akhir simpul i (Glover, 1984). Secara sederhana, permasalahan aliran maksimum dapat dideskripsikan sebagai masalah pencarian untuk mencari aliran maksimum yang dapat mengalir pada sebuah graf yang hanya memiliki sebuah source dan sebuah sink. Aplikasi dari permasalahan aliran maksimum ini adalah sebagai berikut: Terdapat pipa-pipa yang berhubungan, dengan kapasitas / daya tampung yang berbeda beda. Pipa pipa ini terhubung dengan sebuah keran, berapa volume maksimum air yang dapat dialirkan dari penampungan air sampai dengan keran di rumah atau Sebuah perusahaan memiliki sebuah pabrik di kota x dimana barang yang selesai di produksi harus di kirim ke kota y. Kasus di atas memiliki data jalan satu arah yang menghubungkan setiap kota dan jumlah maksimum truk yang dapat melewati jalan tersebut Tentukan jumlah maksimum truk yang dapat dikirimkan sekali kirim. Dengan pengamatan pertama, dapat menyimpulkan bahwa truk yang masuk ke kota y pasti sama dengan jumlah truk yang keluar dari x (Schrijver, 2002). Gambar dibawah ini menunjukkan solusi optimal untuk salah satu permasalahan di atas, setiap busur diberi tanda dengan sebuah nilai f/c yang diasosiasikan dengannya, dimana f/c adalah aliran yang dialirkan pada suatu graf terhadap kapasitas dari tiap busurnya. Gambar 2.5 Optimum Solution in Network

7 11 Jika aliran dari x-y lebih kecil dari pada kapasitas maka busur x-y memiliki kapasitas yang sama dengan perbedaan antara kapasitas dan alirannya dan jika alirannya bernilai positif, maka terdapat busur balik y-x dengan kapasitas setara dengan aliran di x-y yang disebut residual capacity. Sebuah augmenting path adalah sebuah jalan dari source ke sink dalam sebuah residual network (jaringan yang masih memiliki kapasitas sisa ), yang bertujuan untuk meningkatkan aliran suatu graf. Sangatlah penting untuk mengerti bahwa busur yang menghasilkan jalur ini dapat menunjuk arah yang salah tergantung dari graf asal. Kapasitas dari lintasan ini adalah kapasitas minimum dari seluruh kapasitas busur-busur yang dilalui oleh lintasan tersebut. Sebagai contoh diberikan sebuah graf berbobot aliran maksimum yang selanjutnya kita sebut sebagai jaringan ( network ) seperti pada Gambar 2.6. Gambar 2.6 Network Flow Gambar 2.7 Residual network

8 12 Dengan memperhatikan jalan X-A-C-Y, maka dapat meningkatkan aliran sebesar 1 busur X-A dan A-C memiliki kapasitas 3, tetapi busur C-Y memiliki kapasitas 1, dan dapat diambil nilai minimum untuk nilai-nilai dari setiap busur tersebut. Dari contoh diatas menghasilkan aliran seperti pada Gambar 2.8. Gambar 2.8 Network Flow Nilai dari aliran sekarang adalah 2, seperti yang terlihat dalam Gambar 2.8. Kemudian alirannya ditingkatkan lagi, dan akan terlihat sudah tidak terdapat lagi lintasan yang memenuhi jaringan di atas, karena semua busur sudah diisi. Dalam kasus ini, dimungkinkan untuk meningkatkan aliran. Gambar 2.9 Residual Network

9 13 Kemudian perhatikan bahwa jalan dari X ke Y adalah : X-A-C-B-D-E-Y, ini bukan jalan dalam sebuah jaringan, karena C-B adalah jalan dengan arah yang berlawanan. Jalan ini digunakan untuk meningkatkan aliran total dari jaringan asal. Proses akan memaksa masuk aliran dalam setiap busur, kecuali untuk C-B yang digunakan untuk menbatalkan aliran B-C. Jumlah operasi yang dipergunakan dibatasi oleh kapasitas setiap busur sepanjang lintasan. Kemudian sekali lagi ambil nilai minimum, ini untuk menyimpulkan bahwa lintasan tersebut juga berkapasitas 1. Dengan memperbaharui lintasasan ini seperti cara di atas akan menghasilkan aliran seperti pada Gambar Proses dilakukan sampai tidak terdapat lagi sisa lintasan dimana jalan dari source ke sink tidak lagi tersedia. Gambar 2.10 Aliran Maksimum pada Residual network 2.7 Algoritma Dekomposisi Untuk Min Cut Problem Dengan setiap busur (i,j) A dari G digabung dengan sebuah bilangan positif u ij, disebut kapasitas dari busur. Sebuah himpunan dan nonnegative integers f ij adalah disebut sebuah aliran yang mungkin pada jaringan jika memenuhi persamaan di bawah ini: i fij k fjk = f jika j = 1 0 jika j 1, n f jika j = n Dan

10 14 0 f ij u ij untuk semua (i,j) A, Dimana f adalah sebuah nonnegatif integer disebut bobot dari aliran. Sebuah himpunan dari aliran yang mungkin, dimana maksimal f adalah disebut aliran maksimum. Definisinya adalah sebuah X di subset pada sebuah simpul pada jaringan yang mana 1 X, v X. Juga diberikan X = V X. Pada (X, X ) diletakkan seperti pada sebuah busur (i,j) (X, X ) jika i X, j X dan (i,j) A atau j X, i X dan (i,j) A Sehingga himpunan tersebut disebut dengan sebuah pemotongan (cut). Kapasitas dari sebuah pemotongan (X, X ) ditulis sebagai c (X, X ) disajikan seperti: c(x, X ) = uij i,j (X, x ) i X,j x Sehingga dapat didefinisikan sebuah pemotongan kapasitas minimum pada sebuah jaringan disebut sebagai minimum cut. 2.8 Max-Flow Min-Cut Max-flow min-cut adalah metode untuk mencari maximum flow dan minimum cut pada sebuah network. Metode ini digunakan untuk menentukan besarnya kapasitas kanal untuk jalur transmisi data. Selain itu metode ini juga akan menghilangkan beberapa simpul yang nilai kapasitas kanalnya bernilai kecil dan tidak dipakai untuk melewatkan data. Cut adalah membagi sebuah graf menjadi dua himpunan yang berbeda, misalkan disebut A dan B, dimana A adalah source dan B adalah sink. Nilai pemotongan adalah nilai yang diperlukan untuk membagi graf tersebut menjadi dua seperti pada Gambar 2.11.

11 15 Gambar 2.11 Cut in Network Perhatikan bahwa total nilai untuk membagi jaringan tersebut adalah sama atau lebih kecil dari kapasitas setiap busur. Hal ini menunjukkan bahwa aliran maksimum adalah sama atau lebih kecil dari setiap cut dari setiap network. Dari sinilah asal mulai teorema max-flow min cut yang menyatakan bahwa nilai yang dibutuhkan untuk membagi suatu jaringan menjadi dua adalah sama dengan maximum flow-nya. Cara penyelesaiannya juga sama dengan cara mencari maksimum flow dari suatu graf. Diberikan sebuah jaringant, buang himpunan busur dengan nilai minimum untuk membuat sebuah simpul tidak terakses dari simpul yang lain. Hasilnya adalah sesuai dengan teorema max-flow min-cut yang merupakan maximum flow dari suatu graf. Untuk menentukan busur yang ingin dihilangkan, ambil setiap busur dari awal sampai akhir yang terakses dari simpul awal sampai simpul akhir, kemudian hilangkan simpul yang memiliki nilai minimum seperti pada Gambar Gambar 2.12 Minimum Cut in Network

12 Max-Flow Min-Cut Theorem Diberikan graf G(V,A) adalah sebuah graf berarah dan berbobot dengan source (S) dan sink (T). Diberikan f sebagai sebuah aliran. Maka pernyataan berikut ini adalah ekivalen : 1. f adalah sebuah maximum flow pada G. 2. G f tidak mengandung augmenting paths 3. f = C(S, T) untuk beberapa pemotongan pada (S, T). Pembuktian: a. (1) (2): Jika Gf mengandung sebuah augmenting path maka f +fp > f jadi f bukan aliran maksimum. b. (2) (3): Diberikan S = {u V : lintasan dari s ke v pada graf Gf}. T = V S. maka f(s, T) = f(s, V ) f(s, S) = f(s, V ) = f(s, V )+f(s s, V ) = f. Terlihat bahwa untuk setiap u S, v T, f(u, v) = c(u, v) Dalam hal lainnya cf(u, v) > 0 and v S. Dengan demikian C(S, T) = f(s, T) = f c. (3) (1): Dilihat dulu untuk setiap aliran f harus memenuhi f C(S, T) jika dan hanya jika f = C(S, T), f haruslah aliran maksimum. Algoritma Max-Flow-Min-Cut pada sebuah graf G = (V, A), dengan source S, terminal T serta kapasitas C adalah: 1. f := 0 (alirkan 0 ke semua sisi graf) 2. opt := false 3. WHILE not opt DO 3a. Konstruksikan sebuah residual graph G f 3b. Cari sebuah jalur langsung P dari S ke T pada G f (sebuah augmenting path) 3c. IF augmenting path P ada THEN 3d. update aliran f sepanjang P 3e. ELSE

13 17 4. set opt := true; and X := set simpul-simpul pada G f cabang dari S 5 END IF 6 LOOP 7. Masukkan f sebagai max flow dan ( X, V-X ) sebagai min-cut 8. END WHILE Sumber: Vatter, Penentuan Fungsi Find_Path Depth First Search Dalam menentukan implementasi dari fungsi find_path, langkah awal yang terpikirkan adalah dengan mengunakan algoritma depth-first search (DFS), karena mungkin merupakan metode termudah untuk di implementasikan. Tetapi sayangnya, memberikan hasil yang sangat jelek untuk beberapa network, dan normalnya lebih jarang dipakai dibanding dengan algortima yang akan kita pakai (Tanadi, 2001) Breath First Search Hal termudah lainnya yang sering dipakai adalah algoritma breadth-first search (BFS). Algoritma ini memberikan jalur terpendek dalam sebuah graf tak berbobot, dan dalam hal ini, kita dapat mengaplikasikannya untuk mendapatkan augmenting graf terkecil dari source ke sink. Pseudocode berikut secara sederhana menentukan jarur terpendek dari source ke sink, dan menghitung kapasitas minimum dari setiap busur sepanjang jalannya. Kemudian, dari setiap busur mengurangi kapasitasnya dan meningkatkan kapasitas setiap busur yang berkebalikan dengan kapastias jalannya. Pseudo code algoritma BFS adalah: function bfs:integer; //queue Q //push source ke Q //tandai source sebagai pernah dikunjungi //inisialisasi array from[x] //dengan simpul yang dikunjungi sebelumnya //dalam shortest_path dari source //ke x dengan nilai -1 (atau nilai sentinel lainnya); while Q not(empty)

14 18 where = pop dari Q for setiap simpul yang bertetanga dengan where if next not(visited) and (capacity[where][next] > 0) push next ke Q tandai next dengan visited from[next] = where if next = sink exit while loop end for end while // Menghitung kapasitas setiap jalan where = sink path_cap = infinity while from[where] > -1 prev = from[where] // node sebelumnnya path_cap = min(path_cap, capacity[prev][where]) where = prev end while // memperbaharui residual network, jika tidak terdapat jalan akhiri while loop will not be entered where = sink while from[where] > -1 prev = from[where] capacity[prev][where] -= path_capacity capacity[where][prev] += path_capacity where = prev end while // jika tidak terdapat jalan kapastias adalah tidak terhingga if path_cap = infinity return 0 else return path_cap Metode diatas cukup mudah diimplementasikan, jumlah operasi terburuk yang akan dilakukan paling banyak N * M/2, dimana N adalah jumlah simpul dan M adalah jumlah busur dari sebuah network. Nilai ini terlihat cukup besar, namun, hal ini merupakan perkiraan kasar untuk setiap network, sebagai contoh, dalam network

15 19 diatas kita melihat ada 3 augmenting path yang diperlukan dibanding dengan batas atas yang memerlukan 28 buah. Karena kompleksitas dari algoritma BFS adalah O(M), maka diimplementasikan dengan adjacency lists, kompleksitas maksimum adalah O(N * M²), meskipun biasanya algoritma ini lebih baik dari hal ini Priority-First Search Kemudian kita akan mempertimbangkan cara lain yaitu dengan mengunakan priorityfirst search (PFS). Yang sangat mirip dengan algoritma Dijkstra dengan implemntasi heap. Dalam kasus ini augmenting-path dengan kapasitas maksimum akan dipilih terlebih dahulu. Yang secara intuitif akan menghasilkan algoritma yang lebih cepat, karena dalam setiap langkahnya meningkatkan aliran dengan kemungkinan terbesar. Tetapi, tidak selalu begitu, dan impelemtasi BFS memberikan running time yang lebih cepat untuk beberapa network. Kita menentukan nilai setiap simpul dengan kapasitas minimum dari simpul ke busur. Kemudian kita mengambil setiap simpul yang memberikan nilai maksimum, seperti yang dilakukan algoritma Dijkstra, ketika kita mendapatkan sink, berarti kapasitas maksimum telah ditemukan, kemudian kita mengunakan struktur data yang menyebabkan kita dapat mengimplementasikan priority queue dengan tepat, meskipun mungkin membutuhkan space lebih. Ini adalah implementasi dalam pseudocode. function pfs:integer priority queue PQ //push simpul(source, infinity,1) ke PQ //keep the array from as in bfs() // jika tidak terdapat augmenting path, path_cap akan bernilai 0 path_cap = 0 while PQ not(empty) simpul aux = pop dari PQ where = aux.node cost = aux.priority if visited(where) continue from[where] = aux.from if where = sink path_cap = cost exit while loop //tandai where dengan visited //for setiap busur yang //bertetangga dengan where if capacity[where][next] > 0

16 20 new_cost = min(cost, capacity[where][next]) push node(next, new_cost, where) to PQ end for end while // update residual network where = sink while from[where] > -1 prev = from[where] capacity[prev][where] -= path_cap capacity[where][prev] += path_cap where = prev end while return path_cap Analisis diatas cukup rumit, tapi karena PFS paling banyak melakukan 2M1gU operasi (seperti dalam algoritma dijkstra), dimana U adalah kapasitas maksimum dari sebuah isi dalam network. Seperti dalam BFS, jumlah ini sangat besar jika dibandingkan dengan jumlah operasi dalam kebanyakan network. Dikombinasikan dengan kompleksitas O(M 1g M) dari fungsi search untuk menghasilkan worst-case dari algortima tersebut (Tanadi, Kevin, 2001) Algoritma Augmenting Path Sebuah augmenting path adalah sebuah jalur dari source ke sink dalam sebuah residual network yang berfungsi untuk meningkatkan flow suatu network. Algoritma augmenting path sebagai berikut: 1. Initialisasi total flow to 0 2. Residual graph G = G 3. While augmenting path exist pada G 3a. Ambil sebuah augmenting path P pada G 3b. m = kapasitas bottleneck dari P 3c. Tambahkan m ke total flow 4. Push flow dari m sepanjang P 5. update G

17 21 Untuk mengambil jalur Augmenting dengan cara: a. Cari jalur dengan kapasitas bottleneck yang maksimum. b. Cari sebuah jalur dengan panjang minimum 2.12 Aplikasi MATLAB MATLAB merupakan salah satu paket aplikasi matematika yang sangat cepat dan menyenangkan untuk digunakan sebagai alat pemecahan masalah matematika secara numerik. Masalah komputasi yang ditemui di dalam matematika dapat diselesaikan secara lebih cepat dengan MATLAB daripada dengan menggunakan bahasa pemrograman baku seperti BASIC, Fortran, C/C++, Pascal, Java dan sebagainya. Khususnya, MATLAB sangat cocok dan cepat untuk melakukan perhitungan yang melibatkan matriks maupun graf. Hal ini sesuai dengan nama MATLAB yang merupakan singkatan dari Matrix Labolatory. MATLAB dapat digunakan untuk melakukan komputasi numerik, simbolik dan visualisasi serta pemrograman (Sahid, 2006). MATLAB pada hakekatnya hanya bekerja dengan satu jenis objek, yakni matriks numerik dengan elemen-elemen riil maupun kompleks. Semua variabel di dalam MATLAB menyajikan matriks. Sebuah matriks adalah suatu array (jajaran) dua dimensi yang terdiri dari bilangan-bilangan riil dan kompleks dan disusun dalam baris dan kolom. Dalam beberapa situasi, matriks 1 x 1 dianggap sebagai skalar dan matriks yang hanya terdiri dari satu baris atau kolom, dianggap sebagai vektor. Matriks dapat didefinisikan oleh MATLAB dengan beberapa cara, diantaranya: a. Menuliskan daftar elemen-elemen matriks. b. Menggunakan perintah-perintah dan fungsi-fungsi yang tersedia. c. Menggunakan M-file yang merupakan skrip MATLAB atau memanggil file data eksternal. Sebagai contoh untuk membentuk matriks ordo tiga dengan cara: A = [1 2 3; 4 5 6; 7 8 9]

18 22 Hasilnya: Perintah di atas berarti MATLAB mendefinisikan matriks 3 x 3 dan disimpan di dalam variabel A. Dengan kata lain, A adalah matriks 3 x 3 yang elemenelemennya seperti tertulis di atas. Elemen-elemen di dalam suatu baris sebuah matriks dapat dipisahkan dengan koma atau spasi. Tanda titik koma (;) atau perpindahan baris (ENTER) digunakan untuk menandai pergantian baris suatu matriks. Untuk membentuk graf seperti Gambar 2.13 di bawah ini: Gambar 2.13 Graf Berbobot dan Berarah Dapat dilakukan inisialisasi graf dengan perintah: cm = sparse([ ],[ ],[ ],8,8), dimana [ ] merupakan node sumber (sourse) pada graf, [ ] merupakan node tujuan

19 23 (destination), [ ] merupakan kapasitas path dan 8,8 adalah jumlah node pada graf. Selanjutnya pseudocode berikut adalah untuk menampilkan graf pada layar. view(biograph(f,[],'showweights','on'))

Analisis Kompleksitas Algoritma Untuk Menyelesaikan Permasalahan Maximum Flow

Analisis Kompleksitas Algoritma Untuk Menyelesaikan Permasalahan Maximum Flow Analisis Kompleksitas Algoritma Untuk Menyelesaikan Permasalahan Maximum Flow Kevin Tanadi NIM: 13506120 1) Jurusan Teknik Informatika ITB, Bandung 40116, email: streptomicin2001@yahoo.com Abstract Makalah

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 39 BAB 2 TINJAUAN PUSTAKA 2.1. Teori Graf 2.1.1 Definisi Graf Teori graf merupakan salah satu cabang matematika yang paling banyak aplikasinya dalam kehidupan sehari hari. Salah satu bentuk dari graf adalah

Lebih terperinci

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf Bab 2 LANDASAN TEORI 2.1. Konsep Dasar Graf Definisi Graf Suatu graf G terdiri atas himpunan yang tidak kosong dari elemen elemen yang disebut titik atau simpul (vertex), dan suatu daftar pasangan vertex

Lebih terperinci

SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013. Graf Berarah

SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013. Graf Berarah SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013 Graf Berarah Graf Berarah Suatu graf berarah (Direct Graf/Digraf) D terdiri atas 2 himpunan : 1. Himpunan V, anggotanya disebut Simpul. 2. Himpunan A, merupakan

Lebih terperinci

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016 NASKAH UJIAN UTAMA MATA UJIAN : LOGIKA DAN ALGORITMA JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016 NASKAH UJIAN INI TERDIRI DARI 80 SOAL PILIHAN GANDA

Lebih terperinci

Graf Berarah (Digraf)

Graf Berarah (Digraf) Graf Berarah (Digraf) Di dalam situasi yang dinamis, seperti pada komputer digital ataupun pada sistem aliran (flow system), konsep graf berarah lebih sering digunakan dibandingkan dengan konsep graf tak

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI Sebelum memulai pembahasan lebih lanjut, pertama-tama haruslah dijelaskan apa yang dimaksud dengan traveling salesman problem atau dalam bahasa Indonesia disebut sebagai persoalan

Lebih terperinci

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf Nur Fajriah Rachmah - 0609 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jalan

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI.. Definisi Graf Secara matematis, graf G didefinisikan sebagai pasangan himpunan (V,E) ditulis dengan notasi G = (V, E), yang dalam hal ini: V = himpunan tidak-kosong dari simpul-simpul

Lebih terperinci

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF Anthony Rahmat Sunaryo NIM: 3506009 Jurusan Teknik Informatika ITB, Bandung email : if6009@students.if.itb.ac.id Abstract -- Makalah ini membahas tentang analsis

Lebih terperinci

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum Gerard Edwin Theodorus - 13507079 Jurusan Teknik Informatika ITB, Bandung, email: if17079@students.if.itb.ac.id Abstract Makalah ini

Lebih terperinci

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf Marvin Jerremy Budiman / 13515076 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Teori Graph 2.1.1 Definisi Graph Menurut Dasgupta dkk (2008), graph merupakan himpunan tak kosong titik-titik yang disebut vertex (juga disebut dengan node) dan himpunan garis-garis

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB LANDASAN TEORI. Teori Graf Teori graf merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak terapan sampai saat ini. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan

Lebih terperinci

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf Rahadian Dimas Prayudha - 13509009 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA 2.1 Graf (Graph) Graf G didefinisikan sebagai pasangan himpunan (V, E) yang dinotasikan dalam bentuk G = {V(G), E(G)}, dimana V(G) adalah himpunan vertex (simpul) yang tidak kosong

Lebih terperinci

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound Mico (13515126) Teknik Informatika Sekolah Teknik Elektro dan Informatika ITB Jl. Ganesha 10,

Lebih terperinci

CRITICAL PATH. Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5. Graph G. Alternatif

CRITICAL PATH. Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5. Graph G. Alternatif CRITICAL PATH Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5 Graph G Path Bobot Alternatif 1 4 5 16 1 2 5 15 1 2 3 5 24 1 4 3 5 19 1 2 3 4 5 29 1 4 3

Lebih terperinci

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug Rizkydaya Aditya Putra NIM : 13506037 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut

Lebih terperinci

BAB 2 OPTIMISASI KOMBINATORIAL. Masalah optimisasi merupakan suatu proses pencarian varibel bebas yang

BAB 2 OPTIMISASI KOMBINATORIAL. Masalah optimisasi merupakan suatu proses pencarian varibel bebas yang BAB 2 OPTIMISASI KOMBINATORIAL 2.1 Masalah Model Optimisasi Kombinatorial Masalah optimisasi merupakan suatu proses pencarian varibel bebas yang memenuhi kondisi atau batasan yang disebut kendala dari

Lebih terperinci

Pemanfaatan Directed Acyclic Graph untuk Merepresentasikan Hubungan Antar Data dalam Basis Data

Pemanfaatan Directed Acyclic Graph untuk Merepresentasikan Hubungan Antar Data dalam Basis Data Pemanfaatan Directed Acyclic Graph untuk Merepresentasikan Hubungan Antar Data dalam Basis Data Winson Waisakurnia (13512071) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

UNIVERSITAS GUNADARMA

UNIVERSITAS GUNADARMA UNIVERSITAS GUNADARMA SK No. 92 / Dikti / Kep /1996 Fakultas Ilmu Komputer, Teknologi Industri, Ekonomi,Teknik Sipil & Perencanaan, Psikologi, Sastra Program Diploma (D3) Manajemen Informatika, Teknik

Lebih terperinci

GRAF. V3 e5. V = {v 1, v 2, v 3, v 4 } E = {e 1, e 2, e 3, e 4, e 5 } E = {(v 1,v 2 ), (v 1,v 2 ), (v 1,v 3 ), (v 2,v 3 ), (v 3,v 3 )}

GRAF. V3 e5. V = {v 1, v 2, v 3, v 4 } E = {e 1, e 2, e 3, e 4, e 5 } E = {(v 1,v 2 ), (v 1,v 2 ), (v 1,v 3 ), (v 2,v 3 ), (v 3,v 3 )} GRAF Graf G(V,E) didefinisikan sebagai pasangan himpunan (V,E), dengan V adalah himpunan berhingga dan tidak kosong dari simpul-simpul (verteks atau node). Dan E adalah himpunan berhingga dari busur (vertices

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Teori Graf 2.1.1 Defenisi Graf Graf G didefenisikan sebagai pasangan himpunan (V,E), ditulis dengan notasi G = (V,E), yang dalam hal ini V adalah himpunan tidak kosong dari simpul-simpul

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis Pada bab 2, telah delaskan mengenai pemilihan negative cycle yang akan mengalami proses canceling tanpa menggunakan aturan-aturan tertentu. Dengan kondisi tersebut,

Lebih terperinci

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound Eric 13512021 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

Penerapan Algoritma Backtracking pada Pewarnaan Graf

Penerapan Algoritma Backtracking pada Pewarnaan Graf Penerapan Algoritma Backtracking pada Pewarnaan Graf Deasy Ramadiyan Sari 1, Wulan Widyasari 2, Eunice Sherta Ria 3 Laboratorium Ilmu Rekayasa dan Komputasi Departemen Teknik Informatika, Fakultas Teknologi

Lebih terperinci

Pencarian Jalur Terpendek dengan Algoritma Dijkstra

Pencarian Jalur Terpendek dengan Algoritma Dijkstra Volume 2 Nomor 2, Oktober 207 e-issn : 24-20 p-issn : 24-044X Pencarian Jalur Terpendek dengan Algoritma Dijkstra Muhammad Khoiruddin Harahap Politeknik Ganesha Medan Jl.Veteran No. 4 Manunggal choir.harahap@yahoo.com

Lebih terperinci

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum Arieza Nadya -- 13512017 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Graf 2.1.1 Definisi Graf Graf adalah pasangan himpunan (V, E), dan ditulis dengan notasi G = (V, E), V adalah himpunan tidak kosong dari verteks-verteks {v 1, v 2,, v n } yang

Lebih terperinci

Design and Analysis Algorithm

Design and Analysis Algorithm Design and Analysis Algorithm Pertemuan 06 Drs. Achmad Ridok M.Kom Imam Cholissodin, S.Si., M.Kom M. Ali Fauzi S.Kom., M.Kom Ratih Kartika Dewi, ST, M.Kom Contents 31 Greedy Algorithm 2 Pendahuluan Algoritma

Lebih terperinci

x 6 x 5 x 3 x 2 x 4 V 3 x 1 V 1

x 6 x 5 x 3 x 2 x 4 V 3 x 1 V 1 . PENGANTAR TEORI GRAF Definisi : Secara umum merupakan kumpulan titik dan garis. NET terdiri atas : 1. Himpunan titik (tidak boleh kosong) 2. Himpunan garis (directed line) 3. Setiap directed line menentukan

Lebih terperinci

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra Adriansyah Ekaputra 13503021 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung Abstraksi Makalah

Lebih terperinci

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem Arie Tando (13510018) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus. 1 ARRAY & LINKED LIST MODUL 1 Standar kompetensi: 1. Mahasiswa mengetahui perbedaan array dan linked list. 2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus. 3. Mahasiswa

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 4 BAB 2 LANDASAN TEORI 2.1 Pengertian Kemacetan Kemacetan adalah situasi atau keadaan tersendatnya atau bahkan terhentinya lalu lintas yang disebabkan oleh banyaknya jumlah kendaraan melebihi kapasitas

Lebih terperinci

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar Arifin Luthfi Putranto (13508050) Program Studi Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10, Bandung E-Mail: xenoposeidon@yahoo.com

Lebih terperinci

APLIKASI GRAF DALAM BISNIS TRAVEL BANDUNG-BOGOR

APLIKASI GRAF DALAM BISNIS TRAVEL BANDUNG-BOGOR APLIKASI GRAF DALAM BISNIS TRAVEL BANDUNG-BOGOR Achmad Giovani NIM : 13508073 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jl. Ganeca 10 Bandung e-mail:

Lebih terperinci

merupakan himpunan sisi-sisi tidak berarah pada. (Yaoyuenyong et al. 2002)

merupakan himpunan sisi-sisi tidak berarah pada. (Yaoyuenyong et al. 2002) dari elemen graf yang disebut verteks (node, point), sedangkan, atau biasa disebut (), adalah himpunan pasangan tak terurut yang menghubungkan dua elemen subset dari yang disebut sisi (edge, line). Setiap

Lebih terperinci

Algoritma Runut-balik (Backtracking) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir

Algoritma Runut-balik (Backtracking) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir Algoritma Runut-balik (Backtracking) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir 1 Pendahuluan Runut-balik (backtracking) adalah algoritma yang berbasis pada DFS untuk mencari solusi persoalan

Lebih terperinci

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang BAB III ALGORITMA BRANCH AND BOUND Algoritma Branch and Bound merupakan metode pencarian di dalam ruang solusi secara sistematis. Ruang solusi diorganisasikan ke dalam pohon ruang status. Pohon ruang status

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Persoalan lintasan terpanjang (longest path) merupakan persoalan dalam mencari lintasan sederhana terpanjang maksimum dalam suatu graph yang diberikan. Lintasan terpanjang

Lebih terperinci

Algoritma Greedy (lanjutan)

Algoritma Greedy (lanjutan) Algoritma Greedy (lanjutan) 5. Penjadwalan Job dengan Tenggang Waktu (Job Schedulling with Deadlines) Persoalan: - Ada n buah job yang akan dikerjakan oleh sebuah mesin; - tiap job diproses oleh mesin

Lebih terperinci

Kode MK/ Pemrograman Terstruktur 2

Kode MK/ Pemrograman Terstruktur 2 Kode MK/ Pemrograman Terstruktur 2 ZK Abdurahman Baizal KK Algoritma dan Komputasi Graf 1 8/25/2015 Pendahuluan Dalam bab ini kita akan membahas struktur data graf Struktur data graf banyak digunakan sebagai

Lebih terperinci

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian Kecerdasan Buatan Pertemuan 02 Penyelesaian Masalah dengan Pencarian Kelas 10-S1TI-03, 04, 05 Husni Lunix96@gmail.com http://komputasi.wordpress.com S1 Teknik Informatika, STMIK AMIKOM, 2012 Outline Pendahuluan

Lebih terperinci

BAB 1 PENDAHULUAN. barang, jaringan jalan raya, atau dalam masalah komputasi yaitu jaringan penjadwalan.

BAB 1 PENDAHULUAN. barang, jaringan jalan raya, atau dalam masalah komputasi yaitu jaringan penjadwalan. BAB 1 PENDAHULUAN 1.1 Latar Belakang Kehidupan manusia berkaitan erat dengan jaringan. Jaringan pendistribusian barang, jaringan jalan raya, atau dalam masalah komputasi yaitu jaringan penjadwalan. Dalam

Lebih terperinci

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Teori graf menurut Munir (2012), merupakan salah satu cabang dari ilmu matematika dengan pokok bahasan yang sudah sejak lama digunakan dan memiliki banyak terapan hingga

Lebih terperinci

PENYELESAIAN MASALAH ALIRAN MAKSIMUM DENGAN MENGGUNAKAN ALGORITMA DIJKSTRA DAN ALGORITMA FORD-FULKERSON TUGAS AKHIR

PENYELESAIAN MASALAH ALIRAN MAKSIMUM DENGAN MENGGUNAKAN ALGORITMA DIJKSTRA DAN ALGORITMA FORD-FULKERSON TUGAS AKHIR PENYELESAIAN MASALAH ALIRAN MAKSIMUM DENGAN MENGGUNAKAN ALGORITMA DIJKSTRA DAN ALGORITMA FORD-FULKERSON TUGAS AKHIR Diajukan Sebagai salah Satu Syarat Untuk Memperoleh Gelar Sarjana Sains pada Jurusan

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Konsep Dasar Teori Graph 2.1.1 Graph Tak Berarah dan Digraph Suatu Graph Tak Berarah (Undirected Graph) merupakan kumpulan dari titik yang disebut verteks dan segmen garis yang

Lebih terperinci

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e. 1. Dalam menyusun suatu program, langkah pertama yang harus dilakukan adalah : a.membuat program b. Membuat Algoritma c. Membeli komputer d. Proses e. Mempelajari program 2. Sebuah prosedur langkah demi

Lebih terperinci

Tujuan Instruksional

Tujuan Instruksional Pertemuan 4 P E N C A R I A N T A N P A I N F O R M A S I B F S D F S U N I F O R M S E A R C H I T E R A T I V E D E E P E N I N G B I D I R E C T I O N A L S E A R C H Tujuan Instruksional Mahasiswa

Lebih terperinci

Bab 2. Teori Dasar. 2.1 Definisi Graf

Bab 2. Teori Dasar. 2.1 Definisi Graf Bab 2 Teori Dasar Pada bagian ini diberikan definisi-definisi dasar dalam teori graf berikut penjabaran mengenai kompleksitas algoritma beserta contohnya yang akan digunakan dalam tugas akhir ini. Berikut

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Konsep Dasar Graf Definisi 2.1.1 Sebuah graf didefinisikan sebagai pasangan terurut himpunan dimana: 1. adalah sebuah himpunan tidak kosong yang berhingga yang anggotaanggotanya

Lebih terperinci

BAB 2 GRAF PRIMITIF. 2.1 Definisi Graf

BAB 2 GRAF PRIMITIF. 2.1 Definisi Graf BAB 2 GRAF PRIMITIF Pada Bagian ini akan dijelaskan beberapa definisi dan teorema terkait graf, matriks adjency, terhubung, primitifitas, dan scrambling index sebagai landasan teori yang menjadi acuan

Lebih terperinci

ALGORITMA BELLMAN-FORD DALAM DISTANCE VECTOR ROUTING PROTOCOL

ALGORITMA BELLMAN-FORD DALAM DISTANCE VECTOR ROUTING PROTOCOL ALGORITMA BELLMAN-FORD DALAM DISTANCE VECTOR ROUTING PROTOCOL Algoritma Bellman-Ford dalam Distance Vector Routing Protocol Galih Andana NIM : 13507069 Program Studi Teknik Informatika, Institut Teknologi

Lebih terperinci

Komponen Terhubung dan Jalur Terpendek Algoritma Graf Paralel

Komponen Terhubung dan Jalur Terpendek Algoritma Graf Paralel Komponen Terhubung dan Jalur Terpendek Algoritma Graf Paralel Yosef Sukianto Nim 13506035 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, Jalan Ganesha

Lebih terperinci

Analisis Penerapan Algoritma Kruskal dalam Pembuatan Jaringan Distribusi Listrik

Analisis Penerapan Algoritma Kruskal dalam Pembuatan Jaringan Distribusi Listrik Analisis Penerapan Algoritma Kruskal dalam Pembuatan Jaringan Distribusi Listrik Maureen Linda Caroline (13508049) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni Kecerdasan Buatan Pertemuan 02 Penyelesaian Masalah dengan Pencarian... Husni Lunix96@gmail.com http://komputasi.wordpress.com S1 Teknik Informatika, STMIK AMIKOM, 2013 Outline Konsep Pencarian Pencarian

Lebih terperinci

Algoritma Runut-balik (Backtracking)

Algoritma Runut-balik (Backtracking) Algoritma Runut-balik (Backtracking) Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir Program Studi Informatika STEI-ITB 1 2 Pendahuluan Backtracking dapat dipandang sebagai salah satu dari dua

Lebih terperinci

Aplikasi Branch and Bound Pada Pencarian Jalan Pada Software Navigasi

Aplikasi Branch and Bound Pada Pencarian Jalan Pada Software Navigasi Aplikasi Branch and Bound Pada Pencarian Jalan Pada Software Navigasi Rita Sarah / 13512009 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

PENYELESAIAN MASALAH ALIRAN MAKSIMUM MENGGUNAKAN EDMONS KARP ALGORITHM

PENYELESAIAN MASALAH ALIRAN MAKSIMUM MENGGUNAKAN EDMONS KARP ALGORITHM PENYELESAIAN MASALAH ALIRAN MAKSIMUM MENGGUNAKAN EDMONS KARP ALGORITHM Fathimatuzzahro, Sapti Wahyuningsih, dan Darmawan Satyananda Universitas Negeri Malang E-mail: fathimatuzzahro90@gmail.com ABSTRAK:

Lebih terperinci

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum Bramianha Adiwazsha - NIM: 13507106 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA Bagian ini menjelaskan tentang hal-hal yang erat kaitannya dengan masalah m- ring star. Salah satu cabang matematika yang cukup penting dan sangat luas penerapannya di banyak bidang

Lebih terperinci

PENERAPAN ALGORITMA RELAKSASI PADA PERMASALAHAN MINIMUM COST FLOW

PENERAPAN ALGORITMA RELAKSASI PADA PERMASALAHAN MINIMUM COST FLOW PENERAPAN ALGORITMA RELAKSASI PADA PERMASALAHAN MINIMUM COST FLOW Supiatun, Sapti Wahyuningsih, Darmawan Satyananda Universitas Negeri Malang E-mail: nuta_ipuzzz@yahoo.com Abstrak : Minimum cost flow merupakan

Lebih terperinci

Pertemuan 11 GRAPH, MATRIK PENYAJIAN GRAPH

Pertemuan 11 GRAPH, MATRIK PENYAJIAN GRAPH Pertemuan 11 GRAPH, MATRIK PENYAJIAN GRAPH GRAPH Suatu Graph mengandung 2 himpunan, yaitu : 1. Himpunan V yang elemennya disebut simpul (Vertex atau Point atau Node atau Titik) 2. Himpunan E yang merupakan

Lebih terperinci

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata Janice Laksana / 350035 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Studi Algoritma Optimasi dalam Graf Berbobot

Studi Algoritma Optimasi dalam Graf Berbobot Studi Algoritma Optimasi dalam Graf Berbobot Vandy Putrandika NIM : 13505001 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : if15001@students.if.itb.ac.id

Lebih terperinci

Struktur dan Organisasi Data 2 G R A P H

Struktur dan Organisasi Data 2 G R A P H G R A P H Graf adalah : Himpunan V (Vertex) yang elemennya disebut simpul (atau point atau node atau titik) Himpunan E (Edge) yang merupakan pasangan tak urut dari simpul, anggotanya disebut ruas (rusuk

Lebih terperinci

Strategi Algoritma Penyelesaian Puzzle Hanjie

Strategi Algoritma Penyelesaian Puzzle Hanjie Strategi Algoritma Penyelesaian Puzzle Hanjie Whilda Chaq 13511601 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

Lebih terperinci

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING) PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING) R. Aditya Satrya Wibawa (NIM. 30064) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 18 BAB 2 LANDASAN TEORI 2.1. Pengertian Algoritma Algoritma adalah urutan atau deskripsi langkah- langkah penyelesaian masalah yang tersusun secara logis, ditulis dengan notasi yang mudah dimengerti sedemikian

Lebih terperinci

Kode MK/ Matematika Diskrit

Kode MK/ Matematika Diskrit Kode MK/ Matematika Diskrit TEORI GRAF 1 8/29/2014 Cakupan Himpunan, Relasi dan fungsi Kombinatorial Teori graf Pohon (Tree) dan pewarnaan graf 2 8/29/2014 1 TEORI GRAF Tujuan Mahasiswa memahami konsep

Lebih terperinci

Algoritma Bellman-Ford dalam Distance Vector Routing Protocol

Algoritma Bellman-Ford dalam Distance Vector Routing Protocol Algoritma Bellman-Ford dalam Distance Vector Routing Protocol Galih Andana NIM : 13507069 Program Studi Teknik Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung E-mail : if17069@students.if.itb.ac.id

Lebih terperinci

Algoritma Greedy (lanjutan)

Algoritma Greedy (lanjutan) Algoritma Greedy (lanjutan) 5. Penjadwalan Job dengan Tenggat Waktu (Job Schedulling with Deadlines) Persoalan: -Adan buah job yang akan dikerjakan oleh sebuah mesin; -tiapjob diproses oleh mesin selama

Lebih terperinci

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE Alvin Andhika Zulen (13507037) Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jalan

Lebih terperinci

Implementasi Algoritma BFS dan DFS dalam Penyelesaian Token Flip Puzzle

Implementasi Algoritma BFS dan DFS dalam Penyelesaian Token Flip Puzzle Implementasi BFS dan DFS dalam Penyelesaian Token Flip Puzzle Ali Akbar Septiandri - 13509001 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Optimasi Jaringan. Masalah Optimasi Jaringan Model Optimasi Jaringan Penyelesaian Optimasi Jaringan dengan Simpleks

Optimasi Jaringan. Masalah Optimasi Jaringan Model Optimasi Jaringan Penyelesaian Optimasi Jaringan dengan Simpleks Optimasi Jaringan Masalah Optimasi Jaringan Model Optimasi Jaringan Penyelesaian Optimasi Jaringan dengan Simpleks Pendahuluan Sebuah model jaringan terdiri dari dua buah element utama, yaitu: Arc, marupakan

Lebih terperinci

Denny Setyo R. Masden18.wordpress.com

Denny Setyo R. Masden18.wordpress.com Denny Setyo R. masden18@gmail.com Masden18.wordpress.com Graph adalah kumpulan dari simpul dan busur yang secara matematis dinyatakan sebagai : Dimana G = (V, E) G = Graph V = Simpul atau Vertex, atau

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 6 BAB 2 LANDASAN TEORI 2.1 Pengertian Algoritma Menurut (Suarga, 2012 : 1) algoritma: 1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun

Lebih terperinci

Mata Kuliah Penelitian Operasional II OPERATIONS RESEARCH AN INTRODUCTION SEVENTH EDITION BY HAMDY A. TAHA BAB 6.

Mata Kuliah Penelitian Operasional II OPERATIONS RESEARCH AN INTRODUCTION SEVENTH EDITION BY HAMDY A. TAHA BAB 6. Mata Kuliah Penelitian Operasional II OPERATIONS RESEARCH AN INTRODUCTION SEVENTH EDITION BY HAMDY A. TAHA BAB 6 Analisis Jaringan Dipresentasikan oleh: Herman R. Suwarman, S.Si Pendahuluan- Ilustrasi

Lebih terperinci

Graf. Program Studi Teknik Informatika FTI-ITP

Graf. Program Studi Teknik Informatika FTI-ITP Graf Program Studi Teknik Informatika FTI-ITP Pendahuluan Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Gambar di bawah ini sebuah graf yang menyatakan

Lebih terperinci

Algoritma dan Pemrograman Pendekatan Pemrograman Modular

Algoritma dan Pemrograman Pendekatan Pemrograman Modular PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Algoritma dan Pemrograman Pendekatan Pemrograman Modular Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id Pendahuluan Teknik Pemrograman Penekanan

Lebih terperinci

Penerapan Algoritma A* dalam Penentuan Lintasan Terpendek

Penerapan Algoritma A* dalam Penentuan Lintasan Terpendek Penerapan Algoritma A* dalam Penentuan Lintasan Terpendek Johannes Ridho Tumpuan Parlindungan/13510103 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path)

Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path) Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path) Raden Aprian Diaz Novandi Program Studi Teknik Informatika, Sekolah Teknik Elektro

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 5 BAB 2 LANDASAN TEORI 2.1 Pengertian Algoritma Algoritma adalah urutan logis langkah-langkah penyelesaian yang disusun secara sistematis. Meskipun algoritma sering dikaitkan dengan ilmu komputer, namun

Lebih terperinci

Teori Dasar Graf (Lanjutan)

Teori Dasar Graf (Lanjutan) Teori Dasar Graf (Lanjutan) MATRIKS DAN GRAF Untuk menyelesaikan suatu permasalahan model graf dengan bantuan komputer, maka graf tersebut disajikan dalam bentuk matriks. Matriks-matriks yang dapat menyajikan

Lebih terperinci

ALGORITMA GREEDY : MINIMUM SPANNING TREE. Perbandingan Kruskal dan Prim

ALGORITMA GREEDY : MINIMUM SPANNING TREE. Perbandingan Kruskal dan Prim ALGORITMA GREEDY : MINIMUM SPANNING TREE Perbandingan Kruskal dan Prim AGENDA Pendahuluan Dasar Teori Contoh Penerapan Algoritma Analisis perbandingan algoritma Prim dan Kruskal Kesimpulan PENDAHULUAN

Lebih terperinci

Perbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek

Perbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek Perbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek Finsa Ferdifiansyah NIM 0710630014 Jurusan Teknik Elektro Konsentrasi Rekayasa Komputer Fakultas Teknik Universitas

Lebih terperinci

Graf dan Analisa Algoritma. Pertemuan #01 - Dasar-Dasar Teori Graf Universitas Gunadarma 2017

Graf dan Analisa Algoritma. Pertemuan #01 - Dasar-Dasar Teori Graf Universitas Gunadarma 2017 Graf dan Analisa Algoritma Pertemuan #01 - Dasar-Dasar Teori Graf Universitas Gunadarma 2017 Who Am I? Stya Putra Pratama, CHFI, EDRP Pendidikan - Universitas Gunadarma S1-2007 Teknik Informatika S2-2012

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Terminologi graf Tereminologi termasuk istilah yang berkaitan dengan graf. Di bawah ini akan dijelaskan beberapa definisi yang sering dipakai terminologi. 2.1.1 Graf Definisi

Lebih terperinci

BAB II LANDASAN TEORI. Teori graf dikenal sejak abad ke-18 Masehi. Saat ini teori graf telah

BAB II LANDASAN TEORI. Teori graf dikenal sejak abad ke-18 Masehi. Saat ini teori graf telah BAB II LANDASAN TEORI 2.1. Pendahuluan Teori graf dikenal sejak abad ke-18 Masehi. Saat ini teori graf telah berkembang sangat pesat dan digunakan untuk menyelesaikan persoalanpersoalan pada berbagai bidang

Lebih terperinci

Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur

Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur Aplikasi Teori Graf dalam Penggunaan Cairan Pendingin pada Proses Manufaktur Steffi Indrayani / 13514063 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

BAB 2 DIGRAPH. Representasi dari sebuah digraph D dapat dilihat pada contoh berikut. Contoh 2.1. Representasi dari digraph dengan 5 buah verteks.

BAB 2 DIGRAPH. Representasi dari sebuah digraph D dapat dilihat pada contoh berikut. Contoh 2.1. Representasi dari digraph dengan 5 buah verteks. BAB 2 DIGRAPH Pada bab ini akan dijelaskan teori-teori dasar tentang digraph yang meliputi definisi dua cycle, primitifitas dari digraph, eksponen, dan lokal eksponen. Dengan demikian, akan mempermudah

Lebih terperinci

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe

Penerapan Algoritma Runut-Balik (Backtracking) pada Permainan Nurikabe Penerapan Runut-Balik (Backtracking) pada Permainan Nurikabe Putri Amanda Bahraini Program Studi Teknik Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung e-mail: if14041@students.if.itb.ac.id

Lebih terperinci

BAB II TINJAUAN PUSTAKA. kromatik lokasi sebagai landasan teori dari penelitian ini.

BAB II TINJAUAN PUSTAKA. kromatik lokasi sebagai landasan teori dari penelitian ini. BAB II TINJAUAN PUSTAKA Pada bab ini akan diberikan beberapa konsep dasar teori graf dan bilangan kromatik lokasi sebagai landasan teori dari penelitian ini. 2.1 Konsep Dasar Graf Beberapa konsep dasar

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Pengertian Algoritma Algoritma adalah teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sitematis

Lebih terperinci

BAB 2 LANDASAN TEORITIS

BAB 2 LANDASAN TEORITIS xvi BAB 2 LANDASAN TEORITIS Dalam penulisan laporan tugas akhir ini, penulis akan memberikan beberapa pengertian yang berhubungan dengan judul penelitian yang penulis ajukan, karena tanpa pengertian yang

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah dalam menentukan rantaian terpendek diantara pasangan node (titik) tertentu dalam suatu graph telah banyak menarik perhatian. Persoalan dirumuskan sebagai kasus

Lebih terperinci

BAB I. MASALAH TRANSPORTASI KHUSUS

BAB I. MASALAH TRANSPORTASI KHUSUS BAB I. MASALAH TRANSPORTASI KHUSUS Pada perkuliahan pemrograman linear telah dipelajari masalah transportasi secara umum, yaitu suatu masalah pemindahan barang dari beberapa tempat asal (sumber/origin)

Lebih terperinci

BAB III ANALISIS MASALAH

BAB III ANALISIS MASALAH BAB III ANALISIS MASALAH Bab ini berisi analisis perbandingan performansi dan hasil akhir penyelesaian masalah pemotongan bar steel dengan algoritma brute force, algoritma greedy, dan algoritma program

Lebih terperinci