32
7 foreachpickedItems as key {
totalVal += p1[key]; totalWt += k1[key];
echodiv class=temp div class=p1.n1[key].div
div class=p2;
takar=mysql_querySELECT FROM dkbm WHERE dkbm.id_food=f1[key];
tkr=mysql_fetch_arraytakar; ukur=tkr[ukuran];
gram=tkr[urt]; echoukur gram gram div
div class=p3.p1[key].div
div class=p4.k1[key].divdiv;
} echo divdivbr;
persen=totalWtklm[kal]100; kali=substrpersen,0,4;
Keterangan :
1. Menampilkan seluruh data dari tabel
bb_temp secara urut berdasarkan density.
2. Mendeklarasi variabel menjadi tipe data array.
3. Mendeklarasi kembali variabel menjadi array berindeks.
4. Fungsi pemecahan masalah k
ghij h k
k dengan
lm h g k
n hgo
l pqgor
5. Mendeklarasi variabel baru dan nilai inisiasinya.
6.
Pemecahan masalah dengan fungsi
knapSolveFast
berdasarkan variabel yang telah di deklarasikan.
7. Menampilkan hasil pemecahan masalah berupa Makanan yang dapat Anda Makan.
3.1 Flowchart Sistem Secara Umum
st
o w
k nh m
u
adalah bagan yang mempunyai arus menggambarkan langkah - langkah penyelesaian suatu masalah. Secara umum penulis menggambarkan tahapan - tahapan
dalam implementasi algoritma
v m hg k
n hgo
vpqg o
yang digunakan dalam penelitian seperti yang ditunjukan pada Gambar 3.3.
Universitas Sumatera Utara
33
Gambar 3.3 Flowchart Sistem Secara Umum
3.2 Data Flow Diagram DFD
Pemodelan proses adalah cara formal untuk menggambarkan bagaimana aplikasi beroperasi. Mengilustrasikan aktivitas-aktivitas yang dilakukan dan bagaimana data
berpindah di antara aktivitas-aktivitas itu. Ada banyak cara untuk mempresentasikan model proses. Cara yang populer adalah dengan menggunakan
w xy x z{
o w
w
i
x|} x ~
DFD.
w xyx z {
o w
w
i
x|} x ~
DFD adalah alat yang menggambarkan aliran data melalui sistem dan kerja atau pengolahan yang dilakukan oleh sistem tersebut [20].
DFD dari aplikasi yang dibuat dimulai dari DFD level 0 hingga DFD level 2.
Mulai -
Identitas Penderita
Nama
Alamat
Jenis Kelamin
Usia -
Kadar Asam Urat Data Makanan :
- Bahan Makanan
- Tingkat Purin
- Kandungan gizi
Jenis Makanan yang diinginkan Berat minimum dan maksimum makanan
Perhitungan Algoritma Branch and Bound
Selesai Daftar Menu dan
Kandungan Bahan Makanan yang dapat di konsumsi
Universitas Sumatera Utara
34
3.4.1 Diagram Konteks
Aliran data bersumber dari pengguna yang dimasukkan ke dalam sistem, yang kemudian akan diproses dan menghasilkan output daftar menu makanan. User
memasukkan informasi data pribadi seperti nama, umur, jenis kelamin, berat badan, kadar purin serta keterangan lain yang dibutuhkan pada sistem ini.
Gambar 3.4 Diagram Konteks
Penjelasan proses diagram konteks DFD yaitu sebagai berikut: a. Arus Data
Masukan :
Data user
Update data makanan Keluaran :
Respon update data makanan
Daftar menu makanan
Akses
b. Entitas Luar Nama Entitas : Admin
Keterangan : Merupakan bagian yang mengontrol dan memperbaiki sistem Masukan :
Username
Password
Sistem Penentuan Menu Makanan
User Admin
data user
menu makanan hak akses
data hasil update
hak akses
id_admin
data makanan id_user
Universitas Sumatera Utara
35
Update data makanan
Keluaran :
Respon update data makanan Nama Entitas : User
Keterangan : Pengguna yang menggunakan sistem. Masukan :
Username
Data user
Keluaran :
Daftar menu makanan
3.4.2 Data Flow Diagram Level 1
Proses yang ada pada DFD Level 0 dipecah lagi menjadi proses-proses yang lebih kecil dan lengkap dalam DFD level 1.
Gambar 3.5 DFD Level 1 1
Login User
Admin
2
Update Data User
3
Maintenance Bahan
Makanan
4
Branch and Bound
id_user hak akses
pasien id_user
dkbm data bahan
makanan data bahan
makanan data hasil
update data bahan
makanan
data user daftar bahan makanan
data user data user
id_user id_admin
Universitas Sumatera Utara
36
Penjelasan proses DFD level 1 adalah sebagai berikut :
1. Proses 1 Nama Proses : Proses Login
Masukan : - Username
- Identitas Keluaran
: - Hak akses 2. Proses 2
Nama Proses : Update Data User Masukan
: Data user Keluaran
: Data user Keterangan
: Pada proses ini user menginputkan data diri, seperti nama, umur, jenis kelamin, dan kadar purin.
3. Proses 3 Nama Proses : Maintenance Menu Makanan
Masukan : Data makanan
Keluaran : Respon update makanan
Keterangan : Pada proses ini admin menginputkan data makanan. Data
makanan ini dapat diperbaharui oleh admin kapan pun. 4. Proses 4
Nama Proses : Branch and Bound Masukan
: - Data User - Data makanan
Keluaran : Daftar menu makanan
Keterangan : Perhitungan algoritma branch and bound dilakukan untuk
menghasilkan daftar menu makanan sesuai dengan kebutuhan kalori user.
Universitas Sumatera Utara
37
3.4.3 Data Flow Diagram Level 2 Proses 4 Branch and Bound
Gambar 3.6 DFD Level 2 Proses 4 Branch and Bound
Penjelasan proses DFD level 2 adalah sebagai berikut: a. Nama Proses : Profil User
Masukan : Data user, umur, jenis kelamin.
Keluaran : Profil user secara umum
Keterangan : Membentuk biodata user secara umum
b. Nama Proses : Kalori User Masukan
: Profil user secara umum, akg. Keluaran
: Daftar Kalori Keterangan
: Melakukan pemilihan kalori berdasarkan profil user dan akg. c. Nama Proses : Makanan yang boleh
Masukan : Daftar kalori, purin, golongan.
Keluaran : Daftar Makanan
4.1
Menganalisis
Profil user User
data user
golongan
akg jenisk
umur
4.2
Menghitung
Kalori User
4.3
Menentukan
Makanan yang boleh
4.4
Pemilihan Makanan
purin
food_temp kalori_temp
bb_temp
4.5
Penentuan Makanan
daftar makanan profil user umum
daftar kalori
daftar makanan
Universitas Sumatera Utara
38
Keterangan : Melakukan pemilihan makanan yang boleh dan dipantang
berdasarkan purin dan golongan dari
r. d. Nama Proses : Pemilihan Makanan
Masukan : Daftar Makanan
Keluaran : Data sementara berupa kalori_temp, food_temp.
Keterangan : Melakukan input data makanan yang telah dipilih
r . e. Nama Proses : Penentuan Makanan
Masukan : Data sementara berupa kalori_temp, bb_temp.
Keluaran : Daftar Makanan
Keterangan : Melakukan perhitungan branch and bound terhadap makanan yang
telah dipilh u s
r.
3.3 Kamus Data