• Tidak ada hasil yang ditemukan

Pendekatan Maju (Forward) Dynamic Programming Untuk Permasalahan MinMax Knapsack 0/1

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pendekatan Maju (Forward) Dynamic Programming Untuk Permasalahan MinMax Knapsack 0/1"

Copied!
6
0
0

Teks penuh

(1)

265

Pendekatan Maju (Forward) Dynamic Programming Untuk

Permasalahan MinMax Knapsack 0/1

Ani D Rahajoe

1

, Arif Arizal

2

1 Jurusan Teknik Informatika, Universitas Bhayangkara, Surabaya. E-mail:[email protected]

2 Jurusan Teknik Informatika, Universitas Bhayangkara, Surabaya. E-mail: [email protected]

Abstract - Minmax Knapsack 0/1 adalah pengembangan dari integer knapsack 0/1 dimana untuk knapsack 0/1 benda yang terpilih merupakan benda utuh dari alternatif benda yang mempunyai batasan minimal dan maksimal kapasitas ruang atau wadah dengan nilai total benda terpilih maksimum atau minimum. Pada minmax knapsack 0/1 ini yang digunakan adalah nilai total optimal yang paling minimum. Penyelesaian permasalahan minmax knapsack 0/1 ini menggunakan dynamic programming dengan pendekatan maju sehingga solusi optimal saat j didapat dari perbandingan tahapan sesudahnya atau j+1. Penelitian ini menjabarkan tahapan dynamic programming dengan pendekatan maju yang diterapkan pada komposisi makanan pasien rawat inap. Hasil menunjukkan komposisi makanan yang dihasilkan mempunyai nilai paling optimal dengan batasan minimal maksimal kalori yang diperbolehkan bagi pasien dengan total nilai kolestrol paling minimal dari komposisi makanan yang terpilih .

Kata Kunci: Integer knapsack, knapsack 0/1, minmax, Dynamic programming.

I.PENGANTAR

Optimasi merupakan proses pemilihan alternatif terbaik dari alternatif yang ada berdasarkan kriteria tertentu (Skiena, 2008). Sedangkan knapsack termasuk didalam permasalahan optimasi dan didefinisikan sebagai berikut: optimalitas dari pemilihan benda-benda yang akan dimasukkan ke dalam suatu wadah dengan keterbatasan ruang dan daya tampung (M). Benda-benda yang dimasukkan merupakan benda yang mempunyai berat, harga atau nilai (p). Ada 2 kategori permasalahan knapsack yang dikenal yaitu fractional knapsack dan Integer knapsack. Dalam fractional knapsack, benda yang dimasukkan ke dalam wadah dapat sebagian atau utuh [7]. Integer knapsack ini terbagi menjadi beberapa jenis. Jenis yang pertama adalah item yang diambil utuh dan dapat lebih dari 1 jumlahnya sedangkan jenis yang kedua adalah item yang diambil utuh secara keseluruhan dan lebih dikenal dengan knapsack 1/0. Selama ini pada knapsack 0/1, optimalitas pemilihan dari benda-benda tersebut menjadi prioritas untuk menentukan nilai total maksimum. Pengembangan dari permasalahan knapsack 0/1 salah satunya adalah minmax knapsack 0/1 [8]. Penelitian yang akan dilakukan menggunakan formulasi minmax knapsack 0/1 seperti dibawah ini [8]:

Min pj xj (1)

dengan syarat M1 ≤ wj xj ≤ M2

xj { } Dimana M1 adalah batasan minimal kapasitas knapsack dan M2 adalah batasan maksimal knapsack. Sesuai dengan permasalahan untuk komposisi makanan maka kriteria yang akan digunakan adalah batasan minimum dan maksimum kalori yang diperlukan dimana total kolestrolnya adalah minimal sehingga M1 adalah batasan minimal kalori dan M2 adalah batasan maksimal kalori yang diperbolehkan, p adalah nilai kolestrol pada makanan, w adalah nilai kolestrol yang ada di makanan tersebut, x adalah item makanan yang akan dipilih. Pada penelitian ini nantinya akan menggunakan dynamic programming dengan pendekatan maju atau forward. Penyelesaian dengan pendekatan mundur atau backward telah dipublikasikan oleh peneliti. Peneliti memilih dynamic programming karena metode ini digunakan untuk mencari optimalitas dari suatu permasalahan ([6],[9]). Saat ini peneliti akan mengembangkan penyelesaian dengan pendekatan maju (forward). Berdasarkan uraian diatas tersebut maka menjadi tujuan penelitian yang akan dilakukan yaitu pendekatan maju (forward) dynamic programming untuk minmax knapsack 0/1 pada komposisi makanan pasien rawat inap di Instalasi Gizi Rumah Sakit. Hal ini dikarenakan di era modern ini gaya hidup sangat mempengaruhi kesehatan seseorang. Gaya hidup dengan mengkonsumsi makanan berlebihan dan berlemak sangat beresiko untuk kesehatan. Gaya hidup yang tidak sehat akan memicu terjadinya peningkatan total kolestrol seseorang. Tidak jarang seseorang yang mempunyai total kolestrol tinggi juga menderita penyakit lain yang menyertainya. Hal ini akan mengakibatkan terjadinya komplikasi pada pasien tersebut. Penderita dengan penyakit komplikasi diharuskan untuk mengkonsumsi makanan yang mempunyai batasan batasan unsur atau zat makanan tertentu. Apabila salah satu zat atau unsur makanan dikurangi kemungkinan akan berakibat pada penyakit.

Instalasi gizi pada rumah sakit selama ini menggunakan perhitungan manual untuk memperkirakan komposisi makanan untuk pasien pasien dirumah sakit tersebut. Hal ini menyebabkan makanan yang disajikan tidak

(2)

266 sepenuhnya sesuai dengan takaran yang diharuskan karena disesuaikan juga dengan bahan mentah yang tersedia. Variasi makanan juga tidak terlalu banyak dikarenakan perhitungan jumlah kalori dan kolestrol tidak setiap saat bisa dilakukan sehingga diperlukan suatu sistem bantuan yang dapat menghitung semua takaran dengan batasan batasan yang telah ditentukan oleh ahli gizi di rumah sakit tersebut. Berbagai penelitian dikembangkan untuk mengatur makanan bagi penderita kolestrol tinggi dengan tidak mengurangi gizi pasien tersebut.

Penelitian yang telah ada hanya mampu memberikan batasan maksimal kadar lemak atau kalori yang harus dikomsumsi pasien tersebut. Pada kenyataannya, pasien dengan kadar kolestrol tinggi mempunyai batasan minimal yang harus dipenuhi untuk mengontrol gizinya dan memberikan batasan maksimal untuk kalori dengan nilai kolestrol yang paling minimal. Batasan minimal kalori ini diberikan karena pasien tidak boleh kekurangan kalori yang harus dimilikinya karena kalori tersebut diperlukan untuk mencukupi gizi agar pasien tersebut dapat meningkatkan stamina dan mempercepat kesembuhannya [4]. Pada penelitian ini, peneliti akan mencari solusi dari permasalahan komposisi makanan dimana komposisi makanan tersebut mempunyai batasan minimal dan maksimal kalori yang diperbolehkan dan dengan total kolestrol yang paling minimal. Batasan minimal dan maksimal diambil dari referensi buku Penuntun Diet oleh Almatsier ()

II.PENDEKATAN MAJU (FORWARD)PADA KNAPSACK 0/1.

Solusi integer knapsack didapat dari rangkaian keputusan variabel x1, x2,..,xn. Keputusan memilih variabel xi untuk dapat dimasukkan kedalam knapsack mempunyai nilai 1 dan 0. Nilai 1 apabila variabel xi dipilih sedangkan nilai 0 jika tidak dipilih untuk dimasukkan kedalam knapsack dan kapasitas knapsack sebesar M. Variabel xi yang telah terpilih memberikan sisa kapasitas sebesar M – wi dimana wi merupakan berat item ke i dengan nilai item sebesar pi. Apabila gi(y) adalah nilai optimum dari permasalahan integer knapsack pada tahap i untuk kapasitas karung sebesar y, gi+1(y) adalah nilai optimum tahap sesudahnya pada saat kapasitas sebesar y dan gi+1(y-wi+1) adalah nilai optimum pada tahap sesudahnya dengan sisa kapasitas sebesar y-wi+1 maka dapat dirumuskan persamaan rekuren sebagai berikut [5]:

gi(y)=max{gi+1(y),gi+1(y-wi+1)+ pi+1 } (2) Algoritma dynamic programming digunakan pada persamaan rekuren (2) tersebut untuk memberikan solusi dari permasalahan integer knapsack. Pada persamaan rekuren (2), nilai optimum tahap ke i yaitu gi(y) diperoleh dari perbandingan antara gi+1(y) dan gi+1(y-wi+1) + pi+1 dan selanjutnya diambil nilai yang maksimal. Pada saat gn(y) = 0 digunakan untuk semua y dan nilai solusi optimalnya adalah g0(M) dengan i = 0. Keputusan pada tahap i pada persamaan rekuren (2) dilihat dari rangkaian keputusan optimal xi+1,..,xn sesuai dengan penyelesaian

menggunakan pendekatan maju atau forward (Horowitz dan Sahni, 1988). Dikarenakan

Apabila terdapat data x1, x2, x3 dengan nilai (w1, w2, w3)= (3, 2, 4), (p1, p2, p3)=(20, 15, 25) dan M=5 sebagai kapasitas maksimum maka penyelesaian dengan pendekatan mundur untuk knapsack 0/1 adalah seperti yang dijabarkan dibawah ini.

1) Tahap awal adalah tahap dimana item atau barang belum dipilih sehingga f3(y) = 0 untuk semua nilai y.

2) Tahap pertama dengan item x3, berat w3=4 dan nilai p3=25.

gi(y) = max{ gi+1(y), gi+1(y-wi+1) + pi+1} g2(y) = max{ g3(y), g3(y-4) + 25}

TABEL I. TAHAP PERTAMA KNAPSACK 0/1DENGAN DYNAMIC

PROGRAMMING

Pada Tabel 1 menunjukkan tahap awal solusi optimal dimana g3(y) = 0 untuk semua kemungkinan y dan menunjukkan proses tahap pertama di mana nilai item 3 termuat pada saat y=4 dan y=5, sehingga solusi optimal tahap pertama atau g2(5)= 25.

3) Tahap kedua dengan item x2, berat w2=2 dan nilai p2=15.

gi(y) = max{ gi+1(y), gi+1(y-wi+1) + pi+1} g1(y) = max{ g2(y), g2(y-2) + 15}

TABEL II . TAHAP KEDUA KNAPSACK 0/1DENGAN DYNAMIC

PROGRAMMING

Tabel 2 menunjukkan item 2 termuat pada saat y=2, y=3, y=4 dan y=5, akan tetapi pada saat y=4, nilai g1(4) lebih besar daripada g2(y-2) + 15 sehingga solusi optimal pada saat y=4 adalah 25. Demikian juga pada saat y=5, sehingga nilai solusi optimal tahap kedua sebesar 25.

4) Tahap ketiga dengan item x1, berat w1=3 dan nilai p1=20.

gi(y) = max{ gi+1(y), gi+1(y-wi+1) + pi+1} g0(y) = max{ g1(y), g1(y-3) + 20}

(3)

267

TABEL III. TAHAP KETIGA KNAPSACK 0/1DENGAN DYNAMIC

PROGRAMMING

Tabel 3 menunjukkan item 1 termuat pada saat y=3 akan tetapi pada saat y=5, nilai g1(5) lebih kecil daripada g1(5-3) + 20 sehingga solusi optimal pada saat y=5 adalah 35 dengan item 1 dan item 2 yang terpilih. Tahap ketiga menunjukkan solusi optimal dari permasalahan integer tersebut dengan pendekatan mundur g0(M) [5] yaitu g0(5) = 35.

III.SOLUSI KNAPSACK O/1 DENGAN KONSTRAIN

MINMAX MENGGUNAKAN DYNAMIC PROGRAMMING

Dari persamaan 1 diatas mempunyai pengertian bahwa mencari kombinasi dengan nilai minimum dari benda benda yang dipilih dimana total berat benda tersebut diatara 2 batasan minimal dan maksimal. Sebagai contoh dari penerapan persamaan 1 diatas dapat dilihat pada contoh 1 dibawah ini.

Contoh 1, apabila ada 4 benda yang akan dicari nilai optimumnya dari persamaan 1 diatas yaitu x1, x2, x3, x4. Benda tersebut akan dimasukkan kedalam suatu wadah dengan total berat yang dapat ditampung minimal adalah M1=6 dan maksimal M2=7, dimana total nilai benda ynag terpilih adalah paling minimal. Dari contoh 1 tersebut mempunyai beberapa alternatif dan kombinasi benda yang dapat dimasukkan kedalam wadah tersebut. Tabel kombinasi benda yang terpilih dapat dilihat pada tabel 4 dibawah ini.

Dari tabel 4 tidak semua kemungkinan dimunculkan, hanya yang mendekati batasan minimal dan maksimal. Benda yang diambil yang memenuhi persyaratan dari persamaan 1 adalah alternatif no 5, 6,7 dan 8. Keempat alternatif tersebut yang memiliki nilai total paling minimal adalah alternatif no 6 dengan nilai total berat 7 dan nilai total benda adalah 20.

Menurut [2] dan [3], dynamic programming mempunyai beberapa langkah penyelesaian. Tahapan atau langkah tersebut adalah:

1. Karakteristikkan struktur solusi optimal. 2. Definisikan secara rekursif nilai solusi optimal. 3. Hitung nilai solusi optimal secara maju atau mundur. 4. Konstruksikan solusi optimal.

TABEL IV. BENDA YANG DAPAT DIAMBIL PADA CONTOH 1

Apabila W merupakan nilai total berat maka nilai total berat tahap ke j pada saat kapasitas sebesar y dapat

dinyatakan sebagai W[j,y]. Benda yang telah dipilih akan menyisakan kapasitas sebesar y-wj. Apabila P merupakan nilai optimum benda maka nilai total benda yang dimasukkan kedalam knapsack pada saat kapasitas sebesar y dapat dinyatakan sebagai P[j,y]. Sedangkan [8], U dinyatakan sebagai nilai total berat dan L dinyatakan sebagai nilai optimum benda.

a) Karakteristik struktur solusi optimal.

Terdapat 2 kondisi pada minmax knapsack 0/1 untuk struktur solusi optimal yaitu:

1. Kondisi pada saat wj > y.

Pada saat ini berat benda lebih besar daripada saat kapasitas sebesar y. ini berarti benda tidak dapat dimasukkan kedalam wadah.

2. Kondisi pada saat wj ≤ y .

Apabila berat benda lebih kecil dari kapasitas wadah pada saat y maka benda tersebut dapat dimasukkan kedalam wadah atau benda tersebut terpilih.

Nilai optimum total berat akan ditentukan oleh 4 kondisi yaitu:

1) Jika total berat lebih kecil dari nilai optimum total berat tahap sesudahnya maka benda tersebut tidak dimasukkan kedalam knapsack.

Nilai optimum total berat tahap ke j diambil dari nilai optimum total berat tahap sesudahnya atau W[j+1,y] sehingga nilai total minimal item tahap ke j juga diambil dari nilai total minimal item tahap sesudahnya atau P[j+1,y].

2) Jika total berat lebih besar dari nilai optimum total berat tahap sesudahnya maka item tersebut dapat dimasukkan kedalam knapsack sehingga nilai optimum total beratnya menjadi W[j+1, y-wj+1] + wj+1. Demikian juga nilai total minimal item akan menjadi P[j+1, y-wi+1] + pj+1.

3) Jika total berat sama dengan nilai optimum total berat tahap sesudahnya maka prinsip nilai minimal diterapkan.

 Jika nilai total minimal tahap sesudahnya atau P[j+1,w] lebih kecil dari nilai total minimal tahap ke j atau P[j+1, y-wj+1] + pj+1 maka item tidak dimasukkan kedalam knapsack. Nilai total minimalnya adalah nilai total tahap sesudahnya atau P[j+1,w].

 Jika tidak maka item tersebut dimasukkan kedalam knapsack sehingga nilai total minimal item akan menjadi P[j+1, y-wj+1] + pj+1.

4) Kondisi pada saat W[j,y] ≥ KapasitasMin.  Apabila P[j,y+1]≥KapasitasMin atau

W[j+1,y]≥KapasitasMin maka prinsip

nilai minimal untuk total nilai item diterapkan. Nilai P[j,y] dibandingkan dengan nilai P[j,y+1] dan dipilih nilai total yang paling kecil, hal ini disebabkan

(4)

268 meminimalkan total nilai item pada saat batasan minimal telah terpenuhi. Selanjutnyan P[j,y] dan P[j-1,y] yang dibandingkan untuk memilih nilai yang paling kecil. Apabila nilai P[j,y]=P[j,y+1] atau P[j,y]=P[j+1,y] maka akan dipilih nilai total berat item yang terbesar. Hal ini disesuaikan dengan penerapan pada pemenuhan kalori yang ditentukan (dari alternatif yang optimal dicari total kalori yang terbesar).

b) Persamaan Rekursif Knapsack 0/1 dengan Konstrain Minmax

Berdasarkan analisa sebelumnya dapat dirumuskan persamaan rekursifnya sebagai berikut: Jika wj > y { [ ] [ ] [ ] [ ]

Jika wj ≤ y

Jika W[j+1,y] ≠ W[j+1,y-wj+1] + wj+1

W[j,y] = Max { W[j+1,y], W[j+1,y-wj+1] + wj+1}

Jika W[j+1,y] = W[j+1,y-wj+1] + wj+1

Jika W[j,y] ≥ KapasitasMin dan W[j,y+1] ≥KapasitasMin

P[j,y] = Min { P[j,y+1], P[j,y] }

Jika W[j,y] ≥ KapasitasMin dan W[j+1,y] KapasitasMin P[j,y] = Min { P[j+1,y], P[j,y] }

Jika tidak P[j,y] = Min { P[j+1,y], P[j,y] }

Basis persamaan rekursif tersebut apabila wj=0 atau y=0 maka nilai W[ ] dan [ ] .

c) Analisa Perhitungan Solusi Optimal.

Pada tabel 5, tahapan awal pada saat j=4, hal ini dikarenakan solusi optimal pendekatan mundur pada saat gn(y) = 0 digunakan untuk semua y dan nilai solusi optimalnya adalah g0(M) dengan j = 0. Sehingga penelusuran tahapan dimulai dari j=4 kemudian j=3 sampai j=0. Dikatakan pendekatan maju karena solusi optimal berat total yang dihasilkan dari perbandingan tahapan selanjutnya yaitu W[j+1,y] dengan W[j+1, y-wj+1] + wj+1. Demikian juga dengan solusi optimal total nilai benda yang terpilih yaitu dari tahapan sesudahnya P[j+1,y] dan P[j+1, y-wi+1] + pj+1.

Selanjutnya tahap ketiga, nilai optimum adalah dari x4 yang terpilih yaitu P=6. Hal ini dikarenakan belum ada benda lain yang terpilih sehingga pada saat y=2, benda tersebut terpilih dan solusi optimalnya pada saat y=6.

TABEL V . PERHITUNGAN SOLUSI OPTIMAL KNAPSACK 0/1

DENGAN KONSTRAIN MINMAX

Tahap kedua, x3 tidak dipilih pada saat y=2 dan y=3, hal ini dikarenakan nilai benda P[j+1,y] lebih besar dari P[j,y]. Angka yang berwana merah menunjukkan benda yang tidak terpilih. Pada saat j=4 berlaku persamaan W[j,y] = Max { W[j+1,y], W[j+1,y-wj+1] + wj+1}, sehingga x3 dan x4 terpilih dengan total nilai benda atau P[j,y]=13 dan solusi optimal pada saat y=6 dengan nilai yang sama.

Tahap kesatu, pada saat j=4 tidak memilij x2, hal ini dikarenakan masih ada total nilai yang minimum yaitu dari x3 dan x4. Pada saat tahap 0 yang merupakan tahap untuk solusi nilai minimal, x1 terpilih pada saat y=3, pada saat y=5 telah memenuhi persyaratan minimum kapasitas, dengan x1 dan x2 yang terpilih. Nilai total minimal yang diambil pada saat y=6 tetap P[j,y ]sebesar 18 sehingga nilai total berat maksimalnya juga tetap dengan nilai sebesar 5. Solusi optimal Contoh 1 pada pendekatan maju adalah g0(M) atau pada saat P[0,6] adalah 18 dan nilai W[0,6] adalah 5. d) Konstruksi Solusi Optimal Integer Knapsack

dengan Konstrain Minmax.

Persamaan rekursif (2) hanya menunjukkan nilai total minimal item dan nilai total berat item , akan tetapi tidak menunjukkan item-item apa saja yang dipilih untuk dimasukkan kedalam knapsack sesuai dengan nilai total minimal sebesar 18. Tahapan akhir penyelesaian dengan dynamic programming adalah konstruksi solusi optimal dimana tahapan ini menelusuri urutan item-item yang dipilih dari tahap W[0,M] sampai tahap pertama atau W[n,M].

Langkah-langkah penelusuran item yang terpilih diantaranya:

1. Penelusuran dari W[j,y] ke W[j,y+1] hingga terjadi perubahan nilai antara keduanya atau P[j,y] dengan P[j,y+1] (secara horisontal), apabila terjadi perubahan selanjutnya dilakukan penelusuran langkah kedua.

2. Penelusuran dari W[j,y] hasil dari langkah pertama dibandingkan dengan nilai tahap sesudahnya W[j+1,y] atau P[j,y] dengan P[j+1,y] (secara vertikal), apabila terjadi

(5)

269 perubahan nilai maka item tersebut merupakan item yang terpilih dan dilanjutkan dengan sisa kapasitas dari item yang terpilih atau y-wj. Kemudian penelusuran dilakukan kembali ke langkah 1 hingga y=n atau j=n.

Berdasarkan Tabel 2, langkah-langkah konstruksi solusi optimal Contoh 1 dapat dijabarkan sebagai berikut: 1. Nilai solusi optimal pada saat y=6 dan j=0 adalah nilai

optimal untuk semua tahapan j=0, penelusuran menggunakan langkah 1 menghasilkan nilai perubahan pada saat y=5.

2. Selanjutnya dilakukan pengecekan langkah ke 2 dengan tahap sebelumnya W[j+1,y]. Perubahan nilai terjadi pada W[1,5]=4 dan P[1,5]=13 tidak sama dengan L[0,5]=18 sehingga item 1 termasuk kedalam knapsack.

3. Sisa kapasitas menjadi y-wj = 3 sehingga penelusuran dimulai dari U[1,3]. Langkah 1 secara horizontal terjadi perubahan pada saat j=1 dan y=2 kemudian dilanjutkan langkah 2. Secara vertikal terjadi perubahan nilai pada saat j=3 dan y=2 dimana pada saat y=3 , benda yang terpilih adalah x4. Selanjutnya sisa kapasitas =0 maka konstruksi solusi optimal berakhir.

4. Konstruksi optimal benda yang terpilih kedalam knapsack adalah benda 1 dan benda 4 atau x1 dan x4.

IV.HASILDANPEMBAHASAN

Pada permasalahan ini data yang digunakan adalah nilai kolesterol dan nilai kalori. Jumlah kalori mempunyai batasan toleransi diantara batasan minmal dan maksimal. Kedua data tersebut berhubungan antara satu dengan lainnya, sebagai contoh diet pada penyakit Dislipidemia [1]. Penyakit tersebut mengharuskan penderita mengontrol kalori yang dikonsumsi dengan kolestrol seminimal mungkin. Knapsack 0/1 dengan batasan minmax ini tidak harus digunakan pada nilai kalori dan nilai kolesterol makanan saja, akan tetapi tergantung dari jenis penyakitnya dan angka kebutuhan gizi masing-masing penderita. Menurut [4] sebagian daftar makanan yang mempunyai nilai kalori dan kolesterol ditunjukkan pada tabel 6.

Pada uji coba data yang dimasukkan untuk permasalahan ini sebesar 1000 kalori untuk batasan minimal dan batasan maksimal sebesar 1100 kalori. Data makanan yang dimasukkan kedalam basisdata adalah dari data tabel 6.

Langkah selanjutnya melakukan perhitungan solusi optimal pada. Semua kemungkinan dari kapasitas y=1 sampai y= 1100 (batas kalori maksimal). Hasil perhitungan solusi optimal ditunjukkan pada Tabel 7. Pada hasil perhitungan solusi optimal dengan pendekatan maju, pada saat g0(M) [5] atau g10(1100) terlihat bahwa hasil akhir nilai minimal kolestrol sebesar 115.43 mg dan hasil akhir nilai maksimal kalorinya sebesar 1078.80 kkal. Nilai kalestrol tersebut menunjukkan nilai total minimum yang diperoleh pada batasan kalori diantara 1000 dan 1100 kkal. Nilai solusi optimum jumlah kalori yang

dihasilkan diantara batasan toleransi adalah sebesar 1078.80 kkal.

TABEL VI. JENIS MAKANAN DENGAN NILAI KALORIDAN

NILAI KOLESTROL

Hasil konstruksi solusi optimal ditunjukkan pada Tabel 8. Daftar makanan ditampilkan sesuai dengan pendekatan maju atau forward dari no urutan akhir ke awal. Urutan item disesuaikan dengan no urut item sebelum dilakukan proses perhitungan solusi optimal. Kapasitas kalori disesuaikan dengan kebutuhan masing-masing penderita penyakit tertentu. PAda contoh penerapan tersebut kemungkinan kalori yang diperlukan lebih rendah sehingga komposisi makanan yang diperbolehkan juga akan lebih sedikit. Hal ini disebabkan penentuan kalori yang diperbolehkan bergantung pada jenis penyakit itu sendiri dan faktor-faktor pendukung lainnya seperti karbohidrat, lemak, protein, vitamin dan mineral.

TABEL VII

HASIL PERHITUNGAN SOLUSI OPTIMAL DARI BERBAGAI JENIS

(6)

270

TABEL VIII. HASIL KONSTRUKSI SOLUSI OPTIMAL JENIS MAKANAN

YANG TERPILIH.

V.KESIMPULAN

Berdasarkan pembahasan pada bab-bab sebelumnya maka diambil kesimpulan sebagai berikut:

1. Knapsack 0/1 dengan konstrain min-max dapat diselesaikan dengan menggunakan dynamic programming dengan solusi optimal total nilai minimal item pada saat batasan minimal terpenuhi tanpa melebihi batasan kapasitas maksimal yang telah ditentukan.

2. Knapsack 0/1 dengan konstrain min-max dapat diterapkan pada permasalahan menentukan komposisi makanan yang meminimalkan jumlah kolestrol dimana jumlah kalorinya mempunyai batasan minimal dengan tidak melebihi batasan maksimal kalori yang telah ditentukan pada penderita penyakit tertentu.

3. Persamaan rekursif untuk perhitungan solusi optimal permasalahan integer knapsack dengan konstrain minmax yaitu apabila berat item lebih besar dari kapasitas ke y maka solusi optimal tahap ke y merupakan solusi optimal tahap sebelumnya jika tidak maka solusi optimal untuk meminimalkan nilai total item dilakukan pada kondisi lebih besar sama dengan batasan kapasitas minimal.

4. Penelusuran konstruksi solusi optimal untuk masalah knapsack 0/1 dengan konstrain min-max dilakukan dalam beberapa langkah:

a. Penelusuran dari tahap akhir atau g0(M2) dimana n adalah jumlah item dan M2 adalah batasan kapasitas maksimal yang dilakukan secara horisontal ke tahap kapasitas sebelumnya atau M2 -1 hingga terjadi perubahan nilai, selanjutnya dilakukan penelusuran langkah kedua.

b. Penelusuran dari hasil langkah pertama dibandingkan dengan nilai tahap sebelumnya atau item sesudahnya (j+1) secara vertikal, apabila terjadi perubahan nilai maka item tersebut merupakan item yang terpilih dan dilanjutkan dengan sisa kapasitas dari item yang terpilih dikurangi berat item ke j. Kemudian penelusuran dilakukan kembali ke langkah 1.

5. Hasil penelitian pada permasalahan komposisi makanan dengan batasan minial dan maksimal kalori yang diperlukan dimana total kalesterolnya paling minimal, dapat diterapkan dengan hasil optimum sehingga memudahkan untuk mengetahui alternatif kombinasi makanan tersebut.

DAFTARPUSTAKA

[1]. Almatsier, S., 2005, Penuntun Diet, PT Gramedia pustaka Utama.

[2]. Bassard, G. and Bratley, P., 1996, Fundamentals of Algorithmics, Prentice Hall Inc.

[3]. Cormen, T.H., Leiserson, C.E., Rivest, R.L. and Stein, C.,2001, Introduction to Algorithms, 2nd Edition, Massachusetts Institute of Technology Press, 323 - 356. [4]. Dewi, A.B., 2009, Menu Sehat 30 hari, PT AgroMedia

Pustaka.

[5]. Horowitz, E. and Sahni, S., 1988, Fundamentals of Computer Algorithms, Computer Science Press Maryland.

[6]. Munir, R., 2004, Algoritma Knapsack, Bahan Kuliah Kriptografi, Departemen Teknik Informatika, Institute Tehnologi Bandung.

[7]. Pisinger, D., 2003, Where are the hard knapsack problems, Computers and operation research Vol 32 (2005), 2271-2284.

[8]. Rahajoe, A.D., Winarko, E., 2013, “Optimal Solution of Minmax 0/1 Knapsack Problem Using Dynamic Programming”, IAES Journal (Institute of Advance Engineering and Science), Vol. 2, No. 1, 2013

[9]. Rolfe, J. T., 2007, An Alternative Dynamic Programming Solution for the 0/1 Knapsack, ACM SIGCSE bulletin Vol 39,54-56.

Gambar

Tabel  3  menunjukkan  item  1  termuat  pada  saat  y=3  akan  tetapi  pada  saat  y=5,  nilai  g 1 (5)  lebih  kecil  daripada  g 1 (5-3)  +  20  sehingga  solusi  optimal  pada  saat  y=5  adalah  35  dengan  item  1  dan  item  2  yang  terpilih
TABEL V . P ERHITUNGAN SOLUSI OPTIMAL KNAPSACK  0/1 DENGAN KONSTRAIN MINMAX
TABEL VI. J ENIS  M AKANAN  D ENGAN  N ILAI  K ALORI D AN  N ILAI  K OLESTROL
TABEL VIII. H ASIL  K ONSTRUKSI  S OLUSI  O PTIMAL  J ENIS  M AKANAN  Y ANG  T ERPILIH

Referensi

Dokumen terkait

Berdasarkan Persamaan (1), Transformasi Laplace dapat mentransformasikan beberapa persamaan fungsi-fungsi sederhana seperti pada Contoh 1. Contoh 1 Transformasi Laplace

Kaum dhuaa  a#alah "l"nan manusia yan hi#up #alam kemiskinan, kesensaraan, kelemahan, ketakber#ayaan, ketertin#asan, #an pen#eritaan yan tia#a putus. )i#up

Sbg contoh fungsi pada Contoh 1 merupakan Sbg contoh, fungsi pada Contoh 1 merupakan fungsi yang kontinu pada [‐1,2], shg mempunyai nilai maksimum dan minimum pada [‐1 2].

Hasil penelitian ini menunjukkan bahwa internal audit yang dilaksanakan pada PNPM Mandiri Perkotaan di Kecamatan Kalianget sudah cukup memadai dalam deteksi dan

membuat masyakarat Indonesia pantas prihatin.Untuk mengatasi permasalahan tersebut, nilai-nilai positif harus ditanamkan dalam rangka membangun bangsa agar bangsa

manual, namun salah. Pilih ulang jenis jaringan berdasarkan jenis SIM/USIM card yang digunakan. Terkoneksi ke Internet, namun tidak bias membuka halaman website apa pun.

Puji syukur peneliti panjat kan kepada Allah Subhanahu Wata’ala karena atas rahmat-Nya peneliti mampu menyelesaikan penyusunan tugas akhir yang berjudul

pada tayangan video, dilanjutkan dengan paparan materi oleh fasilitator tentang Konsep Pendekatan Scientific dengan menggunakan PPT-2.1-1 dan Contoh Penerapan Pendekatan