Fakultas Ilmu Komputer
Universitas Brawijaya
1236
Optimasi Komposisi Makanan untuk Penderita Hipertensi Menggunakan
Algoritma Genetika dan
Simulated Annealing
Agustin Kartikasari1, Dian Eka Ratnawati2, Titis Sari Kusuma3
1, 2Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya
3Program Studi Ilmu Gizi, Fakultas Kedokteran, Universitas Brawijaya
Email: 1agustinkartikasari75@gmail.com, 2dian_ilkom@ub.ac.id, 3titis_fahreza.fk@ub.ac.id
Abstrak
Hipertensi menempati urutan terbesar ketiga sebagai penyakit yang menyebabkan kematian dini (Depkes, 2006). Salah satu cara untuk mencegah dan menangani hipertensi adalah dengan modifikasi asupan makanan. Namun bagi orang awam, mengatur komposisi makanan sehari-hari masih dirasa sulit.
Permasalahan tersebut kemudian diselesaikan dengan kombinasi algoritma genetika dan simulated
annealing. Kombinasi kedua algoritma ini bertujuan untuk meningkatkan solusi yang dihasilkan oleh algoritma genetika dan menghindari terjadinya konvergensi dini. Pada penyelasaian permasalahan ini
digunakan metode one cut point crossover, reciprocal exchange mutation, seleksi elitism, dan
neighborhood move pada simulated annealing. Berdasarkan pengujian parameter yang dilakukan,
diperoleh nilai-nilai parameter terbaik yaitu ukuran populasi sebesar 1000, jumlah generasi sebesar 200,
nilai kombinasi cr dan mr yaitu 0,6 dan 0,4, temperatur akhir (Tn) sebesar 0,2, dan cooling rate sebesar
0,9. Sedangkan berdasarkan pengujian sistem yang dilakukan dapat diketahui bahwa kombinasi kedua algoritma mampu menyelesaikan permasalahan ini karena kandungan gizi yang dihasilkan berada dalam batas toleransi yang diberikan oleh ahli gizi yaitu ±10%.
Kata Kunci: algoritma genetika, simulated annealing, komposisi makanan, hipertensi
Abstract
Hypertension ranks third largest as a disease that causes early death (Depkes, 2006). One way to prevent and treat hypertension is to modify food intake. But for the layman, arranging the composition of everyday food is still considered difficult. The problem is then solved by a combination of genetic algorithm and simulated annealing. The combination of these two algorithms aims to improve the solutions generated by genetic algorithms and avoid the occurrence of early convergence. At this problem solving used one-cut crossover method, reciprocal exchange mutation, elitism selection, and neighborhood move on simulated annealing. Based on the parameters test, the best parameter values are population size of 1000, the number of generations is 200, the combination value of cr and mr is 0.6 and 0.4, the final temperature (Tn) is 0.2, and the cooling rate of 0.9. While based on system testing conducted can be seen that the combination of both algorithms able to solve this problem because the resulting nutritional content is within the limit of tolerance given by nutritionists is ± 10%
Keywords: genetic algorithm, simulated annealing, food composition, hypertension.
1. PENDAHULUAN
Hipertensi adalah suatu keadaan dimana tekanan darah mengalami peningkatan secara kronis dengan tekanan darah sistolik maupun
tekanan darah diastolik ≥140/90 mmHg. Saat ini, hipertensi menempati urutan ketiga terbesar sebagai penyakit yang menyebabkan kematian dini. Dewasa ini, prevalensi hipertensi terus meningkat yaitu sebanyak 972 juta (26%) orang
dewasa di dunia menderita hipertensi (Depkes, 2006). Angka tersebut menunjukkan bahwa jumlah penderita hipertensi di Indonesia kian hari semakin mengkhawatirkan.
Peningkatan tekanan darah dapat
bagi orang awam, mengatur komposisi makanan sehari-hari masih dirasa sulit.
Permasalahan tersebut kemudian
diselesaikan dengan kombinasi algoritma
genetika dan simulated annealing. Algoritma
genetika merupakan algoritma optimasi yang meniru proses seleksi alami makhluk hidup
(Mahmudy, 2015). Algoritma simulated
annealing merupakan algoritma optimasi yang menganalogikan operasi pengolahan logam (Kirkpatrick et al., 1983). Kombinasi kedua
algoritma tersebut bertujuan untuk
meningkatkan solusi yang dihasilkan oleh algoritma genetika dan menghindari terjadinya konvergensi dini. Kombinasi algoritma genetika
dan simulated annealing mampu memberikan
solusi dengan nilai fitness yang lebih baik
apabila dibandingkan dengan penggunaan algoritma genetika murni (Avicena, 2016).
Penelitian ini diharapkan mampu membantu penderita hipertensi maupun ahli gizi dalam memberikan rekomendasi komposisi makanan,
mengurangi terjadinya human error, serta
membantu menurunkan tekanan darah penderita dengan komposisi makanan yang tepat.
2. METODE
2.1. Hipertensi
Hipertensi atau yang biasa disebut dengan tekanan darah tinggi merupakan suatu keadaan peningkatan tekanan darah yang terjadi secara kronis, tekanan darah sistolik dan tekanan darah
diastolik mencapai ≥ 140/90 mmHg. Klasifikasi
tingkat hipertensi menurut Joint National
Committee 7 (2004) dapat dibagi menjadi 4
kategori yaitu normal, prehypertension,
hypertension stage 1, dan hypertension stage 2.
Terdapat anjuran untuk modifikasi gaya hidup dengan cara diet hipertensi. Tujuan diet hipertensi adalah untuk membantu menurunkan tekanan darah penderita dan mempertahankan tekanan darah normal. Prinsip diet pada penderita tekanan darah tinggi antara lain makanan beraneka ragam dengan gizi seimbang, jenis dan komposisi makanan disesuaikan dengan kondisi penderita hipertensi, jumlah garam dibatasi sesuai dengan kesehatan penderita dan membatasi jenis makanan yang dapat memicu meningkatnya tekanan darah. Garam yang dimaksud dalam diet ini adalah garam natrium yang terdapat pada hampir pada seluruh bahan makanan (Kurniawan, 2000). Asupan kalium dalam makanan untuk penderita
hipertensi harus ditingkatkan. Asupan kalium dalam makanan memiliki peranan penting untuk penderita hipertensi yaitu dapat mengatasi kelebihan natrium (Kusumastuty et al., 2016).
2.2. Rumus Perhitungan Gizi
Terdapat dua perhitungan untuk
mengetahui kebutuhan gizi penderita hipertensi yaitu perhitungan energi dan perhitungan gizi.
Perhitungan energi diawali dengan
mengelompokkan berat badan kedalam kategori dengan menggunakan IMT (Indeks Massa Tubuh). IMT dapat dihitung menggunakan Persamaan (1).
𝐼𝑀𝑇 =(𝑇𝐵)𝐵𝐵2 (1)
Pada Persamaan (1) BB adalah berat badan dan TB adalah tinggi badan. Setelah didapatkan kategori, maka langkah selanjutnya adalah mengukur berat badan ideal. Apabila IMT masuk pada kategori normal, maka berat badan penderita hipertensi sudah masuk dalam berat badan ideal. Namun apabila IMT masuk pada kategori lainnya, maka berat badan ideal dihitung menggunakan Persamaan (2).
𝐵𝐵𝐼 = (𝑇𝐵 − 100) − 10%(𝑇𝐵 − 100)(2)
Selanjutnya dilakukan perhitungan AMB (Angka Metabolisme Basal) menggunakan Persamaan (3) dan (4). umur. Langkah selanjutnya adalah melakukan
perhitungan kebutuhan gizi pasien
menggunakan Persamaan (5).
𝐾𝑒𝑏𝑢𝑡𝑢ℎ𝑎𝑛 𝑒𝑛𝑒𝑟𝑔𝑖 = 𝐴𝑀𝐵 ∗ 𝐹𝐴 ∗ 𝐹𝑆(5)
Pada persamaan (5) FA merupakan tingkat aktivitas dan FS merupakan tingkat stress.
2.3. Kombinasi Algoritma Genetika dan Simulated Annealing
Algoritma genetika merupakan algoritma optimasi yang menganalogikan proses seleksi alami makhluk hidup, yaitu tahapan-tahapan perubahan susunan gen untuk melewati seleksi alam. Dalam proses seleksi hanya individu yang
mampu menyesuaikan diri dengan
lingkungannya yang dapat bertahan hidup
(Mahmudy, 2015). Sedangkan Algoritma
simulated annealing merupakan analogi dari
operasi pengolahan logam (Kirkpatrick et.al.,
1983). Kombinasi kedua algoritma ini bertujuan untuk meningkatkan solusi yang dihasilkan oleh algoritma genetika dan menghindari terjadinya konvergensi dini. Metropolis telah menguji
algoritma simulated annealing yang diadaptasi
pada algoritma genetika. Menurut Metropolis,
hybrid algoritma genetika dan simulated
annealing telah terbukti menanggulangi sifat konvergen pada algoritma genetika dan hasil optimasi kombinasi kedua algoritma terdebut melebihi GA atau SA murni (Orkcu, 2013).
Terdapat beberapa macam penempatan algoritma simulated annealing dalam algoritma
genetika. Pada penelitian ini, simulated
annealing diletakkan setelah proses seleksi pada algoritma genetika. Individu terbaik hasil dari iterasi algoritma genetika dijadikan masukan
pada algoritma simulated annealing (Avicena,
2016).
2.4. Data yang Digunakan
Data-data yang dibutuhkan dalam penelitian ini meliputi data makanan, daftar bahan makanan penukar, dan data penderita hipertensi.
Data makanan diperoleh dari software
nutrisurvey 2007, daftar bahan makanan penukar yang diperoleh dari buku Penuntun Diet Edisi Baru oleh Sunita Almatsier, dan data penderita hipertensi diperoleh dari Klinik Aldifarma Tabiang Padang pada bulan Februari 2017.
2.5. Penyelesaian Masalah Menggunakan Algoritm Genetika dan Simulated Annealing
Pada sub bab ini akan dijelaskan mengenai penyelesaian maslah menggunakan algoritma
genetika dan simulated annealing. Tahapan
penyelesaiannya meliputi inisialisasi parameter awal, pembangkitan populasi awal, proses
reproduksi yang terdiri dari crossover dan
mutasi, evaluasi, seleksi, penentuan individu
terbaik, simulated annealing, lalu proses
berlanjut hingga mencapai iterasi maksimum. Flowchart tahapan pada algoritma genetika dan simulated annealing dapat dilihat pada Gambar 1.
Gambar 1. Flowchart Algoritma Genetika dan
Simulated Annealing
Parameter yang diinisialisasi pada proses ini adalah parameter gizi, parameter algoritma
genetika, dan parameter algoritma simulated
annealing. Parameter gizi meliputi nama, jenis kelamin, usia, tinggi badan, berat badan, tingkat aktivitas, tingkat stress, dan tingkat hipertensi. Parameter tersebut digunakan untuk melakukan perhitungan kebutuhan gizi yang dibutuhkan oleh penderita hipertensi. Parameter algoritma
genetika meliputi ukuran populasi, crossover
rate, mutation rate, dan jumlah generasi.
Parameter simulated annealing meliputi
temperatur awal (T0), temperatur akhir (Tn), dan
cooling rate (β). Parameter algoritma genetika
dan parameter algoritma simulated annealing
Mulai
Inisialisasi parameter
Inisialisasi populasi awal
One cut point crossover
Reciprocal exchange mutation
Hitung nilai fitness
Seleksi elitism
Simulated annealing
Individu terbaik
Selesai For i=0 to jumlah generasi-1
digunakan sebagai kontrol dalam proses algoritma tersebut. Representasi yang digunakan adalah representasi kromosom dengan bilangan integer. Contoh representasi kromosom dapat dilihat pada Gambar 2.
Gambar 2. Representasi Kromosom
Berdasarkan Gambar 2 diketahui bahwa dalam satu kromosom terdapat 14 gen penyusun yang meliputi 4 gen bahan makan pagi, 1 gen bahan makan pelengkap1, 4 gen bahan makan siang, 1 gen bahan makan pelengkap2, dan 4 gen terakhir merupakan bahan makan malam. Untuk setiap kali makan terdapat 4 gen meliputi makanan pokok, sumber hewani, sumber nabati, dan sayuran. Nilai dari setiap gen direpresentasikan dengan kombinasi angka-angka random. Angka-angka tersebut berupa nilai integer dengan batas interval tertentu, dimana setiap angka dalam representasi tersebut mewakili satu
indeks makanan dalam database. Makanan
pokok memiliki indeks 0-11, sumber nabati memiliki indeks 0-20, sumber hewani memiliki indeks 0-31, sayuran memiliki indeks 0-32, dan pelengkap memiliki indeks 0-94.
Setelah dilakukan inisialisasi populasi awal, langkah selanjutnya adalah reproduksi
yang terdiri dari crossover dan mutasi.
Crossover dilakukan dengan cara pertukaran silang antar kromosom parent sehingga dapat
menghasilkan offspring atau individu baru.
Metode crossover yang digunakan dalam
penelitian ini adalah one-cut-point crossover. Jumlah offspring dihasilkan dari proses crossover didapatkan dari hasil perkalian antara crossover rate atau cr dengan popSize. Contoh proses crossover dapat dilihat pada Gambar 3.
Gambar 3. Crossover
Mutasi merupakan operator genetika untuk menukarkan nilai gen dari suatu individu. Metode yang digunakan adalah reciprocal exchange mutation. Metode ini bekerja dengan memilih dua posisi titik tukar
(XP) secara acak kemudian dilakukan penukaran nilai gen pada posisi tersebut. Jumlah offspring dihasilkan dari proses mutasi didapatkan dari hasil perkalian antara
mutation rate atau mr dengan popSize.
Contoh mutasi dapat dilihat pada Gambar 4.
Gambar 4. Mutasi
Langkah selanjutnya adalah perhitungan
nilai fitness. Perhitungan nilai fitness dilakukan
untuk mengetahui nilai setiap individu terhadap pelanggaran atau penalti yang telah ditentukan dengan rumus tertentu sebelumnya. Baik buruknya solusi yang dihasilkan dari proses optimasi dapat dinilai dari besarnya nilai fitness
yaitu semakin besar nilai fitness yang dimiliki
oleh suatu individu maka semakin baik solusi yang diberikan oleh individu tersebut dan
sebaliknya. Persamaan dari nilai fitness yang
digunakan dalam proses optimasi komposisi makanan untuk penderita hipertensi ini dapat dilihat pada Persamaan (9) berikut:
𝐹𝑖𝑡𝑛𝑒𝑠𝑠 =𝑝𝑒𝑛𝑎𝑙𝑡𝑖+11000 (9)
Penalti merupakan pelanggaran terhadap aturan yang telah ditetapkan. Dalam penelitian ini, penalti merupakan pelanggaran terhadap nilai kebutuhan gizi penderita hipertensi. Pelanggaran terjadi apabila nilai kandungan gizi makanan yang dihasilkan oleh sistem kurang maupun melebihi nilai gizi yang diperlukan penderita hipertensi. Nilai penalti diperoleh dari selisih antara kebutuhan gizi penderita hipertensi dengan kandungan gizi pada makanan hasil rekomendasi sistem. Perhitungan nilai penalti dapat dilihat pada Persamaan (10).
𝑃𝑒𝑛𝑎𝑙𝑡𝑖 = 𝑝𝑒𝑛𝑎𝑙𝑡𝑖 𝑒𝑛𝑒𝑟𝑔𝑖 +
𝑝𝑒𝑛𝑎𝑙𝑡𝑖 𝑘𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡 + 𝑝𝑒𝑛𝑎𝑙𝑡𝑖 𝑝𝑟𝑜𝑡𝑒𝑖𝑛 + 𝑝𝑒𝑛𝑎𝑙𝑡𝑖 𝑙𝑒𝑚𝑎𝑘 + 𝑝𝑒𝑛𝑎𝑙𝑡𝑖 𝑛𝑎𝑡𝑟𝑖𝑢𝑚 +
𝑝𝑒𝑛𝑎𝑙𝑡𝑖 𝑘𝑎𝑙𝑖𝑢𝑚 (10)
Seleksi digunakan untuk memperoleh
populasi baru sebanyak jumlah popSize yang
dapat bertahan hidup untuk generasi selanjutnya
berdasarkan besarnya nilai fitness. Semakin
tinggi nilai fitness maka akan semakin besar
peluang untuk masuk pada generasi selanjutnya. Dari proses seleksi akan didapatkan individu terbaik yang selanjutnya akan dijadikan
masukkan pada simulated annealing yang
selanjutnya disebut xp. Proses simulated
annealing dimulai dengan melakukan proses
neighborhood pada simulated annealing. Hasil
PL1 PL2
PK N H S PL PK N H S PL PK N H S 3 15 17 0 0 11 0 19 12 79 8 11 7 16 P1
Makan Pagi Makan Siang Makan Malam
individu dari proses neighborhood selanjutnya
disebut xn. Proses selanjutnya adalah
menghitung nilai fitness hasil neighborhood.
Setelah itu, menghitung selisih nilai fitness dengan menggunakan Persamaan (11).
𝛥𝑓 = 𝑓(𝑥𝑛) − 𝑓(𝑥𝑝) (11)
Apabila selisih nilai fitness ≥ 0 maka
individu baru diterima untuk menggantikan
individu awal. Namun apabila selisih nilai
fitness (Δf) < 0 maka
dilakukan perhitungan
probability acceptance
dengan Persamaan
(12), (13), dan (14).
𝑃 = exp (− (𝛥𝑓𝑇0)) (12)
𝑅 = rand(0 … 1) (13)
𝑃 > 𝑅 (14)
Apabila Persamaan (14) terpenuhi, maka
individu baru diterima. Jika tidak, maka
dilakukan
penurunan
temperatur
menggunakan Persamaan (15) dan iterasi
berulang.
𝑇0 = 𝛽 ∗ 𝑇0 (15)
3. PENGUJIAN DAN ANALISIS HASIL
3.1. Pengujian Ukuran Populasi
Pengujian ukuran populasi dilakukan 10 kali untuk masing-masing ukuran populasi. Jumlah generasi yang digunakan dalam uji coba adalah 100 dengan nilai cr=0.6, nilai mr=0.4, nilai suhu awal (T0)=5, nilai suhu akhir (Tn)=2, dan nilai
cooling rate (β)=0.1. Grafik pengujian ukuran
populasi terhadap nilai fitness seperti pada
Gambar 5.
Gambar 5. Hasil Pengujian Ukuran Populasi
Dari hasil pengujian didapatkan rata-rata
nilai fitness terbaik dihasilkan pada popSize
1000, sedangkan rata-rata nilai fitness terburuk
dihasilkan pada popSize 100. Berdasarkan grafik pada Gambar 5, secara umum dapat disimpulkan
semakin besar popSize, maka rata-rata fitness
yang dihasilkan semakin besar pula karena
semakin banyak solusi yang dapat
dikembangkan sehingga mampu didapatkan solusi yang lebih baik.
3.2. Pengujian Kombinasi Crossover Rate dan Mutation Rate
PopSize yang digunakan dalam percobaan adalah 100 dengan jumlah generasi 100, nilai suhu awal (T0)=5, nilai suhu akhir (Tn)=2, dan
nilai cooling rate (β)=0.1. Grafik pengujian
kombinasi cr dan mr terhadap nilai fitness seperti pada Gambar 6.
Gambar 6. Hasil Pengujian cr dan mr
Berdasarkan grafik pada Gambar 6, kombinasi cr dan mr yang digunakan dalam
pengujian menghasilkan rata-rata fitness yang
berbeda-beda. Rata-rata fitness terbaik pada cr
=0,6 dan mr=0,4. Sedangakan rata-rata fitness
terendah didapatkan pada cr=0,1 dan mr=0,9.
Penentuan kombinasi crossover rate dan
mutation rate sulit untuk dilakukan karena untuk permasalahan yang berbeda dibutuhkan nilai kombinasi cr dan mr yang berbeda pula. Nilai cr
yang terlalu rendah dan mr yang terlalu besar
mengakibatkan menurunnya kemampuan
algoritma ntuk mengeksplorasi daerah optimum
local. Namun jika cr terlalu besar dan mr terlalu kecil akan mengakibatkan konvergensi dini dimana tidak ada perubahan yang terlalu besar terhadap nilai fitness (Avicena, 2016).
3.3. Pengujian Nilai Temperatur Akhir
Ukuran populasi yang digunakan dalam percobaan adalah 100 dengan jumlah generasi 100, nilai cr=0.6, nilai mr=0.4, nilai suhu awal
(T0)=5, dan nilai cooling rate (β)=0.1. Grafik
pengujian temperatur akhir terhadap nilai fitness seperti pada Gambar 7.
89.2237
100 200 300 400 500 600 700 800 900 1000
R
0,1;0,9 0,2;0,8 0,3;0,7 0,4;0,6 0,5;0,5 0,6;0,4 0,7;0,3 0,8;0,2 0,9,0,1
Gambar 7. Hasil Pengujian Tempertaur Akhir
Dari hasil pengujian temperatur akhir, nilai fitness terbaik dihasilkan pada temperatur 0,2
yaitu 123.6095 dan nilai fitness terendah yang
dihasilkan adalah pada temperatur 4 yaitu 89.0879. Sehingga dapat disimpulkan bahwa semakin kecil nilai temperatur akhir, maka solusi akan semakin baik karena semakin banyak iterasi yang dilakukan oleh algoritma simulated annealing. Semakin banyak iterasi yang
dilakukan, maka akan semakin banyak
kemungkinan mendapatkan individu yang lebih baik. Dan sebaliknya, semakin besar nilai temperatur akhir, maka solusi yang dihasilkan akan semakin buruk karena iterasi hanya dilakukan dalam jumlah yang kecil sehingga memperkecil kemungkinan untuk mendapatkan solusi yang lebih baik.
3.4. Pengujian Cooling Rate
Ukuran populasi yang digunakan dalam percobaan adalah 100 dengan jumlah generasi 100, nilai cr=0,6, nilai mr=0,4, nilai suhu awal
(T0)=5, dan nilai suhu akhir (Tn)=2. Nilai cooling
rate (β) adalah rentang nilai antara 0-1. Untuk
setiap nilai cooling rate dilakukan percobaan
sebanyak 10 kali. Grafik pengujian cooling rate terhadap nilai fitness seperti pada Gambar 8.
Gambar 8. Hasil Pengujian Cooling Rate
Dari hasil pengujian cooling rate (β)
didapatkan nilai rata-rata fitness terbaik pada
nilai β=0,9. Sedangkan nilai rata-rata fitness
terendah didapatkan pada nilai β=0,1. Dari hasil
grafik pada Gambar 6.4 dapat disimpulkan
bahwa semakin besar nilai cooling rate, maka
akan semakin tinggi nilai fitness yang
didapatkan. Hal tersebut dikarenakan semakin
besar nilai cooling rate, maka semakin banyak
iterasi simulated annealing yang terjadi sehingga memungkinkan solusi yang dihasilkan akan lebih bervariasi sehingga memperbesar pula kemungkinan untuk mendapatkan solusi yang lebih optimal. Sebaliknya, semakin kecil nilai cooling rate maka semakin sedikit iterasi yang terjadi sehingga sedikit pula variasi yang didapatkan.
3.5. Pengujian Jumlah Generasi
Ukuran populasi yang digunakan dalam percobaan adalah 100, nilai cr=0,6, nilai mr=0,4,
nilai suhu awal (T0)=5, nilai suhu akhir (Tn)=2,
dan cooling rate=0,1. Untuk setiap nilai generasi dilakukan percobaan sebanyak 10 kali. Grafik
pengujian cooling rate terhadap nilai fitness
seperti pada Gambar 9.
Gambar 9. Hasil Pengujian Jumlah Generasi
Dari hasil pengujian jumlah generasi nilai rata-rata fitness terbaik didapatkan pada generasi 200. Sedangkan nilai rata-rata fitness terendah didapatkan pada generasi 20. Dari hasil grafik diatas dapat disimpulkan bahwa semakin besar jumlah generasi, maka akan semakin tinggi nilai
fitness yang didapatkan. Hal tersebut
dikarenakan semakin besar jumlah generasi,
semakin memungkinkan individu yang
dihasilkan akan lebih bervariasi sehingga
memperbesar pula kemungkinan untuk
mendapatkan solusi yang lebih optimal. Sebaliknya, semakin kecil jumlah generasi maka semakin sedikit iterasi yang terjadi sehingga sedikit pula variasi yang didapatkan.
3.6. Pengujian Sistem
Pengujian sistem dilakukan untuk
membandingkan nilai gizi yang dibutuhkan oleh penderita hipertensi dengan nilai gizi hasil
rekomendasi sistem optimasi komposisi
makanan untuk penderita hipertensi. Batas toleransi selisih nilai gizi yang ditetapkan oleh ahli gizi adalah ±10%. Untuk parameter
algoritma genetika dan simulated annealing
yang digunakan adalah hasil parameter terbaik dari pengujian parameter-parameter yang telah
dilakukan sebelumnya yaitu popSize=1000,
jumlah generasi=200, cr=0,6, mr=0,4,
temperatur awal (T0)=5, temperatur
akhir(Tn)=0,2, dan cooling rate (β)=0,9.
Data penderita hipertensi yang digunakan pada pengujian adalah sebagai berikut nama Ny. NM, jenis kelamin perempuan, usia 58 tahun, berat badan 54 kg, tinggi badan: 144 cm, tingkat sktivitas: ringan, tingkat stress: tidak ada stress, tingkat hipertensi: hypertension stage 1.
Dengan menggunakan data diatas,
didapatkan hasil pengujian sistem seperti pada Gambar 10.
Gambar 10. Pengujian Sistem
Berdasarkan Gambar 10, hasil pengujian sistem memberikan rekomendasi menu makanan dengan komposisi makanan untuk makan pagi terdiri dari nasi putih sebagai makanan pokok, sayur tempe sebagai sumber nabati, telur goreng sebagai sumber hewani, dan sayur asem sebagai sayuran. Komposisi makanan untuk pelengkap 1 berupa sate kentang. Komposisi makanan untuk makanan siang terdiri dari bubur nasi sebagai makanan pokok, tempe goreng sebagai sumber nabati, ikan cumi basah sebagai sumber hewani, dan sayur caisin sebagai sayuran. Komposisi makanan untuk pelengkap 2 berupa roti susu. Komposisi makanan untuk makan malam terdiri dari nasi putih sebagai makanan pokok, tempe koro benguk sebagai sumber nabati, telur goreng sebagai sumber hewani, dan sayur asem sebagai sayuran.
Untuk nilai kebutuhan gizi penderita hipertensi dan nilai gizi menu makanan yang direkomendasikan oleh sistem dapat dilihat pada Tabel 1.
Tabel 2. Hasil Pemenuhan Gizi dari Sistem
Energi Karbo Protein Lemak Natrium Kalium
Kebutuhan
gizi 2058.8464 334.5625 77.2067 45.7521 600-800 2000-5000
Rekomendasi
Berdasarkan Tabel 1, diperoleh data kecukupan gizi energi dan lemak pada makanan melebihi kebutuhan gizi penderita hipertensi dengan selisih energi sebesar 0,0123% dan selisih lemak sebesar 1,4388%. Kecukupan gizi karbohidrat dan protein pada makanan kurang dari kebutuhan gizi penderita hipertensi dengan selisih karbohidrat sebesar 0,0905% dan selisih protein sebesar 0,4772%. Sedangkan kecukupan gizi natrium dan kalium pada makanan sesuai atau sama dengan kebutuhan gizi penderita hipertensi. Dari hasil pengujian tersebut dapat disimpulkan bahwa nilai gizi dari komposisi makanan yang direkomendasikan oleh sistem memenuhi batas toleransi yang ditetapkan oleh ahli gizi yaitu ±10%.
4. Kesimpulan
Berdasarkan hasil pengujian dan analisis maka dihasilkan kesimpulan sebagai berikut:
1. Optimasi komposisi makanan untuk
penderita hipertensi diselesaikan dengan
menggunakan representasi kromosom
bilangan integer. Setiap kromosom terdiri dari 14 gen. Setiap gen merepresentasikan indeks makanan dengan panjang berbeda-beda. Makanan pokok memiliki indeks 0-11, sumber nabati memiliki indeks 0-20, sumber hewani memiliki indeks 0-31, sayuran memiliki indeks 0-32, dan pelengkap memiliki indeks 0-94. Optimasi komposisi
makanan untuk penderita hipertensi
menggunakan algoritma genetika dan
simulated annealing dengan metode
crossover one cut point, metode mutasi reciprocal exchange mutation, dan metode
seleksi elitism. Individu terbaik dari
pada simulated annealing digunakan untuk meningkatkan kualitas solusi agar tidak terjebak pada local optimum.
2. Penyelesaian masalah optimasi komposisi
makanan untuk penderita hipertensi
dipengaruhi oleh parameter algoritma
genetika dan simulated annealing.
Parameter algoritma genetika meliputi ukuran populasi, jumlah generasi, serta kombinasi nilai crossover rate dan mutation
rate. Sedangkan parameter simulated
annealing meliputi temperatur awal (T0),
temperatur akhir (Tn), dan cooling rate (β).
Berdasarkan pengujian parameter algoritma genetika pada prosess pengujian didapatkan ukuran populasi terbaik sebesar 1000, jumlah generasi terbaik sebesar 200, serta nilai kombinasi cr dan mr sebesar 0,6 & 0,4.
Sedangkan untuk parameter simulated
annealing didapatkan nilai temperatur akhir
(Tn) terbaik adalah 0,2 dan nilai cooling rate
(β) terbaik adalah 0,9.
3. Berdasarkan pengujian sistem dapat
disimpulkan bahwa secara umum
penggunaan kombinasi algoritma genetika
dan simulated annealing mampu
menyelesaikan permasalahan optimasi
komposisi makanan untuk penderita
hipertensi dengan menghasilkan
rekomendasi komposisi makanan dalam satu hari yang terdiri dari makan pagi, pelengkap 1, makan siang, pelengkap 2, dan makan malam yang kandungan gizinya berada dalam batas toleransi kecukupan gizi yang ditetapkan oleh ahli gizi.
DAFTAR PUSTAKA
Avicena, A., Cholissodin, I., & Mahmudy, W.F.,
2016. Optimasi Penjadwalan Pengawas
Ujian Semester Menggunakan Hibridasi
Algoritma Genetika dan Simulated
Annealing (Studi kasus: Fakultas Ilmu
Komputer Universitas Brawijaya).
DORO: Repositori Jurnal Mahasiswa PTIIK Universitas Brawijaya, vol. 7, no. 32.
Depkes. 2006. Pedoman Teknis Penemuan dan Tatalaksana Penyakit Hipertensi. Jakarta: Departemen Kesehatan RI.
Kurniawan, Anie. 2002. Gizi Seimbang Untuk
Mencegah Hipertensi. Jakarta: Direktorat Gizi Masyarakat.
Kirkpatrick, S., Gelatt, C.D. & Vecchi, M. P.,
1983. Optimization by Simulated
Annealing. Science, vol. 220.
Kumala, Meilani. 2014. Peran Diet Dalam
Pencegahan Dan Terapi Hipertensi.
Journal of Medicine, vol.13, no.1, pp. 50–
61.
Kusumastuty, Inggita, Widyani, D., & Wahyuni, E.S., 2016. Asupan Protein dan Kalium Berhubangan dengan Penurunan Tekanan Darah Pasien Hipertensi Rawat Jalan. Indonesian Jurnal of Human Nutrition, vol. 3, no.1, pp. 19-28.
Mahmudy, W. F., 2015. Dasar-Dasar Algoritma Evolusi. Malang: Universitas Brawijaya.
Orkcu, H. 2013. Subset Selection in Multiple
Linear Regression Models: A Hybrid of
Genetic and Simulated Annealing
Algorithms. Applied Mathematics and Computation 219.
U.S. Department of Health and Human Serices.
2004. The Seventh Report of the Joint
National Committee on Prevention,