9
BAB 2                                                                                     
TINJAUAN PUSTAKA
2.1
Teori yang berkaitan dengan Mobile Application
2.1.1
Agile Software Development
Metodologi ini menggabungkan sebuah filosofi dan kumpulan
pedoman pengembangan. Filosofi menggiatkan kepuasan klien dan rilis
perangkat lunak bertahap; tim yang kecil dan tinggi motivasi; metode
informal; produk dengan sedikit rekayasa; dan pengembangan yang
sederhana secara keseluruhan. Pedoman pengembangan menekankan pada
analisis dan perancangan serta komunikasi antar pengembang dan klien yang
aktif dan terus-menerus (Pressman, 2010:65). 
Kegiatan kerangka dasar pada agile development
adalah
communication, planning, modeling, construction, dan deployment. Proyek
akan dibagi kepada tim menjadi tugas-tugas kecil yang mendorong konstruksi
dan rilis. Dalam pengerjaan proyek, penyelesaian satu tugas kecil
disampaikan ke klien sesuai waktu yang disetujui. Proyek akan sukses saat
memenuhi tuntutan dan kepuasan klien.
Ada banyak metodologi agile
dengan prinsip yang sama namun
berbeda penerapannya, seperti extreme programming
(XP), scrum, crystal,
lean development, adaptive software development (ASD), dan feature driven
development (FDD).
  
2.1.2
Extreme Programming
Extreme Programming
yang disingkat XP adalah salah satu
metodologi pengembangan perangkat lunak agile yang diperkenalkan
pertama kali oleh Kent Beck pada tahun 1996 dalam proyek C3. Metodologi
ini mengedepankan proses pengembangan yang lebih responsif terhadap
kebutuhan klien (”agile”) dibandingkan dengan metode-metode tradisional
sambil membangun suatu software dengan kualitas yang lebih baik. 
Nilai dasar yang terkandung di dalam metodologi ini adalah
(Pressman: 2010, 72-73) :
  
10
1.
Komunikasi (Communication)
Komunikasi efektif antara pengembang perangkat 
lunak dan stakeholder serta klien. 
2. 
Kesederhanaan (Simplicity)
Untuk mencapai kesedarhaan, pengembangan berfokus
pada
kebutuhan dasar dibanding
pertimbangan kebutuhan yang akan
datang, perancangan sederhana agar mudah
diimplementasi dalam
code.  
3. 
Umpan balik (Feedback)
Umpan balik didapat dari perangkat lunak itu sendiri, 
klien, dan anggota tim proyek.
4. 
Keberanian (Courage)
Keberanian dapat diartikan juga disiplin dalam bekerja. 
5. 
Menghormati (Respect)
Menghormati sesama anggota tim, stakeholder,
perangkat
lunak yang dikembangkan, dan proses XP.
Gambar 2.1 XP Project Lifecycle
(Pressman, 2010:74)
Project lifecycle XP berbeda dengan metode pengembangan lainnya
karena
bersifat tidak mengikat atau tidak kaku, sehingga tim pengembang
dapat lebih fleksibel dalam melakukan pengembangan sistem. XP merupakan
metodologi yang dapat meningkatkan kecepatan pengembangan dan
membuat
tim bereaksi lebih fleksibel untuk memenuhi suatu perubahan
kebutuhan. Berikut ini adalah gambardari project lifecycle XP: 
  
11
Ada empat tahapan pada XP project lifecycle, yaitu:
1.
Planning
Pada tahap ini disusun sebuah stories
yang menggambarkan
fitur dan fungsi dari software
yang akan dibuat. Klien menyusun
tingkatan stories tersebut berdasarkan prioritas dan pihak software
developer memperkirakan waktu
yang diperlukan untuk membuat
software. Misalkan terdapat story
yang memerlukan waktu lebih dari
tiga minggu untuk
diselesaikan, maka pihak klien diminta untuk
menyederhanakan stories
tersebut. Selain itu, stories
baru
dapat
muncul kapan saja (Pressman, 2010: 73-75). 
2.
Design
Proses perancangan pada XP mengikuti prinsip Keep It Simple
(KIS). Perancangan harus sederhana karena mengikuti stories
yang
telah dibuat pada tahapan sebelumnya. XP 
mendorong penggunaan
CRC (Collaborative-Resposibility-
Collaborator) cards yaitu
identifikasi dan organisasi class berorientasi objek serta spike solution
yaitu perancangan kemungkinan masalah dan jalan keluar. Pada tahap
selanjutnya juga terdapat proses refactoring
yang sangat berguna
dalam pembuatan perangkat lunak. Refactoring
merupakan proses
penyederhanaan algoritma maupun struktur program tanpa  mengubah
hasil akhirnya untuk optimisasi, contoh penggunaan perulangan yang
meningkatkan performa dari software tersebut dan meminimasi bugs.
Tahap perancangan dapat terjadi sebelum dan sesudah pengkodean
program. (Pressman, 2010: 75-76). 
3. 
Coding
Setelah dua tahap sebelumnya selesai, software developer
sebaiknya tidak langsung melakukan pengkodean, namun melakukan
pengetesan pada setiap unit yang terdapat pada stories. Kemudian
pengembang software
sebaiknya fokus pada apa yang akan dibuat
untuk melewati tes tersebut. XP menyarankan teknik pair
programming. Setelah itu, tahap pengkodean segera dimulai dan diuji
agar segera mendapatkan feedback (Pressman, 2010:76).
  
12
4.
Testing
Pada tahap ini, unit tests
dan acceptance tests
melakukan
pengujian terhadap program yang
telah selesai. (Pressman, 2010:76-
77). 
Metodologi XP tepat digunakan pada saat keperluan untuk
merubah yang cepat dan tim programmer yang sedikit. Kelebihan XP
antara lain:
1. Metode agile
yang paling banyak digunakan dan menjadi
sebuah
pendekatan yang sangat terkenal. 
2.
Setiap feedback
ditanggapi dengan melakukan tes, unit test,
dan
system intergration.
3. Banyak ide dan berani mencobanya, berani mengerjakan
kembali
dan setiap kali kesalahan ditemukan, langsung diperbaiki.
4. Menekankan pada kesederhanaan dalam pengkodean. Lebih baik
melakukan hal  yang sederhana dan mengembangkan besok jika
diperlukan.
2.1.3 
Rekayasa Perangkat Lunak
2.1.3.1 Pengertian
 
Rekayasa perangkat lunak adalah pembuatan perangkat lunak
dengan menggunakan prinsip rekayasa yang kuat untuk menghasilkan
perangkat lunak yang ekonomis, handal, dan bekerja secara efisien
(Pressman 2010:13). 
2.1.3.2 Lapisan Rekayasa Perangkat Lunak
 
Rekayasa perangkat lunak merupakan teknologi bertingkat
atau berlapis. Lapisan-lapisan pada teknologi ini tersusun sebagai
berikut (Pressman, 2013:13-14):
  
13
Gambar 2.2 Lapisan Rekayasa Perangkat Lunak
(Pressman, 2010:14)
 
1.
A Quality Focus
 
Landasan dalam teknologi rekayasa piranti lunak
adalah berpusat pada kualitas. Semua proses rekayasa piranti
lunak harus didasari dengan komitmen sebuah organisasi untuk
menghasilkan software yang berkualitas.
2.  
Process
 
Proses mendefinisikan sebuah kerangka kerja untuk
satu set Kunci Proses Area (KPA) yang harus dibentuk agar
pengerjaan rekayasa perangkat lunak berjalan secara efektif.
Prosedur dilakukan secara terurut dan tepat, dimana metode
teknis akan diterapkan, membuat dokumen, data, laporan, serta
kendali untuk menjamin kualitas dan perubahan dikelolah
dengan baik.
3.  
Methods
Metode menyediakan cara-cara teknis dalam
membangun sebuah perangkat lunak meliputi perancangan dan
estimasi proyek, analisis kebutuhan sistem dan perangkat
lunak, perancangan struktur data, konstruksi program, testing
dan support.
4.  
Tools
 
Tools menyediakan dukungan yang bersifat otomatis
dan semi-otomatis untuk proses dan metode. Saat tools
terintegrasi, informasi yang dihasilkan satu tool dapat dipakai
  
14
tool lainnya sehingga sistem dapat mendukung pengembangan
perangkat lunak.
2.1.3.3 Kategori Perangkat Lunak
 
Terdapat tujuh kategori perangkat lunak, yaitu:
(Pressman,
2010:7)
 
1.
System Software
 
Sebuah kumpulan dari program yang tertulis untuk
memberikan layanan ke program lainnya, contoh: compilers,
editors, dan file management utilities.
 
2.
Application Software
 
Sebuah aplikasi tersendiri yang menyelesaikan
kebutuhan bisnis yang spesifik. Application software
digunakan untuk mengatur fungsi business secara real-time.
Contoh: point-of-sale transaction processing, real-time
manufacturing process control.
 
3.
Engineering or Scientific Software
 
Aplikasi yang menggunakan algoritma pemrosesan
angka dan bidang sains atau teknologi modern. Contoh:
automated manufacturing application, space shuttle ortbital
dynamics application.
 
4.
Embedded Software
 
Aplikasi yang terdapat pada suatu produk atau sistem
dan digunakan untuk mengatur fitur atau fungsi antara
pengguna dan sistem. Contoh: fungsi keypad
di microwave,
fungsi digital pada otomotif.
 
5.
Product-line Software
 
Aplikasi yang dirancang untuk menyediakan
kemampuan spesifik yang dapat digunakan banyak orang.
Contoh: word processing, spreadsheets, multimedia.
 
6.
Web Applications (WebApps)
 
Aplikasi berbasis web berupa hypertext file yang dapat
terintegrasi dengan database
dan aplikasi bisnis. Contoh: e-
commerce
  
15
 
7.
Artificial Intelligence Sofware
 
Aplikasi yang berfungsi untuk menyelesaikan masalah
yang kompleks dengan algoritma non-numerical. Contoh:
robotik, expert system, pattern recognition, dan artificial
neural network.
2.1.4 
Android
 
Android adalah sebuah sistem operasi pada handphone yang
bersifat terbuka dan berbasis pada sistem operasi Linux (Nazruddin Safaat H,
2012:1).
Android menyediakan platform terbuka bagi para pengembang
aplikasi untuk membuat aplikasi mereka sendiri yang akan digunakan di
berbagai macam piranti mobile. Sejak perilisan Android tahun 2008 sampai
2014, Android mempunyai
banyak versi berdasarkan level antarmuka
pemograman aplikasi (API). Versi sistem operasi Android terendah adalah
1.0 dan tertinggi 4.4.
Android merupakan gabungan dari 3 komponen, yaitu:
(Meier 2012:4)
1. Sebuah sistem operasi yang open-source untuk perangkat mobile.
2. Sebuah platform pengembangan yang open-source
untuk membuat
aplikasi mobile.
3. Perangkat,
terutama mobile
phone, yang menjalankan sistem
operasi Android dan aplikasi yang dibuat di sistem operasi itu.
Karakteristik sistem operasi Android (Nazruddin Safaat H, 2012:5)
yaitu platform yang lengkap, terbuka dan bebas berarti : 
1.
Lengkap 
 
Para desainer dapat melakukan pendekatan yang komprehensif
ketika mereka sedang mengembangkan platform
Android. Sistem
operasinya aman dan banyak menyediakan tools
dalam membangun
software dan memungkinkan peluang untuk pengembangan aplikasi.
2.
Terbuka 
 
Platform
Android disediakan melalui lisensi terbuka (open
source) sehingga pengembang dapat dengan bebas mengembangkan
aplikasi. 
  
16
3.
Bebas 
 
Aplikasi android dapat didistribusikan dengan bebas karena
tidak ada lisensi atau biaya royalti untuk dikembangkan pada platform
Android, tidak ada biaya keanggotaan diperlukan, dan tidak
diperlukan biaya pengujian. 
Untuk membuat dan mengembangkan sebuah aplikasi di Android,
para pembuat aplikasi memerlukan: 
1. Android SDK (Software Development Kit)
2. IDE (Intergrated Development Environment)
3. ADT (Android Development Tools)
AVD
(Android Virtual Device)
merupakan emulator perangkat
Android yang berjalan pada komputer dan digunakan untuk menjalankan
aplikasi Android yang telah dibuat. AVD mensimulasikan konfigurasi
hardware
dan software pada perangkat Android yang berbeda sehingga
memungkinkan untuk menguji aplikasi pada berbagai platform (Meier:
2012:30). Pengembang dapat menentukan karakteristik AVD, misalkan
menentukan versi Android, jenis dan ukuran layar, besarnya memory, dan
lain sebagainya.
2.1.5
Arsitektur Android
Arsitektur Android dapat dijelaskan dengan gambar berikut:
  
17
Gambar 2.3 Arsitektur Android
(Meier, 2012:16)
Penjelasan mengenai gambar di atas sistem operasi android terbagi
menjadi (Meier, 2012:15): 
1. 
Linux Kernel
Layanan inti (termasuk driver perangkat keras, proses dan
manajemen memori,keamanan, jaringan, ditangani oleh Linux 2.6
kernel. Kernel juga menyediakan lapisan abstraksi antara perangkat
keras dan sisa stack
2. 
Libraries
Berjalan di atas kernel. Terdiri dari berbagai libraries
inti C
atau  C++ termasuk libc dan SSL, serta:
1. Media library untuk memutar media audio dan video.
2. Surface manager untuk menyediakan pengaturan tampilan.
3. Graphics libraries yang mencakup SGL dan OpenGL untuk
2D dan 3D graphics.
4.   SQLite untuk mendukung database.
5. SSL dan WebKit untuk integrasi web browser
dan
keamanan internet.
  
18
3. 
Android Runtime
Runtime membuat ponsel berbeda dengan implementasi Linux
mobile. Termasuk core libraries
dan Dalvik VM, Android runtime
adalah mesin penggerak aplikasi dan bersama dengan libraries,
membentuk dasar untuk application framework. Android runtime
terbagi menjadi dua yaitu : 
1. 
Core Libraries
Meskipun pengembangan aplikasi Android ditulis
menggunakan bahasa Java, Dalvik bukan mesin virtual Java.
Core libraries
Android menyediakan sebagian besar fungsi
yang tersedia dalam core libraries Java, serta Android specific
libraries.
2. 
Dalvik VM (Virtual Machine)
Dalvik adalah mesin
virtual
berbasis register
yang
dioptimalkan untuk menjamin sebuah perangkat dapat
menjalankan fungsi-fungsi secara efisien. Hal ini
mengandalkan Linux kernel untuk melakukan threading
dan
manajemen tingkat rendah.
4. 
Applications framework
Application framework menyediakan kelas yang digunakan
untuk membuat aplikasi Android dan abstraksi generik untuk akses
hardware dan
mengelola tampilan antarmuka dan sumber daya
aplikasi.
5.
Applications
Semua aplikasi, baik native
dan third-party, yang dibangun
pada lapisan ini dengan libraries API yang sama. Lapisan ini berjalan
dalam Android runtime, dengan menggunakan kelas dan layanan yang
disediakan dari application framework.
2.1.6   Android Software Development Kit (SDK)
 
Android SDK adalah tools
API (Application Programming Interface)
yang diperlukan untuk mengembangkan aplikasi pada platform Android yang
menggunakan bahasa pemrograman Java. Android merupakan subset
perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware
dan
  
19
aplikasi kunci yang di release
oleh Google (Nazruddin Safaat H, 2012:5).
Android SDK terdiri dari seperangkat tools untuk pengembangan aplikasi,
termasuk debugger, library, emulator, dokumentasi, kode sampel, dan
tutorial. (Meier 2012:14-15)
1. 
Android APIs
Android APIs libraries
adalah inti dari Android SDK.
Libraries
yang digunakan oleh Google sama dengan libraries
yang
digunakan untuk membuat aplikasi Android.
2.  
Development Tools
Development tools digunakan untuk compile dan debug source
code menjadi aplikasi Android yang dapat dijalankan.
3. 
Android Virtual Device Manager dan Emulator
Sebuah simulasi interaktif perangkat keras yang telah
dikonfigurasi untuk menjalankan sebuah aplikasi Android.
4.  
Full Documentation
Android SDK menyediakan informasi yang membantu pemula
dalam membuat aplikasi. Informasi berupa cara memulai membuat
aplikasi, penjelasan detail penggunaan dari setiap package
dan class
pada libraries, dan pengembangan aplikasi Android.
5.  
Sample Code
Sampel program sederhana yang menunjukan beberapa
kemungkinan yang terdapat di Android dan bagaimana fitur-fitur API
berjalan.
6.  
Online Support
Android memiliki komunitas developer
yang berkembang
dengan cepat sehingga pengembangan aplikasi Android didukung
oleh online support.
2.1.7
Android Development Tool (ADT)
 
Android Development Tool (ADT) adalah plug-in
yang di desain
untuk memberi kemudahan dalam mengembangkan aplikasi Android dengan
menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse,
pengembang dapat membuat aplikasi Android, GUI aplikasi, menambahan
packagesrun
aplikasi dan pembuatan file
Android (.apk) untuk distribusi
  
20
aplikasi Android. ADT memiliki komponen-komponen meliputi (Meier,
2012: 24) : 
1. Wizard untuk membuat Android project yang 
memudahkan
dalam membuat project baru dan memasukkan template aplikasi yang
dasar.
2.
Forms-based manifest, layout, dan resource editors
untuk
membantu dalam membuat, mengubah, dan memvalidasikan
extensible markup language resource.
3. Automated building of Android projects, konversi menjadi aplikasi
Android yang dapat dieksekusi (.dex), packaging
menjadi package
files (.apk), dan instalasi dari package ke Dalvik virtual machine.
4.
The Android Virtual Device Manager, yang memungkinkan
developer
untuk membuat dan manage
virtual device
yang dapat
dijalankan dengan sistem operasi Android dan memory constraint
tertentu.
5.
The Android Emulator, yang mencakup kontrol dari tampilan
emulator dan konfigurasi koneksi jaringannya, dan kemampuan untuk
mensimulasikan telepon masuk dan pesan SMS.
6.
The Dalvik Debug Monitoring Service
(DDMS), yang mencakup
port forwarding, stack, heap, dan thread viewing, detil prosesnya, dan
fasilitas screen capture.
7. Akses ke file system sebuah device atau emulator, navigasi ke tree
folder dan pengiriman data.
8.
Runtime debugging, sehingga dapat mengatur breakpoint
dan
melihat pemanggilan stack.
9. Semua Android atau Dalvik log dan output konsole
 
ADT bundle
menyediakan kebutuhan pengembang untuk membuat
dan mengembangkan aplikasi dalam satu paket perangkat lunak yang terdiri
dari Eclipse IDE yang telah terintergrasi dengan Android SDK dan ADT.
Dengan ADT bundle, pengembang tidak perlu melakukan instalasi dan
pengaturan secara manual.
  
21
2.1.8
Eclipse
 
Eclipse adalah sebuah komunitas bagi individu dan organisasi yang
ingin berkolaborasi pada perangkat lunak open source
ramah komersial.
Proyeknya terfokus pada membangun sebuah platform
pengembangan
terbuka terdiri dari kerangka extensible, alat, dan runtimes untuk membangun,
menyebarkan dan mengelola perangkat lunak di seluruh siklus hidup
(www.eclipse.org). Secara standar, Eclipse selalu dilengkapi dengan JDT
(Java Development Tools), plug-in
yang membuat Eclipse kompatibel untuk
mengembangkan program Java, dan PDE (Plug-in Development
Environment) untuk mengembangkan plug-in
baru. Eclipse dan plug-in
diimplementasikan dalam bahasa pemrograman Java. Eclipse tidak saja untuk
mengembangkan program Java, tetapi juga untuk berbagai macam keperluan.
Perluasan apapun cukup dengan menginstal plug-in yang dibutuhkan.
Berikut ini adalah sifat dari Eclipse: 
1. 
Multi-platform
Target sistem operasi Eclipse adalah Microsoft Windows,
Linux, Solaris, AIX, HP-UX dan Mac OS X. 
2. 
Mulit-language
Eclipse dikembangkan dengan bahasa pemrograman Java,
akan tetapi Eclipse
mendukung pengembangan aplikasi berbasis
bahasa pemrograman lain seperti C
atau C++, Cobol, Python, Perl,
PHP, dan lain sebagainya. 
3. 
Multi-role
Selain sebagai IDE untuk pengembangan aplikasi. Eclipse pun
bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat
lunak seperti dokumentasi, pengujian perangkat lunak, pengembangan
web, dan lain sebagainya.
2.1.9
Web Services
 
Web services
adalah sistem software
yang dirancang untuk
mendukung interaksi dan interoperabilitas mesin-ke-mesin melalui jaringan.
Web services menggunakan sistem terbuka, berbasis XML standar dan
internet transport protocols
untuk pertukaran data dari server dengan klien
dan sebaliknya (W3.org , 2004).
  
22
 
Perbedaan web services
dengan website biasa adalah interaksi yang
diberikan oleh web services. URI (Unified Resources Identifier) web services
hanya berisi kumpulan informasi, perintah, konfigurasi, atau sintaks yang
berguna untuk membangun fungsi-fungsi tertentu dari aplikasi. 
 
Ketika klien berinteraksi dengan sistem maka akan membentuk suatu
request terhadap database pada server. Server mengolah dan mengembalikan
data ke klien yang berupa response. Pada web services, hubungan antar klien
dan server tidak terjadi secara langsung karena dijembatani oleh web services.
 
2.1.10 REST
 
Teknologi REST pertama diperkenalkan oleh disertasi doktoral Roy
Fielding pada tahun 2000. REST (Representational State Transfer) adalah
suatu jenis dari web server
yang memungkinkan klien, baik user-operated
atau otomatis, untuk mengakses sumber daya (resources) yang memodelkan
data dan fungsi suatu sistem (Masse, 2011:ix). 
 
Ketika klien berinteraksi dengan sistem maka akan membentuk suatu
request terhadap database pada server. Server mengolah dan mengembalikan
data ke klien yang berupa response dalam format XML atau JSON. Pada web
services, hubungan antar klien dan server tidak terjadi secara langsung karena
dijembatani oleh web services.
Gambar 2.4 Arsitektur REST
(Kalin, 2009:123)
Dalam arsitektur diatas, klien mengirimkan dengan HTTP requests
untuk URL yang meminta untuk sumber daya pada server dan merespon
  
23
dengan HTTP Responses
yang kembali ke klien.
Sebagai contoh, request
GET dari klien dapat mengirimkan biografi hacker dalam bentuk halaman
HTML.
 
HTTP methods
adalah kunci
landasan dari REST yang menentukan
tindakan terhadap data. HTTP methods
terdiri dari POST, GET, PUT, dan
DELETE dengan fungsi sebagai berikut (Masse, 2011:23-27): 
1. 
POST      
Klien menggunakan POST ketika mengirimkan sumber daya
ke server; digunakan
untuk membuat (create) sumber daya baru ke
dalam koleksi
2. 
GET        
Klien menggunakan GET dalam pesan request
untuk
mendapatkan (retrieve) sebuah sumber daya. Pesan dapat berisikan
headers saja, tanpa isi (body).
3. 
PUT         
PUT digunakan untuk menambahkan sumber daya ke
penyimpanan dengan URI ditentukan secara spesifik oleh klien;
digunakan untuk memperbaharui atau menggantikan sumber daya
yang sudah ada. Pesan PUT berisikan hal yang ingin diubah.
4. 
DELETE 
Klien menggunakan DELETE untuk menghapus sumber daya
dari penyimpanan atau koleksi. Ketika request untuk menghapus
diproses, sumber daya tidak dapat ditemukan lagi oleh klien. Maka
dari itu, status akan dikembalikan error 404 (Not Found).
 
REST  menggunaan skema yang berorientasi 
pada sumber daya
untuk menggambarkan struktur representasi yang independen dari format
mereka. Orientasi pada sumber daya adalah orientasi yang menyediakan
sumber daya sebagai layanannya dan bukan kumpulan dari aktifitas yang
mengolah sumber daya (Masse, 2011:59).
 
2.1.11
Basis Data (Database)
 
Basis data adalah sebuah kumpulan dari data-data logikal yang
berhubungan dan deskripsi dari data tersebut, yang dirancang untuk
  
24
memenuhi kebutuhan dari informasi pada suatu organisasi
(Connolly dan
Begg , 2010:65). 
 
2.1.12 Entity Relationship Diagram (ERD)
 
Entity Relationship Diagram
(ERD) digunakan untuk
menggambarkan konsep logika basis data. Pemodelan data digambarkan
dengan hubungan antara satu entitas dengan entitas lain (Connolly dan Begg ,
2010:473). 
2.1.13 MySQL
 
MySQL adalah sebuah sistem terbuka (open source) manajemen basis
data SQL yang dikembangkan, didistribusikan, dan didukung oleh Oracle
Corporation (www.mysql.com).
 
Basis data dalam MySQL adalah relasional yang menawarkan
lingkungan pemrograman fleksibel dengan model logis yaitu basis data, tabel,
views, baris dan kolom. Hubungan antara data yang berbeda dapat diatur,
seperti one-to-one, one-to-many, unik, required
atau opsional, dan pointer
antara tabel data yang berbeda. 
 
Perangkat
lunak basis data MySQL adalah sistem klien dan server
yang terdiri dari SQL server
multi-threaded
yang mendukung beberapa
backend berbeda, program klien dan libraries yang berbeda, alat administrasi,
dan berbagai antarmuka pemrograman aplikasi.
2.1.14 Apache
 
Apache HTTP Server adalah sebuah usaha pengembangan kolaboratif
perangkat lunak yang memiliki tujuan untuk membuat sebuah HTTP (Web)
server
yang kuat, komersial, fitur lengkap, dan implementasi source code
secara gratis (httpd.apache.org).
 
Tujuan Apache adalah menampilkan halaman website
yang sesuai
dengan permintaan pengguna berdasarkan kode PHP yang tuliskan dan
mengakses basis data (MySQL).
  
25
2.1.15 PHP
 
PHP (Hypertext Preprocessor) adalah sebuah bahasa pemograman
untuk membangun website yang dinamis dan interaktif (Matt Doyle, 2010:3).
Dinamis yaitu konten dapat berubah dan interaktif berarti dapat menanggapi
input dari pengguna. 
 
PHP berfungsi untuk memproses informasi dan menghasilkan HTML.
PHP disebut juga sebagai server-side scripting language yang berarti berjalan
pada sisi web server, seperti Apache. 
  
PHP bersifat terbuka dan cross-platform sehingga mudah
diaplikasikan ke berbagai sistem operasi dan browser serta mendukung basis
data, seperti MySQL. 
2.1.16  CodeIgniter
 
CodeIgniter adalah sebuah PHP framework
yang kuat dengan
menggunakan memori yang sangat kecil, dibangun untuk pengembang yang
membutuhkan toolkit
sederhana dan elegan untuk membuat aplikasi web
dengan fitur lengkap (www.codeigniter.com).
CodeIgniter menggunakan konsep MVC (Model, View, Controller)
yaitu model untuk memanipulasi basis data, view berupa template HTML atau
XML
atau PHP untuk menampilkan data, dan controller
untuk mengontrol
aliran aplikasi. 
2.1.17  XAMPP
XAMPP merupakan singkatan dari X (sistem operasi: Windows,
Linux, Mac OS, dan Solaris),  Apache,  MySQL, PHP, dan Perl. XAMPP
dikembangkan oleh tim proyek Apache Friends dan didistribusikan secara
Tujuan XAMPP adalah memberikan kemudahan kepada pengembang
untuk melakukan instalasi dan konfigurasi di dunia Apache. 
2.1.18
RSS
 
RSS mempunyai kepanjangan yaitu Rich Site Summary. RSS adalah
sebuah teknologi yang digunakan untuk memantau informasi yang berubah
  
26
dengan cepat pada website
dalam
cara yang terorganisir dan user-friendly
 
RSS tidak dibatasi hanya situs berita, melainkan situs blog, halaman
Twitter atau Facebook, informasi finansial, penawaran harian, situs khusus,
beberapa situs pemerintah. Situs diambil dalam bentuk kode XML. XML
berguna sebagai suatu kumpulan instruksi untuk memberi tahu RSS Feed
Reader bahwa situs telah diperbaharui atau berubah.
2.1.19 10 Prinsip Mobile Interface Design
 
Berikut 10 prinsip rancangan interface
untuk aplikasi mobile
(Jonathan Stark , 2012): 
1. 
Mobile Mindset
Merancang di desktop
berbeda dengan merancang di mobile.
Berikut adalah hal-hal yang harus dijadikan pola pikir saat merancang
di mobile.
 
a. 
Be focused
Utamakan fitur-fitur yang penting dan berguna.
b.
Be unique
Buatlah aplikasi yang memiliki keunggulan yang
berbeda dengan yang lain.
c. 
Be charming
Aplikasi yang nyaman, dapat diandalkan, dan
menyenangkan membuat orang melekat dengan aplikasi
tersebut.
d.
Be considerate
Developer
harus memahami kebutuhan pengguna agar
aplikasinya dapat  menciptakan pengalaman yang berkesan.
2. 
Mobile Context
Untuk menempatkan diri pada posisi pengguna, ada tiga
konteks utama yang perlu dipahami.
a. 
Bored
Ciptakan pengalaman yang mendalam dan
menyenangkan
untuk waktu penggunaan yang lama. Namun
  
27
interupsi pasti terjadi, pastikan aplikasi dapat mengembalikan
sesi dimana waktu terakhir ditinggalkan.
b.
Busy
Pastikan aplikasi dapat menyelesaikan tugas dengan
cepat dan dapat diandalkan walaupun dalam genggaman satu
tangan.
c. 
Lost
Jaringan yang kurang baik dan daya tahan baterai
merupakan hal yang harus dipertimbangkan sehingga aplikasi
harus menawarkan dukungan offline
dan usaha untuk
menghemat daya tahan baterai.
3. 
Global Guidelines
Setiap aplikasi memiliki pendekatan, desain, dan teknik yang
berbeda-beda.
a. 
Responsiveness
Saat pengguna melakukan tindakan, aplikasi dapat
menanggapi secara langsung. Respon dan waktu itu berbeda.
Sebuah operasi boleh memakan waktu tetapi setidaknya
pengguna tahu bahwa operasi sedang berjalan.
b.
Polish
Memperhatikan setiap detail pada aplikasi agar
sempurna.
c.
Thumbs
Merancang aplikasi layar sentuh yang cocok dengan
sentuhan ibu jari.
d. 
Targets
Menempatkan tombol-tombol di tempat yang sesuai.
e. 
Content
Layar sentuh membuat pengguna dapat berinteraksi
langsung dengan konten. Dengan memanfaatkan kekuatan
intuisi sentuhan UI, sedapat mungkin  menempatkan konten di
depan dan terpusat.
  
28
f. 
Controls
Ketika ingin menambahkan kontrol, taruhlah di bagian
bawah layar atau dibawah konten.
g. 
Scrolling
Usahakan tidak perlu scroll layar karena tampilan akan
lebih padat dan terprediksi.
4.
Navigation Models
Ada banyak model navigasi untuk aplikasi mobile. Pilih satu
dari model navigasi umum yang cocok dengan aplikasi yang dibuat.
a. 
None
Satu layar, contohnya aplikasi perkiraan cuaca.
b. 
Tab bar
3-6 area konten yang berbeda.
c. 
Drill down
 
Terdapat susunan list dan detail.
5.
User Input
Mengetik kadang menyulitkan bahkan di perangkat yang
canggih, ada beberapa cara agar menjadi lebih mudah.
a.
Ada banyak variasi keyboard (URL, nomor, tulisan, email,
dll). Cocokan keyboard yang di tampilkan dengan hal yang
harus diketik.
b.
Mempertimbangkan fitur auto-correct, auto-capitalisation,
dan auto-complete.
c.
Mengijinkan
keyboard
secara landscape
jika banyak
mengetik.
6. 
Gestures
Pada perangkat layar sentuh, pengguna berinteraksi dengan
melakukan gerakan jari terhadap layar.
a. 
Invisible
Gerakan jari tidak secara mudah diketahui, maka harus
ada cara agar pengguna dapat mengetahuinya.
b.
Two-hands
Gerakan multi-touch membutuhkan 2 jari. 
  
29
c.
Nice to have
Gerakan jari bagus untuk digunakan. Kadang shorcut
keyboard
juga disukai tetapi kebanyakan orang tidak
mengetahui jika terdapat shortcut.
d. 
No replacement
Banyak aplikasi yang terlalu cepat melewatkan kontrol
yang menggunakan satu jari.
7.
Orientation
a.
Potrait
adalah orientasi layar yang paling banyak
digunakan.
 
b. Jika aplikasi membutuhkan banyak mengetik, perbolehkan
untuk landscape agar pengguna dapat mengakses keyboard
yang lebih besar.
c. Kunci orientasi layar jika memang aplikasi menggunakan 1
tipe orientasi dalam waktu lama.
8. 
Communications
a. 
Provide feedback
Sediakan umpan balik sesaat interaksi terjadi, seperti
tandai
tombol yang di klik atau getaran. Jika proses umpan
balik memakan waktu yang lama, gunakan
spinner
atau
progress bar.
b. 
Modal alerts
Gunakan bahasa dengan niat untuk meyakinkan dan
ramah.
c. 
Confirmations
Ketika menanyakan konfirmasi, tampilkan modal
confirmation dialog. Pastikan pilihan yang aman menjadi
tombol default.
9. 
Launching
Ketika pengguna kembali lagi setelah menggunakannya, suatu
aplikasi harus melanjutkan hal yang terakhir dilakukan saat
ditinggalkan. 
  
30
10. 
First Impressions
a. 
Your icon
Buat ikon aplikasi semenarik mungkin. Ikon yang
bagus mencerminkan aplikasinya juga bagus.
b. 
First Launch
Ciptakan impresi pertama yang baik agar pengguna
tertarik untuk memakai lebih lanjut.
2.1.20 Unified Modelling Language (UML)
 
Unified Modelling Language
adalah sekumpulan konversi tentang
yang digunakan untuk menspesifikasi atau menggambarkan sistem software
dengan hal-hal tentang objek. (Whitten & Bentley, 2007:371).
 
UML memiliki tujuan yaitu membangun suatu model sistem yang
kompleks dengan meningkatkan kompleksitas sistem, visualisasi, dan
pemodelan yang memungkinkan user dalam memahami secara keseluruhan.
Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika
digambarkan biasanya dialokasikan untuk view tertentu. 
2.1.20.1 Use Case Diagram
 
Use case
adalah abstraksi dari interaksi antara sistem dan
aktor. Use case
bekerja dengan cara mendeskripsikan tipe interaksi
antara user
sebuah sistem dengan sistemnya sendiri melalui sebuah
cerita bagaimana sebuah sistem dipakai. Use case diagram
adalah
diagram yang menggambarkan interaksi antara sistem baik internal
maupun eksternal dengan pengguna. Dengan kata lain, use case
diagram
menggambarkan siapa yang akan menggunakan sistem dan
dengan cara apa pengguna berinteraksi dengan sistem tersebut
(Whitten & Bentley, 2007:246).
Elemen-elemen yang digunakan dalam use case diagram :
  
31
1.
 
Boundary System
Gambar 2.5 Simbol Boundary System
Proses terjadi di dalam boundary
system
dan di luar
boundary
system
terdapat environment. Pertukaran input
dan
output
terjadi antar sistem dan environment
(Whitten &
Bentley, 2007:321).
2. 
Use Cases
Gambar 2.6 Simbol Use Case
(Whitten & Bentley, 2007:246)
Use case
diwakili secara grafis dalam bentuk elips
dengan nama judul kasus yang ditulis di atas, di bawah, atau di
dalam elips. Sebuah use case
merepresentasikan satu tujuan
dari sistem dan menjelaskan urutan kegiatan dan interaksi
pengguna dalam mencapai tujuan (Whitten & Bentley,
2007:246).
System
  
32
3. 
Aktor
Gambar 2.7 Simbol Actor
(Whitten & Bentley, 2007:247)
Aktor diwakili secara grafis dalam bentuk stickman
yang diberi nama sesuai perannya. Use case
diawali atau
dipicu oleh pengguna eksternal disebut aktor. Seorang aktor
memulai aktivitas sistem dengan tujuan yaitu menyelesaikan
beberapa tugas yang menghasilkan sesuatu yang bernilai
terukur. Ada empat tipe dasar aktor, yaitu:
1. 
Primary Business Actor
Primary Business Actor
adalah pihak yang
mendapatkan hasil yang terukur dari eksekusi use case.
2.
Primary System Actor
Primary system actor
adalah pihak yang
berinteraksi secara langsung dengan sistem.
3. 
External Server Actor
External server actor
adalah pihak yang
menanggapi permintaan dari use case.
4. 
External Receiver Actor
External receiver actor
adalah pihak yang
menerima hasil dari use case
tetapi bukan primary
actor.
  
33
4. 
Relasi
Relasi digambarkan dengan sebuah garis antara dua
simbol dalam use case diagram. Ada beberapa macam relasi
berdasarkan gambar garis dan tipe simbol yang terhubung:
1. 
Asosiasi
Asosiasi adalah relasi yang menggambarkan
interaksi aktor dan use case
dengan simbol garis
dengan atau tanpa tanda panah.
Garis dengan tanda
panah menjelaskan bahwa use case
dilakukan oleh
aktor, sedangkan garis tanpa tanda panah menjelaskan
interaksi antara use case
dengan external server
atau
receiver actor.
Gambar 2.8  Asosiasi
(Whitten & Bentley, 2007:248)
2. 
Extends
Extends digunakan saat sebuah use case
memiliki beberapa tahap. Tahap tersebut akan
menghasilkan use case
yang disebut extension use
case. Relasi extends
digambarkan dengan garis tanda
panah dan berlabel "<<extends>>". 
Gambar 2.9  Extends
(Whitten & Bentley, 2007:249)
  
34
3.
Uses (Includes)
Uses
digunakan saat dua atau lebih use case
melakukan tahapan fungsionalitas yang sama.
Gabungan dari use case
tersebut adalah abstract use
case. Relasi uses
digambarkan dengan garis tanda
panah dan berlabel "<<uses>>".
Gambar 2.10  Uses
(Whitten & Bentley, 2007:249)
4. 
Depends On
Relasi yang menggambarakan suatu use case
yang tidak dapat dilaksanakan sampai use case lain
dilaksanakan. Relasi ini digambarkan dengan garis
dengan anak panah berlabel "<<depends on>>".
Gambar 2.11  Depends On
(Whitten & Bentley, 2007:250)
  
35
5. 
Inheritance
Relasi saat dua atau lebih aktor menggunakan
use case yang sama. Relasi ini digambarkan dengan
garis dengan anak panah.
Gambar 2.12  Inheritance
(Whitten & Bentley, 2007:250)
Berikut adalah contoh dari use case diagram:
 
Gambar 2.13  Use Case Diagram
(Whitten & Bentley, 2007:246)
  
36
2.1.20.2 Use Case Narrative
 
Use case narratives
adalah dokumentasi secara high-level
(tingkat tinggi atau
secara luas) untuk memahami kejadian dan
tingkatan pada sistem (Whitten & Bentley, 2007: 256). Setiap use case
harus diperluas untuk memasukkan aliran khusus dari kejadian dan
aliran alternatifnya. Aliran khusus use case
dari kejadian adalah
deskripsi langkah demi langkah yang dimulai dari seorang aktor yang
memulai proses dan berlanjut sampai akhir kejadian. Aliran alternatif
mendokumentasi jalur bercabang dari use case
(Whitten & Bentley,
2007, p.258).
2.1.20.3 Class Diagram
 
Class adalah gambaran mengenai
keadaan (atribut
atau
properti) suatu sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metode atau fungsi). Class diagram
menggambarkan struktur objek sistem, yang diperlihatkan dalam
bentuk susunan kelas objek dan hubungannya antara
kelas objek
lainnya
(Whitten & Bentley, 2007:400). Class
memiliki tiga aspek
pokok, yaitu:
1. 
Nama atau object instance
Merupakan nama dari suatu class yang digunakan
sebagai pembeda dari suatu objek.
2. 
Atribut
Merupakan  properti atau data yang berada pada class
tersebut. 
3. 
Metode atau behaviour
Merupakan fungsi atau operasi yang dimiliki pada
class tersebut
  
37
Gambar 2.14  Contoh Arsitektur Class
2.1.20.3.1 Visibility
 
Dalam class diagram, suatu objek memiliki hak akses
terhadap atribut dan behaviour yang disebut visibility. Ada tiga
jenis visibility, yaitu (Whitten & Bentley, 2007: 650) :
1.  
Public
Atribut atau behaviour
dapat dipanggil oleh
semua class
yang berhubungan. Public dilambangkan
dengan tanda tambah (+).
2.  
Private
Atribut atau behaviour digunakan oleh class
itu
sendiri dan tidak dapat dipanggil oleh class
lain.
Private dilambangkan dengan tanda minus (-).
3. 
Protected
Atribut atau behaviour digunakan oleh class
itu
sendiri dan class
turunannya (child). Protected
dilambangkan dengan tanda pagar (#).
2.1.20.3.2 Multiplicity
 
Antar class
dalam class diagram memiliki hubungan
yang dilengkapi dengan multiplicity, yaitu jumlah minimal dan
maksimal suatu objek class
yang berhubungan dengan objek
class lainnya, terdiri dari (Whitten & Bentley, 2007: 377) :
  
38
Tabel 2.1  Notasi Multiplicity
Notasi
Arti
0..1
Nol atau satu
1
Tepat satu
0..*
Nol atau lebih
1..*
Satu atau lebih
n..n
Rentang spesifik
2.1.20.3.3 Relationships
 
Semua class pada class
diagram saling berhubungan.
Hubungan antar class terbagi menjadi beberapa jenis, yaitu:
1. 
Asosiasi
Hubungan statis antar satu class
dengan class
lainnya. Umumnya menggambarkan class yang
memiliki atribut berupa class lain, atau class yang
harus mengetahui eksistensi class lain. Ada dua jenis
hubungan asosiasi, yaitu:
1. 
Uni-directional
Hubungan
digambarkan dengan garis
yang memiliki anak panah (navigability) yang
berarti tidak semua kelas berperan dan hanya
satu kelas yang dapat mengirim pesan ke kelas
lainnya yang ditunjuk.
2.  
Bi-directional
Hubungan digambarkan dengan garis
tanpa anak panah yang berarti
semua
kelas
berperan dan dapat saling mengirim pesan ke
kelas lainnya yang terhubung.
2.
Agregasi
Merupakan hubungan “bagian dari” atau
“terdiri dari”. Hubungan agregasi digunakan ketika
satu kelas (whole part) dibuat dari beberapa kelas
  
39
lainnya (is part of) (Whitten & Bentley, 2007: 378).
Hubungan agregasi dilambangkan dengan tanda wajik
putih. Contoh, hubungan antara class pemain dan class
tim. Tim terdiri dari pemain dan pemain adalah bagian
dari tim.
Gambar 2.15 Hubungan Agregasi
(Whitten & Bentley, 2007: 379)
3.  
Komposit
Merupakan hubungan suatu part
class
dengan
whole
class
dimana
siklus hidup  part class
sangat
bergantung pada whole class
sehingga
bila instance dari whole class
dihapus
maka instance dari part class juga akan terhapus
(Whitten & Bentley, 2007: 378). Komposit adalah
hubungan agregasi yang lebih kuat dan dilambangkan
dengan tanda wajik hitam. Contoh, hubungan antara
mesin dan mobil. Mesin adalah bagian dari mobil dan
mobil tidak dapat dipisahkan dengan mesin karena bila
mesin tidak ada, mobil tidak dapat berfungsi.
  
40
Gambar 2.16 Hubungan Komposit
(Whitten & Bentley, 2007: 379)
4. 
Inherintance dan Generalisasi
atau
Spesialisasi
Ketika metode atau atribut dari satu class
diturunkan atau dipakai kembali oleh class
lain disebut
inheritance atau pewarisan (Whitten & Bentley, 2007:
373). Class asal atau parent atau
superclass dapat
mewarisi semua atribut serta metode dan
menambahkan fungsionalitas baru ke
class
yang
diwarisi atau child
atau
subclass. Generalisasi adalah
sebuah teknik dimana atribut dan metode mempunyai
kesamaan dikelompokkan menjadi satu class
(supertype). Atribut dan metode dari supertype
diturunkan menjadi subtypes
(Whitten & Bentley,
2007: 373).
  
41
Gambar 2.17 Hubungan Generalisasi
(Whitten & Bentley, 2007: 378)
  
42
Berikut adalah contoh dari class diagram:
Gambar 2.18 Class Diagram
(Whitten & Bentley, 2007: 406)
2.1.20.4  Sequence Diagram
 
Sequence diagram
menggambarkan model logika dari
sebuah use case dengan menggambarkan pesan yang dikirimkan antar
objek dalam suatu urutan waktu (Whitten & Bentley, 2007:659).
Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim
  
43
antara object juga interaksi antara objek, sesuatu yang terjadi pada
titik tertentu dalam eksekusi sistem.
 
Elemen-elemen yang digunakan pada sequence
diagram
(Whitten & Bentley, 2007:660) :
1. 
Aktor
 
Gambar 2.19  Simbol Actor
(Whitten & Bentley, 2007:247)
Aktor mewakili pengguna dalam berinteraksi dengan
user interface. Aktor dapat direpresentasi kan dengan stickman
seperti pada use case diagram atau kotak dengan tulisan
"<<actor>>". Garis vertikal putus-putus yang dibawah aktor
menggambarkan masa aktif sequence
2. 
Lifeline
Garis putus-putus yang menunjukan masa aktif dari
actor atau object.
Gambar 2.20  Simbol Lifeline
  
44
3. 
Object
 
Gambar 2.21  Simbol Object
Sebuah kotak yang mewakili kelas-kelas yang berasal
pada class diagram. 
4. 
Activation Bar
Gambar 2.22  Simbol Activation Bar
Sebuah batang yang menggambarkan masa waktu dari
objek yang digunakan.
5. 
Messages
Gambar 2.23  Simbol Messages
Pesan digambarkan dengan garis tanda panah. Setiap
pesan memanggil metode dari class yang ditunjuk arah panah.
  
45
Awal kata pada pesan ditulis dengan huruf kecil dan kata
selanjutnya diawali dengan huruf besar. Parameter yang
dilempar ditulis dalam kurung dan koma.
6. 
Return Messages
 
Gambar 2.24  Simbol Return Messages
 
Sebuah garis horizontal putus-putus menggambarkan
return messages
yaitu setiap metode yang mengembalikan
sesuatu, seperti benar atau salah yang menandakan metode itu
sukses atau tidak.
7. 
Self-call
Gambar 2.25  Simbol Self-call
Sebuah objek dapat memanggil metodenya sendiri.
8. 
Frame
Gambar 2.26  Simbol Frame
  
46
Digunakan sebagai penanda area pada diagram yang
mengalami perulangan (looping), seleksi (alternative), atau
memiliki aturan tertentu (optional).
Berikut adalah contoh dari sequence diagram:
Gambar 2.27 Sequence Diagram
(Whitten & Bentley, 2007:659)
2.1.20.5  Activity Diagram
 
Activity Diagram
adalah sebuah diagram yang digunakan
untuk menggambarkan sebuah alur dari sebuah proses bisnis, langkah-
langkah dari use
case, atau logika dari sebuah karakteristik objek
(method) (Whitten & Bentley, 2007:390).
 
Notasi yang digunakan dalam activity diagram adalah
(Whitten & Bentley, 2007:391):
1.
Initial Node
Gambar 2.28 Initial Node
Initial node adalah sebuah lingkaran yang solid 
menandakan awal dimulainya proses.
  
47
2. 
Actions
Gambar 2.29 Actions
Actions merepresentasikan langkah per satuan. Alur
dari banyak actions
membangun total aktifitas yang terdapat
pada diagram.  
3. 
Flow
Gambar 2.30 Flow
Tanda panah pada diagram adalah gerak maju dari
actions. Kebanyakan alur tidak perlu kata untuk
mengidentifikasi kecuali keluar dari decisions.
4. 
Decision
Gambar 2.31 Decision
Decision adalah bentuk wajik dengan satu alur masuk
dan dua atau lebih alur keluar. Alur yang keluar menandakan
kondisi.
5. 
Merge
Gambar 2.32 Merge
  
48
Merge adalah bentuk wajik dengan dua atau lebih alur
masuk dan satu alur keluar. Ini menggabungkan alur yang
sebelumnya terpisah oleh decisions.
6. 
Fork
Gambar 2.33 Fork
Sebuah bar hitam dengan satu alur masuk dan dua atau
lebih alur keluar. Actions yang berjalan paralel dibawah fork
terjadi di berbagai urutan ataupun bersama-sama.
7. 
Join
Gambar 2.34 Join
Sebuah bar hitam dengan dua atau lebih alur masuk
dan satu alur keluar, menandakan akhir dari proses paralel.
Semua actions yang masuk ke join harus terselesaikan
sebelum pemrosesan berlanjut. 
8. 
Activity Final
Gambar 2.35 Activity Final
Akhir dari proses dilambangkan dengan sebuah
lingkaran solid di dalam bingkai lingkaran.
  
49
Berikut adalah contoh dari activity diagram:
Gambar 2.36 Activity Diagram
(Whitten & Bentley, 2007: 393)
2.2
Teori yang berkaitan dengan diet
2.2.1
Diet
 
Tanggapan kata diet di masyarakat sering diartikan sebagai usaha
dalam mengurangi porsi makan untuk mencapai berat badan yang diinginkan,
atau untuk mendapatkan bentuk tubuh yang kurus. Padahal, arti diet menurut
  
50
KBBI (Kamus Besar Bahasa Indonesia) adalah mengatur pola makan untuk
kesehatan. 
 
Diet berasal dari bahasa Yunani, yaitu diaita
yang berarti cara hidup
(The Free Dictionary,
2012).
Dalam Kamus Gizi Pelengkap Kesehatan
Keluarga 2009 keluaran Persatuan Ahli Gizi Indonesia (Persagi), diet
memiliki arti sebagai pengaturan pola dan konsumsi makanan serta minuman
yang dilarang, dibatasi jumlahnya, dimodifikasi, atau diperolehkan dengan
jumlah tertentu untuk tujuan terapi penyakit yang diderita, kesehatan, atau
penurunan berat badan. Maka dari itu diet dapat di defenisikan sebagai usaha
seseorang dalam mengatur pola makan untuk mendapatkan berat badan yang
ideal.
 
Diet yang seimbang menjadi penting karena organ-organ tubuh dan
jaringan memerlukan nutrisi yang tepat untuk bekerja secara efektif. Tanpa
nutrisi yang baik, tubuh menjadi lebih rentan terhadap penyakit, infeksi,
kelelahan, dan kinerja yang buruk (Krans, www.healthline.com). Berat badan
dapat turun secara gradual, bukan secara tiba-tiba.
 
Memilih makanan yang dikonsumsi sehari-hari dengan
memperhatikan kalori dan nilai gizinya merupakan hal penting dalam
melakukan diet, misalnya memilih roti yang terbuat dari gandum
dibanding
roti biasa karena kalori yang lebih rendah. Peranan makanan yang berserat
sangat penting karena membuat lebih kenyang dan menlancarkan pencernaan. 
 
Saat melakukan diet, ada satu fase dimana pelaku diet tiba-tiba tidak
dapat menurunkan berat badan lagi. Fase itu disebut fase plateau. Dalam fase
plateau, pelaku sudah menurunkan berat badan dan kemudian tidak
mengalami penurunan lagi. Hal ini disebabkan oleh perubahan kebutuhan
kalori dengan berat badan yang baru. Fase plateau dapat diatasi dengan
pengaturan makan dan olahraga sesuai berat badan terakhir (Kamb,
 
Keinginan untuk mencapai berat badan ideal secara cepat dengan diet
ekstrim dan mengonsumsi obat-obatan dapat mengakibatkan gejala pingsan,
sakit, lemas, dan malnutrisi. Cara menurunkan berat badan yang dianjurkan
adalah dengan mengatur pola makan dan berolahraga teratur.   
 
Tubuh tidak pernah berhenti bekerja layaknya cara kerja mesin. Setiap 
aktifitas yang dilakukan, ditunjang oleh sistem kerja berbagai organ yang ada
  
51
di dalam tubuh. Sama seperti mesin, tubuh juga memerlukan bahan bakar
yang didapat dari makanan yang dikonsumsi sehingga makanan tersebut
haruslah sesuai dengan jumlah aktifitas setiap hari. 
 
Karbohidrat, protein, mineral, vitamin, dan lemak dibutuhkan oleh
tubuh untuk sumber tenaga. Makan beragam makanan dapat memenuhi
nutrisi yang lengkap dan seimbang. Pasalnya, aktifitas dan elemen nutrisi
yang cukup akan menghasilkan produktivitas yang tinggi dan menunjang
kesehatan. 
 
Makanan yang mengandung zat buruk dapat menurunkan daya tahan
tubuh dan menghambat kerja metabolisme. Contohnya, makanan
mengandung lemak dan kolesterol tinggi. Mengonsumsi makanan tersebut
tanpa pengontrolan dapat berakibat obesitas dan berbagai macam penyakit.
 
Pengaturan pola
makan berguna agar tubuh mendapatkan makanan
yang baik dan dapat bekerja secara optimal. Oleh karena itu, manfaat
melakukan diet selain untuk pencapaian berat badan ideal, yaitu
1. 
Menurunkan dan menaikkan berat badan
Diet identik dengan menurunkan berat badan, namun
kenyataannya diet dapat menaikkan berat badan untuk mencapai berat
badan ideal. Diet untuk menaikkan berat badan yaitu pola makanan
bernutrisi dan kalori tinggi, yaitu produk olahan susu, daging, camilan
sehat, dan lainnya.  
2. 
Meningkatkan metabolisme tubuh
Mengatur pola makan dan mengonsumsi makanan yang dapat
meningkatkan metabolisme sehingga pembakaran kalori dalam tubuh
lebih cepat.
3. 
Menyeimbangkan pola makan sehari-hari
Diet bukan hanya mengurangi porsi
makan, melainkan
menjaga porsi makanan yang seimbang dan teratur.
4. 
Bebas gangguan pencernaan
Lambung akan bekerja secara kondusif ketika perut merasa
kenyang dibanding saat menahan lapar. Menjaga perut kenyang
merupakan solusi agar asam lambung tidak
meningkat dan melukai
  
52
lambung. Selain itu, mengonsumsi makanan yang mengandung
banyak serat dapat memperlancar sistem pencernaan.
5. 
Menyehatkan kulit
Vitamin alami yang terkandung pada sayur dan buah dapat
membuat kulit menjadi lebih sehat dan cerah.
6. 
Mencegah berbagai penyakit
Pola makan yang teratur dan asupan gizi yang baik dapat
mencegah penyakit seperti diabetes, jantung, hipertensi, stroke, dan
lain-lain.
7.
Meningkatkan sifat kesabaran dan konsisten
Tidak ada diet yang sehat dan instan. Pelaku diet dilatih untuk
konsisten dan bersabar dalam melakukan diet demi mencapai tujuan
yang diinginkan.
2.2.2
Diet Golongan Darah
 
Darah adalah cairan yang terdapat pada semua makhluk hidup
(kecuali tumbuhan) dan elemen tubuh yang sangat penting. Golongan darah
merupakan gambaran karakteristik sel darah merah yang dipengaruhi oleh
jumlah karbohidrat dan protein pada permukaan membran sel. Golongan
darah ditentukan oleh zat antigen warisan.  Pembagian golongan darah
berdasarkan ABO dan Rhesus
(Rh)  ditemukan oleh ilmuwan Austria
bernama Karl Landsteiner. 
 
Ada 4 jenis golongan darah manusia berdasarkan antigen dan
antibodi, yaitu A, B, AB dan O. Sedangkan sistem Rhesus terbagi menjadi
Rhesus posistif (Rh+) dan Rhesus negatif (Rh+).
 
Pembagian cara diet menurut golongan darah adalah mengetahui
karakteristik tubuh sesuai golongan darah dan jenis makanan yang sesuai.
Diet golongan darah diperkenalkan dan diteliti oleh Dr. Peter J. D'Adamo.
Beliau adalah naturopatis asal Stamford, Amerika Serikat, yang menciptakan
buku yang berjudul "Eat Right For Your Type". Dr. D'Adamo menyebutkan
bahwa manusia memiliki golongan darah yang berbeda pasti memiliki reaksi
terhadap makanan yang berbeda pula. 
 
Penelitiannya atas tipe darah menunjukkan efek fisiologis dari lektin
yang masuk ke dalam tubuh. Lektin adalah protein yang umumnya terdapat
  
53
pada makanan. Tiap jenis makanan dapat mempengaruhi metabolisme dan
komposisi darah sehingga mempengaruhi keseimbangan daya tahan tubuh.
Saat mengonsumsi makanan yang mengandung lektin  dan beragam protein
yang tidak cocok dengan tipe antigen darah, akan terjadi proses aglutinasi
yaitu menggumpalnya sel darah merah. Proses aglutinasi dapat menyebabkan
munculnya berbagai keluhan kesehatan.
 
Dr. D'Adamo melakukan penelitian dengan mengecek reaksi setiap
darah terhadap makanan tertentu. Berdasarkan penelitian ini, beliau
mengolongkan daftar makanan sesuai dengan golongan darah agar terhindar
dari proses aglutinasi. Setiap makanan dibedakan menjadi makanan yang
baik, netral, dan yang harus dihindari. 
2.2.2.1 Diet Golongan Darah A
 
A disebut "The Cultivator" (penggarap tanah, bercocok tanam) 
karena golongan darah ini muncul pada zaman peralihan pemburu
menjadi pertanian dan orang-orang pada zaman tersebut sedang
menyesuaikan sistem pencernaan dengan makanan hasil pertanian.
Ciri-ciri untuk golongan darah A yaitu jalur pencernaan yang sensitif,
sistem kekebalan yang lemah, dan lebih baik menjadi vegetarian. A
memiliki asam lambung yang rendah sehingga sulit untuk mencerna
daging merah dan beberapa produk susu. Para pemilik golongan darah
A cenderung kurang aktif dalam berolahraga. Jenis olahraga yang
cocok yaitu melakukan olahraga yang santai selama 30 menit, seperti
yoga, tai chi, golf, berenang, berjalan, aerobik ringan, dan seni bela
diri. 
  
54
Tabel 2.2  Makanan Golongan Darah A
Golongan Darah A 
Baik
Netral
Dihindari
Ikan kerapu, kakap
merah, salmon,
sarden, susu
kacang, minyak
zaitun, kacang, kue
beras, brokoli,.
wortel. selada,
bayam, tahu
tempe, labu,
aprikot, ceri,
lemon, nanas,
kismis
Ayam, turki, tuna,
abalone, susu
kambing, yogurt,
telur, minyak
kanola, almond,
kacang polong,
oatmeal, nasi
merah, asparagus,
jagung, apel,
kurma, kiwi,
jambu merah,
stoberi
Daging sapi,
bebek, babi, ikan
asin, belut, gurita,
udang,telur puyuh,
cumi-cumi,
mentega, es krim,
keju, kacang mede,
roti gandum utuh,
terong, tomat, ubi,
pisang, kelapa,
mangga, pepaya,
jeruk, saos tomat,
mayones
2.2.2.2 Diet Golongan Darah B
 
B disebut "The Nomad" (pengembara) karena mempunyai
sistem kekebalan yang kuat dan mudah beradaptai dengan berbagai
jenis makanan. Bertolak dari golongan darah A, B memiliki
kemampuan untuk mengolah bahan makanan hewani dan produk susu. 
Kunci dalam diet golongan darah B adalah keseimbangan asupan
makan antara makanan
nabati dan hewani. Para pemilik golongan
darah B cenderung praktis dan tidak suka bertele-tele. Jenis olahraga
yang cocok yaitu latihan fisik moderat, seperti memanjat tebing,
bersepeda, tenis, berenang, jogging, latihan beban, aerobik.
  
55
Tabel 2.3  Makanan Golongan Darah B
Golongan Darah B 
Baik
Netral
Dihindari
Domba, salmon,
sarden, yogurt, keju,
minyak zaitun,
oatmeal, bit, brokoli,
wortel, ubi,
kembang kol,
pisang, pepaya,
nanas, plum, anggur,
teh hijau
Daging sapi, turki,
tuna, lele, kakap
merah, cumi,
mentega, susu, telur,
almond, kacang
merah, kacang
polong, nasi merah,
asparagus, bayam,
selada, apel, aprikot,
lemon, melon
Daging ayam,
bebek, babi, ikan
asin, belut, kepiting,
gurita, es krim,
minyak kanola, selai
kacang, kacang
mede, alpukat,
jagung, tomat,
kelapa, belimbing
2.2.2.3 Diet Golongan Darah AB
 
AB disebut "The Enigma" (teka-teki, misterius) karena
golongan darah yang masih jarang dijumpai dan terakhir berevolusi.
Golongan darah AB merupakan gabungan dari tipe golongan darah A
dan B. Penggabungan ini membuatnya bersifat sensitif dari sisi A dan
terpusat dari sisi B. AB mencerminkan kehidupan modern yaitu
kompleks dan cepat berubah. Sistem kekebalan AB mudah
bertoleransi tetapi memiliki perncernaan yang kurang baik. Jenis
olahraga yang cocok yaitu kombinasi olahraga santai dengan latihan
fisik moderat.
  
56
Tabel 2.4  Makanan Golongan Darah AB
Golongan Darah AB 
Baik
Netral
Dihindari
Domba, salmon,
turki, kakap merah,
sarden, susu
kambing, yogurt,
keju, minyak zaitun,
selai kacang,
oatmeal, bit,
brokoli, ubi,
kembang kol, timun,
terong, tempe tahu,
ceri, kiwi, lemon,
nanas, plum,
anggur, teh hijau
Hati, abalone,
kakap, cumi-cumi,
telur, minyak
kanola, almond,
kacang polong, roti
gandum, asparagus,
wortel, bayam,
selada, apel, aprikot,
lemon, melon,
stoberi, kismis.
pepaya
Daging ayam,
bebek, ikan, babi,
asin, belut, kepiting,
gurita, mentega, es
krim, minyak
jagumg, alpukat,
jagung, tomat,
kelapa, belimbing,
pisang, kelapa,
mangga, jeruk
2.2.2.4 Diet Golongan Darah O
 
O disebut "The Hunter" (pemburu) karena golongan darah
dasar dan tertua dari zaman manusia menjadi puncak dari rantai
makanan. Diet O adalah makanan tinggi protein dan rendah
karbohidrat. Pemilik golongan darah ini membawa memori genetik
kekutatan, ketahanan, mandiri, berani, dan optimis. Sistem kekebalan
O yang kuat, mempunyai pertahanan alami terhadap infeksi dan
metabolisme yang efisien, tetapi O sulit bertoleransi terhadap
makanan dan lingkungan baru.
  
57
Tabel 2.5  Makanan Golongan Darah O
Golongan Darah O 
Baik
Netral
Dihindari
Daging sapi, hati,
domba, salmon,
sarden, kakap
merah, ikan
bandeng, minyak
zaitun, biji labu,
brokoli, selada,
oyong, ubi, labu,
bayam, rumput laut,
plum
Daging ayam, turki,
bebek, tuna,
kepiting, belut,
kakap merah, cumi-
cumi, udang,
mentega, susu
kacang, telur,
almond, kacang
merah, kacang
polong, nasi merah,
asparagus, bit,
timun, tempe tahu,
tomat, apel, aprikot,
pisang, kiwi,
lemon, melon,
belimbing, kismis,
mangga
Daging babi, ikan
lele, gurita, es krim,
yogurt, minyak
jagung, selai
kacang, kacang
mede, alpukat,
jagung, terong,
kelapa, jeruk,
stoberi
2.2.3 
Kebutuhan Gizi
 
Kebutuhan tubuh akan zat gizi berbeda-beda menurut kelompok umur
dan keadaan gizi seseorang. Pada usia bayi dan anak, zat gizi diperlukan
untuk masa pertumbuhan dan perkembangan, sedangkan pada usia dewasa,
zat gizi diperlukan untuk memelihara berat badan normal dan menjaga
konsentrasi normal zat gizi di dalam darah serta jaringan tubuh. 
 
Hasil metabolisme zat gizi adalah energi. Energi berasal dari makanan
yang dikonsumsi dan berguna sebagai sumber kalori untuk semua proses
yang terjadi di dalam tubuh. Zat gizi yang dapat menghasilkan energi adalah
karbohidrat, protein, dan lemak. 
 
Kebutuhan energi diartikan sebagai tingkat asupan energi masuk dari
makanan yang akan menyeimbangkan energi keluar untuk aktifitas fisik.
  
58
Kebutuhan energi akan bertambah saat masa pertumbuhan, kehamilan, dan
menyusui. Perhitungan untuk kebutuhan energi seseorang memerlukan
beberapa komponen, yaitu (Wayang Sujana, 2011):
1.
Basal Metabolic Rate (BMR)
Jumlah kalori (kilokalori) yang dikeluarkan oleh tubuh untuk
aktivitas vital seperti bernafas, sirkulasi darah, denyut jantung, otot,
gerakan peristaltik usus, kegiatan kelenjar, dan fungsi vegetatif
lainnya.
2. 
Specific Dynamic Action
(SDA) atau
Food Induced
Thermogenesis (FIT)
Jumlah energi yang dibutuhkan untuk proses pembakaran
makanan dalam tubuh dan pencernaan. 
3. 
Aktifitas Fisik
Jumlah energi yang dibutuhkan untuk melakukan aktfitas
sehari-hari. Aktifitas fisik terbagi menjadi tiga, yaitu ringan, sedang,
dan berat.
4.
Faktor pertumbuhan
Jumlah energi yang dibutuhkan untuk proses pertumbuhan.
Rumus yang digunakan untuk menghitung kebutuhan energi
seseorang adalah: 
Kebutuhan energi = BMR + SDA + Aktifitas fisik + Faktor
pertumbuhan
2.2.3.1 Basal Metabolic Rate (BMR)
 
BMR dapat dihitung dengan menggunakan rumus Harrris
Benedict (Wayang Sujana, 2011):
Laki-laki    = 66 + (13,7 x BB)  + (5 x TB) - (6,8 x U)
Perempuan =  65,5 + (9,6 x BB) + (1,8 x TB) - (4,7 xU)
BB = Berat Badan , TB = Tinggi Badan, U = Umur
2.2.3.2 Specific Dynamic Action (SDA)
 
Faktor- faktor yang memepengaruhi besarnya SDA, antara lain
jenis makanan yang dikonsumsi, status gizi, aktifitas tubuh, termik
  
59
makanan, suhu tubuh, dan suhu lingkungan. Nilai SDA adalah hasil
10 % x BMR. (Wayang Sujana, 2011). 
2.2.3.3 Aktifitas Fisik
 
Aktifitas fisik diperhitungkan sesuai tingkat ringan atau
beratnya pekerjaan. Semakin ringan, maka energi yang dibutuhkan
semakin dikit, dan sebaliknya. (Wayang Sujana, 2011). 
1.
Ringan =  1,6 x BMR
Pekerjaan dengan 75% waktu untuk berdiri atau duduk,
dan 25% waktu untuk berdiri sambil bergera, contoh: guru,
dokter, arsitek, pengacara, akuntan, pekerja kantor, penjaga
toko, pengangguran, dan lainnya.
2. 
Sedang =  2,5 x BMR
Pekerjaan dengan 40% waktu untuk berdiri atau duduk,
dan 60% waktu untuk beraktifitas, contoh: pekerja industri,
pelajar, pemancing, polisi dalam keadaan aman, tentara tidak
dalam peperangan, pekerja bangunan, dan lainnya.
3. 
Berat    =  6,0 x BMR
Pekerjaan dengan 25% waktu untuk berdiri atau duduk,
dan 75% waktu untuk berdiri dan beraktifitas, contoh: petani,
atlet, pekerja tambang, kuli, penebang pohon, dan lainnya.
2.2.3.4 Faktor Pertumbuhan
 
Keperluan energi dalam masa pertumbuhan diperlukan untuk
tulang, organ baru seperti gigi, dan volume cairan tubuh. Berdasarkan
umur, besar energi yang dibutuhkan, yaitu (Wayang Sujana, 2011):
10 – 14 tahun         =  2 kkal/Kg x BB
15 tahun                 =  1 kkal/Kg x BB
16 – 18 tahun         =  0,5 kkal/Kg x BB
BB = Berat Badan
2.2.3.5 Kebutuhan energi dari karbohidrat, protein, dan lemak
 
Energi didapat dari makanan yang mengandung karbohidrat,
protein, dan lemak. Karbohidrat menyumbang 60 % - 75 % dari total
  
60
kebutuhan energi, protein menyumbang 10 % -
15 % dari total
kebutuhan energi, dan lemak menyumbang 10 % -
25 % dari total
kebutuhan energi. (Wayang Sujana, 2011).
2.3 Hasil Penelitian atau Produk Sebelumnya
2.3.1
Pengembangan Aplikasi Perangkat Telepon Pintar untuk Nutrisi
dan Perubahan Perilaku Aktifitas Fisik
Menurut Lana Hebden dengan judul penelitian "Development of
Smartphone Applications for Nutrition and Physical Activity Behavior
Change"  yang dipublikasikan pada Journal of Medical Internet Research
pada tahun 2012 mengemukakan bahwa kategori usia dewasa muda (18-35
tahun) tergolong rentan mengalami obesitas dan sulit untuk melakukan
intervensi dalam kelompok ini. Akses yang mudah dan dukungan untuk
mengawasi diri sendiri menjadi hal yang penting. Perangkat telepon pintar
mulai menjadi populer di kategori usia dewasa muda dan aplikasi didalamnya
dapat menjadi media untuk memberikan intervensi tentang perubahan
perilaku kesehatan langsung kepada individu secara massal. 
Tujuan dari penelitian ini adalah mengembangkan aplikasi perangkat
telepon pintar untuk mengubah perilaku gaya hidup yang menyebabkan
obesitas saat usia dewasa muda, meliputi aktifitas fisik, konsumsi makanan
siap saji, minuman dengan kadar gula tinggi, buah, dan sayuran.  
Proses pengembangan dimulai dengan menentukan spesifikasi
aplikasi yaitu menetapkan strategi perubahan perilaku, pedoman relevan,
visual grafis, dan mengumpulkan data potensial. Tahap kedua yaitu memilih
platform yang digunakan secara web-based atau native. Selanjutnya,
membuat perancangan antarmuka pengguna, arsitektur basis data, dan
pemograman kode. Terakhir, melakukan uji coba versi prototipe terhadap
target pengguna.
  
61
Gambar 2.37 Screenshot Aplikasi eVIP Balance dan ePass Overview
Kendala dalam pengembangan aplikasi adalah aplikasi berjalan
lambat karena dibutuhkan koneksi internet dan kesulitan dalam log in.
Penggunaan aplikasi perangkat telepon pintar dapat menjadi media
inovatif untuk perubahan perilaku kesehatan individu secara massal, namun
para peneliti harus memberikan pertimbangan kepada target pengguna,
teknologi yang tersedia, aplikasi komersial yang ada, dan kemungkinan
bahwa penggunaan aplikasi berumur pendek.
2.3.2
Efektivitas Perangkat Elektronik Mobile
pada Penurunan Berat
Badan untuk Populasi Kelebihan Berat Badan dan Obesitas: Sebuah
Tinjauan Sistematis dan Meta-analisis
Menurut Bushra Khokhar
dengan judul penelitian "Effectiveness of
Mobile Electronic Devices in Weight Loss Among Overweight and Obese
Populations: A Systematic Review and Meta-analysis"  yang dipublikasikan
pada Journal BMC Obesity pada tahun 2014 mengemukakan bahwa
Penggunaan perangkat elektronik mobile telah mendapatkan popularitas
dalam beberapa tahun terakhir sebagai alat untuk memfasilitasi dan
mempertahankan penurunan berat badan pada populasi obesitas. Perangkat
elektronik mobile memiliki potensi untuk meniru penyedia pelayanan
  
62
kesehatan konsultasi antar muka dan menyediakan alternatif untuk biaya yang
efektif.
 
Metode yang dilakukan yaitu mencari data yang dibutuhkan seperti,
tentang obesitas, teknologi perangkat telepon pintar, aplikasi kesehatan,
aktifitas fisik, diet, dan desain studi lainnya. Data yang didapat selanjutnya
dianalisa untuk keperluan aplikasi.
 
Bidang kesehatan semakin memanfaatkan teknologi mobile dalam
tingkat popularitas dan teknologi yang terus berkembang. Aplikasi yang
dibuat untuk masyarakat dalam skala besar membutuhkan penelitian lebih
lanjut dengan ukuran sampel yang lebih besar sehingga setiap individu di
seluruh dunia dapat menggunakan teknologi mobile untuk mengakses layanan
kesehatan.
2.3.3
Ketertarikan terhadap Aplikasi Perangkat Telepon Pintar untuk
Menurunkan Berat Badan Dibanding dengan Situs Web
dan Kertas
Jurnal: Percobaan Terkendali dengan Percontohan Acak 
 
Menurut Michelle Clare Carter dengan judul penelitian "Adherence to
a Smartphone Application for Weight Loss Compared to Website and Paper
Diary: Pilot Randomized Controlled Trial" yang dipublikasikan pada Journal
of Medical Internet Research
pada tahun 2013 mengemukakan bahwa ada
ketertarikan tinggi dalam penggunaan teknologi komunikasi informasi untuk
mengobati obesitas. Intervensi yang disampaikan oleh perangkat telepon
pintar bisa menjadi strategi pengaturan berat badan yang mudah, berpotensi
hemat biaya, dan berjangkauan luas.
Tujuan dari penelitian ini adalah mengumpulkan kelayakan dan
penerimaan masyarakat terhadap aplikasi pengaturan berat badan pada
perangkat telepon pintar dibanding website dan kertas jurnal.
Metode yang dilakukan adalah melakukan penelitian penggunaan
perangkat telepon pintar, website dan kertas jurnal untuk pengaturan berat
badan terhadap 128 sukarelawan yang mengalami obesitas selama 6 bulan.
  
63
Gambar 2.38 Screenshot Aplikasi My Meal Mate
Hasil dari penelitian yaitu perubahan pada kelompok perangkat
telepon pintar memiliki angka penurunan berat badan tertinggi dibandingkan
website dan kertas jurnal. Dapat disimpulkan bahwa aplikasi pada perangkat
telepon pintar dapat memberi kepuasan dan penerimaan.
  
64