BAB II TINJAUAN PUSTAKA. masing-masing tepat satu kali dan kembali lagi ke tempat semula?

dokumen-dokumen yang mirip
BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

Kode MK/ Matematika Diskrit

Algoritma Branch & Bound

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Definisi Graf G didefinisikan sebagai pasangan himpunan (V, E), yang dalam hal ini:

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 )}

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Demak Semarang. Kend al. Salatiga.

BAB 2 LANDASAN TEORI

LOGIKA DAN ALGORITMA

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

APLIKASI PEWARNAAN SIMPUL GRAF UNTUK MENGATASI KONFLIK PENJADWALAN MATA KULIAH DI FMIPA UNY

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

BAB 2 LANDASAN TEORI

Graf. Program Studi Teknik Informatika FTI-ITP

BAB 2 LANDASAN TEORI

TEKNIK INFORMATIKA. Teori Dasar Graf

Graf. Matematika Diskrit. Materi ke-5

BAB II LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

Penerapan Algoritma Branch and Bound untuk Optimasi Rute Penempelan Poster di Papan Mading ITB

BAB II LANDASAN TEORI

LATIHAN ALGORITMA-INTEGER

BAB 2 LANDASAN TEORI

Journal of Informatics and Technology, Vol 1, No 1, Tahun 2012, p

PENDAHULUAN MODUL I. 1 Teori Graph Pendahuluan Aswad 2013 Blog: 1.

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

BAB 2 LANDASAN TEORI. 2.1 Penugasan Sebagai Masalah Matching Bobot Maksimum Dalam Graf Bipartisi Lengkap Berlabel

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

Discrete Mathematics & Its Applications Chapter 10 : Graphs. Fahrul Usman Institut Teknologi Bandung Pengajaran Matematika

Graf. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut.

BAB 2 TINJAUAN PUSTAKA

Branch & Bound. Bahan Kuliah IF2211 Strategi Algoritma Rinaldi Munir & Masayu Leylia Khodra

BAB II LANDASAN TEORI

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

BAB I PENDAHULUAN. himpunan bagian bilangan cacah yang disebut label. Pertama kali diperkenalkan

Dasar-Dasar Teori Graf. Sistem Informasi Universitas Gunadarma 2012/2013

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

G r a f. Pendahuluan. Oleh: Panca Mudjirahardjo. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut.

BAB 2 LANDASAN TEORITIS

Graph. Rembang. Kudus. Brebes Tegal. Demak Semarang. Pemalang. Kendal. Pekalongan Blora. Slawi. Purwodadi. Temanggung Salatiga Wonosobo Purbalingga

BAB 2 TINJAUAN PUSTAKA

BAB II KAJIAN PUSTAKA. Sebuah graf G didefinisikan sebagai pasangan himpunan (V,E), dengan V

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

HAND OUT MATA KULIAH TEORI GRAF (MT 424) JILID SATU. Oleh: Kartika Yulianti, S.Pd., M.Si.

BAB 2 LANDASAN TEORI

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

Algoritma Prim dengan Algoritma Greedy dalam Pohon Merentang Minimum

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

Bab 2 LANDASAN TEORI

BAB II LANDASAN TEORI

APLIKASI PEWARNAAN GRAPH PADA PEMBUATAN JADWAL

Permodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal

Aplikasi Pewarnaan Graph pada Pembuatan Jadwal

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Matematika Diskret (Graf I) Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

BAB II LANDASAN TEORI

Analogi Pembunuhan Berantai Sebagai Graf Dalam Investigasi Kasus

Matematik tika Di Disk i r t it 2

UNIVERSITAS GUNADARMA

APLIKASI GRAF DALAM BISNIS TRAVEL BANDUNG-BOGOR

TEORI GRAF UNIVERSITAS MUHAMMADIYAH JEMBER ILHAM SAIFUDIN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK. Selasa, 13 Desember 2016

BAB 2 LANDASAN TEORI

Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan

2. TINJAUAN PUSTAKA. Chartrand dan Zhang (2005) yaitu sebagai berikut: himpunan tak kosong dan berhingga dari objek-objek yang disebut titik

47 Matematika Diskrit BAB IV TEORI GRAF

BAB II LANDASAN TEORI

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

dengan Algoritma Branch and Bound

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer

BAB 2 TINJAUAN PUSTAKA

Struktur dan Organisasi Data 2 G R A P H

PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN RUTE TERPENDEK UNTUK PERJALANAN ANTARKOTA DI JAWA BARAT

BAB 2 LANDASAN TEORI

Menentukan Titik Evakuasi Selanjutnya bagi Sekelompok Regu Tim SAR dengan Algoritma Branch and Bound

Aplikasi Graf pada Penentuan Jadwal dan Jalur Penerbangan

Graf dan Pengambilan Rencana Hidup

BAB 2 LANDASAN TEORI

Studi Algoritma Optimasi dalam Graf Berbobot

MATEMATIKA DISKRIT II ( 2 SKS)

Kendal. Temanggung Salatiga Wonosobo Purbalingga. Boyolali. Magelang. Klaten. Purworejo. Gambar 6.1 Jaringan jalan raya di Provinsi Jawa Tengah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI

Program Dinamis (Dynamic Programming)

Aplikasi Pohon dan Graf dalam Kaderisasi

Aplikasi Branch and Bound Pada Pencarian Jalan Pada Software Navigasi

MEMBANDINGKAN KEMANGKUSAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL DALAM PEMECAHAN MASALAH POHON MERENTANG MINIMUM

Menentukan Susunan Pengambil Tendangan Penalti dalam Skema Adu Penalti pada Pertandingan Sepak Bola dengan Algoritma Branch and Bound

Aplikasi Pewarnaan Graf untuk Sistem Penjadwalan On-Air Stasiun Radio

SISTEM INFORMASI UNIVERSITAS GUNADARMA 2012/2013. Graf Berarah

Algoritma Branch and Bound dalam Kegunaannya Memecahkan Assignment Problem

BAB II KAJIAN PUSTAKA. Pada bab kajian pustaka berikut ini akan dibahas beberapa materi yang meliputi

Transkripsi:

BAB II TINJAUAN PUSTAKA 2.1 Graf 2.1.1 Sejarah Graf Menurut catatan sejarah, masalah jembatan Konigsberg adalah masalah yang pertama kali menggunakan graf (tahun 1736). Ada tujuh buah jembatan yang menghubungkan daratan yang dibelah oleh sungai tersebut. Masalah dari jembatan Konigsberg adalah apakah mungkin melalui ketujuh buah jembatan itu masing-masing tepat satu kali dan kembali lagi ke tempat semula? Pada tahun 1736, seorang matematikawan Swiss, L.Euler, adalah orang pertama yang berhasil menemukan jawaban masalah ini ke dalam graf. Daratan (titik-titik yang dihubungkan oleh jembatan) dinyatakannya sebagai titik yang disebut simpul (vertex) dan jembatan dinyatakan sebagai garis yang disebut sisi (edge). Setiap titik diberi label huruf A, B, C, dan D. Graf yang dibuat oleh Euler seperti berikut ini: C A D B Gambar 2.1 Graf yang merepresentasikan jembatan Konigsberg Jawaban yang dikemukakan oleh Euler adalah orang tidak mungkin melalui ketujuh jembatan itu masing-masing satu kali dan kembali lagi ke tempat asal keberangkatan jika derajat setiap simpul tidak seluruhnya genap. Yang dimaksud dengan derajat adalah banyaknya garis yang bersisian dengan titik. Sebagai 6

7 contoh simpul C memiliki derajat 3, karena ada tiga buah garis yang bersisian dengannya, simpul B dan D memiliki derajat 2, sedangkan simpul A berderajat 5. Karena tidak ada simpul yang berderajat genap, maka tidak mungkin dilakukan perjalanan berupa sirkuit (yang dinamakan dengan sirkuit Euler) pada graf tersebut. 2.1.2 Pengertian Graf Graf didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan notasi G = (V, E). Dimana dalam hal ini V adalah himpunan tidak kosong dari simpulsimpul (vertices) dan E adalah himpunan sisi (edges) yang menghubungkan sepasang simpul. (Munir, 2005) V tidak boleh kosong, sedangkan E boleh kosong. Jadi sebuah graf dimungkinkan tidak mempunyai sisi satu buah pun, tetapi simpulnya harus ada, minimal satu. Graf yang memiliki satu buah simpul tanpa sebuah sisi pun dinamakan graf trivial. Simpul pada graf dinomori dengan huruf, seperti a, b, c,..., v, w,..., dengan bilangan asli 1, 2, 3,..., atau gabungan keduanya. Sedangkan sisi yang menghubungkan simpul u dengan simpul v dinyatakan dengan pasangan (u, v) atau dinyatakan dengan lambang e1, e2, e3,... Dengan kata lain, jika e adalah sisi yang menghubungkan simpul u dengan simpul v, maka e dapat ditulis sebagai berikut: e = (u, v) Secara geometri graf digambarkan sebagai sekumpulan titik (simpul) di dalam bidang dwimatra yang dihubungkan dengan sekumpulan garis (sisi).

8 1 1 1 e 1 e2 e 3 e 4 e 1 e 2 e 3 e 4 2 3 2 3 e 5 e 6 e 7 2 e 8 e 6 3 e 5 e 7 4 4 4 (a). G1 (b) G2 (c) G3 Gambar 2.2 Gambar tiga buah graf (a) graf sederhana, (b) graf ganda, (c) graf semu 2.1.3 Jenis-jenis Graf 1. Graf Sederhana Graf yang tidak mengandung gelang maupun sisi-ganda dinamakan sebagai graf sederhana. Pada graf sederhana, sisi adalah pasangan tak terurut (unordered pairs). Jadi, menuliskan sisi (u, v) sama saja dengan (v, u). Dapat juga didefinisikan graf sederhana G = (V, E) terdiri dari himpunan tidak kosong simpul-simpul dan E adalah himpunan pasangan tak-terurut yang berbeda yang disebut sisi. (Munir, 2005). Beberapa graf sederhana khusus: a. Graf Lengkap (Complete Graph) Graf lengkap adalah graf sederhana yang setiap simpulnya mempunyai sisi ke semua simpul lainnya. Graf lengkap dengan n buah simpul dilambangkan dengan Kn. Jumlah sisi pada graf lengkap yang terdiri dari n buah simpul adalah n(n 1)/2.

9 K1 K2 K3 K4 K5 K6 Gambar 2.2.1 Graf lengkap Menyatakan jumlah sisi pada graf lengkap yang terdiri dari n buah simpul adalah n(n-1)/2. b. Graf Lingkaran Graf lingkaran adalah graf sederhana yang setiap simpulnya berderajat dua. Graf lingkaran dengan n simpul dilambangkan dengan Cn. Jika simpulsimpul pada Cn adalah v 1, v 2,, v n maka sisi-sisinya adalah (v 1, v 2 ), (v 2, v 3 ),, (v n 1, v n ), dan (v n, v 1 ). Gambar 2.2.2 Graf lingkaran c. Graf Teratur Graf teratur merupakan graf yang setiap simpulnya mempunyai derajat yang sama. Apabila derajat setiap simpul adalah r, maka graf tersebut disebut graf teratur derajat r.

10 d. Graf Bipartit (Bipartite Graph) Graf bipartit merupakan graf G yang himpunan simpulnya dapat dipisah menjadi dua himpunan bagian V1 dan V2, sedemikian sehingga setiap sisi pada G menghubungkan sebuah simpul di V1 ke sebuah simpul di V2 dan dinyatakan sebagai G(V1, V2). Graf G di bawah ini adalah graf bipartit, karena simpul simpulnya dapat dibagi menjadi V1 = {a, b, d} dan V2 = {c, e, f, g}. a b g f c e d Gambar 2.2.3 Graf bipartit 2. Graf tak Sederhana Graf yang mengandung sisi ganda atau gelang dinamakan graf taksederhana (unsimple graph). Ada dua macam graf tak-sederhana, yaitu: a. Graf Ganda (multigraph) adalah graf yang mengandung sisi ganda yang menghubungkan sepasang simpul bisa lebih dari dua buah. Sisi ganda dapat diasosiasikan sebagai pasangan tak-terurut yang sama. Graf ganda G = (V, E) terdiri dari himpunan tidak kosong simpul-simpul dan E adalah himpunan ganda (multiset) yang mengandung sisi ganda. b. Graf Semu (pseudograph) adalah graf yang mengandung gelang (loop). G3 adalah graf semu (termasuk bila memiliki sisi ganda sekalipun). Sisi gelang pada G3 dapat dianggap sebagai saluran telepon tambahan yang

11 menghubungkan komputer dengan dirinya sendiri (mungkin untuk tujuan diagnostik). Graf semu lebih umum daripada graf ganda, karena sisi pada graf semu dapat terhubung ke dirinya sendiri. 2.2 Graf Berbobot (Weighted Graph) Graf berbobot adalah graf yang diberikan bobot di setiap garisnya. Bobot tersebut bisa merupakan penggambaran suatu besaran mengenai jarak, biaya, waktu tempuh, volume kendaraan yang dilalui. (Wahyudi, 2004). Sebagai contoh gambar graf berbobot sebagai berikut: 5 3 5 4 7 4 6 Gambar 2.3 Graf Berbobot 2.3 Derajat (Degree) Derajat suatu graf adalah jumlah dari seluruh derajat simpul (vertex)nya. Bila dihitung, maka derajat suatu graf adalah dua kali banyak ruasnya. (Bambang Wahyudi, 2004). Derajat suatu simpul pada graf tak-berarah adalah jumlah sisi yang bersisian dengan simpul tersebut. (Munir, 2005). Dengan notasi: d(v) menyatakan derajat simpul. Simpul yang berderajat satu disebut anting-anting (pendant vertex). Dengan kata lain, anting-anting hanya bertetangga dengan sebuah simpul. Pada graf

12 berarah, derajat suatu simpul dapat dibedakan menjadi dua macam untuk mencerminkan jumlah bnusur dengan simpul tersebut sebagai simpul asal dan jumlah busur dengan simpul tersebut sebagai simpul terminal. Pada graf terarah, derajat simpul v dinyatakan dengan din(v) dan dout(v), yang dalam hal ini: din(v) = derajat masuk (in-degree) = jumlah busur yang masuk ke simpul v dout(v) = derajat keluar (out-degree) = jumlah busur yang keluar ke simpul v dan d(v) = din(v) + dout(v) (2.1) 2.4 Minimum Spanning Tree Permasalahan umum yang biasa terjadi pada minimum spanning tree adalah mencari minimum biaya (cost) spanning tree dari setiap ruas (edge) suatu graf yang membentuk pohon (tree). Dalam mendapatkan solusi yang diharapkan maka akan dipilih ruas menurut kriteria optimisasi yang menghasilkan biaya minimum, sehingga penambahan jumlah biayanya relatif kecil dari setiap ruas yang telah terpilih dalam membentuk spanning tree. Jika A adalah suatu himpunan ruas yang telah terpilih maka setiap anggota dari A harus membentuk suatu pohon. Apabila ada suatu ruas (u,v) yang memiliki biaya minimum dan tidak terdapat dalam A maka akan diperoleh bahwa A (u, v) adalah pohon. Tidak setiap graf dapat ditentukan minimum spanning treenya. Adapun graf yang dapat kita tentukan minimum spanning treenya adalah graf yang memenuhi ketiga syarat berikut:

13 a. Graf tersebut harus terhubung (connected) b. Setiap ruas dari graf tersebut harus mempunyai nilai atau bobot (label graph) c. Graf tersebut tidak berarah 2.5 Lintasan Terpendek (Shortest Path) Persoalan mencari lintasan terpendek di dalam graf merupakan permasalahan optimasi yang biasa juga dialami dalam kehidupan nyata. Graf yang digunakan disini adalah graf berbobot (weighted graph), yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. (Munir, 2005) Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu pengiriman pesan, ongkos pembangunan, dan sebagainya. Asumsi yang digunakan disini adalah bahwa semua bobot bernilai positif. Kata terpendek jangan selalu diartikan secara fisik sebagai panjang minimum, sebab kata terpendek berbedabeda maknanya bergantung pada tipikal persoalan yang akan diselesaikan. Namun, secara umum terpendek berarti meminimalisasikan bobot pada suatu lintasan di dalam graf. Misalkan simpul pada graf dapat merupakan kota, sedangkan sisi menyatakan jalan yang menghubungkan dua buah kota. Bobot sisi graf dapat menyatakan jarak antara dua buah kota atau rata-rata waktu tempuh antara dua buah kota. Apabila terdapat lebih dari satu lintasan dari kota A ke kota B, maka persoalan lintasan terpendek disini adalah menentukan jarak terpendek atau waktu tersingkat dari kota A ke kota B. Ada beberapa macam persoalan lintasan terpendek, antara lain:

14 a. Lintasan terpendek antara dua buah simpul tertentu, b. Lintasan terpendek antara semua pasangan simpul, c. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain, d. Lintasan terpendek antara dua buah simpul yang melaui beberapa simpul tertentu. 2.6 Algoritma Branch and Bound Branch and Bound adalah sebuah algoritma umum untuk pencarian solusi optimal dari berbagai masalah optimasi. Branch and Bound ini sering disingkat dengan B&B, secara sistematis mengabaikan sekumpulan kandidat solusi yang tidak potensial menuju solusi optimal dengan menggunakan estimasi batas atas dan batas bawah (upper and lower estimated bounds) dari kualitas yang dioptimasi. Algoritma ini pertama kali diusulkan oleh A. H. Land dan A. G. Doig pada tahun 1960 untuk linear programming. (Suyanto, 2010) a. Konsep Dasar Branch and Bound Misalnya tujuan yang dicapai adalah menemukan nilai minimum dari suatu fungsi f(x), dimana x berada dalam rentang suatu himpunan S dari kandidat solusi (search space). Branch and Bound memerlukan dua alat bantu atau tools, yaitu prosedur pemisahan (splitting) dan prosedur yang menghitung batas atas dan batas bawah (upper and lower bounds). Untuk suatu himpunan S yang diberikan, prosedur splitting mengembalikan dua atau lebih himpunan yang lebih kecil, S1 dan S2, yang jika digabung akan sama dengan S. Nilai minimum dari f(x) di dalam S adalah min{v1, v2,...}, dimana setiap vi adalah nilai minimum dari f(x) di dalam

15 Si. Langkah ini disebut branching (pencabangan) karena pengaplikasian rekursifnya mendefinisikan suatu struktur pohon pencarian yang simpulsimpulnya adalah subsets dari S. Prosedur ke dua digunakan untuk menghitung batas atas dan batas bawah nilai minimum dari f(x) di dalam subset S. Langkah ini disebut pembatasan (bounding). Ide utama B&B adalah jika batas bawah untuk beberapa simpul A lebih besar daripada batas atas untuk simpul yang lain B, maka A mungkin diabaikan dari pencarian. Langkah ini disebut pemangkasan (pruning), dan biasanya diimplementasikan menggunakan suatu variabel global m yang mencatat batas atas minimum yang terlihat di antara semua subregions yang telah diuji sejauh ini. Setiap simpul yang batas bawahnya lebih besar daripada m dapat diabaikan. Rekursi berhenti ketika himpunan kandidat saat ini S direduksi menjadi suatu elemen tunggal; atau ketika batas atas untuk himpunan S sama dengan batas bawahnya. Dengan salah satu cara tersebut, setiap elemen S akan menjadi suatu nilai minimum dari fungsi tersebut di dalam S. Efisiensi algoritma Branch and Bound sangat bergantung pada prosedur pemisahan simpul (node-splitting procedure) dan pada pengestimasi batas atas dan batas bawah (upper and lower bound estimators). Sebaiknya memilih algoritma pemisahan (splitting) yang menyediakan himpunan-himpunan bagian yang tidak tumpang tindih (nonoverlapping subsets). (Suyanto, 2010) b. Algoritma Branch and Bound Algoritma Branch And Bound dapat ditulis sebagai berikut:

16 1. Masukkan simpul akar (root) ke dalam antrian Q. jika root adalah goal node, maka solusi telah ditemukan. Jika tidak lanjutkan ke langkah 2. 2. Cek Q kosong, maka tidak ada solusi. Jika Q memiliki anak simpul lanjut ke langkah 3. 3. Pilih simpul i dari antrian Q yang mempunyai biaya c(i) paling kecil. Jika terdapat beberapa simpul i yang memenuhi, pilih salah satu. 4. Jika simpul i adalah goal node, berarti solusi sudah ditemukan. Jika simpul i bukan goal node, maka bangkitkan semua anaknya. jika i tidak mempunyai anak, kembali ke langkah 3. 5. Untuk setiap anak j dari simpul i, hitung biaya c(j) dan masukkan anak tersebut ke dalam Q. 6. Kembali ke langkah 2 sampai menemukan solusi. Untuk masalah Travelling Salesman Problem (TSP), nilai biaya perkiraan (estimated cost) untuk setiap simpul dihitung dengan menggunakan matriks biaya tereduksi dari graf G. Sebuah matriks dikatakan tereduksi jika setiap kolom dan barisnya mengandung minimal satu nilai nol (0) dan semua elemen lainnya nonnegatif. Misalkan A adalah matriks tereduksi untuk simpul R dan misalkan S adalah anak dari simpul R sedemikian sehingga busur (R, S) pada pohon pencarian berkoresponden dengan busur (i, j) pada graf TSP. Matriks bobot tereduksi untuk simpul S dapat dihitung dengan cara sebagai berikut: 1. Ubah semua nilai pada baris i dan j kolom menjadi. Ini untuk mencegah agar tidak ada lintasan yang keluar dari simpul i atau masuk pada simpul j;

17 2. Ubah A(j, 1) menjadi jika S bukan simpul daun. Ini untuk mencegah penggunaan busur (j, 1); 3. Reduksi kembali semua baris dan kolom pada matriks A kecuali untuk elemen; 4. Hasil reduksi ini menghasilkan matriks B; 5. Jika r adalah total semua pengurang, maka nilai batas simpul S adalah: c (S) = c (R) + A(i, j) + r (2.2) dimana: c (S) = bobot perjalanan minimum yang melalui simpul S (simpul pada pohon pencarian); c (R) = bobot perjalanan minimum yang melalui simpul R (simpul awal dari S); A(I, j) = bobot busur (i,j) pada graf G yang berkoresponden dengan busur (R,S) pada pohon pencarian; r = jumlah semua pengurangan pada proses memperoleh matriks tereduksi untuk simpul S. 2.7 Algoritma Greedy Algoritma Greedy digunakan untuk memperoleh solusi yang optimal dari suatu permasalahan. Dimana permasalahan yang dimaksud dalam hal ini mempunyai dua kriteria atau dua indikator, yaitu adanya fungsi tujuan atau fungsi utama dan adanya pembatas (constrain). (Suryadi, 1996)

18 Suatu permasalahan dengan memiliki n input data dengan beberapa fungsi pembatas dan satu fungsi tujuan akan diselesaikan dengan beberapa tahapan. Pertama dilakukan pemilihan beberapa solusi yang mungkin (feasible solutions atau feasible sets). Dari himpunan solusi yang mungkin tersebut akan dapat diperoleh solusi yang diharapkan atau solusi yang optimal apabila telah memenuhi fungsi tujuannya (fungsi obyektif). Algoritma Greedy bekerja secara bertahap dengan memperhatikan setiap satu input data pada setiap keadaan. Pada setiap tahap, akan dibuat sebuah keputusan dengan memperhatikan apakah ada atau tidak sebuah input data yang khusus memberikan solusi yang optimal. Hal tersebut dikerjakan dengan memperhatikan pula input data dalam urutan yang ditentukan dalam proses pengambilannya. Jika input tersebut tidak memenuhi fungsi pembatasnya, maka pasti tidak akan termasuk dalam solusi yang mungkin. Penjelasan diatas dapat disingkat dalam bentuk yang lebih sistematis yang lebih dikenal dengan algoritma Greedy. Algoritma tersebut yaitu: PROCEDURE GREEDY (A,n) solusi < 0 {solusi awal} FOR i < 1 TO n DO x < SELECT(A) IF FEASIBLE (solusi, x) THEN solusi < UNION (solusi, x) ENDIF REPEAT

19 RETURN (solusi) END GREEDY Keterangan: A(1; n) mengandung n input data. FEASIBLE merupakan fungsi yang bernilai boolean (0 atau 1) UNION merupakan penggabungan dan pemeriksaan fungsi obyektifnya (update) SELECT merupakan fungsi untuk mengambil data input dari A. Dengan algoritma Greedy, akan membentuk jalur terpendek dalam urutan tidak turun (non decreasing) dari panjang jalurnya. Pertama, jalur terpendek ke simpul terdekat dibentuk. Kemudian jalur terpendek ke simpul terdekat ke dua di bentuk. Dengan cara yang sama dilakukan sampai pada simpul terakhir yang terdekat dengan panjang minimum. 45 A 50 B 10 E 10 20 15 20 35 30 C 15 D 3 F Gambar 2.4 Graf dengan 6 Simpul Jalur terpendek dari A ke semua tempat tujuan pada graf di atas adalah: Tabel 2.1 Jalur Simpul A ke Semua Tempat Tujuan Jalur Panjang(km) 1. A C 10 2. A C D 25 3. A C D B 45 4. A E 45

20 Proses untuk mencapai simpul tujuan dari simpul awal (A) dari setiap jalur pada tabel diatas adalah: 1. A C diperoleh melalui jalur-jalur: A C atau A B E D B C atau A E D B C 2. A D diperoleh melaui jalur-jalur: A C atau A B E D atau A B C D atau A E D 3. A B diperoleh melaui jalur-jalur: A B atau A C D B atau A E D B 4. A E diperoleh melalui jalur-jalur: A E atau A B E atau A C D B E atau A C D E Jalur terpendek dengan menggunakan algoritma Greedy dapat dilihat sebagai berikut: PROCEDURE SHORTEST_PATHS( v, COST, DIST, n ) BOOLEAN S(1 : n) ; REAL COST(1 : n, 1 : n), DIST(1 : n)

21 INTEGER u ; v, n, num, i, w FOR i < 1 TO n DO S(i) < 0 DIST(i) < COST (v, i) REPEAT S(v) < 1; DIST(v) < 0 FOR num < 2 TO n-1 DO pilih u sedemikian sehingga DIST(u) MIN { DIST(w) } S(w) = 0 S(u) < 1 FOR setiap w dengan S(w) = 0 DO DIST (W) < MIN { DIST(w), DIST(u) + COST(u,w) } REPEAT REPEAT num END SHORTEST_PATHS 2.8 Matriks a. Definisi Matriks Matriks adalah suatu susunan bilangan berbentuk segiempat. (Howard Anton). Bilangan-bilangan dalam susunan itu disebut anggota dalam matriks tersebut. Matriks A yang berukuran dari m baris dan n kolom (m x n) adalah: a 11 a 12 a 1n a [ 21 a 22 a 2n ] a m1 a m2 a mn

22 Entri a ij disebut elemen matriks pada baris ke-i dan kolom ke-j. Jika m = n, maka matriks tersebut dinamakan juga matriks bujursangkar (square matrix). Sebuah matriks adalah serangkaian elemen dalam bentuk persegi panjang. Elemen ke-(i, j)a ij dari matriks A berada di baris ke-i dan kolom ke-j dari rangkaian tersebut. Order (ukuran) dari sebuah matriks dikatakan sebesar (m x n) jika matriks tersebut memiliki m baris dan n kolom. (Taha, 1996). Misalnya: a 11 a 12 a 13 a 21 a 22 a 23 A = [ a 31 a 32 a ] = a ij 33 4 3 a 41 a 42 a 43 Matriks A adalah sebuah matriks (4x3) b. Jenis-Jenis Matriks Terdapat beberapa jenis matriks khusus yang ditemukan, seperti: 1. Matriks Diagonal Matriks diagonal adalah matriks bujursangkar dengan a ij = 0 untuk i j. Dengan kata lain, seluruh elemen yang tidak terdapat pada posisi i j bernilai 0. Contoh: a 1 0 0 4 0 0 0 A 3 3 = [ 0 a 2 0 ] dan B 4 4 = [ 0 1 0 0 ] 0 0 2 0 0 0 a 3 0 0 0 5 2. Matriks Identitas Matriks identitas atau matriks satuan akan dilambangkan dengan I. Ini adalah sebuah matriks diagonal yang semua unsur pada diagonal utamanya adalah 1. Pengganda-awalan atau pengganda-akhiran sembarang matriks A

23 berdimensi r r terhadap matriks identitas I berdimensi r r tidak akan mengubah A. Contoh: 1 0 0 a 11 a 12 a 13 a 11 a 12 a 13 IA = [ 0 1 0] [ a 21 a 22 a 23 ] = [ a 21 a 22 a 23 ] 0 0 1 a 31 a 32 a 33 a 31 a 32 a 33 Begitu pula, kita peroleh: a 11 a 12 a 13 1 0 0 a 11 a 12 a 13 AI = [ a 21 a 22 a 23 ] [ 0 1 0] = [ a 21 a 22 a 23 ] a 31 a 32 a 33 0 0 1 a 31 a 32 a 33 Perhatikan bahwa matriks identitas I berperan seperti bilangan 1 dalam aljabar biasa, 1 x = x 1 = x. Secara umum untuk sembarang matriks A berdimensi r r. AI = IA = A (2.3) 3. Matriks Segitiga Atas atau Bawah Matriks segitiga atas adalah suatu matriks bujur sangkar yang semua anggota di bawah diagonal utamanya nol, sedangkan matriks segitiga bawah adalah suatu matriks bujur sangkar yang semua anggota di atas diagonal utamanya nol. Sifat-sifat dari matriks segitiga adalah: a. Suatu matriks bujur sangkar A = [a ij ] adalah segitiga atas jika dan hanya jika a ij = 0 untuk i > j. b. Suatu matriks bujur sangkar A = [a ij ] adalah segitiga bawah jika dan hanya jika a ij = 0 untuk i < j.

24 Contoh: 1 0 0 0 2 6 6 4 [ 5 7 0 0 ] dan [ 0 3 7 3 ] 6 0 3 0 0 0 1 2 2 4 2 6 0 0 0 8 matriks segitiga bawah matriks segitiga atas 4. Matriks Transpose Matriks transpose adalah matriks yang diperoleh dengan mempertukarkan baris-baris dan kolom-kolom. Misalkan A = [a ij ] berukuran m x n, maka transpose dari matriks A ditulis A T adalah matriks n x m yang dalam hal ini jika A T = [b ij ], b ij = a ij maka untuk i = 1,2,, n dan j = 1,2,, m. Contoh: 1 4 A = ( 2 5) maka A T = ( 1 2 3 4 5 6 ) 3 6 2.9 Kuartil Kuartil adalah nilai-nilai yang membagi segugus pengamatan atau suatu distribusi frekuensi menjadi 4 bagian sama besar. Ada tiga kuartil yaitu kuartil pertama (K1), kuartil kedua (K2), dan kuartil ketiga (K3). a. Kuartil pertama (K1) adalah sebuah nilai yang menyatakan 25% dari keseluruhan data nilainya lebih kecil dari (nilai) K1, dan 75%-nya lagi nilainya lebih besar dari (nilai) K1. b. Kuartil kedua (K2) adalah sebuah nilai yang menyatakan 50% dari keseluruhan data nilainya lebih kecil dari (nilai) K2, dan 50%-nya lagi nilainya lebih besar dari (nilai) K2. Jadi K2 = Median

25 c. Kuartil ketiga (K3) adalah sebuah nilai yang menyatakan 75% dari keseluruhan data nilainya lebih kecil dari (nilai) K3, dan 25%-nya lagi nilainya lebih besar dari (nilai) K3. Untuk data yang belum dikelompokkan letak kuartil ke-i, diberi lambang Ki ditentukan dengan menggunakan rumus sebagai berikut: 1. Susun data menurut urutan nilainya, dari yang terkecil sampai dengan nilai yang terbesar. 2. Tentukan letak kuartil dengan menggunakan rumus sebagai berikut: L Ki = i(n+1) 4 (2.4) Ket: L Ki = letak kuartil ke-i i = 1, 2, 3 n = banyaknya data 3. Tentukan nilai kuartil (Ki) Nilai kuartil (Ki) = nilai data dengan urutan ke i(n+1) Untuk data yang telah dikelompokkan atau telah disusun dalam distribusi frekuensi atau tabel frekuensi, maka kuartil sekelompok data tersebut dapat dihitung melalui tahap sebagai berikut: 1. Menentukan letak kuartil (L Ki ) Letak kuartil kelompok data tersebut ditentukan dengan rumus: 4 L Ki = i.n 4 (2.5) Ket: L Ki = letak kuartil yang ke-i n = banyaknya data

26 2. Menghitung nilai kuartil (Ki) Nilai kuartil kelompok data tersebut dihitung dengan rumus: K i = L i + ( L K i f Ci f Ki ) c (2.6) Ket: Ki = kuartil ke-i Li = tepi bawah kelas dari kelas terdapatnya kuartil ke-i f Ki = frekuensi absolut kelas terdapatnya kuartil ke-i n = banyaknya data atau ukuran sampel f Ci = frekuensi komulatif kelas sebelum kelas terdapatnya kuartil ke-i L Ki = letak kuartil yang ke-i 2.10 Optimasi Optimasi merupakan kata kerja yang berasal dari kata sifat yaitu optimal yang berarti terbaik. Dimana optimasi itu sendiri berarti pencarian nilai terbaik dari yang tersedia. (Istijanto, 2005) 2.11 Pemecahan Masalah Optimasi Pemecahan masalah optimasi adalah pemecahan masalah yang bertujuan untuk memperoleh solusi terbaik dari semua solusi yang tersedia yang berada dalam daerah yang mungkin (feasible region), yang memiliki nilai maksimum atau minimum dari fungsi objektif pada suatu konteks sehingga dapat diperoleh keuntungan yang besar. (Istijanto, 2005)