BAB 1 PENDAHULUAN. 1.1 Latar Belakang

dokumen-dokumen yang mirip
BAB 1 PENDAHULUAN. 1.1 Latar Belakang

MODUL I PROGRAM DINAMIS

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 09

Program Dinamis (Dynamic Programming)

Program Dinamis (dynamic programming):

TIN102 - Pengantar Teknik Industri Materi #10 Ganjil 2015/2016 TIN102 PENGANTAR TEKNIK INDUSTRI

Program Dinamis. Oleh: Fitri Yulianti

Program Dinamis (Dynamic Programming)

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

BAB I PENDAHULUAN. pada sektor masyarakat meluas dengan cepat[4]. menentukan tingkat kegiatan-kegiatan yang akan dilakukan, dimana masingmasing

BAB I PENDAHULUAN. Knapsack adalah suatu permasalahan dalam menentukan pemilihan objek

TUGAS RESUME MATERI KULIAH ALGORITMA DAN STRUKTUR DATA STRATEGI ALGORITMA : H

Penentuan Menu Makan dengan Pemrograman Dinamis

Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack

BAB 2 LANDASAN TEORI

PERMASALAHAN OPTIMASI 0-1 KNAPSACK DAN PERBANDINGAN BEBERAPA ALGORITMA PEMECAHANNYA

BAB III ALGORITMA GREEDY DAN PROGRAM DINAMIS

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis

Program Dinamis Sebagai Algoritma Dalam Link State Routing Protocol

BAB 2 LANDASAN TEORI

EKSPLORASI ALGORITMA BRUTE FORCE, GREEDY DAN PEMROGRAMAN DINAMIS PADA PENYELESAIAN MASALAH 0/1 KNAPSACK

MENENTUKAN LINTASAN TERPENDEK (SHORTEST PATH) DENGAN 0/1 KNAPSACK PROBLEM DAN PENDEKATAN ALGORITMA DYNAMIC PROGRAMMING

PENENTUAN RUTE TERPENDEK MENUJU KAMPUS MENGGUNAKAN ALGORITMA DYNAMIC PROGRAMMING

BAB 2 LANDASAN TEORI

MENENTUKAN LINTASAN TERPENDEK SUATU GRAF BERBOBOT DENGAN PENDEKATAN PEMROGRAMAN DINAMIS. Oleh Novia Suhraeni 1, Asrul Sani 2, Mukhsar 3 ABSTRACT

Pemanfaatan Algoritma Program Dinamis dalam Pendistribusian Barang

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Program Dinamik

Pengantar Strategi Algoritmik. Oleh: Rinaldi Munir

Penentuan Lintasan Terbaik Dengan Algoritma Dynamic Programming Pada Fitur Get Driving Directions Google Maps

BAB 1 PENDAHULUAN. dapat menyelesaikan masalah maka perlu dirumuskan terlebih dahulu langkahlangkah

Penerapan Pemrograman Dinamis dalam Perencanaan Produksi

Penentuan Rute Belanja dengan TSP dan Algoritma Greedy

Pemecahan Masalah Knapsack dengan Menggunakan Algoritma Branch and Bound

Penggabungan Algoritma Brute Force dan Backtracking dalam Travelling Thief Problem

PENDEKATAN ALGORITMA PEMROGRAMAN DINAMIK DALAM MENYELESAIKAN PERSOALAN KNAPSACK 0/1 SKRIPSI SRI RAHAYU

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang

PENEMPATAN KANTOR POS DENGAN ALGORITMA PROGRAM DINAMIS

Penerapan Program Dinamis untuk Optimisasi Taktik Pit Stop F1

Deteksi Wajah Menggunakan Program Dinamis

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Penerapan Program Dinamis dalam Menentukan Rute Terbaik Transportasi Umum

Algoritma Branch & Bound

LAPORAN RESMI MODUL II DYNAMIC PROGRAMMING

BAB I PENDAHULUAN 1.1. Latar Belakang dan Permasalahan

BAB 1 PENDAHULUAN. 1.1 Latar belakang

PENYELESAIAN TRAVELING SALESMAN PROBLEM (TSP) MENGGUNAKAN ALGORITMA RECURSIVE BEST FIRST SEARCH (RBFS)

ANALISIS KINERJA ALGORITMA PEMROGRAMAN DINAMIK PADA MASALAH MULTISTAGE GRAPH. Kata Kunci: Algoritma, Multistage, Pemrograman Dinamik, Running Time

Bab 1 PENDAHULUAN. 1.1 Latar Belakang

PENYELESAIAN BOUNDED KNAPSACK PROBLEM MENGGUNAKAN DYNAMIC PROGRAMMING (Studi Kasus: CV. Mulia Abadi)

Program Dinamik (Dynamic Programming) Riset Operasi TIP FTP UB

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. Umumnya, optimasi didefinisikan sebagai proses menentukan nilai minumum

BAB 1 PENDAHULUAN. Permasalahan pemotongan bahan baku menjadi beberapa bagian untuk diproses

Penelitian Operasional II Programa Dinamik 1 1. PROGRAM DINAMIK

Penggunaan Metode Branch And Bound With Search Tree

I PENDAHULUAN II LANDASAN TEORI

PENERAPAN PROGRAM DINAMIS UNTUK MENENTUKAN JALUR PERJALANAN YANG OPTIMUM DENGAN BANTUAN SOFTWARE WINQSB

BAB 2 LANDASAN TEORI

Penyelesaian Berbagai Permasalahan Algoritma dengan Kombinasi Algoritma Brute Force dan Greedy

Mendapatkan Keuntungan Investasi Tertinggi dengan Memanfaatkan Algoritma Dynamic Programming

Implementasi Algoritma Greedy pada Permainan Ludo

Implementasi Pencocokan String Tidak Eksak dengan Algoritma Program Dinamis

Analisis Permainan FLIP Menggunakan Algoritma Program Dinamis

BAB 3 METODE PEMECAHAN MASALAH

METODE PROGRAM DINAMIS PADA PENYELESAIAN TRAVELING SALESMAN PROBLEM

Pendekatan Dynamic Programming untuk Menyelesaikan Sequence Alignment

Ika Zulhidayati (1), Kartika Yulianti (2) ABSTRAK

Penerapan Dynamic Programming pada sistem GPS (Global Positioning System)

UJM 3 (2) (2014) UNNES Journal of Mathematics.

Lecture 5 : Dynamic Programming (Programa Dinamis) Hanna Lestari, ST, M.Eng

BAB I PENDAHULUAN. serta mempermudah penyampaian produk dari produsen ke konsumen. Distribusi

PENYELESAIAN KNAPSACK PROBLEM MENGGUNAKAN ALGORITMA GENETIKA

PROGRAM DINAMIS UNTUK PENENTUAN LINTASAN TERPENDEK DENGAN PENDEKATAN ALGORITMA FLOYD-WARSHALL

BAB II TINJAUAN PUSTAKA

Pendahuluan. Algoritma greedy merupakan metode yang paling populer untuk memecahkan persoalan optimasi.

Paradigma Pemrograman Dinamis dalam Menentukan Rute Distribusi Bahan Bakar Minyak Berdasarkan Kebutuhan Penduduk di Suatu Daerah

ALGORITMA OPTIMASI UNTUK MEMINIMALKAN SISA PEMOTONGAN BAR STEEL PADA PERUSAHAAN KONSTRUKSI

Berbagai Variasi Teknik Program Dinamis dalam Penyelesaian Masalah

BAB I PENDAHULUAN Latar Belakang Masalah

BAB 2 LANDASAN TEORI

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

ABSTRACT 1. PENDAHULUAN

BAB 2 LANDASAN TEORI

II. TEORI DASAR I. PENDAHULUAN. utang piutang dengan strategi algoritma greedy.

BAB I PENDAHULUAN 1.1. Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Pendahuluan

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

BAB 1 PENDAHULUAN. Persoalan lintasan terpanjang (longest path) merupakan persoalan dalam mencari

Penerapan Dynamic Programming dalam Penentuan Pengambilan Job dalam Euro Truck Simulator 2

BAB 2 TINJAUAN PUSTAKA

BAB I PENDAHULUAN. pekerjaan. Hampir segala bidang membutuhkan komputer sebagai sarana bantuan dalam

Algoritma Brute Force (lanjutan)

Jurusan Matematika Fakultas MIPA Universitas Sriwijaya 1* Jurusan Matematika Fakultas MIPA Universitas Sriwijaya 2,3

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 2 KAJIAN PUSTAKA

Transkripsi:

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah dalam menentukan lintasan terpendek di antara titik tertentu dalam suatu graph telah banyak menarik perhatian. Persoalan dirumuskan sebagai kasus khusus dan algoritma efisien yang tersedia untuk menghitung lintasan terpendek dan biaya minimum. Lintasan terpendek yang diperoleh akan meminimumkan fungsi linear yang khusus (fungsi) dari lintasan seperti biaya dan jarak (waktu). Persoalan ini akan menjadi salah satu kegunaan dari lintasan dengan waktu diminimumkan terhadap biaya yang dianggarkan. Beberapa masalah dalam menentukan lintasan terpendek dalam suatu graph antara lain: masalah transportasi, jaringan komunikasi, serta masalah pengiriman barang tidak bisa lepas dari permasalahan jarak (waktu) dan tentunya juga masalah biaya. Permasalahan dituntut untuk meminimisasi jarak (waktu) ke tujuan yaitu dengan memilih lintasan tersingkat dengan biaya yang telah dianggarkan sehingga dapat dicapai hasil yang optimal. Sebagai contoh masalah transportasi, pilihan lintasan perjalanan dari Kota A (sumber) ke Kota J (tujuan), untuk sampai ke Kota J ada beberapa lintasan berbeda yang dapat dilalui dan juga biaya perjalanan yang berbeda, permasalahan yang terjadi adalah lintasan terpendek mana yang harus dipilih yang sesuai dengan biaya yang dianggarkan untuk perjalanan tersebut agar hasil yang optimal diperoleh. Permasalahan ini dapat dicontohkan seperti penjualan beberapa jenis peralatan rumah tangga oleh pedagang keliling dengan menggunakan gerobak ataupun alat pengangkut lainnya. Keperluan rumah tangga yang akan dijual hanya berjumlah satu

untuk tiap jenisnya dan tiap jenis barang memiliki berat dan keuntungan. Tidak semua jenis keperluan rumah tangga yang akan dijual oleh pedagang keliling tersebut dapat dimasukkan ke dalam alat pengangkut. Tentu saja dikarenakan alat pengangkutnya memiliki kapasitas maksimum sehingga si pedagang tidak bisa memasukkan seluruh dagangannya. Pedagang tersebut harus memilih barang-barang mana saja yang harus diangkut dengan pertimbangan berat dari barang yang dibawanya tidak melebihi kapasitas maksimum gerobak dan memaksimalkan keuntungan dari barang-barang yang di bawa. Terdapat beberapa variasi Persoalan Knapsack: 1. Fractional Knapsack Problem Barang boleh dibawa sebagian saja (unit dalam pecahan). 2. 0-1 Knapsack Problem Setiap barang hanya tersedia satu unit, diambil atau tinggalkan. 3. Bounded Knapsack Problem Setiap barang tersedia sebanyak N unit (jumlah barang terbatas). 4. Unbounded Knapsack Problem Setiap barang tersedia lebih dari satu unit, jumlahnya tidak terbatas. Pada prinsipnya persoalan Knapsack ini adalah persoalan optimisasi sehingga Algoritma harus mencari sebuah solusi paling optimal sebagai jawabannya. Masalah khusus dari persoalan graph ini adalah mendapatkan suatu lintasan dengan jarak minimum yang memenuhi terhadap (subject to) kendala anggaran (budgetary). Kemungkinan masalah lainnya adalah minimimasi biaya yang harus memenuhi kendala jarak (waktu). Andaikan diberikan sebuah graph G dengan titik - N = 1,2,,i dan garis F = 1,2,,j serta a(x,y) dan b(x,y) adalah jarak (waktu) dan biaya. yang dihubungkan dengan tiap garis (i,j) dalam graph G. Masalahnya adalah menentukan lintasan terpendek dari titik 1 (sumber) ke titik n (tujuan) dalam graph G yang memenuhi terhadap kendala biaya yang dianggarkan. Jarak (waktu) dan biaya dari lintasan adalah jumlah nilai-nilai yang terdapat pada tiap garis dalam lintasan.

Menentukan lintasan terpendek yang memenuhi kendala biaya yang dianggarkan pada suatu graph adalah merupakan salah satu tipe persoalan Integer Knapsack, yaitu memilih bobot minimum yang akan dimasukkan ke dalam Knapsack yang mempunyai bobot maksimum tertentu. Persoalan ini disebut Integer Knapsack karena tiap objek hanya memiliki dua status yaitu terpilih atau tidak. Untuk persoalanan Knapsack pada suatu graph, bobot minimum yang dipilih adalah merupakan lintasan terpendek yang harus dilewati dari titik sumber ke titik tujuan. Sedangkan biaya adalah sebagai kendala yang harus dipenuhi dalam menentukan lintasan terpendek. Permasalahan Combinatorial Optimization dikenal sebagai NP Hard Problem. Persoalan Knapsack tidak dapat diselesaikan dalam waktu singkat hanya dapat diselesaikan dengan waktu yang lama disebabkan karena banyak data yang digunakan sebagai data input. Semakin besar data yang digunakan, semakin lama waktu yang dibutuhkan suatu Algoritma untuk menyelesaikannya. Banyak Algoritma yang dapat digunakan untuk menyelesaikan persoalan Knapsack ini, misalnya Algoritma Brute Force, Branch and Bound, Greedy, Genetika dan lain-lain. Dalam tulisan ini, penulis membahas mengenai persoalan Knapsack dengan menggunakan Algoritma Pemrograman Dinamik. Pemrograman Dinamik merupakan sebuah metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah (step) atau tahapan (stage) sedemikian sehingga solusi dari persoalan dapat dipandang dari serangkaian keputusan yang saling berkaitan. Penemu dan orang yang bertanggung jawab atas kepopuleran Pemrograman Dinamik adalah Richard Bellman (1957). Pada Pemrograman Dinamik, rangkaian keputusan optimal yang dibuat dengan menggunakan prinsip optimalitas. Prinsip optimalitas: jika solusi total optimal, maka bagian solusi sampai tahap ke-k juga optimal. Dengan prinsip optimalitas ini dijamin bahwa pengambilan keputusan pada suatu tahap adalah keputusan yang benar untuk tahap-tahap selanjutnya. Inti dari Pemrograman Dinamik adalah membuang suatu bagian

kecil dari sebuah persoalan dalam setiap langkahnya, kemudian menyelesaikan persoalan yang lebih kecil tersebut dan menggunakan solusi hasil penyelesaian ini untuk ditambahkan kembali ke bagian persoalan dalam langkah berikutnya. Pemrograman Dinamik mencoba untuk memberikan solusi yang memiliki konsekuensi yang ditimbulkan dari pengambilan keputusan pada suatu tahap. Pemrograman Dinamik mampu mengurangi pengenumerasian keputusan yang tidak mengarah ke solusi. Penerapan pendekatan Pemrograman Dinamik telah banyak diperlihatkan mampu utnuk menyelesaikan aneka masalah seperti: alokasi, muatan (Knapsack), capital budgeting, pengawasan persediaan, dan lain-lain. 1.2 Perumusan Masalah Masalah yang dibahas adalah bagaimana menentukan lintasan terpendek yang merupakan persoalan Knapsack dari titik sumber ke titik tujuan pada suatu graph dengan pendekatan Algoritma Pemrograman Dinamik. 1.3 Batasan Masalah Dalam tulisan ini, masalah akan dibatasi dalam menyelesaikan Persoalan Knapsack pada lintasan terpendek dengan mencari solusi optimal dari lintasan terpendek dengan cara meminimumkan biaya dan waktu melalui pendekatan Algoritma Pemrograman Dinamik Maju. 1.4 Tinjauan Pustaka Untuk maksud dan tujuan penelitian ini, penulis memanfaatkan buku buku sebagai referensi di antaranya:

Stuart E. Dreyfus dan Averii M. Law (1997) dalam bukunya The Art And Theory Of Dynamic Programming, memuat bahwa ada beberapa pendekatan yang digunakan dalam Algoritma Pemrograman Dinamik, salah satunya yaitu Pemrograman Dinamik Maju (forward atau up-down). Misalkan: x 1, x 2,..., x n menyatakan varibel keputusan yang harus dibuat masing-masing untuk tahap 1, 2,..., n. Pemrograman Dinamik Maju adalah program dinamis yang bergerak mulai dari tahap 1, terus maju ke tahap 2, 3 dan seterusnya sampai tahap n. Urutan variabel keputusan adalah x 1, x 2,, x n. Tugas akhir ini menggunakan Pemrograman Dinamik Maju. Pemrograman Dinamik memiliki karakteristik sebagai berikut: 1. Persoalan dapat dibagi menjadi beberapa tahap (stage), yang pada setiap tahap hanya diambil satu keputusan yang optimal. 2. Masing-masing tahap terdiri dari sejumlah status (state) yang berhubungan dengan tahap tersebut. 3. Hasil keputusan yang diambil pada tahap ditransformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya. 4. Jumlah pada suatu tahap bergantung pada jarak tahap-tahap sebelumnya dan meningkat secara teratur dengan bertambahnya jumlah tahapan. 5. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan tahap sebelumnya. 6. Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik untuk setiap status pada tahap k memberikan keputusan terbaik utnuk tahap sebelumnya. 7. Prinsip optimalitas berlaku pada persoalan ini. Martello. S. and Toth. P. (1990) dalam bukunya Knapsack Problem, Algorithms and Computer Implementations, memuat tentang Algoritma Program 0-1 merupakan salah satu tipe persoalan Knapsack dalam keadaan tertentu dapat terjadi, masing-masing keadaan mempunyai sebuah nilai yang dihubungkan dengan besarannya. Secara nyata bahwa persoalan Knapsack akan menunjukkan kemungkinan yang terbaik.

0-1 atau biner, Persoalan Knapsack yaitu masukan dari n item dan suatu Knapsack, dengan persamaan sebagai berikut: Pilih subset dari item sebagai: maksimumkan z = j1 p j x j dengan kendala n j1 w j x j c, untuk Keterangan: x j 1 0 x j = 0 atau 1, untuk objek j memenuhi Lainnya p j = keuntungan dari item j, w j = bobot dari item j, j N {1,.,n} c = kapasitas dari Knapsack 1.5 Tujuan Penelitian Tujuan dalam penelitian ini adalah untuk memperlihatkan dan menerangkan suatu konsep algoritma untuk penyelesaian dalam menentukan lintasan terpendek sebagai contoh persoalan Knapsack. 1.6 Kontribusi Penelitian Dengan adanya penelitian menggunakan Algoritma Pemrograman Dinamik diharapkan dapat dikembangkan dan bermanfaat sebagai salah satu cara untuk memecahkan

persoalan Knapsack agar menghasilkan solusi optimal dalam menyelesaikan lintasan terpendek. 1.7 Metode Penelitian. Metode penelitian yang digunakan dalam tulisan ini adalah sebagai berikut: 1. Menguraikan teori dasar graph dan terminologi-terminologi graph yang menunjang terhadap pembahasan. 2. Menguraikan tentang konsep lintasan terpendek dan Persoalan Knapsack 3. Menguraikan tentang Algoritma Pemrograman Dinamik. 4. Menerapkan pendekatan Algoritma Pemrograman Dinamik ke dalam sebuah contoh Persoalan Knapsack yang diimplementasikan ke dalam kasus lintasan terpendek.