Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

77
SISTEM PEMILIHAN MENU MAKANAN BAGI PENDERITA DIABETES SESUAI KEBUTUHAN KALORI HARIAN DENGAN ALGORITMA SEMUT Untuk memenuhi tugas Algoritma Evolusi Oleh: Hanani Rizal Hidayat 105060801111031 Andrian Riza Hermawan 105060800111028 Renny Christine Amantha H. 105060807111143

description

diabetes mellitus

Transcript of Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Page 1: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

SISTEM PEMILIHAN MENU MAKANAN BAGI PENDERITA DIABETES SESUAI

KEBUTUHAN KALORI HARIAN DENGAN ALGORITMA SEMUT

Untuk memenuhi tugas Algoritma Evolusi

Oleh:

Hanani Rizal Hidayat 105060801111031

Andrian Riza Hermawan 105060800111028

Renny Christine Amantha H. 105060807111143

UNIVERSITAS BRAWIJAYA

MALANG

2013

Page 2: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Lampiran 5. Draft/Proposal Program Hibah Penelitian Mahasiswa

Nama : Andrian Riza HermawanNIM : 105060800111028Program Studi : Informatika/Ilmu KomputerEmail : [email protected]. HP : 085790844111

Usulan Judul : Sistem Pemilihan Menu Makanan Bagi Penderita Diabetes Sesuai Kebutuhan Kalori Harian Dengan Algoritma Semut

Mata Kuliah Pendukung

: Algoritma Evolusi, Pemrograman Internet, Analisis dan Perancangan Sistem

Latar Belakang : Diabetes atau yang biasa dikenal dengan istilah kencing manis merupakan penyakit yang disebabkan karena adanya gangguan pada kerja hormon insulin, yang dihasilkan oleh kelenjar pankreas. Hormon insulin merupakan hormon yang mengatur metabolisme glukosa dalam darah. Pada penderita diabetes, gangguan tersebut menyebabkan kadar gula dalam darah meningkat dan dikenal dengan istilah “hyperglycemia”.

Diabetes di Indonesia sendiri merupakan salah satu penyakit yang memprihatinkan. Menurut perhitungan Organisasi Kesehatan Dunia (World Health Organisation/WHO) penderita diabetes di Indonesia Mencapai 8,4 juta penderita pada tahun 2000 dan meningkat jadi 21,3 juta orang pada tahun 2010, dan diperkirakan jumlah penderita diabetes di Indonesia akan melonjak drastis yang diprediksi meningkat menjadi 21,3 juta di tahun 2030. Menurut Data Riset Kesehatan Dasar (Riskesdas) 2007 menunjukkan diabetes merupakan penyebab kematian nomor 6 dari seluruh kematian pada semua kelompok umur di Indonesia.

Penyakit yang memiliki nama asli Diabetes Mellitus ini dikarenakan adanya peningkatan yang signifikan atas Hiperglisema atau kadar gula darah. Peningkatan tersebut diyakini secara terus menerus bertambah seiring dengan konsumsi makanan yang dicerna.

Penyebab dasarnya tentu dari sumber makanan yang dikonsumsi. Gula merupakan bahan makanan yang menyebabkan tingginya kadar gula darah. Gula yang bernama lain glukosa tersebut diketahui bisa menjadi energi utama di dalam tubuh ketika masuk ke aliran darah. Ketika makanan dicerna ke dalam tubuh, salah satu organ tubuh yaitu Pankreas bisa memproduksi insulin. Insulin sendiri memiliki tugas yaitu mengangkut semua glukosa yang langsung dibawa ke sel-sel hati, otot, lemak dan semua itu akan dijadikan sebagai bahan bakar bagi tubuh. Penderita diabetes

DRAFT/PROPOSAL

HIBAHPENELITIA

N MAHASISWA 2013

Page 3: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

memiliki kadar gula darah yang tinggi, disebabkan karena pankreas tidak dapat memproduksi insulin ataupun otot, lemak dan sel-sel hati tidak merespon insulin secara normal. Ataupun kedua-duanya.

Salah satu faktor penyebab utama diabetes adalah pola makan. Pola makanan dengan karbohidrat yang berlebihan akan meningkatkan resiko terkena diabetes. Penderita diabetes pada umumnya tidak perlu mengonsumsi jenis makanan tertentu. Hal yang penting dalam pola makan penderita diabetes adalah membatasi jumlah dan memperhatikan jadwal makan. Dengan kata lain, tujuan yang ingin dicapai adalah mengkonsumsi makanan yang memiliki kandungan kalori/karbohidrat yang rendah, serta lebih banyak mengonsumsi sayur, dan buah. Dengan memilih karbohidrat dengan glikemiks indeks yang lebih rendah. Karbohidrat dengan glikemiks indeks yang rendah akan menyebabkan peningkatan kadar gula dalam darah yang lebih perlahan sehingga tidak menyebabkan mudah menjadi lapar.

Sehingga pemilihan menu makanan dengan kandungan karbohidrat yang sesuai kebutuhan kalori harian penderita diabetes menggunakan Algoritma Semut merupakan salah satu upaya untuk menekan kadar gula darah bagi penderita diabetes.

Rumusan Masalah : 1. Bagaimana cara mendesain sistem untuk pemilihan menu makan bagi penderita diabetes menggunakan algoritma semut?

2. Bagaimana cara mengimplementasikan algoritma semut untuk pemilihan menu makan penderita diabetes?

Tujuan : 1. Untuk mengetahui cara mendesain sistem untuk pemilihan menu makan bagi penderita diabetes menggunakan algoritma semut

2. Untuk mengetahui cara mengimplementasikan algoritma semut dalam pemilihan menu makan penderita diabetes

Manfaat : 1. Bagi penulis, menambah pengetahuan dan pengimplementasian secara langsung ilmu yang telah didapat selama masa perkuliahan tentang algoritma semut.

2. Bagi end user, Membantu penederita diabetes untuk menentukan menu makanan terbaik yang sehat dan sesuai kebutuhan kalori harian penderita.

3. Bagi pembaca, menambah wawasan dalam penentuan kebutuhan kalori harian bagi penderita diabetes dengan algoritma semut.

Tinjauan Pustaka : Ant Colony Optimization(ACO) merupakan teknik pencarian multi agent untuk menyelesaikan permasalahan kombinatorial dan persoalan yang lain yang di inspirasi tingkah laku semut dalam suatu koloni (Marco, 2004). Algoritma ant colony pertama kali diperkenalkan oleh Marco Dorigo pada tahun 1992 sebagai thesis PhD-nya yang kemudian di publikasikan dengan nama Ant System (AS) dan diaplikasikan pada Traveling Salesman Problem pada tahun 1996. Algoritma ini di inspirasi oleh tingkah laku koloni semut, bagaimana hewan yang hampir buta dengan kemampuan individu yang sederhana dapat menemukan jalan terpendek (sarang semut dengan sumber makanan) jika bersama dalam suatu koloni.

Perwira (2012) melakukan penelitian dengan judul Sistem untuk Konsultasi

Page 4: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Menu Diet bagi Penderitas Diabetes Melitus Berbasis Aturan. Dalam penelitiannya sistem yang dibangun merupakan sistem pakar, perancangan sistem menggunakan rule based resoning yang disimpan dalam suatu sistem basis data menggunakan mesin inferensi forward chaining dan aturan RSCM.

Marpaung (2011) dalam skripsinya melakukan penelitian tentang Perancangan Aplikasi Penyusun Menu Makanan untuk Penderita Diabetes menggunakan Algoritma Genetika. Dalam penenlitiannya Eva membuat suatu aplikas desktop dengan bahasa pemrograman PHP dimana pencarian solusi optimal menerapkan algoritma genetika.

Rusdianto (2010) melakukan penelitian Rancang Bangun Aplikasi Konsultasi Makanan Sehat Bagi Penderitas Diabetes Berbasis Mobile Menggunakan Teknologi J2ME. Dedy melakukan penelitian tentang konsultasi makanan sehat bagi penderita diabetes dengan menggunakan teknologi mobile J2ME.

Dasar Teori : DiabetesMenurut Hani (2006) pada http://www.wrm- indonesia.org/content/ blog category/6/90/, diabetes adalah kelainan metabolisme tubuh dalam mengurai karbohidrat, yang ditandai dengan kenaikan gula darah dan kurangnya kadar insulin maupun kurangnya kerja insulin di dalam tubuh.

Diabetes Mellitus merupakan suatu kelompok metabolik dengan karakteristik hiperglikemia yang terjadi karena kelainan sekresi insulin, kerja insulin atau kedua-duanya. Hiperglikemia kronik pada Diabetes berhubungan dengan kerusakan jangka panjang, disfungsi dan kegagalan beberapa organ tubuh, terutama mata, ginjal, syaraf, jantung dan pembuluh darah (American Diabetes Association , 2003).

Seseorang dikatakan menderita Diabetes Mellitus jika angka gula darahnya pada saat puasa di atas 126 mg/dL. Atau jika 2 jam setelah makan, angka gula darahnya di atas 200 mg/dL. Diabetes Mellitus sering juga disebut sebagai th e great im itator, karena penyakit ini dapat mengenai semua organ tubuh dan menimbulkan berbagai macam keluhan. Gejalanya sangat bervariasi. Diabetes mellitus (DM) dapat timbul secara perlahan-lahan sehingga pasien tidak menyadari akan adanya perubahan.

Menurut World Health Organization (WHO), Diabetes Mellitus merupakan suatu yang tidak dapat dituangkan dalam satu jawaban yang jelas dan singkat tetapi secara umum dapat dikatakan sebagai suatu kumpulan problema anatomik dan kimiawi yang merupakan akibat dari sejumlah faktor di mana didapat defisiensi insulin absolute atau relatif dan gangguan fungsi insulin (Soegondo et al, 2004).

Karena kekurangan insulin dan memiliki kadar gula yang tinggi dalam darah, maka beberapa gejala yang umum bagi penderita diabetes. Apabila Anda mengalami beberapa gejala tersebut, ada baiknya Anda melakukan pengecekan untuk mengetahui kadar gula darah. Secara umum, beberapa

Page 5: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

gejala yang terjadi antara lain:• Sering buang air kecil• Sering merasa sangat haus• Sering lapar karena tidak mendapat cukup energi sehingga tubuh

memberi sinyal lapar• Penurunan berat badan secara tiba-tiba meski tidak ada usaha

menurunkan berat badan. Hal ini karena sewaktu tubuh tidak dapat menyalurkan gula ke dalam sel-selnya, tubuh membakar lemak dan proteinnya sendiri untuk mendapatkan energi.

• Sering kesemutan pada kaki atau tangan.• Mengalami masalah pada kulit seperti gatal atau borok.• Jika mengalami luka, butuh waktu lama untuk dapat sembuh.

Diet DiabetesMengatur menu makanan sangat dianjurkan bagi penderita diabetes untuk menghindari dan membatasi fluktuasi kadar glukosa darah yang tidak terkontrol sehingga penderita tidak mengalami hipoglikemia atau koma karena hiperglikemia. Tujuan terapi diet diabetes adalah untuk mencapai kadar gula darah normal, melindungi jantung, mengontrol kadar kolesterol, dan tekanan darah, mencapai berat badan ideal, mencegah timbulnya komplikasi, dan mencapai derajat kesehatan secara umum (Harvey, 2003).

KarbohidratKarbohidrat sumber kalori utama bagi manusia. Karbohidrat merupakan sumber energi bagi semua individu. Karbohidrat mudah didapatkan dan hampir semua bahan makanan mengandung karbohidrat. Adapun fungsi karbohidrat adalah :

1) Menyediakan keperluan energi tubuh2) Diperlukan untuk kelangsungan metabolisme lemak3) Sebagai energi siap pakai saat tubuh mengalami kekurangan4) Penghematan terhadap protein5) Mengatur peristaltik usus terutama pada usus besar

Kandungan Gizi Pada MakananSetiap makanan yang berbeda memiliki kandungan gizi yang berbeda pula. Ada jenis makanan yang mengandung nilai gizi karbohidrat lebih tinggi, ada yang nilai gizi proteinnya lebih tinggi dan sebagainya. Namun tidak semua nilai gizi dapat dikandung oleh satu jenis bahan makanan. Setiap makanan menghasilkan jumlah kalori yang berbeda sesuai dengan komposisi lemak (1 gram = 9 kalori), karboh idrat (1 gram = 4 kalori), dan p rotein (1 gram = 4 kalori) yang dikandungnya.

Kebutuhan KaloriAda beberapa cara untuk menentukan jumlah kalori yang dibutuhkan diabetisi. Diantaranya dengan memperhitungkan berdasarkan kebutuhan kalori basal yang besarnya 25-30 kalori/kg BB ideal, ditambah dan dikurangi bergantung pada faktor usia, jenis kelamin, Tinggi Badan (TB), Berat Badan (BB) dan aktifitas fisik. Untuk mencari kebutuhan kalori, sebelumnya harus mencari berat badan ideal dahulu dengan umus Indeks

Page 6: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Masa Tubuh (IMT) dapat dilihat pada Persamaan 1 sebagai berikut : (1)

Algoritma Ant Colony OptimizationAnt Colony Optimization(ACO) merupakan teknik pencarian multi agent untuk menyelesaikan permasalahan kombinatorial dan persoalan yang lainyang di inspirasi tingkah laku semut dalam suatu koloni (Dorigo, 2004). Algoritma ant colony pertama kali diperkenalkan oleh Marco Dorigo padatahun 1992 sebagai thesis PhD-nya yang kemudian di publikasikan dengan nama Ant System (AS) dan diaplikasikan pada Traveling Salesman Problem pada tahun 1996. Algoritma ini di inspirasi oleh tingkah laku koloni semut, bagaimana hewan yang hampir buta dengan kemampuan individu yang sederhana dapat menemukan jalan terpendek (sarang semut dengan sumber makanan) jika bersama dalam suatu koloni.

Pada awalnya semut akan mengelilingi daerah sekitar sarangnya dengan acak, begitu mengetahui ada makanan semut itu akan mengenali kualitas dan kuantitas makanan tersebut dan membawa beberapa bagian ke sarangnya. dalam perjalanannya mereka akan meninggalkan jejak zat kimia pheromone di dasarnya. pheromone ini akan membimbing semut lain untuk menemukan sumber makanan, banyaknya pheromone yang ditinggalkan oleh semut tergantung jumlah makanan yang ditemukan. Semakin banyak semut yang melewati semakin kuat jejak pheromone yang ditinggalkan, untuk lebih jelasnya perhatikan gambar 1 (Dorigo, 1991).

Gambar 1 Algoritma Ant ColonyGambar di atas menunjukkan bagaimana semut dapat menemukan jalan terpendek.

a. Semut melewati jalan antara titik E dan A.b. Terdapat benda yang menghalangi jalan, semut dapat memilih dua

jalan yang berbeda dengan probabilitas yang sama.c. Pheromone pada jalan terpendek lebih banyak.

Page 7: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Metodologi : Metodologi penelitian yang akan diterapkan digambarkan dalam bentuk diagram seperti dibawah ini:

Diagram 1. Tahapan Penelitian

1. Studi literatur dan pengumpulan dataDengan melakukan studi literatur, penulis mempelajari teori dan mengumpulkan data-data yang dibutuhkan dari berbagai sumber seperti buku, artikel, jurnal dan situs – situs internet yang berhubungan dengan judul.

2. Analisis Tahap ini peneliti akan mempelajari tentang algoritma semut, penyakit diabetes dan konsep kebutuhan gizi, dan mempelajari logika pemrograman penentuan menu makan dengan algoritma semut

3. Desain sistemDesain sistem merupakan rancangan desain dari sistem yang akan dibuat, dapat dibagi menjadi 3 bagian yaitu: Perancangan Data Flow Diagram (DFD), perancangan sistem basis data, dan design interface.

4. Implementasi sistem

Page 8: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Sistem akan diimplementasikan dalam bentuk aplikasi berbasis web dengan bahasa pemrograman PHP.

5. Pengujian sistemPengujian dilakukan apakah aplikasi dapat berjalan sesuai dengan teori dan tujuan dari penelitian. Jika ditemukan kesalahan maka akan dilakukan perbaikan terhadap aplikasi.

6. Penyusunan Laporan Pada tahap ini dilakukan penulisan hasil analisis dan implementasi algoritma genetika pada perancangan penyusun menu makaan bagi penderita diabetes.

Jadwal Penelitian :No. Kegiatan

Bulan1 2 3 4 5 6

1.Studi literatur dan pengumpulan data

2. Analisis 3. Desain sistem4. Implementasi 5. Pengujian6. Penyusunan laporan

Anggaran Biaya : No Nama Bahan

Spesifikasi Jumlah

Barang

Harga Satuan

Jumlah Harga

Sumber Harga

1 Kertas A4 80gr 3 rim 45000 135000 Royal ATK

2 ATK - - 50000 50000 Royal ATK

3 Buku Teori

Tentang diabetes, dan algoritma Ant colony

5 100000 500000 Toga Mas

4 Transport - 180 hari

9000 1620000 Pertamina

5 Fotocopy Bahan kajian teori, proposal dan laporan

- - 150000 Win Fotocopy

6 Penjilidan Proposal dan laporan

2 20000 40000 Win Fotocopy

7 Internet Speedy Multi Speed 1 Mbps

1 645000 645000 Telkom speedy

8 Tinta printer

Epson 5 70000 350000 Epson service

Page 9: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

shop9 Storge

device 256 GB

WD 1 300000 300000 Rajawali Cipta Kompuetr

10 Biaya tak terduga

- - - 500000 -

Total 4290000Daftar Pustaka : American Diabetes Associaton. 2003. Diabetes. Diabetes Care, Volume 26,

Januari 2003.Dorigo, Marco and Stuzle, Thomas. (2004). Ant Colony Optimization.

Bradford Book.Dorigo, Marco., Colorni, Alberto., Maniezzo, Vittorio. (1991). Distributed

optimization by Ant Colonies, Proceedings of the first European Conference on Artificial Life, Paris, ed. by FJ. Varela and P. Bourgine MIT/Press/Bradford Books, Cambridge, Massachusetts.

Hani. 2006. Pentingnya Resep Masakan Sehat Sekeluarga Untuk Penderita Diabetes. http://www.wrm-indonesia.org/content/blogcategory/6/90/ diakses tanggal Mei 2013.

Harvey Simon. 2003. Diabetes Diet. Harvard Medical School, USA.Marpaung, Eva Kristin. 2011. Perancangan Aplikasi Penyusun Menu

Makanan untuk Penderita Diabetes menggunakan Algoritma Genetika. Skripsi Universitas Sumatera Utara

Perwira, Rifki Indra. 2012. Sistem untuk Konsultasi Menu Diet bagi Penderitas Diabetes Melitus Berbasis Aturan. Dalam Jurnal Teknologi, Volume 5 Nomor 2, Desember 2012, 104-113

Rusdianto, Dedy Bagus. 2010. Rancang Bangun Aplikasi Konsultasi Makanan Sehat Bagi Penderitas Diabetes Berbasis Mobile Menggunakan Teknologi J2ME. (Online), ( http://ppta.stikom.edu/ ... / 07410100371Makalah%20Tugas%20Akhir%20upload.pdf diakses Mei 2013 )

Soegondo, Sidartawan, dkk. 2004. Penatalaksanaan Diabetes Melitus Terpadu. Jakarta: Balai Penerbit Fakultas Kedokteran Universitas Indonesia.

Page 10: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Lampiran 1. Biodata Ketua dan Anggota

BIODATA PENELITI-1

Nama : Andrian Riza Hermawan

Tempat/Tanggal Lahir : Malang, 26 April 1992

Jenis Kelamin : Laki-laki

Bidang Keahlian : Rekayasa Perangkat Lunak

Pendidikan

No Tempat Pendidikan Kota Tahun

Masuk

Tahun

Lulus

Bidang/Konsentrasi/Minat

1 SD Kartika IV-6 Malang 1998 2004 -

2 SMPN 3 Malang 2004 2007 -

3 SMAN 3 Malang 2007 2010 Ilmu Pengetahuan Alam

4 Universitas Brawijaya Malang 2010 - Rekayasa Perangkat Lunak

Biodata ini dibuat dengan sebenarnya.

Malang, …………………………….

Andrian Riza Hermawan

NIM. 105060800111028

Page 11: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

BIODATA PENELITI-2

Nama : Renny Christine Amantha Hutapea

Tempat/Tanggal Lahir : Jakarta, 20 Mei 1992

Jenis Kelamin : Perempuan

Bidang Keahlian : Komputasi Cerdas

Pendidikan

No Tempat Pendidikan Kota Tahun

Masuk

Tahun

Lulus

Bidang/Konsentrasi/Minat

1 SDK Marsudirini Jakarta 1998 2004

2 SMPK Cor Jesu Malang 2004 2007

3 SMK Telkom Sandhy

Putra Malang

Malang 2007 2010 Rekayasa Perangkat

Lunak

4 Universitas Brawijaya Malang 2010 - Komputasi Cerdas

Biodata ini dibuat dengan sebenarnya.

Malang, …………………………….

Renny Christine Amantha Hutapea

NIM. 105060807111143

Page 12: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

BIODATA PENELITI-3

Nama : Hanani Rizal Hidayat

Tempat/Tanggal Lahir : Gresik, 17 Maret 1992

Jenis Kelamin : Laki-laki

Bidang Keahlian : Komputasi Cerdas

Pendidikan

No Tempat Pendidikan Kota Tahun

Masuk

Tahun

Lulus

Bidang/Konsentrasi/Minat

1 SD Muhammadiyah 1 Sidoarjo 1998 2004

2 SMPN 1 Sidoarjo 2004 2007

3 SMAN 1 Sidoarjo 2007 2010 Ilmu Pengetahuan Alam

4 Universitas Brawijaya Malang 2010 - Komputasi Cerdas

Biodata ini dibuat dengan sebenarnya.

Malang, …………………………….

Hanani Rizal Hidayat

NIM. 105060801111031

Page 13: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Lampiran 2. Manualisasi Sistem

Menu SarapanNo. Makanan Kalori1 Omelet Kentang (M) 297.42 Pisang Panggang Saus Lemon (D) 135.43 Kue Kering Havermut (D) 1244 Salad Buah Segar (D) 112.65 Tim Beras Merah (M) 276.36 Party Crispbreads (D) 707 Corny French Toast (M) 2558 Pancake Kentang (M) 1909 Crepe Rolls (A) 9910 Wafel Oat (M) 19611 Pancake Gandum Utuh (M) 26112 Mushroom Cream Soup (A) 8013 Kue Bola Panggang (D) 18814 Taco Lunak Kacang Hitam (A) 17415 Salad Daging Selada Tomat (M) 259

Menu Makan SiangNo. Makanan Kalori1 Rendang Hati (M) 126.72 Tempe Woku (A) 133.53 Tumis Daun Singkong Pepaya (A) 169.34 Cumi Masak Cabai Hijau (M) 155.55 Garang Jamur (A) 656 Three Fruit Juice (D) 1057 Tumis Pare Daging (M) 64.98 Opor Tahu Tempe (M) 143.29 Cumi Asam Manis (M) 232.110 Tempe Penyet (M) 13911 Kacang Panjang Kuah Kuning (A) 156.512 Jus Apel Wortel (D) 14113 Puding Kacang Hijau (D) 17.914 Nagasari Ketan (D) 173.915 Smoothie Buah Naga (D) 182.5

Menu Makan MalamNo. Makanan Kalori1 Susu Kedelai (D) 412 Es Blewah Segar (D) 31

Page 14: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

3 Kimchi (D) 33.34 Smoothie Buah (D) 1485 Pisang (D) 1006 Bening Onyong (A) 58.47 Penyet Telur (M) 85.58 Sate Tempe Bumbu Kare (M) 112.39 Sapi kuah Kari (M) 44810 Gulai Kakap (M) 217.511 Sayur Bayam Oyong (A) 205.712 Capcay Seafood (M) 19113 Kacang Panjang Tumis Tauge (A) 218.714 Asem-asem Bandeng (M) 203.715 Terung Cah Sapi (M) 168.5

Page 15: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Tabu List dari Sistem ini merupakan sembilan makanan yang terdiri dari appetizer breakfast - main course breakfast - dessert breakfast - appetizer lunch - main course lunch - dessert lunch - appetizer dinner - main course dinner - dessert dinner

Page 16: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Parameter Ant Colony SystemParameter Keterangan

β 0.9α 0.1τij 0.5q0 0.9

Kategori BBR

Kurus (underweight): BBR < 90%

Normal (ideal): BBR 90 –110%

Gemuk (overweight): BBR > 110%

Obesitas: BBR > 120%

Pedoman Jumlah Kalori

Kurus: BB x 40 kalori

Normal: BB x 30 kalori

Gemuk: BB x 20 kalori

Obesitas: BB x 10 kalori

Jadi Misalkan Seorang Si A Penderita DM dengan Berat Badan 75 dan tinggi badang 160

BBR = BB/TB-100 x 100%

= 75/160-100 x 100% = 125% ( Obesitas )

Jadi kebutuhan kalori harian Si A adalah 75 * 10 =750 kalori/hari

Persamaan Probabilitas

Pijk=

[ τ ij]α

. [ ηij ]β

∑k 'ϵ {N−tabu k}

[ τ ik' ]α . [η ik' ]β

Page 17: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Mula-mula makanan pertama dipilih secara random dan didaptkan Mushroom Cream Soup

Tabu List AwalTMushroom Cream

Soup

P( MushroomCream Soup ,Wafel Oat )

¿[ 0.5 ]0.1 [196 ]0.9

[ 0.5 ]0.1 [ 196 ]0.9+ [0.5 ]0.1 [ 276 ]0.9

+ [ 0.5 ]0.1 [ 297.4 ]0.9+[ 0.5 ]0.1 [ 255 ]0.9

+ [ 0.5 ]0.1 [259 ]0.9+ [ 0.5 ]0.1 [190 ]0.9

+[ 0.5 ]0.1 [ 261 ]0.9=107.8766533931.5082589

=¿0.115809

P( MushroomCream Soup ,Tim Beras Merah )

¿[ 0.5 ]0.1 [276 ]0.9

[ 0.5 ]0.1 [ 196 ]0.9+ [0.5 ]0.1 [ 276 ]0.9

+ [ 0.5 ]0.1 [ 297.4 ]0.9+[ 0.5 ]0.1 [ 255 ]0.9

+ [ 0.5 ]0.1 [259 ]0.9+ [ 0.5 ]0.1 [190 ]0.9

+[ 0.5 ]0.1 [ 261 ]0.9=146.796322931.5082589

=¿0.15759

P( MushroomCream Soup ,Omelet Kentang )

¿[ 0.5 ]0.1 [297.4 ]0.9

[ 0.5 ]0.1 [ 196 ]0.9+ [0.5 ]0.1 [ 276 ]0.9

+ [ 0.5 ]0.1 [ 297.4 ]0.9+[ 0.5 ]0.1 [ 255 ]0.9

+ [ 0.5 ]0.1 [259 ]0.9+ [ 0.5 ]0.1 [190 ]0.9

+[ 0.5 ]0.1 [ 261 ]0.9=157.001524931.5082589

=¿0.168545

P( MushroomCream Soup ,Corny FrenchToast )

¿[ 0.5 ]0.1 [255 ]0.9

[ 0.5 ]0.1 [ 196 ]0.9+ [0.5 ]0.1 [ 276 ]0.9

+ [ 0.5 ]0.1 [ 297.4 ]0.9+[ 0.5 ]0.1 [ 255 ]0.9

+ [ 0.5 ]0.1 [259 ]0.9+ [ 0.5 ]0.1 [190 ]0.9

+[ 0.5 ]0.1 [ 261 ]0.9=136.7046108931.5082589

=¿0.146756

P( MushroomCream Soup ,Salad Daging Selada Tomat)

¿[ 0.5 ]0.1 [259 ]0.9

[ 0.5 ]0.1 [ 196 ]0.9+ [0.5 ]0.1 [ 276 ]0.9

+ [ 0.5 ]0.1 [ 297.4 ]0.9+[ 0.5 ]0.1 [ 255 ]0.9

+ [ 0.5 ]0.1 [259 ]0.9+ [ 0.5 ]0.1 [190 ]0.9

+[ 0.5 ]0.1 [ 261 ]0.9=138.6330532931.5082589

=¿0.148826

P( MushroomCream Soup ,Pancake Kentang )

¿[ 0.5 ]0.1 [190 ]0.9

[ 0.5 ]0.1 [ 196 ]0.9+ [0.5 ]0.1 [ 276 ]0.9

+ [ 0.5 ]0.1 [ 297.4 ]0.9+[ 0.5 ]0.1 [ 255 ]0.9

+ [ 0.5 ]0.1 [259 ]0.9+ [ 0.5 ]0.1 [190 ]0.9

+[ 0.5 ]0.1 [ 261 ]0.9=104.8999404931.5082589

=¿0.112613

P( MushroomCream Soup ,Pancake GandumUtuh )

Page 18: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

¿[ 0.5 ]0.1 [261 ]0.9

[ 0.5 ]0.1 [ 196 ]0.9+ [0.5 ]0.1 [ 276 ]0.9

+ [ 0.5 ]0.1 [ 297.4 ]0.9+ [ 0.5 ]0.1 [ 255 ]0.9

+ [ 0.5 ]0.1 [259 ]0.9+ [ 0.5 ]0.1 [190 ]0.9

+ [ 0.5 ]0.1 [ 261 ]0.9 =139.5961552931.5082589

=¿0.14986

Rute Probabilitas (Pij) Probabilitas Pij Komulatif RangeP( MushroomCream Soup ,Wafel Oat ) 0.115809 0.115809 0-0.115809

P( MushroomCream Soup ,Tim Beras Merah ) 0.15759 0.273399 0.115809-0.273399P( MushroomCream Soup ,Omelet Kentang ) 0.168545 0.441944 0.273399-0.441944

P( MushroomCream Soup ,Corny FrenchToast ) 0.146756 0.5887 0.441944-0.5887P( MushroomCream Soup ,Salad Daging Selada Tomat) 0.148826 0.737527 0.5887-0.737527

P( MushroomCream Soup ,Pancake Kentang ) 0.112613 0.85014 0.737527-0.85014P( MushroomCream Soup ,Pancake GandumUtuh ) 0.14986 1 0.85014-1

Didapatkan r bernilai 0.39 maka berdasarkan range probabilitas kumulatif, rute yang memenuhi adalah P( MushroomCream Soup ,Omelet Kentang ).

Tabu ListTMushroom Cream

Soup

TOmelet Kentang

P(Omelet Kentang , Pisang Panggang Saus Lemon)

¿[ 0.5 ]0.1 [135.4 ]0.9

[ 0.5 ]0.1 [ 135.4 ]0.9+ [ 0.5 ]0.1 [ 124 ]0.9

+ [ 0.5 ]0.1 [ 112.6 ]0.9+ [ 0.5 ]0.1 [70 ]0.9

+ [0.5 ]0.1 [ 188 ]0.9=77.33103064360.8941376

=¿0.214276

P(Omelet Kentang , Kue Kering Havermut )

¿[ 0.5 ]0.1 [124 ]0.9

[ 0.5 ]0.1 [ 135.4 ]0.9+ [ 0.5 ]0.1 [ 124 ]0.9

+ [ 0.5 ]0.1 [ 112.6 ]0.9+ [ 0.5 ]0.1 [70 ]0.9

+ [0.5 ]0.1 [ 188 ]0.9=71.44576933360.8941376

=¿0.197969

P(Omelet Kentang , Salad Buah Segar )

Page 19: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

¿[ 0.5 ]0.1 [ 112.6 ]0.9

[ 0.5 ]0.1 [ 135.4 ]0.9+ [ 0.5 ]0.1 [ 124 ]0.9

+ [ 0.5 ]0.1 [ 112.6 ]0.9+ [ 0.5 ]0.1 [70 ]0.9

+ [0.5 ]0.1 [ 188 ]0.9 =65.50607105360.8941376

=¿0.18151

P(Omelet Kentang , Party Crispbread )

¿[ 0.5 ]0.1 [70 ]0.9

[ 0.5 ]0.1 [ 135.4 ]0.9+ [ 0.5 ]0.1 [ 124 ]0.9

+ [ 0.5 ]0.1 [ 112.6 ]0.9+ [ 0.5 ]0.1 [70 ]0.9

+ [0.5 ]0.1 [ 188 ]0.9 =42.70564017360.8941376

=¿0.118333

P(Omelet Kentang , Kue Bola Panggang )

¿[ 0.5 ]0.1 [188 ]0.9

[ 0.5 ]0.1 [ 135.4 ]0.9+ [ 0.5 ]0.1 [ 124 ]0.9

+ [ 0.5 ]0.1 [ 112.6 ]0.9+ [ 0.5 ]0.1 [70 ]0.9

+ [0.5 ]0.1 [ 188 ]0.9 =103.9056264360.8941376

=¿0.287912

Rute Probabilitas (Pij) Probabilitas Pij Komulatif RangeP(Omelet Kentang , Pisang Panggang Saus Lemon) 0.214276217 0.214276217 0-0.214276217

P(Omelet Kentang , Kue Kering Havermut ) 0.197968772 0.41224499 0.214276217-0.41224499P(Omelet Kentang , SaladBuah Segar ) 0.181510488 0.593755478 0.41224499-0.593755478P(Omelet Kentang , Party Crispbread ) 0.118332873 0.712088351 0.593755478-0.712088351

P(Omelet Kentang , Kue Bola Panggang ) 0.287911649 1 0.712088351-1

Didapatkan r bernilai 0.54 maka berdasarkan range probabilitas kumulatif, rute yang memenuhi adalah P(Omelet Kentang , Salad Buah Segar ).

Tabu ListTMushroom Cream

Soup

TOmelet Kentang TSalad Buah Segar

P( Salad Buah Segar , Kacang Panjang Kuah Kuning )

¿[ 0.5 ]0.1 [ 156.5 ]0.9

[ 0.5 ]0.1 [ 156.5 ]0.9+ [ 0.5 ]0.1 [ 65 ]0.9

+[ 0.5 ]0.1 [133.5 ]0.9+ [ 0.5 ]0.1 [ 169.3 ]0.9=

88.09675428298.9564888

=¿0.294680857

P( Salad Buah Segar ,Garang Jamur )

Page 20: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

¿[0.5 ]0.1 [ 65 ]0.9

[ 0.5 ]0.1 [ 156.5 ]0.9+ [ 0.5 ]0.1 [ 65 ]0.9

+ [ 0.5 ]0.1 [133.5 ]0.9+ [ 0.5 ]0.1 [ 169.3 ]0.9 =

39.95020585298.9564888

=¿0.133632175

P( SaladBuah Segar ,Tempe Woku )

¿[ 0.5 ]0.1 [ 133.5 ]0.9

[ 0.5 ]0.1 [ 156.5 ]0.9+ [ 0.5 ]0.1 [ 65 ]0.9

+ [ 0.5 ]0.1 [133.5 ]0.9+ [ 0.5 ]0.1 [ 169.3 ]0.9 =

76.3537092298.9564888

=¿0.255400742

P( SaladBuah Segar ,Tumis DaunSingkong Pepaya)

¿[ 0.5 ]0.1 [ 169.3 ]0.9

[ 0.5 ]0.1 [ 156.5 ]0.9+ [ 0.5 ]0.1 [ 65 ]0.9

+ [ 0.5 ]0.1 [133.5 ]0.9+ [ 0.5 ]0.1 [ 169.3 ]0.9 =

94.55581945298.9564888

=¿0.316286226

Rute Probabilitas (Pij) Probabilitas Pij Komulatif RangeP( SaladBuah Segar , KacangPanjang Kuah Kuning ) 0.294680857 0.294680857 0-0.294680857

P( Salad Buah Segar ,Garang Jamur ) 0.133632175 0.428313032 0.294680857-0.428313032P( Salad Buah Segar ,Tempe Woku ) 0.255400742 0.683713774 0.428313032-0.683713774

P( Salad Buah Segar ,Tumis DaunSingkong Pepaya) 0.316286226 1 0.683713774-1

Didapatkan r bernilai 0.45 maka berdasarkan range probabilitas kumulatif, rute yang memenuhi adalah P( Salad Buah Segar ,Tempe Woku ).

Tabu ListTMushroom Cream

Soup

TOmelet Kentang TSalad Buah Segar TTempe Woku

P(Tempe Woku , Rendang Hati )

¿[ 0.5 ]0.1 [126.7 ]0.9

[ 0.5 ]0.1 [ 126.7 ]0.9+ [0.5 ]0.1 [ 155.5 ]0.9

+ [ 0.5 ]0.1 [ 64.9 ]0.9+ [ 0.5 ]0.1 [143.2 ]0.9

+ [ 0.5 ]0.1 [ 232.1 ]0.9+ [ 0.5 ]0.1 [ 139 ]0.9=

72.84436366486.4416588

=¿0.149749435

P(Tempe Woku, Cumi Masak Cabai Hijau )

¿[ 0.5 ]0.1 [ 155.5 ]0.9

[ 0.5 ]0.1 [ 126.7 ]0.9+ [0.5 ]0.1 [ 155.5 ]0.9

+ [ 0.5 ]0.1 [ 64.9 ]0.9+ [ 0.5 ]0.1 [143.2 ]0.9

+ [ 0.5 ]0.1 [ 232.1 ]0.9+ [ 0.5 ]0.1 [ 139 ]0.9=

87.58996533486.4416588

=¿0.180062632

Page 21: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

P(Tempe Woku, Tumis Pare Daging )

¿[ 0.5 ]0.1 [ 64.9 ]0.9

[ 0.5 ]0.1 [ 126.7 ]0.9+ [0.5 ]0.1 [ 155.5 ]0.9

+ [ 0.5 ]0.1 [ 64.9 ]0.9+ [ 0.5 ]0.1 [143.2 ]0.9

+ [ 0.5 ]0.1 [ 232.1 ]0.9+ [ 0.5 ]0.1 [ 139 ]0.9=

39.89488592486.4416588

=¿0.082013712

P(Tempe Woku, OporTahu Tempe )

¿[ 0.5 ]0.1 [ 143.2 ]0.9

[ 0.5 ]0.1 [ 126.7 ]0.9+ [0.5 ]0.1 [ 155.5 ]0.9

+ [ 0.5 ]0.1 [ 64.9 ]0.9+ [ 0.5 ]0.1 [143.2 ]0.9

+ [ 0.5 ]0.1 [ 232.1 ]0.9+ [ 0.5 ]0.1 [ 139 ]0.9=

81.32905323486.4416588

=¿0.167191793

P(Tempe Woku, Cumi AsamManis )

¿[ 0.5 ]0.1 [ 232.1 ]0.9

[ 0.5 ]0.1 [ 126.7 ]0.9+ [0.5 ]0.1 [ 155.5 ]0.9

+ [ 0.5 ]0.1 [ 64.9 ]0.9+ [ 0.5 ]0.1 [143.2 ]0.9

+ [ 0.5 ]0.1 [ 232.1 ]0.9+ [ 0.5 ]0.1 [ 139 ]0.9=

125.6043345486.4416588

=¿0.258210481

P(Tempe Woku, Tempe Penyet )

¿[ 0.5 ]0.1 [ 139 ]0.9

[ 0.5 ]0.1 [ 126.7 ]0.9+ [0.5 ]0.1 [ 155.5 ]0.9

+ [ 0.5 ]0.1 [ 64.9 ]0.9+ [ 0.5 ]0.1 [143.2 ]0.9

+ [ 0.5 ]0.1 [ 232.1 ]0.9+ [ 0.5 ]0.1 [ 139 ]0.9=

79.17905619486.4416588

=¿0.162771948

Rute Probabilitas (Pij) Probabilitas Pij Komulatif RangeP(Tempe Woku , Rendang Hati ) 0.149749435 0.149749435 0-0.149749435

P(Tempe Woku, Cumi Masak Cabai Hijau ) 0.180062632 0.329812067 0.149749435-0.329812067P(Tempe Woku, Tumis Pare Daging ) 0.082013712 0.411825779 0.329812067-0.411825779P(Tempe Woku, OporTahu Tempe ) 0.167191793 0.579017572 0.411825779-0.579017572P(Tempe Woku, Cumi AsamManis ) 0.258210481 0.837228052 0.579017572-0.837228052

P(Tempe Woku, Tempe Penyet ) 0.162771948 1 0.837228052-1

Didapatkan r bernilai 0.18 maka berdasarkan range probabilitas kumulatif, rute yang memenuhi adalah P(Tempe Woku, Cumi Masak Cabai Hijau ).

Tabu ListTMushroom Cream

Soup

TOmelet Kentang TSalad Buah Segar TTempe Woku TCumi Masak Cabai

Hijau

Page 22: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

P(Cumi Masak Cabai Hijau , Nagasari Ketan )

¿[ 0.5 ]0.1 [ 173.9 ]0.9

[ 0.5 ]0.1[173.9 ]0.9+ [ 0.5 ]0.1 [141 ]0.9

+ [0.5 ]0.1 [ 105 ]0.9+ [ 0.5 ]0.1 [17.9 ]0.9

+ [0.5 ]0.1 [ 182.5 ]0.9=96.86494233352.2634145

=¿0.274978719

P(Cumi Masak Cabai Hijau , Jus ApelWorte )

¿[ 0.5 ]0.1 [ 141 ]0.9

[ 0.5 ]0.1[173.9 ]0.9+ [ 0.5 ]0.1 [141 ]0.9

+ [0.5 ]0.1 [ 105 ]0.9+ [ 0.5 ]0.1 [17.9 ]0.9

+ [0.5 ]0.1 [ 182.5 ]0.9=80.20366269352.2634145

=¿0.227680933

P(Cumi Masak Cabai Hijau ,ThreeFruit Juice )

¿[ 0.5 ]0.1 [105 ]0.9

[ 0.5 ]0.1[173.9 ]0.9+ [ 0.5 ]0.1 [141 ]0.9

+ [0.5 ]0.1 [ 105 ]0.9+ [ 0.5 ]0.1 [17.9 ]0.9

+ [0.5 ]0.1 [ 182.5 ]0.9=61.51306536352.2634145

=¿0.17462235

P(Cumi Masak Cabai Hijau , Pudding Kacang Hijau)

¿[ 0.5 ]0.1 [ 17.9 ]0.9

[ 0.5 ]0.1[173.9 ]0.9+ [ 0.5 ]0.1 [141 ]0.9

+ [0.5 ]0.1 [ 105 ]0.9+ [ 0.5 ]0.1 [17.9 ]0.9

+ [0.5 ]0.1 [ 182.5 ]0.9=12.51597619352.2634145

=¿0.035530162

P(Cumi Masak Cabai Hijau , Smoothie Buah Naga)

¿[ 0.5 ]0.1 [ 182.5 ]0.9

[ 0.5 ]0.1[173.9 ]0.9+ [ 0.5 ]0.1 [141 ]0.9

+ [0.5 ]0.1 [ 105 ]0.9+ [ 0.5 ]0.1 [17.9 ]0.9

+ [0.5 ]0.1 [ 182.5 ]0.9=101.1657679352.2634145

=¿0.287187837

Rute Probabilitas (Pij) Probabilitas Pij Komulatif RangeP(Cumi Masak Cabai Hijau , Nagasari Ketan ) 0.274978719 0.274978719 0-0.274978719P(Cumi Masak Cabai Hijau , Jus ApelWorte ) 0.227680933 0.502659651 0.274978719-0.502659651P(Cumi Masak Cabai Hijau ,ThreeFruit Juice ) 0.17462235 0.677282001 0.502659651-0.677282001

P(Cumi Masak Cabai Hijau , Pudding Kacang Hijau) 0.035530162 0.712812163 0.677282001-0.712812163P(Cumi Masak Cabai Hijau , Smoothie Buah Naga) 0.287187837 1 0.712812163-1

Didapatkan r bernilai 0.68 maka berdasarkan range probabilitas kumulatif, rute yang memenuhi adalah P(Cumi Masak Cabai Hijau , Pudding Kacang Hijau).

Tabu List

Page 23: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

TMushroom Cream

Soup

TOmelet Kentang TSalad Buah Segar TTempe Woku TCumi Masak Cabai

Hijau

TPudding Kacang

Hijau

P( Pudding Kacang Hijau ,Sayur BayamOyong )

¿[ 0.5 ]0.1 [205.7 ]0.9

[ 0.5 ]0.1[205.7 ]0.9+ [ 0.5 ]0.1 [ 218.7 ]0.9

+ [ 0.5 ]0.1 [58.4 ]0.9=112.6698881268.0086321

=¿0.42039649

P( Pudding Kacang Hijau , KacangPanjang TumisTauge )

¿[ 0.5 ]0.1

218.70.9

[ 0.5 ]0.1[205.7 ]0.9+ [ 0.5 ]0.1 [ 218.7 ]0.9

+ [ 0.5 ]0.1 [58.4 ]0.9=119.0586367268.0086321

=¿0.444234336

P( Pudding Kacang Hijau ,Bening Oyong )

¿[ 0.5 ]0.1 [58.4 ]0.9

[ 0.5 ]0.1[205.7 ]0.9+ [ 0.5 ]0.1 [ 218.7 ]0.9

+ [ 0.5 ]0.1 [58.4 ]0.9=36.2801073

268.0086321=¿0.135369175

Rute Probabilitas (Pij) Probabilitas Pij Komulatif RangeP( Pudding Kacang Hijau ,Sayur BayamOyong ) 0.42039649 0.42039649 0-0.42039649

P( Pudding Kacang Hijau , KacangPanjang TumisTauge ) 0.444234336 0.864630825 0.42039649-0.864630825P( Pudding Kacang Hijau ,Bening Oyong ) 0.135369175 1 0.864630825-1

Didapatkan r bernilai 0.89 maka berdasarkan range probabilitas kumulatif, rute yang memenuhi adalah P( Pudding Kacang Hijau ,Bening Oyong ).

Tabu ListTMushroom Cream

Soup

TOmelet Kentang TSalad Buah Segar TTempe Woku TCumi Masak Cabai

Hijau

TPudding Kacang

Hijau

TBening Oyong

P( BeningOyong , Asem−asem bandeng )

Page 24: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

¿[0.5 ]0.1 [ 203.7 ]0.9

[ 0.5 ]0.1 [ 203.7 ]0.9+ [0.5 ]0.1 [ 191 ]0.9

+ [ 0.5 ]0.1 [ 448 ]0.9+ [ 0.5 ]0.1 [ 85.5 ]0.9

+ [ 0.5 ]0.1 [112.3 ]0.9+ [ 0.5 ]0.1 [217.5 ]0.9

+ [0.5 ]0.1 [ 168.5 ]0.9 =111.6834771773.1933535

=¿0.144444435

P( BeningOyong ,Capcay Seafood )

¿[ 0.5 ]0.1 [191 ]0.9

[ 0.5 ]0.1 [ 203.7 ]0.9+ [0.5 ]0.1 [ 191 ]0.9

+ [ 0.5 ]0.1 [ 448 ]0.9+ [ 0.5 ]0.1 [ 85.5 ]0.9

+ [ 0.5 ]0.1 [112.3 ]0.9+ [ 0.5 ]0.1 [217.5 ]0.9

+ [0.5 ]0.1 [ 168.5 ]0.9 =105.3967043773.1933535

=¿0.136313516

P( BeningOyong , SapiKuah Kari)

¿[ 0.5 ]0.1 [ 448 ]0.9

[ 0.5 ]0.1 [ 203.7 ]0.9+ [0.5 ]0.1 [ 191 ]0.9

+ [ 0.5 ]0.1 [ 448 ]0.9+ [ 0.5 ]0.1 [ 85.5 ]0.9

+ [ 0.5 ]0.1 [112.3 ]0.9+ [ 0.5 ]0.1 [217.5 ]0.9

+ [0.5 ]0.1 [ 168.5 ]0.9 =227.0111627773.1933535

=¿0.293602062

P( BeningOyong , PenyetTelur )

¿[0.5 ]0.1 [ 85.5 ]0.9

[ 0.5 ]0.1 [ 203.7 ]0.9+ [0.5 ]0.1 [ 191 ]0.9

+ [ 0.5 ]0.1 [ 448 ]0.9+ [ 0.5 ]0.1 [ 85.5 ]0.9

+ [ 0.5 ]0.1 [112.3 ]0.9+ [ 0.5 ]0.1 [217.5 ]0.9

+ [0.5 ]0.1 [ 168.5 ]0.9 =51.1289064773.1933535

=¿0.066126935

P( BeningOyong , SateTempe Bumbu Kari )

¿[ 0.5 ]0.1 [112.3 ]0.9

[ 0.5 ]0.1 [ 203.7 ]0.9+ [0.5 ]0.1 [ 191 ]0.9

+ [ 0.5 ]0.1 [ 448 ]0.9+ [ 0.5 ]0.1 [ 85.5 ]0.9

+ [ 0.5 ]0.1 [112.3 ]0.9+ [ 0.5 ]0.1 [217.5 ]0.9

+ [0.5 ]0.1 [ 168.5 ]0.9 =65.34897515773.1933535

=¿0.084518284

P( BeningOyong ,Gulai Kakap )

¿[0.5 ]0.1 [ 217.5 ]0.9

[ 0.5 ]0.1 [ 203.7 ]0.9+ [0.5 ]0.1 [ 191 ]0.9

+ [ 0.5 ]0.1 [ 448 ]0.9+ [ 0.5 ]0.1 [ 85.5 ]0.9

+ [ 0.5 ]0.1 [112.3 ]0.9+ [ 0.5 ]0.1 [217.5 ]0.9

+ [0.5 ]0.1 [ 168.5 ]0.9 =118.4705312773.1933535

=¿0.153222387

P( BeningOyong ,Terung Cah Sapi)

¿[0.5 ]0.1 [ 168.5 ]0.9

[ 0.5 ]0.1 [ 203.7 ]0.9+ [0.5 ]0.1 [ 191 ]0.9

+ [ 0.5 ]0.1 [ 448 ]0.9+ [ 0.5 ]0.1 [ 85.5 ]0.9

+ [ 0.5 ]0.1 [112.3 ]0.9+ [ 0.5 ]0.1 [217.5 ]0.9

+ [0.5 ]0.1 [ 168.5 ]0.9 =94.15359675773.1933535

=¿0.121772382

Rute Probabilitas (Pij) Probabilitas Pij Komulatif RangeP( BeningOyong , Asem−asem bandeng ) 0.144444435 0.144444 0-0.144444435

P( BeningOyong ,Capcay Seafood ) 0.136313516 0.280758 0.144444435-0.280757951P( BeningOyong , SapiKuah Kari) 0.293602062 0.57436 0.280757951-0.574360012P( BeningOyong , PenyetTelur ) 0.066126935 0.640487 0.574360012-0.640486947

Page 25: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

P( BeningOyong , SateTempe Bumbu Kari ) 0.084518284 0.725005 0.640486947-0.725005231P( BeningOyong ,Gulai Kakap ) 0.153222387 0.878228 0.725005231-0.878227618

P( BeningOyong ,Terung Cah Sapi) 0.121772382 1 0.878227618-1

Didaptkan r bernilai 0.11 maka berdasarkan range probabilitas kumulatif, rute yang memenuhi adalah P( BeningOyong , Asem−asem bandeng ).

Tabu List

TMushroom Cream

Soup

TOmelet Kentang TSalad Buah Segar TTempe Woku TCumi Masak Cabai

Hijau

TPudding Kacang

Hijau

TBening Oyong TAsem-sem Bandeng

P( Asem−asem bandeng ,Susu Kedelai )

¿[ 0.5 ]0.1 [ 41 ]0.9

[ 0.5 ]0.1 [ 41 ]0.9+ [0.5 ]0.1 [ 31 ]0.9

+ [ 0.5 ]0.1 [33.3 ]0.9+ [0.5 ]0.1 [ 148 ]0.9

+ [ 0.5 ]0.1 [ 100 ]0.9 =26.38775672211.4365547

=¿0.124802

P( Asem−asem bandeng ,Es Blewah Segar )

¿[ 0.5 ]0.1 [31 ]0.9

[ 0.5 ]0.1 [ 41 ]0.9+ [0.5 ]0.1 [ 31 ]0.9

+ [ 0.5 ]0.1 [33.3 ]0.9+ [0.5 ]0.1 [ 148 ]0.9

+ [ 0.5 ]0.1 [ 100 ]0.9 =20.51740942211.4365547

=¿0.097038

P( Asem−asem bandeng ,Kimchi )

¿[ 0.5 ]0.1 [33.3 ]0.9

[ 0.5 ]0.1 [ 41 ]0.9+ [0.5 ]0.1 [ 31 ]0.9

+ [ 0.5 ]0.1 [33.3 ]0.9+ [0.5 ]0.1 [ 148 ]0.9

+ [ 0.5 ]0.1 [ 100 ]0.9 =21.88249362211.4365547

=¿0.103494

P( Asem−asem bandeng ,Smoothie Buah )

¿[ 0.5 ]0.1 [148 ]0.9

[ 0.5 ]0.1 [ 41 ]0.9+ [0.5 ]0.1 [ 31 ]0.9

+ [ 0.5 ]0.1 [33.3 ]0.9+ [0.5 ]0.1 [ 148 ]0.9

+ [ 0.5 ]0.1 [ 100 ]0.9 =83.77849305211.4365547

=¿0.396235

P( Asem−asem bandeng ,Pisang )

¿[ 0.5 ]0.1 [100 ]0.9

[ 0.5 ]0.1 [ 41 ]0.9+ [0.5 ]0.1 [ 31 ]0.9

+ [ 0.5 ]0.1 [33.3 ]0.9+ [0.5 ]0.1 [ 148 ]0.9

+ [ 0.5 ]0.1 [ 100 ]0.9 =58.87040187211.4365547

=¿0.278431

Page 26: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Rute Probabilitas (Pij) Probabilitas Pij Komulatif RangeP( Asem−asem bandeng ,Susu Kedelai ) 0.124802 0.124802 0-0.124802245

P( Asem−asem bandeng ,Es Blewah Segar ) 0.097038 0.22184 0.124802245-0.221840382P( Asem−asem bandeng ,Kimchi ) 0.103494 0.325335 0.221840382-0.325334755

P( Asem−asem bandeng ,Smoothie Buah ) 0.396235 0.721569 0.325334755-0.721569423P( Asem−asem bandeng ,Pisang ) 0.278431 1 0.721569423-1

Didapatkan r bernilai 0.57 maka berdasarkan range probabilitas kumulatif, rute yang memenuhi adalah P( Asem−asem bandeng ,Smoothie Buah ).

Tabu ListTMushroom Cream

Soup

TOmelet Kentang TSalad Buah Segar TTempe Woku TCumi Masak Cabai

Hijau

TPudding Kacang

Hijau

TBening Oyong TAsem-sem Bandeng TSmoothie Buah

Jumlah Kalori Total = 80 + 297.4 + 112.6 + 133.5 + 155.5 + 17.9 + 58.4 + 203.7 + 148 = 1207

Iterasi akan dilakukan sejumlah iterasi yang ditentukan oleh user, kemudian sistem akan memilih menu makanan dengan jumlah kalori yang paling mendekati kebutuhan kalori harian user.

Page 27: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Lampiran 2. Source Code

CI Modelm_makanan.php<?phpclass m_makanan extends CI_Model{ public function count_b_a() { $result= $this->db->query('select count(*) as jumlah from makanan where k_waktu_makan like "B" and k_jenis like "A" '); return $result; }

public function count_b_m() { $result= $this->db->query('select count(*) as jumlah from makanan where k_waktu_makan like "B" and k_jenis like "M" '); return $result; }

public function count_b_d() { $result= $this->db->query('select count(*) as jumlah from makanan where k_waktu_makan like "B" and k_jenis like "D" '); return $result; }

public function count_l_a() { $result= $this->db->query('select count(*) as jumlah from makanan where k_waktu_makan like "L" and k_jenis like "A" '); return $result; }

public function count_l_m() { $result= $this->db->query('select count(*) as jumlah from makanan where k_waktu_makan like "L" and k_jenis like "M" '); return $result; }

public function count_l_d() { $result= $this->db->query('select count(*) as jumlah from makanan where k_waktu_makan like "L" and k_jenis like "D" '); return $result; }

public function count_d_a() { $result= $this->db->query('select count(*) as jumlah from makanan where k_waktu_makan like "D" and k_jenis like "A" '); return $result; }

public function count_d_m() { $result= $this->db->query('select count(*) as jumlah from makanan where k_waktu_makan like "D" and k_jenis like "M" '); return $result; }

Page 28: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

public function count_d_d() { $result= $this->db->query('select count(*) as jumlah from makanan where k_waktu_makan like "D" and k_jenis like "M" '); return $result; }

public function get_all_b_a() { $result= $this->db->query('select * from makanan where k_waktu_makan like "B" and k_jenis like "A" '); return $result; }

public function get_all_b_m() { $result= $this->db->query('select * from makanan where k_waktu_makan like "B" and k_jenis like "M" '); return $result; }

public function get_all_b_d() { $result= $this->db->query('select * from makanan where k_waktu_makan like "B" and k_jenis like "D" '); return $result; }

public function get_all_l_a() { $result= $this->db->query('select * from makanan where k_waktu_makan like "L" and k_jenis like "A" '); return $result; }

public function get_all_l_m() { $result= $this->db->query('select * from makanan where k_waktu_makan like "L" and k_jenis like "M" '); return $result; }

public function get_all_l_d() { $result= $this->db->query('select * from makanan where k_waktu_makan like "L" and k_jenis like "D" '); return $result; }

public function get_all_d_a() { $result= $this->db->query('select * from makanan where k_waktu_makan like "D" and k_jenis like "A" '); return $result; }

public function get_all_d_m() { $result= $this->db->query('select * from makanan where k_waktu_makan like "D" and k_jenis like "M" '); return $result; }

Page 29: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

public function get_all_d_d() { $result= $this->db->query('select * from makanan where k_waktu_makan like "D" and k_jenis like "D" '); return $result; }

public function input_selected_b_a($nama) { $this->db->query('insert into tabu_list (makanan_1,total_kalori) values ("'.$nama.'", 0)'); }

public function input_selected_b_m($nama) { $this->db->query('UPDATE `tabu_list` SET `makanan_2`="'.$nama.'" where `total_kalori`=0'); }

public function input_selected_b_d($nama) { $this->db->query('UPDATE `tabu_list` SET `makanan_3`="'.$nama.'" where `total_kalori`=0'); }

public function input_selected_l_a($nama) { $this->db->query('UPDATE `tabu_list` SET `makanan_4`="'.$nama.'" where `total_kalori`=0'); }

public function input_selected_l_m($nama) { $this->db->query('UPDATE `tabu_list` SET `makanan_5`="'.$nama.'" where `total_kalori`=0'); }

public function input_selected_l_d($nama) { $this->db->query('UPDATE `tabu_list` SET `makanan_6`="'.$nama.'" where `total_kalori`=0'); }

public function input_selected_d_a($nama) { $this->db->query('UPDATE `tabu_list` SET `makanan_7`="'.$nama.'" where `total_kalori`=0'); }

public function input_selected_d_m($nama) { $this->db->query('UPDATE `tabu_list` SET `makanan_8`="'.$nama.'" where `total_kalori`=0'); }

public function input_selected_d_d($nama) { $this->db->query('UPDATE `tabu_list` SET `makanan_9`="'.$nama.'" where `total_kalori`=0'); }

public function input_calc_temp($nama,$kalori,$perhitungan) {

Page 30: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

$this->db->query('INSERT INTO current_calc(`nama`, `kalori`, `perhitungan`) VALUES ("'.$nama.'",'.$kalori.','.$perhitungan.')'); }

public function del_calc_temp() { $this->db->query('TRUNCATE TABLE `current_calc`'); }

public function get_all_current_calc() { $result= $this->db->query('select * from current_calc'); return $result; }

public function update_jml_kalori($jumlah) { $this->db->query('UPDATE `tabu_list` SET `total_kalori`='.$jumlah.' where `total_kalori`=0'); }

public function get_final_route($kalori_seharinya) { $result=$this->db->query('select * from tabu_list where total_kalori<='.$kalori_seharinya.' order by total_kalori desc limit 1,0'); return $result; }

public function insert_new($waktu_makanan,$jenis_makanan,$nama,$kalori) { $this->db->query('INSERT INTO `makanan`( `k_waktu_makan`, `k_jenis`, `nama`, `kalori`) VALUES ("'.$waktu_makanan.'","'.$jenis_makanan.'","'.$nama.'",'.$kalori.')'); }

public function get_all() { $result= $this->db->query('select * from makanan'); return $result; }

public function get_one_by_id($id_terpilih) { $result= $this->db->query('select * from makanan where id='.$id_terpilih.''); return $result; }

public function update_by_id($id_terpilih,$waktu,$jenis,$nama,$kalori) { $this->db->query('UPDATE `makanan` SET `k_waktu_makan`="'.$waktu.'",`k_jenis`="'.$jenis.'",`nama`="'.$nama.'",`kalori`='.$kalori.' where id='.$id_terpilih.''); }

public function delete_by_id($id_terpilih) { $this->db->query('delete from `makanan` where id='.$id_terpilih.''); }}?>m_result.php<?phpclass M_result extends CI_Model{

Page 31: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

public function get_result_limited($jumlah,$start) { $result= $this->db->query('select * from tabu_list limit '.$start.','.$jumlah); return $result; }

public function best_result($kebutuhan) { $result= $this->db->query('SELECT * FROM `tabu_list` WHERE ABS( total_kalori -'.$kebutuhan.' ) IN (SELECT MIN( ABS( total_kalori -'.$kebutuhan.' ) ) FROM `tabu_list` )'); return $result; }

public function del_result() { $this->db->query('TRUNCATE TABLE `tabu_list`'); }}?>m_var_cons<?phpclass M_var_cons extends CI_Model{ public function get_all() { $result= $this->db->query('select * from var_cons'); return $result; }

public function update_all($alpha,$beta,$jumlah_iterasi,$jumlah_semut,$tij) { $this->db->query('UPDATE `var_cons` SET `value`='.$alpha.' WHERE `var_name` ="alpha"'); $this->db->query('UPDATE `var_cons` SET `value`='.$beta.' WHERE `var_name` ="beta"'); $this->db->query('UPDATE `var_cons` SET `value`='.$jumlah_iterasi.' WHERE `var_name` ="jumlah_iterasi"'); $this->db->query('UPDATE `var_cons` SET `value`='.$jumlah_semut.' WHERE `var_name` ="jumlah_semut"'); $this->db->query('UPDATE `var_cons` SET `value`='.$tij.' WHERE `var_name` ="tij"'); }}?>

ControllerCalculate.php<?phpclass Calculate extends CI_Controller{ //put your code here public function index() { redirect('http://localhost/evo_ant/calculate/choose_input'); } public function choose_input() { $this->load->model('m_var_cons'); $result=$this->m_var_cons->get_all(); $data['var_sebelumnya']=$result->result(); $this->load->view('v_choose_input', $data); }

public function redirect_input()

Page 32: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

{ $received_input= $this->input->post('jenis_input'); /* * 0 = input konstanta sendiri * 1 = pake konstanta sebelumnya */ if($received_input==1) { $this->load->model('m_var_cons'); $result=$this->m_var_cons->get_all(); $data['var_sebelumnya']=$result->result(); $this->load->view('v_input_person_1', $data); } if($received_input==0) { $this->load->view('v_input_person_0'); } }

public function hitung_kalori_1() { $tb= $this->input->post('tinggi_badan'); $bb= $this->input->post('berat_badan'); $this->session->set_userdata('tinggi_badan', $this->input->post('tinggi_badan')); $this->session->set_userdata('berat_badan', $this->input->post('berat_badan')); $bbr= ($bb / ($tb-100) )* 100;

if($bbr<90){$kalori_sehari=$bb*40;} if($bbr>=90 and $bbr<=110){$kalori_sehari=$bb*30;} if($bbr>110 and $bbr<=120){$kalori_sehari=$bb*20;} if($bbr>120){$kalori_sehari=$bb*10;}

$this->session->set_userdata('bbr', $bbr); $this->session->set_userdata('kalori_sehari', $kalori_sehari);

$this->load->model('m_var_cons'); $result=$this->m_var_cons->get_all();

foreach ($result->result() as $row) { $this->session->set_userdata($row->var_name, $row->value); }

redirect('http://localhost/evo_ant/calculate/start_calulate'); }

public function hitung_kalori_0() { $tb= $this->input->post('tinggi_badan'); $bb= $this->input->post('berat_badan'); $this->session->set_userdata('tinggi_badan', $this->input->post('tinggi_badan')); $this->session->set_userdata('berat_badan', $this->input->post('berat_badan')); $bbr= ($bb / ($tb-100) )* 100;

if($bbr<90){$kalori_sehari=$bb*40;} if($bbr>=90 and $bbr<=110){$kalori_sehari=$bb*30;} if($bbr>110 and $bbr<=120){$kalori_sehari=$bb*20;} if($bbr>120){$kalori_sehari=$bb*10;}

$this->session->set_userdata('bbr', $bbr);

Page 33: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

$this->session->set_userdata('kalori_sehari', $kalori_sehari); $this->session->set_userdata('beta', $this->input->post('beta')); $this->session->set_userdata('alpha', $this->input->post('alpha')); $this->session->set_userdata('tij', $this->input->post('tij')); $this->session->set_userdata('jumlah_semut', $this->input->post('jumlah_semut')); $this->session->set_userdata('jumlah_iterasi', $this->input->post('jumlah_iterasi'));

$this->load->model('m_var_cons'); $this->m_var_cons->update_all($this->input->post('alpha'), $this->input->post('beta'), $this->input->post('jumlah_iterasi'), $this->input->post('jumlah_semut'), $this->input->post('tij'));

redirect('http://localhost/evo_ant/calculate/start_calulate'); }

public function start_calulate() { $row_start=0; $loop_jumlah_iterasi=1; while ($loop_jumlah_iterasi <= $this->session->userdata('jumlah_iterasi')) { $loop_jumlah_semut=1; while ($loop_jumlah_semut <= $this->session->userdata('jumlah_semut')) { /* * milih breakfast appetizer */ $this->load->model('m_makanan'); $result=$this->m_makanan->count_b_a(); foreach ($result->result() as $row) { $jumlah_makanan=$row->jumlah; }

$random= mt_rand(1, $jumlah_makanan); $result=$this->m_makanan->get_all_b_a(); $loop=1; foreach ($result->result() as $row) { if ($random==$loop) { $this->m_makanan->input_selected_b_a($row->nama); $this->session->set_userdata('jumlah_kalori', $row->kalori); break; } $loop++; }

/* * milih breakfast main */ $random= mt_rand(1, 1000); $random= $random/1000; $result= $this->m_makanan->get_all_b_m(); $penyebut=0; $tij_nya= $this->session->userdata('tij'); $alpha_nya= $this->session->userdata('alpha'); $beta_nya= $this->session->userdata('beta'); foreach ($result->result() as $row)

Page 34: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

{ $sementara=(float)(pow($tij_nya, $alpha_nya) * pow($row->kalori,$beta_nya) ); $this->m_makanan->input_calc_temp($row->nama,$row->kalori,$sementara); $penyebut=$penyebut+$sementara; }

$akumulasi=0; $result= $this->m_makanan->get_all_current_calc(); foreach ($result->result() as $row) { $prob=$row->perhitungan/$penyebut; $akumulasi=$akumulasi+$prob; if ($akumulasi>=$random) { // $this->m_makanan->input_selected_b_m($row->nama); $jumlah_kalori= $this->session->userdata('jumlah_kalori')+$row->kalori; $this->session->set_userdata('jumlah_kalori', $jumlah_kalori); $this->m_makanan->del_calc_temp(); break; } }

/* * milih breakfast desert */ $random= mt_rand(1, 1000); $random= $random/1000; $result= $this->m_makanan->get_all_b_d(); $penyebut=0; foreach ($result->result() as $row) { $sementara=(float)(pow($tij_nya, $alpha_nya) * pow($row->kalori,$beta_nya) ); $this->m_makanan->input_calc_temp($row->nama,$row->kalori,$sementara); $penyebut=$penyebut+$sementara; }

$akumulasi=0; $result= $this->m_makanan->get_all_current_calc(); foreach ($result->result() as $row) { $prob=$row->perhitungan/$penyebut; $akumulasi=$akumulasi+$prob; if ($akumulasi>=$random) { // $this->m_makanan->input_selected_b_d($row->nama); $jumlah_kalori= $this->session->userdata('jumlah_kalori')+$row->kalori; $this->session->set_userdata('jumlah_kalori', $jumlah_kalori); $this->m_makanan->del_calc_temp(); break; } }

Page 35: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

/* * milih lunch appetizer */ $random= mt_rand(1, 1000); $random= $random/1000; $result= $this->m_makanan->get_all_l_a(); $penyebut=0; foreach ($result->result() as $row) { $sementara=(float)(pow($tij_nya, $alpha_nya) * pow($row->kalori,$beta_nya) ); $this->m_makanan->input_calc_temp($row->nama,$row->kalori,$sementara); $penyebut=$penyebut+$sementara; }

$akumulasi=0; $result= $this->m_makanan->get_all_current_calc(); foreach ($result->result() as $row) { $prob=$row->perhitungan/$penyebut; $akumulasi=$akumulasi+$prob; if ($akumulasi>=$random) { // $this->m_makanan->input_selected_l_a($row->nama); $jumlah_kalori= $this->session->userdata('jumlah_kalori')+$row->kalori; $this->session->set_userdata('jumlah_kalori', $jumlah_kalori); $this->m_makanan->del_calc_temp(); break; } }

/* * milih lunch main */ $random= mt_rand(1, 1000); $random= $random/1000; $result= $this->m_makanan->get_all_l_m(); $penyebut=0; foreach ($result->result() as $row) { $sementara=(float)(pow($tij_nya, $alpha_nya) * pow($row->kalori,$beta_nya) ); $this->m_makanan->input_calc_temp($row->nama,$row->kalori,$sementara); $penyebut=$penyebut+$sementara; }

$akumulasi=0; $result= $this->m_makanan->get_all_current_calc(); foreach ($result->result() as $row) { $prob=$row->perhitungan/$penyebut; $akumulasi=$akumulasi+$prob; if ($akumulasi>=$random) { // $this->m_makanan->input_selected_l_m($row->nama);

Page 36: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

$jumlah_kalori= $this->session->userdata('jumlah_kalori')+$row->kalori; $this->session->set_userdata('jumlah_kalori', $jumlah_kalori); $this->m_makanan->del_calc_temp(); break; } }

/* * milih lunch desert */ $random= mt_rand(1, 1000); $random= $random/1000; $result= $this->m_makanan->get_all_l_d(); $penyebut=0; foreach ($result->result() as $row) { $sementara=(float)(pow($tij_nya, $alpha_nya) * pow($row->kalori,$beta_nya) ); $this->m_makanan->input_calc_temp($row->nama,$row->kalori,$sementara); $penyebut=$penyebut+$sementara; }

$akumulasi=0; $result= $this->m_makanan->get_all_current_calc(); foreach ($result->result() as $row) { $prob=$row->perhitungan/$penyebut; $akumulasi=$akumulasi+$prob; if ($akumulasi>=$random) { // $this->m_makanan->input_selected_l_d($row->nama); $jumlah_kalori= $this->session->userdata('jumlah_kalori')+$row->kalori; $this->session->set_userdata('jumlah_kalori', $jumlah_kalori); $this->m_makanan->del_calc_temp(); break; } }

/* * milih dinner appetizer */ $random= mt_rand(1, 1000); $random= $random/1000; $result= $this->m_makanan->get_all_d_a(); $penyebut=0; foreach ($result->result() as $row) { $sementara=(float)(pow($tij_nya, $alpha_nya) * pow($row->kalori,$beta_nya) ); $this->m_makanan->input_calc_temp($row->nama,$row->kalori,$sementara); $penyebut=$penyebut+$sementara; }

$akumulasi=0; $result= $this->m_makanan->get_all_current_calc(); foreach ($result->result() as $row)

Page 37: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

{ $prob=$row->perhitungan/$penyebut; $akumulasi=$akumulasi+$prob; if ($akumulasi>=$random) { // $this->m_makanan->input_selected_d_a($row->nama); $jumlah_kalori= $this->session->userdata('jumlah_kalori')+$row->kalori; $this->session->set_userdata('jumlah_kalori', $jumlah_kalori); $this->m_makanan->del_calc_temp(); break; } }

/* * milih dinner main */ $random= mt_rand(1, 1000); $random= $random/1000; $result= $this->m_makanan->get_all_d_m(); $penyebut=0; foreach ($result->result() as $row) { $sementara=(float)(pow($tij_nya, $alpha_nya) * pow($row->kalori,$beta_nya) ); $this->m_makanan->input_calc_temp($row->nama,$row->kalori,$sementara); $penyebut=$penyebut+$sementara; }

$akumulasi=0; $result= $this->m_makanan->get_all_current_calc(); foreach ($result->result() as $row) { $prob=$row->perhitungan/$penyebut; $akumulasi=$akumulasi+$prob; if ($akumulasi>=$random) { // $this->m_makanan->input_selected_d_m($row->nama); $jumlah_kalori= $this->session->userdata('jumlah_kalori')+$row->kalori; $this->session->set_userdata('jumlah_kalori', $jumlah_kalori); $this->m_makanan->del_calc_temp(); break; } }

/* * milih dinner desert */ $random= mt_rand(1, 1000); $random= $random/1000; $result= $this->m_makanan->get_all_d_d(); $penyebut=0; foreach ($result->result() as $row) { $sementara=(float)(pow($tij_nya, $alpha_nya) * pow($row->kalori,$beta_nya) );

Page 38: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

$this->m_makanan->input_calc_temp($row->nama,$row->kalori,$sementara); $penyebut=$penyebut+$sementara; }

$akumulasi=0; $result= $this->m_makanan->get_all_current_calc(); foreach ($result->result() as $row) { $prob=$row->perhitungan/$penyebut; $akumulasi=$akumulasi+$prob; if ($akumulasi>=$random) { // $this->m_makanan->input_selected_d_d($row->nama); $jumlah_kalori= $this->session->userdata('jumlah_kalori')+$row->kalori; $this->session->set_userdata('jumlah_kalori', $jumlah_kalori); $this->m_makanan->del_calc_temp(); break; } }

/* * finalizing calculation */ $this->m_makanan->update_jml_kalori($this->session->userdata('jumlah_kalori')); $this->session->unset_userdata('jumlah_kalori');

$loop_jumlah_semut++; }

$this->load->model('m_result'); $result=$this->m_result->get_result_limited($this->session->userdata('jumlah_semut'),$row_start); $row_start=$row_start+ $this->session->userdata('jumlah_semut') - 1; $data['iterasinya']=$loop_jumlah_iterasi; $data['hasilnya']=$result; $this->load->view('v_calc_result', $data);

$loop_jumlah_iterasi++; }

$result=$this->m_result->best_result($this->session->userdata('kalori_sehari')); $data['hasilnya']=$result; $this->load->view('v_calc_best_result', $data); //redirect('http://localhost/evo_ant/display_result'); }}?>Dashboard.php<?phpclass Dashboard extends CI_Controller{ public function index() { $this->load->view('v_dashboard'); }}

Page 39: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

?>Display_result.php<?phpclass Sisplay_result extends CI_Controller{ public function index() { $this->load->model('m_makanan'); }}?>Menu_makanan.php<?phpclass Menu_makanan extends CI_Controller{ public function index() { $this->load->view('v_menu_makanan'); }

public function routing() { $pilihan_user= $this->input->post('jenis_rute_menu'); if($pilihan_user==1){ redirect(base_url().'menu_makanan/tambah'); } if($pilihan_user==2){ redirect(base_url().'menu_makanan/lihat'); } if($pilihan_user==3){ redirect(base_url().'menu_makanan/ubah'); } if($pilihan_user==4){ redirect(base_url().'menu_makanan/hapus'); } }

public function tambah() { $this->form_validation->set_rules('nama_makanan', 'Nama makanan', 'required|alpha_dash|max_length[50]'); $this->form_validation->set_rules('jumlah_kalori', 'Kalori', 'required|numeric'); $this->form_validation->set_rules('waktu_makanan', 'Waktu makan', 'required'); $this->form_validation->set_rules('jenis_makanan', 'Jenis makanan', 'required');

if ($this->form_validation->run() == FALSE) { $this->load->view('v_input_menu_makanan'); } else { $this->load->model('m_makanan'); $this->m_makanan->insert_new($this->input->post('waktu_makanan'), $this->input->post('jenis_makanan'), $this->input->post('nama_makanan'), $this->input->post('jumlah_kalori'));

$data['nama_makanan']= $this->input->post('nama_makanan'); $data['jumlah_kalori']= $this->input->post('jumlah_kalori'); $data['waktu_makanan']= $this->input->post('waktu_makanan'); $data['jenis_makanan']= $this->input->post('jenis_makanan'); $this->load->view('v_input_menu_makanan_berhasil', $data); } }

public function lihat() { $this->load->model('m_makanan'); $result=$this->m_makanan->get_all(); $data['hasilnya']=$result; $this->load->view('v_list_makanan', $data);

Page 40: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

}

public function ubah() { $this->load->model('m_makanan'); $result=$this->m_makanan->get_all(); $data['hasilnya']=$result; $this->load->view('v_list_update_makanan', $data); }

public function ubah_form() { $id_terpilih= $this->input->post('id_terpilih'); $this->load->model('m_makanan'); $result=$this->m_makanan->get_one_by_id($id_terpilih); $data['hasilnya']=$result; $this->load->view('v_form_update_makanan', $data); }

public function ubah_proses() { $this->form_validation->set_rules('nama_makanan', 'Nama makanan', 'required|alpha_dash|max_length[50]'); $this->form_validation->set_rules('jumlah_kalori', 'Kalori', 'required|numeric'); $this->form_validation->set_rules('waktu_makanan', 'Waktu makan', 'required'); $this->form_validation->set_rules('jenis_makanan', 'Jenis makanan', 'required');

if ($this->form_validation->run() == FALSE) { $this->load->view('v_form_update_makanan'); } else { $this->load->model('m_makanan'); $this->m_makanan->update_by_id($this->input->post('id_nya'), $this->input->post('waktu_makanan'), $this->input->post('jenis_makanan'), $this->input->post('nama_makanan'), $this->input->post('jumlah_kalori'));

$data['nama_makanan']= $this->input->post('nama_makanan'); $data['jumlah_kalori']= $this->input->post('jumlah_kalori'); $data['waktu_makanan']= $this->input->post('waktu_makanan'); $data['jenis_makanan']= $this->input->post('jenis_makanan'); $this->load->view('v_update_menu_makanan_berhasil', $data); } }

public function hapus() { $this->load->model('m_makanan'); $result=$this->m_makanan->get_all(); $data['hasilnya']=$result; $this->load->view('v_list_delete_makanan', $data); }

public function hapus_proses() { $this->load->model('m_makanan'); $this->m_makanan->delete_by_id($this->input->post('id_terpilih'));

$data['nama_makanan']= $this->input->post('nama_terpilih'); $data['jumlah_kalori']= $this->input->post('kalori_terpilih');

Page 41: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

$data['waktu_makanan']= $this->input->post('waktu_terpilih'); $data['jenis_makanan']= $this->input->post('jenis_terpilih'); $this->load->view('v_delete_menu_makanan_berhasil', $data); }}?>Reset.php<?phpclass Reset extends CI_Controller{ public function index() { $this->session->sess_destroy(); $this->load->model('m_result'); $this->m_result->del_result();

redirect(base_url()); }}?>

ViewsV_dashboard.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Program Penentuan Menu Makanan dengan Algoritma Semut</title></head><body><div class="judul_dashboard"> Dashboard <br><div id="welcome"> Selamat datang di Program Penentuan Menu Makanan Penderita Diabetes Menggunakan Algoritma Semut</div><div style="background-color:#FFF; margin-top:-40px;"><div class="gambar1"></div></div><div class="dashboard"><br><a href="http://localhost/evo_ant/calculate">--- Menu Hitung ---</a><br><a href="http://localhost/evo_ant/menu_makanan" >--- Menu Makanan ---</a></div></div></body></html>V_calc_result.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Hasil Perhitungan</title></head><body><div class="judul_dashboard_result"><?php // put your code here $loop=1;

Page 42: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

echo 'Iterasi ke-'.$iterasinya.'<br>'; ?><div class="dashboard_result"><table align="center" style="text-align:left" border="1px;"><tr><th> Semut ke-</th><th> Sarapan pembuka</th><th> Sarapan utama</th><th> Sarapan penutup</th><th> Makan siang pembuka</th><th> Makan siang utama</th><th> Makan siang penutup</th><th> Makan malam pembuka</th><th> Makan malam utama</th><th> Makan malam penutup</th><th> Jumlah kalori</th></tr><?php foreach ($hasilnya->result() as $row) { ?><tr><td><?php echo $loop;?></td><td><?php echo $row->makanan_1;?></td><td><?php echo $row->makanan_2;?></td><td><?php echo $row->makanan_3;?></td><td><?php echo $row->makanan_4;?></td><td><?php echo $row->makanan_5;?></td><td><?php echo $row->makanan_6;?>

Page 43: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

</td><td><?php echo $row->makanan_7;?></td><td><?php echo $row->makanan_8;?></td><td><?php echo $row->makanan_9;?></td><td><?php echo $row->total_kalori;?></td></tr><?php $loop++; } ?></table></div></body></html>V_choose_input.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Pilih Konstanta</title></head><body>

<div class="judul_dashboard"> Choose Constant Input <br><div class="dashboard"><h3>Table Konstanta <i>Default</i></h3><table border="1" cellspacing="0" align="center"><tr><th> Nama Variabel</th><th> Nilai Variabel</th></tr><?php // put your code here foreach ($var_sebelumnya as $row) { echo '<tr><td>'.$row->var_name.'</td><td>'.$row->value.'</td></tr>'; } ?></table><br><br> Apakah Anda akan menggunakan konstanta diatas?<form action="http://localhost/evo_ant/calculate/redirect_input" method="post"><input type="radio" name="jenis_input" value="1">Ya, gunakan konstanta diatas untuk perhitungan<br><input type="radio" name="jenis_input" value="0">Tidak, input nilai konstanta baru untuk perhitungan<br><br><input type="submit" value="Berikutnya">

Page 44: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

</form></div></body></html>V_calc_best_result.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title></title></head><body><div class="judul_dashboard_result"> Best Result<?php // put your code here echo '<br>Berat badan='.$this->session->userdata('berat_badan').'KG & tinggi badan='.$this->session->userdata('tinggi_badan').'cm ('.$this->session->userdata('kalori_sehari').'Kal/hari) adalah<br>'; ?><div class="dashboard_result"><table align="center" border="1px" style="text-align:left"><tr><th> Sarapan pembuka</th><th> Sarapan utama</th><th> Sarapan penutup</th><th> Makan siang pembuka</th><th> Makan siang utama</th><th> Makan siang penutup</th><th> Makan malam pembuka</th><th> Makan malam utama</th><th> Makan malam penutup</th><th> Jumlah kalori</th></tr><?php foreach ($hasilnya->result() as $row) { ?><tr><td><?php echo $row->makanan_1;?></td>

Page 45: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

<td><?php echo $row->makanan_2;?></td><td><?php echo $row->makanan_3;?></td><td><?php echo $row->makanan_4;?></td><td><?php echo $row->makanan_5;?></td><td><?php echo $row->makanan_6;?></td><td><?php echo $row->makanan_7;?></td><td><?php echo $row->makanan_8;?></td><td><?php echo $row->makanan_9;?></td><td><?php echo $row->total_kalori;?></td></tr><?php } ?></table><br><form action="<?php echo base_url().'reset'?>"><input type="submit" value="Kembali ke dashboard"></form></div></body></html>V_input_menu_makanan.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Tambah Makanan</title></head><body><?php // put your code here ?><div class="judul_dashboard"> Add Menu <br>

<div class="dashboard"><h3>Masukkan data makanan yang baru</h3><form action="<?php echo base_url().'menu_makanan/tambah'?>" method="post"><table align="center" style="text-align:left"><tr><td>Nama makanan</td><td>: <input type="text" name="nama_makanan" required maxlength="50"></td></tr><tr>

Page 46: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

<td>Jumlah kalori</td><td>: <input type="number" name="jumlah_kalori" required step="0.1"></td></tr><tr><td>Jenis makanan</td><td>: <select name="jenis_makanan"><option value="A">Makanan pembuka</option><option value="M">Makanan utama</option><option value="D">Makanan penutup</option></select></td></tr><tr><td>Waktu makan</td><td>: <select name="waktu_makanan"><option value="B">Sarapan</option><option value="L">Makan siang</option><option value="D">Makan malam</option></select></td></tr><tr><tr></tr><td colspan="2" align="center"><input type="submit" value="Tambah makanan"></td></tr></table></form></div></body></html>V_list_delete_makanan.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title></title></head><body><div class="judul_dashboard_list"> Delete Menu <br>

<div class="dashboard_list"><h3>List seluruh makanan</h3><?php // put your code here $loop=1; ?><table align="center" style="text-align:left" border="1px"><tr><th> No.</th><th> Nama makanan</th><th> Waktu makan</th><th> Jenis makanan</th><th> Jumlah kalori</th><th>

Page 47: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

</th></tr><?php foreach ($hasilnya->result() as $row) { ?><tr><td><?php echo $loop;?></td><td><?php echo $row->nama;?></td><td><?php echo $row->k_waktu_makan;?></td><td><?php echo $row->k_jenis;?></td><td><?php echo $row->kalori;?></td><th><form action="<?php echo base_url().'menu_makanan/hapus_proses'?>" method="post"><input type="hidden" name="id_terpilih" value="<?php echo $row->id?>" ><input type="hidden" name="nama_terpilih" value="<?php echo $row->nama?>" ><input type="hidden" name="waktu_terpilih" value="<?php echo $row->k_waktu_makan?>" ><input type="hidden" name="jenis_terpilih" value="<?php echo $row->k_jenis?>" ><input type="hidden" name="kalori_terpilih" value="<?php echo $row->kalori?>" ><input type="submit" value="Hapus data"></form></th></tr><?php $loop++; } ?></table><br><form action="<?php echo base_url()?>"><input type="submit" value="Kembali ke dashboard"></form></div></body></html>V_form_update_makanan.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Ubah Makanan</title></head><body><?php // put your code here ?><div class="judul_dashboard"> Update Menu <br>

<div class="dashboard"><h3>Masukkan data makanan yang terupdate</h3>

Page 48: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

<?php foreach ($hasilnya->result() as $row) { ?><table align="center" style="text-align:left;"><form action="<?php echo base_url().'menu_makanan/ubah_proses'?>" method="post"><tr><td>Nama makanan</td><td>: <input type="text" name="nama_makanan" required maxlength="50" value="<?php echo $row->nama ?>"></td></tr><tr><td>Jumlah kalori</td><td>: <input type="number" name="jumlah_kalori" required step="0.1" value="<?php echo $row->kalori ?>" ></td></tr><tr><td>Jenis makanan</td><td>: <select name="jenis_makanan"><option value="A" <?php if(strcasecmp($row->k_jenis, "A")==0){echo 'selected';} ?>>Makanan pembuka</option><option value="M" <?php if(strcasecmp($row->k_jenis, "M")==0){echo 'selected';} ?>>Makanan utama</option><option value="D" <?php if(strcasecmp($row->k_jenis, "D")==0){echo 'selected';} ?>>Makanan penutup</option></select></td></tr><tr><td>Waktu makan</td><td>: <select name="waktu_makanan"><option value="B" <?php if(strcasecmp($row->k_waktu_makan, "B")==0){echo 'selected';} ?>>Sarapan</option><option value="L" <?php if(strcasecmp($row->k_waktu_makan, "L")==0){echo 'selected';} ?>>Makan siang</option><option value="D" <?php if(strcasecmp($row->k_waktu_makan, "D")==0){echo 'selected';} ?>>Makan malam</option></select></td></tr><input type="hidden" name="id_nya" value="<?php echo $row->id?>"><tr><tr></tr><td colspan="2" align="center"><input type="submit" value="Ubah makanan"></td></tr></form></table><?php } ?></div></body></html>V_input_person_1.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Perhitungan</title></head><body><div class="judul_dashboard"> Calculation <br><div class="dashboard"><h3>Tabel Konstanta</h3><table border="1" cellspacing="0" align="center";><tr><th> Nama Variabel

Page 49: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

</th><th> Nilai Variabel</th></tr><?php // put your code here foreach ($var_sebelumnya as $row) { echo '<tr><td>'.$row->var_name.'</td><td>'.$row->value.'</td></tr>'; } ?></table><br><br> Masukkan Tinggi & Berat Badan<table align="center"><form action="http://localhost/evo_ant/calculate/hitung_kalori_1" method="post"><tr><td>Tinggi Badan</td><td>: <input type="text" name="tinggi_badan" autofocus min="1" required></td></tr><tr><td>Berat Badan</td><td>: <input type="text" name="berat_badan" min="1" required></td></tr><tr><tr></tr><td colspan="2"><input type="submit" value="Berikutnya"></td></tr></form></table></div></body></html>V_list_makanan.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Tambah Makanan</title></head><body><?php // put your code here $loop=1; ?><div class="judul_dashboard_list"> List Menu <br>

<div class="dashboard_list"><h3>Data seluruh Makanan</h3><table align="center" style="text-align:left" border="1px;"><tr><th> No.</th><th> Nama makanan</th><th> Waktu makan</th>

Page 50: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

<th> Jenis makanan</th><th> Jumlah kalori</th></tr><?php foreach ($hasilnya->result() as $row) { ?><tr><td><?php echo $loop;?></td><td><?php echo $row->nama;?></td><td><?php if(strcasecmp($row->k_waktu_makan, "B")==0){ echo "Sarapan"; } if(strcasecmp($row->k_waktu_makan, "L")==0){ echo "Makan Siang"; } if(strcasecmp($row->k_waktu_makan, "D")==0){ echo "Makan Malam"; } ?></td><td><?php if(strcasecmp($row->k_jenis, "A")==0){ echo "Makanan pembuka"; } if(strcasecmp($row->k_jenis, "M")==0){ echo "Makanan utama"; } if(strcasecmp($row->k_jenis, "D")==0){ echo "Makanan penutup"; } ?></td><td><?php echo $row->kalori;?></td></tr><?php $loop++; } ?></table><br><form action="<?php echo base_url()?>"><input type="submit" value="Kembali ke dashboard"></form></div></body></html>V_update_menu_makanan_berhasil.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Konfirmasi Ubah Makanan</title></head><body>

Page 51: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

<?php // put your code here ?><div class="judul_dashboard"> Update Menu <br>

<div class="dashboard"><h3>Berikut data makanan yang berhasil diupdate:</h3><table align="center" style="text-align:left"><tr><td>Nama makanan</td><td>: <?php echo $nama_makanan;?></td></tr><tr><td>Waktu makan</td><td>: <?php if(strcasecmp($waktu_makanan, "B")==0){ echo "Sarapan"; } if(strcasecmp($waktu_makanan, "L")==0){ echo "Makan Siang"; } if(strcasecmp($waktu_makanan, "D")==0){ echo "Makan Malam"; } ?></td></tr><tr><td>Jenis makanan</td><td>: <?php if(strcasecmp($jenis_makanan, "A")==0){ echo "Makanan pembuka"; } if(strcasecmp($jenis_makanan, "M")==0){ echo "Makanan utama"; } if(strcasecmp($jenis_makanan, "D")==0){ echo "Makanan penutup"; } ?></td></tr><tr><td>Jumlah kalori</td><td>: <?php echo $jumlah_kalori;?></td></tr></table><br><form action="<?php echo base_url()?>"><input type="submit" value="Kembali ke dashboard"></form></div></body></html>V_input_menu_makanan_berhasil.php<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Konfirmasi Tambah Makanan</title></head><body><?php // put your code here ?><div class="judul_dashboard"> Add Menu <br>

<div class="dashboard"><h3>Berikut data makanan yang berhasil masuk:</h3><table align="center" style="text-align:left;"><tr><td>Nama makanan</td><td>: <?php echo $nama_makanan;?></td></tr><tr><td>Waktu makan</td><td>: <?php if(strcasecmp($waktu_makanan, "B")==0){ echo "Sarapan"; } if(strcasecmp($waktu_makanan, "L")==0){ echo "Makan Siang"; } if(strcasecmp($waktu_makanan, "D")==0){ echo "Makan Malam"; } ?></td></tr><tr><td>Jenis makanan</td><td>: <?php if(strcasecmp($jenis_makanan, "A")==0){ echo "Makanan pembuka"; } if(strcasecmp($jenis_makanan, "M")==0){ echo "Makanan utama"; } if(strcasecmp($jenis_makanan, "D")==0){ echo "Makanan penutup"; }

Page 52: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

?></td></tr><tr><td>Jumlah kalori</td><td>: <?php echo $jumlah_kalori;?></td></tr></table><br><form action="<?php echo base_url()?>"><input type="submit" value="Kembali ke dashboard"></form>

</body></html>V_input_person_0.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title></title></head><body><div class="judul_dashboard"> Input Constant <br><div class="dashboard"><h3>Masukkan konstanta, tinggi badan & berat badan (gunakan simbol "." untuk desimal)</h3><table align="center" style="text-align:left"><form action="http://localhost/evo_ant/calculate/hitung_kalori_0" method="post"><tr><td>Beta (β)</td><td>: <input type="number" name="beta" autofocus min="0" step="0.01" required></td></tr><tr><td>Alpha (α)</td><td>: <input type="number" name="alpha" autofocus min="0" step="0.01" required></td></tr><tr><td>Pheromone (Tij)</td><td>: <input type="number" name="tij" autofocus min="0" step="0.01" required></td></tr><!-- q0: <input type="number" name="q0" autofocus min="0" step="0.01" required><br> Rho: <input type="number" name="rho" autofocus min="0" step="0.01" required><br> --><tr><td>Jumlah semut (N)</td><td>: <input type="number" name="jumlah_semut" autofocus min="1" required></td></tr><tr><td>Jumlah iterasi</td><td>: <input type="number" name="jumlah_iterasi" autofocus min="1" required></td></tr><tr><td>Tinggi Badan</td><td>: <input type="number" name="tinggi_badan" autofocus min="1" required></td></tr><tr>

Page 53: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

<td>Berat Badan</td><td>: <input type="number" name="berat_badan" min="1" required></td></tr><tr><tr></tr><td colspan="2" align="center"><input type="submit" value="Berikutnya"></td></tr></form></table></body></html>

V_list_update_makanan.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Ubah Makanan</title></head><body><?php // put your code here $loop=1; ?><div class="judul_dashboard_list"> Update Menu <br>

<div class="dashboard_list"><h3>List seluruh makanan</h3><table align="center" style="text-align:left" border="1px;"><tr><th> No.</th><th> Nama makanan</th><th> Waktu makan</th><th> Jenis makanan</th><th> Jumlah kalori</th><th>

</th></tr><?php foreach ($hasilnya->result() as $row) { ?><tr><td><?php echo $loop;?></td><td><?php echo $row->nama;?></td><td><?php echo $row->k_waktu_makan;?>

Page 54: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

</td><td><?php echo $row->k_jenis;?></td><td><?php echo $row->kalori;?></td><th><form action="<?php echo base_url().'menu_makanan/ubah_form'?>" method="post"><input type="hidden" name="id_terpilih" value="<?php echo $row->id?>" ><input type="submit" value="Ubah data"></form></th></tr><?php $loop++; } ?></table><br><form action="<?php echo base_url()?>"><input type="submit" value="Kembali ke dashboard"></form></div></body></html>V_delete_menu_makanan_berhasil.php!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title></title></head><body><?php // put your code here ?><div class="judul_dashboard"> Update Menu <br>

<div class="dashboard"><h3>Berikut data makanan yang berhasil didelete:</h3><table align="center" style="text-align:left"><tr><td>Nama makanan</td><td>: <?php echo $nama_makanan;?></td></tr><tr><td>Waktu makan</td><td>: <?php if(strcasecmp($waktu_makanan, "B")==0){ echo "Sarapan"; } if(strcasecmp($waktu_makanan, "L")==0){ echo "Makan Siang"; } if(strcasecmp($waktu_makanan, "D")==0){ echo "Makan Malam"; } ?></td></tr><tr><td>Jenis makanan</td><td>: <?php if(strcasecmp($jenis_makanan, "A")==0){ echo "Makanan pembuka"; } if(strcasecmp($jenis_makanan, "M")==0){ echo "Makanan utama"; } if(strcasecmp($jenis_makanan, "D")==0){ echo "Makanan penutup"; } ?></td></tr><tr><td>Jumlah kalori</td><td>: <?php echo $jumlah_kalori;?></td></tr></table><br><form action="<?php echo base_url()?>"><input type="submit" value="Kembali ke dashboard">

Page 55: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

</form></body></html>V_menu_makanan.php<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<link rel="stylesheet" href="<?php echo base_url().'style.css'?>" type="text/css" media="screen"/><title>Menu Makanan</title></head><body><?php // put your code here ?><div class="judul_dashboard"> Menu Makanan<br>

<div class="dashboard"><h3>Pilih salah satu pilihan untuk makanan berikut</h3><form action="<?php echo base_url().'menu_makanan/routing'?>" method="post"><table align="center" style="text-align:left"><tr><td><input type="radio" name="jenis_rute_menu" value="1">Tambah menu makanan</td></tr><tr><td><input type="radio" name="jenis_rute_menu" value="2">Lihat menu makanan</td></tr><tr><td><input type="radio" name="jenis_rute_menu" value="3">Ubah data menu makanan</td></tr><tr><td><input type="radio" name="jenis_rute_menu" value="4">Hapus menu makanan</td></tr><tr></tr><tr align="center"><td><input type="submit" value="Berikutnya"></td></tr></table></form></div></body></html>

Page 56: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Lampiran 3. Screenshot

Halaman Dashboard

Halaman Choose Constant Input

Halaman Calculation (dengan konstanta default)

Halaman Calculation (dengan memasukkan konstanta baru)

Page 57: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Halaman Result

Halaman Food Menu

Halaman Add Menu

Halaman List Menu

Page 58: Sistem Penentuan Menu Makanan Penderita Diabetes Dengan ALgoritma Semut

Halaman Update Menu

Halaman Delete Menu