15
BAB III
ANALISA DAN PERANCANGAN SISTEM
Sebelum membangun sebuah program perangkat lunak, dilakukan suatu analisa dan perancangan sistem yang akan diterapkan pada perangkat lunak tersebut. Sehingga pada saat pembuatan perangkat lunak tersebut akan semakin cepat dan terstruktur rapi, karena di dalam perancangan akan dibahas tentang persiapan pembuatan perangkat lunak dan menyiapkan kebutuhan untuk sistem yang akan dibangun sesuai dengan metode pengembangan perangkat lunak yang digunakan, termasuk menganalisa kebutuhan-kebutuhan yang ada.
3.1 Analisa Sistem
Analisa sistem meliputi analisa persyaratan sistem, analisa kebutuhan sistem, analisa metode fuzzy, juga disertai dengan pengumpulan data serta pengetahuan yang diperlukan untuk membangun sistem diet seimbang.
Sistem diet seimbang diterapkan untuk mendukung aktivitas pemecahan masalah. Sistem diet seimbang yang dirancang sebagai perangkat lunak ini disebut rancang bangun aplikasi diet seimbang dengan metode fuzzy logic, bertujuan untuk membantu user mengontrol asupan gizi ang masuk kedalam tubuh melalui makanan yang dimakan oleh user tersebut.
3.1.1. Analisa Permasalahan
Kurangnya akan pengetahuan yang cukup dalam penanganan asupan gizi secara umum dialami oleh semua masyarakat awam.
Hal ini mengakibatkan sebagian masyarakat umum tidak dapat mengetahui apakah mereka sudah mendapatkan asupaan gizi yang sesuai dengan kebutuhan mereka. Sehingga banyak sekali masyarakat yang gampang terkena penyakit dikarenakan asupan gizi yang tidak sesuai, atau bahkan harus repot ke ahli gizi untuk mengontrol asupan gizinya.
Dalam hal komunikasi pun sering terjadi kesulitan antara masyarakat dengan pakar/dokter. Kebanyakan disebabkan oleh kurangnya pengetahuan mengenai nilai gizi yang terdapat pada setiap makanan yang dimakan, sehingga
16 mengalami kesulitan dalam mengatur gizi yang sesuai dengan kebutuhan masing-masing orang.
3.1.2. Sumber Informasi
Data mengenai nilai gizi, pengkalsifikasian diet berdasarkan nilai gizi dan informasi mengenai makanan dan saran untuk user didapat dari seorang pakar yang memberikan bimbingan dan pengarahan.
3.1.3. Identifikasi Masalah
Langkah pertama dalam pembangunan sistem ini adalah mengidentifikasi permasalahan yang akan di kaji, dalam hal ini dengan mengklasifikasikan diet berdasarkan makanan ang dimakan oleh user, adapun masalah – masalah yang akan diambil dalam pembangunan sistem diet seimbang ini adalah makanan – makanan yang dimakan oleh user yang ingin mengatur diet seimbang.
3.1.4. Konseptualisasi
Identifikasi nilai gizi yang dibutuhkan untuk setiap orang membutuhkan pengalaman dan pengetahuan yang cermat. Oleh karena itu diperoleh suatu konsep untuk mengembangkan sistem diet ini, yaitu proses identifikasi jenis diet yang cocok untuk digunakan user. Dimana dapat dilakukan dengan memperhatikan nilai gizi tiap makanan yang dimakan oleh user.
3.1.5. Representasi Pengetahuan
Sistem perhitungan yang akan dibuat adalah sistem perhitungan rata-rata. Pengetahuan direpresentasikan dengan menggunakan aturan IF-THEN. Sistem perhitungan bekerja untuk mendapatkan hasil diet yang cocok berdasarkan makanan yang dikonsumsi. Representasi pengetahuan yang digunakan yaitu tabel makanan dan tabel jenis diet.
a. Tabel makan
Tabel makanan adalah tabel yang berisikan makanan dan kode makanan. Untuk lebih jelasnya bisa dilihat pada tabel 3.1.
17 Tabel 3.1 Makanan
Kode Makanan
Nama Makanan Kode
Makanan
Nama Makanan
M01 Nasi M26 Buah pisang
M02 Daging ayam M27 Buah apel
M03 Daging sapi M28 Buah semangka
M04 Daging kambing M29 Buah jeruk
M05 Daging kelinci M30 Buah papaya
M06 Ikan laut M31 Buah nangka
M07 Ikan lele M32 Buah jambu
M08 Belut M33 Buah melon
M09 Tahu M34 Buah nanas
M10 Tempe M35 Buah bengkuang
M11 Jeroan M36 Buah mangga
M12 Sup ayam M37 Teh tawar
M13 Sup sapi M38 Teh manis
M14 Sup kambing M39 Teh susu
M15 Telur ayam M40 Susu vanilla
M16 Telur puyuh M41 Susu cokelat
M17 Telur bebek M42 Kopi hitam
M18 Bayam M43 Kopi susu
M19 Kangkung M44 Jamur
M20 Toge M45 Ketimun
M21 Wortel M46 Selada air
M22 Buncis M47 Cabai merah
M23 Kacang panjang M48 Cabai hijau
M24 Brokoli M49 Tomat
M25 Sawi M50 Bawang
b. Tabel jenis Diet
Tabel jenis Diet adalah tabel yang berisikan jenis Diet dan kode jenis Diet yang digunakan oleh user. Untuk lebih jelasnya bisa dilihat pada tabel 3.2.
18 Tabel 3.2 Jenis Diet
Kode Diet Jenis Diet
D1 Diet Seimbang
D2 Diet Tidak Seimbang
D3 Overnutrisi
D4 Malnutrisi
3.2 Perancangan
3.2.1. Proses Pengolahan Data
Dalam pengolahan data ini dibutuhkan sebuah variabel yang digunakan sebagai input. Variabel yang digunakan adalah nilai kalori, karbohidrat, protein dan lemak berikut penjelasan integrasi fuzzy dengan keempat variabel tersebut sehingga menghasilkan klasifikasi yang sesui dengan tujuan penelitian. Rancangan integrasi disajikan dalam gambar.
START
Parameter (Kalori, Karbohidrat,
Protein & Lemak)
Fungsi Keanggotaan
END Fuzzifikasi
Rule Base System
Defuzifikasi
Hasil Diagnosa
Gambar 3.1 Integrasi Fuzzy Dengan Nilai Kalori, Karbohidrat, Protein, lemak dan Diagnosa Diet
19 Variabel parameter penelitian yang digunakan antara lain sebagai berikut
K = Kalori (Kurang, Ideal, dan Lebih) Ka = Karbohidrat (Kurang, Ideal, dan Lebih) P = Protein (Kurang, Ideal, Lebih)
L = Lemak (Kurang, Ideal, Lebih)
H = Hasil Fuzzy (Malnutrisi, Overnutrisi, Tidak Seimbang, Seimbang
Variabel K, Ka, P, dan L adalah variabel yang diproses dengan logika fuzzy dan menghasilkan nilai keluaran fuzzy H. Pada penelitian ini, parameter Kalori, Karbohidrat, Protein dan Lemak yang dihasilkan berbentuk tegas/nyata (crisp). Fuzzifikasi diperlukan untuk mengubah masukan tegas/nyata (crisp input) yang bersifat bukan fuzzy kedalam himpunan fuzzy menjadi nilai fuzzy dalam interval antara 0 dan 1 (Sutejo, dkk., 2011)
Setelah proses fuzzifikasi, langkah selanjutnya adalah pembentukan rule base system. Empat parameter K, Ka, P,dan L dengan 3 fungsi, sehingga terdapat 81 basis pengetahuan (rule base system). Tiap-tiap rule selalu berhubungan dengan relasi fuzzy. Selanjutnya proses pencarian nilai output fuzzy dengan menggunakan fungsi MIN metode Sugeno. Fungsi MIN ini digunakan untuk mendapatkan nilai α predikat hasil implikasi dengan cara memotong output himpunan fuzzy sesuai dengan derajat keanggotaan terkecil.
Penerapan fuzzy ke dalam hasil diagnosa klasifikasi memerlukan bobot konstanta tegas, maka dari itu digunakanlah defuzzifikasi model Sugeno. Dalam metode Sugeno, output fuzzy berupa persamaan linear dengan rumus weight average. Rumus weight average adalah
20 Dimana:
W = weight average
Z = fuzzy output tiap-tiap rule predikat = nilai MIN pada tiap-tiap rule
predikat di dapatkan dari fungsi MIN pada tiap-tiap rule. Kemudian masing-masing nilai predikat digunakan untuk menghitung keluaran hasil masing-masing rule (sutejo, dkk.,2011).
3.3. Data Penelitian
Pada penelitian ini data yang diambil langsung dari ali gizi berupa rumus perhitungan kandungan gizi. Untuk menghitung kalori yang dibutuhkan tiap orang dalam sehari menggunakan rumus :
Laki-laki:
Kebutuhan Energi= ((22,5 x (Tinggi Badan dalam m)2) x 30) + Faktor aktifitas - Faktor koreksi umur
Perempuan:
Kebutuhan Energi= ((21 x (Tinggi Badan dalam m)2) x 25) + Faktor aktifitas - Faktor koreksi umur
Untuk nilai kalori yang ideal untuk dikonsumsi dalam sehari adalah 90%-119% dari total kalori tiap orang. Lalu setelah ketemu kalori yang dibutuhkan dalam sehari, dapat dicari kadar gizi ideal yang harus dikonsumsi, seperti Karbohidrat, Protein serta Lemak. Untuk perhitungan Karbohidrat ideal di dapat dari 50%-65% total kalori, Protein ideal didapat dari 10%-20% total kalori, sementara Lemak ideal didapat dari 20%-30% total kalori.
3.3.1. Fungsi Keanggotaan Kalori
Pada keanggotaan kalori terdapat 3 himpunan yaitu KURANG, IDEAL, LEBIH. Nilai maksimal yang dimiliki himpunan KURANG adalah 90, himpunan IDEAL adalah 90-119 dan himpunan LEBIH 119.
21 Himpunan Fuzzy KURANG memiliki domain [0, 90], dengan derajat keanggotaan KURANG tertinggi (=1) terletak pada 90.
Himpunan Fuzzy IDEAL memiliki domain [90-119], dengan derajat keanggotaan IDEAL tertinggi (=1) terletak pada 90-119.
Himpunan Fuzzy LEBIH memiliki domain [119, 209], dengan derajat keanggotaan LEBIH tertinggi (=1) terletak pada 119. Untuk lebih jelasnya dapat dilihat pada gambar 3.2.
Gambar 3.2 Keanggotaan Kalori
µ Kurang (N) =
µ IDEAL (N) =
µ Lebih (N) =
3.3.2. Fungsi Keanggotaan Karbohidrat
Pada keanggotaan karbohidrat terdapat 3 himpunan yaitu KURANG, IDEAL, LEBIH. Nilai maksimal yang dimiliki himpunan KURANG adalah 50, himpunan IDEAL adalah 50-65 dan himpunan LEBIH 65.
Himpunan Fuzzy KURANG memiliki domain [0, 50], dengan derajat keanggotaan KURANG tertinggi (=1) terletak pada 50.
Himpunan Fuzzy IDEAL memiliki domain [50-65], dengan derajat keanggotaan IDEAL tertinggi (=1) terletak pada 50-65.
1 0 90 119 209 Kurang Ideal Lebih
22 Himpunan Fuzzy LEBIH memiliki domain [65, 115], dengan derajat keanggotaan LEBIH tertinggi (=1) terletak pada 65. Untuk lebih jelasnya dapat dilihat pada gambar 3.3.
Gambar 3.3 Keanggotaan Karbohidrat
µ Kurang (N) =
µ IDEAL (N) = µ Lebih (N) =
3.3.3. Fungsi Keanggotaan Protein
Pada keanggotaan protein terdapat 3 himpunan yaitu KURANG, IDEAL, LEBIH. Nilai maksimal yang dimiliki himpunan KURANG adalah 10, himpunan IDEAL adalah 10-20 dan himpunan LEBIH 20.
Himpunan Fuzzy KURANG memiliki domain [0, 10], dengan derajat keanggotaan KURANG tertinggi (=1) terletak pada 10.
Himpunan Fuzzy IDEAL memiliki domain [10-20], dengan derajat keanggotaan IDEAL tertinggi (=1) terletak pada 10-20.
Himpunan Fuzzy LEBIH memiliki domain [20, 30], dengan derajat keanggotaan LEBIH tertinggi (=1) terletak pada 20. Untuk lebih jelasnya dapat dilihat pada gambar 3.4.
1 0 50 65 115 Kurang Ideal Lebih
23 Gambar 3.4 Keanggotaan Protein
µ Kurang (N) =
µ IDEAL (N) =
µ Lebih (N) =
3.3.4. Fungsi Keanggotaan Lemak
Pada keanggotaan lemak terdapat 3 himpunan yaitu KURANG, IDEAL, LEBIH. Nilai maksimal yang dimiliki himpunan KURANG adalah 20, himpunan IDEAL adalah 20-30 dan himpunan LEBIH 30.
Himpunan Fuzzy KURANG memiliki domain [0, 20], dengan derajat keanggotaan KURANG tertinggi (=1) terletak pada 20.
Himpunan Fuzzy IDEAL memiliki domain [20-30], dengan derajat keanggotaan IDEAL tertinggi (=1) terletak pada 20-30.
Himpunan Fuzzy LEBIH memiliki domain [30, 50], dengan derajat keanggotaan LEBIH tertinggi (=1) terletak pada 30. Untuk lebih jelasnya dapat dilihat pada gambar 3.5.
Gambar 3.5 Keanggotaan Lemak
1 0 10 20 30 Kurang Ideal Lebih 1 0 20 30 50 Kurang Ideal Lebih
24 µ Kurang (N)=
µ IDEAL (N)=
µ Lebih(N)=
3.4. Rule Base System
Setelah proses pembuatan fungsi keanggotaan, dilakukan pembuatan rule base system. Sebelum membuat rule base system tentukan dulu nilai diagram fuzzy output (H).Diagram Fuzzy output disajikan dalam Gambar 3.6 Menurut penelitian Girona (2013), diagram output fuzzy sugeno nilainya ditentukan secara manual dengan nilai range 0 sampai dengan 100. Tetapi pembuatan output fuzzy pada penelitian ini menggunakan range yang telah disesuikan dengan fungsi keanggotaan menjadi
Gambar 3.6 Diagram Fuzzy Output (H)
Langkah selanjutnya pembentukan rule base System. Rule base system didapatkan dari keempat parameter masing-masing memiliki keempat variabel parameter. Sedangkan untuk fungsi implikasi, fungsi yang digunakan adalah fungsi AND. Sehingg didapatkan rule base sistem tersaji dalam tabel 3.3, setelah itu dilakukan defuzzifikasi dengan proses weighted average.
25 Tabel 3.3 Rule Base System
IF Kalori Karbohidrat Protein Lemak Output R1 Kurang Kurang Kurang Kurang Malnutrisi R2 Ideal Kurang Kurang Kurang Tidak Seimbang R3 Lebih Kurang Kurang Kurang Overnutrisi R4 Kurang Ideal Kurang Kurang Malnutrisi R5 Ideal Ideal Kurang Kurang Tidak Seimbang R6 Lebih Ideal Kurang Kurang Overnutrisi R7 Kurang Lebih Kurang Kurang Malnutrisi R8 Ideal Lebih Kurang Kurang Tidak Seimbang R9 Lebih Lebih Kurang Kurang Overnutrisi R10 Kurang Kurang Ideal Kurang Malnutrisi R11 Ideal Kurang Ideal Kurang Tidak Seimbang R12 Lebih Kurang Ideal Kurang Overnutrisi R13 Kurang Ideal Ideal Kurang Malnutrisi R14 Ideal Ideal Ideal Kurang Tidak Seimbang R15 Lebih Ideal Ideal Kurang Overnutrisi R16 Kurang Lebih Ideal Kurang Malnutrisi R17 Ideal Lebih Ideal Kurang Tidak Seimbang R18 Lebih Lebih Ideal Kurang Overnutrisi R19 Kurang Kurang Lebih Kurang Malnutrisi
R20 Ideal Kurang Lebih Kurang Tidaak Seimbang R21 Lebih Kurang Lebih Kurang Overnutrisi
26 R22 Kurang Ideal Lebih Kurang Malnutrisi
R23 Ideal Ideal Lebih Kurang Tidak Seimbang R24 Lebih Ideal Lebih Kurang Overnutrisi R25 Kurang Lebih Lebih Kurang Malnutrisi R26 Ideal Lebih Lebih Kurang Tidak seimbang R27 Lebih Lebih Lebih Kurang Overnutrisi R28 Kurang Kurang Kurang Ideal Malnutrisi R29 Ideal Kurang Kurang Ideal Tidak Seimbang R30 Lebih Kurang Kurang Ideal Overnutrisi R31 Kurang Ideal Kurang Ideal Malnutrisi R32 Ideal Ideal Kurang Ideal Tidak Seimbang R33 Lebih Ideal Kurang Ideal Overnutrisi R34 Kurang Lebih Kurang Ideal Malnutrisi R35 Ideal Lebih Kurang Ideal Tidak Seimbang R36 Lebih Lebih Kurang Ideal Overnutrisi R37 Kurang Kurang Ideal Ideal Malnutrisi R38 Ideal Kurang Ideal Ideal Tidak Seimbang R39 Lebih Kurang Ideal Ideal Overnutrisi R40 Kurang Ideal Ideal Ideal Malnutrisi
R41 Ideal Ideal Ideal Ideal Seimbang
R42 Lebih Ideal Ideal Ideal Overnutrisi R43 Kurang Lebih Ideal Ideal Malnutrisi
27 R44 Ideal Lebih Ideal Ideal Tidak Seimbang R45 Lebih Lebih Ideal Ideal Overnutrisi R46 Kurang Kurang Lebih Ideal Malnutrisi R47 Ideal Kurang Lebih Ideal Tidak Seimbang R48 Lebih Kurang Lebih Ideal Overnutrisi R49 Kurang Ideal Lebih Ideal Malnutrisi R50 Ideal Ideal Lebih Ideal Tidak Seimbang R51 Lebih Ideal Lebih Ideal Overnutrisi R52 Kurang Lebih Lebih Ideal Malnutrisi R53 Ideal Lebih Lebih Ideal Tidak Seimbang R54 Lebih Lebih Lebih Ideal Overnutrisi R55 Kurang Kurang Kurang Lebih Malnutrisi R56 Ideal Kurang Kurang Lebih Tidak Seimbang R57 Lebih Kurang Kurang Lebih Overnutrisi R58 Kurang Ideal Kurang Lebih Malnutrisi R59 Ideal Ideal Kurang Lebih Tidak Seimbang R60 Lebih Ideal Kurang Lebih Overnutrisi R61 Kurang Lebih Kurang Lebih Malnutrisi R62 Ideal Lebih Kurang Lebih Tidak Seimbang R63 Lebih Lebih Kurang Lebih Overnutrisi R64 Kurang Kurang Ideal Lebih Malnutrisi R65 Ideal Kurang Ideal Lebih Tidak Seimbang
28 R66 Lebih Kurang Ideal Lebih Overnutrisi
R67 Kurang Ideal Ideal Lebih Malnutrisi R68 Ideal Ideal Ideal Lebih TIdak Seimbang R69 Lebih Ideal Ideal Lebih Overnutrisi R70 Kurang Lebih Ideal Lebih Malnutrisi R71 Ideal Lebih Ideal Lebih Tidak Seimbang R72 Lebih Lebih Ideal Lebih Overnutrisi R73 Kurang Kurang Lebih Lebih Malnutrisi R74 Ideal Kurang Lebih Lebih Tidak Seimbang R75 Lebih Kurang Lebih Lebih Overnutrisi R76 Kurang Ideal Lebih Lebih Malnutrisi R77 Ideal Ideal Lebih Lebih Tidak Seimbang R78 Lebih Ideal Lebih Lebih Overnutrisi R79 Kurang Lebih Lebih Lebih Malnutrisi R80 Ideal Lebih Lebih Lebih Tidak Seimbang R81 Lebih Lebih Lebih Lebih Overnutrisi
3.5 Perancangan Tabel
Tabel merupakan tempat penyimpanan informasi dari sebuah aliran data dalam sebuah sistem. Berikut ini merupakan struktur dari beberapa tabel sistem yang akan dibangun.
1. Tabel Makanan
Tabel ini berfungsi untuk menyimpan data nama makanan sebagai bahan yang diajukan untuk konsultasi user.
29 Tabel 3.4 Tabel Makanan
No Field Type Size Keterangan
1 Id-makanan Int - Primary key
2 Nama-makanan
Varchhar 300 Notnull
2. Tabel jenis diet
Tabel ini berfungsi untuk menyimpan data jenis diet yang digunakan user. Tabel 3.5 Tabel jenis diet
No Field Type Size Keterangan
1 Id-jenis Int - Primary key
2 Nama-jenis Varchhar 300 Notnull
3. Tabel hasil identifikasi
Tabel ini berfungsi sebagai laporan atas konsultasi yang telah dilakukan. Berupa tampilan hasil konsultasi.
Tabel 3.6 Tabel hasil identifikasi
No Field Type Size Keterangan
1 Id-konsul Int - Autoincrement,
Primary key
2 Id-jenisdiet Int - Foreing key reference
tabel jenis diet 3 Saran-akhir Varchar 300 Notnull
4 Nama Varchar 300 Notnull
4. Tabel relasi
Tabel ini berfungsi untuk menghubungkan tabel makanan dengan tabel jenis diet berupa aturan produksi pada proses sistem aplikasi diet seimbang.
30 Tabel 3.7 Tabel relasi
No Field Type Size Keterangan
1 Id-makakan Int - Foreing key tabel
makanan
2 Id-jenisdiet Int - Foreing key tabel
jenis diet
3 Rataan Int Notnull
5. Tabel diagnosa
Tabel ini berisi kode jenis diet dan kode makanan yang bersangkutan hanya ketika user melakukan konsultasi.
Tabel 3.8 Tabel diagnosa
No Field Type Size Keterangan
1 Id-makanan Int - Foreing key tabel
makanan
2 Id-jenisdiet Int - Foreing key tabel
jenis diet
3.6 Perancangan Desain Antar Muka
Perancangan desain antar muka ini bertujuan untuk memberikan gambaran tentang aplikasi yang akan dibangun, sehingga dapat mempermudah untuk mengimplementasikan aplikasi serta akan memudahkan pembangunan aplikasi yang memenuhi prinsip perancangan antarmuka yang baik.
Perancangan ditunjukan untuk mempermudah user dalam menggunakan aplikasi ini. Perancangan aplikasi diet seimbang yang akan dibangun adalah sebagai berikut:
31 1. Tampilan perancangan muka halaman utama user.
Pada halaman ini user dapat menemukan pilihan dalam mengakses data makanan serta aplikasi diet . Untuk lebih jelasnya bisa dilihat pada gambar 3.7 :
Gambar 3.7 Halaman Utama User
2. Tampilan perancangan muka halaman konsultasi pada user.
Pada menu ini user dapat melakukan konsultasi dengan menginputkan nama, umur, berat, tinggi, dan jenis kelamin. Untuk lebih jelasnya bisa dilihat pada gambar 3.8:
Gambar 3.8 Halaman Konsultasi User
3. Tampilan perancangan muka halaman detail makanan
Pada menu ini user dapat melihat informasi dari tiap makanan yang tersedia. Untuk lebih jelasnya bisa dilihat pada gambar 3.9 :
32 Gambar 3.9 Halaman Detail Makanan
4. Tampilan perancangan muka halaman tambah makanan
Pada menu ini user dapa menambahkan makanan yang belum terdaftar di aplikasi ini. Untuk lebih jelasnya bisa dilihat pada gambar 3.10 :
Gambar 3.10 Halaman Tambah Makanan
5. Tampilan perancangan muka Kebutuhan gizi ideal user.
Pada menu ini user dapat melihat gizi ideal yang dibutuhkan user. Untuk lebih jelasnya bisa dilihat pada gambar 3.11:
33 Gambar 3.11 Halaman kebutuhan gizi ideal User
6. Tampilan perancangan muka halaman inputan makanan.
Pada menu ini user dapat melihat daftar inputan makanan, maka sistem akan menampilkan tampilan seperti gambar 3.12:
Gambar 3.12 Halaman inputan makanan
7. Tampilan perancangan muka halaman Hasil dan kesimpulan.
Pada menu ini, user akan mendapatkan hasil akhir dari konsultasi . Untuk lebih jelasnya bisa dilihat pada gambar 3.13:
34 Gambar 3.13 Halaman Hasil dan kesimpulan