Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 1, No. 11, November 2017, hlm. 1236-1243
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
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:
[email protected],
[email protected],
[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.
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.
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, Fakultas Ilmu Komputer Universitas Brawijaya
1236
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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.
1237
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).
2. METODE
π΅π΅πΌ = (ππ΅ β 100) β 10%(ππ΅ β 100) (2)
2.1. Hipertensi
Selanjutnya dilakukan perhitungan AMB (Angka Metabolisme Basal) menggunakan Persamaan (3) dan (4).
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 Fakultas Ilmu Komputer, Universitas Brawijaya
π΄ππ΅(ππππ β ππππ) = 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%βππππ’π‘π’βππ ππππππ
(6)
4
πΎπππ’π‘π’βππ ππππ‘πππ = πΎπππ’π‘π’βππ πππππ =
15%βππππ’π‘π’βππ ππππππ 4
20%βππππ’π‘π’βππ ππππππ 9
(7)
(8)
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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).
1238
Flowchart tahapan pada algoritma genetika dan simulated annealing dapat dilihat pada Gambar 1. Mulai
Inisialisasi parameter
Inisialisasi populasi awal
For i=0 to jumlah generasi-1
One cut point crossover
Reciprocal exchange mutation
Hitung nilai fitness
Seleksi elitism
Simulated annealing
i
Individu terbaik
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. Fakultas Ilmu Komputer, Universitas Brawijaya
Selesai
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
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
adalah representasi kromosom dengan bilangan integer. Contoh representasi kromosom dapat dilihat pada Gambar 2. Makan Pagi Makan Siang PL2 Makan Malam PL1 P1 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
1239
Jumlah offspring dihasilkan dari proses mutasi didapatkan dari hasil perkalian antara mutation rate atau mr dengan popSize. Contoh mutasi dapat dilihat pada Gambar 4. P1 P2
3 3
15 17 15 17
0 0
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. Angkaangka 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. CUTPOINT
P2 P3
5 3
4 17 8 79 16 27 13 79
3 3
19 28 14 50 14 5 21 65
3 8
19 11 23 19 21 12
C1 C2
5 3
4 17 8 79 16 27 13 79
3 3
19 5 21 65 14 28 14 50
8 3
19 21 12 19 11 23
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. Fakultas Ilmu Komputer, Universitas Brawijaya
0 0
11 11
0 0
19 12 79 19 8 79
8 2
11 11
7 7
16 16
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
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
π₯π = π(π₯π) β π(π₯π)
(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(β ( ))
(12)
π
= rand(0 β¦ 1)
(13)
π>π
(14)
π0
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. 400
367.8466370.143 346.3605 329.1229 298.1156 274.6467
350
Rata-Rata Fitness
300
230.9841
250
178.4546
200
142.0334
150 100
89.2237
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. 120
112.5204 107.259 106.6872
104.7574
91.4732
100
Rata-Rata Fitness
menghitung nilai fitness hasil neighborhood. Setelah itu, menghitung selisih nilai fitness dengan menggunakan Persamaan (11).
1240
88.0112 78.1924
80
69.6256
63.4068 60 40 20 0
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
Cr ; mr
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).
50 0 100
200
300
400
500
600
700
800
900
1000
Ukuran Populasi
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 Fakultas Ilmu Komputer, Universitas Brawijaya
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.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Rata-Rata Fitness
120
123.6095123.6094123.5938 115.3069 111.3036
100
110.1161 109.2745 96.6719 93.5618
89.0879
80 60 40 20 0 0,2
0,4
0,6
1
1.2
1.4
1.6
2
3
4
Tn
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.
Rata-Rata Fitness
140
123.785
167.3941 153.7466 147.4745 141.1373 132.1699
120 102.4918110.9581 111.414 100 80 60
40 20 0 0,1
0,2
0,3
0,4
0,5
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. 160 135.954 129.4235132.9526132.9165 119.7956121.9528
140 120
91.0262 93.2047
100 80
66.3405
60 47.8024 40
0
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. 160
3.5. Pengujian Jumlah Generasi
20
3.4. Pengujian Cooling Rate
180
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.
Rata-Rata Fitness
140
1241
0,6
0,7
0,8
0,9
Ξ±
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 Fakultas Ilmu Komputer, Universitas Brawijaya
20
40
60
80
100
120
140
160
180
200
Generasi
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
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1242
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.
Untuk nilai kebutuhan gizi penderita hipertensi dan nilai gizi menu makanan yang direkomendasikan oleh sistem dapat dilihat pada Tabel 1.
Rekomendasi sistem
2059.1
334.26
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.
Selisih nilai gizi
0.2536
0.3025
Dengan menggunakan data diatas, didapatkan hasil pengujian sistem seperti pada Gambar 10.
Tabel 2. Hasil Pemenuhan Gizi dari Sistem Energi Kebutuhan gizi
% Selisih nilai gizi
Karbo
Protein
Lemak Natrium
Kalium
2058.8464 334.5625 77.2067 45.7521 600-800 2000-5000 76.84 46.4199 0.3667
634.2 3057.299
0.6679
0.0000
0.0000
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
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. Fakultas Ilmu Komputer, Universitas Brawijaya
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 berbedabeda. 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
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
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.
Fakultas Ilmu Komputer, Universitas Brawijaya
1243
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 Health.