Anda di halaman 1dari 9

Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016

PERBANDINGAN PENYELESAIAN KNAPSACK PROBLEM


SECARA MATEMATIKA, KRITERIA GREEDY
DAN ALGORITMAGREEDY
Deddy Supriadi
Manajemen Informatika, AMIK BSI Tasikmalaya
deddy.dys@bsi.ac.id

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

Abstrak - Masalah Knapsack merupakan suatu permasalahan bagaimana memilih


objek dari sekian banyak dan berapa besar objek tersebut akan disimpan sehingga
diperoleh suatu penyimpanan yang optimal dengan memperhatikan objek yang
terdiri dari n objek (1,2,3,…) dimana setiap objek memiliki bobot (Wi) dan profit (Pi)
dengan memperhatikan juga kapasitas dari media penyimpanan sebesar M dan
nilai probabilitas dari setiap objek (Xi).Dalam jurnal ini membahas metode kajian
mengenai cara menyelesaikan permasalahan Knapsack ini dengan
membandingkan tiga cara, yaitu dengan cara matematika, kriteria greedy, dan
dengan algoritma greedy. Masing-masing cara ini memiliki perbedaan dalam
penyelesaiannya. Setelah dilakukan perbandingan maka lebih optimal dan lebih
mudah dikerjakan yaitu dengan cara kriteria greedy. Sedangkan yang lebih sulit
dan hasilnya tidak optimal digunakan secara matematika. Untuk cara algoritma
greedy akan efektif apabila disusun secara tidak naik (non descreasing). Cara ini
memang lebih cepat akan tetapi kita harus memahami terlebih dahulu tentang
algoritma greedy.
Kata Kunci: greedy, knapsack, matematika, profit, bobot

I. PENDAHULUAN yang maksimum dari pemilihan barang


Dalam penyimpanan beberapa tanpa melebihi kapasitas daya tampung
objek kita kadang merasa kesulitan media penyimpanan tersebut. Tidak
apabila media penyimpanannya terbatas. semua objek dapat ditampung di dalam
Hal itu sangat menyulitkan karena kita karung. Karung tersebut hanya dapat
harus mengatur agar objek-objek tersebut menyimpan beberapa objek dengan total
dapat tersimpan kedalam media ukurannya (weight) lebih kecil atau sama
penyimpanan yang terbatas.Kita harus dengan ukuran kapasitas karung. Setiap
mengatur objek mana saja yang dipilih objek itupun tidak harus kita masukkan
yang akan disimpan dan seberapa besar seluruhnya. Tetapi bisa juga sebagian
objek tersebut disimpan sesuai dengan saja.
kapasitas media penyimpanan yang ada. Dalam menyelesaikan Knapsack
Permasalahan tersebut dikenal Problem tersebut bisa menggunakan cara
dengan Knapsack Problem. Knapsack matematika, kriteria greedy, dan dengan
dapat diartikan sebagai karung, kantung, algoritma greedy. Ketiga cara
atau buntilan. Karung digunakan untuk penyelesaian tersebut memiliki cara
memuat sesuatu. Tujuan Knapsack masing-masing dalam menyelesaikan
problem untuk mendapatkan keuntungan knapsack problem. Dengan demikian kita

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/.

II. KAJIAN LITERATUR


A. Knapsack Problem Gambar 1. Ilustrasi Permasalahan
Menurut Komang (2010) Knapsack Knapsack Problem
problem merupakan salah satudari Sumber: Dian (2013:186)
persoalan klasik yang banyak ditemukan
dalam literatur-literatur lama dan hingga yang dalam hal ini, bi bernilai 0 atau
kini permasalahan tersebut masih sering 1. Jika bi = 1, berarti objek i dimasukkan
ditemukan dalam kehidupan sehari-hari. ke dalam knapsack, sebaliknya jika bi = 0,
Contoh nyata dari Knapsack Problem ini objek i tidak dimasukkan. Berhubung nilai
misalnya, jika ada seorang pedagang bi 0 dan 1 maka masalah ini sering juga
barang kebutuhan rumah tangga yang disebut sebagai Knapsack 0/1.
berkeliling menggunakan gerobak. Tentu Dalam teori algoritma, persoalan
saja gerobaknya memiliki kapasitas knapsack termasuk ke dalam kelompok
maksimum, sehingga ia tidak bisa NP-complete. Persoalan yang termasuk
memasukkan semua barang NPcomplete tidak dapat dipecahkan
dagangannya dengan seenak hatinya. dalam orde waktu polinomial
Pedagang tersebut harus memilih barang-
barang mana saja yang harus ia angkut, B. Secara Matematika
dengan pertimbangan berat dari barang Pada cara ini, kita harus
yang dibawanya tidak melebihi kapasitas memperhatikan nilai probabilitas dari
maksimum gerobak dan memaksimalkan setiap barang, karena nilai inilah sebagai
profit dari barang-barang yang dibawa. penentunya dengan memperhatikan nilai
Menurut Dian(2013) Knapsack probabilitas (Xi) yaitu 0≤Xi≤1.Nilai Xi bisa
adalah tas atau karung. Karung digunakan sangat beragam, dari 0, 0.1, 0.01, 0.001,
untuk memuat sesuatu. Dan tentunya ... , 1.
tidak semua objek dapat ditampung di Menurut Yulikuspartono (2001)
dalam karung tersebut. Karung tersebut dalam beberapa literatur, istilah lain dari
hanya dapat menyimpan beberapa objek fungsi tujuan dapat disebut sebagai fungsi
dengan total ukurannya (weight) lebih utama atau juga fungsi objektif yaitu
kecil atau sama dengan ukuran kapasitas fungsi yang menjadi penyelesaian
karung. Ilustrasi permasalahan dapat permasalahan dengan mendapatkan
dilihatpada gambar 1. solusi yang optimal.
Pada gambar 1 terlihat terdapat Solusi dimaksud= menemukan
sebuah tas berkapasitas 15 kg. Dan nilai/profit yang maks. untuk jumlah obyek
terdapat 5 barang dengan berat dan yang dimuat dalam ransel sehingga
keuntungannya masing - masing. Yang sesuai kapasitas.
menjadi persoalan adalah barang mana n
saja yang harus dimasukan ke dalam tas. Fungsi TujuanMaksimum : Σ Pi Xi
Knapsack Problem secara matematis I=1
dapat ditulis sebagai berikut: Fungsi pembatas= fungsi subyektif
Diberikan bobot knapsack adalah M. = fungsi yang bertujuan untuk
Diketahui n buah objek yang masing- memberikan batas maksimal dari setiap

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

himpunan solusi membentuk solusi dimana setiap barang memiliki profit


yang layak atau feasible (dengan sebesar masing-masing:
fungsi kelayakan). Barang pertama: 27
5. Periksa apakah himpunan solusi sudah Barang kedua : 26
memberikan solusi yang lengkap serta Barang ketiga : 17
optimal (dengan fungsi objektif). Sesuai dengan contoh kasus diatas maka
Kemudian menentukan barang mana saja
III. METODE PENELITIAN yang dapat disimpan ke dalam tempat
Penelitian ini dilakukan dengan penyimpanan sehingga diperoleh nilai
langkah-langkah sebagai berikut: profit yang maksimal.
1. Menyelesaikan permasalahan
knapsack dengan menggunakan cara Tabel 1. Keterangan Barang
matematika, kriteria greedy dan Barang Berat (W) Profit (P)
algoritma greedy dengan ke-
menggunakan suatu kasus. 1 20 27
2. Melakukan perbandingan dari ketiga 2 17 26
cara yaitu secara matematika, kriteria
3 12 17
greedy, algoritma greedy setelah
menyelesaikan suatu kasus knapsack
problem.
A. Secara Matematika
3. Menghasilkan cara mana yang lebih
Dengan cara matematika ini nilai
baik yang digunakan dalam
probabilitas harus diperhatikan. Sebagai
menyelesaikan knapsack problem.
penentunya dengan memperhatikan nilai
probabilitas (Xi) yaitu 0≤Xi≤1.
IV. PEMBAHASAN Nilai Xi bisa sangat beragam, dari 0, 0.1,
Knapsack Problem merupakan 0.01, 0.001, ... , 1.
masalah optimasi kombinatorial. Sebagai Diketahui: n = 3, (1, 2, 3)
contoh dalam dunia nyata, permasalahan
kapasitas, M = 25
Knapsack ini sering sekali digunakan
terutama pada bidang (jasa) Untuk berat masing-masing barang:
pengangkutan barang (seperti W 1 : 20
pengangkutan peti kemas dalam sebuah W 2 : 17
kapal), pengisian barang di bagasi, W 3 : 12
pengisian barang di suatu perusahaan, Untuk Profit masing-masing barang:
pengoptimalisasi karyawan dalam suatu P1: 27
badan usaha. P2: 26
Terdapat beberapa algoritma yang P3: 17
digunakan untuk menyelesaikan Nilai probabilitas 0 ≤ Xi ≤ 1
permasalahan tersebut. Pemilihan Solusi ke Nilai Probabilitas Fungsi
algoritma dalam penyelesaian knapsack Pembatas Fungsi Tujuan
problem ini sangat penting. Penggunaan ∑ Wi.Xi ≤ M ∑ Pi.Xi (Maximum)
algoritma yang tepat akan membantu
penyelesaikan kasus Knapsack dengan
(X1, X2, X3) (W1. X1) + (W2. X2) + (W3.
baik. Dalam paper ini dibahas tentang
X3) ≤ M (P1. X1) + (P2. X2) + (P3. X3)
penyelesaian knapsack problem dengan
cara matematika, kriteria greedy dan
algoritma greedy. Ketiga cara tersebut Untuk profit yang terbesar, nilai
diterapkan dalam sebuah contoh kasus. probabilitasnya diberi nilai 1 dan yang
Contoh kasusnya adalah: terkecil diberi nilai 0.

Diketahui 3 barang yang akan disimpan P1 : 27  X1 : 1 karena nilainya


pada suatu tempat yang memiliki terbesar
kapasitas maksimal sebesar 25 Kg. Berat P2 : 26  X2 : ?
masing-masing barang adalah: P3 : 17  X3 : 0 karena nilainya
Barang pertama:20 Kg terkecil
Barang kedua :17 Kg 3
Barang ketiga : 12 Kg ∑ = Wi. Xi ≤ M
i=1

94
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016

= W 1.X1 + W 2.X2 + W 3.X3 ≤ M 12X3 ≤ 25-17


(20.1) + (17X2) + (12.0) ≤ 25 12X3 ≤ 8
20 + 17X2 ≤ 25 X3 ≤ 8 = 2
17X2 ≤ 25-20 12 3
17X2 ≤ 5 Jadi, nilai X3 nya adalah 2
X2 ≤ 5 3
17
Jadi, nilai X2 nya adalah 5 (X1, X2, X3) (W 1. X1) + (W 2. X2) + (W 3. X3)
17 ≤ M (P1. X1) + (P2. X2) + (P3. X3)
Untuk tahap ke-1
(X1, X2, X3) (W 1. X1) + (W 2. X2) + (W 3. X3) (0,1,2) (20.0) + (17.1)+(12.2) ≤ 25 (27.0)
≤ M (P1. X1) + (P2. X2) + (P3. X3) +
(1, 5, 0) (20.1) + (17.5) + (12.0) ≤ 25 3 3
(27.1) + (26.1)+(17.2)
17 17 3
(26.5) + (17.0)
17 Kemudian seterusnya hitung kembali
dengan nilai probabilitas yang dirubah.
Kemudian nilai probabilitasnya diganti, Dengan cara ini sulit untuk menentukan
Nilai X1 =1 yang paling optimal sebab kita harus
Nilai X2 = 0 mencari nilai probabilitas yang tersebar
Nilai X3 = ? antara 0 dan 1, 0 ≤ Xi ≤ 1 untuk setiap
objek
3
∑ = Wi. Xi ≤ M Tabel 2. Hasil Perhitungan Secara
i=1 Matematika
= W 1.X1 + W 2.X2 + W 3.X3 ≤ M Solu (X1, X2, X3) ∑WiXi ∑PiXi
(20.1) + (17.0) + (12.X3) ≤ 25 si ke
20 + 12X3 ≤ 25 (1, 5 , 0)
12X3 ≤ 25-20 1
17
25 34,6
12X3 ≤ 5
X3 ≤ 5 (1, 0 , 5 )
2 25 34,1
12 12
Jadi, nilai X2 nya adalah 5 (0, 1, 2 )
3 25 37,3
12 3
... ... ... ...
Untuk tahap ke-2
(X1, X2, X3) (W 1. X1) + (W 2. X2) + (W 3. X3) Maka nilai profit terbesarnya adalah 37,3.
≤ M (P1. X1) + (P2. X2) + (P3. X3) Dengan demikian diperoleh pengaturan
barang yang akan dimasukkan adalah:
(1,0,5) (20.1) + (17.0)+(12.5) ≤ 25 (27.1) X1: 0
+ X2:1
12 12 X2: 2
(26.0)+(17.5) 3
12 Dengan artian bahwa:
Barang kesatu dengan nilai 0 maka
Untuk tahap ke-3 nilai probabilitasnya barang tersebut tidak usah dimasukkan.
menjadi: Barang kedua diambil 1 bagian yaitu 17Kg
Nilai X1 =0
Nilai X2 = 1 Barang ketiga dengan nilai 2 maka barang
Nilai X3 = ? tersebut
3
3 Diambil 2 bagian dengan artian: 2 X 12 =
∑ = Wi. Xi ≤ M 8Kg
i=1 3 3
= W 1.X1 + W 2.X2 + W 3.X3 ≤ M Jadi, total barang yang disimpan adalah
(20.0) + (17.1) + (12.X3) ≤ 25 0+17+8=25Kg sesuai dengan berat
17 + 12X3 ≤ 25 maksimal tempat tersebut.

95
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016

B. Kriteria Greedy 12+ 17X2 ≤ 25


Berdasarkan cara kriteria greedy 17X2 ≤ 25-12
maka dilakukan dengan 3 tahap: 17 X2 ≤ 13
1. Greedy by Profit X2 ≤ 13
Dengan cara ini maka dicari terlebih 17
dahulu Profit terbesar dari ketiga Jadi, nilai X2 nya adalah 13
barang tersebut. 17
P1 : 27
P2 : 26 3. Greedy by Density
P3 : 17 Greedy by density ini dicari nilai
Dari ketiga barang tersebut maka perbandingan yang terbesar antara
barang yang profitnya terbesar adalah Profit dengan berat. Untuk nilai
barang ke-1. Barang dengan profit perbandingan yang terbesar diberi nilai
terbesar diberi nilai 1 dan dengan profit 1, untuk nilai yang terkecil diberi nilai 0.
terkecil diberi nilai 0 sesuai dengan Nilai probabilitasnya 0 ≤ xi ≤ 1
fungsi pembatas. Sedangkan barang P1 : 27 : 1,35  X1 : 0 Karena nilainya
lainnya nilai probabilitasnya harus terkecil
dihitung terlebih dahulu. W 1 20
Nilai probabilitasnya 0 ≤ xi ≤ 1 P2 : 26 : 1,5  X2 :1 Karena nilainya
P1 : 27  X1 : 1 karena nilainya terbesar
terbesar W 2 17
P2 : 26  X2 : ? P3 : 17: 1,4 X3 : ?
P3 : 17  X3 : 0 karena nilainya W 3 12
terkecil Untuk nilai X2 harus dicari terlebih
Untuk nilai X2 harus dicari terlebih dahulu dengan rumus :
dahulu dengan rumus : 3
3 ∑ = Wi. Xi ≤ M
∑ = Wi. Xi ≤ M i=1
i=1 = W 1.X1 + W 2.X2 + W 3.X3 ≤ M
= W 1.X1 + W 2.X2 + W 3.X3≤ M (20.0) + (17.1) + (12.X3) ≤ 25
(20.1) + (17X2) + (12.0) ≤ 25 17 + 12X3 ≤ 25
20 + 17X2 ≤ 25 12X3 ≤ 25-17
17X2 ≤ 25-20 12X3 ≤ 8
17X2 ≤ 5 X3≤ 8 = 2
X2 ≤ 5 12 3
17 Jadi, nilai X3nya adalah 2
Jadi, nilai X2 nya adalah 5 3
17

2. Greedy by Weight Berdasarkan dari greedy by profit, greedy


Untuk greedy by weight maka dicari by weight, greedy by density maka
berat yang paling minimal. Untuk nilai dihasilkan
probabilitasnya maka apabila berat
yang terkecil diberi nilai 1, yang berat Tabel 3. Hasil Perhitungan Kriteria Greedy
terbesar maka diberi nilai 0. ke-1
Nilai probabilitasnya 0 ≤ xi ≤ 1 Solusi ke- (X1,X2,X ∑Wi.Xi ∑Pi.
W 1 : 20  X1 : 0 karena beratnya 3) Xi
terbesar (1, 5 , 0)
W 2 : 17  X2 : ? PiMax 25 ?
17
W 3 : 12 X3 : 1 karena beratnya (0, 13 ,
terkecil WiMin 1) 25 ?
Untuk nilai X2 harus dicari terlebih 17
dahulu dengan rumus : Pi Max (0,1,2)
3 25 ?
Wi 3
∑ = Wi. Xi ≤ M
i=1
Untuk mencari nilai ∑Pi.Xi dari masing-
= W 1.X1 + W 2.X2 + W 3.X3 ≤ M
masing solusi maka harus dimasukkan
(20.0) + (17X2) + (12.1) ≤ 25

96
Indonesian Journal on Computer and Information Technology Vol 1 No 2 November 2016

terlebih dahulu profitnya dan nilai C. Algoritma Greedy


probabilitasnya. Teknik ini akan efektif jika objek
Untuk Pi Max: disusun secara tidak naik (non increasing)
∑Pi.Xi = (P1.X1) + (P2.X2) + (P3.X3) berdasarkan nilai Pi/Wi.
= (27. 1) + (26. 5) + (17.0) Data yang diketahui:
17 n = 3, (1, 2, 3)
= 27 + 7,6 + 0 kapasitas tempat, M = 25
= 34,6 (W1, W2, W3) = (20, 17, 12)
(P1, P2, P3) = (27, 26, 17)
Untuk Wi Min Nilai probabilitas 0 ≤ Xi ≤ 1
∑Pi.Xi = (P1.X1) + (P2.X2) + (P3.X3)
= (27. 0) + (26.13) + (17.1) perbandingan profit dengan bobot
17 P1 : 27 : 1,35 menjadi urutan ke 3
= 0 + 19,8 + 17 W 1 20
= 36,8 P2 : 26 : 1,5 menjadi urutan ke 1
W 2 17
Untuk Pi/Wi Max P3 : 17 : 1,4 menjadi urutan ke 2
∑Pi.Xi = (P1.X1) + (P2.X2) + (P3.X3) W 3 12
= (27. 0) + (26.1) + (17.2)
3 Susun data sesuai kriteria (non
= 0 + 26 + 11,3 increasing), sehingga menghasilka pola
= 37,3 yang baru
(P2, P3, P1) = (26, 17, 27)
Maka hasil dari ketiga tahapan tersebut (W 2, W 3, W 1) = (17, 12, 20)
adalah:
Tabel 4. Hasil Akhir Perhitungan Kriteria Masukkan nilai kriteria di atas ke dalam
Greedy algoritma greedy
Solusi ke- (X1,X2,X ∑Wi.Xi ∑Pi.
3) Xi Algoritma GREEDY KNAPSACK.
(1, 5 , 0) PROCEDURE GREEDY
Pi Max 25 34,6 KNAPSACK(W,x,n)
17
(0, 13 , float W[n], x[n], M, isi;
Wi Min 1) 25 36,8 Int i, n;
17 x(1:1) 0;isi M ;
Pi Max (0,1, 2) FOR i 1 TO n
25 37,3 {
Wi 3
IF W[i] > M ; EXIT ENDIF
x[i] 1
Maka nilai profit terbesarnya adalah 37,3.
isi isi – W[i]
Dengan demikian diperoleh pengaturan
}
barang yang akan dimasukkan adalah:
IF i ≤n ; x[i] isi / W[i] ENDIF
X1: 0
END_GREEDY KNAPSACK
X2 : 1
X3: 2
Setelah itu masukkan data-data tersebut
3
ke dalam algoritma diatas.
Dengan artian bahwa:
x(1:n) 0 ; isi 25
Barang kesatu dengan nilai 0 maka
untuk i = 1
barang tersebut tidak usah dimasukkan.
W(1) > isi ? berat W1 adalah 17
Barang kedua diambil 1 bagian yaitu 17Kg
17>25, kondisi salah karena 17 lebih kecil
dari 25
Barang ketiga dengan nilai 2/3 maka
Dengan demikian x(1) = 1 yang artinya
barang tersebut
barang tersebut dapat dimuat seluruhnya.
Isi = 25 -17= 8 kapasitas tempat menjadi
Diambil 2/3 bagian dengan artian: 2/3 X
berkurang karena sudah diiisi barang
12 = 8Kg
pertama, sisaya menjadi 8Kg lagi.
Jadi, total barang yang disimpan adalah
Untuk i=2
0+17+8=25Kg sesuai dengan berat
W(2) > isi ?  berat W2 adalah 12
maksimal tempat tersebut.

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

Komang. 2010. Implementasi Algoritma


Genetika pada knapsack problem
untuk optimasi pemilihan buah
kemasan kotak. Seminar Nasional
Aplikasi Teknologi Informasi 2010
(SNATI 2010). Yogyakarta, 19 Juni
2010.

Knapsack problem dengan algoritma dan


metode greedy by Hendry
Prihandono
https://hendryprihandono.wordpress
.com/2009/01/03/knapsack-
problem-dengan-algoritma-dan-
metode-greedy/ diunduh (9 Oktober
2016)

Yulikuspartono. 2001. Pengantar Logika


dan Algoritma. Yogyakarta: Andi.

99

Anda mungkin juga menyukai