i
PENCARIAN SUSU FORMULA
BERDASARKAN KANDUNGAN GIZI
MENGGUNAKAN BASIS DATA KABUR
MODEL TAHANI
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Disusun oleh:
Nugrahayuningsih P.H.
NIM : 055314106
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
SEARCH FORMULA MILK
CONTENT BASED ON NUTRITION
USING FUZZY DATA BASE TAHANI MODEL
A THESIS
Presented as Partial Fulfillment of the Requirements
To Obtain Sarjana Komputer Degree In Informatics Engineering Department
By:
Nugrahayuningsih P.H.
NIM : 055314106
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
v
HALAMAN MOTTO
“
Rejoice in the Lord always
”
“
Jika kita berhenti melangkah hari ini,
maka kita tidak akan pernah tahu apa yang akan terjadi esok hari.
”
“
Sekalipun kamu dapat berguru dan memiliki segala ilmu,
tetapi jika kamu tidak mempunyai kasih,
kamu sama sekali tidak berguna.
”
“
Ilmu ibarat lagu, semakin kita menikmatinya
viii
HALAMAN PERSEMBAHAN
Karya tulis ini penulis persembahkan untuk :
Tuhan Yesus Kristus
yang Maha Pengasih
Bunda Maria
atas keajaiban yang diberikan
ix
ABSTRAKSI
Susu formula merupakan makanan pendamping ASI (Air Susu Ibu). Setiap orang tua pastinya menginginkan susu formula yang terbaik untuk anaknya. Orang tua sering dihadapkan pada masalah pemilihan jenis susu formula yang tepat dan sesuai dengan kebutuhan gizinya, misalnya seorang bayi yang dilahirkan dengan kelebihan kandungan protein maka bayi tersebut seharusnya mengkonsumsi susu formula yang mempunyai kandungan protein rendah.
Masalah ini diperumit dengan semakin banyaknya jenis susu formula yang beredar di pasaran dengan kandungan gizi yang berbeda-beda pada setiap jenis susu formula yang ada.
Kandungan gizi pada setiap susu formula yang berbeda-beda, membuat orang tua sering bertanya-tanya manakah kandungan gizi susu formula yang tinggi atau rendah (secara linguistik). Basis data kabur merupakan pendekatan yang digunakan untuk membantu mengatasi permasalahan ketidaktegasan atau kekaburan karena pemahaman yang berbeda-beda.
Besarnya nilai kandungan gizi diberikan secara linguistik, seperti: RENDAH, AGAK-RENDAH, NORMAL, AGAK-TINGGI dan TINGGI. Bentuk linguistik direpresentasikan dengan menggunakan himpunan kabur dan proses pencarian didasarkan pada konsep Basis Data Kabur Model Tahani.
x
ABSTRACT
As parents always wishes the best for their beloved babies. They choose
top quality products, especially for formula milk. Formula milk is mother‟s milk
sustenance. Most of them find difficulties to choose a good one. The requirements
are fulfill nutrition‟s need and optimized growth. Besides every baby is unique,
when the baby comes into over protein, he or she should consume low-protein milk.
Another problem rises from the various numbers of milk trades in market. It contains assorted nutrition but, makes parent‟s confusion. This happen when they have to decide which one is the best for the babies. Since milk has their own characteristic and the need for one baby is different from one to another.
By doing this research, parents will be able to classify milk in a market and to give the best for babies. Fuzzy data base is the approach used to help overcome the problems of ambiguity or obscurity because of different understanding.
The nutrition is categorized from LOW, RATHER LOW, NORMAL, RATHER HIGH, and HIGH. Linguistic form is represented by using fuzzy sets and the search process is based on the concept of Fuzzy Database Tahani Model.
xi
KATA PENGANTAR
Puji syukur kepada Tuhan Yang Maha Esa karena atas segala berkat dan rahmat-Nya yang melimpah, penulis dapat menyelesaikan tugas akhir dengan
judul “Pencarian Susu Formula Berdasarkan Kandungan Gizi Menggunakan Basis Data Kabur Model Tahani”.
Penulisan tugas akhir ini bertujuan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Komputer Program Studi Teknik Informatika Universitas Sanata Dharma Yogyakarta.
Penulis menyadari, bahwa selama proses penulisan tugas akhir ini. Penulis tidak lepas dari bantuan dan dukungan banyak pihak. Oleh karena itu, pada kesempatan ini penyusun menyampaikan penghargaan dan ucapan terima kasih yang sebesar-besarnya kepada :
1. Tuhan Yesus Kristus dan Bunda Maria, terima kasih atas kasih dan keajaiban-Nya.
2. Kedua orang tua penulis, FL. Djoko Wijono dan Lucia Yustina Heru Hartati yang telah memberikan dukungan kepada penulis baik moral, spiritual maupun material sejak dalam kandungan hingga detik ini.
3. Bapak Eko Hari Parmadi, S.Si., M.Kom. selaku dosen pembimbing yang telah memberikan dukungan, bantuan dan dorongan kepada penulis dari awal pengerjaan sampai tugas akhir ini dapat terselesaikan.
4. Bapak Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.
xii
6. Ibu P.H. Prima Rosa, S.Si., M.Sc. selaku pembimbing Akademik yang telah membimbing penulis dengan penuh perhatian selama masa studi. 7. Bapak Alb. Agung Hadhiatma, S.T., M.T. selaku Ketua Panitia Penguji
yang telah memberikan kritik dan saran membangun demi sempurnanya tugas akhir ini.
8. Ibu Sri Hartati Wijono, S.Si., M.Kom. selaku Sekretaris Panitia Penguji yang telah memberikan kritik dan saran membangun demi sempurnanya tugas akhir ini.
9. Bapak Emanuel Bele Bau, S.Pd., Mas Rusdanang Ali Basuni, F. Andaru Prima Yudha, Mas T. Susilo Dwiratno dan seluruh staff Sekretariat Teknik yang telah memberikan fasilitas dan bantuannya selama ini. 10. Untuk Heruko bersaudara (Saudaraku tercinta) : Novisia Palupi
Nurwahyuwi Heruko Saputri, S.Si. (Naknung), Twotu Febra Hingsaka Bakti Heruko Saputro, S.E. (Mas Ibe) dan Trijingo Femile Bakti Nugroho Heruko Saputro, S.T. (Ingik) terima kasih atas segala doa, dukungan dan persaudaraan kita yang sangat erat meski jarak memisahkan kita.
11. Untuk Kakak Iparku Lucia Darmani yang selalu memberi semangat dan motivasi untuk tetap melangkah dan ponakanku Genoveva Felicia Van Daf yang membantu mengumpulkan bungkus susu formula dan memberi keceriaan.
12. Untuk kekasihku JB. Mahendra Prabharajasa terima kasih karena selalu memberi motivasi, doa, dukungan dan kasih sayang.
13. Untuk Mama (Dra. Yustina Dwi Cintawati) dan Papa (Mikael Baswendra Tunjung Jati Utama, S.H., M.M.), terima kasih untuk semua doa, dukungan dan kasih sayangnya.
xiii
15. Yuanita Prasetyaningtyas, S.T., Novi C.A.P., S.T., Sony Setiawan, S.T., Orpha Sampe B., S.T., Fr. Bayu Atmaja, Johanes Wahyu, Yohanes Budi K., Ganang Rahdianto, Stephanus Christiono, S.T., Ign. Dimas Sukma, S.T., Yosaphat Dwi Santa, Ign. Hans Veda, S.T., Novendi Beni, S.T., Beta Yoga Iwan, Andreas Hermawan, S.T., Tomi Purba, Dionysius Arya, Agung Pratnyawan, Silvester Aan, Untung Susanto, Robi Hasan, Agustinus Rahayu P., Silvia Ida Marice, S.Kom., Antonius Saputro S., Frederick Martce Y., dan Timotius Ari Kusbiantoro, terima kasih untuk segala bantuan, doa dan dukungan dari teman-teman semua.
16. Untuk semua teman-teman Teknik Informatika angkatan 2005 terima kasih untuk pengalaman yang sangat berarti.
17. Untuk anak-anak kost “Ijo”, Dian Pratiwi, Silvia Ida Marice, S.Kom., Yanuarani Liana Susma Haryadi, Amd.Kom. dan Dwi Erniawati, S.Apt. yang selalu mendukung doa, membantu mengumpulkan data, membuat kegilaan dan menemami begadang.
18. Semua pihak yang telah membantu dalam penyusunan skripsi ini, yang tidak dapat disebutkan satu-persatu.
Penulis menyadari bahwa dalam penyusunan tugas akhir ini masih terdapat banyak kekurangan. Dan demi sempurnanya penulisan tugas akhir ini, penulis sangat mengharapkan kritik dan saran yang membangun.
Semoga laporan tugas akhir ini memberi manfaat bagi pembaca dan pihak yang membutuhkan.
Yogyakarta, 7 Februari 2011
xiv
DAFTAR ISI
HALAMAN JUDUL………...……i
HALAMAN JUDUL (INGGRIS)……….. ii
HALAMAN PERSETUJUAN PEMBIMBING ... iii
HALAMAN PENGESAHAN ... iv
HALAMAN MOTTO ... v
PERNYATAAN KEASLIAN KARYA ... vi
PERNYATAAN PERSETUJUAN ... vii
HALAMAN PERSEMBAHAN ... viii
ABSTRAKSI ... ix
ABSTRACT ... x
KATA PENGANTAR ... xi
DAFTAR ISI ... xiv
DAFTAR TABEL ... xix
DAFTAR GAMBAR ... xxi
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang Masalah ... 1
1.2. Perumusan Masalah ... 1
1.3. Tujuan ... 2
1.4. Batasan Masalah ... 2
xv
1.6. Sistematika Penulisan ... 4
BAB II LANDASAN TEORI ... 5
2.1. Landasan Teori ... 5
2.1.1. Pengenalan Logika Kabur ... 5
2.1.2. Fungsi Keanggotaan ... 6
2.1.3. Operator Zadeh Untuk Operasi Himpunan Kabur ... 9
2.2. Basis Data Kabur ... 10
2.2.1. Basis Data Kabur Model Tahani ... 10
2.3. Susu Formula ... 13
2.3.1. Jenis – jenis Susu Formula Bayi ... 14
2.3.2. Acuan Batas Atas (ABA) Kandungan Susu Formula ... 17
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 18
3.1. Analisis Sistem ... 18
3.1.1. Gambaran Umum Sistem ... 18
3.2. Perancangan Sistem ... 19
3.2.1. Use Case Diagram ... 19
3.2.2. Proses Modeling ... 21
3.2.3. Diagram Konteks ... 21
3.2.4. Diagram Berjenjang ... 21
3.3. Disain Data Model ... 27
3.3.1. Entity Relationship Diagram (E-R) ... 27
3.3.2. Translasi ke dalam Relation Model ... 28
xvi
3.4. Perancangan Sistem Kabur ... 32
3.4.1. Variabel Protein ... 32
3.4.2. Variabel Karbohidrat... 33
3.4.3. Variabel Omega3 ... 34
3.4.4. Variabel Omega6 ... 35
3.4.5. Variabel AA ... 35
3.4.6. Variabel DHA ... 36
3.4.7. Menentukan Fire Strength (α-predikat) ... 37
3.4.8. Contoh Penerapan Logika Kabur ... 37
3.5. Perancangan User Interface ... 38
3.5.1. Halaman Login Administrator ... 39
3.5.2. Halaman Utama Administrator ... 39
3.5.3. Menu User Administrator ... 40
3.5.4. Menu Susu Formula Administrator ... 40
3.5.5. Menu Derajat Keanggotaan Administrator ... 41
3.5.6. Menu Hasil Kabur Administrator ... 41
3.5.7. Menu FAQ Administrator ... 42
3.5.8. Halaman Utama User ... 42
3.5.9. Menu Susu Formula User ... 43
3.5.10. Menu Rekomendasi User ... 43
3.5.11. Menu FAQ User ... 44
BAB IV IMPLEMENTASI ... 45
4.1. Implementasi Sistem ... 45
4.2. Implementasi Basis Data dengan Model Tahani ... 50
xvii
4.2.2. Create Tabel Variabel Protein ... 51
4.2.3. Create Tabel Variabel Karbohidrat... 52
4.2.4. Create Tabel Variabel Omega3 ... 52
4.2.5. Create Tabel Variabel Omega6 ... 52
4.2.6. Create Tabel Variabel DHA ... 53
4.2.7. Create Tabel Variabel AA ... 53
4.2.8. Create Tabel Administrator ... 53
4.2.9. Create Tabel FAQ ... 53
4.2.10. Query Hasil Rekomendasi ... 54
4.3. Implementasi Interface ... 54
4.3.1. Tampilan Halaman Login ... 55
4.3.2. Tampilan Halaman Utama Administrator ... 55
4.3.3. Tampilan Menu User Administrator ... 56
4.3.4. Tampilan Menu Susu Formula Administrator ... 57
4.3.5. Halaman Edit Susu Formula ... 58
4.3.6. Tampilan Menu Derajat Keanggotaan Administrator ... 59
4.3.7. Tampilan Menu Hasil Kabur... 61
4.3.8. Tampilan Halaman Utama User ... 62
4.3.9. Tampilan Menu Susu Formula User ... 63
4.3.10. Tampilan Detail Susu Formula User ... 64
4.3.11. Tampilan Menu Pencarian Susu Formula User ... 65
4.3.12. Tampilan Menu FAQ User ... 67
4.3.13. Tampilan Detail FAQ User ... 68
4.4. Pembahasan ... 68
xviii
5.1. Mengganti Fungsi Keanggotaan ... 71
5.2. Mengganti Nilai Batas Pada Fungsi Keanggotaan yang Sama. ... 72
5.3. Kuesioner ... 74
5.3.1. Form Kuesioner User ... 74
5.3.2. Hasil Kuesioner ... 75
BAB VI PENUTUP ... 78
6.1. Kesimpulan ... 78
6.2. Saran ... 78
DAFTAR PUSTAKA ... 80
xix
DAFTAR TABEL
Tabel 2.1. Tabel Karyawan Berdasarkan Umur Dengan Derajat Keanggotaan
(Kusumadewi, 2007) ... 11
Tabel 2.2. Tabel masa kerja dengan derajat keanggotaan (Kusumadewi, 2007) .. 12
Tabel 2.3. Menunjukkan hasil query nama-nama karyawan yang masih muda tapi masa kerjanya sudah lama ... 12
Tabel 2.4. Standar komposisi susu bayi (per 100 kcal) (Mucthadi, 2002) ... 16
Tabel 2.5. Aturan Minimum dan Maksimum Kandungan Gizi (BPOM RI) ... 17
Tabel 3.6. Tabel Input Output Proses Modeling ... 21
Tabel 3.7. Tabel Administrator ... 28
Tabel 3.8. Tabel FAQ ... 28
Tabel 3.9. Tabel Variabel Protein ... 28
Tabel 3.10. Tabel Variabel Karbohidrat ... 29
Tabel 3.11. Tabel Variabel Omega3 ... 29
Tabel 3.12. Tabel Variabel Omega6 ... 29
Tabel 3.13. Tabel Variabel AA ... 30
Tabel 3.14. Tabel Variabel DHA ... 30
Tabel 3.15. Tabel Susu Formula ... 30
Tabel 3.16. Data Susu Formula untuk jenis susu “Formula Bayi” ... 37
Tabel 3.17. Nilai Derajat Keanggotaan dan Fire Strength ... 38
Tabel 3.18. Susu Formula Hasil Rekomendasi ... 38
Tabel 4.19. Tabel Hasil Rekomendasi ... 54
Tabel 4.20. Tabel Data Susu Formula ... 69
Tabel 4.21. Tabel Kebenaran Himpunan Crisp ... 69
Tabel 4.22. Tabel Kebenaran Himpunan Kabur ... 70
Tabel 5.23. Hasil Rekomendasi Sebelum Fungsi Keanggotaan Diganti ... 71
Tabel 5.24. Hasil Rekomendasi Setelah Fungsi Keanggotaan Diganti ... 72
Tabel 5.25. Hasil Rekomendasi Sebelum Nilai Batas Diganti ... 73
xx
Tabel 5.27. Hasil Kueisoner untuk Kemampuan Sistem dalam Membantu
xxi
DAFTAR GAMBAR
Gambar 2.1. Representasi Linear Naik ... 7
Gambar 2.2. Representasi Linear Turun ... 7
Gambar 2.3. Representasi Kurva Segitiga ... 8
Gambar 2.4. Representasi Kurva Bahu ... 9
Gambar 2.5. Fungsi Keanggotaan Untuk Variabel Usia ... 11
Gambar 2.6. Fungsi Keanggotaan Untuk Variabel Masa Kerja (Kusumadewi, 2007) ... 12
Gambar 3.7. Use Case Diagram User ... 19
Gambar 3.8. Use Case Diagram Administrator ... 20
Gambar 3.9. Diagram Konteks ... 21
Gambar 3.10. Diagram Berjenjang ... 22
Gambar 3.11. DAD Level 1 Administrator ... 23
Gambar 3.12. DAD Level 1 User ... 23
Gambar 3.13. DAD Level 2 Administrator Proses Kelola User ... 24
Gambar 3.14. DAD Level 2 Administrator Proses Kelola Susu Formula ... 24
Gambar 3.15. DAD Level 2 Administrator Proses Kelola Derajat Keanggotaan 25 Gambar 3.16. DAD Level 2 Administrator Proses Kelola Hasil Kabur ... 25
Gambar 3.17. DAD Level 2 Administrator Proses Kelola FAQ ... 26
Gambar 3.18. E-R Diagram ... 27
Gambar 3.19. Relation Model ... 28
Gambar 3.20. Fungsi keanggotaan pada variabel protein ... 32
Gambar 3.21. Fungsi keanggotaan pada variabel karbohidrat ... 33
Gambar 3.22. Fungsi keanggotaan pada variabel omega 3... 34
Gambar 3.23. Fungsi keanggotaan pada variabel omega6... 35
Gambar 3.24. Fungsi keanggotaan pada variabel AA ... 36
Gambar 3.25. Fungsi keanggotaan pada variabel DHA... 36
Gambar 3.26. Halaman Login Administrator... 39
xxii
Gambar 3.28. Menu User Administrator ... 40 Gambar 3.29. Menu Susu Formula Administrator ... 40 Gambar 3.30. Menu Derajat Keanggotaan Administrator ... 41 Gambar 3.31. Menu Hasil Kabur Administrator ... 41 Gambar 3.32. Menu FAQ Administrator ... 42 Gambar 3.33. Halaman Utama User ... 42 Gambar 3.34. Menu Susu Formula User ... 43 Gambar 3.35. Menu Rekomendasi User ... 43 Gambar 3.36. Menu FAQ User ... 44 Gambar 4.37. Tampilan Halaman Login ... 55 Gambar 4.38. Tampilan Halaman Utama Administrator ... 55 Gambar 4.39. Tampilan Menu User Administrator ... 56 Gambar 4.40. Tampilan Menu Susu Formula Administrator ... 57 Gambar 4.41. Tampilan Edit Susu Formula ... 58 Gambar 4.42. Tampilan Menu Derajat Keanggotaan Administrator ... 60 Gambar 4.43. Tampilan Menu Hasil Kabur Administrator ... 61 Gambar 4.44. Tampilan Halaman Utama User... 62 Gambar 4.45. Tampilan Menu Susu Formula User ... 63 Gambar 4.46. Tampilan Detail Susu Formula User... 64 Gambar 4.47. Tampilan Menu Pencarian Susu Formula User ... 65 Gambar 4.48. Tampilan Halaman Rekomendasi Susu Formula ... 66 Gambar 4.49. Tampilan Menu FAQ User ... 67 Gambar 4.50. Tampilan Detail FAQ User ... 68 Gambar 4.51. Representasi Crisp ... 69 Gambar 4.52. Representasi Kabur ... 70 Gambar 5.53. Protein Tinggi Bahu Kanan dan Karbohidrat Rendah Linear
Turun ... 71 Gambar 5.54. Protein Tinggi Bahu Kanan dan Karbohidrat Rendah Bahu
xxiii
1
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Susu formula merupakan makanan pendamping ASI (Air Susu Ibu). Setiap orang tua pastinya menginginkan susu formula yang terbaik untuk anaknya. Orang tua sering dihadapkan pada masalah pemilihan jenis susu formula yang tepat dan sesuai dengan kebutuhan gizinya, misalnya seorang bayi yang dilahirkan dengan kelebihan kandungan protein maka bayi tersebut seharusnya mengkonsumsi susu formula yang mempunyai kandungan protein rendah.
Masalah ini diperumit dengan semakin banyaknya jenis susu formula yang beredar di pasaran dengan kandungan gizi yang berbeda-beda pada setiap jenis susu formula yang ada.
Kandungan gizi pada setiap susu formula yang berbeda-beda, membuat orang tua sering bertanya-tanya manakah kandungan gizi susu formula yang tinggi atau rendah (secara linguistik). Basis data kabur merupakan pendekatan yang digunakan untuk membantu mengatasi permasalahan ketidaktegasan atau kekaburan karena pemahaman yang berbeda-beda.
Pemecahan masalah ketidaktegasan ini dilakukan dengan menggunakan
basis data kabur model Tahani. Basis data kabur model Tahani digunakan untuk
mengekspresikan kandungan gizi susu formula yang sudah diketahui
kandungannya ke dalam variabel linguistik. Misalnya kandungan gizi susu
formula dengan DHA TINGGI, AA NORMAL, karbohidrat RENDAH.
1.2. Perumusan Masalah
1.3. Tujuan
Tujuan dari penelitian tugas akhir ini adalah membangun sebuah sistem untuk pencarian susu formula berdasarkan kandungan gizi menggunakan basis data kabur model Tahani.
1.4. Batasan Masalah
Dalam penelitian yang dilakukan, penulis menentukan beberapa batasan
masalah sebagai berikut :
1. Sistem ini dibuat hanya untuk membantu seseorang dalam memilih
susu formula berdasarkan jenis susu serta kandungan gizi.
2. Sistem ini hanya menggunakan Basis Data Kabur Model Tahani.
3. Sistem ini hanya menggunakan query AND dalam proses pencarian
susu formula.
4. Kandungan gizi dalam pemilihan susu formula, hanya dibatasi pada 7 (tujuh) kriteria pemilihan, yaitu : jenis susu, protein, karbohidrat, Omega3, Omega6, AA dan DHA.
5. Sistem ini hanya menggunakan variabel linguistik RENDAH, AGAK
RENDAH, NORMAL, AGAK TINGGI dan TINGGI untuk variabel
protein, karbohidrat, omega3, omega6, AA dan DHA.
6. Sistem ini hanya menggunakan 5 fungsi keanggotaan, yaitu : fungsi
segitiga, fungsi linear turun, fungsi linear naik, fungsi bahu kiri dan
fungsi bahu kanan.
7. Sistem ini dibuat dengan menggunakan bahasa pemrograman PHP
dengan MySql sebagai database-nya.
8. Susu formula yang dibahas hanya susu formula untuk Bawah Lima
1.5. Metodologi Penelitian
Metodologi penelitian yang digunakan dalam pembuatan sistem dilakukan dengan langkah-langkah sebagai berikut :
1. Studi Literatur
Studi literatur dilakukan dengan membaca dan mempelajari referensi dari berbagai sumber baik dari buku, laporan penelitian, jurnal ilmiah, makalah dari internet yang berhubungan dengan basis data kabur beserta metode-metode yang terkait, krtiteria dan alternatif yang akan digunakan. 2. Metodologi Waterfall yang meliputi :
a. Analisis Kebutuhan Sistem
Analisis kebutuhan sistem merupakan proses pengumpulan
kebutuhan secara lengkap, untuk mendapatkan spesifikasi
pendekatan yang terbaik dan sumber daya yang dibutuhkan dalam
membangunan sistem.
b. Disain/Perancangan Sistem
Disain/perancangan sistem merupakan rincian dari komponen, struktur dan fitur sistem yang akan dibangun dan diformulasikan secara terperinci.
c. Implementasi Perancangan
Implementasi perancangan merupakan proses pembuatan kode-kode dari disain yang telah dibuat, dengan menterjemahkan ke dalam bahasa pemrograman yang telah ditentukan.
d. Pengujian
Tahap ini merupakan proses pengujian sistem secara keseluruhan,
yang bertujuan untuk memastikan bahwa semua pernyataan telah
1.6. Sistematika Penulisan
BAB I. PENDAHLUAN
Bab ini menguraikan tentang latar belakang masalah, rumusan masalah yang
merupakan inti penelitian, batasan masalah, tujuan penelitian, metode penelitian
yang digunakan, dan juga diuraikan tentang sistematika penulisan untuk
mempermudah pemahamannya.
BAB II. LANDASAN TEORI
Bab ini membahas mengenai landasan teori tentang basis data kabur, query kabur
dan kandungan gizi susu formula yang digunakan.
BAB III. ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi tentang penjelasan analisis dan perancangan sistem yang dibangun,
meliputi analisis masalah, deskripsi sistem, perancangan subsistem yang akan
dibangun yakni subsistem manajemen data, subsistem manajemen model dan
subsistem manajemen dialog.
BAB IV. IMPLEMENTASI SISTEM
Bab ini akan berisi implementasi dan perancangan yang telah dibuat sebelumnya
meliputi tampilan program dari input maupun output yang akan dihasilkan.
BAB V. ANALISIS HASIL DAN PEMBAHASAN
Bab ini berisi tentang analisis hasil dari program yang telah dibuat antara lain
penjelasan cara kerja program yang berupa hasil input dan output.
BAB VI. PENUTUP
Bab ini berisi semua kesimpulan dan saran-saran yang didapatkan dari sistem yang dibuat. Kesimpulan menjawab rumusan masalah yang dituliskan pada bab pendahuluan secara ringkas dan jelas.
5
BAB II
LANDASAN TEORI
2.1. Landasan Teori
2.1.1. Pengenalan Logika Kabur
Teori himpunan logika kabur dikembangkan oleh Prof Lofti Zadeh pada tahun 1965. Logika kabur mempunyai nilai yang kontinue. Himpunan kabur dinyatakan dalam derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu dapat dikatakan benar dan salah pada waktu yang bersamaan,
namun berapa besar kebenaran dan kesalahan suatu nilai tergantung kepada bobot
keanggotaan yang dimilikinya(Kusumadewi, 2004).
Kalau pada himpunan tegas (crisp), nilai keanggotaan hanya ada 2 (dua) kemungkinan, yaitu 0 atau 1, pada himpunan kabur nilai keanggotaan terletak pada rentang 0 sampai 1. Bila x memiliki nilai keanggotaan kabur µA[x]=0 berarti x tidak menjadi anggota himpunan A, demikian pula bila x memiliki nilai keanggotaan kabur µA[x]=1 berarti menjadi anggota penuh pada himpunan A. Himpunan kabur memiliki dua atribut yaitu :
1. Linguistik, yaitu suatu lambang atau kata yang menunjuk kepada suatu kondisi tertentu dengan menggunakan bahasa alami, seperti : MUDA, PAROBAYA, dan TUA.
2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel, seperti : 40, 25, 50, dsb.
Ada beberapa hal yang perlu diketahui dalam memahami sistem kabur, yaitu : 1. Variabel Kabur
2. Himpunan Kabur
Himpunan kabur merupakan sebuah kelompok yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel kabur. Misalnya : Variabel umur, terbagi menjadi 3 (tiga) himpunan kabur, yaitu : MUDA, PAROBAYA, dan TUA.
3. Semesta Pembicaraan
Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel kabur. Nilai semesta pembicaraan dapat berupa bilangan positif maupun negatif. Ada kalanya nilai semesta pembicaraan ini dibatasi batas atasnya. Misalnya : Semesta
pembicaraan untuk variabel umur : (0 +∞). 4. Domain
Domain himpunan kabur adalah keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan kabur. Nilai domain dapat berupa bilangan positif maupun negatif. Misalnya :
MUDA = [0, 45]
PAROBA = [35, 55]
TUA = [45, +∞]
2.1.2. Fungsi Keanggotaan
Fungsi Keanggotaan adalah suatu kurva yang menunjukkan pemetaan titik
1. Representasi Kurva Linear
Pada representasi linear, pemetaan input ke derajat keanggotaan digambarkan sebagai suatu garis lurus. Ada 2 (dua) keadaan himpunan kabur yang linear. Pertama, kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol [0] bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi (Gambar 2.1). Kedua, merupakan kebalikan yang pertama, garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri bergerak ke nilai domain yang memiliki derajat keanggotaan lebih rendah (Gambar 2.2).
a domain b 0
1
µ[x]
Gambar 2.1. Representasi Linear Naik
Rumus fungsi keanggotaan linear naik:
𝜇[𝑥]
0 ,𝑥 ≤ 𝑎 𝑥 − 𝑎
𝑏 − 𝑎 ,𝑎 ≤ 𝑥 ≤ 𝑏 1 ,𝑥 ≥ 𝑏
a domain b 0
1
µ[x]
Rumus fungsi keanggotaan linear turun :
𝜇[𝑥]
1 ,𝑥 ≤ 𝑎 𝑏 − 𝑥
𝑏 − 𝑎 ,𝑎 ≤ 𝑥 ≤ 𝑏 0 ,𝑥 ≥ 𝑏
2. Representasi Kurva Segitiga
Kurva segitiga merupakan gabungan antara 2 garis (linear) yang dipertemukan pada satu titik yakni akhir dari kurva naik dan titik awal dari kurva turun.
a b
domain 0
1
µ[x]
c
Gambar 2.3. Representasi Kurva Segitiga
Rumus fungsi keanggotaan kurva segitiga :
𝜇[𝑥]
𝑥−𝑎
𝑏−𝑎 ,𝑎 ≤ 𝑥 ≤ 𝑏 𝑐−𝑥
𝑐−𝑏 ,𝑏 ≤ 𝑥 ≤ 𝑐
0 ,𝑥 ≤ 𝑎𝑎𝑡𝑎𝑢𝑥 ≥ 𝑐
3. Representasi Kurva Bentuk Bahu
Daerah yang terletak ditengah-tengah segitiga suatu variabel direpresentasikan dalam bentuk segitiga, pada sisi kanan dan kirinya
akan naik dan turun. Himpunan kabur „bahu‟, bukan segitiga digunakan
domain 0
1
µ[x]
Bahu Kiri Bahu Kanan
Gambar 2.4. Representasi Kurva Bahu
2.1.3. Operator Zadeh Untuk Operasi Himpunan Kabur
Seperti halnya himpunan konvensional, ada beberapa operasi yang didefinisikan secara khusus untuk mengkombinasi dan memodifikasi himpunan kabur. Nilai keanggotaan sebagai hasil dari operasi 2 (dua) himpunan sering dikenal dengan nama fire strength atau α-predikat. Ada 3 (tiga) operator dasar yang diciptakan oleh Zadeh, yaitu (Kusumadewi, 2007) :
1. Operator AND
Operator ini berhubungan dengan operasi interaksi pada himpunan. α -predikat sebagai hasil operasi dengan operator AND diperoleh dengan mengambil nilai keanggotaan terkecil antar elemen pada himpunan-himpunan yang bersangkutan.
𝜇𝐴∧𝐵 = min(𝜇𝐴 𝑥 ,𝜇𝐵[𝑦])
2. Operator OR
Operator ini berhubungan dengan operasi union pada himpunan. α -predikat sebagai hasil operasi dengan operator OR diperoleh dengan mengambil nilai keanggotaan terbesar antar elemen pada himpunan-himpunan yang bersangkutan.
𝜇𝐴∨𝐵 = max(𝜇𝐴 𝑥 ,𝜇𝐵[𝑦])
3. Operator NOT
Operator ini berhubungan dengan operasi komplemen pada himpunan.
mengkurangkan nilai keanggotaan elemen pada himpunan yang bersangkutan dari 1 (satu).
𝜇𝐴′ = 1− 𝜇𝐴 𝑥
2.2. Basis Data Kabur
Basis Data adalah sebuah sistem berbasis komputer yang bertujuan untuk menyimpan informasi tentang entitas dan untuk menyediakan pengguna, agar dapat mengorganisir, memanipulasi, dan mengambil informasi yang tersimpan seperti yang diminta (George dan Bo Yuan, 1995).
Misalnya : diinginkan informasi tentang nama-nama karyawan yang usianya kurang dari 50 tahun, maka bisa diciptakan query berikut :
SELECT NAMA FROM KARYAWAN
WHERE(umur < 50)
Sehingga akan muncul nama-nama karyawan yang usianya kurang dari 50 tahun.
Namun pada kenyataannya, seseorang kadang membutuhkan informasi dari data-data yang bersifat tidak pasti. Apabila hal ini terjadi, maka sebaiknya digunakan Basis Data Kabur. Sistem Basis Data Kabur mempunyai 2 (dua) model yaitu Model Tahani dan Model Umano (Kusumadewi, 2004).
Basis data kabur adalah perluasan dari model relasional, tetapi perumusanya berbeda sesuai dengan jenis ketidaktegasan untuk mengekspresikan dan memanipulasi suatu data (Terano, 1987).
2.2.1. Basis Data Kabur Model Tahani
Basis data Kabur Model Tahani merupakan sebuah basis data yang masih tetap menggunakan relasi standar, hanya saja model ini menggunakan teori himpunan kabur untuk mendapatkan informasi pada query-nya.
Misalnya kita mengkategorikan usia karyawan ke dalam himpunan :
Gambar 2.5. Fungsi Keanggotaan Untuk Variabel Usia
Fungsi keanggotaan untuk variabel usia :
𝜇𝑚𝑢𝑑𝑎[𝑥]=
1 ;𝑥 ≤30
40− 𝑥
10 ; 30≤ 𝑥 ≤40
0 ;𝑥 ≥40
𝜇𝑃𝑎𝑟𝑜𝑏𝑎𝑦𝑎 [𝑥]=
𝑥 −35
10 ; 35 ≤ 𝑥 ≤ 45
50− 𝑥
5 ; 45≤ 𝑥 ≤50
0 ;𝑥𝑦𝑎𝑛𝑔𝑙𝑎𝑖𝑛
𝜇𝑇𝑢𝑎[𝑥]=
1 ;𝑥 ≥ 40
𝑥 −40
10 ; 40 ≤ 𝑥 ≤50
0 ;𝑥𝑦𝑎𝑛𝑔𝑙𝑎𝑖𝑛
Tabel 2.1. Tabel Karyawan Berdasarkan Umur Dengan Derajat
Keanggotaan (Kusumadewi, 2007)
NIP Nama Umur Derajat Keanggotaan ([x])
MUDA PAROBAYA TUA
01 Lia 30 1 0 0
02 Iwan 48 0 0,4 0,8
03 Sari 36 0,4 0,1 0
5 10 15 25
Gambar 2.6.Fungsi Keanggotaan Untuk Variabel Masa Kerja
(Kusumadewi, 2007)
Fungsi keanggotaan untuk variabel masa kerja :
𝜇𝐵𝑎𝑟𝑢[𝑦]=
Tabel 2.2. Tabel masa kerja dengan derajat keanggotaan (Kusumadewi,
2007)
NIP Nama Masa Kerja Derajat keanggotaan ([y])
BARU LAMA
01 Lia 6 0.9 0
02 Iwan 17 0 0.467
03 Sari 14 0.1 0.267
Contoh : Siapa saja karyawan yang masih muda tapi masa kerjanya sudah lama?
SELECT NAMA
FROM KARYAWAN
WHERE (Umur=”MUDA”) and (MasaKerja=”LAMA”)
Tabel 2.3. Menunjukkan hasil query nama-nama karyawan yang masih
muda tapi masa kerjanya sudah lama
NIP Nama Umur Masa Kerja
03 Sari 36 14
02 Iwan 48 17
2.3. Susu Formula
Pembuatan susu formula semula dilator belakangi oleh alasan terdapatnya banyak ibu-ibu yang tidak dapat atau tidak mampu menyusui bayinya secara penuh. Misalnya, karena terinfeksi HIV/AIDS seorang ibu tidak dapat menyusui karena dikawatirkan bayinya bisa tertular. Bisa juga seorang ibu wanita karir yang sangat sibuk sehingga mengharuskan bayinya perlu tambahan susu formula, dll.
Awal pembuatan susu formula, untuk pertama kalinya dibuat oleh seorang ahli kimia Jerman bernama Von Liebig yang mulai dipasarkan abad ke-19. Susu formula buatan Von Liebig dibuat dari campuran susu sapi, tepung terigu, dan tepung malt. Campuran bahan-bahan ini dimasak dengan dicampur sedikit kalium dan karbohidrat untuk mengurangi rasa asam. (Taufiq, 2008).
Perkembangan produksi susu formula hingga saat ini amat bervariasi dengan berbagai rasa menarik selera. Susu formula yang banyak beredar di pasaran saat ini umumnya terdiri dari campuran emulsi lemak, protein, karbohidrat, vitamin dan mineral.
Bahan utama susu formula tidak selalu susu sapi, tetapi terdapat pula dari kedelai atau dari protein hidrolisa. Susu formula dari susu sapi menggunakan susu sapi yang telah bebas dari kandungan lemak seperti halnya susu krim sebagai komponen utama.
Susu formula dengan bahan utamanya kedelai dibuat dengan menggunakan isolate protein dari kedelai. Kemudian ditambahkan dengan minyak nabati untuk melengkapi kandungan lemaknya, dan sirup jagung atau sukrosa untuk melengkapi kandungan karbohidratnya.
Zat-zat gizi penting yang lazim dibubuhkan sewaktu pembuatan susu formula adalah Taurin, Asam Dokosaheksanoat (DHA), Asam Arakhidonat
Para ahli gizi seringkali membubuhkan pula zat-zat penting yang dapat meningkatkan daya guna susu formula, diantaranya ditambahkan probiotik yaitu sejenis serat yang dinamakan FOS (frukto oligosakarida) dan Inulin yaitu zat yang dapat menimbulkan fermentasi dalam usus sehingga terbentuk asam lemak rantai pendek (short chain fatty acid). Fungsi inulin adalah memudahkan
kuman-kuman yang bersifat “baik” dan menguntungkan bagi manusia berkembang biak di dalam usus. Selain inulin, susu formula juga ditambahkan pula zat Taurin dan Probiotik (Taufiq, 2008).
2.3.1. Jenis – jenis Susu Formula Bayi
Susu formula bayi dibagi menjadi tiga golongan, yaitu (Muchtadi, 2002) :
1. Susu Formula Adapted
Adapted berarti disesuaikan dengan keadaan fisilogis bayi.
2. Susu Formula Complete Starting
Susu formula ini susunan zat gizinya lengkap dan dapat diberikan
sebagai susu formula permulaan. Berbeda dengan susu formula Adapted,
kadar protein dan mineral susu formula ini lebih tinggi.
3. Susu Formula Follow-up
Pengertian Follow-up dalam susu formula ini adalah lanjutan, yaitu
menggantikan susu formula yang sedang digunakan dengan susu
formula ini. Pada umumnya susu formula Follow-up mengandung
protein dan mineral yang lebih tinggi dari susu formula sebelumnya.
Disamping susu formula bayi yang dapat diberikan pada bayi sehat, ada
juga susu formula yang di khususkan untuk bayi dengan kelainan metabolisme
tertentu, agar bayi tersebut dapat tetap tumbuh normal, baik fisik maupun
1. Formula Prematur
Susu formula ini dikhususkan bagi bayi yang prematur. Susu formula ini
mengandung lebih banyak protein, kadar beberapa mineral (seperti
kalsium dan natrium) serta density energinya lebih tinggi.
2. Formula Rendah Laktosa dan Tanpa Laktosa
Susu formula ini dikhususkan bagi bayi yang aktivitas laktasenya
rendah, misalnya pada bayi prematur atau bayi yang terkena infeksi
usus.
3. Formula dengan Asam Lemak MCT Tinggi
Susu formula ini dikhususkan bagi bayi yang menderita kesulitan dalam
menyerap lemak, yang ditandai dengan gejala diare dan banyaknya
lemak yang terdapat dalam feses.
4. Formula Protein Hidrosilat
Susu formula ini untuk bayi yang menderita kesulitan mencerna protein
yang masuk, sehingga tidak dapat diserap oleh usus, dan dikeluarkan
lagi melalui feses.
5. Formula Kacang Kedelai
Susu formula ini, untuk bayi yang menderita gangguan diare,
batuk-batuk. Kemungkinan bayi tersebut tidak dapat menerima protein susu
Tabel 2.4. Standar komposisi susu bayi (per 100 kcal) (Mucthadi, 2002)
Komponen Infant
Formula
Vitamin K1, min.
Vitamin C, min.
Vitamin B1, min.
Vitamin B2, min.
Nikotinamid, min.
Vitamin B6, min.
Asam folat, min.
As. pantotenat, min.
Vitamin B12, min.
Biotin, min.
Choline, min.
Mineral
Natrium (Na), min.
Max.
Kalium (K), min.
Max.
Chlorida (Cl), min.
Max.
Kalsium (Ca), min.
Forfor (P), min
Magnesium (Mg), min.
Besi (Fe), min.
Iod (I), min.
Tembaga (Cu), min.
Seng (Zn), min.
Vitamin larut air tidak
2.3.2. Acuan Batas Atas (ABA) Kandungan Susu Formula
Kandungan gizi Formula Bayi siap konsumsi per 100 kkal harus memenuhi ketentuan nilai minimum, maksimum, atau ABA. ABA digunakan untuk zat gizi yang tidak mempunyai informasi cukup tentang kajian resiko berbasis ilmiah. Kandungan gizi biasanya tidak boleh melebihi ABA kecuali jika tidak dapat dihindari sehubungan dengan keragaman kandungan formula atau alasan teknologi (BPOM RI).
Tabel 2.5. Aturan Minimum dan Maksimum Kandungan Gizi (BPOM RI)
Jenis Gizi Satuan Minimum Maksimum ABA
Protein g/100 kkal 1.8 3.0 -
Karbohidrat g/100 kkal 9.0 14.0 -
Omega6 mg/100 kkal 300 - 1400
18
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Karena kandungan gizi pada setiap susu formula yang berbeda-beda, membuat orang tua sering bertanya-tanya manakah kandungan gizi susu formula yang tinggi atau sedang (secara linguistik). Untuk mengatasi permasalahan tersebut maka sistem ini dibuat mengunakan basis data kabur. Karena, basis data kabur merupakan pendekatan yang digunakan untuk membantu mengatasi permasalahan ketidaktegasan atau kekaburan akibat dari pemahaman yang berbeda-beda.
Sistem ini dibuat menggunakan logika kabur karena :
1. Konsep logika kabur mudah dimengerti. Konsep matematis yang mendasari penalaran kabur sangat sederhana dan mudah dimengerti. 2. Logika kabur sangat fleksibel.
3. Logika kabur memiliki toleransi terhadap data-data yang tidak tepat. 4. Logika kabur mampu memodelkan fungsi-fungsi non-linear yang sangat
kompleks.
Sistem ini dibangun menggunakan bahasa pemrograman PHP dengan MySql sebagai database-nya. Sehingga orang tua bisa dengan mudah mendapatkan informasi tentang susu formula kapan saja dan dari mana saja.
3.1.1. Gambaran Umum Sistem
Selanjutnya user dapat meminta informasi susu formula dari sistem berdasarkan jenis susu dan kandungan gizi tertentu secara linguistik. Misalnya susu formula apa saja yang memiliki kandungan protein TINGGI, karbohidrat AGAK TINGGI, Omega3 NORMAL dan Omega6 TINGGI, tanpa mempertimbangkan unsur yang lainnya, maka sistem ini akan memberikan informasi susu formula sesuai kriteria yang diinginkan.
3.2. Perancangan Sistem
3.2.1. Use Case Diagram
Use Case Diagram dari Sistem Pencarian Susu Formula Berdasarkan Kandungan Gizi Menggunakan Basis Data Kabur Model Tahani dapat dilihat pada Gambar 3.6. dan Gambar 3.7.
User
Lihat hasil Subsistem User
Lihat informasi susu formula
Input pilihan kriteria
Lihat FAQ
Subsistem Administrator
Kelola Susu Formula Tambah User
Hapus User Edit User Kelola User
Tambah Susu
Hapus Susu Edit Susu
Kelola Fungsi Keanggotaan
Edit Variabel Protein
Kelola Hasil Kabur
Input Pilihan
Login
Logout
Administrator
Edit Variabel Karbohidrat
Edit Variabel AA Edit Variabel
Omega6 Edit Variabel
Omega3
Edit Variabel DHA
Lihat Hasil Kabur
Tambah FAQ
Hapus FAQ Edit FAQ Kelola FAQ
3.2.2. Proses Modeling
Proses modeling digunakan untuk mengorganisasikan dan mendokumentasikan proses dari sistem. Tabel input output proses modeling untuk Sistem Pencarian Susu Formula Berdasarkan Kandungan Gizi Menggunakan Basis Data Kabur Model Tahani dapat dilihat pada tabel 3.4
Tabel 3.6. Tabel Input Output Proses Modeling
Entitas Input Output
User Pilihan Kriteria Gizi Susu Formula, jenis susu.
Informasi dan hasil
rekomendasi susu formula. Administrator Username, password, data susu
formula bayi, batas himpunan.
Data user, data susu formula, data fungsi keanggotaan.
3.2.3. Diagram Konteks
Diagram Konteks digunakan untuk merepresentasikan elemen sistem sebagai sebuah proses tunggal dengan input dan output data yang ditunjukkan oleh panah masuk dan keluar. Diagram Konteks untuk Sistem Pencarian Susu Formula Berdasarkan Kandungan Gizi Menggunakan Basis Data Kabur Model Tahani dapat dilihat pada Gambar 3.8.
Administrator
data kriteria gizi susu formula bayi
rekomendasi susu formula bayi
User
username,
password, data susu formula bayi,
batas himpunan
data susu formula bayi
0
Sistem Pencarian Susu Formula
Berdasarkkan Kandungan Gizi
Menggunakan Basis Data Kabur
Model Tahani
Gambar 3.9. Diagram Konteks
3.2.4. Diagram Berjenjang
1.4.3
DAD Level 1 Administrator
D4 Batas fungsi keanggotaan
Data FAQ Data FAQ D6 FAQ
Gambar 3.11. DAD Level 1 Administrator
DAD Level 1 User
User D5
D2 Kriteria Susu Formula
Data Kriteria Susu Formula Data Kriteria Gizi
Susu Formula
DAD Level 2 Administrator Proses Kelola User
Gambar 3.13. DAD Level 2 Administrator Proses Kelola User
DAD Level 2 Administrator Proses Kelola Susu Formula
Administrator
DAD Level 2 Administrator Proses Kelola Derajat Keanggotaan Data variabel protein
Data variabel omega6
Data variabel omega3 Konfirmasi edit Data variabel karbohidrat
Data variabel omega3 Data variabel omega3
Data variabel karbihidrat Data variabel karbohidrat
Gambar 3.15. DAD Level 2 Administrator Proses Kelola Derajat
Keanggotaan
DAD Level 2 Administrator Proses Kelola Hasil Kabur
Administrator
DAD Level 2 Administrator Proses Kelola FAQ
Administrator
Konfirmasi tambah Data FAQ
Data FAQ
Konfimasi edit
Data FAQ
Konfimasi hapus
Data FAQ
Data FAQ
Data FAQ
Data FAQ Data FAQ
Data FAQ
1.6.1
tambah FAQ
1.6.2
edit FAQ
1.6.3
hapus FAQ
D6 FAQ
3.3. Disain Data Model
3.3.1. Entity Relationship Diagram (E-R)
Susu Formula
3.3.2. Translasi ke dalam Relation Model
Gambar 3.19. Relation Model
3.3.3. Struktur Tabel
Sruktur tabel dari sistem yang dibuat adalah sebagai berikut :
Tabel 3.7. Tabel Administrator
Nama Field Tipe Data Ukuran Field Keterangan
Tabel 3.8. Tabel FAQ
Nama Field Tipe Data Ukuran Field Keterangan
id_faq * int 15 Primary Key
pertanyaan text - -
jawaban text - -
Tabel 3.9. Tabel Variabel Protein
Nama Field Tipe Data Ukuran Field Keterangan
id_protein * int 15 Primary Key
nama_fungsi varchar 25 -
a double - -
b double - -
c double - -
Tabel 3.10. Tabel Variabel Karbohidrat
Nama Field Tipe Data Ukuran Field Keterangan
id_karbohidrat * int 15 Primary Key
nama_variabel varchar 25 -
nama_fungsi varchar 25 -
a double - -
b double - -
c double - -
Tabel 3.11. Tabel Variabel Omega3
Nama Field Tipe Data Ukuran Field Keterangan
id_omega3 * int 15 Primary Key
nama_variabel varchar 25 -
nama_fungsi varchar 25 -
a double - -
b double - -
c double - -
Tabel 3.12. Tabel Variabel Omega6
Nama Field Tipe Data Ukuran Field Keterangan
id_omega6 * int 15 Primary Key
nama_fungsi varchar 25 -
a double - -
b double - -
c double - -
Tabel 3.13. Tabel Variabel AA
Nama Field Tipe Data Ukuran Field Keterangan
id_aa * int 15 Primary Key
nama_variabel varchar 25 -
nama_fungsi varchar 25 -
a double - -
b double - -
c double - -
Tabel 3.14. Tabel Variabel DHA
Nama Field Tipe Data Ukuran Field Keterangan
id_dha * int 15 Primary Key
nama_variabel varchar 25 -
nama_fungsi varchar 25 -
a double - -
b double - -
c double - -
Tabel 3.15. Tabel Susu Formula
Nama Field Tipe Data Ukuran Field Keterangan
id_susu * int 5 Primary Key
jenis_susu varchar 20 -
usia double - -
protein double - -
karbohidrat double - -
omega3 double - -
omega6 double - -
aa double - -
dha double - -
harga int 10 -
miu_pro_rendah double - -
miu_pro_agk_rendah double - -
miu_pro_normal double - -
miu_pro_agk_tinggi double - -
miu_pro_tinggi double - -
miu_ kar _rendah double - -
miu_ kar _agk_rendah double - -
miu_ kar _normal double - -
miu_ kar _agk_tinggi double - -
miu_ kar _tinggi double - -
miu_ om3_rendah double - -
miu_ om3_agk_rendah double - -
miu_ om3_normal double - -
miu_ om3_agk_tinggi double - -
miu_ om3_tinggi double - -
miu_ om6_rendah double - -
miu_ om6_agk_rendah double - -
miu_ om6_normal double - -
miu_ om6_agk_tinggi double - -
miu_ om6_tinggi double - -
miu_ aa_agk_rendah double - -
miu_ aa_normal double - -
miu_ aa_agk_tinggi double - -
miu_ aa_tinggi double - -
miu_ dha_rendah double - -
miu_ dha_agk_rendah double - -
miu_ dha_normal double - -
miu_ dha_agk_tinggi double - -
miu_ dha_tinggi double - -
3.4. Perancangan Sistem Kabur
Varibel-variabel pada sistem kabur ini berasal dari beberapa kriteria gizi susu formula yang telah ditentukan sebelumnya yaitu protein, karbohidrat, Omega3, Omega6, AA dan DHA.
Setelah variabel terbentuk, maka ditentukan himpunan-himpunan kabur dan fungsi keanggotaan pada tiap-tiap variabel. Bentuk himpunan kabur tersebut adalah sebagai berikut :
3.4.1. Variabel Protein
Variabel protein dibagi menjadi 5 himpunan kabur yaitu : RENDAH, AGAK RENDAH, NORMAL, AGAK TINGGI dan TINGGI. Untuk himpunan RENDAH dan TINGGI menggunakan pendekatan fungsi keanggotaan berbentuk bahu atau linear, sedangkan himpunan AGAK RENDAH, NORMAL, AGAK TINGGI menggunakan pendekatan fungsi keanggotaan berbentuk segitiga.
1
RENDAH NORMAL TINGGI
µ[x1]
0 3 6 12 ( gram )
Derajat keanggotaan pada variabel protein dapat dirumuskan sebagai berikut:
3.4.2. Variabel Karbohidrat
Variabel karbohidrat dibagi menjadi 5 himpunan kabur yaitu : RENDAH, AGAK RENDAH, NORMAL, AGAK TINGGI dan TINGGI. Untuk himpunan RENDAH dan TINGGI menggunakan pendekatan fungsi keanggotaan berbentuk bahu atau linear, sedangkan himpunan AGAK RENDAH, NORMAL, AGAK TINGGI menggunakan pendekatan fungsi keanggotaan berbentuk segitiga.
1
RENDAH NORMAL TINGGI
µ[x1]
0 8 15 30 ( gram )
Gambar 3.21. Fungsi keanggotaan pada variabel karbohidrat
Derajat keanggotaan pada variabel karbohidrat dapat dirumuskan sebagai berikut:
𝜇𝑘𝑎𝑟𝑏𝑅𝐸𝑁𝐷𝐴𝐻 𝑥
1 ,𝑗𝑖𝑘𝑎𝑥 ≤8
15− 𝑥
𝜇𝑘𝑎𝑟𝑏𝑁𝑂𝑅𝑀𝐴𝐿 𝑦
3.4.3. Variabel Omega3
Variabel omega3 dibagi menjadi 5 himpunan kabur yaitu : RENDAH, AGAK RENDAH, NORMAL, AGAK TINGGI dan TINGGI. Untuk himpunan RENDAH dan TINGGI menggunakan pendekatan fungsi keanggotaan berbentuk bahu atau linear, sedangkan himpunan AGAK RENDAH, NORMAL, AGAK TINGGI menggunakan pendekatan fungsi keanggotaan berbentuk segitiga.
1
RENDAH NORMAL TINGGI
µ[x1]
0 35 50 90 ( mg )
Gambar 3.22. Fungsi keanggotaan pada variabel omega 3
Derajat keanggotaan pada variabel omega 3 dapat dirumuskan sebagai berikut:
3.4.4. Variabel Omega6
Variabel omega6 dibagi menjadi 5 himpunan kabur yaitu : RENDAH, AGAK RENDAH, NORMAL, AGAK TINGGI dan TINGGI. Untuk himpunan RENDAH dan TINGGI menggunakan pendekatan fungsi keanggotaan berbentuk bahu atau linear, sedangkan himpunan AGAK RENDAH, NORMAL, AGAK TINGGI menggunakan pendekatan fungsi keanggotaan berbentuk segitiga.
1
RENDAH NORMAL TINGGI
µ[x1]
0 150 400 800 ( mg )
Gambar 3.23. Fungsi keanggotaan pada variabel omega6
Derajat keanggotaan pada variabel omega6 dapat dirumuskan sebagai berikut:
𝜇𝑜𝑚𝑔6𝑅𝐸𝑁𝐷𝐴𝐻 𝑥
3.4.5. Variabel AA
1
RENDAH NORMAL TINGGI
µ[x1]
0 6 9 15 ( mg )
Gambar 3.24. Fungsi keanggotaan pada variabel AA
Derajat keanggotaan pada variabel AA dapat dirumuskan sebagai berikut:
𝜇𝑎𝑎𝑅𝐸𝑁𝐷𝐴𝐻 𝑥
3.4.6. Variabel DHA
Variabel DHA dibagi menjadi 5 himpunan kabur yaitu : RENDAH, AGAK RENDAH, NORMAL, AGAK TINGGI dan TINGGI. Untuk himpunan RENDAH dan TINGGI menggunakan pendekatan fungsi keanggotaan berbentuk bahu atau linear, sedangkan himpunan AGAK RENDAH, NORMAL, AGAK TINGGI menggunakan pendekatan fungsi keanggotaan berbentuk segitiga.
1
RENDAH NORMAL TINGGI
µ[x1]
0 5 7 11 ( mg )
Gambar 3.25. Fungsi keanggotaan pada variabel DHA
𝜇𝑑ℎ𝑎𝑅𝐸𝑁𝐷𝐴𝐻 𝑥
3.4.7. Menentukan Fire Strength (α-predikat)
Setelah menentukan derajat keanggotaan pada tiap-tiap variabel, maka
dicari nilai α-predikat atau fire strength melalui operasi AND yaitu dengan mengambil nilai keanggotaan terkecil antar elemen pada himpunan-himpunan yang bersangkutan atau operasi OR yaitu dengan mengambil nilai keanggotaan terbesar antar elemen pada himpunan-himpunan yang bersangkutan.
3.4.8. Contoh Penerapan Logika Kabur
Dari data-data susu formula untuk jenis susu “Formula Lanjutan” (terlihat pada tabel 3.16.) diinginkan susu formula dengan protein TINGGI, karbohidrat SEDANG, omega3 SEDANG, omega6 TINGGI, AA NORMAL dan DHA TINGGI menggunakan operator AND.
Tabel 3.16. Data Susu Formula untuk jenis susu “Formula Bayi”
Dari data susu formula untuk jenis susu “Formula Lanjutan” tersebut selanjutnya ditentukan derajat keanggotaan untuk protein, karbohidrat, omega3, omega6, AA dan DHA. Setelah masing-masing mendapatkan nilai derajat keanggotaannya, kemudian ditentukan fire strength yaitu dengan mengambil nilai minimum derajat keanggotaan karena menggunakan operator AND. Untuk lebih jelasnya terlihat pada tabel 3.17.
Tabel 3.17. Nilai Derajat Keanggotaan dan Fire Strength
Nama µprotein
Untuk menentukan prioritas tertinggi sampai prioritas terendah, nilai fire strength diurutkan dari yang terbesar sampai terkecil. Nilai rekomendasi susu formula yang berasal dari nilai fire strength berkisar antara 0 sampai 1 dengan nilai tertinggi adalah 1. Hasil akhir susu formula yang direkomendasikan terlihat pada tabel 3.18. dimana susu formula yang tadinya memiliki fire strength = 0 tidak direkomendasikan.
Tabel 3.18. Susu Formula Hasil Rekomendasi
Nama µprotein
3.5. Perancangan User Interface
Output dari sistem berupa merk susu formula hasil rekomendasi sistem
sesuai pilihan. Adapun perancangan interface dari sistem ini adalah sebagai
berikut :
3.5.1. Halaman Login Administrator
LOGIN
Username
Password
Login Batal
Gambar 3.26. Halaman Login Administrator
Pertama kali masuk sistem, maka Administrator akan diminta untuk memasukkan username dan password yang telah dimiliki. Jika username dan
password benar, maka ketika tombol login diklik, administrator akan masuk ke dalam sistem.
3.5.2. Halaman Utama Administrator
HEADER
Home | User | Susu Formula | Derajat Keanggotaan | Hasil Kabur | FAQ | Logout
FOOTER Selamat Datang Dihalaman Administrator
Gambar 3.27. Halaman Utama Administrator
Halaman utama dari administrator terdiri dari 7 (tujuh) menu, yaitu Home,
3.5.3. Menu User Administrator
HEADER
Home | User | Susu Formula | Derajat Keanggotaan | Hasil Kabur | FAQ | Logout
FOOTER User
Data user yang sudah tersimpan
Tambah User
Gambar 3.28. Menu User Administrator
Pada halaman ini administrator dapat menambah, mengedit dan menghapus data user.
3.5.4. Menu Susu Formula Administrator
HEADER
Home | User | Susu Formula | Derajat Keanggotaan | Hasil Kabur | FAQ | Logout
FOOTER Susu Formula
Data susu formula yang sudah tersimpan
Tambah Susu
Gambar 3.29. Menu Susu Formula Administrator
3.5.5. Menu Derajat Keanggotaan Administrator
HEADER
Home | User | Susu Formula | Derajat Keanggotaan | Hasil Kabur | FAQ | Logout
FOOTER Derajat Keanggotaan
Data derajat keanggotaan yang tersimpan
Gambar 3.30. Menu Derajat Keanggotaan Administrator
Pada halaman ini ada 6 (enam) sub-menu yaitu protein, karbohidrat, omega3, omega6, AA dan DHA. Administrator hanya dapat mengedit data derajat keanggotaan dari masing-masing variabel.
3.5.6. Menu Hasil Kabur Administrator
HEADER
Home | User | Susu Formula | Fungsi Keanggotaan | Hasil Kabur | FAQ | Logout
FOOTER
Pada halaman ini administrator dapat meng-input-kan pilihan berdasarkan kriteria susu formula yang diinginkan. Setelah input pilihan selesai, klik tombol pilih dan akan keluar hasil rekomendasi susu formula berdasarkan pilihan.
3.5.7. Menu FAQ Administrator
HEADER
Home | User | Susu Formula | Derajat Keanggotaan | Hasil Kabur | FAQ | Logout
FOOTER FAQ
Berisi beberapa pertanyaan tentang susu formula dan basis data kabur
Gambar 3.32. Menu FAQ Administrator
Pada halaman ini administrator dapat menambah, mengedit dan menghapus FAQ.
3.5.8. Halaman Utama User
HEADER
Home | Susu Formula | Rekomendasi | FAQ
FOOTER Selamat Datang
Gambar 3.33. Halaman Utama User
3.5.9. Menu Susu Formula User
HEADER
Home | Susu Formula | Rekomendasi | FAQ | Logout
FOOTER
Gambar 3.34. Menu Susu Formula User
Pada halaman ini user dapat melihat merk susu formula yang ada beserta gambar dan informasi dari susu formula tersebut.
3.5.10.Menu Rekomendasi User
HEADER
Home | Susu Formula | Rekomendasi | FAQ
FOOTER
Gambar 3.35. Menu Rekomendasi User
3.5.11.Menu FAQ User
HEADER
Home | Susu Formula | Rekomendasi | FAQ
FOOTER FAQ
Berisi pertanyaan dan istilah-istilah dari susu formula dan basis data kabur
Gambar 3.36. Menu FAQ User
45
BAB IV
IMPLEMENTASI
Pada bab ini akan dijelaskan lebih lanjut mengenai implementasi dari perancangan Sistem Pencarian Susu Formula Berdasarkan Kandungan Gizi Menggunakan Basis Data Kabur Model Tahani.
4.1. Implementasi Sistem
Perancangan sistem yang sudah dilakukan, selanjutnya diimplementasikan kedalam program. Untuk mendapatkan susu formula yang sesuai dengan kriteria digunakan algoritma kabur dengan metode basis data model tahani. Field yang bersifat numerik yang akan dihitung secara kabur. Penentuan nilai derajat keanggotaan dilakukan dengan cara membandingkannya dengan nilai batas dari parameter himpunan. Sebagai contoh pencarian derajat keanggotaan untuk variabel protein dapat dilihat pada potongan program di bawah ini.
echo "<div align=center>";
if($_POST[fungsi]=='Segitiga' && $_POST[a]=='0'){
echo "<h3>Nilai a belum diisi (tidak boleh = 0), silahkan ulangi kembali.</h3>";
echo "<br><input type=button value=Kembali onclick=self.history.back()>"; }
// Update tabel protein sesuai dengan id_protein yang dipanggil
mysql_query("UPDATE protein SET nama_variabel = '$_POST[variabel]', nama_fungsi = '$_POST[fungsi]', a = '$_POST[a]', b = '$_POST[b]',
c = '$_POST[c]'
WHERE id_protein = '$_POST[id]'");
echo "<h2>Protein '$_POST[variabel]' dengan Fungsi Keanggotaan '$_POST[fungsi]'</h2>";
$hitung=("select * from kriteria_gizi order by nama"); $cari=mysql_query($hitung);
echo "<form method=POST enctype='multipart/form-data' action=$aksi?module=protein&act=kembali>";
echo "<input type=hidden name=id value=$r[id_protein]>"; echo "<table>
<tr><th>No</th><th>Merk
Susu</th><th>Protein</th><th>$_POST[variabel]</th>"; echo "</tr> ";
$no=1;
while ($h=mysql_fetch_array($cari)){ echo "<tr><td>$no</td>
<td>$h[nama]</td> <td>$h[protein]</td> <td>";
/*...AGAK RENDAH SEGITIGA...*/
// Hitung variabel agak rendah dengan fungsi keanggotaan segitiga jika nilai a lebih kecil atau sama dengan nilai protein dan
// nilai protein lebih kecil atau sama dengan nilai b
elseif($_POST[variabel]=='Agak Rendah' && $_POST[fungsi]=='Segitiga' && $_POST[a]<=$h[protein] && $h[protein]<=$_POST[b]){
$segitiga1 = ($h[protein]-$_POST[a])/($_POST[b]-$_POST[a]); echo "$segitiga1";
mysql_query("UPDATE kriteria_gizi set pro_AR = $segitiga1 where
nama='$h[nama]'");
}
// Hitung variabel agak rendah dengan fungsi keanggotaan segitiga jika nilai b lebih kecil atau sama dengan nilai protein
// dan nilai protein lebih kecil atau sama dengan nilai c
elseif($_POST[variabel]=='Agak Rendah' && $_POST[fungsi]=='Segitiga' && $_POST[b]<=$h[protein] && $h[protein]<=$_POST[c]){
$segitiga2 = ($_POST[c]-$h[protein])/($_POST[c]-$_POST[b]); echo "$segitiga2";
mysql_query("UPDATE kriteria_gizi set pro_AR = $segitiga2 where
nama='$h[nama]'");
}
// Hitung variabel Agak Rendah dengan fungsi Keanggotaan Segitiga jika nilai protein lebih kecil atau sama dengan nilai a
echo "0";
mysql_query("UPDATE kriteria_gizi set pro_AR = 0 where nama='$h[nama]'"); }
// Hitung variabel Agak Rendah dengan fungsi Keanggotaan Segitiga jika nilai protein lebih besar atau sama dengan nilai c
elseif($_POST[variabel]=='Agak Rendah' && $_POST[fungsi]=='Segitiga' && $h[protein]>=$_POST[c]){
echo "0";
mysql_query("UPDATE kriteria_gizi set pro_AR = 0 where nama='$h[nama]'"); }
echo "</table><br><input type=submit value=Kembali></form>"; }
echo "</div>";
Setelah masing-masing variabel diketahui nilai derajat keanggotaannya, kemudian akan disimpan ke dalam database. Dan akan ditampilkan pada setiap sub-menu pada masing-masing variabel. Sebagai contoh data derajat keanggotaan untuk variabel protein dapat dilihat pada potongan program di bawah ini.
... ... ... ... ... //Tampil Hasil Perhitungan Kabur
$tampil = "SELECT * FROM kriteria_gizi ORDER BY nama"; $hasil = mysql_query($tampil);
echo "<br>"; echo "<table>
<tr><th colspan=8>Hasil Perhitungan Kabur</th></tr>
<tr><th rowspan=2>No</th><th rowspan=2>Merk Susu</th><th rowspan=2>Protein</th>
<th colspan=5>Derajat Keanggotaan</th></tr>
<tr><th>Rendah</th> <th>Agak Rendah</th> <th>Sedang</th><th>Agak Tinggi</th><th>Tinggi</th></tr>";
while ($t=mysql_fetch_array($hasil)){ echo "<tr><td>$no</td>
<td>$t[nama]</a></td> <td>$t[protein]</td> <td>$t[pro_R]</td> <td>$t[pro_AR]</td> <td>$t[pro_S]</td> <td>$t[pro_AT]</td> <td>$t[pro_T]</td> </tr>";
Setelah setelah derajat keanggotaan tersimpan, maka dapat dilakukan pencarian susu sesuai dengan kriteria gizi yang dipilih. Setelah kriteria gizi dipilih maka akan ditampilkan hasil rekomendasi susu formula sesuai pilihan. Karena menggunakan operator AND maka nilai fire strength dari hasil rekomendasi susu formula menggunakan perbandingan minimum.
Untuk memperoleh prioritas susu formula yang tertinggi sampai yang terendah, maka nilai fire strength yang terbentuk harus diurutkan dari yang terbesar sampai yang terkecil.
Berikut potongan program untuk pencarian hasil rekomendasi susu
formula dengan jenis susu ”Formula Lanjutan” yang mempunyai protein TINGGI
dan karbohidrat RENDAH :
...
echo "<div align=center>";
$hasil = mysql_query("select id_kriteria, nama, $_GET[query1] , $_GET[query2] , LEAST($_GET[query1], $_GET[query2]) as 'hasil'
from kriteria_gizi where jenis_susu
='$_GET[jenis]'
order by hasil desc"); $ketemu=mysql_num_rows($hasil);
// Jika tidak ada hasil yang ditemukan if($ketemu==0){
echo "<br><img src='images/seru.png'><br>";
echo "Maaf tidak ada hasil rekomendasi untuk pemilihan <b>Susu $_GET[jenis]</b> <br>Berdasarkan <b>";
require_once "tampilan_query1_1.txt"; echo "</b>dan <b>";
require_once "tampilan_query2_1.txt";
echo " </b><br> Silahkan mengulangi dengan pilihan lain.
<br><br><a href=media.php?module=kabur><img src='images/copy.png' height='50'></a>";
}
// Jika hasil ditemukan else{
echo "<h2>Hasil Rekomendasi <b>Susu Formula</b> dengan jenis susu <b>$_GET[jenis]</b> Berdasarkan ";
require_once "tampilan_query1_1.txt"; echo "dan ";
require_once "tampilan_query2_1.txt"; echo "</h2>";
echo " <table>
<tr><th colspan=10>Hasil Rekomendasi</th></tr> <tr><th rowspan=2>No</th><th rowspan=2>Merk Susu</th> <th colspan=8>Derajat Keanggotaan</th></tr>
<tr> <th> ";
require_once "tampilan_query1.txt"; echo "</th>
<th> ";
require_once "tampilan_query2.txt"; echo "</th>
<th>FIRE STRENGHT</th> </tr>";
while ($t=mysql_fetch_array($hasil)){ echo "<tr><td>$no</td>
<td><a
href=media.php?module=kabur2&act=detailsusu&id=$t[id_kriteria] >$t[nama]</a></td><td>";
echo round($t[2],3); echo "</td><td>"; echo round($t[3],3); echo "</td><td>";
echo round($t[hasil],3);
echo "</td>
</tr>"; $no++;
}
echo "</table>";
echo "<br><a href=media.php?module=kabur><img src='images/copy.png' height='50'></a>";
} echo "</div>"; break;
... ... ... ...
4.2. Implementasi Basis Data dengan Model Tahani
Langkah pertama yang dilakukan dalam pembuatan sistem ini adalah membuat database terlebih dahulu. Database pada sistem ini bernama
dbsusu_formula yang dibuat menggunakan MySQL.
Kemudian membuat tabel-tabel yang diperlukan sistem ke dalam database