Dosen Pembimbing :
Purbandini S.Si., M.Kom.
Kelompok 7 :
1. Manis Hanggraeni (081711633012)
2. Rivendrea Giftama C. (081711633037)
3. Yossy Adirta Soeryo L. (081711633044)
S1 SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS AIRLANGGA
2019
KATA PENGANTAR
Puji syukur kehadirat Allah Tuhan Yang Maha Esa, yang telah memberi segala
rahmat dan hidayah-Nya sehingga kami dapat mengerjakan laporan yang berjudul
“Aplikasi Diet Base On Calories (Dibscal) ” dengan baik.
Laporan ini telah diselesaikan berkat kerjasama tim dan berbagai pihak khusunya
dosen mata kuliah Teknologi Mobile, Ibu Purbandini S.Si.,M.Kom. yang memberikan
berbagai bantuan, arahan, dan masukan. Oleh karena itu kami ucapkan banyak terima
kasih. Meski demikian kami menyadari masih banyak kekuranga dan kekeliruan di
dalam penilisan laporan ini. Sehingga kami mohon maaf. Kami secara terbuka
menerima kritik dan saran yang positif.
Demikian kami sampaikan, semoga laporan ini dapat bermanfaat bagi masyarakat
umum dan untuk kami sendiri khususnya.
Penulis
I
EXECUTIVE SUMMARY
Maraknya pola hidup sehat dikalangan baik muda maupun tua menjadi ramai
diperbincangkan. Alasan orang mulai menata pola hidup selain untuk penampilan , juga
untuk menjaga kestabilan tubuh. Maka dari itu Dibscal hadir untuk memenuhi
kebutuhan dalam menunjang pola hidup sehat masyarakat.
II
DAFTAR ISI
BAB I................................................................................................................................ 1
PENDAHULUAN ............................................................................................................ 1
BAB II .............................................................................................................................. 4
2.4. Diet..................................................................................................................... 5
III
3.3. Misi Dibscal ....................................................................................................... 8
BAB IV ........................................................................................................................... 17
BAB V ............................................................................................................................ 25
BAB VI ........................................................................................................................... 35
IV
7.2 Saran ................................................................................................................ 49
LAMPIRAN ................................................................................................................... 51
V
DAFTAR GAMBAR
Gambar 3.1 Use Case Diagram...............................................................................9
VI
Gambar 4.11 GUI Input Olahraga......................................................................24
VII
DAFTAR TABEL
VIII
BAB I
PENDAHULUAN
1
pengguna dengan perhitungan kalori, pilihan resep-resep masakan untuk pemenuhan
kalori serta bentuk olahraga yang tepat digunakan untuk membakar kalori berdasarkan
identitas penguna aplikasi yang dimasukkan diawal dan target penurunan berat badan
yang diinginkan.
1.3. Tujuan
Berdasarkan rumusan masalah diatas maka tujuannya untuk dapat merancang
dan membangun sistem aplikasi Dibscal yang digunakan untuk mempermudah
penurunan berat badan sesuai dengan target berat badan yang diinginkan.
1.4. Manfaat
Manfaat dalam pembuatan aplikasi Dibscal ini adalah sebagai berikut:
1. Membantu pengguna aplikasi untuk mendapatkan berat badan sesuai dengan
target yang diinginkan.
2. Membantu membatasi jumlah konsumsi kalori per harinya pada pengguna
aplikasi agar jumlah kalori yang dikonsumsi tidak melebihi jumlah target
kalori yang dibutuhkan.
3. Memicu semangat pengguna aplikasi untuk berolahraga agar kalori yang
diterima tubuh tidak tertimbun menjadi lemak berlebih.
4. Menyediakan informasi perhitungan jumlah kalori yang mudah diakses pada
aplikasi Dibscal agar sesuai dengan target berat badan yang diinginkan.
2
1.5. Batasan Masalah
Agar masalah yang dibahas tidak terlampau luas, maka penulis
memberikan batasan masalah. Batasan masalah juga bertujuan untuk lebih
menfokuskan pembahasan dimana batasan tersebut adalah sebagai berikut:
1. Versi sistem operasi Android yang didukung adalah minimal versi 4.3.x (Jelly
Bean).
2. Jenis olahraga yang tersedia hanya olahraga yang berbobot ringan. Meliputi
:jalan kaki, lari, push up, sit up dan plank.
3. Pelayanan yang tersedia berupa perhitungan kalori yang dibutuhkan dan
disediakan informasi jumlah kalori yang didapatkan dari makanan, serta kalori
yang dapat dikurangi dari jenis olahraga yang dapat dilakukan.
1.6. Luaran
Adapun luaran yang kami harapkan dari aplikasi Dibscal ini adalah dapat
membantu pengguna aplikasi untuk menurunkan berat badan sesuai dengan target
berat badan yang diinginkan, serta aplikasi ini dapat mempermudah pengguna
aplikasi untuk bisa memulai pola hidup sehat dan teratur.
3
BAB II
TINJAUAN PUSTAKA
2.2. Android
Android adalah sistem operasi untuk telepon seluler berbasis Linux sebagai
kernelnya. (Pandu,2014). Saat ini Android menjadi pesaing utama dari produk
smartphone lainnya seperti Apple dan Blackberry karena Android memiliki
beberapa kelebihan daripada smartphone lain (Pandu,2014), yaitu:
a. Android bersifat Open Source yang artinya pengembang (Developer Android)
bebas untuk mengambangkan aplikasi pada platform ini.
b. Lengkap. Android menyediakan tools untuk membangun software yang sangat
lengkap dibandingkan dengan platform lain.
c. Bebas (Free Platform). Android adalah platform mobile yang tidak memiliki
Batasan dalam mengembangkan aplikasinya. Tidak ada lisensi dalam
mengembangkan aplikasi Android.
4
Hubungan antara Firebase dan Android, terdapat metode setValue() untuk menyimpan
data ke referensi yang ditetapkan, menggantikan data yang ada di jalur tersebut. Bisa
menggunakan metode ini untuk:
a. Memberikan tipe yang cocok dengan tipe JSON yang tersedia seperti, String, Long
Double, Boolean, Map <String, Object>, List<Object>
b. Meneruskan objek Java khusus, jika kelas yang mendefinisikannya memiliki
konstruktor default yang tidak menerima argument dan memiliki public getter
untuk property yang akan ditugaskan. (Firebase, 2016).
2.3. Firebase
Firebase memiliki produk utama , yaitu menyediakan database realtime dan backend
sebagai layanan (Backend as a Service) (Hermawan, 2017). Layanan ini menyediakan
pengembang aplikasi API yang memungkinkan aplikasi adata yang akan disinkronisasi
di klien dan disimpan di cloud Firebase ini. Firebase menyediakan library untuk berbagi
client platform yang memungkinkan integrase dengan Android, iOS, JavaScript, Java,
Objective-C dan Node aplikasi Js dan dapat juga disebut sebagai layanan Database as a
Service (DbaaS) dengan konsep realtime.
Firebase digunakan untuk mempermudah dalam penambahan fitur-fitur yang akan
dibangun oleh developer.
Semua data Firebase Realtime Database disimpan sebagai objek JSON. Bisa
dianggap basis data sebagai JSON tree yang di-hist di cloud. Tidak seperti basis data
SQL, tidak ada table atau rekaman. Ketika ditambahkan ke JSON tree, data akan
menjadi simpul dalam struktur JSON yang ada. Meskipun basis data menggunakan
JSON tree, data yang tersimpan dalam basis data bias diwakili sebagai tipe bawaan
tertentu yang sesuai dengan tipe JSON yang tersedia untuk membantu dalam menulis
lebih banyak kode yang bias dipertahankan (Hermawan, 2017).
2.4. Diet
Diet berasal dari kata Romawi yang berarti “gaya hidup”. Akan tetapi masyarakat
sudah beranggapan jauh dari pengertian diet itu sendiri. Konsep diet yang benar
haruslah aman. Diet hanya mengacu pada nutrisi yang didapatkan setiap hari. Ada
beberapa diet yang disesuaikan dengan kebutuhan-kebutuhan spesifik, tidak hanya
5
digunakan untuk proses penurunan berat badan, namun diet digunakan juga untuk
menjaga kesehatan tubuh seorang pasien walaupun pasien tersebut tidak mengalami
obesitas.
Ada program diet bagi penderita obesitas yang rendah karbohidrat dan tinggi protein
(Nam-Seok Joo, 2011).
Oleh sebab itu diet dapat di definisikan sebagai usaha seseorang dalam mengatur
pola makan yang bertujuan untuk memperoleh berat badan yang ideal. Seiring
berkembangnya ilmu, dewasa ini diet mempunyai banyak jenisnya dari diet rendah
kalori, diet jantung, diet rendah gula, diet atkins(redah garam), The Sugar Busterndiet,
Dairy Free Diet, hinga South Beach diet.
6
Keterangan :
BMR : Basal Metabolic Rate
BB : Berat Badan (kg)
TB : Tinggi Badan (cm)
U : Usia (dalam tahun)
b. Aktivitas Fisik
Penting sekali dipikirkan derajat kegiatan fisik pada saat penentuan besaran kebutukan
kalori. Aktivitas fisik dikelompokkan menurut berat ringannya aktivitas: ringan, sedang,
dan berat (Ayu, 2015).
Total Kalori = Faktor aktivitas fisik x BMR
Nilai untuk aktivitas ditunjukkan pada Tabel 2.2
7
BAB III
DESAIN SISTEM
3.1. Aplikasi Dibscal
Dibscal adalah sebuah aplikasi online yang membantu pengguna untuk menghitung
kalori yang dibutuhkan nya dalam sehari-hari. Aplikasi ini diharapkan dapat memberikan
informasi kebutuhan kalori yang dibutuhkan oleh tubuh, serta membantu pengguna untuk
menurunkan berat badan melalui pengontrolan kadar kalori yang masuk kedalam tubuh,
dengan adanya beberapa fitur didalamnya . Dibscal akan menjadi alternatif dan motivasi
untuk mencapai berat badan yang ditargetkan.
3.2.Visi Dibscal
Dibscal memiliki visi “Memberikan kemudahan bagi pengguna untuk menghitung
kebutuhan kalori yang dibutuhkan sehari hari untuk mencapai target berat badan yang
diinginkan” Yang dimana diharapkan nantinya Aplikasi Dibscal bisa menjadi solusi
yang dapat membantu pengguna untuk menyukseskan rencana dietnya dan membantu
memenuhi kalori yang dibutuhkan agar tidak kelebihan maupun kekurangan setiap
harinya.
8
melakukan melihat Overview Jumlah Kalori yang dibutuhkan, Melihat history kalori,
memilih makanan, menambah makanan menambah dan melihat olahraga.
9
Gambar 3.2 Database Firebase
10
3.6.Desain GUI
Berikut adalah desain yang kami rancang untuk aplikasi Dibscal. Dimulai dari
menampilkan splashscreen. Disini kami akan menampilkan nama aplikasi dan gambar
logo yang nantinya akan kami tambahkan. Desain GUI pada Splashscreen dapat dilihat
pada Gambar 3.3
11
Setelah melakukan setting target, user dapat melihat profile yang berisi berat badan
saat ini, target berat badan yang telah dituliskan , serta jumlah kalori yang dibutuhkan
untuk mencapai target berat badan. Disini user juga bisa mengubah target berat badan
lewat button edit target. Desain GUI pada halaman Profil yang dapat dilihat pada
Gambar 3.5.
12
Kemudian user dapat melihat makanan yang sudah dipilih beserta olahraga
yang dipilih berdasarkan tanggal yang dipilih. Desain GUI pada halaman History dan
Kalender dapat dilihat pada Gambar 3.7.
13
Kemudian masuk kedalam halaman Detail Makanan, disini user dapat melihat
penjelasan lengkap mengenai makanan yang dipilih sehingga ditampilankan nama
makanan, resep makanan, kalori, serta dapat menambahkan makanan pada history.
Didalamnya juga terdapat perhitungan kalori.Desain GUI pada halaman Detail
Makanan dapat dilihat pada Gambar 3.9.
14
Lalu terdapat halaman olahraga, disini user dapat memilih olahraga yang
diinginkan dimana akan mengurangi jumlah kalori akibat dari pembakaran kalori saat
melakukan aktivitas olahraganya.Desain GUI pada halaman Olahraga dapat dilihat
pada Gambar 3.11.
15
Kemudian terdapat halaman Input Olahraga dimana user dapat menambahkan
olahraga sendiri apabila tidak terdapat dalam pilihan yang tersedia. Desain GUI pada
halaman Input Olahraga dapat dilihat pada Gambar 3.13.
16
BAB IV
IMPLEMENTASI SISTEM
4.1. Implementasi
Pada bab ini akan diuraikan cara dan langkah-langkah untuk
mengimplementasikan rancangan perangkat lunak, kebutuhan perangkat lunak
maupun perangkat keras yang digunakan, pengujian sistem dan klasifikasi
infrastruktur.
Berikut ini aktifitas yang dilakukan dalam mengimplementasikan Aplikasi
Dibscal:
a. Persiapan Instalasi Perkakas (Tools) Yang Akan Digunakan
Tahap awal yang dilakukan dalam rangka instalasi perkakas (tools) apa saja
yang dibutuhkan untuk implementasi aplikasi Dibscal.
b. Pengetesan Program Pada Perangkat Lunak
Tahap ini dilakukan untuk menghindari kesalahan antara lain :
1. Kesalahan penulisan source code program
2. Kesalahan database
3. Kesalahan saat program yang dijalankan
4. Kesalahan logika
c. Evaluasi Perangkat Lunak
Tahap ini diperlukan untuk memastikan apakah perangkat lunak dapat
berjalan dengan baik, serta mengidentifikasi error sehingga perbaikan dapat
segera dilakukan hingga perangkat lunak benar-benar siap guna.
17
Kebutuhan Perangkat Keras (Hardware).
Konfigurasi minimal perangkat keras untuk mendukung implementasi sistem
yang dirancang adalah sebagai berikut :
Tabel 4.1 Spesifikasi Minimum Perangkat Keras yang Digunakan
No Uraian Spesifikasi
CPU
1 Processor Intel(R) Core(TM) i5-4030 CPU @ 2.0GHz
2 Memory (RAM) 4 GB
3 Hard Disk Drive Minimal kosong 2 GB
4 Graphic Card (VGA) AMD Radeon
5 Operating System 64-bit
6 Keyboard Standar
7 Mouse Standar
8 Koneksi Internet LAN
Ponsel
1. Operating System 4.3.x Jelly Beans
2. Perangkat Nexus
3. Memory(RAM) Minimal 2GB
4. Koneksi Internet Wifi/Hotspot/Data Seluler
5. Processor Asus Zenfone Max Pro m2
Kebutuhan Perangkat Lunak (Software)
Perangkat lunak yang dipakai untuk implementasi adalah sebagai berikut :
1. Sistem Operasi Windows 7, Windows 8 dan Windows 10
2. Web browser
3. Android Studio
4. Adobe XD
18
Gambar 4.1 Implementasi Splashscreen
Kemudian memasuki halaman get started, pada halaman ini user akan
diarahkan untuk mengisi profil, seperti memasukkan gender, memasukkan berat
badan saat ini dan memasukkan target berat badan yang ingin dicapai dalam satuan
Kg. Sehingga aplikasi akan mengakumulasikan berapa kalori yang seharusnya
didapatkan per hari dan kalori yang dicapai untuk hari itu . Desain GUI pada
halaman Get Started yang dapat dilihat pada Gambar 4.2.
19
Setelah melakukan setting target pada halaman get started, user dapat melihat
profile yang berisi berat badan saat ini, target berat badan yang telah dituliskan , serta
jumlah kalori yang dibutuhkan untuk mencapai target berat badan. Disini user juga
bisa mengubah target berat badan lewat button edit target. Desain GUI pada halaman
Profil yang dapat dilihat pada Gambar 4.3.
20
Kemudian user dapat melihat makanan yang sudah dipilih beserta olahraga
yang dipilih berdasarkan tanggal yang dipilih. Desain GUI pada halaman History dan
Kalender dapat dilihat pada Gambar 4.5.
21
makanan, resep makanan, kalori, serta dapat menambahkan makanan pada history.
Didalamnya juga terdapat perhitungan kalori.Desain GUI pada halaman Detail
Makanan dapat dilihat pada Gambar 4.7.
22
melakukan aktivitas olahraganya.Desain GUI pada halaman Olahraga dapat dilihat
pada Gambar 4.9.
23
Gambar 4.11 GUI Input Olahraga
24
BAB V
PENGUJIAN SISTEM
25
perubahan berat perhitungan kalori menampilkan
badan tanpa input per hari tanpa input peringatan pada
gender, current gender, current kolom yang belum
weight, target weight, target diisi
weight, dan weight, dan
perhitungan kalori perhitungan kalori
26
Eat
10. Tambah makanan Langsung menekan Sistem OK
baru tanpa input tombol “Add” tanpa menampilkan
nama makanan, input nama makanan, peringatan pada
kalori, dan resep kalori, dan resep kolom yang belum
diisi
11. Menghitung Input jumlah jam Sistem OK
jumlah kalori menampilkan
suatu olahraga jumlah kalori
dari perhitungan
jumlah jam
12. Menghitung Langsung Sistem akan OK
jumlah kalori melakukan menampilakan
suatu olahraga perhitungan kalori notifikasi error
tanpa input olahraga tanpa input “You have to
jumlah jam input hours”
13. Menambahkan Input jumlah jam Sistem akan OK
olahraga ke dan melakukan menampilakan
history perhitungan kalori halaman history
dan list olahraga
yang
ditambahkan
bertambah pada
list history
bagian paling
bawah
14. Menambahkan Langsung Sistem akan OK
olahraga ke menambah olahraga menampilakan
history tanpa input ke history notifikasi error
jumlah jam “You have to
input hours”
15. Tambah olahraga Input nama Sistem akan OK
baru olahraga dan jumlah menampilkan
kalori per jam halaman Record
Move
16. Tambah olahraga Langsung menekan Sistem OK
baru tanpa input tombol “Add” tanpa menampilkan
nama olahraga dan input nama olahraga peringatan pada
jumlah kalori per dan jumlah kalori kolom yang
jam per jam belum diisi
17. Navigation Menekan gambar Sistem akan OK
Drawer pada arah panah dipojok menampilkan
halaman Input kiri atas halaman Record
New Food Eat
18. Navigation Menekan gambar Sistem akan OK
Drawer pada arah panah dipojok menampilkan
halaman Input kiri atas halaman Record
27
New Exercise Move
19. Pilih tanggal pada Menekan tombol Sistem akan OK
kalender “Choose Date” pada menampilkan pada
halaman history, hari yang dipilih
pilih tanggal dan menampilkan
list history jika
ada
20. Menghapus list Menekan salah satu Sistem akan OK
history list makanan lalu menghapus list
tekan tombol history yang
“Delete” dipilih
21. Cancel hapus list Menekan salah satu Sistem akan OK
history list makanan lalu kembali ke
tekan tombol halaman history
“Cancel”
28
Jika pengguna tidak memasukkan gender, current weight, dan target weight,
maka akan muncul peringatan untuk mengisi kolom yang kosong. Sebagaimana yang
ditujukkan oleh Gambar 5.2.
29
menampilkan jumlah kalori yang dikonsumsi. GUI Halaman Record Halaman
ditunjukkan oleh Gambar 5.4.
30
Untuk menambahkan makanan baru, pengguna mengisi nama makanan, jumlah
kalori per 100gr, dan resep makanan. Tampilan dalam Menambah makanan
ditunjukkan pada Gambar 5.6.
31
menampilkan jumlah kalori yang dihilangkan. Sebagaimana yang ditunjukkan oleh
Gambar 5.8.
32
Gambar 5.10 Uji Tambah Olahraga Baru
Jika berhasil menambahkan olahraga baru, maka akan ditampilkan list olahraga
terbaru dibagian paling bawah dan akan muncul notifikasi “Added to list”. Tampilan
List Olahraga terbaru yang ditunjukkan oleh Gambar 5.10.
Pengguna dapat memilih tanggal tertentu untuk dapat melihat history pada
tanggal tersebut. Jika terdapat aktivitas olahraga atau makanan pada tanggal tersebut,
maka akan ditampilkan list history pada hari tersebut. Tampilan History yang dapat
dilihat pada Gambar 5.11
33
Gambar 5.11 Uji Pilih Tanggal
34
BAB VI
EVALUASI SISTEM
6.1 Evaluasi Sistem
Evaluasi sistem adalah suatu pemeriksaan terhadap pelaksanaan suatu program yang
telah dilakukan dan yang akan digunakan untuk meramalkan, memperhitungkan, dan
mengendalikan pelaksanaan program ke depannya agar jauh lebih baik. Evaluasi lebih
bersifat melihat ke depan daripada melihat kesalahan-kesalahan dimasa lalu, dan
ditujukan pada upaya peningkatan kesempatan demi keberhasilan program. Dengan
demikian misi dari evaluasi itu adalah perbaikan atau penyempurnaan di masa
mendatang atas suatu program. (Dira, 2016)
35
Tabel 6.1 Evaluasi Kuesioner Kelompok 1
Pilihan Kuesioner
No Pertanyaan
1 2 3 4
Apakah aplikasi ini user friendly
1
(mudah digunakan) ?
Apakah aplikasi ini high
2
performance?
Apakah aplikasi ini mempunyai
3
tampilan user interface yang baik?
Apakah aplikasi ini sudah reliable
4 dengan topik yang diberikan
(pertanian)?
Apakah aplikasi ini ringan dan tidak
5
memberatkan smartphone anda?
Apakah aplikasi ini praktis dan tidak
6
membingungkan?
Dengan adanya fitur kalori olahraga,
apakah aplikasi ini bisa membantu
7
pengguna supaya bisa rutin
berolahraga ?
Dengan adanya fitur kalori makanan,
apakah bisa membantu
8
memanajemen pola makan pengguna
dengan baik ?
Dengan adanya fitur overview
(Melihat secara keseluruhan jumlah
kalori dari makanan, jumlah kalori
yang dibakar dari olahraga, dan
9 kalori yang tersedia untuk hari ini),
apakah aplikasi ini membantu
pengguna untuk memecahkan
permasalahan tentang kebutuhan
kalori harian ?
36
Dengan semua fitur yang ada di
aplikasi ini, apakah aplikasi ini bisa
10
membantu membentuk pola hidup
sehat?
37
jumlah kalori dari makanan,
jumlah kalori yang dibakar dari
olahraga, dan kalori yang
tersedia untuk hari ini), apakah
aplikasi ini membantu pengguna
untuk memecahkan
permasalahan tentang kebutuhan
kalori harian ?
Dengan semua fitur yang ada di
aplikasi ini, apakah aplikasi ini
10
bisa membantu membentuk pola
hidup sehat?
38
bisa membantu pengguna
supaya bisa rutin berolahraga
?
Dengan adanya fitur kalori
makanan, apakah bisa
8 membantu memanajemen pola
makan pengguna dengan baik
?
Dengan adanya fitur overview
(Melihat secara keseluruhan
jumlah kalori dari makanan,
jumlah kalori yang dibakar
dari olahraga, dan kalori yang
9
tersedia untuk hari ini),
apakah aplikasi ini membantu
pengguna untuk memecahkan
permasalahan tentang
kebutuhan kalori harian ?
Dengan semua fitur yang ada
di aplikasi ini, apakah aplikasi
10
ini bisa membantu membentuk
pola hidup sehat?
39
Apakah aplikasi ini sudah
4 reliable dengan topik yang
diberikan (pertanian)?
Apakah aplikasi ini ringan dan
5 tidak memberatkan
smartphone anda?
Apakah aplikasi ini praktis
6
dan tidak membingungkan?
Dengan adanya fitur kalori
olahraga, apakah aplikasi ini
7 bisa membantu pengguna
supaya bisa rutin berolahraga
?
Dengan adanya fitur kalori
makanan, apakah bisa
8 membantu memanajemen pola
makan pengguna dengan baik
?
Dengan adanya fitur overview
(Melihat secara keseluruhan
jumlah kalori dari makanan,
jumlah kalori yang dibakar
dari olahraga, dan kalori yang
9
tersedia untuk hari ini),
apakah aplikasi ini membantu
pengguna untuk memecahkan
permasalahan tentang
kebutuhan kalori harian ?
Dengan semua fitur yang ada
di aplikasi ini, apakah aplikasi
10
ini bisa membantu membentuk
pola hidup sehat?
40
Tabel 6.5 Evaluasi Kuesioner Kelompok 6
Pilihan Kuesioner
No Pertanyaan
1 2 3 4
Apakah aplikasi ini user
1
friendly (mudah digunakan) ?
Apakah aplikasi ini high
2
performance?
Apakah aplikasi ini
3 mempunyai tampilan user
interface yang baik?
Apakah aplikasi ini sudah
4 reliable dengan topik yang
diberikan (pertanian)?
Apakah aplikasi ini ringan dan
5 tidak memberatkan
smartphone anda?
Apakah aplikasi ini praktis
6
dan tidak membingungkan?
Dengan adanya fitur kalori
olahraga, apakah aplikasi ini
7 bisa membantu pengguna
supaya bisa rutin berolahraga
?
Dengan adanya fitur kalori
makanan, apakah bisa
8 membantu memanajemen pola
makan pengguna dengan baik
?
Dengan adanya fitur overview
(Melihat secara keseluruhan
9 jumlah kalori dari makanan,
jumlah kalori yang dibakar
dari olahraga, dan kalori yang
41
tersedia untuk hari ini),
apakah aplikasi ini membantu
pengguna untuk memecahkan
permasalahan tentang
kebutuhan kalori harian ?
Dengan semua fitur yang ada
di aplikasi ini, apakah aplikasi
10
ini bisa membantu membentuk
pola hidup sehat?
42
Dengan adanya fitur kalori
makanan, apakah bisa
8 membantu memanajemen pola
makan pengguna dengan baik
?
Dengan adanya fitur overview
(Melihat secara keseluruhan
jumlah kalori dari makanan,
jumlah kalori yang dibakar
dari olahraga, dan kalori yang
9
tersedia untuk hari ini),
apakah aplikasi ini membantu
pengguna untuk memecahkan
permasalahan tentang
kebutuhan kalori harian ?
Dengan semua fitur yang ada
di aplikasi ini, apakah aplikasi
10
ini bisa membantu membentuk
pola hidup sehat?
43
Apakah aplikasi ini ringan dan
5 tidak memberatkan
smartphone anda?
Apakah aplikasi ini praktis
6
dan tidak membingungkan?
Dengan adanya fitur kalori
olahraga, apakah aplikasi ini
7 bisa membantu pengguna
supaya bisa rutin berolahraga
?
Dengan adanya fitur kalori
makanan, apakah bisa
8 membantu memanajemen pola
makan pengguna dengan baik
?
Dengan adanya fitur overview
(Melihat secara keseluruhan
jumlah kalori dari makanan,
jumlah kalori yang dibakar
dari olahraga, dan kalori yang
9
tersedia untuk hari ini),
apakah aplikasi ini membantu
pengguna untuk memecahkan
permasalahan tentang
kebutuhan kalori harian ?
Dengan semua fitur yang ada
di aplikasi ini, apakah aplikasi
10
ini bisa membantu membentuk
pola hidup sehat?
44
Tabel 6.8 Evaluasi Kuesioner Kelompok 9
Pilihan Kuesioner
No Pertanyaan
1 2 3 4
Apakah aplikasi ini user
1
friendly (mudah digunakan) ?
Apakah aplikasi ini high
2
performance?
Apakah aplikasi ini
3 mempunyai tampilan user
interface yang baik?
Apakah aplikasi ini sudah
4 reliable dengan topik yang
diberikan (pertanian)?
Apakah aplikasi ini ringan dan
5 tidak memberatkan
smartphone anda?
Apakah aplikasi ini praktis
6
dan tidak membingungkan?
Dengan adanya fitur kalori
olahraga, apakah aplikasi ini
7 bisa membantu pengguna
supaya bisa rutin berolahraga
?
Dengan adanya fitur kalori
makanan, apakah bisa
8 membantu memanajemen pola
makan pengguna dengan baik
?
Dengan adanya fitur overview
(Melihat secara keseluruhan
9 jumlah kalori dari makanan,
jumlah kalori yang dibakar
dari olahraga, dan kalori yang
45
tersedia untuk hari ini),
apakah aplikasi ini membantu
pengguna untuk memecahkan
permasalahan tentang
kebutuhan kalori harian ?
Dengan semua fitur yang ada
di aplikasi ini, apakah aplikasi
10
ini bisa membantu membentuk
pola hidup sehat?
46
6.4 Rekap Evaluasi
Setelah melakukan evaluasi menggunakan kuesioner bagi masing – masing
kelompok, kami melakukan rekap terhadap hasil kuesioner yang kami dapatkan.
Tabel 6.9 Rekap Evaluasi Kuesioner
Pilihan Kuesioner
No Pertanyaan Jumlah
1 2 3 4
Apakah aplikasi ini
4 4
1 user friendly (mudah 0 0 8
(50%) (50%)
digunakan) ?
Apakah aplikasi ini 1 7
2 0 0 8
high performance? (12,5%) (87,5%)
Apakah aplikasi ini
mempunyai tampilan 5 3
3 0 0 8
user interface yang (62,5%) (37,5%)
baik?
Apakah aplikasi ini
sudah reliable dengan 4 4
4 0 0 8
topik yang diberikan (50%) (50%)
(pertanian)?
Apakah aplikasi ini
ringan dan tidak 3 5
5 0 0 8
memberatkan (37,5%) (62,5)
smartphone anda?
Apakah aplikasi ini
4 4
6 praktis dan tidak 0 0 8
(50%) (50%)
membingungkan?
Dengan adanya fitur
kalori olahraga, apakah
aplikasi ini bisa 4 4
7 0 0 8
membantu pengguna (50%) (50%)
supaya bisa rutin
berolahraga ?
8 Dengan adanya fitur 0 0 2 6 8
47
kalori makanan, apakah (25%) (75%)
bisa membantu
memanajemen pola
makan pengguna
dengan baik ?
Dengan adanya fitur
overview (Melihat
secara keseluruhan
jumlah kalori dari
makanan, jumlah kalori
yang dibakar dari
olahraga, dan kalori
1 2 5
9 yang tersedia untuk 0 8
(12,5%) (25%) (62,5%)
hari ini), apakah
aplikasi ini membantu
pengguna untuk
memecahkan
permasalahan tentang
kebutuhan kalori harian
?
Dengan semua fitur
yang ada di aplikasi ini,
2 6
10 apakah aplikasi ini bisa 0 0 8
(25%) (75%)
membantu membentuk
pola hidup sehat?
48
BAB VII
KESIMPULAN DAN SARAN
7.1 Kesimpulan
Dari merancang, membuat, hingga evaluasi, kelompok kami dapat menarik
kesimpulan yang berhubungan dengan pembahasan yang telah dikemukakan pada
bab-bab sebelumnya antara lain :
1. Berdasarkan perancangan, pengkodean sampai dengan tahap pengujian,
disimpulkan bahwa aplikasi Dibscal ini berhasil dibangun sesuai dengan
rancangan, sehingga dapat membantu pengguna dalam perhitungan kalori untuk
diet.
2. Aplikasi Dibscal merupakan aplikasi yang user friendly
3. Aplikasi Dibscal merupakan aplikasi yang memiliki high performance dan
tampilan user interface yang cukup baik
4. Aplikasi Dibscal adalah aplikasi yang ringan, praktis, dan tidak membingunkan
bagi pengguna
7.2 Saran
Berdasarkan kekurangan dan keterbatasan yang ada dalam aplikasi ini, maka
kelompok kami mempunyai beberapa saran, antara lain :
1. Pada pengembangan selanjutnya, diharapkan fitur Penambahan Makanan dapat
menambahkan gambar. Dan menyesuaikan jumlah kalori dari database resep
makanan yang ada.
2. Pada pengembangan selanjutnya pada Toko Agri akan ditambahkan fitur
peringatan agar menjaga pola makan dan jika gagal dalam mengatur kalori maka
terdapat peringatan diet gagal.
3. Pada pengembangan selanjutnya, diharapkan terdapat fitur peringatan untuk
minum air putih teratur setiap beberapa menit. Hal ini untuk membantu menunjang
aktivitas diet.
4. Pada pengembangan selanjutnya, diharapkan fitur olahraga tidak hanya
menginputkan olahraga saja, namun bisa menghitung kalori yang terbakar saat
pengguna berjalan kaki, berlari/berjoging ataupun melakukan gerakan push up.
49
DAFTAR PUSTAKA
amartakarya. (2017, Januari 17). KEBIJAKAN TI PTPN 13. Diambil kembali dari Scribd:
http://www.scribd.com/doc/200356264/65740f188b9c047896cc39b30815c0ac4760-
KEBIJAKAN-TI-PTPN-13
Dira, N. (2016, Juli 7). apa itu firebase. Dipetik November 19, 2018, dari saungit:
http://www.saungit.org/2016/07/apa-itu-firebase.html
50
LAMPIRAN
File AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.dibscal">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher_dibscal_logo"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_dibscal_logo_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".SplashScreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
</application>
</manifest>
File CalculateEatCalories.java:
package com.example.dibscal;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
51
TextView clickedItem;
TextView clickedItem2;
EditText gram;
TextView tatalcalories;
TextView getClickedItem3;
TextView clickedItemCaloriesNumber;
Intent intent;
String clickedItemCalories;
String clickedItemfood;
String clickedItemDescription;
Button calculate;
Button addToHistory;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculate_eat_calories);
gram = findViewById(R.id.gram);
tatalcalories = findViewById(R.id.tatalcalories);
clickedItem = findViewById(R.id.clickedItem);
clickedItem2 = findViewById(R.id.clickedItem2);
getClickedItem3 = findViewById(R.id.clickedItemFoodName);
clickedItemCaloriesNumber = findViewById(R.id.clickedItemCaloriesNumber);
calculate = findViewById(R.id.btn_calculate);
addToHistory = findViewById(R.id.btn_add_to_history);
gram.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int
after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int
count) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
52
intent = getIntent();
clickedItemDescription = intent.getStringExtra("description");
clickedItemCalories = intent.getStringExtra("calories");
clickedItemfood = intent.getStringExtra("food");
getClickedItem3.setText(clickedItemfood);
clickedItemCaloriesNumber.setText(clickedItemCalories);
clickedItem2.setText(clickedItemDescription);
clickedItem.setText(clickedItemCalories);
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(gram.getText().toString().isEmpty()){
}
else {
String total =
String.valueOf(Integer.valueOf(String.valueOf(gram.getText())) *
Integer.valueOf(clickedItemCalories));
tatalcalories.setText(total);
}
}
});
addToHistory.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(!tatalcalories.getText().toString().isEmpty() &&
!gram.getText().toString().isEmpty()){
historyArrayList = new ArrayList<>();
//DB
FirebaseDatabase database = FirebaseDatabase.getInstance();
ref_history = database.getReference("history");
//VIEW
historyListView = findViewById(R.id.historyListView);
final String date = today.getYear()+1900 + "-" +
(1+today.getMonth()) + "-" + today.getDate();
// wrire to the DB
//from food
intent = getIntent();
String recipe = intent.getStringExtra("description");
String totalCalories = intent.getStringExtra("calories");
String total =
String.valueOf(Integer.valueOf(String.valueOf(gram.getText())) *
Integer.valueOf(clickedItemCalories));
String eat = intent.getStringExtra("food");
String id = ref_history.push().getKey();
//set data
History history = new History(id, date, "EAT : " + eat, total);
ref_history.child(date).child(id).setValue(history);
Toast.makeText(CalculateEatCalories.this,"Added to
history",Toast.LENGTH_LONG).show();
53
}
else {
Toast.makeText(CalculateEatCalories.this,"You have to input
portion",Toast.LENGTH_LONG).show();
}
}
});
}
}
public void goBackToRecordEat(View view) {
intent = new Intent(this, EatActivity.class);
startActivity(intent);
}
public void goToRecord(View view) {
intent = new Intent(this, EatActivity.class);
startActivity(intent);
}
}
54
File activity_calculate_eat_calories.xml:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/gradient_splash_screen">
<ImageButton
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="20dp"
android:onClick="goBackToRecordEat"
android:padding="10dp"
android:src="@drawable/ic_keyboard_arrow_left_black_24dp"
android:background="@drawable/gradient_splash_screen"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/gradient_splash_screen"
android:fontFamily="@font/roboto_medium"
android:gravity="center"
android:padding="15sp"
android:text="Record"
android:layout_marginRight="75sp"
android:textColor="@color/colorPrimaryOff"
android:textSize="21sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="431dp"
android:orientation="vertical"
android:padding="@dimen/wrapPad">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/clickedItemFoodName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="-5sp"
android:fontFamily="@font/roboto"
android:text="item"
android:textColor="#666666"
android:textSize="25sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="5sp"
55
android:paddingBottom="5sp"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
android:text="calories: "
android:textColor="#666666"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:id="@+id/clickedItemCaloriesNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
android:text=" calories"
android:textColor="#666666"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="0sp"
android:fontFamily="@font/roboto"
android:text=" cal"
android:textColor="#666666"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="180dp">
<TextView
android:id="@+id/clickedItem2"
android:layout_width="338dp"
android:layout_height="120dp"
android:textSize="14sp"
android:text="recipe"
android:layout_marginLeft="3dp"/>
</ScrollView>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
android:paddingTop="10dp"
android:text="Calculate food:"
android:textColor="@color/colorNewColor"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="193dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
56
android:layout_marginLeft="5dp">
<TextView
android:id="@+id/clickedItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
android:text="item"
android:textAlignment="center"
android:textColor="@color/colorNewColor"
android:textSize="17sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
android:text=" cal"
android:textColor="@color/colorNewColor"
android:textSize="17sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
android:text=" × "
android:textSize="17sp" />
<EditText
android:id="@+id/gram"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
android:inputType="number"
android:textSize="17sp" />
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
android:inputType="number"
android:text="portion" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="= "
android:textSize="17sp" />
<TextView
android:id="@+id/tatalcalories"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
android:text="___"
android:textColor="@color/colorNewColor"
android:textSize="17sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
57
android:text=" calories"
android:textColor="@color/colorNewColor"
android:textSize="17sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/wrapPad">
<Button
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@color/colorTextStrong"
android:fontFamily="@font/roboto"
android:text="Calculate"
android:textColor="@color/colorPrimaryOff"
android:id="@+id/btn_calculate"/>
<Button
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginTop="18dp"
android:background="@color/colorNewColor"
android:text="Add to history"
android:id="@+id/btn_add_to_history"
android:textColor="@color/colorPrimaryOff" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="29dp"
android:layout_gravity="bottom"
android:layout_weight="1"
android:gravity="bottom"
>
<ImageButton
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:background="@color/colorPrimaryOff"
android:onClick="goToProfile"
android:padding="10dp"
android:src="@drawable/ic_person_inactive_24dp" />
<ImageButton
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:background="@color/colorPrimaryOff"
android:onClick="goToOverview"
android:padding="10dp"
android:src="@drawable/ic_pie_inactive" />
<ImageButton
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:background="@color/colorPrimaryOff"
android:padding="10dp"
android:src="@drawable/ic_playlist_add_active_24dp" />
58
<ImageButton
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:background="@color/colorPrimaryOff"
android:onClick="goToHistory"
android:padding="10dp"
android:src="@drawable/ic_history_inactive_24dp" />
</LinearLayout>
</LinearLayout>
59