1835 4217 2 PB
1835 4217 2 PB
Abstract- Knapsack problem is a problem how to select object from many object
sand how weight it will be saved in order to obtain anoptimal storage with consider
which consists of n objects(1,2,3, ...) where each objecthas a weight(Wi) and
profit(Pi). Further more capacity from storage (M) and probability from each object
must be considered. In this paper discuss how to solving knapsack problem with
three ways. They are mathematic, greedy criteria and greedy algorithm. They have
different way to solve knapsack problem. After the comparison, more optimized
and more easily is greedy criteria. But more difficult and the result are not optimal
use mathematic. Greedy algorithm will be effective if it is non decreasing. This
method is faster but we must understand before hand about greedy algorithm
Keywords: greedy, knapsack, mathematic, profit, weight
91
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016
bisa membandingkan 3 metode dalam masing bobotnya adalah w1, w2, …, wn.
menyelesaikan 1 kasus yaitu dengan cara Tentukan nilai bi sedemikian sehingga:
penyelesaian knapsack problem secara
matematika, kriteria greedy dan algoritma M = b1w1 + b2w2 + … + bnwn
greedy dengan menggunakan sebuah
kasus. Setelah ketiga cara tersebut
dilakukan maka akan diperoleh hasil cara
mana yang lebih baik dan cepat yang
dapat digunakan untuk menyelesaikan
knapsack problem.
Sebagai referensi pembahasan
sebelumnya bisa dilihat di
https://hendryprihandono.wordpress.com/
2009/01/03/knapsack-problem-dengan-
algoritma-dan-metode-greedy/.
92
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016
obyek untuk dapat dimuat dalam ransel Pertama kali yang dilakukan adalah
sehingga kapasitasnya tidak melebihi dari program mencari nilai profit per berat
jumlah maksimal daya tampung ransel. tiap - tiap unit (density) dari tiap- tiap
objek. Kemudian objek-objek tersebut
n diurutkan berdasarkan density-nya.
Fungsi Pembatas : Σ Wi Xi ≤M Kemudian baru diambil satu-persatu
i=1 objek yang dapat ditampung oleh
dimana : 0 ≤ Xi ≤ 1; Pi >0;Wi>0 knapsack sampai knapsack penuh
Dengan cara ini sulit untuk menentukan atau sudah tidak ada objek lagi yang
yang paling optimal sebab kita harus bias dimasukkan.
mencari nilai probabilitas yang tersebar
antara 0 dan 1, 0 ≤ Xi ≤ 1 untuk setiap D. Algoritma Greedy
objek. Menurut Dian (2013) Algoritma
Greedy merupakan algoritma yang lazim
C. Kriteria Greedy untuk memecahkan persoalan optimasi
Menurut Dian dan Ade dalam paper meskipun hasilnya tidak selalu merupakan
Implementasi Algoritma Greedy untuk solusi yang optimum. Sesuai arti harfiah,
“Menyelesaikan Masalah Knapsack Greedy berarti tamak. Prinsip utama dari
Problem” Pada penyelesaian Knapsack algoritma ini adalah mengambil sebanyak
Problem dengan kriteria greedy terdapat 3 mungkin apa yang dapat diperoleh
tahapan yang dapat digunakan yaitu : sekarang. Untuk memecahkan persoalan
1. Greedy by Weight dengan algoritma Greedy, kita
Pada setiap langkah pilih objek yang memerlukan elemen-elemen sebagai
mempunyai berat teringan. Mencoba berikut.
memaksimumkan keuntungan dengan 1. Himpunan Kandidat (C)
memasukkan sebanyak mungkin objek Himpunan ini berisi elemen-elemen
ke dalam knapsack. pembentuk solusi.
Pertama kali yang dilakukan adalah 2. Himpunan Solusi, (S)
program mengurutkan secara menaik Himpunan ini berisi kandidat yang
objek-objekberdasarkan weightnya. terpilih sebagai solusi persoalan.
Kemudian baru diambil satu-persatu Dengan kata lain, himpunan solusi
objek yang dapat ditampung oleh adalah himpunan bagian dari
knapsack sampai knapsack penuh himpunan kandidat.
atau sudah tidak ada objek lagi yang 3. Fungsi Seleksi
bisa dimasukkan. Fungsi seleksi merupakan fungsi yang
2. Greedy by profit ada pada setiap langkah memilih
Pada setiap langkah, pilih objek yang kandidat yang paling memungkinkan
mempunyai keuntungan terbesar. guna mencapai solusi optimal.
Mencoba memaksimumkan 4. Fungsi Kelayakan (Feasible)
keuntungan dengan memilih objek Fungsi kelayakan adalah fungsi yang
yang paling menguntungkan terlebih memeriksa apakah suatu kandidat
dahulu. yang telah dipilih dapat memberikan
Pertama kali yang dilakukan adalah solusi yang layak dan tidak melanggar
program mengurutkan secara menurun batasan atau constraints yang ada.
objek-objek berdasarkan profitnya. 5. Fungsi Objektif
Kemudian baru diambil satu-persatu Fungsi objektif adalah fungsi yang
objek yang dapat ditampung oleh memaksimumkan atau meminimumkan
knapsack sampai knapsack penuh nilai solusi.
atau sudah tidak ada objek lagi yang
bisa dimasukkan. Skema umum algoritma Greedy
3. Greedy By Density adalah sebagai berikut:
Pada setiap langkah knapsack di isi 1. Inisialisasi S dengan kosong.
dengan objek yang mempunyai pi/wi 2. Pilih sebuah kandidat C dengan fungsi
terbesar, dimana p adalah keuntungan seleksi.
dan w adalah berat barang. Mencoba 3. Kurangi C dengan kandidat yang
memaksimumkan keuntugan dengan sudah dipilih dari langkah (b) di atas.
memilih objek yang mempunyai 4. Periksa apakah kandidat yang dipilih
density per unit berat terbesar. tersebut bersama-sama dengan
93
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016
94
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016
95
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016
96
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016
97
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016
12>8, kondisi benar karena 12 lebih weight yaitu berdasarkan berat yang
besar dari 8 paling kecil dan terakhir greedy by density
Dengan demikian x(2) = 8 yaitu perbandingan profit dengan berat
12 yang nilainya paling besar. Cara ini
yang artinya barang tersebut dapat dianggap lebih gampang dan lebih baik
dimuat8/12 Bagian saja. karena nilai yang dihasilkan lebih optimal,
meskipun kita harus menyelesaikan
8 x 12kg(berat barang ke-2) = 8kg beberapa tahapan terlebih dahulu.
12 Untuk cara yang ketiga yaitu
Untuk i=3 dengan algoritma greedy. Dengan cara ini
Endif, sebenarnya untuk perhitungan lebih
mudah dan lebih cepat karena kita
berakhir karena kapasitas tempat sudah langsung mengaplikasikan
maximal yaitu 25 kg, dengan berat barang perhitungannya dengan algoritma yang
ke-1 = 17Kg dan berat barang ke-2 adalah ada. Namun kita harus tau algoritmanya
8Kg. terlebih dahulu, tidak semua orang paham
dan bisa menterjemahkan algoritma
Sedangkan profit nilai yang didapat tersebut. Selain itu kelemahannya dengan
adalah: algoritma greedy adalah teknik ini akan
∑Pi.Xi = (P1.X1) + (P2.X2) + (P3.X3) efektif jika objek disusun secara tidak naik
= (26. 1) + (17. 8) + (27.0) (non increasing) berdasarkan nilai Pi/Wi.
12
= 26 + 11,3 + 0 V. KESIMPULAN
= 37,3 Berdasarkan perhitungan yang
Maka profit nilai yang didapat adalah 37,3 telah dilakukan yaitu untuk menyelesaikan
permasalahan knapsack, maka dapat
D. Perbandingan cara matematika, disimpulkan Knapsack problem dapat
kriteria greedy dan algoritma diselesaikan dengan cara matematika,
greedy kriteria greedy dan algoritma greedy. Tiap
Setelah contoh kasus yang teknik mempunyai cara penyelesaian
diberikan selesai dihitung dengan cara masing-masing. Cara matematika
matematika, kriteria greedy, algoritma dianggap lebih rumit dan tidak cocok
greedy maka diperoleh hasil akhir yang untuk digunakan. Cara kriteria greedy
sama akan tetapi dengan cara pengerjaan dianggap lebih mudah dan lebih optimal
yang berbeda. Tiap cara memiliki dibanding cara yang lain meskipun
kelebihan dan kekurangan masing- kekurangannya kita harus mengerjakan
masing. beberapa tahapan terlebih dahulu. Cara
Untuk cara yang pertama yaitu cara algoritma greedy lebih cepat
matematika, kita harus memperhatikan penyelesaiannya namun kita harus tahu
nilai probabilitas dari setiap barang, algoritma dan harus paham cara
karena nilai inilah sebagai penentunya penterjemahan algoritma tersebut. Selain
dengan memperhatikan nilai probabilitas itu teknik ini akan efektif jika objek disusun
(Xi) yaitu 0≤Xi≤1. Disini nilai Xi kisarannya secara tidak naik (non increasing)
sangat banyak bisa 0, 0.1, 0.01, 0.001,... berdasarkan nilai Pi/Wi.
1. Dengan demikian cara matematika ini Sebagai saran penulis menyarankan
ini sulit untuk menentukan yang paling untuk membuat perbandingan dengan
optimal sebab kita harus mencari nilai penyelesaian dengan metode algoritma
probabilitas yang tersebar antara 0 dan 1, genetika, sehingga akan didapat
0 ≤ Xi ≤ 1 untuk setiap objek. Cara ini penyelesaian yang paling optimal.
disarankan tidak digunakan, karena
dianggap lebih sulit dan lebih rumit DAFTAR PUSTAKA
dibanding kriteria greedy dan algoritma Dian dan Ade. 2013. Implementasi
greedy. Algoritma Greddy untuk
Untuk cara yang kedua yaitu Menyelesaikan Masalah Knapsack
dengankriteria greedy.Dengan cara ini kita Problem. Jurnal Ilmiah Saintikom.
harus mencari terlebih dahulu greedy by Jurusan Ilmu Komputer Universitas
profit berdasarkan profit yang paling Sumatera Utara. Vol. 12, No. 3,
besar, kemudian mencari greedy by September 2013.
98
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016
99