BAB III ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Masalah Tahap analisis masalah akan memberikan data dan opini atas permasalahan yang dibidik dan dicarikan solusinya. Pada tahap ini kita melibatkan beberapa stakeholder (pihak terkait) dalam menentukan tingkat kompleksitas masalah. Pada penelitian ini bidikan masalah difokuskan pada proses mengetahui kalori dan nutrisi pada makanan dan menghitung berat ideal manusia berbasis mobile. Aplikasi yang dibutuhkan adalah aplikasi mobile programming yang mampu menggantikan tugas seorang ahli. 3.2 Analisis Kebutuhan Sistem Tahap analisis sistem merupakan salah satu usaha mengidentifikasi kebutuhan dan spesifikasi sistem yang akan diciptakan. Di dalamnya akan dijabarkan apa saja entitas yang dilibatkan, proses yang dijalankan, serta output yang dihasilkan. Berdasarkan analisis masalah yang dijabarkan diatas, makan aplikasi yang dibuat adalah aplikasi mengetahui kalori dan nutrisi makanan untuk tubuh manusia berbasis mobile (android) dengan spesifikasi sistem sebagai berikut: 1. Sistem yang akan digunakan berbasis mobile programming dengan platform android. 2. Sistem menyediakan data makanan serta kandungan kalori dan nutrisinya 3. Sistem menyediakan menghitung berat badan ideal seseorang 4. Sistem memberikan informasi hasil berdasarkan data yang di input oleh user. Berupa jenis makanan beserta nutrisi dan kalorinya yang dapat membantu user jalani pola hidup sehat dan memberikan informasi bahaya atau tidaknya sebuah makanan yang dilihat dari besar kalorinya 39 http://digilib.mercubuana.ac.id/
40
3.3 Analisis Kebutuhan Sistem Menggunakan Fuzzy Logic 1. Mencari derajat keanggotaan masing– masing himpunan pada tiap variabel. a. Variabel Umur
Gambar 3.0 Variabel Umur Himpunan Fuzzy Variabel umur µMuda[55] Linier Turun
= 0; 25 < x < 40
µParobaya [55] Linier Naik
= 0; 35 < x < 40
Linier Turun
= (c – x ) / (c – b) 40 < x < 60 = (60-55) / (60-40) = 5 / 20
Linier Turun
= 0.25;
µTua [55] Linier Naik
= (x – a) / (b – a) 55 < x < 60 = (55 – 55) / (60 – 55) =0/5
http://digilib.mercubuana.ac.id/
41
Linier Naik
= 0;
Linier Turun
= 0; 0 < x < 70
µSangatTua [55] Linier Naik
= 0; 65 < x < 70
b. Variabel Berat Badan Berat badan ideal dihitung dengan menggunakan rumus Indeks Massa Tubuh (IMT), (Almatsier, 2009:148): IMT=BB/ TB2(m) (BB= Berat Badan, TB = Tinggi Badan) Dimana: Sangat kurus
= <17,0
Kurus
= 17,0 – 18,5
Normal
= 18,5 – 25,0
Gemuk
= 25,0 – 27,0
Sangat Gemuk
= > 27,0
Untuk menentukan kalori berdasarkan IMT adalah Kalori = Berat Badan * Jenis Kelamin Himpunan Fuzzy Variabel Berat Badan
Gambar 3.1 Variabel Berat Badan
http://digilib.mercubuana.ac.id/
42
IMT
= BB / TB2 (Kg/m)
IMT
= 53 / 1,672 = 53 / 2,7889 = 19,00
µSangatKurus [19,00] Linier Turun
= 0;16,5 < x < 17
µKurus [19,00] Linier Naik
= 0;16,5 < x < 17
Bahu
= 0;17
< x < 18
Linier Turun
= 0;18
< x <18,5
Linier Naik
= 0;18
< x < 18,5
Bahu
= 1;18,5 < x < 24,5
Linier Turun
= 0;24,5 < x < 25
µNormal [19,00]
µGemuk [19,00] Linier Naik
= 0;24,5 < x < 25
Bahu
= 0;25
Linier Turun
= 0; 26,5 < x < 27
< x < 26,5
µSangatGemuk [19,00] Linier Naik
= 0; 26,5 < x < 27
http://digilib.mercubuana.ac.id/
43
c. Variabel Aktifitas Himpunan Fuzzy Variabel Aktivitas
Gambar 3.2 Variabel Aktifitas Dagang/Jualan/toko memiliki nilai 4 dengan katagori aktifitas Ringan. µIstirahat [4] Linier Turun
= 0; 2 < x < 4
µRingan [4] Linier naik
= (x – a) / (b – a) 3<x<4 = (4 – 3) / (4 – 3) =1/1 = 1;
Linier Turun
= (c – x) / (c – b) 4<x<5 = (5 – 4) / (5 – 4) =1/1 = 1;
µSedang[4] Linier Naik
= 0; 4 < x < 6
http://digilib.mercubuana.ac.id/
44
Linier Turun
= 0; 6 < x < 8
µBerat[4] Linier Naik
= 0; 7 < x < 8
Linier Turun
= 0; 8 < x < 9
µSangatBerat [4] Linier Naik
= 0; 8 < x < 10
2. Mencari nilai min pada Aplikasi Fungsi Implikasi (Aturan) Jenis Kelamin = Laki – laki. Semua Aturan untuk jenis kelamin laki – laki akan dieksekusi, dalam perhitungan secara manual ini aturan yang mendekati dengan derajat keanggotaan yang akan diambil. a. If JK laki – laki AND BB Normal AND AktifitasIstirahat AND UmurParobaya Then Kalori Sedang. b. If JK laki – laki AND BB Normal AND AktifitasIstirahat AND UmurTua Then Kalori Sedang. c. If JK laki – laki AND BB Normal AND AktifitasRingan AND UmurParobaya Then Kalori Sedang. d. If JK laki – laki AND BB Normal AND AktifitasRingan AND UmurTua Then Kalori Sedang. e. If JK laki – laki AND BB Normal AND AktifitasSedang AND UmurParobaya Then Kalori Sedang. f. If JK laki – laki AND BB Normal AND AktifitasSedang AND UmurTua Then Kalori Sedang. 3. Mencari nilai α-predikat min dengan menggunakan aturan diatas. α-predikat1
= µJK[1] ∩ µNormal[19,00] ∩
http://digilib.mercubuana.ac.id/
45
µIstirahat[4] ∩ µParobaya[55] = min(1; 1; 0; 0,25) = 0; α-predikat2
= µJK[1] ∩
µNormal[19,00] ∩ µIstirahat[4] ∩ µTua[55] = min(1; 1; 0; 0) = 0; α-predikat3
= µJK[1] ∩
µNormal[19,00] ∩ µRingan[4] ∩ µParobaya[55] = min(1; 1; 1; 0,25) = 0,25; α-predikat4
= µJK[1] ∩ µNormal[19,00]
∩ µRingan[4] ∩ µTua[55] = min(1; 1; 1; 0) = 0; α-predikat5
= µJK[1] ∩ µNormal[19,00]
∩ µRingan[4] ∩ µParobaya[55] = min(1; 1; 1; 0,25) = 0,25; α-predikat6
= µJK[1] ∩µNormal[19,00]
http://digilib.mercubuana.ac.id/
46
∩ µRingan[4] ∩µTua[55] = min(1; 1; 1; 0) = 0; 4. Mencari derajat keanggotaan masing – masing himpunan pada tiap variabel.
Gambar 3.3 Variabel Umur a. Variabel Umur µMuda[55] Linier Turun
= (b – x) / (b – a) 25 < x < 40 = (40 – 30) / (40 – 25) = 10 / 15
Linier Turun = 0,66; µParobaya [55] Linier Naik = 0; 35 < x < 40 Linier Turun = 0; 0 < x < 60 µTua [55] Linier Naik
= 0; 55 < x < 60
Linier Turun = 0; 60 < x < 70
http://digilib.mercubuana.ac.id/
47
µSangatTua [55] Linier Naik
= 0; 65 < x < 70
b. Variabel Berat Badan
Gambar 3.4 Variabel Berat Badan
IMT
= BB / TB2 (Kg/m)
IMT
= 80 / 1,652 = 53 / 2,7225 = 29.38
µSangatKurus [19,00] Linier Turun = 0; 16,5 < x < 17 µKurus [19,00] Linier Naik
= 0; 16,5 < x < 17
Bahu
= 0; 17
Linier Turun = 0; 18
< x < 18 < x < 18,5
µNormal [19,00] Linier Naik
= 0; 18
< x < 18,5
Bahu
= 0; 18,5 < x < 24,5
Linier Turun = 0; 24,5 < x < 25 µGemuk [19,00]
http://digilib.mercubuana.ac.id/
48
Linier Naik
= 0; 24,5 < x < 25
Bahu
= 0; 25
< x < 26,5
Linier Turun = 0; 26,5 < x < 27 µSangatGemuk [19,00] Linier Naik
= 0; 26,5 < x < 27
Bahu
= 1; x > 27
c. Variabel aktifitas
Gambar 3.5 Variabel Aktifitas Mahasiswa memiliki nilai 6 dengan katagori aktifitas Sedang. µIstirahat [6] Linier Turun = 0; 2 < x < 4 µRingan [4] Linier naik
= 0; 3 < x < 4
Linier Turun = 0; 4 < x < 5 µSedang[4] Linier Naik
= (x – a) / (b – a) 4<x<6 = (6 – 4) / (6 – 4) =2/2
http://digilib.mercubuana.ac.id/
49
= 1; Linier Turun = (c – x) / (c – b) 6<x<8 = (8 – 6) / (8 – 6) =2/2 = 1; µBerat[4] Linier Naik
= 0; 7 < x < 8
Linier Turun = 0; 8 < x < 9 µSangatBerat [4] Linier Naik
= 0; 8 < x < 10
5. Dalam perhitungan secara manual ini aturan yang mendekati dengan derajat keanggotaan yang akan diambil. a. If JK perempuan AND BB SangatGemuk AND AktifitasIstirahat AND UmurMuda Then Kalori Sedikit b. If JK perempuan AND BB SangatGemuk AND AktifitasIstirahat AND UmurParobaya Then Kalori Sedikit c. If JK perempuan AND BB SangatGemuk AND AktifitasRingan AND UmurMuda Then Kalori sedikit d. If JK perempuan AND BB SangatGemuk AND AktifitasRingan AND UmurParobaya Then Kalori sedikit e. If JK perempuan AND BB SangatGemuk AND AktifitasSedang AND UmurMuda Then Kalori sedikit f. If JK perempuan AND BB SangatGemuk AND AktifitasSedang AND UmurParobaya Then Kalori sedikit 6. Mencari nilai α-predikat min dengan menggunakan aturan diatas. α-predikat1
= µJK[P] ∩
http://digilib.mercubuana.ac.id/
50
µSangatGemuk[29,38] ∩ µIstirahat[6] ∩ µMuda[30] = min(1; 1; 1; 0,66) = 0,66; α-predikat2
= µJK[P] ∩ µSangatGemuk [29,38] ∩ µIstirahat[6] ∩µParobaya[30] = min(1; 1; 1; 0) = 0;
α-predikat3
= µJK[P] ∩ µSangatGemuk [29,38] ∩ µRingan[6] ∩ µMuda[30] = min(1; 1; 0; 0,66) = 0;
α-predikat4
= µJK[P] ∩ µ SangatGemuk [29,38] ∩ µRingan[4] ∩ µParobaya[30] = min(1; 1; 0; 0) = 0;
α-predikat5
= µJK[P] ∩ µSangatGemuk [29,38] ∩ µSedang[4] ∩ µMuda[30] = min(1; 1; 0; 0,66)
http://digilib.mercubuana.ac.id/
51
= 0; α-predikat6
= µJK[P] ∩ µSangatGemuk [29,38] ∩ µSedang[4] ∩ µParobaya[30] = min(1; 1; 0; 0) = 0;
3.4 Perancangan sistem Perancangan sistem yang merupakan analisis kebutuhan fungsional ini akan mencakup diagram UML, dan desain interface 3.4.1 Use Case Diagram Use case diagram dari perancangan berat tubuh ideal berbasis android adalah sebagai berikut
Gambar 3.6 Use case Diagram Perancangan Aplikasi Berat Tubuh Ideal Berbasis Android
http://digilib.mercubuana.ac.id/
52
Definisi Use Case Diagram Definisi actor Definisi aktor merupakan penjelasan dari apa yang dilakukan oleh aktoraktor yang terlibat dalam sistem yang dibangun. Adapun deskripsi dari aktor-aktor
yang
terlibat
dalam Perancangan Aplikasi Berat Tubuh Ideal
Berbasis Android sebagai berikut : Tabel 3.1 Definisi Actor No Actor 1
Definisi Mencari solusi dari informasi yang
User
diinput
oleh
kedalam
user
Perancangan Aplikasi Berat Tubuh Ideal Berbasis Android
Definisi Use Case Use Case adalah urutan transaksi/proses yang dilakukan oleh sistem, di mana menghasilkan sesuatu yang dapat dilihat/diamati oleh actor tertentu. Deskripsi dari use case yang ada dalam Perancangan Aplikasi Berat Tubuh Ideal Berbasis Android adalah sebagai berikut : Tabel 3.2 Definisi Use Case No Use case 1
Registrasi
2
Login
Definisi User
memasukan
data
diri
seperti
username, email, password User mulai memasuki aplikasi sesuai yang
diisi
saat
registrasi
username, email, password
http://digilib.mercubuana.ac.id/
seperti
53
3
Kalkulator BMI
User memasukan data seperti berat badan saat ini, tinggi badan dan gender lalu akan mengetahui hasilnya
4
Hitung kalori
User memasukan informasi makanan melalui sistem, system akan memberikan informasi
kalori
dan
nutrisi
pada
makanan 5
FAQ
Untuk memahami arti kalori, keuntungan aplikasi ini dan mengetahui berat ideal kepda User
6
About
Untuk mengetahui tujuan aplikasi ini ke User
7
Logout
Untuk keluarkan akun User dari aplikasi ini
3.4.2 Activity Diagram Activity diagram adalah salah satu cara untuk memodelkan eventevent
yang terjadi dalam suatu use case. Berikut ini Activity Diagram dari
Perancangan Aplikasi Berat Tubuh Ideal Berbasis Android :
http://digilib.mercubuana.ac.id/
54
Gambar 3.7 Activity Diagram Kalklator BMI A.
Aktivitas user Gambar 3.2 memperlihatkan aktivitas user menginput data yang diperlukan oleh sistem saat registrasi lalu mulai login dan kemudan sistem menghitung hasil dari data yang diperoleh oleh inputan user. Kemudian user mulai melakukan perhitungan hasil dari data yang dia berikan kepada sistem.
B. Proses Kalkulator BMI Pada gambar 3.2 menjelaskan bahwa, sistem melakukan proses terhadap data yang diinput oleh user, kemudian sistem memberikan rekaman data yang akan diproses kepada user, kemudian sistem memberikan output berupa hasil kalkulasi berdasarkan data yang di input oleh user.
3.4.3 Sequence Diagram Menggambarkan interaksi antara sejumlah objek dalam urutan waktu. Kegunannya untuk menunjukkan rangkaian pesan yang dikirim
http://digilib.mercubuana.ac.id/
55
antara objek interaksi dan objek yang terjadi pada titik tertentu dalam eksekusi system.
Gambar 3.8 Sequence Diagram Melakukan Registrasi Dan Login
Gambar 3.9 Sequence Diagram Menghitung Kalkulator BMI
http://digilib.mercubuana.ac.id/
56
Gambar 3.10 Sequence Diagram Membuka Halaman Menghitung Kalori Makanan
Gambar 3.11 Sequence Diagram Membuka Halaman FAQ
http://digilib.mercubuana.ac.id/
57
Gambar 3.12 Sequence Diagram Membuka Halaman About
Gambar 3.13 Sequence Diagram Membuka Halaman Logout
http://digilib.mercubuana.ac.id/
58
3.4.4 Class Diagram Paradigma pemrograman berorientasi objek adalah menggunakan konsep class dan object sebagai dasar ketika melakukan analisis model, desain dan implementasi sistem. Sebuah class dapat terdiri dari attributes dan methods. Berikut ini adalah class diagram Perancangan Aplikasi Berat Tubuh Ideal Berbasis Android .
Gambar 3.14 Class Diagram Perancangan Aplikasi Berat Tubuh Ideal Berbasis Android 3.5 Struktur Perancangan Tabel Tabel 3.3 User Field Name Id_nama
Data Type
Size
Keterangan
String
20
Primary key
Tabel 3.4 Berat Ideal Data Type
Size
Keterangan
Id_nama
String
20
Primary key
Berat_badan
Integer
10
Field Name
http://digilib.mercubuana.ac.id/
-
59
Tabel 3.5 View Field Name
Data Type
Size
keterangan
Id_nama
String
20
Primary key
Tinggi_badan
Integer
10
-
Berat_badan
Integer
10
-
3.6 Desain Antar Muka (interface) Antarmuka atau biasa disebut interface adalah tampilan aplikasi yang bersentuhan langsung dengan pengguna dalam menjalankan fungsi-fungsi yang dibutuhkan oleh pengguna.
3.6.1 Rancangan Splash Screen
Gambar 3.15 Rancangan Splash Screen
http://digilib.mercubuana.ac.id/
60
3.6.2 Rancangan Halaman Login
Gambar 3.16 Rancangan Halaman Login
3.6.3 Rancangan Halaman Sign Up
Gambar 3.17 Rancangan Halaman Sign Up
http://digilib.mercubuana.ac.id/
61
3.6.4 Rancangan Halaman Utama
Gambar 3.18 Rancangan Halaman Utama 3.6.5 Rancangan Membuka Menu Kalkulator BMI
Gambar 3.19 Rancangan Menu Kalkulator BMI
http://digilib.mercubuana.ac.id/
62
Rumusan Kalkulator BMI Berat Masa Index = Berat Badan / (Tinggi Badan*Tinggi Badan)= BMI = 89 / (171 X 171) = 30,43 (Obesitas) 3.6.6 Rancangan Hasil Kalkulator BMI
Gambar 3.20 Rancangan Menu Kalkulator BMI Tabel 3.6 Keterangan Hasil BMI Untuk Laki-Laki Nilai BMI
Kategori
<17
Kurus
17 – 23
Normal
23 – 27
Kegemukan
>27
Obesitas
Tabel 3.7 Keterangan Hasil BMI Untuk Perempuan Nilai BMI
Keterangan
<18
Kurus
http://digilib.mercubuana.ac.id/
63
18 – 25
Normal
25 – 27
Kegemukan
>27
Obesitas
3.6.7 Rancangan Membuka Menu Hitung Kalori Makanan
Gambar 3.21 Rancangan Menu Hitung Kalori Makanan
http://digilib.mercubuana.ac.id/
64
3.6.8 Rancangan Hasil Hitung Kalori Makanan
Gambar 3.22 Rancangan Hasil Hitung Kalori Makanan 3.6.9 Rancangan Keterangan Info Kalori
Gambar 3.23 Rancangan Keterangan Info Kalori
http://digilib.mercubuana.ac.id/
65
Tabel 3.8 Keterangan Kalori Ideal Manusia Jenis
Usia
Kurang
Cukup
Berlebihan
2-3
<1.000 kkal
1.000-1.400
>1.400 kkal
Kelamin Anak (P/L)
kkal Perempuan
4-8
<1.200 kkal
1.200-1.600
>1.600 kkal
kkal 9-13
<1.600 kkal
1.600-1.900
>1.900 kkal
kkal 14-18
<1.800 kkal
1.800-2.000
>2.000 kkal
kkal 19-30
<2.000 kkal
2.000-2.200
>2.200 kkal
kkal 31-50
<1.800 kkal
1.800-2.000
>2.000 kkal
kkal 50+
<1.600 kkal
1.600-1.800
>1.800 kkal
kkal Laki-Laki
4-8
<1.400 kkal
1.400-1.600
>1.600 kkal
kkal 9-13
<1.800 kkal
1.800-2.200
>2.200 kkal
kkal 14-18
<2.200 kkal
2.200-2.500
>2.500 kkal
kkal 19-30
<2.500 kkal
2.500-2.800
>2.800 kkal
kkal 31-50
<2.200 kkal
2.200-2.500
http://digilib.mercubuana.ac.id/
>2.500 kkal
66
kkal 50+
<2.000 kkal
2.000-2.400 kkal
3.6.10 Rancangan Membuka Menu FAQ
Gambar 3.24 Rancangan Menu FAQ 3.6.11 Rancangan Membuka Menu About
Gambar 3.25 Rancangan Menu About
http://digilib.mercubuana.ac.id/
>2.400 kkal
67
3.6.12 Rancangan Membuka Menu Logout
Gambar 3.26 Rancangan Menu Logout
http://digilib.mercubuana.ac.id/