• Tidak ada hasil yang ditemukan

Penjadwalan Pola Makan Bagi Penderita Diabetes Mellitus Menggunakan Metode Genetic Algorithm

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penjadwalan Pola Makan Bagi Penderita Diabetes Mellitus Menggunakan Metode Genetic Algorithm"

Copied!
106
0
0

Teks penuh

(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

(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

(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

(5)

secara terperinci pada bagian-bagian selanjutnya. Adapun arsitektur umum dari sistem

yang akan dibangun dapat dilihat pada Gambar 3.1.

(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

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

(7)

Tabel 3.2. Parameter Nutrisi Makanan

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

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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(21)

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

Tipe Makanan Sarapan Makan Siang Makan Malam

Sayuran Tumis bayam dan

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

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

(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

(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

(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

(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

(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

(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

(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

(37)

Halaman Tampilan Data Diet Pasien

(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

(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

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

(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

(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

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

(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

(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

(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

(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

(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

(63)

dengan nilai fitness mendekati 0 atau sama dengan 0. Individu yang terbaik dapat

(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

(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

Gambar

Gambar 3.12. Data pada Tabel Menu Makanan
Gambar 3.15. Data pada Tabel Pasien
Gambar 3.17. Rancangan Tampilan Halaman Info Diabetes Mellitus
Gambar 3.18. Rancangan Tampilan Halaman Galeri
+7

Referensi

Dokumen terkait

[r]

Pada penelitian ini yang menjadi latar belakang masalah adalah penurunan kinerja karyawan yang di tandai dengan menurunnya produktifitas perusahaan yang dilihat dari menurunnya

EKOSISTEM SAWAH PAMEUNGPEUK-WANAYASA SEBAGAI SUMBER BELAJAR PEMBELAJARAN EKOSISTEM MELALUI COOPERATIVE LEARNING BERBASIS PEMBELAJARAN DI LUAR KELAS Universitas Pendidikan Indonesia

[r]

[r]

Modul Interaktif ini dapat diartikan pula sebagai e-book (electronic book) yang merupakan metode baru dari cara pembelajaran, dimana isi yang terkandung dalam buku

[r]

Pada file data terdapat data percakapan yang dipakai chatter bot, sedangkan pada program terdapat algoritma untuk membaca file data dan mencari respon yang sesuai dengan input