Penjadwalan Pola Makan Bagi Penderita Diabetes Mellitus Menggunakan Metode Genetic Algorithm

(1)

DAFTAR PUSTAKA

Almatsier, S. (Editor). 2004. Penuntun Diet. PT. Gramedia Pustaka Utama: Jakarta. Andrade, Alessandro Vivas, Errico, Luciano de, Aquino, Andre L. L., Assis, Luciana

Pereira de and Barbosa, & Carlos H.N.R. 2008. Analysis of selection and crossover methods used by genetic algorithm-based heuristic to solve the LSP allocation problem in MPLS networks under capacity contraints. International

Conference on Engineering Optimization, pp. 1-9.

Badan Penelitian dan Pengembangan Kesehatan. 2007. Riset Kesehatan Dasar

(RISKESDAS 2007). Kementrian Kesehatan Republik Indonesia, Jakarta.

Baker, K. R. 1974. Introduction to Sequencing and Scheduling. New York : John Wiley & Sons, Inc.

Davis, L. 1991. Handbook of Genetic Algorithm. New York : Van Nostrand Reinhold. Eiben, A.E. & Smith, J.E. 2007. Introduction to Evolutionary Computing Genetic

Algorithms. Springer : New York

Firmansyah, E.R., Ahmad, S.S., & Agustin, N.H. 2012. Algoritma Genetika. Mata

Kuliah Kecerdasan Buatan.

Hadisaputro, S., & Setyawan, H. 2007. Epidemiologi dan faktor-faktor risiko terjadi diabetes mellitus tipe 2. Dalam : Darmono, dkk, editors. Naskah Lengkap

Diabetes mellitus Ditinjau dari Berbagai Aspek Penyakit dalam dalam rangka Purna Tugas Prof Dr.dr.RJ Djokomoeljanto. Badan Penerbit Universitas

Diponegoro Semarang: p.133-153.

Husain, W., Wei, L.J., Cheng, S.L., & Zakaria, N. 2011. Application of data mining techniques in a personalized diet recommendation system for cancer patients.

IEEE Colloquium on Humanities, Science and Engineering Research (CHUSER 2011), pp 239-244.


(2)

Indrianingsih,Y. 2010. Algoritma genetika untuk menyelesaikan masalah optimasi fungsi berkendala dengan pengkodean bilangan bulat. Skripsi. Sekolah Tinggi Teknologi Adisutjipto.

Kushardiana, R. 2013. Penetuan Komposisi Menu Makanan untuk Penderita Diabetes Mellitus Menggunakan Algoritma Genetika. Skripsi. Universitas Brawijaya. Kusumadewi, S. & Purnomo, H., 2005. Penyelesaian Masalah Optimasi dengan

Teknik-Teknik Heuristik. Yogyakarta : Graha Ilmu.

Mendes, J. M. 2013. A comparative study of crossover operators for genetic algorithms to solve the job shop scheduling problem. Journal of School of

Engineering-Polytechnic of Porto, vol 7(7): 164-173

Perkeni (Persatuan Endokrinologi Indonesia). 2011. Konsensus Pengelolaan dan

Pencegahan Diabetes Melitus Tipe 2 di Indonesia Tahun 2011.

Phanich, M., Pholkul, P., & Phimoltares, S. 2010. Food recommendation system using clustering analysis for diabetic patients. International Conference on

Information Science and Applications (ICISA) pp.1–8.

Picek, S. J., Domagoj, & Gloub, M. 2013. On the recombination operator in the real-code genetic algorithms. IEEE Congress on Evolutionary Computation, pp. 3103-3110

Puspaningrum, W. A., Djunaidy, A. & Vinarti, R. A. 2014. Penjadwalan mata kuliah menggunakan algoritma genetika di jurusan sistem infiormasi ITS. Jurnal

Teknik POMITS, vol 2 : 127-133

Satriyanto, E. 2009. Algoritma Genetika. (Online) http://lecturer.eepisits.edu/~kangedi/materi%20kuliah/Kecerdasan%20Buatan Bab%207%20Algoritma%20Genetika.pdf (20 November 2015).

Soegondo, S., Soewondo, P., & Imam, S.2009. Penatalaksanaan Diabetes Melitus Terpadu, Edisi Kedua. Jakarta : Balai Penerbit FKUI.


(3)

Tias, R. A., Rahman, M. A. & Dewi, C. Implementasi algoritma genetika untuk optimasi 0/1 multi-dimensional knapsack problem dalam penentuan menu makanan sehat. Jurnal Mahasiswa PTIIK UB, vol 1 (4).


(4)

BAB 3

ANALISIS DAN PERANCANGAN

Pada bab ini akan dibahas mengenai analisis dan perancangan sistem. Pada tahap analisis akan dilakukan analisis terhadap data yang digunakan menggunakan algoritma genetika (genetic algorithm) untuk menjadwalkan menu makanan bagi penderita diabetes mellitus. Pada tahap perancangan akan dibahas mengenai perancangan use case diagram, flowchart user, database, serta tampilan antarmuka sistem.

3.1. Arsitektur Umum

Pada penelitian ini terdiri dari beberapa langkah yang diawali dari pengumpulan data nutrisi makanan dan data pasien. Selanjutnya dilakukan proses perhitungan kebutuhan pasien dengan menggunakan persamaan Harris-Benedict yang kemudian akan dilanjutkan dengan proses penentuan jenis diet penderita. Proses selanjutnya adalah penerapan algoritma genetika untuk menjadwalkan menu makanan yang diawa li dengan membangkitkan individu awal secara acak. Tahap selanjutnya adalah menghitung nilai fitness untuk menentukan individu- individu yang terbaik. Tahap selanjutnya adalah seleksi yang berguna untuk memilih beberapa individu terbaik untuk dilakukan proses crossover. Tahap selanjutnya adalah melakukan crossover untuk mengawinkan beberapa individu antar kromosom yang terbaik untuk menghasilkan individu yang baru. Tahap selanjutnya adalah proses mutasi untuk menggantikan gen yang hilang dan menghasilkan kromosom yang baru. Output yang diperoleh dari proses ini berupa jadwal menu makanan dalam satu minggi bagi penderita diabetes mellitus. Detail setiap tahapan yang dilakukan akan dijelaskan


(5)

secara terperinci pada bagian-bagian selanjutnya. Adapun arsitektur umum dari sistem yang akan dibangun dapat dilihat pada Gambar 3.1.

Gambar 3.1. Arsitektur Umum

start

Input data pasien

Hitung kalori pasien

Penentuan jenis diet

Inisialisasi individu awal Input kalori pasien, jumlah individu awal,

dan jumlah generasi

I < jumlah generasi

Hitung fitness

Seleksi

Crossover

Mutasi

i++

Hasil Penjadwalan

stop

T

id

a

k

Ya

Proses Algoritma


(6)

3.2. Data yang Digunakan

Data yang digunakan dalam penelitian ini terdiri dari dua jenis data, yaitu data pasien

diabetes mellitus dan data nutrisi makanan. Data pasien digunakan untuk mengetahui

jumlah kalori yang dibutuhkan oleh pasien untuk menentukan jenis diet yang diberikan kepada pasien diabetes mellitus. Parameter data pasien yang digunakan adalah nama, umur, jenis kelamin, berat badan, tinggi badan, tingkat aktivitas, dan alergi. Data ini akan digunakan untuk melakukan perhitungan kalori pasien dengan menggunakan persamaan Haris-Benedict. Contoh data pasien beserta nilai parameternya yang dibutuhkan dalam penelitian ini dapat dilihat pada Tabel 3.1

Tabel 3.1. Parameter Pasien Nama Umur Jenis

Kelamin Berat Badan Tinggi Badan Tingkat aktivitas Alergi

Dian 58 Wanita 60 160 Ringan -

John 32 Pria 75 170 Berat Udang

Leo 29 Pria 80 165 Sedang -

Data nutrisi makanan yang digunakan adalah data bahan makanan dalam ukuran 100 gr yang diperoleh dari data Nutrisurvey Indonesia tahun 2007 yang dikembangkan oleh Usman Sikumbang dari Poltekkes Padang. Nutrisurvey merupakan sebuah software yang dibuat oleh Jurgen Erhadt dan Reiner Gross yang berguna untuk menganalisis zat gizi makanan dari menu atau survey konsumsi. Data nutrisi makanan digunakan untuk menghasilkan sebuah menu makanan yang sesuai dengan kebutuhan kalori pasien. Parameter-parameter nutrisi makanan yang digunakan pada penelitian ini adalah kode makanan, nama makanan, jenis makanan (makanan pokok, lauk pauk, sayuran, buah-buahan, dan pelengkap), kandungan energi (kkal), protein (gr), lemak (gr), dan karbohidrat (gr). Contoh data nutrisi makanan beserta parameternya yang dibutuhkan pada penelitian ini dapat dilihat pada Tabel 3.2.


(7)

Tabel 3.2. Parameter Nutrisi Makanan Kode makanan Nama Makanan Jenis Makanan Energi (kkal) Protein (g) Lemak (g) Karbohidrat (g)

ZIN0071 Nasi putih p 544 2.400 0.200 22.000

ZIN0072 Nasi tim ayam p 586 5.800 3.000 21.500

ZIN0273 Bening bayam s 33 1.000 0.100 1.300

ZIN0274 Bening selada s 88 1.00 0.400 4.300

ZIN0275 Jus jeruk papaya

pl 213 0.200 0.100 13.000

ZIN0275 Jus jeruk peras pl 347 0.200 0.100 21.800 ZIN0277 Daging ayam

goreng

l 1389 26.200 21.300 0

ZIN0278 Daging sapi rebus

l 1879 23.800 29.800 22.200

ZIN0279 Jeruk b 577 11.200 2.200 25.900

… … … …

… … … …

n … … … …

3.3. Perhitungan Kebutuhan Kalori

Penyakit Diabetes Mellitus (DM) adalah suatu kumpulan gejala yang timbul pada seseorang yang disebabkan oleh peningkatan kadar glukosa darah akibat penurunan insulin yang progresif dilatarbelakangi oleh resistensi insulin (Soegondo et al, 2009). Penyakit diabetes mellitus dapat dikontrol dengan cara memperhatikan, menjaga, dan juga mengatur pola hidup yang sehat dan seimbang, terutama dalam hal konsumsi makanan sehari- hari. Bagi penderita diabetes mellitus sangat penting untuk memperhatikan dan mengetahui makanan yang dapat dikonsumsinya beserta ukurannya. Selain itu angka kecukupan gizi atau nutrisi yang dibutuhkan oleh penderita diabetes mellitus juga turut mempengaruhi proses penyembuhan pasien.

Perhitungan kalori bagi penderita pasien diabetes diperoleh dari perhitungan berat badan, tinggi badan, jenis kelamin, usia, dan tingkat aktivitas. Proses diagram


(8)

flow perhitungan kalori yang dibutuhkan oleh pasien diabetes mellitus dalam sehari dapat dilihat pada Gambar 3.2.

Gambar 3.2. Flowchart Perhitungan Kebutuhan Kalori Pasien

start

Input data pasien (tinggi badan, berat badan, usia, jenis kelamin, dan tingkat

aktivitas)

Hitung berat badan ideal (BBI)

Hitung kalori basal (KB)

Hitung koreksi faktor aktivitas

Hitung koreksi faktor usia

Hitung indeks masa tubuh (IMT)

Hitung total kalori pasien

stop Total Kalori


(9)

Berikut akan dijelaskan contoh penerapan proses perhitungan kebutuhan kalori berdasarkan data seorang pasien penderita penyakit diabetes mellitus seperti Tabel 3.3.

Tabel 3.3. Data Pasien Diabetes Mellitus Data Pasien

Nama Novita

Jenis Kelamin Perempuan

Usia 43 tahun

Berat Badan 60 kg

Tinggi Badan 165 cm

Tingkat Aktivitas Ringan (bekerja di kantor)

Alergi -

3.3.1. Hitung Berat Badan Ideal (BBI)

Perhitungan berat badan ideal meliputi tinggi badan dan berat badan pasien yang telah diinput dengan menggunakan rumus ((TB-100) x 1kg) x 90%) untuk pasien wanita dengan tinggi badan ≥ 150 cm. Maka berat badan ideal dari pasien tersebut adalah

Berat Badan Ideal = ((TB-100) x 1 kg) x 90%) Berat Badan Ideal = ((165 – 100) x 1 kg) x 90 % Berat Badan Ideal = (65 x 1 kg) x 90%

Berat Badan Ideal = 58.5 kkal

3.3.2. Hitung Kalori Basal

Perhitungan kalori basal meliputi data mengenai jenis kelamin pasien dengan menggunakan rumus (Berat Badan Ideal x 25 kkal) untuk jenis kelamin pasien diatas. Maka kalori basal dari pasien tersebut adalah


(10)

Kalori Basal = BBI x 25 kkal Kalori Basal = 58.5 kkal x 25 kkal Kalori Basal = 1462.5 kkal

3.3.3. Hitung Koreksi Faktor Aktivitas

Perhitungan koreksi faktor usia meliputi data mengenai usia pasien dengan menggunakan rumus (Kalori Basal x 10%) untuk usia pasien diatas. Maka koreksi faktor aktivitas pasien tersebut adalah

Koreksi faktor aktivitas = Kalori Basal x 10% Koreksi faktor aktivitas = 1462.5 kkal x 10% Koreksi faktor aktivitas = 146.25 kkal

3.3.4. Hitung Koreksi Faktor Usia

Perhitungan koreksi faktor usia meliputi data mengenai usia pasien dengan menggunakan rumus (Kalori Basal x 5%) untuk usia pasien diatas. Maka koreksi faktor aktivitas pasien tersebut adalah

Koreksi faktor usia = Kalori Basal x 5% Koreksi faktor usia = 1462.5 kkal x 5% Koreksi faktor usia = 73.125 kkal

3.3.5. Hitung Indeks Masa Tubuh (IMT)

Perhitungan IMT pasien dilakukan untuk mengecek status berat badan pasien diabetes normal atau tidak.


(11)

Indeks Masa Tubuh = Berat Badan/(Tinggi Badan2) x 100 % Indeks Masa Tubuh = (60kg / (1.65 m)2) x 100%

Indeks Masa Tubuh = (60 kg / 2.7225 m2) x 100% Indeks Masa Tubuh = 22

Status indeks masa tubuh pasien diatas dalam keadaan normal karena rentang IMT antara 18-25 sehingga tidak diberikan perubahan kebutuhan kalori.

3.3.6.Hitung Total Kebutuhan Kalori

Setelah dilakukan perhitungan diatas, maka akan dihitung total kebutuhan kalori yang dibutuhkan pasien dalam satu hari untuk mencukupi kebutuhan nutrisinya dengan rumus sebagai berikut

Total Kalori = Kalori Basal + Faktor Aktivitas – Faktor Usia Total Kalori = 1462.5 + 146.25 – 73.125

Total Kalori = 1535.625 kkal

3.4. Penentuan Jenis Diet Penderita Diabetes Mellitus

Diet untuk penyakit diabetes mellitus (DM) dikelompokkan berdasarkan jumlah kalori yang dibutuhkan per hari dari hasil perhitungan berat badan, tinggi badan, usia, tingkat aktivitas, dan jenis kelamin. Adapun klasifikasi diet diabetes mellitus beserta kandungan nutrisi berdasarkan jenis diet dapat dilihat pada Tabel 2.2.

Sebelum masuk ke dalam tahapan algoritma genetika, akan ditentukan terlebih dahulu kelompok jenis diet dari penderita diabetes mellitus berdasarkan perhitungan total kebutuhan kalori yang telah dihitung dengan persamaan Haris-Benedict. Berdasarkan nilai kalori dari kelompok jenis diet yang ditentukan tersebut, maka akan dibangun model algoritma genetika untuk penjadwalan menu makanan bagi penderita


(12)

diabetes mellitus. Contoh kasus dari pasien dengan data diri yang dapat dilihat pada

Tabel 3.3 menunjukkan bahwa pasien tersebut berada pada kelompok jenis diet diabetes ketiga atau diet 1500 kkal. Dengan data tersebut maka total kalori 1500 kkal akan digunakan untuk dibangun model algoritma genetika.

3.5. Model Algoritma Genetika

3.5.1. Struktur Algoritma Genetika

Algoritma genetika memiliki struktur umum sebagai berikut :

 Individu

Individu adalah istilah pada teknik pencarian yang dilakukan sekaligus juga dapat didefenisikan sebagai sejumlah solusi yang mungkin dihasilkan. Struktur individu yang akan dibangun pada penelitian ini d idefeniskan seperti Gambar 3.3.

Gambar 3.3. Struktur Individu

Pada penelitian ini satu individu yang dibangun akan terdiri dari 3 kromosom untuk kromosom makan pagi, kromosom makan siang, dan kromosom makan malam. Satu individu terdiri dari 15 gen yang akan menampung total kalori dari setiap jenis makanan, yaitu makanan pokok, lauk pauk, sayuran, buah-buahan, dan pelengkap.

 Kromosom

Dari satu individu yang dibangun tersebut akan dibagi menjadi 3 kromosom yaitu kromosom untuk makan pagi, siang, dan malam. Setiap kromosom akan berisi dua nilai, yaitu total kalori dan nilai fungsi fitness. Total kalori merupakan jumlah kalori dari seluruh jenis makanan dalam satu kromosom untuk jadwal menu makanan satu hari. Nilai dari total kalori sangat berpengaruh pada perhitungan


(13)

nilai fungsi fitness. Nilai fungsi fitness merupakan nilai untuk mengevaluasi optimal atau tidaknya algoritma genetika yang diimplementasikan. Pada penelitian ini fungsi fitness yang digunakan adalah fungsi fitness minimum. Oleh sebab itu, semakin rendah nilai fungsi fitness maka semakin optimal solusi menu makanan yang diperoleh. Struktur kromosom yang akan dibangun dapat dilihat seperti Gambar 3.4.

Gambar 3.4. Struktur Kromosom

Genotype (Gen)

Gen berisi sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Nilai yang terdapat dalam satu gen disebut dengan allele. Pada penelitian ini terdiri dari 15 gen, dimana setiap gen akan berisi nilai kalori setiap jenis makanan (makanan pokok, lauk pauk, sayuran, buah-buahan, dan pelengkap). Stuktur gen yang akan dibangun dapat dilihat pada Gambar 3.5.

Gambar 3.5. Struktur Genotype (Gen)

Individu

Individu gen


(14)

3.5.2. Inisialisasi Individu Awal

Tahap ini merupakan tahapan awal dalam proses algoritma genetika. Pada tahap inisialiasi dilakukan proses pembangkitan individu awal yaitu pembangkitan sejumlah individu secara acak. Ukuran untuk populasi tergantung pada masalah yang akan diselesaikan dan jenis operator genetika yang akan diimplementasikan. Pada penelitian ini, data populasi awal yang akan dibangkitkan merupakan data menu makanan yang diperoleh dari database makanan. Semakin besar ukuran populasi awal yang dibangkitkan, maka semakin besar p ula variasi menu makanan yang akan dihasilkan dengan menggunakan algoritma genetika. Flowchart dari tahap inisialisasi individu awal dapat dilihat pada Gambar 3.6.

Gambar 3.6. Flowchart Tahapan Inisialisasi Individu Awal

Adapun langkah- langkah dalam tahap inisialisasi individu awal adalah sebagai berikut :

1. Normalisasi Menu Makanan

Sebelum menu makanan dibangkitkan sebagai individu awal dalam tahap inisialisasi individu awal, diperlukan proses normalisasi menu makanan terlebih

start

Normalisasi Menu Makanan

Random Menu Makanan

Masukkan nilai kalori menu makanan ke dalam kromosom


(15)

dahulu. Hal ini dilakukan agar menu makanan yang terpilih pada saat proses

random menu makanan sudah sesuai dengan kebutuhan sistem. Proses normalisasi

makanan memiliki tiga tahapan, yaitu :

a. Pembagian Total Kalori Pasien

Total kalori pasien yang dihasilkan dari perhitungan kebutuhan kalori pasien sebelumnya akan dibagi 3 (tiga) yang disesuaikan dengan jumlah kromosom, yaitu kromosom untuk makan pagi, siang, dan malam. Hal ini dilakukan agar penjadwalan menu makanan yang dihasilkan tetap memperhatikan keseimbangan total kalori untuk menu makan pagi, siang, dan malam. Cara pembagian total kalori pasien dapat didefenisikan dengan persamaan 3.1.

(3.1) Contoh kasus pasien bernama Novita dengan penyakit diabetes mellitus yang memiliki data seperti pada Tabel 3.3. Pasien tersebut memiliki total kebutuhan kalori yang masuk pada kelompok jenis diet ketiga tau jenis diet 1500 kkal untuk satu hari yang diperoleh dari perhitungan total kalori yang dilakukan sebelumnya. Nilai dari total kalori tersebut akan dibagi 3 (tiga) untuk setiap kromosom makan pagi, siang, dan malam. Sehingga untuk setiap jadwal makan, kebutuhan kalori yang diperlukan pasien tersebut adalah sebagai berikut :

b. Menghitung jumlah kalori untuk setiap jenis makanan

Setelah perhitungan total kalori pasien per kromosom dilakukan, maka proses selanjutnya adalah menghitung jumlah kalori setiap jenis makanan. Satu kromosom memiliki 5 (lima) gen yang berisikan kalori dari setiap jenis makanan, yaitu makanan pokok, lauk pauk, sayuran, buah-buahan, dan pelengkap. Setiap jenis makanan memiliki bobot masing- masing, yaitu untuk makanan pokok sebesar 45%, lauk pauk sebesar 20%, sayuran sebesar 15%,


(16)

buah-buahan sebesar 15%, dan makanan pelengkap sebesar 20% untuk setiap satu kromosom jadwal makan. Cara perhitungan jumlah kalori tiap jenis makanan dapat didefenisikan dengan perhitungan sebagai berikut :

Contoh kasus dari pasien bernama Novita, diperoleh total kalori pasien per kromosom adalah 500 kkal untuk setiap jawal makan pasien. Dari data tersebut maka akan dihitung bobot masing- masing jenis makanan seperti :

Makanan pokok (kkal) = 45% x 500 kkal = 225 kkal Lauk pauk (kkal) = 20% x 500 kkal

= 100 kkal Sayuran (kkal) = 15% x 500 kkal

= 75 kkal

Buah-buahan (kkal) = 15% x 500 kkal = 75 kkal

Makanan pelengkap (kkal) = 20% x 500 kkal = 100 kkal

c. Menghitung berat tiap makanan dalam satuan 100 gram.

Setiap menu makanan yang terdapat dalam database makanan dinyatakan dalam satuan 100 gram. Di dalam database makanan juga terdapat sebagian


(17)

menu makanan yang memiliki kalori yang melebihi jumlah kalori yang dibutuhkan untuk jenis makanan tersebut. Sehingga diperlukan suatu persamaan untuk mengatasi hal tersebut agar tetap memberikan jumlah kalori dan berat yang sesuai dengan total kalori kebutuhan pasien diabetes mellitus seperti pada persamaan 3.2.

(3.2) Contoh kasus dari data pasien bernama Novita memiliki total kebutuhan kalori sebesar 1500 kkal dalam satu hari, total kebutuhan kalori untuk jadwal makan pagi, siang, dan malam untuk tiap jenis makanan adalah makanan pokok sebesar 225 kkal, lauk pauk sebesar 100 kkal, sayuran sebesar 75 kkal, buah-buahan sebesar 75 kkal, dan makanan pelengkap sebesar 100 kkal.

Sebelum melakukan random menu makanan berdasarkan data kalori per jadwal makan, diperlukan perhitungan untuk menormalisasikan kalori dan berat dari tiap menu makanan di database makanan agar jumlah kalori dan berat sesuai dengan total kalori kebutuhan pasien. Contoh data menu makanan yang terdapat pada database dalam satuan 100 gram dapat dilihat pada Tabel 3.4.

Tabel 3.4. Menu Makanan dari Database Kode

makanan

Nama makanan Tipe makanan

Kalori Makanan

ZIN0071 Nasi putih p 544

ZIN0585 Ikan goreng l 669

ZIN0407 Sayur sop s 435

ZIN0852 Jeruk b 577


(18)

Dari data tersebut, sistem akan melakukan perhitungan bagi menu makanan yang memiliki kalori yang lebih banyak dari kalori tiap jenis makanan yang diperlukan pasien untuk setiap jadwal makan. Pasien tersebut membutuhkan kalori untuk makanan pokok sebesar 225 kkal, lauk pauk sebesar 100 kkal, sayuran sebesar 75 kkal, buah-buahan sebesar 75 kkal, dan makanan pelengkap sebesar 100 kkal. Dari data tersebut dapat dilihat bahwa jenis makanan nasi putih, ikan goreng, sayur sop, jeruk memiliki jumlah kalori yang lebih tinggi dibandingkan jumlah kalori yang dibutuhkan pasien. Sedangkan untuk jenis makanan pelengkap yaitu jus tomat tidak memerlukan perhitungan ulang untuk menormalisasikan berat makanan. Perhitungan yang dilakukan untuk normalisasi kalori makanan tersebut adalah

Makanan pokok (nasi putih) =

x 100 gram

= 41,36 gram

Lauk pauk (ikan goreng) =

x 100 gram

= 14,3 gram

Sayuran (sop sayur) =

x 100 gram

= 17,24 gram

Buah-buahan (jeruk) =

x 100 gram

= 17,99 gram

Berdasarkan perhitungan normalisasi berat makanan diatas, maka diperoleh data menu makanan dengan berat makanan yang baru seperti pada Tabel 3.5.


(19)

Tabel 3.5. Hasil Normalisasi Berat Menu Makanan Baru

2. Random Menu Makanan

Setelah proses normalisasi menu makanan di database makanan telah selesai dilakukan maka proses selanjutnya adalah memilih secara acak 15 (lima belas) menu makanan sebagai individu awal untuk tahap inisialisasi individu awal. Hasil dari proses random menu makanan adalah 15 (lima belas) menu makanan yang telah ternormalisasi yang sesuai dengan kebutuhan pasien.

3. Masukkan nilai kalori menu makanan ke dalam kromosom

Setelah proses random menu makanan dilakukan, tahap akhir yang dilakukan adalah memasukkan 15 (lima belas) menu makanan yang terpilih ke dalam 3 (tiga) kromosom sesuai dengan pembagiannya yaitu kromosom untuk makan pagi, siang, dan malam. Masing- masing kromosom akan memiliki 5 (lima) gen yang berisi nilai kalori untuk makanan pokok, lauk pauk, sayuran, buah-buahan, dan makanan pelengkap.

3.5.3. Evaluasi Nilai Fungsi Fitness

Setelah proses inisialisasi individu awal dilakukan, tahap selanjutnya yang dilakukan adalah mengevaluasi nilai fungsi fitness. Nilai fitness adalah nilai yang menyatakan baik atau tidaknya solusi (individ u) yang diperoleh. Nilai fitness dapat dijadikan sebagai acuan dalam mencapai nilai optimal dalam algoritma genetika. Pada

Kode makanan

Nama makanan Tipe makanan

Kalori Makanan

Berat Makanan baru

ZIN0071 Nasi putih p 544 41,36

ZIN0585 Ikan goreng l 669 14,3

ZIN0407 Sayur sop s 435 17,24

ZIN0852 Jeruk b 577 17,99


(20)

penelitian ini, algoritma genetika yang digunakan bertujuan mencari individu dengan nilai fitness yang paling minimum. Untuk menghitung nilai fitness setiap individu dapat dilakukan dengan menggunakan persamaan 3.3.

Fitness = |Total kalori pasien – Total kalori menu makanan satu hari| (3.3)

Sedangkan untuk menghitung nilai fitness rata-rata setiap generasi dapat dilakukan dengan menggunakan persamaan 3.4.

dimana :

ak = nilai fitness setiap individu

k = individu dalam satu minggu, dimulai dari 1 hingga 7

Contoh kasus pada pasien diabetes mellitus yang bernama Novita memiliki kebutuhan kalori sebesar 1500 kkal dalam satu hari. Pada saat tahap inisialisasi individu yang dilakukan menghasilkan menu makanan seperti Tab el 3.6.

Tabel 3.6. Menu Makanan Hasil Inisialisasi Populasi Awal

Tipe Makanan Sarapan Makan Siang Makan Malam

Makanan pokok Lontong (225 kkal)

Ketupat (84 kkal) Nasi tim wortel kentang (225 kkal) Lauk pauk Daging kambing

(100 kkal)

Daging kambing (100 kkal)

Tahu goreng (100 kkal)


(21)

Tabel 3.6. Menu Makanan Hasil Inisialisasi Populasi Awal (lanjutan)

Tipe Makanan Sarapan Makan Siang Makan Malam

Sayuran Tumis bayam dan sawi (75 kkal)

Sayur daun kelor (75 kkal)

Sayur daun kelor (33 kkal)

Buah-buahan Jambu biji (75kkal)

Jambu biji (75 kkal)

Nenas (75 kkal)

Makanan pelengkap

Roti moka (100 kkal)

Roti coklat (100 kkal)

Jus jeruk papaya (100 kkal)

Sebelum menghitung nilai fitness, pertama sekali yang dilakukan adalah menghitung total kalori menu makanan dalam satu hari dengan menjumlahkan jumlah kalori per menu makanan, yaitu

225 + 100 + 75 + +75 + 100 + 84 + 100 + 75 + 75 + 100 + 225 + 100 + 33 + 75 + 100 = 1542 kkal

Dari perhitungan tersebut diperoleh bahwa total kalori menu makanan dalam satu hari adalah sebesar 1680 kkal. Dengan menggunakan data tersebut dapat dihitung nilai fitness menggunakan persamaan 2.

Nilai fitness = | 1500 kkal – 1542 kkal | = 42

3.5.4. Seleksi

Tahap seleksi berhubungan erat dengan nilai fitness yang diperoleh oleh setiap individu. Seleksi dilakukan untuk memilih individu mana saja yang akan dipilih untuk proses kawin silang dan mutasi. Tahap seleksi dilakukan untuk memperoleh calon

parent yang baik. Semakin tinggi nilai fitness suatu individu, maka semakin tinggi

kemungkinan terpilihnya individu tersebut.

Penelitian ini menggunakan metode Rank Based Fitness Assignment untuk melakukan tahap seleksi individu yang akan terpilih pada saat kawin sila ng. Pada


(22)

dari yang terkecil hingga terbesar. Fungsi metode ini adalah untuk menyeragamkan skala untuk seluruh individu dalam populasi agar dapat memiliki peluang terpilih untuk proses kawin silang. Ilustrasi metode Rank Based Fitness Assignment dapat dilihat pada Gambar 3.7.

Individu Nilai Fitness Individu Nilai Fitness

1 90 4 40

2 100 3 65

3 65 6 75

4 40 1 90

5 110 2 100

6 75 5 110

Gambar 3.7. Ilustrasi Menggunakan Rank Based Fitness Assignment

3.5.5. Crossover

Setelah tahap seleksi dilakukan, maka tahap selanjutnya adalah melakukan proses

crossover (kawin silang) antar individu atau parent yang terpilih. Untuk menentukan

berapa banyak parent yang terpilih maka diperlukan nilai persentase crossover, dimana nilainya telah ditetapkan sebesar 0,1. Dengan menggunakan nilai tersebut, maka dapat dihitung berapa parent yang akan dilakukan crossover.

Individu- individu yang terpilih merupakan individu- individu yang memiliki nilai fungsi fitness yang terbaik. Setelah menentukan berapa individu yang akan digunakan, proses selanjutnya adalah menentukan titik potong gen yang akan mengalami proses crossover antar individu terpilih. Titik potong gen ditentukan dengan cara melakukan random.

Penelitian ini menggunakan metode two point crossover untuk melakukan proses crossover. Two point crossover hampir sama dengan one point crossover. Letak perbedaannya adalah terdapat 2 (dua) cut point yang dibangkitkan secara acak pada metode two point crossover (Mendes, 2013).


(23)

Adapun langkah- langkah dari metode two point crossover adalah sebagai berikut :

1. Masukkan parent atau individu yang terpilih untuk di crossover

2. Tentukan bilangan random sebanyak 2 (dua) cut point sebagai titik potong antara 0 sampai sepanjang kromosom pada masing- masing parent atau individu.

3. Untuk setiap gen pada kromosom parent, lakukan

a. Untuk indeks awal yang lebih kecil dibandingkan dengan indeks akhir, lakukan

 Untuk gen yang terletak sebelum indeks awal dan setelah indeks akhir, salin kembali nilai gen dari parent pertama untuk diberikan pada anakan (offspring)

 Jika gen berada di antara indeks awal dan indeks akhir, maka gen pada

offspring akan berisi gen dari parent kedua.

b. Untuk indeks awal yang lebih besar dibandingkan dengan indeks akhir, lakukan

Proses crossover akan dimulai dari indeks awal ke indeks akhir.

 Jika gen berada sebelum indeks awal dan setelah indeks akhir salin kembali nilai gen dari parent pertama untuk diberikan pada anakan (offspring)

Jika gen berada di antara indeks awal dan indeks akhir, maka gen pada offspring akan berisi gen dari parent kedua.

Contoh kasus terdapat 20 jumlah individu awal yang telah ditentukan. Nilai persentase crossover untuk menentukan berapa jumlah kromosom yang akan dilakukan diberikan sebesar 0,1. Oleh sebab itu, banyak individu yang akan dilakukan

crossover adalah

Banyak individu (parent) = 0,1 x jumlah individu = 0,1 x 20

= 2 individu

Dari perhitungan tersebut diperoleh banyak individu yang akan dikawin silang sebanyak 2 (dua) individu. Kemudian akan ditentukan letak titik potong gen yang


(24)

akan dilakukan crossover antar individu sebanyak 2 (dua) cut point secara random. Ilustrasi 2 (dua) individu yang akan dilakukan crossover dengan menggunakan metode two point crossover dapat dilihat pada Gambar 3.8 dan Gambar 3.9.

Kondisi : Jika indeks awal < indeks akhir (indeks awal : 5; indeks akhir :10), maka :

Parent 1 :

Parent 2 :

Offspring :

Gambar 3.8. Ilustrasi Proses Crossover Kondisi Pertama

23 12 76 7 10 22 12 7 7 10 21 12 7 7 10

22 13 75 7 10 21 12 7 7 10 24 12 7 7 10

Two point crossover

23 12 76 7 10 21 12 7 7 10 24 12 7 7 10

Hasil gen yang di-crossover Indeks

awal

Indeks akhir


(25)

Indeks akhir

Indeks awal Kondisi : Jika indeks awal > indeks akhir (indeks awal 13; indeks akhir 2)

Parent 1:

Parent 2 :

Parent 1:

Parent 2 :

Offspring :

Gambar 3.9. Ilustrasi Proses Crossover Kondisi Kedua

23 12 76 7 10 22 12 7 7 10 21 12 7 7 10

22 13 75 7 10 21 12 7 7 10 24 12 7 7 10

22 13 75 7 10 21 12 7 7 10 24 12 7 7 10

23 12 76 7 10 22 12 7 7 10 21 12 7 7 10

22 13 75 7 10 22 12 7 7 10 21 12 7 7 10

Two point crossover

Indeks gen ya ng di -crossover


(26)

3.5.6. Mutasi

Proses mutasi dilakukan setelah proses crossover selesai. Proses mutasi bertujuan untuk mengubah anak (offspring) baru dengan mengubah 1 menjadi 0 atau 0 menjadi 1. Mutasi dimaksudkan untuk mencegah hasil pencarian yang mengarah pada keadaan

local optima di dalam suatu area pencarian. Pada penelitian ini menggunakan metode random mutation untuk melakukan proses mutasi gen. Hal yang pertama dilakukan

adalah menghitung berapa banyak jumlah gen yang akan dilakukan proses mutasi berdasarkan perhitungan nilai dari Probabilitas Mutasi (Pm) dan jumlah total gen. Perhitungan berapa banyak gen yang akan dilakukan mutasi dapat dihitung dengan menggunakan persamaan 3.5.

Jumlah gen yang dimutasi = Pm x jumlah populasi x jumlah gen (3.5)

Dari persamaan 3.4 akan diperoleh berapa jumlah gen yang akan dilakukan proses mutasi. Setelah itu akan dilakukan random posisi untuk menentukan posisi gen yang akan dimutasi. Gen yang terpilih akan dilakukan mutasi dengan tipe gen yang sama yang berada pada kromosom sebelahnya. Adapun langkah- langkah proses

random mutation adalah sebagai berikut :

1. Tentukan banyak gen yang akan dilakukan mutasi

2. Tentukan bilangan random sebagai letak posisi gen yang akan dilakukan mutasi antara 0 sampai sepanjang kromosom invidu.

3. Lakukan mutasi dengan cara mengganti nilai gen pada indeks yang terpilih a. Jika indeks yang terpilih berada pada kro mosom 1 (satu) atau 2 (dua) maka

nilainya akan digantikan dengan gen yang memiliki tipe yang sama, yang berada pada kromosom disebelah kanannya.

b. Jika indeks yang terpilih berada pada kromosom 3 (tiga) maka nilainya akan digantikan dengan gen yang memiliki tipe yang sama, yang berada pada kromosom sebelumnya.

Contoh kasus input individu awal yang diberikan sebesar 20 individu dan nilai probabilitas mutasi ditentukan sebesar 0,1. Namun jumlah individu akan bertambah menjadi 21 karena sebelumnya telah dilakukan proses crossover pada generasi pertama. Berdasarkan persamaan 3.4 dapat dihitung jumlah gen yang akan dilakukan mutasi adalah


(27)

Jumlah gen yang dimutasi = 0,1 x 21 x 15 = 31,5

= 31 gen

Berdasarkan perhitungan data diatas maka akan dilakukan mutasi sebanyak 31 gen dimana posisi gen pada setiap proses akan ditentukan secara random. Misal posisi gen yang akan dimutasi pada proses pertama terdapat pada indeks 6 dari hasil random posisi gen. Gen pada indeks ke 6 (enam) akan dimutasi ke gen dengan tipe yang sama (lauk pauk) pada kromosom sebelahnya yaitu gen pada indeks ke 11 (sebelas). Ilustrasi dari proses mutasi dapat dilihat pada Gambar 3.10.

Proses I : Individu awal

Individu akhir

Gambar 3.10. Ilustrasi Proses Mutasi

Proses algoritma genetika akan terus berulang sesuai dengan jumlah individu awal dan generasi yang diberikan. Hasil dari seluruh proses algoritma genetika adalah jadwal menu makanan yang merupakan tujuh individu terbaik dengan nilai fitness terendah. Menu makanan akan ditampilkan dalam satu minggu atau 7 (tujuh) hari untuk menu makan pagi, siang, dan malam. Setiap jadwal makan akan terdiri dari 5 jenis makanan, yaitu makanan pokok, lauk pauk, sayuran, buah-buahan, dan makanan pelengkap.

220 130 75 75 102 220 127 77 76 102 240 126 77 7 101

220 130 75 75 102 220 126 77 76 102 240 127 77 7 101

Gen indeks ke-6 akan dimutasi dengan gen indeks ke-11


(28)

3.6. Perancangan Sistem

3.6.1. Flowchart Sistem

Proses user merupakan sebuah alur atau tahapan yang akan dilakukan oleh user untuk menggunakan aplikasi penjadwalan menu makanan bagi pendertia diabetes mellitus. Adapun flowchart tahapan yang dilakukan oleh user pada sistem dapat dilihat pada Gambar 3.11.

start

Isi data diri

Hasil perhitungan kalori

Hasil penentuan jenis diet

Hasil penjadwalan menu makanan Isi pilihan individu

awal dan generasi awal

Simpan data?

YA

stop

Simpan data dan jadwal menu makanan ke data

pasien

TIDAK

Cetak grafik dan proses GA


(29)

Adapun penjelasan dari Gambar 3.11 adalah sebagai berikut :

Pertama sekali user akan masuk ke halaman pengisian data diri seperti nama, usia, jenis kelamin, berat badan, tinggi badan, tingkat aktivitas, dan alergi.

 Setelah itu akan ditampilkan informasi berupa kalori yang dibutuhka n penderita diabetes mellitus dan jenis diet yang akan digunakan.

Untuk melakukan proses penjadwalan menu makanan, user harus memilih berapa jumlah individu awal dan generasi awal terlebih dahulu.

Setelah itu user akan menekan tombol next agar system dapat melakuka n penyusunan jadwal makanan.

 Sistem akan menampilkan output yaitu berupa hasil penjadwalan menu makanan untuk makan pagi, siang, dan malam dalam 7 (tujuh) hari.

User juga dapat melihat grafik hubungan generasi dengan nilai fitness serta

melihat bagaimana proses algoritma berjalan.

User juga dapat memilih untuk menyimpan data jadwal menu makana n

dengan menekan tombol finish atau tidak. Jika user memilih untuk simpa n data, maka data jadwal makanan akan disimpan pada data pasien.

3.6.2. Perancangan Database

Perancangan database pada sistem ini digunakan untuk menyimpan data dan informasi yang berhubungan dengan proses penjadwalan menu makanan bagi penderita diabetes mellitus. Penjelasan mengenai table-tabel yang terdapat pada

database yang dirancang adalah sebagai berikut :

1. Tabel table_makanan, berfungsi sebagai tempat penyimpanan data-data yang berhubungan dengan menu makanan dan juga kandungan nutrisi dari setiap menu makanan. Adapun contoh data pada tabel tabel_makanan dapat dilihat pada Gambar 3.12.


(30)

Gambar 3.12. Data pada Tabel Menu Makanan

2. Tabel jenis_diet, berfungsi sebagai tempat penyimpan data-data yang berhubungan dengan jenis diet penderita diabetes mellitus dan jumlah kalori serta kandungan nutrisi yang diperlukan untuk setiap jenis diet. Data pada tabel ini akan digunakan pada saat proses penentuan jenis diet setelah berdasarkan perhitungan total kalori penderita diabetes mellitus. Adalpun contoh data jenis diet pada database dapat dilihat pada Gambar 3.13.


(31)

3. Tabel menu, berfungsi sebagai tempat penyimpanan daftar jadwal menu makanan dari hasil proses penjadwalan beserta informasi seperti kalori dan berat makanan yang dikonsumsi penderita diabetes mellitus. Adapun contoh dari tabel menu dapat dilihat pada Gambar 3.14.

Gambar 3.14. Data pada Tabel Jadwal Makanan

4. Tabel pasien, berfungsi sebagai tempat penyimpanan data diri penderita diabetes

mellitus. Adapun contoh dari tabel pasien dapat dilihat pada Gambar 3.15.


(32)

3.6.3. Racangan Tampilan Antarmuka

Tampilan antarmuka merupakan sebuah desain awal dari antarmuka sistem yang akan dibangun pada penelitian ini.

Rancangan Halaman Utama

Gambar 3.16. Rancangan Tampilan Halaman Utama

Keterangan :

a. Menu “Apa itu DM?” merupakan menu untuk masuk ke halaman yang berisi penjelasan tentang penyakit diabetes mellitus.

b. Menu “Galeri” merupakan menu untuk masuk ke halaman galeri yang berisi foto-foto singkat tentang diabetes mellitus.

c. Menu “Buat Jadwal” merupakan menu untuk masuk ke halaman pengisian data diri pasien untuk menjadwalkan menu makanan pasien.

d. Tombol “Find Out More” merupakan tombol yang juga dapat mengakses halaman yang berisi penjelasan tentang penyakit diabetes mellitus.

Buat Jadwal Galeri

Apa itu DM?

DIABETES MELLITUS DIET

DM diet

FIND OUT MORE

a b c


(33)

Rancangan Halaman Info Diabetes Mellitus

Gambar 3.17. Rancangan Tampilan Halaman Info Diabetes Mellitus

Keterangan :

a. Menu “Apa itu DM?” merupakan menu untuk masuk ke halaman yang berisi penjelasan tentang penyakit diabetes mellitus.

b. Menu “Galeri” merupakan menu untuk masuk ke halaman galeri yang berisi foto-foto singkat tentang diabetes mellitus.

c. Menu “Buat Jadwal” merupakan menu untuk masuk ke halaman pengisian data diri pasien untuk menjadwalkan menu makanan pasien.

d. Tombol “Find More” merupakan tombol untuk mengakses internet yaitu masuk ke halaman www.wikipedia.com untuk mengetahui lebih detail mengenai penyakit diabetes mellitus.

Buat Jadwal Galeri

Apa itu DM? DM diet

Apa itu Diabetes Mellitus?

DM atau disebut Diabetes Mellitus ………..

FIND MORE!

a b c


(34)

Rancangan Halaman Galeri

Gambar 3.18. Rancangan Tampilan Halaman Galeri

Keterangan :

a. Menu “Apa itu DM?” merupakan menu untuk masuk ke halaman yang berisi penjelasan tentang penyakit diabetes mellitus.

b. Menu “Galeri” merupakan menu untuk masuk ke halaman galeri yang berisi foto-foto singkat tentang diabetes mellitus.

c. Menu “Buat Jadwal” merupakan menu untuk masuk ke halaman pengisian data diri pasien untuk menjadwalkan menu makanan pasien.

d. Form untuk menampilkan foto- foto seputar penyakit diabetes mellitus. Buat Jadwal Galeri

Apa itu DM? DM diet

a b c

Photo 1

Photo 2

Photo 3


(35)

Rancangan Halaman Buat Jadwal

Gambar 3.19. Rancangan Tampilan Halaman Buat Jadwal

Keterangan :

a. Menu “Beranda” merupakan menu untuk masuk kembali ke halaman utama atau beranda.

b. Menu “Buat Jadwal” merupakan menu untuk masuk ke halaman buat jadwal untuk mengisi data-data pasien.

c. Menu “Data Pasien” merupakan menu untuk masuk ke halaman penyimpanan data-data pasien dan menu makanan pasien yang telah terjadwal.

d. Menu “Apa itu DM?” merupakan menu untuk masuk kembali ke halaman yang berisikan info lebih detail mengenai penyakit diabetes mellitus.

DM DIet

Apa itu DM? Data Pasien

Buat Jadwal Beranda

Penjadwalan Menu Makanan

1 2 3

Da ta Pasien Da ta Diet Pasien Jadwal Menu Ma kanan

*Data pribadi penderita diabetes mellitus

Nama Jenis Kelamin Usia Berat Badan Tinggi Badan tahun kg cm Tingkat Aktivitas Alergi

PREVIOUS NEXT

Footer

a b c d

e


(36)

e. Form data pasien yang memungkinkan user untuk mengisikan data-data pasien

diabetes mellitus untuk diproses ke tahap selanjutnya.

f. Tombol “Previous” merupakan tombol untuk kembali ke halaman sebelumnya.

g. Tombol “Next” merupakan tombol untuk masuk ke proses dimana hasilnya akan ditampilkan pada halaman data diet pasien yang berisi info berat badam dan kalori yang dibutuhkan pasien dalam satu hari.


(37)

Halaman Tampilan Data Diet Pasien

Gambar 3.20. Rancangan Tampilan Halaman Data Diet Pasien Data Pasien Energi Nama Jenis Kelamin Usia Berat Badan Tinggi Badan Alergi Data Pasien

Berat Badan dan Kebutuhan Kalori

Berat Badan Ideal Kalori Basal

Koreksi Faktor Aktivitas Koreksi Faktor Usia Total Kebutuhan Kalori

Jenis Diet Protein Lemak Ka rbo Koles t erol

Sera t Sukros a Na triu m

II x x x x x x x x

PREVIOUS NEXT

a b c d

e

g h

f

DM DIet

Apa itu DM? Data Pasien

Buat Jadwal Beranda

Penjadwalan Menu Makanan

1 2 3

Da ta Pasien Data Diet Pasien Jadwal Menu Ma kanan

Footer Jumlah Individu Awal

Jumlah Generasi

PREVIOUS NEXT

Nama Jenis Kelamin Usia Berat Badan Tinggi Badan Alergi Data Pasien

Berat Badan dan Kebutuhan Kalori

Berat Badan Ideal Kalori Basal

Koreksi Faktor Aktivitas Koreksi Faktor Usia Total Kebutuhan Kalori

Jenis Diet Protein Lemak Ka rbo Koles t erol

Sera t Sukros a Na triu m

II x x x x x x x x

Energi

a b c d

e g h j i f


(38)

Keterangan :

a. Menu “Beranda” merupakan menu untuk masuk kembali ke halaman utama atau beranda.

b. Menu “Buat Jadwal” merupakan menu untuk masuk ke halaman buat jadwal untuk mengisi data-data pasien.

c. Menu “Data Pasien” merupakan menu untuk masuk ke halaman penyimpanan data-data pasien dan menu makanan pasien yang telah terjadwal.

d. Menu “Apa itu DM?” merupakan menu untuk masuk kembali ke halaman yang berisikan info lebih detail mengenai penyakit diabetes mellitus.

e. Form data diet pasien yang memungkinkan user untuk melihat data diri, berat badan ideal, kalori basal, koreksi faktor aktivitas, koreksi faktor usia, dan total kebutuhan kalori pasien diabetes mellitus dalam satu hari.

f. Tabel daftar diet pasien memungkinkan user untuk melihat dan mengetahui jenis diet yang akan dikonsumsi pasien dan juga menampilkan berapa kandungan nutrisi yang boleh dikonsumsi pasien dalam satu hari berdasarkan jenis diet pasien.

g. Field jumlah individu awal merupakan field untuk memberikan nilai individu awal untuk masuk ke tahap algoritma genetika.

h. Field jumlah generasi merupakan field untuk memberikan nilai generasi untuk masuk ke tahap algoritma genetika.

i. Tombol “Previous” merupakan tombol untuk kembali ke halaman sebelumnya.

j. Tombol “Next” merupakan tombol untuk masuk ke proses dimana hasilnya akan ditampilkan pada halaman output yang merupakan halaman untuk menampilkan menu makanan pasien


(39)

Halaman Tampilan Output

v

Gambar 3.21. Rancangan Tampilan Halaman Output

Keterangan :

a. Menu “Beranda” merupakan menu untuk masuk kembali ke halaman utama atau beranda.

b. Menu “Buat Jadwal” merupakan menu untuk masuk ke halaman buat jadwal untuk mengisi data-data pasien.

c. Menu “Data Pasien” merupakan menu untuk masuk ke halaman penyimpanan data-data pasien dan menu makanan pasien yang telah terjadwal.

d. Menu “Apa itu DM?” merupakan menu untuk masuk kembali ke halaman yang berisikan info lebih detail mengenai penyakit diabetes mellitus.

a

DM DIet

Apa itu DM? Data Pasien

Buat Jadwal Beranda

Penjadwalan Menu Makanan

1 2 3

Da ta Pasien Da ta Diet Pasien Jadwal Menu Ma kanan

Hari Sarapan Makan Siang Makan Malam

PREVIOUS FINISH

a b c d

e


(40)

e. Form penjadwalan menu pasien yang memungkinakn user untu melihat daftar menu seperi makanan pokok, lauk pauk, sayuran, buah-buahan, dan pelengkap untuk makan pagi, siang, dan malam yang dapat dikonsumsi pasien.

f. Tombol “Previous” merupakan tombol untuk kembali ke halaman sebelumnya.

g. Tombol “Finish” merupakan tombol untuk menyimpan informasi pasien yang telah diproses ke halaman data pasien.

Halaman Tampilan Log Proses Algoritma Genetika

Gambar 3.22. Rancangan Tampilan Log Proses Algortima Genetika

Keterangan :

a. Menu “Beranda” merupakan menu untuk masuk kembali ke halaman utama atau beranda.

b. Menu “Buat Jadwal” merupakan menu untuk masuk ke halaman buat jadwal untuk mengisi data-data pasien.

a

DM DIet

Apa itu DM? Data Pasien

Buat Jadwal Beranda

a b c d

Proses Algoritma Genetika

Tampilan Daftar Proses Algoritma Genetika


(41)

c. Menu “Data Pasien” merupakan menu untuk masuk ke halaman penyimpanan data-data pasien dan menu makanan pasien yang telah terjadwal.

d. Menu “Apa itu DM?” merupakan menu untuk masuk kembali ke halaman yang berisikan info lebih detail mengenai penyakit diabetes mellitus.

e. Tampilan daftar log algoritma genetika yang memungkinkan user untuk melihat proses algoritma genetika berjalan mulai dari inisialisasi individu,

crossover, dan mutasi.

Halaman Tampilan Grafik

Gambar 3.23. Rancangan Tampilan Halaman Grafik

Keteragan :

a. Menu “Beranda” merupakan menu untuk masuk kembali ke halaman utama atau beranda.

b. Menu “Buat Jadwal” merupakan menu untuk masuk ke halaman buat jadwal untuk mengisi data-data pasien.

a

DM DIet

Apa itu DM? Data Pasien

Buat Jadwal Beranda

a b c d

Grafik


(42)

c. Menu “Data Pasien” merupakan menu untuk masuk ke halaman penyimpanan data-data pasien dan menu makanan pasien yang telah terjadwal.

d. Menu “Apa itu DM?” merupakan menu untuk masuk kembali ke halaman yang berisikan info lebih detail mengenai penyakit diabetes mellitus.

e. Tampilan grafik hubungan generasi dengan fitness yang memungkinkan user untuk melihat bagaiamana perbandingan antara nilai fitness dengan generasi.

Rancangan Tampilan Data Pasien

Gambar 3.24. Rancangan Tampilan Data Pasien

Keteragan :

a. Menu “Beranda” merupakan menu untuk masuk kembali ke halaman utama atau beranda.

a

DM DIet

Apa itu DM? Data Pasien

Buat Jadwal Beranda

a b c d

Data Pasien


(43)

b. Menu “Buat Jadwal” merupakan menu untuk masuk ke halaman buat jadwal untuk mengisi data-data pasien.

c. Menu “Data Pasien” merupakan menu untuk masuk ke halaman penyimpanan data-data pasien dan menu makanan pasien yang telah terjadwal.

d. Menu “Apa itu DM?” merupakan menu untuk masuk kembali ke halaman yang berisikan info lebih detail mengenai penyakit diabetes mellitus.

e. Tabel daftar data pasien yang memungkinkan user untuk melihat kembali jadwal menu makanan yang telah disimpan. Selain itu user juga dapat melakukan proses hapus data.


(44)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Pada bab ini akan dibahas hasil yang diperoleh dari implementasi algoritma Genetika (Genetic Algorithm) dalam menjadwalkan menu makanan bagi penderita penyakit

diabetes mellitus dan pengujian sistem sesuai dengan analisis dan perancangan yang

telah dibahas pada Bab 3.

4.1.Implementasi Sistem

Pada tahap implementasi sistem, algoritma genetika akan diimplementasikan ke dalam sistem menggunakan bahasa pemrograman PHP sesuai dengan perancangan yang telah dilakukan.

4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak

Spesifikasi perangkat keras dan perangkat lunak yang digunakan pada pembangunan sistem ini adalah sebagai berikut :

1. Processor Intel Core i5-3337U CPU @ 1.80GHz. 2. Sistem Operasi Windows 8 Single Language 64-bit. 3. Memory 4.00 GB RAM DDR3.

4. Kapasitas harddisk 750 GB. 5. Notepad++.


(45)

4.1.2. Implementasi Perancangan Antarmuka

Adapun implementasi perancangan antarmuka pada sistem yang telah dibangun adalah sebagai berikut.

Halaman Utama atau Beranda

Halaman ini merupakan halaman awal pada saat aplikasi dijalankan pertama sekali. Pada halaman ini juga terdapat halaman info diabetes dan juga galeri dengan menggunakan fasilitas scroll. Halaman utama dapat dilihat pada Gambar 4.1.

Gambar 4.1. Halaman utama

Halaman Info Diabetes

Halaman info diabetes merupakan halaman yang menampilkan info- info mengenai penyakit diabetes mellitus. Selain itu tersedia fasilitas Find More’ untuk mencari langsung info diabetes dengan fasilitas akses internet langsung. Tampilan halaman info diabetes dapat dilihat pada Gambar 4.2.


(46)

Gambar 4.2. Halaman Info Diabetes

Halaman Galeri

Halaman galeri merupakan halaman yang menampilan beberapa gambar-gambar mengenai penyakit diabetes mellitus. Tampilan halaman galeri dapat dilihat pada Gambar 4.3


(47)

Halaman Pengisian Form Data Pasien

Sebelum melakukan optimasi penjadwalan menu makanan, user terlebih dahulu harus mengisi data diri pada halaman pengisian form data pasien. Halaman ini merupakan halaman untuk menampung data-data pasien seperti nama, jenis kelamin, usia, berat badan, tinggi badan, tingkat aktivitas, dan alergi. Kemudian data pasien diabetes

mellitus akan disimpan untuk diproses pada perhitungan keb utuhan kalori dan

penentuan jenis diet dengan menekan to mbol next. Tampilan bagian pengisian form data pasien dapat dilihat pada Gambar 4.4.

Gambar 4.4. Halaman Pengisian Data Pasien

Data yang diperoleh dari halaman form pengisian data pasien diabetes mellitus akan diproses untuk menghitung berapa jumlah kalori yang dibutuhkan pasien dalam satu hari dan hasilnya akan ditampilkan pada halaman info diet pasien.


(48)

Halaman Info Data Diet Pasien

Halaman ini merupakan halaman untuk menampilkan data yang telah di-input oleh pasien, hasil perhitungan jumlah kalori yang dibutuhkan pasien dalam satu hari, dan jenis diet yang dibutuhkan pasien. Tampilan dari halaman info data diet pasien dapat dilihat pada Gambar 4.5.


(49)

Selain itu, pada halaman ini pengguna juga dapat memilih jumlah individu awal dan jumlah generasi untuk memulai proses penjadwalan dengan algoritma genetika. Setelah itu tekan tombol next untuk memulai proses algoritma genetika. Tampilan dari pemilihan individu awal dan generasi dapat dilihat pada Gambar 4.6.


(50)

Halaman Hasil Penjadwalan

Halaman ini merupakan halaman untuk menampilkan jadwal menu makanan selama 1 (satu) minggu. Tampilan halaman hasil penjadwalan dapat dilihat pada gambar 4.7.


(51)

Jadwal menu makanan yang ditampilkan ada lah jadwal untuk makan pagi, siang, dan malam. Dimana setiap jadwal makanan akan ditampilkan jenis makanannya seperti makanan pokok, lauk pauk, sayuran, buah-buahan, dan makanan pelengkap. Tampilan penjadwalan menu makanan untuk satu hari dapat dilihat pada Gambar 4.8.

Gambar 4.8. Tampilan Jadwal Satu Hari

Hasil penjadwalan menu makanan pada Gambar 4.8. dapat disimpan dengan menekan tombol finish. Informasi tersebut akan disimpan pada halaman data pasien.

Halaman Data Pasien

Halaman ini merupakan halaman yang menyimpan hasil penjadwalan menu makanan. Sehingga pada saat pengguna ingin melihat kembali hasil penjadwalan, pengguna dapat melihat pada halaman data pasien. Selain itu, pengguna juga dapat melakukan hapus data pada halaman ini. Tampilan data pasien dapat dilihat pada Gambar 4.9.


(52)

Pada halaman penjadwalan juga terdapat menu untuk memilih lihat grafik dan log. Di halaman tersebut dapat dilihat bagaimana hubungan antara generasi dengan nilai fitness dan log hasil proses genetika algoritma.

Halaman Tampilan Grafik

Halaman ini merupakan halaman untuk menampilkan bagaimana hubungan antara jumlah generasi dengan nilai fungsi fitness. Tampilan grafik dapat dilihat pada gambar 4.10.

Gambar 4.10.Tampilan Halaman Grafik

Halaman Tampilan Log Proses Algoritma Genetika

Halaman ini merupakan halaman untuk menampilkan bagaimana proses dari algoritma genetika berjalan. Pada halaman ini akan ditampilkan hasil inisialisasi individu awal, hasil crossover, dan hasil proses mutasi dari proses algoritma genetika. Tampilan halaman log proses algoritma genetika dapat dilihat pada Gambar 4.11.


(53)

Gambar 4.11. Tampilan Log Proses Algoritma Genetika

4.2.Pengujian Kinerja Sistem

Pengujian kinerja sistem dilakukan untuk mengetahui bagaimana kinerja sistem dari algoritma genetika dalam menghasilkan penjadwalan menu makanan bagi penderita

diabetes mellitus.

Pengujian kinerja sistem pada penelitian ini menggunakan data dari pasien

diabetes mellitus yang sudah dihitung besar kalorinya pada Bab 3. Kemudian data

tersebut akan dilakukan percobaan untuk melihat hubungan antara individu, generasi, dan nilai fitness. Percobaan dilakukan sebanyak 12 (dua belas) kali dengan jumlah individu dan jumlah generasi yang berbeda untuk setiap percobaan. Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang pertama dilakukan dengan jumlah individu awal 10 dan jumlah generasi 50 dapat dilihat pada Gambar 4.12.


(54)

Pada percobaan dengan individu awal sebesar 10 dan generasi sebesar 50 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 57.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-18 dan nilai tersebut tidak berubah hingga generasi yang ke-50. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 26 hingga 50 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus dengan yang kedua diberikan jumlah individu awal 10 dan jumlah generasi 70 dapat dilihat pada Gambar 4.13.

Gambar 4.13. Grafik Percobaan degan Individu 10 dan Generasi 70

Pada percobaan dengan individu awal sebesar 10 dan generasi sebesar 70 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 36.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-32 dan nilai tersebut tidak berubah hingga generasi yang ke-70. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 32 hingga 70 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang ketiga dengan jumlah individu awal 10 dan jumlah generasi 100 dapat dilihat pada Gambar 4.14.


(55)

Gambar 4.14. Grafik Percobaan dengan Individu 10 dan Generasi 100

Pada percobaan dengan individu awal sebesar 10 dan generasi sebesar 100 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 31.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-14 dan nilai tersebut tidak berubah hingga generasi yang ke-100. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 14 hingga 100 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang keempat akan ditingkatkan jumlah individu yang diberikan, yaitu dengan jumlah individu awal 20 dan jumlah generasi 50 dapat dilihat pada Gambar 4.15.


(56)

Pada percobaan dengan individu awal sebesar 20 dan generasi sebesar 50 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 31.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-22 dan nilai tersebut tidak berubah hingga generasi yang ke-50. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 22 hingga 50 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang kelima dilakukan dengan jumlah individu awal 20 dan jumlah generasi 70 dapat dilihat pada Gambar 4.16.

Gambar 4.16. Grafik Percobaan dengan Individu 20 dan Generasi 70

Pada percobaan dengan individu awal sebesar 20 dan generasi sebesar 70 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 31.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-14 dan nilai tersebut tidak berubah hingga generasi yang ke-70. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 14 hingga 70 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang keenam dilakukan dengan jumlah individu awal 20 dan jumlah generasi 100 dapat dilihat pada Gambar 4.17.


(57)

.

Gambar 4.17. Grafik Percobaan dengan Individu 20 dan Generasi 100

Pada percobaan dengan individu awal sebesar 20 dan generasi sebesar 100 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 23.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-20 dan nilai tersebut tidak berubah hingga generasi yang ke-100. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 20 hingga 100 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang ketujuh dilakukan dengan menaikkan kembali jumlah individu awal. Jumlah individu awal yang diberikan adalah 30 dan jumlah generasi 50 dapat dilihat pada Gambar 4.18.


(58)

Pada percobaan dengan individu awal sebesar 30 dan generasi sebesar 50 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 16.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-18 dan nilai tersebut tidak berubah hingga generasi yang ke-50. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 18 hingga 50 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang kedelapan dilakukan dengan jumlah individu awal 30 dan jumlah generasi 70 dapat dilihat pada Gambar 4.19.

Gambar 4.19. Grafik Percobaan dengan Individu 30 dan Generasi 70

Pada percobaan dengan individu awal sebesar 30 dan generasi sebesar 70 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 15.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-26 dan nilai tersebut tidak berubah hingga generasi yang ke-70. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 26 hingga 70 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang kesembilan dilakukan dengan jumlah individu awal 30 dan jumlah generasi 100 dapat dilihat pada Gambar 4.20.


(59)

Gambar 4.20. Grafik Percobaan dengan Individu 30 dan Generasi 100.

Pada percobaan dengan individu awal sebesar 30 dan generasi sebesar 100 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 8.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-16 dan nilai tersebut tidak berubah hingga generasi yang ke-100. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 16 hingga 100 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang kesepuluh dilakukan dengan jumlah individu awal 40 dan jumlah generasi 50 dapat dilihat pada Gambar 4.21.


(60)

Pada percobaan dengan individu awal sebesar 40 dan generasi sebesar 50 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 4.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-10 dan nilai tersebut tidak berubah hingga generasi yang ke-50. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 10 hingga 50 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang kesebelas dilakukan dengan jumlah individu awal 40 dan jumlah generasi 70 dapat dilihat pada Gambar 4.22.

Gambar 4.22. Grafik Percobaan dengan Individu 40 dan Generasi 70.

Pada percobaan dengan individu awal sebesar 40 dan generasi sebesar 70 diperoleh bahwa nilai fitness rata-rata yang paling minimum adalah 2.0. Nilai fitness rata-rata yang paling minimum tersebut berada pada generasi yang ke-18 dan nilai tersebut tidak berubah hingga generasi yang ke-70. Hal ini dikarenakan nilai fitness rata-rata pada generasi dari 18 hingga 70 sudah merupakan nilai yang paling minimum.

Untuk percobaan penjadwalan menu makanan penderita diabetes mellitus yang kedua belas dilakukan dengan jumlah individu awal 40 dan jumlah generasi 100 dapat dilihat pada Gambar 4.23.


(61)

Gambar 4.23. Grafik Percobaan dengan Individu 40 dan Generasi 100

Hasil pengujian kinerja sistem sebanyak dua belas kali dengan memberikan jumlah individu awal dan jumlah generasi yang berbeda untuk setiap percobaannya dapat dilihat pada Tabel 4.1.

Tabel 4.1. Hasil Nilai Fitness tiap Generasi pada Setiap Jumlah Individu Jumlah Individu

Awal

Jumlah generasi Nilai fitness rata-rata terbaik

10

50 57.0

70 36.0

100 31.0

20

50 31.0

70 31.0

100 23.0

30

50 16.0

70 15.0


(62)

Tabel 4.1. Hasil Nilai Fitness tiap Generasi pada Setiap Jumlah Individu (lanjutan)

Jumlah Individu Awal

Jumlah generasi Nilai fitness rata-rata terbaik

40

50 4.0

70 2.0

100 0.0

Berdasarkan Tabel 4.1. dapat digambarkan hubungan antara jumlah individu, jumlah generasi, dan nilai fitness rata-rata seperti pada Gambar 4.24.

Gambar 4.24. Grafik Hubungan Individu, Generasi, dan Fitness

Berdasarkan gambar 4.24, dapat dilihat bahwa jumlah dari individu awal dan generasi mempengaruhi nilai fungsi fitness. Semakin besar jumlah individu awal yang diberikan maka semakin besar ukuran populasi dimana akan semakin banyak individu yang dihasilkan. Dengan semakin banyak individu yang dihasilkan, maka semakin besar juga kemungkinan perubahan nilai fitness mendekati nilai fitness yang terbaik. Berdasarkan Gambar 4.24. juga dapat dilihat bahwa semakin besar jumlah generasi yang diberikan, maka semakin besar peluang untuk memperoleh individu yang terbaik

0 10 20 30 40 50 60

50 70 100

Individu : 10 Individu : 20 Individu : 30 Individu : 40 Nilai

Fitness rata-rata


(63)

dengan nilai fitness mendekati 0 atau sama dengan 0. Individu yang terbaik dapat ditentukan dengan individu yang memiliki nilai fitness terkecil.


(64)

BAB 5

KESIMPULAN DAN SARAN

Bab ini membahas tentang kesimpulan dari penerapan metode yang diajukan untuk menjadwalkan menu makanan bagi penderita diabetes mellitus serta saran-saran pengembangan yang dapat digunakan untuk penelitian selanjutnya.

5.1.Kesimpulan

Adapun kesimpulan yang diperoleh berdasarkan pengujian sistem penjadwalan menu makanan bagi penderita diabetes mellitus menggunakan algoritma genetika adalah sebagai berikut.

1. Algoritma genetika dapat diimplementasikan untuk mencari solusi optimal dalam hal penentuan jadwal menu makanan bagi penderita diabetes mellitus.

2. Optimalisasi penjadwalan menu makanan bagi penderita diabetes mellitus telah memenuhi fungsi objektif permasalahan yaitu menjadwalkan menu makanan dengan cukup baik.

3. Penerapan algoritma genetika untuk penyelesaian masalah optimasi memiliki kelemahan yaitu metode ini masih bersifat probabilistik. Hal ini terjadi karena disebabkan oleh tahapan inisialisasi individu awal yang dilakukan secara random. 4. Semakin besar nilai individu awal yang diberikan maka semakin besar ukuran

populasi. Dengan semakin besar ukuran populasi maka semakin banyak individu yang dihasilkan. Dengan semakin banyak individu yang dihasilkan, maka semakin besar juga perubahan nilai fitness mendekati nilai fitness yang terbaik.


(65)

5. Semakin besar jumlah generasi yang diberikan, maka semakin besar peluang untuk memperoleh individu yang terbaik dengan nilai fitness mendekati 0 atau sama dengan 0.

5.2.Saran

Berikut adalah saran-saran yang dapat diberikan dari penelitian ini untuk dapat dipergunakan pada penelitian selanjutnya.

1. Untuk pengembangan selanjutnya disarankan dapat lebih memperkaya data makanan yang diperoleh untuk menjadwalkan menu makanan sehingga menu makanan dapat lebih bervariasi dan lebih tepat.

2. Untuk penelitian selanjutnya dapat memperoleh sumber data makanan dari sumber yang lain yang lebih lengkap dan tepat.

3. Untuk penelitian selanjutnya diharapkan lebih mengoptimalkan fungsi alergi supaya menu makanan yang ditampilkan lebih spesifik, seperti menu makanan yang mengandung bahan tertentu yang menjadi alergi penderita tidak perlu ditampilkan pada hasil penjadwalan.

4. Penelitian selanjutnya diharapkan dapat menambahkan parameter-parameter lainnya untuk perhitungan kebutuhan kalori pasien seperti tingkat stress metabolik. 5. Pada penelitian selanjutnya, penjadwalan menu makanan dapat ditujukan pada


(66)

BAB 2

LANDASAN TEORI

2.1. Diabetes Mellitus (DM)

Diabetes Mellitus (DM) adalah suatu kumpulan gejala yang timbul pada seseorang

yang disebabkan oleh karena peningkatan kadar glukosa darah akibat penurunan sekresi insulin yang progresif dilatarbelakangi oleh resistensi insulin (Soegondo et al, 2009). Diabetes melitus merupakan sebuah kondisi abnormal metabolisme karbohidrat yang disebabkan oleh kekurangan insulin, baik secara total maupun sebagian (Hadisaputro, 2007). Diagnosis diabetes mellitus selalu berdasarkan tingginya kadar glukosa dalam plasma darah.

Berdasarkan kriteria dari American Diabetes Association pada tahun 2012

(ADA 2012), sekitar 10,2 juta orang di Amerika Serikat menderita penyakit diabetes mellitus. Menurut WHO pada tahun 2030 angka penderita diabetes mellitus akan

mencapai 366 juta jiwa. Diabetes mellitus terdapat diseluruh dunia, dan 90% merupakan diabetes mellitus tipe 2 terjadi di negara berkembang seperti Asia dan di Afrika. Hal ini terjadi karena perubahan gaya hidup seperti pola makan yang tidak sehat dan tidak seimbang. Sedangkan orang yang menderita diabetes mellitus tipe 2 di Indonesia berdasarkan hasil (Riskesdar, 2007), berkisar 1,5-2,3% penduduk usia >15 tahun bahkan di daerah Manado prevalensi diabetes melitus sebesar 6,1%.

Secara etiologi diabetes mellitus dapat dibagi menjadi DM tipe 1, DM tipe 2, DM dalam kehamilan, dan diabetes tipe lain. Diabetes mellitus tipe 1 atau dikenal dengan nama Insulin Dependant Diabetes Mellitus (IDDM), terjadi karena kerusakan sel pankreas, yang disertai dengan gejala yang muncul mendadak seperti merasa haus, sering buang air kecil, badan menjadi kurus dan lemah. Diabetes mellitus tipe 2


(67)

atau disebut dengan non insulin dependant Diabetes Melitus (NIDDM). Pada diabetes

mellitus tipe 2 terjadi penurunan kemampuan insulin bekerja di jaringan perifer dan

disfungsi sel Jenis diabetes mellitus tipe 2 merupakan jenis diabetes yang banyak diderita para penderita diabetes. Diabetes mellitus dalam kehamilan atau disebut dengan Gestational Diabetes Melitus (GDM) adalah kehamilan yang disertai dengan peningkatan insulin resistance (ibu hamil gagal mempertahankan euglycemia).

Penyakit diabetes mellitus dapat dikontrol dengan cara menjaga dan mengatur pola hidup yang sehat dan seimbang, terutama memperhatikan pola makan sehari- hari dengan nutrisi yang tepat dan seimbang. Bagi penderita diabetes mellitus sangat penting untuk mengetahui makanan apa yang harus dimakan beserta ukuran a tau takaran yang diberikan.

2.2.Perhitungan Kebutuhan Kalori

Kebutuhan energi (kalori) dapat dipenuhi melalui asupan karbohidrat, lemak, dan atau protein dalam makanan. Kebutuhan energi dapat dihitung berdasarkan kalori per berat badan atau dengan menggunakan persamaan Harris-Benedict. Persamaan Harris -

Benedict memperkirakan penggunaan energi yang tersisa/resting energy expenditure (REE). Adapun perhitungan kebutuhan kalori yang dilakukan adalah sebagai berikut :

1. Hitung Berat Badan Ideal (BBI)

Terdapat 2 ketentuan untuk menghitung berat badan ideal, yaitu :

a. Pria dengan tinggi badan < 160 cm dan wanita dengan tinggi badan < 150 cm adalah (Tinggi Badan -100) x 1 kg

b. Pria dengan tinggi badan ≥ 160 cm dan wanita dengan tinggi badan ≥ 150 cm adalah ((Tinggi Badan -100) x 1kg) x 90%

2. Hitung Kalori Basal

Terdapat dua ketentuan untuk menghitung berat basal. Berat basal ini ditentukan oleh jenis kelamin.

a. Untuk pria (Berat Badan Ideal x 30 kkal) b. Untuk wanita (Berat Badan Ideal x 25 kkal)


(68)

3. Hitung koreksi faktor aktivitas

Untuk perhitungan faktor aktivitas dikelompokkan menjadi 3 bagian yaitu :

a. Aktivitas ringan seperti mengajar, membaca, berjalan, bekerja di kantor, dan memancing (Kalori Basal x 10%)

b. Aktivitas sedang seperti bersepeda, bowling, berkebun, dan me mbersihkan rumah (Kalori Basal x 30%)

c. Aktivitas berat seperti olahraga aerobic, jogging, menari, bersepeda cepat, atlit (Kalori Basal x 40%)

4. Hitung koreksi faktor usia

Terdapat beberapa ketentuan untuk perhitungan faktor usia, yaitu a. Usia 40-59 tahun maka jumlah kalori dikurangi 5%

(Kalori Basal x 5%)

b. Usia 60-69 tahun maka jumlah kalori dikurangi 10%

(Kalori Basal x 10%)

c. Usia >70 tahun maka jumlah kalori dikurangi 20%

(Kalori Basal x 20%)

5. Hitung Indeks Masa Tubuh

Perhitungan ini dilakukan untuk mengetahui apakah status berat badan seorang pasien diabetes normal atau tidak, dengan cara :

(Berat Badan/(Tinggi Badan2)) x 100%.

Setelah diperoleh hasilnya maka akan ditentukan bagaimana status berat badan seseorang yang dapat dikelompokkan menjadi 4 kelompok seperti Tabel 2.1.


(69)

Tabel 2.1. Kelompok Status Berat Badan

Status Berat Badan Indeks Masa Tubuh Keterangan Total Kalori

Obesitas IMT > 28 Total Kalori -700 kkal Kegemukan IMT > 25 Total Kalori -500 kkal

Normal IMT diantara 18-25 -

Kurus IMT < 18 Total Kalori +500 kkal

6. Hitung total kebutuhan kalori

Untuk menentukan berapa jumlah kalori yang dibutuhkan oleh pasien DM dalam satu hari akan dihitung dengan cara :

Kalori Basal + Koreksi Faktor Aktivitas – Koreksi Faktor Usia

Setelah hasilnya diperoleh maka akan dilakukan pencocokan dengan tabel IMT untuk mengetahui apakah jumlah kalori perhari tetap, ditambah, atau dikurang. Dan hasil tersebut yang akan digunakan untuk proses klasifikasi jenis diet dan jenis makanan.

2.3.Kebutuhan Nutrisi bagi pasien Diabetes Mellitus

Nutrisi adalah ikatan kimia yang diperlukan tubuh untuk melakukan fungsinya, yaitu energi, membangun dan memelihara jaringan, serta mengatur proses-proses kehidupan.

1. Kebutuhan Karbohidrat dan Pemanis

Asupan karbohidrat yang dibutuhkan oleh pasien diabetes mellitus di Indonesia adalah sebesar 45-65% total asupan energi (Perkeni, 2011). Asupan karbohidrat yang boleh diberikan yaitu sekitar 172-396 gram per hari yang disesuaikan dengan jenis diet diabetes mellitus.

Penggunaan sukrosa (gula murni) tidak boleh lebih dari 15% total asupan energi atau sekitar 5mg per hari. Pemanis terbagi 2 yaitu pemanis bergizi dan tidak


(70)

bergizi. Salah satu pemanis bergizi yaitu gula alkohol, seperti isomalt, laktilol, maltilol, mannitol, sorbitol, dan xylitol dapat diperhitungkan kandungan kalorinya sebagai bagian dari kebutuhan kalori sehari-hari. Fruktosa juga merupakan pemanis bergizi, namun tidak dianjurkan untuk diberikan karena dapat menyebabkan efek samping pada lemak darah. Pemanis yang dianjurkan adalah pemanis tidak bergizi seperti aspartame, sakarin, acesulfame potassium, sukralose, dan neotame merupakan pemanis yang aman diberikan sepanjang tidak melebihi batas.

2. Kebutuhan Protein

Protein yang dibutuhkan sebesar 10-20% total asupan energi, yaitu antara 43-80 gram per hari yang disesuikan dengan jenis diet diabetes. Sumber protein yang baik adalah seafood, daging tanpa lemak, ayam tanpa kulit, produk susu rendah lemak, kacang-kacangan, tahu, dan tempe.

3. Kebutuhan Lemak

Lemak yang dibutuhkan bagi penderita diabetes di Indonesia sebesar 20-25% dan tidak diperbolehkan melebihi 30% total asupan energi, yaitu antara 30-62 gram per hari yang disesuaikan dengan jenis diet diabetes. Anjuran konsumsi kolesterol sebesar ±303 mg/hari.

4. Kebutuhan Serat

Penderita diabetes mellitus dianjurkan untuk mengkonsumsi serat yang cukup yang diperoleh dari kacang-kacangan, buah, sayuran, serta sumber karbohidrat yang memiliki serat yang tinggi. Anjuran yang diberikan ±37 gram perhari (Perkeni, 2011). Buah yang harus dihindari adalah buah pisang, sirsak, nangka, mangga, dan durian karena memiliki kadar gula yang tinggi. Dan buah yang paling baik dikonsumsi adalah mengkudu.


(1)

vii

DAFTAR ISI

Halaman

Abstrak i

Abstract ii

Daftar Isi iii

Daftar Tabel vi

Daftar Gambar vii

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 Landasan Teori

2.1 Diabetes Mellitus 7

2.2 Perhitungan Kebutuhan Kalori 8 2.3 Kebutuhan Nutrisi bagi Pasien Diabetes Mellitus (DM) 10 2.4 Algoritma Genetika (Genetic Algorithm) 12

2.4.1 Proses Algoritma Genetika 13

2.4.2 Komponen Utama Algoritma Genetika 16

2.4.3 Pengertian Individu 22

2.4.4. Nilai Fitness 24

2.4.5. Elitisme 24

2.5 Penelitian Terdahulu 24


(2)

Bab 3 Analisis dan Perancangan

3.1 Arsitektur Umum 27

3.2 Data yang Digunakan 29

3.3 Perhitungan Kebutuhan Kalori 30

3.3.1. Hitung Berat Badan Ideal (BBI) 32

3.3.2. Hitung Kalori Basal 32

3.3.3. Hitung Koreksi Faktor Aktivitas 33

3.3.4. Hitung Koreksi Faktor Usia 33

3.3.5. Hitung Indeks Masa Tubuh (IMT) 33

3.3.6. Hitung Total Kebutuhan Kalori 34

3.4. Penentuan Jenis Diet Penderita Diabetes Mellitus 34

3.5. Model Algoritma Genetika 35

3.5.1. Struktur Algoritma Genetika 35

3.5.2. Inisialisasi Individu Awal 37

3.5.3. Evaluasi Nilai Fungsi Fitness 42

3.5.4. Seleksi 44

3.5.5. Crossover 45

3.5.6. Mutasi 49

3.6. Perancangan Sistem 51

3.6.1. Flowchart Sistem 51

3.6.2. Perancangan Database 52

3.6.3. Rancangan Tampilan Antarmuka 55

Bab 4 Implementasi dan Pengujian Sistem

4.1. Implementasi Sistem 67

4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak 67 4.1.2. Implementasi Perancangan Antarmuka 68

4.2. Pengujian Kinerja Sistem 76

Bab 5 Kesimpulan dan Saran

5.1. Kesimpulan 87


(3)

ix


(4)

DAFTAR TABEL

Halaman

Tabel 2.1 Kelompok Status Berat Badan 10

Tabel 2.2 Klasifikasi Diet Diabetes Mellitus dan Kandungan Nutrisi 12

Tabel 2.3 One Point Crossover 19

Tabel 2.4 Two Point Crossover 20

Tabel 2.5 Crossover Seragam 20

Tabel 2.6 Penelitian Terdahulu 25

Tabel 3.1 Parameter Pasien 29

Tabel 3.2 Parameter Nutrisi Makanan 30

Tabel 3.3 Data Pasien Diabetes Mellitus 32

Tabel 3.4 Menu Makanan dari Database 40

Tabel 3.5 Hasil Normalisasi Berat Menu Makanan Baru 42 Tabel 3.6 Menu Makanan Hasil Inisialisasi Populasi Awal 43 Tabel 4.1 Hasil Nilai Fitness tiap Generasi pada Setiap Populasi 84


(5)

xi

DAFTAR GAMBAR

Halaman

Gambar 2.1 Diagram Alir Proses Algoritma Genetika 14 Gambar 2.2 Ilustrasi Representasi Penyelesaian Permasalahan dalam GA 23

Gambar 3.1 Arsitektur Umum 28

Gambar 3.2 Flowchart Perhitungan Kebutuhan Kalori Pasien 31

Gambar 3.3 Struktur Individu 35

Gambar 3.4 Struktur Kromosom 36

Gambar 3.5 Struktur Genotype (Gen) 36

Gambar 3.6 Flowchart Tahapan Inisialisasi Individu Awal 37 Gambar 3.7 Ilustrasi Menggunakan Rank Based Fitness Assignment 45 Gambar 3.8 Ilustrasi Proses Crossover Kondisi Pertama 47 Gambar 3.9 Ilustrasi Proses Crossover Kondisi Kedua 48

Gambar 3.10 Ilustrasi Proses Mutasi 50

Gambar 3.11 Flowchart Sistem 51

Gambar 3.12 Data pada Tabel Menu Makanan 53

Gambar 3.13 Data pada Tabel Jenis Diet 53

Gambar 3.14 Data pada Tabel Jadwal Makanan 54

Gambar 3.15 Data pada Tabel Pasien 54

Gambar 3.16 Rancangan Tampilan Halaman Utama 55

Gambar 3.17 Rancangan Tampilan Halaman Info Diabetes Mellitus 56

Gambar 3.18 Rancangan Tampilan Halaman Galeri 57

Gambar 3.19 Rancangan Tampilan Halaman Buat Jadwal 58 Gambar 3.20 Rancangan Tampilan Halaman Data Diet Pasien 60

Gambar 3.21 Rancangan Tampilan Halaman Output 62

Gambar 3.22 Rancangan Tampilan Log Proses Algoritma Genetika 63 Gambar 3.23 Rancangan Tampilan Halaman Grafik 64


(6)

Gambar 4.2 Halaman Info Diabetes 69

Gambar 4.3 Halaman Galeri 69

Gambar 4.4 Halaman Pengisian Data Pasien 70

Gambar 4.5 Halaman Info Data Diet Pasien 71

Gambar 4.6 Tampilan Pemilihan Individu Awal dan Generasi 72

Gambar 4.7 Halaman Hasil Penjadwalan 73

Gambar 4.8 Tampilan Jadwal Satu Hari 74

Gambar 4.9 Tampilan Data Pasien 74

Gambar 4.10 Tampilan Halaman Grafik 75

Gambar 4.11 Tampilan Log Proses Algoritma Genetika 76 Gambar 4.12 Grafik Percobaan dengan Individu 10 dan Generasi 50 76 Gambar 4.13 Grafik Percobaan dengan Individu 10 dan Generasi 70 77 Gambar 4.14 Grafik Percobaan dengan Individu 10 dan Generasi 100 78 Gambar 4.15 Grafik Percobaan dengan Individu 20 dan Generasi 50 78 Gambar 4.16 Grafik Percobaan dengan Individu 20 dan Generasi 70 79 Gambar 4.17 Grafik Percobaan dengan Individu 20 dan Generasi 100 80 Gambar 4.18 Grafik Percobaan dengan Individu 30 dan Ge nerasi 50 80 Gambar 4.19 Grafik Percobaan dengan Individu 30 dan Generasi 70 81 Gambar 4.20 Grafik Percobaan dengan Individu 30 dan Generasi 100 82 Gambar 4.21 Grafik Percobaan dengan Individu 40 dan Generasi 50 82 Gambar 4.22 Grafik Percobaan dengan Individu 40 dan Generasi 70 83 Gambar 4.23 Grafik Percobaan dengan Individu 40 dan Generasi 100 84 Gambar 4.24 Grafik Hubungan Individu, Generasi, dan Fitness 85