Fakultas Ilmu Komputer
754
Optimasi Komposisi Makanan untuk Penderita Hipertensi Menggunakan
Variable Neighborhood Search
Aprilia Nur Fauziyah1, Wayan Firdaus Mahmudy2
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1nfapril7@gmail.com, 2wayanfm@ub.ac.id
Abstrak
Hipertensi merupakan gejala utama penyebab penyakit lain muncul seperti penyakit tidak menular, kanker, diabetes. Salah satu upaya hidup sehat pada penderita hipertensi yaitu konsumsi makanan sehat yang memperhatikan kadar garam dalam makanan. Komposisi makanan dengan memperhatikan kadar garam dan sekaligus biaya pada makanan dapat dilakukan menggunakaan algoritme Variable Neighborhood Search (VNS). Data yang digunakan pada penelitian ini yaitu 103 data makanan yang terdiri dari makanan pokok, sayur, sumber nabati, sumber hewani dan buah. VNS mempunyai 3 tahap setelah membangkitkan solusi awal yaitu shaking, local search dan move or not. Hasil pengujian menunjukkan bahwa rata-rata fitness tertinggi sebesar yaitu 0.516848 dengan nilai Kmax = 13 dan rata-rata fitness terbesar yaitu 0.524301 dengan jumlah iterasi local search 2000. Jumlah Kmax dan iterasi
local search yang terlalu banyak tidak menjamin solusi dengan fitness yang besar diperoleh namun jumlah Kmax atau iterasi local search yang banyak dapat memberikan kesempatan pencarian yang lebih luas. Hasil dari penelitian berupa komposisi makanan dengan kandungan gizi yang mendekati kebutuhan penderita hipertensi dengan memperhatikan kadar garam natrium dan biaya minimal dalam waktu sehari.
Kata kunci: variable neighborhood search, optimasi, komposisi makanan, hipertensi Abstract
Hypertension is a major symptom that cause other diseases appear such as noncommunicable diseases, cancer, and diabetes. One of healthy life effort in the patients with hypertension is a healthy food that attentions level of salt in foods. The food composition with attentions level of salt and cost of the food can use Variable Neighborhood Search (VNS) algorithm. The data which are used for this study are 103 data food that consists of staple foods, vegetables, vegetable sources, animal sources and fruits. VNS have 3 stages after generate initial solution, there are shaking, local search and move or not. The results of Kmax and local search’s testing show that the average of highest fitness is 0.516848 with Kmax = 13 and the highest average fitness is 0.524301with 2000 iterations. Kmax and local search iterations that too much not guarantee a solution with great fitness is obtained but many Kmax numbers or local search iterations can give wider search opportunities. The result of this study contains composition of foods with nutrients which are close to the needs of hypertension patients with attentions the natrium and minimal cost within a day.
Keywords: variable neighborhood search, optimization, food composition, hypertension
1. PENDAHULUAN
Tekanan darah tinggi atau hipertensi disebabkan tingginya tekanan darah sistole atau diastole didalam tubuh seseorang yaitu tekanan darah sistole lebih dari sama dengan 140 mmHg dan tekanan darah diastole lebih dari sama dengan 90 mmHg (WHO, 2013). Tekanan darah tinggi termasuk jenis penyakit silent killer yang
dapat menyebabkan kematian tanpa sering diketahui gejalanya, selain itu tekanan darah tinggi merupakan faktor metabolistik yang menyebabkan berbagai penyakit tidak menular muncul di Asia Tenggara seperti kardiovaskular, kanker, penyakit pernapasan, dan diabetes (WHO, 2011).
menular, sedangkan pada tahun 2007 penyebab utama kematian adalah penyakit tidak menular (PTM). Hipertensi termasuk jenis penyakit tidak menular. Indonesia mempunyai presentase penderita hipertensi tertinggi pada orang dewasa setelah Myanmar dalam lingkup Asia Tenggara (WHO, 2011). Daerah di Indonesia dengan penderita hipertensi terbanyak misalnya di kota Malang dengan jumlah 58.046 kasus (Dinas Kesehatan Kota Malang, 2014). Hal yang sama juga terjadi di kabupaten Klaten, hipertensi merupakan penyakit yang diderita terbanyak diantara penyakit tidak menular lainnya yaitu 42.375 jiwa untuk hipertensi essensial dan 17.204 jiwa untuk jenis hipertensi yang lain (Dinas Kesehatan Kabupaten Klaten, 2013).
Penelitian tentang prevalensi hipertensi telah banyak dilakukan di Indonesia yang menunjukkan hipertensi merupakan masalah kesehatan masyarakat yang diperlukan penanganan secara optimal agar mengurangi mortalitas dan morbiditas (Mustamin, 2010), selain itu penanganan yang segera dilakukan bertujuan untuk menghindari penyakit menjadi lebih parah (Rahman, 2016). Konsumsi terlalu banyak garam, alkohol, obesitas, kurangnya olahraga yang kemudian berakumulasi dengan faktor usia merupakan pemicu meningkatnya tekanan darah (WHO, 2009), oleh karena itu penanganan pada penderita hipertensi salah satunya dapat dilakukan dengan konsumsi makanan sehat yang rendah garam dan lebih banyak aktifitas fisik (American Heart Association, 2014). Selain itu, menurut ahli gizi, penyebab tingginya kasus hipertensi di Indonesia salah satunya adalah kurangnya pengetahuan penderita tentang pemenuhan gizi dari komposisi makanan yang dikonsumsi pada setiap harinya.
Penyusunan komposisi makanan untuk penderita hipertensi dapat dilakukan dengan cara manual atau dengan menggunakan software. Penyusunan makanan dengan cara manual lebih sulit dilakukan karena jumlah kalori dalam komposisi makanan harus disesuaikan dengan kebutuhan penderita, sedangkan penyusunan makanan dengan software dapat dilakukan lebih mudah yaitu dengan menggunakan optimasi dapat dilakukan pencarian komposisi makanan yang lebih disesuaikan dengan kebutuhan asupan gizi penderita hipertensi.
Penelitian sebelumnya tentang optimasi komposisi makanan untuk penderita hipertensi pernah dilakukan oleh Iwuji, et al (2016) dengan menerapkan metode linear programming. Pada
penelitian tersebut, batasan (constraint) diberlakukan pada setiap nutrisi yang harus dikontrol dimana setiap batasan mempunyai model matematika masing-masing. Penggunaan linear programming menyebabkan terdapat banyak pembatas (constraint) dan model matematika sehingga menyebabkan perhitungan yang tidak praktis dan panjang (Taha, 1993 dalam Mahmudy, 2006). Permasalahan tersebut dapat diatasi dengan penggunaan metode metaheuristik.
Penggunaan metode metaheuristik pada optimasi komposisi makanan telah dilakukan sebelumnya dengan menerapkan algoritma genetika. Penelitian sebelumnya dilakukan oleh Pratiwi, et al (2014) tentang optimasi biaya pemenuhan kebutuhan gizi. Hasil penelitian ini diperoleh parameter optimal yaitu banyak generasi sebesar 500 generasi, dan banyak populasi yaitu 40 populasi, nilai probabilitas crossover dan probabilitas mutasi yaitu 0,4 dan 0,6. Penggunaaan algoritma genetika juga dilakukan pada optimasi komposisi makanan untuk penderita diabetes melitus oleh Rianawati & Mahmudy (2015). Pada penelitian ini menerapkan single-point crossover, reciprocal exchange mutation dan elitism selection. Hasil penelitian ini menjelaskan ukuran populasi yang optimal sebesar 160 individu, ukuran generasi yang optimal yaitu 100 generasi dan kombinasi cr dan mr sebesar 0.4 dan 0.6. Sari, et al (2014) juga menerapkan metode algoritma genetika untuk optimasi asupan gizi pada ibu hamil. Pada penelitian ini menggunakan single point crossover, reciprocal exchange mutation, dan
elitism selection. Hasil dari pengujian didapatkan bahwa ukuran populasi dengan nilai
fitness tertinggi yaitu 150, jumlah generasi 1500, nilai probabilitas crossover 0,4 dan probabilitas mutasi 0,6. Penggunaan algoritma genetika pada beberapa penelitian optimasi komposisi makanan sudah banyak diterapkan dan memberikan hasil yang optimal. Namun disisi lain pada algoritma genetika terdapat banyak parameter yang digunakan sehingga diperlukan waktu yang lebih lama dalam menentukan nilai parameter yang optimal, seperti ukuran populasi, jumlah generasi dan kombinasi cr dan mr.
Pada VNS terdapat beberapa fase yaitu fase
Shaking, teknik local search dan fase peningkatan (Move or Not). VNS berhasil menyelesaikan permasalahan pada beberapa penelitian seperti permasalahan penjadwalan (Expósito-Izquierdo, et al., 2011), (Aziz, et al., 2012), optimasi peningkatan struktur beton (Torres-Machi, et al., 2013), dan permasalahan pada Flexible Manufacturing System (FMS) (Mahmudy, 2015).
Berdasarkan pentingnya optimasi komposisi makanan untuk penderita hipertensi dan algoritme VNS yang sederhana serta dapat menyelesaikan beberapa permasalahan, maka pada penelitian ini penulis mangajukan optimasi komposisi makanan untuk penderita hipertensi menggunakan Variable Neighborhood Search.
2. NUTRISI UNTUK PENDERITA
HIPERTENSI
Penyusunan komposisi makanan pada penderita hipertensi diharapkan dapat menurunkan tekanan darah. Rata-rata penurunan konsumsi natrium sebanyak ± 1,8 gram/hari dapat menyebabkan tekanan darah sistole menurun sebesar 4 mmHg dan diastole 2 mmHg. Pada penderita hipertensi konsumsi garam dapur harus kurang dari 1⁄4 - 1⁄2 sendok teh/hari. Anjuran diet rendah garam I (200-400 mg Natrium) untuk hipertensi berat dan tidak menambahkan garam didalam masakan. Diet rendah garam II (600-800 mg Natrium) untuk hipertensi yang tidak terlalu berat. Sedangkan untuk hipertensi berat berlaku diet garam III (1000-1200 mg Natrium) (Wahyuningsih, 2013). Berdasarkan JNC VII tekanan darah dapat diklasifikasikan dalam 4 kategori seperti yang ditunjukkan oleh Tabel 1.
Tabel 1. Klasifikasi Tekanan Darah Klasifikasi Prehipertensi 120-139 atau 80-89
Hipertensi
stage 1 140-159 atau 90-99 Hipertensi
stage 2 ≥ 160 atau ≥ 100
Perhitungan kebutuhan energi dan zat gizi dapat dilakukan dengan langkah sebagai berikut: a. Menghitung Indeks Massa Tubuh (IMT)
dan berat badan ideal (BBI).
b. Menghitung Basal Metabolic Rate (BMR)
Untuk menghitung BMR dapat dilakukan dengan persamaan 1 jika penderita hipertensi laki-laki atau persamaan 2 untuk penderita hipertensi perempuan.
c. Menghitung Kebutuhan Energi
Kebutuhan energi dihitung menggunakan persamaan 3. Didalam kebutuhan total energi dipengaruhi oleh BMR, faktor aktivitas seseorang dan faktor stress. Penentuan faktor aktivitas ditunjukkan oleh Tabel 2 dan faktor stress ditunjukan oleh Tabel 3.
Kebutuhan total energi = BMR× Faktor Aktivitas×Faktor Stress (3)
Tabel 2. Faktor Aktivitas
Aktivitas Laki-laki Perempuan
Sangat ringan 1,30 1,30
Ringan 1,65 1,55
Sedang 1,76 1,70
Berat 2,10 2,00
Sumber: Almatsier (2006)
Tabel 3. Faktor Angka Stress
Jenis Stress Faktor
Stress
Tidak ada strees, pasien dalam
kondisi baik 1,3
Stress ringan 1,4
Stress sedang 1,5 Stress berat 1,6 Stress sangat berat 1,7
Luka bakar parah 2,1
Sumber: Almatsier (2006)
d. Kebutuhan penderita hipertensi
Kebutuhan karbohidrat = 65% ×
kebutuhan total energi (4) Kebutuhan protein = 15% ×
kebutuhan total energi (5) Kebutuhan lemak= 20% ×
kebutuhan total energi (6)
3. VARIABLE NEIGHBORHOOD
SEARCH
Metaheuristik yang sederhana dan efektif dapat diperoleh melalui pemrosesan perubahan sistematis dalam local search. Pada tahun 1997, Hansen dan Mladenovic mengusulkan Variable Neighborhood Search (VNS) sebagai algoritme yang berbasis metaheuristik. VNS mengeksplor tetangga dari solusi incumbent mutakhir. Sebagian besar solusi yang sudah pada nilai optimal akan disimpan dan digunakan untuk mendapatkan solusi tetangga yang menjanjikan (Mladenovic & Hansen, 1997). Langkah-langkah VNS diawali dengan inisialisasi solusi kemudian shaking, local search dan move or not
(Hansen & Mladenovic, 2001). VNS mengiterasi teknik local search dimana pada setiap iterasi
local search mengeksplor ruang pencarian dari
starting point baru yang ditentukan dengan struktur tetangga. Struktur tetangga ini berfungsi untuk menghasilkan kandidat solusi dengan merubah inisial solusi atau solusi mutakhir (Mahmudy, 2015). Solusi yang telah mengalami perubahan akan digunakan sebagai kandidat solusi hanya jika telah terjadi peningkatan solusi yang lebih baik (Papalitsas, et al., 2015). Langkah-langkah yang digunakan pada VNS sebagian besar menggunakan iterasi sampai mendapatkan kondisi berhenti yang memuaskan. Nilai Kmax yang besar akan memberikan solusi yang lebih baik meskipun, membutuhkan waktu komputasi yang tinggi (Mahmudy, 2015).
4. METODE PENELITIAN
a. Pengumpulan Data
Data yang digunakan pada penelitian ini berupa data sekunder, antara lain:
1. Data makanan dengan kandungan zat gizinya yang diperoleh dari software Nutri Survey 2007.
2. Data penderita hipertensi dengan usia lebih dari 18 tahun.
b. Siklus Penyelesaian Masalah
Langkah-langkah yang digunakan pada penyelesaian permasalahan komposisi makanan
menggunakan VNS ditunjukkan oleh diagram alir Gambar 1.
Gambar 1. Diagram Alir Sistem
Langkah pertama yang harus dilakukan pada penyelesaian permaslahan komposisi makanan yaitu menghitung kebutuhan gizi penderita hipertensi, selanjutnya proses pencarian solusi komposisi makanan diselesaikan menggunakan metode VNS. Komposisi makanan berupa bahan makanan direpresentasikan dengan bilangan integer yang akan dikodekan sesuai indeks bahan makananan yang terdapat di data bahan makanan. Representasi komposisi makanan ditunjukkan oleh Tabel 4.
Tabel 4. Representasi Solusi
Keterangan: PK = Makanan pokok S = Sayur
N = Sumber nabati H = Sumber hewani B = Buah
Langkah-langkah algoritma VNS digambarkan pada diagram alir Gambar 2.
Jenis menu
Makan pagi
Makan siang
Makan malam
PK 3 1 2
S 1 3 10
N 2 12 11
H 16 6 3
B 16 18 26
Selesai Mulai
Input data penderita hipertensi, nilai Kmax dan
iterasi local search
Hitung kebutuhan energi dan zat gizi
Variable Neighborhood
Search
Output kebutuhan energi zat gizi dan optimasi hasil
Gambar 2. Flowchart VNS
Berdasarkan diagram alir pada Gambar 2, langakah-langkah algoritma VNS pada penyelesaian skripsi ini, yaitu:
1. Set k = 1.
2. Membangkitkan solusi awal (x) secara acak.
3. Mengulangi langkah-langkah berikut sampai k = Kmax:
a. Tahap shaking
Solusi pada tahap shaking (x’)
diperoleh dengan menukar (exchange) solusi x sebanyak jumlah tetangga secara random.
Tabel 5. Solusi Sebelum Dilakukan Shaking
Jenis menu
Makan Pagi
Makan siang
Makan malam
PK 3 13 22
S 1 3 10
N 2 12 11
H 16 6 3
B 16 18 20
Tabel 6. Solusi Setelah Dilakukan Shaking
Diagram alir pertukaran pada tahap
shaking ditunjukkan oleh Gambar 3. Jenis menu Makan
Pagi
Makan siang
Makan malam
PK 3 20 13
S 1 3 10
N 2 12 11
H 16 6 3
B 16 18 22
Mulai
Tentukan nilai Kmax
x = x’’ k = 1
x = x k = k+1
k = Kmax
Selesai Ya
Tidak
Bangkitkan solusi awal secara acak (x)
Ya x’’ > x
Tidak Shaking (x’)
Local search (x’’)
Mulai
Nilai tentangga k Solusi awal
pilih gen [i] pointer[i] I=0, I < jumlah
tetangga k
tidak ya
gen=genAll[k] pointer=pointer[k]
solusitemp[gen[pointer[index]]]=solusi[gen[pointer[index]]]
solusi[gen[pointer[0]]] = solusi[gen[pointer[k - 1]]] index=0;index< jumlah
tetangga k-1
solusi[gen[pointer[0]]] = solusi[gen[pointer[k - 1]]]
ind = 1, ind < jumlah tetangga
x = 0, x < jumlah tetangga -1
solusi[gen[pointer[ind]]] = solusitemp[pointer[gen[x]]]
tidak
ya solusi[gen[point
Gambar 3. Flowchart Shaking
b. Tahap local search
Tahap ini menggunakan solusi dari tahap
shaking (x’) sebagai solusi awal. Perubahan
nilai x berada pada rentang sekitar nilai x awal dengan nilai peubah 1. Pada tahap
local search dilakukan perbandingan
fitness solusi pada iterasi sebelumnya dengan fitness dari solusi mutakhir pada setiap iterasi untuk dicari solusi yang lebih baik. Diagram alir tahap local search
ditunjukkan oleh Gambar 4.
Contoh mekanisme tahap local search
ditunjukkan oleh Tabel 7 dan Tabel 8.
Tabel 7. Solusi Sebelum Dilakukan Local Search
Jenis menu
Makan Pagi
Makan siang
Makan malam
PK 3 20 13
S 1 3 10
N 2 12 11
H 16 6 3
B 16 18 22
Tabel 8. Solusi Setelah Dilakukan Local Search
Jenis menu
Makan Pagi
Makan siang
Makan malam
PK 3 20 13
S 1 3 10
N 2 12 11
H 16 6 3
B 16 18 21
Gambar 4. Flowchart Local search
c. Tahap Move or Not.
Mekanisme pada tahap ini yaitu membandingkan fitness antara solusi awal dengan hasil solusi local search (x’’). Jika fitness solusi awal lebih baik maka solusi awal digunakan sebagai solusi selanjutnya dan merubah nilai k = 1, sebaliknya jika solusi dari local search lebih baik daripada solusi awal maka solusi local search yang akan digunakan sebagai solusi selanjutnya dan merubah nilai k menjadi k = k+1. Diagaram alir tahap Move or Not
ditunjukkan oleh Gambar 5
Mulai
Nilai iterasi local search, Solusi awal (solusi Shaking)
i=1 sampai jumlah iterasi local
search
tidak
Pilih gen x [i]
Solusi local search
Selesai Ubah gen x [i]
x’= x+1 atau x’ =x-1
Ganti solusi awal = solusi dari local search Fitness solusi awal
> fitness solusi hasil perubahan local search
Solusi awal = solusi awal ya
tidak solusiShaking[gen[pointer[i]]] =
solusi[gen[pointer[i]]]
solusiShaking
Selesai
Mulai
Fitness solusi awal, Fitness solusi local search, k=1
Ganti solusi awal = solusi hasil local search
k = 1
ya
tidak
Ganti solusi awal = solusi
awal k = k+1 Fitness solusi
awal [k]> fitness solusi hasil local
Gambar 5. Flowchart Move or Not
Pada skripsi ini dilakukan optimasi kebutuhan zat gizi dengan memperhatikan kebutuhan jumlah zat gizi dan natrium serta biaya minimal. Kualitas suatu solusi dapat dilihat dari nilai fitness. Fitness semakin besar menghasilkan solusi yang semakin baik. Fitness
yang digunakan pada penelitian ini yaitu, sebagai berikut:
𝐹𝑖𝑡𝑛𝑒𝑠𝑠 = 10000
(𝑡𝑜𝑡𝑎𝑙 𝑝𝑒𝑛𝑎𝑙𝑡𝑖 ∗ 𝐶) + 𝑡𝑜𝑡𝑎𝑙 ℎ𝑎𝑟𝑔𝑎 Total penalti pada perhitungan fitness
tersebut merupakan selisih kebutuhan gizi penderita hipertensi. Sedangkan total harga merupakan penjumlahan seluruh harga makanan pada satu solusi.
5. HASIL DAN PEMBAHASAN
a. Hasil dan Analisis Pengujian Kmax Parameter Kmax diuji dengan simulasi sebanyak 5 kali percobaan. Skenario pengujian dilakukan dari Kmax = 1 sampai Kmax = 15 dengan iterasi local search 2000. Hasil pengujian jumlah Kmax ditunjukkan oleh Gambar 6.
Gambar 6. Grafik Pengujian Jumlah Kmax
Grafik hasil pengujian jumlah Kmax
terhadap nilai fitness ditunjukkan oleh Gambar
6. Rata-rata nilai fitness tertinggi pada pengujian yaitu 0.516848 dengan Kmax = 13. Hasil pengujian menunjukkan rata-rata nilai fitness cenderung mengalami fluktuasi. Tetapi secara umum semakin besar nilai Kmax menghasilkan hasil yang lebih baik karena memungkinkan VNS mencari solusi pada ruang pencarian yang lebih luas (Mahmudy, 2015). Faktor lain yang mempengaruhi hasil selama pencarian yaitu terdapat peluang perubahan solusi terbaik pada setiap tetangga K pada tahap Move Or Not untuk seleksi fitness antara fitnesslocal search dengan
fitness solusi awal sehingga jika fitness local search lebih baik daripada fitness solusi awal maka pencarian dilakukan kembali pada tetangga k=1 sampai tidak ada fitness yang lebih baik lagi dari tahap local search maka dilanjutkan pada tetangga k=k+1 namun jika pada tetangga k yang bukan 1 ditemukan solusi yang lebih baik lagi dari hasil local search maka dilakukan pencarian kembali dari tetangga k=1. Hal ini menjamin bahwa pada setiap pencarian solusi terbaik ditelusuri pada setiap tetangga k
sampai tetangga k = Kmax dan solusi dari local search tidak menghasilkan fitness yang lebih baik daripada solusi awal.
Penurunan pada titik tertentu pada grafik Gambar 6 disebabkan karena solusi awal yang digunakan berbeda-beda yaitu berdasarkan bilangan acak antara percobaan satu dengan yang lainnya sehingga hasil solusi dan nilai
fitness pada setiap percobaan berbeda-beda. Perilaku struktur tetangga exchange melakukan perubahan lebih banyak pada solusi di area jumlah tetangga yang lebih besar karena perubahan solusi bergantung pada banyaknya jumlah tetangga.
b. Hasil dan Analisis Pengujian Iterasi Local search
Setiap pengujian iterasi dilakukan percobaan selama 5 kali percobaan dengan percobaan iterasi 250 sampai 2000. Hasil pengujian jumlah iterasi local search ditunjukkan oleh Gambar 7.
0 0,1 0,2 0,3 0,4 0,5 0,6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R
at
a
-r
at
a
fi
tn
ess
Jumlah Kmax Grafik Hasil Pengujian Kmax
Solusi
Selesai k<=Kmax ya
Gambar 7. Grafik Hasil Pengujian Iterasi Local search
Hasil pengujian jumlah iterasi local search
ditunjukkan oleh Gambar 7. Hasil pengujian jumlah iterasilocal search terhadap nilai fitness
menunjukkan bahwa nilai fitness mengalami peningkatan namun mengalami penurunan pada
iterasi tertentu yaitu iterasi 750, 1500 dan 1750. Grafik menunjukkan bahwa rata-rata fitness
tertinggi pada penggunaan iterasi 2000 yaitu 0.524301 dengan perubahan rata-rata nilai
fitness yang kecil. Hasil pengujian menunjukkan bahwa semakin banyak iterasilocal search tidak menjamin semakin baik nilai fitnessnya (dalam percobaan berbeda), hanya saja semakin banyak
iterasi local search memberikan peluang yang lebih besar terhadap pencarian solusi terbaik dimana bergantung pada perubahan solusi dari solusi terbaik pada iterasi local search
sebelumnya dengan perubahan fitness yang tidak terlalu besar. Namun dalam satu percobaan semakin bertambah iterasi semakin memberikan solusi dengan nilai fitness lebih besar karena solusi terbaik dalam setiap iterasi selalu dipilih untuk solusi awal pada iterasi selanjutnya dengan waktu komputasi yang lebih lama. Selain itu, semakin banyak iterasilocal search semakin memberikan peluang juga terhadap seleksi
fitness yang terpilih dari pencarian solusi dari
local search.
c. Analisis Hasil
Pada sub bab analisis hasil ini dianalisis keterpenuhan kebutuhan gizi dari hasil rekomendasi sistem pada beberapa penderita hipertensi. Pengujian analisis hasil dilakukan dengan 3 kasus penderita hipertensi. Nilai parameter yang digunakan pada analisis hasil menggunakan nilai yang menghasilkan fitness
tertinggi pada pengujian yaitu Kmax = 13 dan iterasi local search = 2000. Hasil analisis pada 3 kasus ditunjukkan oleh Tabel 9.
Tabel 9. Analisis Hasil
Kas
Dari analisis hasil yang dilakukan terhadap 3 kasus dengan data penderita hipertensi yang berbeda-beda didapatkan kesimpulan bahwa hasil rekomendasi sistem berhasil memberikan kombinasi makanan rendah natrium yaitu tidak melebihi batas maksimum konsumsi natrium yang dibolehkan pada masing-masing penderita. Keterpenuhan gizi dari hasil sistem untuk pemenuhan kebutuhan kalori, karbohidrat, lemak dan protein masih dalam batas toleransi ±10% yang diperkenankan dalam penyusunan gizi dengan selisih yang tidak terlalu besar dengan kebutuhan gizi penderita. Namun keterpenuhan gizi hasil sistem tidak selalu menghasilkan rekomendasi yang sesuai dengan kebutuhan gizi penderita. Hal ini dikarenakan nilai kriteria pada penalti setiap zat gizi dan besarnya variabel harga mempengarui nilai
fitness yang diperoleh. Tetapi secara umum hasil sistem memberikan total gizi yang masih dalam batas toleransi ±10% yang diperkenankan dalam penyusunan gizi sehingga disimpulkan hasil sistem memenuhi kebutuhan gizi penderita hipertensi secara optimal.
6. KESIMPULAN DAN SARAN
a. Kesimpulan
Kesimpulan dari penelitian tentang optimasi komposisi makanan untuk pnderita hipertensi yaitu, sebagai berikut:
1. Sistem optimasi komposisi makanan untuk penderita hipertensi dirancang dan dibangun dengan menggunakan algoritma
Variable Neighboorhood Search (VNS). Pada sistem ini membutuhkan data diri penderita hipertensi dan nilai parameter algoritma VNS sebagai inputan awal untuk dilakukan pencarian solusi.
2. Pada metode VNS terdapat 4 tahap yaitu inisialisasi solusi awal, Shaking, Local search, dan Move or Not. Inisialisasi solusi awal dilakukan dengan merandom bilangan integer sebanyak 15 sesuai dengan jenis makanan yang akan digunakan dalam 1 hari atau 3 waktu yaitu pagi, siang, dan sore/malam. Kemudian pada tahap shaking,
0
250 500 750 1000 1250 1500 1750 2000
R
solusi awal dilakukan perubahan menggunakan struktur tetangga exchange
sebanyak jumlah tetangga. Setelah itu, pada tahap local search dilakukan perubahan kembali tetapi perubahannya masih dalam rentang dari gen awal. Pada tahap local search dilakukan perbandingan nilai fitness
antara solusi dari shaking dengan fitness
solusi dari local search. Fitness yang terbaik akan dilakukan perbandingan fitness
kembali dengan fitness solusi awal di tahap
Move or Not, jika fitness terbaik dari solusi
local search (fitness antara local search
dengan shaking) lebih baik maka solusi dari perbandingan di local search digunakan sebagai solusi awal.
3. Solusi tetangga didefinisikan dengan perubahan tetangga secara bergantian. Solusi terbaik pada setiap tetangga akan digunakan sebagai solusi awal tetangga selanjutnya. Mekanisme perubahan tetangga terdapat pada tahap Move or Not
yaitu jika fitness local best lebih baik daripada solusi awal maka tetap dilakukan pencarian di tetangga k=1 namun sebaliknya jika fitness solusi awal lebih baik daripada fitness solusi local best maka solusi awal digunakan sebagai solusi awal pada tetangga selanjutnya yaitu k=k+1. Jika pada tetangga bukan k = 1 ditemukan kembali fitness solusi local best lebih baik daripada solusi awal maka pencarian dilakukan kembali di tetangga k=1, jika tidak maka berpindah ke tetangga lain
k=k+1.
4. Hasil pengujian menunjukkan rata-rata fitness tertinggi yaitu 0.516848 dengan nilai
Kmax = 13 dan rata-rata fitness tertinggi 0.524301 pada penggunaan iterasi local search 2000. Semakin banyak jumlah Kmax
dan iterasi local search maka semakin memberikan peluang yang lebih besar mendapatkan solusi yang lebih baik namun disisi lain dibutuhkan waktu yang lebih lama dalam proses pencarian solusi sehingga penggunaan jumlah Kmax dan iterasi local search yang cukup sudah menghasilkan solusi yang mendekati optimum karena perbedaan nilai fitness
tidak terlalu signifikan pada penggunaan jumlah Kmax dan iterasi local search yang terlalu banyak.
b. Saran
Sistem optimasi komposisi makanan untuk penderita hipertensi menggunakan VNS dapat dikembangkan lagi pada penelitian lebih lanjut. Berikut saran yang diberikan untuk penelitian lebih lanjut:
1. VNS telah efektif diterapkan dalam beberapa penelitian namun VNS kurang efisien dalam hal eksporasi. Untuk meningkatkan performa VNS ini dapat digabungkan dengan algoritma lain seperti algoritma genetika (N & Kobti, 2012). Penggabungan antara kedua algoritma tersebut biasa disebut Memetic Algorithm
(MA) di beberapa penelitian dan mampu menghasilkan solusi yang outperforms karena algoritma genetika mempunyai kelebihan dalam eksplorasi di ruang sousi sedangkan VNS mempunyai kelebihan dalam hal eksploitasi di ruang tersebut (Thanh & Binh, 2015).
2. Untuk komposisi makanan yang lebih variasi dapat ditambahkan perumusan
fitness yang dapat menghitung variasi gen yang terdapat didalam solusi.
3. Dapat digunakan jenis struktur tetangga yang lain.
4. Sistem dapat ditambahkan bukan hanya untuk penderita hipertensi saja namun bisa juga penderita hipertensi yang mempunyai penyakit komplikasi.
5. Data makanan yang digunakan dapat ditambahkan lebih banyak lagi agar semakin variasi komposisi makanannya.
6. Sistem dapat dikembangkan tidak hanya untuk konsumsi makanan dalam sehari.
DAFTAR PUSTAKA