Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 1, No. 9, Juni 2017, hlm. 754-764
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
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:
[email protected],
[email protected] 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 ratarata 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.524301 with 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
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). Di Indonesia penyebab utama kematian mengalami perubahan, pada tahun 1995 penyebab utama kematian adalah penyakit
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 Fakultas Ilmu Komputer Universitas Brawijaya
754
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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 Fakultas Ilmu Komputer, Universitas Brawijaya
755
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. Metode metaheuristik lainnya dengan jumlah parameter yang sedikit yaitu Variable Neighborhood Search (VNS). VNS termasuk metode yang sederhana karena hanya menggunakan dua parameter dalam pengimplementasiannya yaitu jumlah tetangga dan termination condition (Mahmudy, 2015).
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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.
Untuk menghitung BMR dapat dilakukan dengan persamaan 1 jika penderita hipertensi laki-laki atau persamaan 2 untuk penderita hipertensi perempuan.
c.
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.
Normal Prehipertensi Hipertensi stage 1 Hipertensi stage 2
Tekanan darah sistole
Penghub ung
Tekanan darah diastole
< 120 120-139
dan atau
< 80 80-89
140-159
atau
90-99
≥ 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) Fakultas Ilmu Komputer, Universitas Brawijaya
BMR laki-laki = 66,5 + (13,75×BB) + (5,003× TB ) – (6,755×U) (1) BMR perempuan = 655,1 + (9,563× BB) + (1,850×TB) − (4,676×U) (2) Keterangan: BB = Berat badan (kg) TB = Tinggi badan (cm) U = Usia (tahun) 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
Tabel 1. Klasifikasi Tekanan Darah Klasifikasi tekanan darah
756
Jenis Stress
Faktor Stress
Tidak ada strees, pasien dalam kondisi baik
1,3
Stress ringan
1,4
Stress sedang Stress berat Stress sangat berat
1,5 1,6 1,7
Luka bakar parah
2,1
Sumber: Almatsier (2006)
d.
Kebutuhan penderita hipertensi Menurut ahli gizi, pada penderita hipertensi dibutuhkan 65% karbohidrat, protein 15%, dan lemak 20% dari total kebutuhan energi. Kebutuhan zat gizi karbohidrat dihitung dengan persamaan 4, kebutuhan lemak dapat dihitung dengan persamaan 5, dan kebutuhan protein dapat dihitung menggunakan persamaan 6.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Kebutuhan karbohidrat = 65% × kebutuhan total energi Kebutuhan protein = 15% × kebutuhan total energi Kebutuhan lemak= 20% × kebutuhan total energi
(4)
757
menggunakan VNS ditunjukkan oleh diagram alir Gambar 1.
(5)
Mulai
(6)
Input data penderita hipertensi, nilai Kmax dan iterasi local search
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). Langkahlangkah 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
Fakultas Ilmu Komputer, Universitas Brawijaya
Hitung kebutuhan energi dan zat gizi
Variable Neighborhood Search
Output kebutuhan energi zat gizi dan optimasi hasil komposisi makanan
Selesai
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 Jenis menu PK S N H B
Makan pagi 3 1 2 16 16
Makan siang 1 3 12 6 18
Makan malam 2 10 11 3 26
Keterangan: PK = Makanan pokok S = Sayur N = Sumber nabati H = Sumber hewani B = Buah Langkah-langkah algoritma VNS digambarkan pada diagram alir Gambar 2.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
758 Tabel 6. Solusi Setelah Dilakukan Shaking
Mulai
Jenis menu PK S N H B
Tentukan nilai Kmax
Bangkitkan solusi awal secara acak (x)
Shaking (x’)
Makan Pagi 3 1 2 16 16
Makan siang 20 3 12 6 18
Makan malam 13 10 11 3 22
Diagram alir pertukaran pada tahap shaking ditunjukkan oleh Gambar 3.
Local search (x’’)
Mulai Ya
x’’ > x
x = x’’ k=1
Nilai tentangga k Solusi awal
Tidak x=x k = k+1
Tidak
I=0, I < jumlah tetangga k pilih gen [i] pointer[i]
k = Kmax Ya ya
Selesai
gen=genAll[k] pointer=pointer[k]
Gambar 2. Flowchart VNS tidak
Berdasarkan diagram alir pada Gambar 2, langakah-langkah algoritma VNS pada penyelesaian skripsi ini, yaitu: 1. Set k = 1. 2. 3.
Membangkitkan solusi awal (x) secara acak. Mengulangi langkah-langkah sampai k = Kmax: a.
berikut
index=0;index< jumlah tetangga k-1
solusitemp[gen[pointer[index]]]=solusi[gen[pointer[index]]]
solusi[gen[pointer[0]]] = solusi[gen[pointer[k - 1]]]
solusi[gen[pointer[0]]] = solusi[gen[pointer[k - 1]]] ind = 1, ind < jumlah tetangga
Tahap shaking Solusi pada tahap shaking (x’) diperoleh dengan menukar (exchange) solusi x sebanyak jumlah tetangga secara random.
x = 0, x < jumlah tetangga -1
solusi[gen[pointer[ind]]] = solusitemp[pointer[gen[x]]]
Tabel 5. Solusi Sebelum Dilakukan Shaking Jenis menu PK S N H B
Makan Pagi 3 1 2 16 16
Makan siang 13 3 12 6 18
Makan malam 22 10 11 3 20
tidak solusi[gen[point er[i]]]>batas
ya
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
759
solusiShaking[gen[pointer[i]]] = solusi[gen[pointer[i]]]
Pilih gen x [i]
solusiShaking
Ubah gen x [i] x’= x+1 atau x’ =x-1
Selesai Fitness solusi awal > fitness solusi hasil perubahan local search
Gambar 3. Flowchart Shaking
b.
Tahap local search
Tabel 7. Solusi Sebelum Dilakukan Local Search Jenis menu
Makan Pagi
Makan siang
Makan malam
PK S N H B
3 1 2 16 16
20 3 12 6 18
13 10 11 3 22
Tabel 8. Solusi Setelah Dilakukan Local Search Jenis menu PK S N H B
Makan Pagi 3 1 2 16 16
Makan siang 20 3 12 6 18
Makan malam 13 10 11 3 21
Solusi awal = solusi awal
tidak
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.
ya
Ganti solusi awal = solusi dari local search
Solusi local search
Selesai
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
Fitness solusi awal, Fitness solusi local search, k=1
Mulai
Nilai iterasi local search, Solusi awal (solusi Shaking)
i=1 sampai jumlah iterasi local search tidak
Fakultas Ilmu Komputer, Universitas Brawijaya
Fitness solusi awal [k]> fitness solusi hasil local search [k]
tidak Ganti solusi awal = solusi hasil local search k=1
ya
Ganti solusi awal = solusi awal k = k+1
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
ya
k<=Kmax tidak Solusi
Selesai
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.
Rata-rata fitness
Grafik Hasil Pengujian Kmax
0,6 0,5 0,4 0,3 0,2 0,1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Jumlah Kmax
Gambar 6. Grafik Pengujian Jumlah Kmax
Grafik hasil pengujian jumlah Kmax terhadap nilai fitness ditunjukkan oleh Gambar Fakultas Ilmu Komputer, Universitas Brawijaya
760
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 fitness local 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.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
761 Tabel 9. Analisis Hasil
Grafik Hasil Pengujian Iterasi Local Search
Rata-rata ftiness
0,6 Kas us
0,5 0,4
1 2 3
0,3
0,2 0,1 0 250 500 750 1000 1250 1500 1750 2000 Jumlah Iterasi
Gambar 7. Grafik Hasil Pengujian Iterasi Local search
Hasil pengujian jumlah iterasi local search ditunjukkan oleh Gambar 7. Hasil pengujian jumlah iterasi local 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 iterasi local 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 iterasi local 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. Fakultas Ilmu Komputer, Universitas Brawijaya
Kalor i 0.085 0.6333 1.6798
Selisih (%) Karboh Lema i drat k 1.7703 6.399 8.0401 0.1194 2.8415 2.6399
Na Protei n 9.1136 0.9080 1.9995
(gram) 0.3512 0.2274 0.2633
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,
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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
Fakultas Ilmu Komputer, Universitas Brawijaya
762
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
Almatsier, S., 2006. Penuntun Diet. Jakarta: PT Gramedia Pustaka Utama. American Heart Association, 2014. Understanding and Managing High Blood Pressure. [Online] Available at: http://www.heart.org [Diakses 8 August 2016]. Aziz, R. A., Ayob, M. & Othman, Z., 2012. The Effect of Learning Mechanism in Variables Neighborhood Search. 4th Conference on Data Mining and Optimization (DMO), Langkawi, Malaysia, 2-4 September, pp. 109113, IEEE.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
763
Dinas Kesehatan Kabupaten Klaten, 2013. Profil Kesehatan Kabupaten Klaten Tahun 2013. Klaten: Dinas Kesehatan Kabupaten Klaten.
Mahmudy, W. F., 2006. Penerapan algoritma genetika pada optimasi model penugasan. Natural, 10(3), pp. 197-207.
Dinas Kesehatan Kota Malang, 2014. Profil Kesehatan Kota Malang Tahun 2014. [Online] Available at: http://www.depkes.go.id/ [Diakses February 2017].
Mahmudy, W. F., 2015. Optimization of Part Type Selection and Machine Loading Problems in Flexible Manufacturing System Using Variable Neighborhood Search. IAENG International Journal of Computer Sciences.
Expósito-Izquierdo, C., Melián-Batista, B. & Moreno-Vega, J. M., 2011. Variable Neighbourhood Search for the Quay Crane Scheduling Problem. 11th International Conference on Intelligent Systems Design and Applications, Cordoba, 22-24 November, pp.463-468, IEEE. Hansen, P. & Mladenovic, N., 2001. Variable Neighborhood Search: Principles and Applications. European Journal of Operational, 130(3), pp. 449-467. Indaswari, F. A. & Mahmudy, W. F., 2016. Optimasi Komposisi Makanan Bagi Penderita Obesitas pada Anak Menggunakan Algoritma Genetika. Repository Jurnal Mahasiswa PTIIK Universitas Brawijaya, 7(27). Iwuji, A. C., Nnanna, M. & Ndulue, N. I. C., 2016. An Optimal DASH Diet Model for People with Hypertension Using Linear Programming Approach. Open Jurnal of Optimization, 5(1), pp. 14-21. Kardani-Moghaddam, S., Khodadadi, F., Entezari-Maleki, R. & Movaghar, A., 2012. A Hybrid Genetic Algorithm and Variable Neighborhood Search for Task Scheduling Problem in Grid Environment. International Workshop on Information and Electronics Engineering, Heilongjiang, China, Elsevier Ltd., pp. 3808-3814.
Fakultas Ilmu Komputer, Universitas Brawijaya
Mustamin, 2010. Asupan Natrium, Status Gizi dan Tekanan Darah Usia Lanjut di Puskesmas Bojo Baru Kabupaten Barru. Media Gizi Pangan, Jurnal Ilmiah Politeknik Kesehatan Kemenkes Makassar Jurusan Gizi, IX(1), pp. 20-26. N,
M. R. R. & Kobti, Z., 2012. Incorporating a Genetic Algorithm to improve the performance of Variable Neighborhood Search. Fourth World Congress on Nature and Biologically Inspired Computing (NaBIC), Mexico City, 2012, pp. 144-149., IEEE. doi: 10.1109/NaBIC.2012.6402253.
National Institutes of Health, 2004. The Seventh Report of the Joint National Committee on Prevention, Detection, Evaluation, and Treatment of High Blood Pressure, Maryland: National Institutes of Health. Papalitsas, C., Giannakis, K., Andronikos, T. & Sifaleras, A., 2015. Initialization methods for the TSP with Time Windows using Variable Neighborhood Search. 6th International Conference on Information, Intelligence, Systems and Applications (IISA), Corfu, 6-8 July, pp. 1-6, IEEE. Pratiwi, M. I., Mahmudy, W. F. & Dewi, C., 2014. Implementasi Algoritma Genetika pada Optimasi Biaya Pemenuhan Kebutuhan Gizi. DORO: Repository Jurnal Mahasiswa PTIIK
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
764
Universitas Brawijaya, Volume 4 No. 6.
to Selected Major Risks. Geneva: WHO Press.
Rahman, M. A., 2016. Pengaruh Terapi Bekam terhadap Tekanan Darah pada Pasien Hipertensi di Klinik Bekam Abu Zaky Mubarak. Jakarta: UIN Syarif Hidayatullah.
WHO, 2011. Noncommunicable Diseases in the South-East Asia Region. India: WHO Press.
Rianawati, A. & Mahmudy, W. F., 2015. Implementasi Algoritma Genetika Untuk Optimasi Komposisi Makanan Bagi Penderita Diabetes Mellitus. DORO: Repository Jurnal Mahasiswa PTIIK Universitas Brawijaya, Volume 5 No. 14. Sari, A. P. & Mahmudy, W. F., 2014. Optimasi Asupan Gizi pada Ibu Hamil dengan Menggunakan Algoritma Genetika. DORO: Repository Jurnal Mahasiswa PTIIK Universitas Brawijaya, Volume 4 No. 5. Taha, H. A., 1993. Operations Research: An Introduction. 3nd penyunt. New York: Macmillan Publishing Co. Thanh, P. D. & Binh, H. T. T., 2015. An Effective Combination of Genetic Algorithms and the Variable Neighborhood Search for Solving Travelling Salesman Problem. Conference on Technologies and Applications of Artificial Intelligence (TAAI). Tainan, IEEE. pp. 142-149. doi: 10.1109/TAAI.2015.7407102. Torres-Machi, C., Yepes, V., Alcala, J. & Pellicer, E., 2013. Optimization of High-performance Concrete Structures by Variable Neighborhood Search. International Journal of Civil Engineering, 11(2), pp. 90-97. Wahyuningsih, R., 2013. Penatalaksanaan Diet pada Pasien. Yogyakarta: Graha Ilmu. WHO, 2009. Global Health Risks: Mortality and Burden of Disease Attributable Fakultas Ilmu Komputer, Universitas Brawijaya
WHO, 2013. High Blood Pressure: The Silent Killer. [Online] Available at: http://www.wpro.who.int/world_hea lth_day/2013/high_blood_pressure_ brochure_wpr.pdf [Diakses 8 Agustus 2016].