Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 1, No. 11, November 2017, hlm. 1406-1415 e-ISSN: 2548-964X http://j-ptiik.ub.ac.id Sistem Rekomendasi Bahan Makanan Bagi Penderita Penyakit Jantung Menggunakan Algoritma Genetika Elisa Julie Irianti Siahaan1, Imam Cholissodin2, M. Ali Fauzi3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: [email protected], [email protected], [email protected] Abstrak Kurangnya kesadaran masyarakat dalam mengatur konsumsi makanan yang sesuai dengan kebutuhan gizi dapat menyebabkan berbagai penyakit salah satunya adalah penyakit jantung. Penyakit Jantung merupakan penyakit yang terjadi akibat dari adanya sumbatan kolesterol dan lemak pada arteri kororner. Mengatur asupan makanan merupakan hal yang sangat penting bagi penderita penyakit jantung untuk dapat mengurangi sumbatan yang ada. Menyusun bahan makanan untuk diet jantung menjadi hal yang sulit karena berbeda dengan diet yang lainnya, dimana dalam diet jantung jumlah protein dan lemak dikurangi. Algoritma genetika dapat menyelesaikan masalah penyusunan bahan makanan dengan proses komputasi. Data dalam melakukan penelitian adalah data bahan makanan penyusun diet yang terdiri dari 8 jenis bahan makanan yaitu karbohidrat, protein hewani, protein nabati, sayur, buah, susu, gula dan minyak. Dalam mengubah bahan makanan menjadi kromosom digunakan representasi kromosom real code. Metode crossover yang digunakan adalah extended intermediate crossover, untuk metode mutasi yang digunakan adalah random mutation dan metode seleksi digunakan elitism selection. Dari hasil pengujian didapatkan nilai parameter algoritma genetika yang optimal, yaitu jumlah populasi sebesar 280 dengan rata-rata nilai fitness 103,7, nilai Cr dan Mr adalah 0,5 dan 0,5 dengan rata-rata nilai fitness 103,3 dan untuk jumlah generasi sebesar 100 dengan rata-rata nilai fitness 111,2. Hasil keluaran dari sistem merupakan rekomendasi bahan makanan dengan 5 kali waktu makan per hari, yaitu makan pagi, snack, makan siang, snack dan makan malam dengan jumlah hari sesuai pilihan pengguna. Kata kunci: penyakit jantung, algoritma genetika, bahan makanan diet jantung Abstract Lack of public awareness in regulating the consumption of food based on nutrition can cause several diseases including heart disease. Heart disease is caused from blockage of cholesterol and fat in the coronary artery. It is very important for people with heart disease to regulate food intake in order to reduce the blockage. Managing the food for the heart diet is difficult because heart diet is different from the other diets, because the amount of protein and fat is reduced. Genetic algorithms can solve the problem of managing food by computation process. The data that are used in this research are diet food ingredients data that consist of 8 kinds of food ingredients, carbohydrate, animal protein, vegetable protein, vegetable, fruit, milk, sugar and oil. In converting food into chromosome, chromosome real code representation is used. The crossover method that is used is extended intermediate crossover, the mutation method that is used is random mutation and the selection method is elitism selection. From the results of the testing, the optimal parameter scores of the genetic algorithm are the population number of 280 with the average fitness score of 103.7, Cr and Mr scores are 0.5 and 0.5 with the average fitness score of 103.3 and for the generations score is 100 with average fitness score of 111.2. Output of the system is food ingredients recommendation with 5 times a day meal time, which consists of breakfast, snack, lunch, snack and dinner with number of days based on user choice. Keywords: Heart disease, genetic algorithm, heart diet food Fakultas Ilmu Komputer Universitas Brawijaya 1406 Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1. PENDAHULUAN Penyakit jantung adalah penyakit yang disebabkan karena terjadinya sumbatan pada arteri koroner. Arteri koroner sendiri merupakan pembuluh darah khusus yang berfungsi sebagai jalur jalannya darah ke jantung. Jantung dapat bergerak normal apabila menerima oksigen dan nutrisi yang cukup. Oksigen dan nutrisi yang diperlukan oleh jantung berada dalam darah yang disalurkan melalui arteri koroner ke jantung. Sumbatan pada arteri koroner disebabkan karena adanya pengendapan dari kolestrol dan lemak, sumbatan ini akan terjadi secara perlahan-lahan semakin menebalnya sumbatan akan memperkecil diameter dari arteri koroner yang menyebabkan jumlah darah yang diberikan ke jantung kurang (Soeharto, 2004). Badan Penelitian dan Pengembangan Kesehatan (Balitbangkes) Kementerian Kesehatan (2014) melakukan suatu penelitian mengenai penyebab kematian di Indonesia. Data yang digunakan didapat dari total jumlah kematian sebanyak 41.590 jiwa sepanjang tahun 2014, dimana setiap kematian diketahui dengan pasti penyebabnya dengan melakukan autopsi verbal. Di dapatkan hasil berupa 10 penyebab kematian di indonesia, peringkat pertama adalah penyakit stroke dengan persentase 21,1% kemudian disusul oleh penyakit jantung yang berada pada nomor 2 sebanyak 12,9% yang menjadi penyebab kematian laki-laki dan perempuan di Indonesia. Sebelumnya WHO (2012) merilis informasi mengenai 10 penyebab kematian di Indonesia dan penyakit stroke berada pada urutan nomor 1 dengan persentase 21,2% lalu disusul oleh penyakit jantung dengan persentase 8,9% atau sebanyak 138,4 ribu penyebab kematian. Kematian yang disebabkan oleh penyakit jantung mengalami peningkatan dari tahun 2000 hingga 2012. Karena tingginya penyebab kematian yang disebabkan oleh penyakit jantung pemerintah memberikan kebijakan untuk mendukung pola hidup sehat dengan, dikeluarkannya Peraturan Menteri Kesehatan No. 30 Tahun 2013 tentang Pencantuman Informasi Kandungan Gula, Garam dan Lemak serta Pesan Kesehatan untuk Pangan Olahan dan Pangan Siap Saji, UU Republik Indonesia No. 36 Tahun 2009 tentang kesehatan, Peraturan pemerintah No. 109 Tahun 2012 mengenai Pengamanan Bahan yang Mengandung Zat Adiktif berupa Produk Tembakau bagi Kesehatan dan Peraturan Fakultas Ilmu Komputer Universitas Brawijaya 1407 Menteri Kesehatan No. 28 Tahun 2013 tentang Pencantuman Peringatan Kesehatan dan Informasi Kesehatan pada Kemasan Produk Tembakau. Bagaimana menentukan makanan yang sehat untuk di konsumsi menjadi hal penting bagi penderita penyakit jantung. Makanan yang sehat adalah makanan yang dapat memenuhi kebutuhan tubuh dari setiap nutrisi yang dibutuhkan tubuh. Sehingga makanan yang sehat adalah makanan yang sesuai dengan kebutuhan tubuh. kita harus mengonsumsi banyak jenis makanan untuk memenuhi kebutuhan gizi. Karena dalam tiap makanan mempunyai kandungan yang berbeda-beda (Wijayati, 2008). Algoritma genetika pernah digunakan dalam beberapa penelitian untuk menyusun komposisi makanan, seperti yang dilakukan oleh Wahid (2015) yang menggunakan algoritma genetika untuk mendapatkan komposisi makanan yang baik bagi penderita penyakit kolesterol. Dalam penelitiannya Nurbaiti memetakan solusi kedalam kromosom real code integer, kromosom yang digunakan mempresentasikan urutan dari nomor data menu makanan yang panjang kromosomnya adalah 9. Pada proses reproduksi di crossover digunakan metode single point crossover dimana metode ini akan menentukan satu titik potong dari panjangnya kromosom dan menggabungkan kromosom yang berada pada awal hingga sebelum titik potong dari parent pertama dan menggabungkannya dengan kromosom setelah dari titik potong hingga akhir pada parent kedua. Pada proses mutasi digunakan metode reciprocal exchange mutation sedangkan metode yang digunakan untuk proses seleksi adalah elitism. Data bahan makanan yang digunakan sebanyak 100 data dan dari hasil pengolahan data menggunakan algoritma genetika di dapatkan nilai dari ratarata fitness adalah 0,18575847 dengan nilai parameter Cr sebesar 0,7 dan nilai Mr sebesar 0,3 sehingga dihasilkan solusi yang optimum dalam menentukan komposisi makanan bagi penderita kolesterol dengan harga yang minim. Penelitian yang dilakukan oleh Hamidah (2016) dalam mengoptimasi makanan menggunakan hybrid algoritma genetika dan juga disempurnakan dengan simulated annealing ditujukan untuk kebutuhan gizi keluarga. Sebagai inputan yang digunakan adalah data aktual dari suatu keluarga. Dalam penelitiannya Hamidah menghitung kebutuhan gizi keluarga menggunakan tabel porsi makan Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer yang disesuaikan dengan umur dari tiap anggota keluarga. Represetasi kromosom yang digunakan adalah real code dengan menggunakan angka 1 hingga 55 sebagai gennya dan merupakan nomor indeks bahan penyusun makanan. Dalam melakukan proses penguraian dari kromosom ke solusi digunakan rumus normalisasi min max hanya di sesuaikan dengan kasus yang ada. dalam proses algoritma genetika metode crossover yang digunakan adalah one cut point crossover dan untuk mutasi menggunakan insertion mutation. Dengan nilai popsize sebesar 280, crossover rate 0,6 dan mutation rate sebesar 0,4 untuk mendapatkan hasil yang optimal. Dalam perhitungan nilai fitness menggunakan jumlah dari selisih nilai gizi, jumlah biaya dan variasi dari makanan. Sehingga solusi diharapkan dapat mempunyai nilai gizi yang baik, dengan memperhitungkan biaya yang dikeluarkan untuk memenuhi kecukupan gizi namun juga dengan pilihan makanan yang lebih bervariasi. Dalam penelitian lainnya yang dilakukan oleh Penelitiian lain yang dilakukan oleh Wahid (2015) yang menggunakan algoritma genetika untuk mendapatkan komposisi makanan yang baik bagi penderita penyakit kolesterol. Data bahan makanan yang digunakan sebanyak 100 data dan dari hasil pengolahan data menggunakan algoritma genetika di dapatkan nilai dari rata-rata fitness adalah 0,18575847 dengan nilai parameter Cr sebesar 0,7 dan nilai Mr sebesar 0,3 sehingga dihasilkan solusi yang optimum dalam menentukan komposisi makanan bagi penderita kolesterol dengan harga yang minim. Sehingga dari permasalahan yang ada dan berdasarkan kajian dari penelitian sebelumnya penulis akan menggunakan algoritma genetika untuk mendapatkan bahan makanan yang optimal sesuai dengan kebutuhan gizi bagi penderita penyakit jantung. Dalam penelitian ini hanya menggunakan algoritma genetika untuk menyelesaikan masalah karena algoritma genetika sudah mampu dalam memberikan hasil yang baik seperti pada penelitian Wahid. Penelitian ini menerapkan representasi kromosom real code dan rumus persamaan min max dalam proses penguraian kromosom menjadi indeks bahan makanan seperti penelitian yang dilakukan oleh Hamidah. Dan dalam proses crossover dan mutasi menggunakan extended intermediate crossover dan random mutation seperti penelitian Fadilah Fakultas Ilmu Komputer Universitas Brawijaya 1408 untuk mendapatkan offspring lebih beragam dari induknya. 2. TINJAUAN PUSTAKA 2.1 Penyakit Jantung Penyakit jantung dikarenakan seringnya mengkonsumsi makanan yang berlemak tinggi yang menyebabkan terjadi penebalan plak pada pembuluh nadi koroner yang membuatnya menjadi kurang lentur. Disaat pembuluh nadi koroner mengalami penyumbatan maka jantung tidak mendapatkan aliran darah yang membawa oksigen yang menyebabkan kerja jantung terhenti ini disebut sebagai serangan jantung koroner (Sulistiani, W,2005). Gambar organ jantung terdapat pada Gambar 1. Gambar 1 Jantung Penyebab dari terkena penyakit jantung sangat erat kaitannya dengan konsumsi makanan yang mempunyai gizi seimbang dan juga diet. Dikarenakan penyakit jantung adalah penyakit yang bersifat multifactorial sehingga dalam hal diet dapat menekan faktor primer dan sekunder dari penyakit jantung (Krisnatih dan Yenrina, 1999). 2.2 Energi Energi adalah daya atau sumber kemampuan bekerja. Energi tidak dapat rusak melainkan energi mengalami perubahan bentuk dari suatu bentuk tertentu menjadi bentuk yang lainnya. (Beck, 2000). BMR (Basal Metabolisme Rate) atau AMB (Angka Metabolisme Basal) adalah suatu cara untuk menghitung kebutuhan nilai energi total dimana terdapat beberapa faktor yang mempengaruhi seperti jenis kelamin, usia, tinggi badan dan berat badan. Adapun rumus untuk menghitung BMR dikemukakan oleh Harris bennedict terdapat dalam persamaan (1) dan persamaan (2) (Instalasi Gizi RST dr.Soepraoen malang, 2016). Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Untuk laki-laki : BEE = 66+(13,8*W)+(5*H)–(6,8*A) (1) Untuk perempuan : BEE=655+(9,6*W)+(1,85*H)–(4,7*A) (2) Keterangan : BEE = Body Enegry Expenditure W = Weight atau Berat Badan (Kg) H = Height atau Tinggi Badan (Cm) A = Age atau Usia (tahun) 1409 populasi mempunyai tingkat kebugaran yang berbeda, fungsi dari tingkat kebugaran ini menyatakan ketahanan dari suatu individu dalam menjalani proses seleksi alam sehingga individu dengan nilai kebugaran yang baik yang dapat bertahan sedangkan yang lainnya mati (Zukhri, 2014) . 3. PERANCANGAN Dalam menentukan kebutuhan energi harian juga digunakan faktor aktivitas seperti yang terdapat pada Tabel 1. Tabel 1 Faktor Aktivitas Fisik aktivitas sangat ringan Ringan sedang Berat gender laki-laki perempuan 1,30 1,65 1,76 2,10 1,30 1,55 1,70 2,00 Sehingga untuk menghitung kebutuhan energi harian digunakan Persamaan (3). Energi harian= BEE * Faktor Aktivitas (3) Dalam membagi energi harian ke kebutuhan protein digunakan Persamaan (4). Keb.Protein = (15% *Energi)/4 (4) Dalam membagi energi harian ke kebutuhan protein digunakan Persamaan (5). Keb.Lemak =(20%*Energi)/ 9 (5) Dalam membagi energi harian ke kebutuhan protein digunakan Persamaan (6). Keb.Karbohidrat=(65%*Energi)/4 (6) 2.3 Algoritma Genetika Algoritma genetika merupakan salah satu metode heuristik atau metode yang dikembangkan berdasarkan proses genetika yang terjadi secara alami dan juga Teori Evolusi Darwin dalam proses seleksi di alam. Teori Evolusi Darwin menyatakan bahwa suatu individu ada secara acak dan bertambah banyak dengan melakukan proses reproduksi. Kumpulan individu ini yang disebut sebagai populasi. Setiap individu yang berada dalam Fakultas Ilmu Komputer Universitas Brawijaya Gambar 2 Diagram Alir Perancangan Sistem Gambar 2 dijelaskan sebagai berikut: 1. Sistem menerima input dari user berupa data berat badan, tinggi badan, usia, jenis kelamin dan jenis aktivitas. 2. Dari input pengguna sistem akan menghitung total energi harian dari pengguna 3. Menghitung kebutuhan protein bedasarkan kebutuhan energi total 4. Menghitung kebutuhan lemak bedasarkan kebutuhan energi total 5. Menghitung kebutuhan karbohidrat bedasarkan kebutuhan energi total 6. Sistem akan membangun individu awal sebanyak jumlah dari popsize 7. Proses crossover dilakukan dan akan menghasilkan offspring atau individu baru. 8. Proses mutasi dilakukan dan akan menghasilkan offspring atau individu baru. 9. Proses nilai fitness dilakukan untuk mengetahui kualitas dari tiap individu Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 10. Seleksi dilakukan untuk menentukan individu mana yang akan masuk dalam iterasi selanjutnya. 11. Sistem akan memberikan rekomendasi bahan makanan setelah mendapatkan individu terbaik yang menjadi solusi. 3.1 Contoh Persoalan Data dari seorang penderita penyakit jantung laki-laki adalah sebagai berikut, tinggi badan 180, berat badan 86,usia 60, jenis kelamin lakilaki dan aktivitas sedang. Langkah pertama yang harus dilakukan adalah mencari berat badan ideal. BBI= (180-100)-(10% * (180-100) = 72 kg. Dari hasil perhitungan berat badan dapat diketahui bahwa penderita laki-laki mengalami berat badan yang melebihi berat badan ideal. Selanjutnya menghitung kebutuhan energi harian sesuai dengan keadaan berat badan yang seharusnya atau ideal. BEE=66+(13,8*86)+(5*180)-(6,8*60) =1544,4kkal. Hasil BEE akan dikalikan dengan faktor aktivitas fisik seperti yang terdapat dalam Tabel 1. 1410 3.2.2 Representasi Kromosom Representasi kromosom yang digunakan adalah representasi real code bilangan bulat. Dimana setiap angka dalam kromosom merepresentasikan indeks yang terdapat dalam data daftar bahan makanan. Kromosom untuk 1 hari mempunyai gen sebanyak 26. Jumlah kromosom didapatkan dari 3waktu makan, yaitu makan pagi, makan makan siang, dan makan malam dan 2 waktu snack. Setiap waktu makan masing-masing terdiri dari 8 bahan penyusun makanan (karbohidrat, protein hewani, protein nabati, sayur, buah, gula, lemak dan minyak). Sedangkan snack hanya terdiri dari 1 bahan penyusun makanan yaitu buah. Dalam perhitungan manual 1 kali makan disusun oleh 4 bahan penyusun (karbohidrat, protein hewani, protein nabati, minyak) yang masing-masing diwakili oleh 1 gen dan snack terdiri dari 1 bahan penyusun makanan (buah) sehingga untuk 3 kali makan ada 12 gen, sedangkan untuk 2 kali snack ada 2 gen sehingga total gen dalam sehari untu perhitungan manual adalah 14. Dalam perhitungan manual solusi yang dihasilkan adalah untuk 2 hari rekomendasi bahan makanan sehingga panjang kromosomnya adalah 28. Contoh kromosom untuk 1 hari seperti yang terdapat dalam Tabel 2. Total energi harian = 1544,40 kkal * 1,76 = 2718,14 kkal/hari. Dari total energi harian akan dibagikan kedalam kebutuhan protein, karbohidrat dan lemak. Kebutuhan protein=(15/100*2718,14)/4 = 441,70 g Kebutuhan lemak = ( 20/100 * 2718,14 )/ 9 =60,40 g Kebutuhan karbohidrat =(60/100*2718,14) /4 = 407,72 gram Tabel 2 Kromosom Snac k Makan Pagi K 1 Snac k P H 2 P N 3 Makan Siang L B K 4 5 6 P H 7 P N 8 L 9 Makan Malam B K 10 11 P H 12 P N 13 L 14 3.2 Perhitungan Manual Algoritma Genetika Keterangan : K: Karbohidrat PH: Protein Hewani PN: Protein Nabati L: Lemak B: Buah 3.2.1 Parameter Algoritma Genetika 3.2.3 Inisialisasi Individu awal Algoritma genetika memiliki beberapa parameter yang di tentukan secara default untuk menyelesaikan perhitungan manual Parameter yang digunakan dala penelitian ini berserta nilainya adalah PopSize= 3, Cr =0,8, Mr = 0,2, Jumlah generasi=1. Sesuai dengan nilai parameter PopSize maka untuk membangitkan populasi awal akan dibangkitan 3 individu. Pada setiap individu nilai gen di acak dari angka 1 sampai 40 secara acak. Adapun contoh inisialisasi individu awal seperti pada Tabel 3. Fakultas Ilmu Komputer Universitas Brawijaya Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1411 Tabel 3 Individu Awal P 1 P 2 P 3 1 7 2 9 3 7 2 0 1 9 2 6 1 3 7 6 3 6 4 1 9 3 0 2 0 3 7 1 4 3 7 3 0 9 2 1 6 3 9 1 5 3 0 3 7 1 5 1 4 3 4 2 3 8 1 3 3 7 3 5 3 4 8 2 7 6 1 2 5 3 0 4 1 1 4 1 2 3 8 2 4 3 3 1 0 3 7 2 7 1 6 4 2 6 1 3 3 4 3 1 2 8 3 6 3 7 1 2 5 3 5 6 1 7 1 8 9 7 1 7 2 7 2 2 1 7 2 6 1 1 3 3 2 0 1 3 3 3 2 5 1 4 2 7 3 5 3 6 2 6 3.2.4 Crossover Dalam penelitian ini pada proses crossover menggunakan metode extended intermediate crossover. Adapun proses dalam crossover sebagai berikut: a. Hitung jumlah offspring untuk crossover. (crossover)=0,8*3=2,4(dibulatkan) =2 b. Pilih 2 individu secara acak yang akan dijadikan sebagai induk. Dalam perhitungan manual yang terpilih sebagai induk adalah individu ke 1 dan individu ke 3. c. Tentukan nilai gen menggunakan Persamaan (7). C1 = P1 + α ( P2 - P1 ) C2 = P2 + α ( P1 – P2 ) C2 28 36 27 9 25 35 34 6 23 6 11 27 24 27 15 36 30 27 10 14 33 21 28 30 33 23 30 3.2.5 Mutasi Dalam penelitian proses mutasi menggunakan metode random mutation. Adapun langkahlangkah dalam melakukan mutasi sebagi berikut: a. Hitung jumlah offspring untuk mutasi. Jumlah offspring dari proses mutasi didapatkan dari perkalian nilai parameter Mr dengan PopSize. Offspring (mutasi) = 0,2*3=0,6(dibulatkan) =1 b. Pilih satu individu secara acak. Individu yang dipilih dalam proses mutasi adalah individu P2. c. Tentukan nilai gen menggunakan rumus. Metode random mutation memungkinkan untuk menghasilkan nilai gen yang lebih bervariasi. dari random mutation dengan persamaan (8). x’i = x’i + r ( maxi – mini ) (7) Dalam perhitungan manual ini nilai α yang akan dibangkitkan dalam range terkecil 0 dan terbesar adalah 1. Nilai α dibangkitkan sebanyak jumlah gen dalam kromosom yaitu 28. Index ke-1 : α = 0,73 21 (8) Indeks ke-1 : x’1 = 23 + 0,04 * ( 40 – 1 ) = 25 sehingga didapatkan child hasil mutasi seperti pada Tabel 5. Tabel 5 Hasil Mutasi C1 = 17 + 0,73 ( 31 – 17) = 27,22 (dibulatkan) 27 C2 = 31 + 0,73 ( 17 - 31 ) = 20,78 C3 (dibulatkan) 21 25 10 3 39 10 29 16 29 3 8 14 18 5 14 40 6 39 7 26 28 37 32 35 15 36 6 12 36 Index ke-2 : α = 0,3 C1 = 29 + 0,3 ( 28 – 29) = 28,7 3.2.6 Nilai Gizi (dibulatkan) 29 Nilai gizi digunakan sebagai acuan nilai fitness dikarenakan jika semakin besar nilai selisih dari kebutuhan kalori, protein, lemak dan karbohidrat yang dianjurkan ahli gizi maka akan membuat solusi yang dihasilkan dari algoritma genetika menjadi semakin buruk. Langkah pertama adalah melakukan decoding. Dalam melakukan decoding atau merubah nilai gen menjadi nilai indeks pada bahan makanan digunakan metode normalisasi min-max (Hamidah, 2016). Adapun rumus normalisasi min max seperi Persamaan (9): C2 = 28 + 0,3 ( 29 - 28 ) = 28,3 (dibulatkan) 28 Sehingga individu hasil crossover terdapat pada Tabel 4. Tabel 4 Hasil Crossover C1 27 29 37 30 11 26 1 9 17 32 7 15 20 23 31 28 36 37 1 25 35 6 17 18 9 7 17 27 Fakultas Ilmu Komputer Universitas Brawijaya Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer V’ = π£−ππππ΄ πππ₯π΄−ππππ΄ (11). ∗ (πππ€πππ₯π΄πππ€ππππ΄ ) + πππ€_ππππ΄ Keterangan : V’ V minA maxA new_maxA normalisasi new_minA normalisasi (9) = Angka normalisasi = Angka asli = Index minimal angka asli = Index maksimal angka asli =Index maksimal angka = index minimal angka Menghitung selisih nilai kalori, protein,karbohidrat dan lemak dari tiap individu terhadap nilai kalori, protein,karbohidrat dan lemak dari perhitungan harian. Nilai konstanta yang digunakan tergantung pada jumlah hari, sehingga untuk nilai konstanta (cGizi) pembagi nilai gizi terdapat pada Tabel 4.6. Tabel 4.6 Nilai Konstanta Fitness Jumlah hari 1 2 3-4 5-7 Konstanta Gizi 100 1500 10000 15000 1412 Konstanta Harga 1000000 1500000 3000000 10000000 Persamaan untuk menghitung selisih gizi seperti pada persamaan (10). Nilai Gizi = cGizi / (|kalori_individu – (kalori*2)| + |protein_individu – (protein*2)| + |karbohidrat_individu – (karbohidrat*2)| +|lemak_individu – (lemak*2)|) (10) 3.2.7 Nilai variasi Harga/berat = πππππ‘ 1000 * harga/kg (11) 3.2.9 Nilai Fitness Dalam mendapatkan nilai fitness dari tiap individu maka nilai gizi, nilai variasi dan juga nilai harga dijumlahkan. Nilai fitness yang didapta dari tiap individu menggambarkan bagaimana kualitas dari suatu individu. Semakin besar nilai fitness yang dimilii maka semakin baik juga kualitas dari indiviu tersebut. Untuk menghitung nilai fitness digunakan persamaan (12) dengan melihat nilai cHarga dan cGizi pada Tabel 4.6 sebagai berikut: F(x) = πΆπππ§π πππππ_πππ§π + πΆβππππ πππππ_βππππ + Variasi (12) Nilai Cgizi dan Charga adalah nilai konstanta untuk menyamakan nilai gizi dan harga tehadap variasi. Sehingga nilai antara nilai gizi, harga dan variasi sebanding. 3.2.10 Seleksi Penelitian ini menggunakan metode seleksi elitism. selection Sehingga yang dimambil menjadi solusi adalah individu yang memiliki nilai fitness tertinggi. individu yang lolos seleksi sebanyak nilai parameter popsize. Individu yang lolos seleksi akan menjadi individu awal di generasi selanjutnya. 4. IMPLEMENTASI Pada halaman home sistem akan terdapat 3 bagian yaitu bagian untuk memasukkan data diri pengguna, lalu ada bagian untuk mengatur nilai parameter algoritma genetika, dan bagian tabel yang akan menampilkan nilai fitness dari tiap generasi yang ditampilkan pada Gambar 2. Nilai variasi dari hasil solusi juga menjadi acuan nilai fitness, dikarenakan dalam penelitian ini kita menginginkan solusi yang dihasilkan memiliki tingkat variasi yang tinggi. Nilai variasi dihitung dengan cara melihat jumlah gen yang tidak diulang sepanjang kromosom. 3.2.8 Nilai harga Nilai harga yang semakin rendah membuat hasil solusi semakin baik, hal ini karenakan penderita dapat mengeluarkan dana yang seminimal mungkin untuk membeli bahan makanan yang direkomendasikan. Untuk menghitung nilai harga digunakan persamaan Fakultas Ilmu Komputer Universitas Brawijaya Gambar 1 halaman utama Berikut hasil program saat tombol default Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer atau set baru dijalankan seperti pada Gambar 3. Gambar 2 halaman utama dijalankan Selanjutya saat menekan tombol hasil maka akan membuka jendela baru yang menampilkan hasil keluaran dari sistem berupa rekomendasi bahan makanan seperti pada Gambar 4. 1413 itu mengalami penurunan pada nilai popsize ke 340 dan seterusnya tidak mengalami perubahan yang signifikan dan juga tidak melebihi nilai fitness pada popsize ke 320. Sehingga untuk nilai popsize yang optimal adalah 320 dengan ratarata nilai fitness sebesar 138,03. Sehingga dapat di simpulkan bahwa semakin banyak jumlah populasi yang digunakan dalam penyelesaian algoritma genetika maka dapat menghasilkan nilai fitness yang semakin optimal. Hal ini di karenakan semakin banyak variasi gen yang akan dihasilkan membuat semakin banyak peluang lain untuk mendapatkan nilai fitness yang lebih baik. 140,00 138,00 136,00 Nilai Fitness 134,00 134,5 134,7 132,00 130,00 136,2 135,1 136,2 137,0 136,6 135,1 138,0 137,7 137,7 137,9 137,2 135,3 133,8 130,8 128,00 126,00 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 Popsize Gambar 4 Pengujian jumlah populasi 5.2 Pengujian dan Analisis Cr dan Mr Gambar 3 halaman hasil Pengguna juga dapat mencetak bahan hasil keluaran sistem ke dalam pdf dengan menekan tombol cetak. 5. PENGUJIAN 5.1 Pengujian dan Analisis Popsize Pengujian jumlah populasi atau popsize di lakukan untuk mengetahui jumlah popsize yang baik untuk dapat menghasilkan nilai fitness yang paling optimal. Dalam melakukan pengujian popsize digunakan parameter-parameter algoritma genetika yang lainnya seperti jumlah generasi sebesar 10, Cr sebesar 0,8, Mr sebesar 0,2 dan panjang kromosom yang digunakan dalam pengujian adalah 78 yang didapatkan dari perhitungan untuk menghasilkan 2 hari rekomendasi bahan makanan. Dari Gambar 5 diketahui grafik mengalami kenaikkan, meskipun terdapat beberapa kali penurunan nilai. Terdapat kenaikkan nilai fitness yang signifikan pada nilai posize ke 320 sesudah Fakultas Ilmu Komputer Universitas Brawijaya Pengujian Cr dan Mr dilakukan untuk mengetahui jumlah offspring dari crossover dan offspring dari mutasi yang dapat menghasilkan nilai fitness paling optimal. Pengujian dilakukan terhadap 8 jenis nilai Cr dan Mr yang berkisar dari 0,1 sampai 0,9. Dalam pengujian Cr dan Mr parameter popsize yang digunakan adalah 320 sesuai dengan hasil popsize terbaik yang di dapatkan pada pengujian popsize, jumlah generasi sebesar 10, dan panjang kromosom adalah 78 yang didapatkan dari perhitungan untuk menghasilkan 2 hari rekomendasi bahan makanan. Dari Gambar 6 diketahui nilai fitness mengalami kenaikkan seiring dengan berkurangnya nilai Cr dan bertambahnya nilai Mr. Didapatkan nilai fitness tertinggi pada nilai Cr dan Mr sebesar 0,5 dan 0,5 dengan rata-rata nilai fitness sebesar 136,3. Setelah itu nilai fitness mengalami penurunan seiring dengan berkurangnya nilai Cr dan bertambahnya nilai Mr. Nilai Cr yang tinggi akan membuat algoritma genetika mengalami level eksploitasi yang juga tinggi, hal ini menyebabkan nilai Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer fitness yang dihasilkan akan rendah karena offspring dari crossover akan lebih cenderung mirip dengan induknya dan membatasi untuk melakukan eksplorasi terhadap individu lainnya. 138,0 136,0 Nilai fitness 134,0 136,3 132,0 130,0 124,0 133,3 132,4 130,7 128,0 126,0 134,7 134,2 130,5 127,4 122,0 0,9;0,1 0,8;0,2 0,7;0,3 0,6;0,4 0,5;0,5 0,4;0,6 0,3;0,7 0,2;0,8 Cr dan Mr Gambar 5 pengujian Cr dan Mr 5.3 Pengujian dan Analisis Jumlah Generasi Pengujian terhadap parameter jumlah generasi di lakukan untuk mengetahui jumlah generasi terbaik yang dapat menghasilkan solusi yang paling optimal. Pengujian dilakukan terhadap 10 jenis nilai Generasi yang berkisar dari 10 sampai 100 dan untuk tiap generasi dilakukan pengujian sebanyak 10 kali dan terhadap nilai fitness yang dihasilkan. 155,0 Nilai fitness 150,0 148,5 145,0 148,1 151,4 148,7 152,6 151,0 151,8 151,2 1414 karena ada kemungkinan nilai fitness yang lebih baik pada generasi selanjutnya. 6. KESIMPULAN Beberapa kesimpulan yang didapakan dari hasil pengujian dan juga analisis pada Sistem rekomendasi bahan makanan bagi penderita penyakit jantung menggunakan algoritma genetika adalah sebagai berikut: 1. Metode yang digunakan dalam representasi kromosom berupa real code. Proses crossover menggunakan metode extended intermediate crossover, metode mutasi random mutation dan metode seleksi yang digunakan adalah elitism selectiom. 2. Nilai parameter algoritma genetika yang paling optimal untuk jumlah populasi sebesar 280, nilai Cr dan Mr sebesar 0,5 dan 0,5, dan jumlah generasi sebesar 100. 3. Sistem mampu memenuhi kebutuhan gizi pasien dengan nilai selisih gizi tidak lebih dari 10% untuk setiap kandungan kalori, protein, karbohidrat dan lemak. Total harga yang diberikan sesuai dengan berat bahan makanan untuk konsumsi dan variasai yang dihasilkan baik. DAFTAR PUSTAKA 145,5 145,9 140,0 135,0 138,2 140,7 130,0 10 20 30 40 50 60 70 80 90 100 110 120 Jumlah Generasi Gambar 6 Pengujian Generasi Dari gambar 7 diketahui hasil pengujian dari jumlah generasi terhadap rata-rata nilai fitness mengalami kenaikkan seiring dengan bertambahnya nilai generasi. Didapatkan nilai terendah berada pada generasi terkecil 10 yaitu 138,2 dan nilai rata-rata fitness tertinggi adalah 152,6 dengan nilai generasi sebesar 90. Setelah generasi 90 nilai fitness mengalami konvergensi dimana nilai fitness yang dihasilkan tidak mengalami kenaikkan yang signifikan hal ini disebabkan karena pada generasi ke 90 algoritma genetika sudah mampu mengindikasikkan hasil solusi yang optimal. Kenaikan nilai generasi yang semakin besar dan mempengaruhi nilai fitness yang juga semakin baik disebabkan Fakultas Ilmu Komputer Universitas Brawijaya Fadilah, A. N. 2015. Implementasi Analytical Hierarchy Process (AHP) dan Algoritma Genatika untuk Rekomendasi dan Optimasi Pemupukan Berimbang Tanaman Hortikutural. Malang: Universitas Brawijaya. Hamidah, C. 2016. Optimasi Susunan Bahan Makanan untuk Pemenuhan Gizi Keluarga Menggunakan Hybrid Algoritma Genetika dan Simulated Annealing. Malang: Universitas Brawijaya. Kusharto, M. 1992. Prinsip-Prinsip Ilmu Gizi. Bogor: Kanisius. Mahmudy, W. F. 2015. Dasar-Dasar Algoritma Evolusi. Malang: Program Teknologi Informasi dan Ilmu Komputer Universitas Brawijaya. Michalewicz, Z. 1996. Genetic Algorithm and Data Structures. Evolution . Berlin: Springer-Verlag. Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Negnevitsky, M. 2005. Artifial Intelligence a Guide to Intelligent System. 2 Harlow. England: Addison Wesley. Rianawati, A. 2015. Implementasi Algoritma Genetika Untuk Optimasi Komposisi Makanan Bagi Penderita Diabetes Mellitus. Malang: Universitas Brawijaya. Sakawa, M. 2002. Genetic algorithms and fuzzy multiobjective optimization. New York: Springer Science+Business Media. Soeharto, I. 2004. Penyakit Jantung Koroner dan Serangan Jantung. Jakarta: Gramedia Pustaka Utama. Suryanto. 2007. Artificial Intelligence Searching, Reasonig, Planning dan Learning. Bandung: Informatika. Wahid, N. 2015. Optimasi Komposisi Makanan untuk Penderita Kolestrol Menggunakan Algoritma Genetika. Malang: Universitas Brawijaya. Wijayati, E. 2008. Mengenal Makanan Sehat. Bogor: Niaga Swadaya. Yuniasturi, A. 2008. Gizi dan Kesehatan. Semarang: Graha Ilmu. Fakultas Ilmu Komputer Universitas Brawijaya 1415