• Tidak ada hasil yang ditemukan

Optimasi Komposisi Makanan untuk Penderita Hipertensi Menggunakan Algoritma Genetika dan Simulated Annealing

N/A
N/A
Protected

Academic year: 2021

Membagikan "Optimasi Komposisi Makanan untuk Penderita Hipertensi Menggunakan Algoritma Genetika dan Simulated Annealing"

Copied!
8
0
0

Teks penuh

(1)

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

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]

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 dipengaruhi oleh beberapa faktor, salah satunya adalah asupan gizi makanan. Berbagai penelitian menunjukkan bahwa beberapa zat gizi, bahan makanan tertentu, dan pola asupan makanan sehari-hari memiliki peran dalam pencegahan dan terapi hipertensi (Kumala, 2014). Namun bagi orang awam, mengatur komposisi makanan sehari-hari masih dirasa sulit.

(2)

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

𝐴𝑀𝐵(𝑙𝑎𝑘𝑖 − 𝑙𝑎𝑘𝑖) = 66 + (13,7 ∗ 𝐵𝐵𝐼) +

(5 ∗ 𝑇𝐵) − (6,8 ∗ 𝑈) (3)

𝐴𝑀𝐵(𝑝𝑒𝑟𝑒𝑚𝑝𝑢𝑎𝑛) = 665 + (9,6 ∗ 𝐵𝐵𝐼) +

(1,8 ∗ 𝑇𝐵) − (4,7 ∗ 𝑈) (4)

Pada Persamaan (3) dan (4) U merupakan 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.

Setelah didapatkan kebutuhan energi, maka selanjutnya dilakukan perhitungan kebutuhan gizi penderita hipertensi seperti pada Persamaan

(6), (7), dan (8). 𝐾𝑒𝑏𝑢𝑡𝑢ℎ𝑎𝑛 𝑘𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡 = 65%∗𝑘𝑒𝑏𝑢𝑡𝑢ℎ𝑎𝑛 𝑒𝑛𝑒𝑟𝑔𝑖 4 (6) 𝐾𝑒𝑏𝑢𝑡𝑢ℎ𝑎𝑛 𝑝𝑟𝑜𝑡𝑒𝑖𝑛 =15%∗𝑘𝑒𝑏𝑢𝑡𝑢ℎ𝑎𝑛 𝑒𝑛𝑒𝑟𝑔𝑖 4 (7) 𝐾𝑒𝑏𝑢𝑡𝑢ℎ𝑎𝑛 𝑙𝑒𝑚𝑎𝑘 =20%∗𝑘𝑒𝑏𝑢𝑡𝑢ℎ𝑎𝑛 𝑒𝑛𝑒𝑟𝑔𝑖 9 (8)

(3)

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 digunakan sebagai kontrol dalam proses algoritma tersebut. Representasi yang digunakan

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

(4)

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:

𝐹𝑖𝑡𝑛𝑒𝑠𝑠 = 1000

𝑝𝑒𝑛𝑎𝑙𝑡𝑖+1 (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

individu dari proses neighborhood selanjutnya disebut xn. Proses selanjutnya adalah

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

P2 5 4 17 8 79 3 19 28 14 50 3 19 11 23 P3 3 16 27 13 79 3 14 5 21 65 8 19 21 12 C1 5 4 17 8 79 3 19 5 21 65 8 19 21 12 C2 3 16 27 13 79 3 14 28 14 50 3 19 11 23 CUTPOINT P1 3 15 17 0 0 11 0 19 12 79 8 11 7 16 P2 3 15 17 0 0 11 0 19 8 79 2 11 7 16

(5)

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 142.0334 178.4546 230.9841 274.6467298.1156 329.1229346.3605 367.8466370.143 0 50 100 150 200 250 300 350 400 100 200 300 400 500 600 700 800 900 1000 R a ta -R a ta F it n es s Ukuran Populasi 63.4068 91.4732 104.7574 88.0112 106.6872112.5204107.259 78.1924 69.6256 0 20 40 60 80 100 120 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 R a ta -R a ta F it n es s Cr ; mr

(6)

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

123.6095123.6094123.5938 115.3069111.3036 110.1161 109.2745 96.671993.5618 89.0879 0 20 40 60 80 100 120 140 0,2 0,4 0,6 1 1.2 1.4 1.6 2 3 4 R a ta -R a ta F it n es s Tn 102.4918110.9581 111.414 123.785132.1699 141.1373147.4745 153.7466 167.3941 0 20 40 60 80 100 120 140 160 180 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 R a ta -R a ta F it n es s α 47.8024 66.3405 91.026293.2047 119.7956121.9528129.4235132.9526132.9165 135.954 0 20 40 60 80 100 120 140 160 20 40 60 80 100 120 140 160 180 200 R a ta -R a ta F it n es s Generasi

(7)

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 sistem 2059.1 334.26 76.84 46.4199 634.2 3057.299 Selisih nilai gizi 0.2536 0.3025 0.3667 0.6679 0.0000 0.0000 % Selisih nilai gizi 0,0123% 0,0905% 0,4772% 1,4388% 0% 0%

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 algoritma genetika menjadi masukan pada simulated annealing. Metode neighborhood

(8)

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,

Detection, Evaluation, and Treatment of High Blood Pressure. National Institute of

Gambar

Gambar 1. Flowchart Algoritma Genetika dan  Simulated Annealing
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
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
Gambar 10. Pengujian Sistem

Referensi

Dokumen terkait

Algoritma yang digunakan dalam penentuan komposisi bahan makanan bagi penderita gagal ginjal akut ini ialah algoritma genetika, langkahnya meliputi : inisialisasi

Gambar 3 hasil pengujian ukuran populasi menunjukkan rata-rata nilai fitness tertinggi yang dihasilkan yaitu pada ukuran populasi 90 dan rata-rata nilai fitness

Sehingga hal tersebut dapat disimpulkan bahwa semakin besar nilai alpha akan memperluas ruang pencarian solusi pada proses simulated annealing akan tetapi tidak

Pada penelitian yang dilakukan oleh Wahid (2015), algoritme genetika digunakan sebagai metode untuk mengoptimasikan komposisi makanan untuk penderita kolesterol, yang

Sehingga hal tersebut dapat disimpulkan bahwa semakin besar nilai alpha akan memperluas ruang pencarian solusi pada proses simulated annealing akan tetapi tidak

Hasil implementasi dari tampilan lihat perhitungan gizi dapat dilihat pada gambar C.9 lihat perhitungan gizi diatas dimana terdapat judul dari sistem, kata Hi dan nama user

Pada penelitian yang dilakukan oleh Wahid (2015), algoritme genetika digunakan sebagai metode untuk mengoptimasikan komposisi makanan untuk penderita kolesterol, yang

Pada bagian ini akan menjelaskan mengenai langkah – langkah yang akan digunakan dalam pembuatan sistem implementasi algoritma genetika untuk optimasi penentuan