PERANCANGAN APLIKASI PENYUSUN MENU MAKANAN UNTUK PENDERITA DIABETES DENGAN MENGGUNAKAN ALGORITMA GENETIKA SKRIPSI EVA KRISTIN MARPAUNG 061401100 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
PERANCANGAN APLIKASI PENYUSUN MENU MAKANAN UNTUK PENDERITA DIABETES DENGAN MENGGUNAKAN ALGORITMA GENETIKA SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer EVA KRISTIN MARPAUNG 061401100 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
ii PERSETUJUAN Judul Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas : PERANCANGAN APLIKASI PENYUSU MENU MAKANAN UNTUK PENDERITA DIABETES DENGAN MENGGUNAKAN METODE ALGORITMA GENETIKA : SKRIPSI : EVA KRISTIN MARPAUNG : 061401100 : S1 ILMU KOMPUTER : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Komisi Pembimbing 2010 : Pembimbing 2 Dian Rachmawati, S.Si, M.Kom NIP 198307232009122004 Pembimbing 1 Prof. Dr. Iryanto, M.Si NIP 194604041971071001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr.Poltak Sihombing, M.Kom NIP 19
iii PERNYATAAN PERANCANGAN APLIKASI PENYUSUN MENU MAKANAN UNTUK PENDERITA DIABETES DENGAN MENGGUNAKAN METODE ALGORITMA GENETIKA SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, 12 Januari 2011 EVA KRISTIN MARPAUNG 061401100
iv PENGHARGAAN Puji syukur penulis ucapkan kepada Tuhan Yesus Kristus yang melimpahkan rahmat dan karunia-nya sehingga skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan sebagai syarat untuk memperoleh gelar Sarjana Komputer Program Studi S1 Ilmu Komputer. Ucapan terima kasih yang sebesar-besarnya penulis sampaikan kepada Bapak Prof. Dr. Iryanto, M.Si selaku Dosen Pembimbing I dan Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran dan masukan kepada penulis untuk menyempurnakan tulisan ini. Selanjutnya kepada para Dosen Pembanding Bapak Muhammad Andri Budiman, ST, MCompSc, MEM dan Bapak Ade Candra, ST, M.Kom atas kritik dan saran yang sangat berguna bagi penulis. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si, MIT., Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam serta semua dosen dan pegawai Program Studi S1 Ilmu Komputer serta kepada Dr.Saut Marpaung yang telah membrikan bimbingan dan masukan terhadap penyelesaian skripsi ini. Tidak lupa penulis juga menghaturkan terima kasih kepada ayahanda dan ibunda tercinta, B. Marpaung dan R. Simanjuntak serta saudara-saudaraku tersayang, Idaria, David, Ester, Roy, Natalia dan Yuni selalu memberi dorongan serta bantuan baik moril maupun materil. Selain itu, penulis juga mengucapkan banyak terima kasih kepada sahabat-sahabat dan rekan-rekan kuliah lainnya di Program Studi S1 Ilmu Komputer yang telah memberi motivasi, semangat serta bantuan dalam menyelesaikan skripsi ini terkhusus buat Fakhreza Akbar dan Elsa Mariano Gemis, Nurinda dan Pangeran, serta sahabat- sahabat kos serta kelompok kecilku KK Callista yang telah memberikan inspirasi, pelajaran hidup yang berharga, doa-doa yang menguatkan, serta motivasi serta bantuan dalam menyelesaikan skripsi ini. Semoga Tuhan memberkati kalian selalu. Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, kepada pembaca agar kiranya memberikan kritik dan saran yang sifatnya membangun demi kesempurnaan skripsi ini, sehingga dapat bermanfaat bagi kita semuanya.
v ABSTRAK Perkembangan komputer dewasa ini telah mengalami banyak perubahan yang sangat pesat diberbagai bidang termasuk dalam bidang kesehatan. Salah satu masalah kesehatan yang sering kita dengar adalah diabetes, dimana diabetes adalah penyakit yang belum dapat disembuhkan tetapi dapat dilakukan beberapa perawatan untuk mencegah terjadinya komplikasi seperti melakukan diet terapi diabetes. Kendala yang dialami oleh penderita diabetes dalam melakukan diet adalah bosan dan malas dengan menu yang hampir sama setiap hari dan ketidakmampuan dalam menentukan jumlah kalori yang dibutuhkannya. Pengetahuan yang kurang tentang pola makan sehat dan konsumsi gizi yang tepat pada penderita diabetes, dapat menyebabkan akibat yang berbahaya bagi penderita itu sendiri. Maka dari itu penelitian ini bertujuan untuk membantu penderita diabetes dalam menjalani diet yaitu dengan merancang sebuah aplikasi penyusun menu makanan. Aplikasi ini dibuat dengan menggunakan metode Algoritma Genetika. Algoritma ini melakukan proses optimasi untuk mencari hasil yang memenuhi kriteria menu diet sehat, yaitu dengan perkawinan silang dan mutasi yang didasari proses random (acak). Hasil yang diperoleh berupa susunan menu makanan untuk pagi, siang dan malam dengan komposisi yang telah diperhitungkan. Implementasi sistem direalisasikan kedalam bahasa pemrograman PHP.
vi DESIGNING AN ARRANGEMENT FOOD MENU APPLICATION FOR DIABETIC USING GENETIC ALGORITHM ABSTRACT Nowadays the development of computers run into many changes rapidly in various sector including sector of health. One of the health problem that often we heard is diabetes, wherever diabetes is a diseases that can t be cure yet, but we can do some cares to prevent the occurtence of complications such as diabetes diet therapy. Constraints experience by diabetics in doing diet are bored and lazy with the same menu menu everyday and the inability to determine the amoun of calories needed. The lack of knowledge about the healthy diet and the consumption of the nutrient proper cause harmful effect fo diabetics. Therefore this study aims to help diabetic in diet by designing an application that arrange the food menu. This application is made by using genetic algorithm method. This algorithm is doing some optimization process to find the result that fulfill th healthy diet menu criteria by crossover and mutation that based on the random process. The result obtaired in the form of he composition of the food menu for breakfast, lunch and dinner with calculate the composition. Implementation of this system is realized into the PHP programming language.
vii DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar ii iii iv v vi vii x xi Bab 1 Pendahuluan 1.1 Latar Belakang Masalah 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metodologi Penelitian 1.7 Sistematika Penulisan 1 2 3 3 3 3 4 Bab 2 Tinjauan Pustaka 2.1 Diabetes 2.1.1 Jenis-Jenis Diabetes 2.1.2 Faktor-Faktor Penyebab Diabetes 2.1.3 Gejala dan Tanda-Tanda Diabetes 2.1.4 Diagnosis 2.1.5 Prinsip Perencanaan Makan bagi Penderita Diabetes 2.1.5.1 Perencanaan Gizi pada Diabetes Mellitus II 2.1.5.2 Kebutuhan Kalori 2.1.5.2.1 Faktor-Faktor yang Menentukan Kebutuhan Kalori 2.1.5.3 Kebutuhan Gizi 2.1.6 Standar Diet Diabetes Mellitus 2.1.7 Daftar Bahan Makanan Penukar 2.2 Algoritma Genetika 2.2.1 Langkah-Langkah Penyelesaian Masalah dalam Algoritma Genetika 2.2.2 Penerapan Algoritma Genetika 2.2.2.1 Teknik Pengkodean 2.2.2.2 Membangun Generasi Awal 2.2.2.3 Representasi Kromosom 2.2.2.4 Mencari Fitness Cost 2.2.2.5 Pengurutan (Sorting) 2.2.2.6 Proses Regenerasi 6 6 8 8 9 9 10 11 11 13 14 14 15 16 17 17 17 18 18 18 18
viii 2.2.2.7 Mutasi 2.2.2.8 Proses Crossover (Persilangan) 2.2.2.9 Tahap Pengulangan 2.2.3 Diagram Alir Algoritma Genetika 2.3 PHP ( PHP Hypertext Preprocessor) 2.3.1 Sejarah Singkat PHP 2.3.2 Kelebihan-Kelebihan PHP 2.4 MySQL 2.4.1 Keistimewaan MySQL 19 19 20 20 21 22 22 23 24 Bab 3 Analisis dan Perancangan Sistem 3.1 Perancangan Algoritma Genetika 3.1.1 Pengkodean Kromosom 3.1.2 Membangun Populasi Awal 3.1.2.1 Populasi Tahap Pertama 3.1.3 Mencari Fitness Cost 3.1.3.1 Perulangan Makanan 3.1.3.2 Pelanggaran Makanan 3.1.3.3 Perhitungan Fitness Cost 3.1.4 Crossover 3.1.5 Mutasi 3.2 Perancangan Penyusunan Menu Makanan 3.2.1 Kebutuhan Kalori 3.2.1.1 Berat Badan (BB) Ideal 3.2.1.2 Jenis Kelamin 3.2.1.3 Umur 3.2.1.4 Aktifitas 3.2.1.5 Kehamilan atau Laktasi 3.3 Data Flow Diagram 3.3.1 Data Flow Diagram Level 0 3.3.2 Data Flow Diagram Level 1 3.3.3 Data Flow Diagram Level 2 3.4 Kamus Data 3.5 Perancangan Interface 3.5.1 Login 3.5.2 Profile 3.5.3 About 26 27 28 28 29 30 30 31 31 31 32 32 32 33 33 33 34 34 34 36 38 39 41 41 43 45 Bab 4 Implementasi Program 4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak 4.1.1 Perangkat Keras 4.1.2 Perangkat Lunak 4.2 Penggunaan Program 4.2.1 Halaman Utama 4.2.1.1 Halaman Register 4.2.1.2 Halaman Login 4.2.2 Menu Utama 4.2.2.1 Profile 4.2.2.2 Halaman Menu 4.2.2.3 Logout 46 46 47 47 47 48 49 51 51 54 54
ix 4.2.3 Halaman Administrator 4.3 Pengujian Sistem 55 56 Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 5.2 Saran 62 62 Daftar Pustaka Lampiran 63
x DAFTAR TABEL Tabel 2.1 Kadar Gula Darah Tabel 2.2 Kebutuhan Kalori Penderita Diabetes Tabel 3.1 Tabel Database Kalori Makanan Tabel 3.2 Tabel Database Menu Tabel 3.3 Tabel Database Kalori User Tabel 3.4 Tabel Database Admin 9 11 39 40 40 40
xi DAFTAR GAMBAR Gambar 2.1 Diagram Alir Algoritma Genetika Sederhana Gambar 2.2 Ilustrasi kerja PHP Gambar 3.1 Flowchart Algoritma Genetika Gambar 3.2 Flowchart Pembentukan Populasi Awal Gambar 3.3 DFD Level 0 Gambar 3.4 DFD Level 1 Gambar 3.5 DFD Level 2 Gambar 3.6 Rancangan Halaman Login Gambar 3.7 Rancangan Halaman Data Pribadi Gambar 3.8 Rancangan Halaman Home Gambar 3.9 Rancangan Halaman Profile Gambar 3.10 Rancangan Halaman Profile 2 Gambar 3.11 Rancangan Halaman Daftar Menu Gambar 3.12 Rancangan Halaman Tentang Gambar 4.1 Halaman Register Gambar 4.2 Halaman Informasi Register Gambar 4.3 Halaman Login Gambar 4.4 Halaman Informasi Login Kembali Gambar 4.5 Halaman Menu Utama Gambar 4.6 Halaman Data Gambar 4.7 Halaman Edit Data Gambar 4.8 Halaman Data Update Gambar 4.9 Halaman Susunan Menu Makanan Gambar 4.10 Halaman Utama Admin Gambar 4.11 Halaman Update Makanan Gambar 4.12 Halaman Login Baru Gambar 4.13 Halaman Informasi Akun Baru Gambar 4.14 Halaman Login Akun Baru Gambar 4.15 Halaman New Profile Gambar 4.16 Halaman Data Akun Baru Gambar 4.17 Halaman Data Profile Gambar 4.18 Halaman Susunan Menu Baru Gambar 4.19 Halaman Cetak 20 21 27 29 35 36 38 41 42 42 43 44 44 45 48 49 50 51 51 52 53 53 54 55 56 57 57 58 58 59 59 60 61