BAB 2 TINJAUAN PUSTAKA 2.1 Landasan Teori 2.1

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1 Landasan Teori
2.1.1
Android
Menurut Lee (2012, pp. 2), Android merupakan suatu sistem
operasi mobile yang didasarkan pada versi modifikasi dari Linux. Awal
mulanya, Android diciptakan oleh startup dengan nama yang sama yaitu
Android, Inc. Pada tahun 2005, sebagai bagian dari strategi untuk memasuki
dunia mobile, Google
membeli Android dan mengambil alih semua
pekerjaan yang sedang di-develop (termasuk development team).
Android merupakan sebuah sistem operasi yang berbasis Linux untuk
perangkat portable seperti smartphone dan komputer tablet. Android
menyediakan platform terbuka (open source) bagi programmer untuk
mengembangkan aplikasi sendiri pada berbagai perangkat dengan sistem
Android.
Pada awal Maret 2009 Google berhasil merilis sistem operasi Android
hasil pengembangan yang pertama yaitu Android versi 1.1 pada perangkat
smartphone. Pada tahun yang sama, Google kembali merilis sistem operasi
versi 1.5 yang dikenal dengan nama Cupcake.
Cupcake adalah nama pertama yang digunakan untuk versi sistem
operasi Android. Google merilis setiap sistem operasi Android bersamaan
dengan perangkat lunak pengembangnya yang disebut Android Software
Development Kit (Android SDK).
Android memiliki kelebihan dan kelemahan. Kelebihan Android antara
lain :
11
12
1. User Friendly.
2. Notifications.
3. Tampilan.
4. Open Source.
5. Aplikasi.
6. Dan lain-lainnya.
Setiap hal pasti memiliki kelebihan dan kekurangan. Kelemahan
Android antara lain :
1. Update.
2. Batterai cepat habis.
3. Lemot atau Lag.
2.1.2
Data
Menurut Hoffer (2007, pp. 6) data mengacu pada fakta mengenai
objek maupun kejadian yang dapat direkam dan disimpan ke dalam media
komputer. Data sebagai tempat penyimpanan representasi objek dan penting
dalam lingkungan pengguna. Hoffer (2007, pp. 604) lebih spesifik
mengatakan bahwa,”Informasi adalah data yang telah diolah sedemikian rupa
untuk meningkatkan pengetahuan dari orang yang menggunakan data.”
Jenis-jenis data dapat dibagi berdasarkan sifat, sumber, cara
memperoleh dan waktu pengumpulan. Menurut sifat, jenis-jenis data antara
lain :
1. Data Kualitatif.
Data kualitatif adalah data yang tidak berbentuk angka. Misalnya
kuesioner pertanyaan tentang suasana kerja, kualitas pelayanan sebuah
rumah sakit atau gaya kepemimpinan, dan lain-lain.
2. Data Kuantitatif.
Data kuantitatif adalah data yang berbentuk angka. Misalnya harga saham,
besarnya pendapatan, dll.
13
Lalu jenis-jenis data menurut sumber, antara lain:
1. Data Internal.
Data internal adalah data yang berasal dari dalam suatu organisasi yang
menggambarkan
keadaan
organisasi
tersebut.
Contohnya
suatu
perusahaan, jumlah karyawannya, jumlah modalnya, atau jumlah
produksinya, dan lain-lain.
2. Data Eksternal.
Data eksternal adalah data yang berasal dari luar suatu organisasi yang
dapat menggambarkan faktor-faktor yang mungkin mempengaruhi hasil
kerja suatu organisasi. Misalnya daya beli masyarakat mempengaruhi
hasil penjualan suatu perusahaan.
2.1.3
Database
Menurut Hoffer (2007, pp. 6) data mengacu pada fakta mengenai
objek maupun kejadian yang dapat direkam dan disimpan ke dalam media
komputer. Data sebagai tempat penyimpanan representasi objek dan penting
dalam lingkungan pengguna. Hoffer (2007, pp. 604) lebih spesifik
mengatakan bahwa,”Informasi adalah data yang telah diolah sedemikian rupa
untuk meningkatkan pengetahuan dari orang yang menggunakan data.
Database atau basis data adalah kumpulan data yang disimpan secara
sistematis di dalam komputer dan dapat diolah atau dimanipulasi
menggunakan perangkat lunak (program aplikasi) untuk menghasilkan
informasi. Pendefinisian basis data meliputi spesifikasi berupa tipe data,
struktur dan juga batasan-batasan data yang akan disimpan. Database atau
basis data merupakan aspek yang sangat penting dalam sistem informasi
dimana database merupakan gudang penyimpanan data yang akan diolah
lebih lanjut. Database menjadi penting karena dapat menghidari duplikasi
data, hubungan antar data yang tidak jelas, organisasi data dan juga update
yang rumit.
14
2.1.4
DBMS
Menurut Jeffrey A. (2007, pp. 8), Database Management System
(DBMS) adalah sebuah sistem software yang digunakan untuk membuat,
mengelola, dan menyediakan akses terkontrol kepada pengguna database.
DBMS
menyediakan
suatu
metode
sistematis
seperti
membuat,
memperbaharui, menyimpan, dan mengambil data pada database.
2.1.5
Eclipse
Menurut Shelly dan Vermaat (2011, pp. 670), Eclipse adalah suatu
open source, sarana pengembangan lanjutan yang bekerja dengan berbagai
program termasuk Java dan C++.
2.1.6
Genymotion
Menurut website www.genymotion.com, genymotion adalah sebuah
emulator Android yang terdiri dari satu set sensor dan fitur-fitur yang
lengkap untuk berinteraksi dengan lingkungan virtual Android. Dengan
Genymotion, pengguna dapat menguji aplikasi Android pada berbagai
perangkat
virtual
untuk
keperluan
pengembangan,
pengujian,
dan
demonstrasi.
Genymotion bekerja dengan cepat, mudah dalam instalasi, sensor
widget dan fitur interaksi yang user-friendly. Emulator ini dapat dijalankan
pada sistem operasi Windows, Mac OS X, Linux Ubuntu, dan Linux Debian.
2.1.7
HTML (Hyper Text Markup Language)
Menurut Connolly dan Begg (2015, pp. 1055), HyperText Markup
Language (HTML) merupakan suatu document formatting language yang
digunakan untuk merancang tampilan Web, menandai atau memberikan tanda
pada dokumen sehingga dapat dipublikasikan pada Web.
15
2.1.8
iBATIS
Menurut Clinton (2007, pp. 4), Structured Query Language (SQL)
telah lebih dari 35 tahun sejak Edgar F. Codd pertama menyarankan gagasan
bahwa data dapat dinormalisasi ke set tabel terkait. Sejak itu, perusahaan IT
telah menginvestasikan miliaran dolar ke dalam sistem manajemen database
relasional (RDBMSs). iBATIS didasarkan pada gagasan bahwa ada nilai
dalam database relasional dan SQL, dan itu adalah ide yang baik untuk
merangkul investasi luas industri di SQL.
iBATIS adalah salah satu hybrid solution seperti untuk persistence
layer dari aplikasi. Seiring waktu, berbagai metode telah dikembangkan
untuk memungkinkan aplikasi mengeksekusi SQL terhadap database.
iBATIS adalah solusi unik yang meminjam konsep dari beberapa pendekatan
lain.
Structured Query Language (SQL) telah lebih dari 35 tahun sejak
Edgar F. Codd(2007, pp. 4) pertama menyarankan gagasan bahwa data dapat
dinormalisasi ke set tabel terkait. Sejak itu, perusahaan IT telah
menginvestasikan miliaran dolar ke dalam sistem manajemen database
relasional (RDBMSs). iBATIS didasarkan pada gagasan bahwa ada nilai
dalam database relasional dan SQL, dan itu adalah ide yang baik untuk
merangkul investasi luas industri di SQL.
2.1.9
Internet
Menurut Connolly dan Begg (2015, pp. 1048), Internet adalah
kumpulan dari jaringan komputer yang saling berhubungan di seluruh dunia.
Internet dibuat untuk kepentingan komersial, edukasi, organisasi pemerintah
dan Internet Service Providers (ISP). Fitur-fitur yang ditawarkan oleh
Internet meliputi electronic mail (email), conferencing, collaboration
16
services, kemampuan untuk mengakses komputer dari jarak jauh, serta
mengirim dan menerima dokumen.
Kemunculan Internet dimulai pada tahun 1960-an akhir dan tahun
1970-an awal ketika US Department of Defense melakukan percobaan yang
dinamakan APRANET (Advanced Research Projects Agency NETwork).
APRANET menyelidiki bagaimana cara untuk membangun jaringan yang
dapat menahan partial outages (seperti serangan bom nuklir).
Pada tahun 1982, TCP/IP (Transmission Control Protocol/Internet
Protocol) digunakan sebagai sarana komunikasi dasar untuk APRANET.
TCP bertanggung jawab untuk memastikan pengiriman pesan dari satu
komputer ke komputer lainnya benar. IP mengatur pengiriman dan
penerimaan paket-paket data antar mesin. Istilah TCP/IP terkadang mengacu
pada seluruh rangkaian Internet protokol yang biasanya dijalankan pada
TCP/IP, seperti FTP (File Transfer Protocol), SMTP (Simple Mail Transfer
Protocol), Telnet (Telecommunication Network), DNS (Domain Name
Server), POP (Post Office Protocol), dan sebagainya.
2.1.10 Java
Java merupakan Bahasa pemrograman yang diciptakan oleh James
Gosling pada tahun 1966 dan mengklaim dirinya yang mengimplementasikan
konsep PBO. Sampai saat ini pengembangan Java berada di bawah Sun
Micosystems walaupun akhir-akhir ini Java mulai di open-source kan.
Java dapat diimplementasikan pada berbagai aspek kehidupan mulai
dari komputer mainframe, PC, telepon genggam/HP, PDA, smart card
sampai dengan perlengkapan rumah tangga seperti mesin cuci dan TiVo. Java
menjanjikan sifat platform yang independent yang berarti program cukup
ditulis dan decompile satu kali maka akan dapat dijalankan di mesin lain
tapan memerlukan perubahan code.
17
Sampai saat ini Java terbagi menjadi empat kategori yaitu Java 2
Platform Standard Edition (J2SE) untuk aplikasi desktop, Java 2 Platform
Enterprise Edition (J2EE) untuk aplikasi server kelas enterprise yang
biasanya berskala besar, Java 2 Platform Micro Edition (J2ME) untuk
aplikasi pada perangkat memiliki tingkat komputasi tidak setinggi komputer,
misalnya telepon genggam, PDA, dan TiVo. Dan yang terakhir adalah Java
Card yang digunakan untuk pemrograman smart card dengan menggunakan
Bahasa pemrograman berbasis Java.
Gambar 2.1 Overview Teknologi Java
Pada Gambar 2.1 menunjukkan perkembangan teknologi yang dibuat
dengan menggunakan basis dari Bahasa pemograman Java.
Java Development Toolkit (JDK) terdiri dari satu set program yang
terpisah, masing-masing dipanggil dari baris perintah, untuk mengembangkan
18
dan menguji program Java. Selain JDK, programmer dapat menggunakan Java
development tool seperti NetBeans, Eclipse, dan TextPad. Java Development
tool adalah sebuah software yang menyediakan integrated development
environment (IDE) untuk mengembangkan program Java.
Java Virtual Machine (JVM) adalah bagian dari JDK dan dasar dari
Java platform. Mesin virtual (VM) adalah sebuah aplikasi perangkat lunak
yang mensimulasikan komputer namun menyembunyikan sistem operasi yang
mendasari dan perangkat keras dari program yang berinteraksi dengannya. Jika
VM yang sama diterapkan pada banyak platform komputer, aplikasi yang
dijalankan dapat digunakan pada semua platform tersebut. JVM adalah salah
satu yang paling banyak digunakan mesin virtual. Microsoft’s .NET
menggunakan arsitektur virtual-mesin yang sama.
Tentu saja Java memiliki kelebihan dan kekurangan. Kelebihan Java
antara lain :
1. Multi-platform.
Java dapat dijalankan dalam beberapa platform komputer dan sistem
operasi yang berbeda
2. OOP atau Object Oriented Programming.
Java memiliki library yang lengkap. Library disini adalah sebuah
kumpulan dari program yang disertakan dalam Java. Hal ini akan
memudahkan pemrograman. Kelengkapan library semakin beragam jika
ditambah dengan karya komunitas Java.
Setiap hal pasti memiliki kelebihan dan kekurangan. Begitu juga
dengan Java. Kekurangan yang dimiliki oleh Java antara lain :
1. Multi-Platform.
Beberapa hal harus disesuaikan jika dijalankan pada platform yang berbeda.
Misalnya untuk J2SE dengan platform SWT-AWT bridge tidak dapat
berfungsi pada Mac OS X.
2. Kemudahan aplikasi Java didekompilasi.
19
Dekompilasi adalah suatu proses membalikkan sebuah aplikasi menjadi
kode sumbernya. Hal ini memungkinkan terjadi pada Java karena berupa
byte code yang menyimpan bahasa tingkat tinggi. Hal ini terjadi pula pada
platform .NET dari Microsoft sehingga program yang dihasilkan mudah
dibajak kodenya karena sulit untuk disembunyikan.
3. Penggunaan memori yang cukup banyak.
Penggunaan memori lebih besar daripada bahasa tingkat tinggi sebelum
generasi Java. Namun hal ini memang sesuai dengan fitur beragam yang
dimiliki oleh Java. Masalah memori ini juga tidak dialami oleh semua
pengguna aplikasi Java. Bagi yang sudah menggunakan perangkat keras
dengan teknologi terbaru tidak merasakan kelambatan dan konsumsi
memori Java yang tinggi. Lain halnya dengan yang menggunakan teknologi
lama atau komputer yang sudah berumur tua lebih dari empat tahun maka
akan merasakan adanya kelambatan
2.1.11 Leasing
Ada beberapa prosedur Mekanisme dalam leasing dalam melakukan
perjanjian leasing terdapat prosedur dan mekanisme yang harus dijalankan,
yaitu :
1. Lessee bebas memilih dan menentukan peralatan yang dibutuhkan,
mengadakan penawaran harga dan menunjuk supplier peralatan yang
dimaksudkan.
2. Setelah lessee mengisi formulir permohonan lease, maka dikirimkan
kepada lessor disertai dokumen lengkap.
3. Lessor
mengevaluasi
kelayakan
kredit
dan
memutuskan
untuk
memberikan fasilitas lease dengan syarat dan kondisi yang disetujui
lessee (lama kontrak pembayaran sewa lease), setelah ini maka kontrak
lease dapat ditandatangani.
20
4. Pada saat yang sama, lessee dapat menandatangani kontrak asuransi
untuk peralatan yang dilease dengan perusahaan asuransi yang disetujui
lessor, seperti yang tercantum dalam kontrak lease. Antara lessor dan
perusahaan asuransi terjalin perjanjian kontrak utama.
5. Kontrak pembelian peralatan akan ditandatangani lessor dengan supplier
peralatan tersebut.
6. Supplier dapat mengirimkan peralatan yang dilease ke lokasi lessee.
Untuk mempertahankan dan memelihara kondisi peralatan tersebut,
supplier akan menandatangani perjanjian purna jual.
7. Lessee menandatangani tanda terima peralatan dan menyerahkan kepada
suppplier.
8. Supplier menyerahkan tanda terima (yang diterima dari lessee),bukti
pemilikan dan pemindahan pemilikan kepada lessor.
9. Lessor membayar harga peralatan yang dilease kepada supplier.
10. Lessee membayar sewa lease secara periodik sesuai dengan jadwal
pembayaran yang telah ditentukan dalam kontrak lease.
Supplier
(Manufacturer)
Pembelian Barang
Pembayaran
Independent
(Lessor)
Angsuran
Kontrak
Leasing
Independent
(Lesse)
Gambar 2.2 Mekanisme Transaksi Leasing
21
2.1.12 Object Oriented Programming
Sebuah bahasa yang berorientasikan pada objek harus menyediakan
dukungan berupa tiga fitur yaitu abstract data types, inheritance, dan
dynamic binding of method calls to methods.
2.1.12.1 Abstract Data Types
Abstract data types adalah sebuah tipe data yang memenuhi
kondisi berikut :
•
Representasi, operasi, dan tipe objek yang didefinisikan dalam
single syntactic unit.
•
Representasi dari tipe objek disembunyikan dari unit program
yang menggunakan objek tersebut, sehingga operasi yang
memungkinkan adalah operasi yang disediakan di dalam type’s
definition.
2.1.12.2 Inheritance
Pemrograman
berorientasi
objek
memungkinkan
programmer untuk mendapatkan kelas baru dari kelas yang ada. Ini
disebut sebagai inheritance. Inheritance adalah fitur penting dan
kuat di Java untuk penggunaan software. Inheritance menawarkan
solusi untuk berbagai masalah modifikasi yang ditimbulkan oleh
penggunaan kembali abstract data type dan masalah organisasi
program. Abstract data type dalam bahasa berorientasi objek,
mengikuti SIMULA67 yang biasa disebut sebagai class. Class
instances disebut dengan objek. Programmer dapat menurunkan
sebuah kelas baru dari kelas yang ada. Hal ini dikenal sebagai class
inheritance. Kelas baru disebut subclass, child class atau extended
class. Kelas yang ada disebut kelas superclass, parent class, atau
base class.
22
Perbedaan antara parent class dan subclass adalah sebagai
berikut:
•
Parent class dapat mendefinisikan beberapa variabel atau method
untuk memiliki akses private, yang berarti kelas tersebut tidak akan
terlihat dalam subclass.
•
Subclass dapat menambah variabel dan/atau method
yang
diwariskan dari parent class.
•
Subclass dapat memodifikasi perilaku dari satu atau lebih dari
metode yang diwariskan. Metode modifikasi harus memiliki nama
yang sama yang pada akhirnya disebut sebagai overridden method.
2.1.12.3 Dynamic Binding
Pada C++, sebuah method didefinisikan dengan kata virtual
untuk mengizinkan dynamic binding. Pada Java, semua pemanggilan
method yang dinamis terikat kecuali yang dipanggil method telah
didefinisikan sebagai final, dimana tidak bisa di-overridden dan semua
binding adalah static. Static binding juga digunakan jika method adalah
static atau private, keduanya tidak bisa melakukan overriding.
2.1.12.4 Support for Object-Oriented Programming in Java
Desain Java yang mendukung pemrograman berorientasi objek
mirip seperti C++, Java tidak mengijinkan parentless classes dan
menggunakan dynamic binding yang didefinisikan dengan kata final.
2.1.13 Oracle
Menurut Connolly dan Begg (2010, pp. 130-132), Oracle berdasarkan
pada arsitektur client-server dimana Oracle server terdiri dari database dan
instance (proses dan memori sistem pada server yang menyediakan hak akses
ke dalam database). Suatu instance hanya dapat melakukan koneksi ke satu
database.
23
Oracle database terdiri dari struktur logikal (seperti skema database)
dan struktur fisikal (yang berisi file-file yang membentuk suatu Oracle
database). Pada struktur logikal, Oracle mempertahankan tablespaces,
skema, data blocks, dan extents/segments. Pada struktur fisikal, Oracle
mempertahankan datafiles, redo log files, dan control files.
Connolly dan Begg (2010, pp. 1218) menjelaskan bahwa Oracle
Database 11g adalah suatu platform database yang komprehensif untuk data
warehousing dan business intelligence yang mengkombinasikan skalabilitas
dan performa industri terkemuka, analisis mendalam yang terintegrasi,
kualitas data dan integrasi yang tertanam. Oracle Database 11g
menyediakan fungsi untuk data warehouse dan data marts dengan fungsi
partisi yang kuat, skalabilitas yang sudah terbukti, dan optimasi queryprocessing yang inovatif.
2.1.14 Server
Menurut Shelly dan Vermaat (2011, pp. 25), Server merupakan
komputer pusat yang mengatur akses ke hardware, software, dan sumber
daya lainnya pada jaringan dan menyediakan tempat penyimpanan terpusat
untuk program, data, dan informasi. Server dapat mendukung dua sampai
ribuan komputer yang saling berhubungan di waktu yang bersamaan.
2.1.15 Smartphone
Menurut Shelly dan Vermaat (2011, pp. 21), Smartphone merupakan
telepon berbasis Internet yang biasanya menyediakan fitur manajemen
informasi pribadi seperti kalendar, jadwal perencanaan, daftar alamat,
kalkulator, dan notepad. Sebagai kemampuan tambahan dari telepon biasa,
smartphone memberikan fitur untuk penggunanya mengirim dan menerima
pesan e-mail dan hak akses ke Web. Beberapa smartphone dapat
berkomunikasi dengan device lainnya atau komputer tanpa menggunakan
24
kabel. Selain itu, smart phone juga dapat digunakan sebagai media player
dan kamera, dimana sesama pengguna smartphone dapat saling bertukar foto
dan rekaman.
2.1.16 Software Development Lifecycle
Menurut Kendall & Kendall (2006, pp. 10), Systems Development
Life Cycle (SDLC) merupakan suatu pendekatan yang terdiri dari beberapa
fase untuk menganalisa dan merancang sistem melalui penggunaan dari
siklus yang spesifik dan aktivitas user.
2.1.17 Waterfall Models
Menurut Pressman (2010, pp. 39), model waterfall atau yang
biasanya disebut dengan classic life cycle merupakan suatu model yang
bersifat sistematis, pendekatan secara bertahap dalam proses pengembangan
software. Model ini dimulai dengan spesifikasi konsumen akan kebutuhan
yang diinginkan, lalu dilanjutkan dengan planning, modeling, construction,
dan deployment.
Model waterfall merupakan model tertua untuk software engineering,
dimana konsumen harus menjelaskan semua requirement secara rinci
sebelum melanjutkan tahap berikutnya. Jika sudah memasuki tahap
berikutnya, maka tidak bisa kembali ke tahap sebelumnya dan harus
menunggu hingga tahap deployment selesai baru dapat kembali lagi ke tahap
communication.
Gambar 2.3 Ilustrasi Proses Waterfall
(Sumber : Pressman, 2010, pp. 39)
25
Berikut ini lima fase dalam model waterfall, yaitu:
1. Communication
Fase pertama akan mempertemukan kedua belah pihak antara software
engineering dengan konsumen untuk membahas setiap kebutuhan yang
dibutuhkan oleh konsumen.
2. Planning
Setelah mendapatkan requirement yang rinci, fase selanjutnya melakukan
perencanaan jadwal, pembuatan timeline, estimasi dari pembuatan
software, dan pembagian tugas ke semua anggota tim.
3. Modeling
Fase ini akan melakukan analisa berdasarkan hasil dari fase pertama dan
kedua. Lalu merancang arsitektur dan tampilan dari sistem yang akan
dibuat.
4. Construction
Fase construction melakukan coding sesuai design dari tahap modeling.
Setelah selesai coding, programmer melakukan testing software untuk
menguji kelancaran dari setiap fitur atau fungsi dalam software.
5. Deployment
Fase terakhir ini akan mengimplementasikan software yang sudah dites
kepada pihak konsumen. Fase deployment juga menerima feedback dan
support jika terdapat bug issue.
26
2.1.18 SQL Lite
Menurut Kreibich J. A. (2010, pp. 15), SQLite adalah suatu database
engine yang tidak memerlukan konfigurasi, berdiri sendiri, dan relatif dimana
ditanamkan langsung ke dalam suatu aplikasi.
Dalam istilah yang sederhana, SQLite merupakan sebuah paket
perangkat lunak dengan public-domain yang menyediakan suatu relational
database management system atau RDBMS. RDBMS digunakan untuk
menyimpan catatan yang telah ditetapkan oleh pengguna dalam tabel yang
besar. Sebagai tambahan untuk manajemen dan penyimpanan data, database
engine dapat mengolah perintah query yang kompleks dan menggabungkan
data dari beberapa tabel untuk menghasilkan laporan dan rangkuman data.
2.1.19 Struts 1
Struts merupakan development framework yang berada di bawah
Apache Software Foundation, Struts menggunakan pattern MVC dengan
memanfaatkan Java bean (Model), Servlet (Controller) dan JSP (View).
Struts pertama kali ditemukan oleh Craig R. McClanahan dan
kemudian disumbangkan untuk proyek Jakarta dari Apache Software
Foundation (ASF) pada Mei 2000. Pada bulan Juni 2001, Struts 1.0 dirilis.
Sejak itu, banyak orang telah memberikan kontribusi baik source code dan
dokumentasi untuk proyek dan Struts telah menjadi standar de facto untuk
membangun aplikasi Web di Java dan telah memeluk seluruh komunitas
Java. Struts 1.1 dirilis pada Juni 2003 dan termasuk sejumlah besar fungsi
baru, termasuk penambahan Tiles, Validator, declarative exception handling,
dan banyak lagi. Kemudian, pada bulan Desember 2004, Struts 1.2 dirilis
dengan beberapa update kecil untuk framework. Struts 1.3, dirilis pada tahun
2006, memperkenalkan perubahan terbesar untuk framework sejak rilis 1.1:
pindah ke chain of responsibility (COR)-based request processing engine.
27
Rilis terbaru dari Struts pada saat penulisan ini adalah 1.3.5 dan itu dibahas
dalam buku Struts: The Complete Reference 2nd Edition.
Struts terus berkembang. Struts sekarang terbagi atas dua versi utama
yang berbeda dari Struts yaitu Struts 1 dan Struts 2. Struts 1 bersifat matang,
diadopsi secara luas, didokumentasikan, dan didukung versi Struts. Struts 2
adalah versi baru dari Struts berdasarkan penggabungan Struts dan WebWork,
open source Java Web application framework populer lain.
Struts adalah framework utama untuk membangun aplikasi Web
berbasis Java. Menggunakan pola desain Model-View-Controller (MVC),
Struts memecahkan banyak masalah yang terkait dengan pengembangan
kinerja tinggi, aplikasi Web berorientasi bisnis yang menggunakan servlets
Java dan JSP. Pada awalnya, penting untuk memahami bahwa Struts lebih
dari sekedar kenyamanan pemrograman. Struts dasarnya telah mengubah
bentuk cara pengembang Web berpikir dan struktur aplikasi Web. Ini adalah
teknologi dimana pengembang Web yang sangat efisien.
2.1.20 Teknologi Informasi
Menurut Whitten dan Bentley (2007, pp. 6), Information Technology
merupakan suatu istilah pada zaman sekarang yang mendeskripsikan
kombinasi dari teknologi komputer (hardware dan software) dengan
teknologi telekomunikasi (data, gambar, dan jaringan suara).
2.1.21 Unified Modelling Language (UML)
Menurut Whitten dan Bentley (2007, pp. 371), Unified Modeling
Language (UML) merupakan sekumpulan aturan atau konsep dalam
melakukan
modeling
yang
digunakan
untuk
menetapkan
menggambarkan suatu sistem software yang berhubungan dengan objek.
atau
28
2.1.21.1 Class Diagram
Menurut Whitten dan Bentley (2007, pp. 400), class diagram
merupakan suatu penggambaran grafis dari struktur objek statis suatu
sistem, dimana berfungsi menunjukkan objek class yang menyusun
sistem dan hubungan antar setiap objek class.
<<Nama Kelas>>
- Atribut
+ Operasi()
Gambar 2.4 Class dan Strukturnya
Ada tiga struktur dalam merancang suatu class dalam class
diagram, yaitu :
1.
Nama Kelas
Nama
kelas
berfungsi
untuk
melakukan
penamaan
dan
membedakan antara kelas yang satu dengan kelas lainnya.
2.
Atribut Kelas
Atribut
kelas
berisikan
data-data
berupa
variabel
yang
menjelaskan nilai suatu objek dari kelas tersebut.
3.
Operasi Kelas
Operasi kelas merupakan metode-metode yang akan dijalankan
oleh class tersebut dalam memberikan respon kepada class
lainnya.
2.1.21.1.1 Visibility
Menurut Whitten dan Bentley (2007, pp. 650), visibility
merupakan hak akses yang dimiliki oleh setiap objek. Visibility adalah
tingkatan bagi objek diluar dari class tersebut untuk mengakses suatu
atribut atau metode. Visibility dibagi menjadi tiga jenis, yaitu:
29
1.
Public
Public dinotasikan dalam bentuk “+”. Public menunjukkan bahwa
suatu kelas dapat diakses atau dipanggil oleh semua kelas lainnya.
2.
Protected
Protected dinotasikan dalam bentuk “#”. Protected menunjukkan
bahwa suatu kelas hanya dapat diakses atau dipanggil oleh kelas
yang bersangkutan dan kelas turunannya.
3.
Private
Private dinotasikan dalam bentuk “-“. Private menunjukkan
bahwa suatu kelas hanya dapat dipanggil oleh kelas lainnya yang
diberikan akses untuk memanggil kelas tersebut.
2.1.21.1.2 Association
Menurut Whitten dan Bentley (2007, pp. 377), Association
menjelaskan suatu hubungan atau koneksi antar class yang digambarkan
dengan sebuah garis. Ada dua jenis hubungan dalam Association, yaitu :
1.
Undirectional
Undirectional menunjukkan hubungan antar class yang terjadi
hanya dalam satu arah, dimana class user akan memanggil class
password, namun tidak sebaliknya. Undirectional digambarkan
dengan garis yang mempunyai anak panah.
Gambar 2.5 Contoh Undirectional Association
(Sumber : Whitten dan Bentley, pp. 2007:651)
30
2.
Bidirectional
Bidirectional menunjukkan hubungan antar class yang terjadi
secara dua arah, dimana semua class dapat saling mengirimkan
dan menerima pesan ke dan dari class lain yang saling terhubung.
Bidirectional digambarkan dengan garis yang tidak memiliki
anak panah.
Gambar 2.6 Contoh Bidirectional Association
(Sumber : Whitten dan Bentley, pp. 2007:377)
2.1.21.1.3 Multiplicity
Menurut Whitten dan Bentley (2007:378), multiplicity merupakan
jumlah kejadian minimum dan maksimum dari suatu objek pada class
tersebut untuk satu kejadian dari objek yang berhubungan dengan class
itu. Berikut ini tabel yang menunjukkan penggunaan simbol multiplicity
beserta penjelasannya dalam class diagram:
Tabel 2.1 Tabel Simbol Multiplicity
Multiplicity
Keterangan
1
atau
Tepat satu
tidak ada (kosong)
0…1
Nol atau satu
0…*
atau
Nol atau lebih dari satu
*
1…*
Satu atau lebih dari satu
31
7…9
Jumlah spesifik
2.1.21.1.4 Aggregation
Menurut Whitten dan Bentley (2007, pp. 378), Aggregation
merupakan hubungan suatu class dengan class lainnya, dimana class
induk (lebih besar) memiliki satu atau lebih class anak (lebih kecil), dan
class anak merupakan bagian dari class induk. Aggregation digambarkan
dengan symbol diamond yang kosong pada salah satu ujungnya. Berikut
merupakan contoh gambar Agregation:
Gambar 2.7 Contoh Aggregation
(Sumber: Whitten dan Bentley, 2007, pp. 379)
2.1.21.1.5 Generalization
Menurut Whitten dan Bentley (2007:380), Generalization atau
yang dapat disebut dengan inheritance merupakan hubungan suatu class
utama dengan class-class turunannya. Atribut yang ada pada class utama
akan diturunkan dan dapat digunakan oleh class turunan dari class utama.
Contoh dari Generalization:
32
Gambar 2.8 Contoh Generalization
(Sumber: Whitten dan Bentley, 2007, pp. 381)
2.1.21.2
Use Case Diagram
Menurut Whitten dan Bentley (2007:246), Use Case diagram
merupakan diagram yang menggambarkan hubungan antara user, sistem,
dan pihak eksternal (diluar dari sistem tersebut). Use Case diagram
menggambarkan aksi yang dilakukan oleh user terhadap suatu sistem,
bagaimana cara user berinteraksi dengan sistem tersebut, dan respon yang
diterima user dari sistem. Contoh dari Use Case diagram.
Gambar 2.9 Contoh Use Case Diagram
(Sumber : Whitten dan Bentley, 2007, pp. 246)
33
Berikut merupakan notasi-notasi yang digunakan dalam Use Case
diagram, antara lain:
•
Use Case
Use Case menunjukkan goal atau tujuan dari sistem, dimana
menjelaskan tahapan dari aktivitas yang dilakukan oleh actor
untuk mencapai tujuan tersebut. Use Case mendeskripsikan
fungsi sistem dari sudut pandang actor eksternal dengan cara dan
terminologi yang dapat mudah dimengerti.
Gambar 2.10 Use Case
(Sumber: Whitten dan Bentley, 2007, pp. 246)
•
Actor
Use Case dipicu oleh pengguna luar yang disebut dengan actor.
Actor adalah semua pihak yang melakukan interaksi dengan
sistem baik dalam memberikan dan menerima pesan untuk dapat
bertukar informasi. Actor tidak harus seorang manusia, namun
dapat berupa kumpulan beberapa orang dalam suatu organisasi,
sistem informasi lain, perangkat eksternal, dan lainnya.
Gambar 2.11 Actor
(Sumber: Whitten dan Bentley, 2007, pp. 247)
34
Actor dibagi menjadi 4 jenis, yaitu:
1.
Primary Business Actor
Primary Business Actor adalah actor yang mendapatkan
keuntungan dari Use Case dengan menerima suatu nilai
yang terukur dan terobservasi. Contohnya, dalam sistem
pemberian gaji, seorang karyawan tidak melakukan suatu
aksi pada sistem namun menerima suatu nilai dari sistem.
2.
Primary System Actor
Primary System Actor adalah actor yang secara langsung
berinteraksi dengan sistem untuk memicu suatu aksi pada
sistem. Contohnya adalah seorang kasir memindai barang
yang dibeli oleh pelanggan atau teller bank yang
melakukan pemrosesan transaksi perbankan.
3.
External Server Actor
External Server Actor merupakan actor yang menerima
respon permintaan dari Use Case. Contohnya sebuah biro
kredit yang menotorisasi pembayaran dari kartu kredit.
4.
External Receiver Actor
External Receiver Actor berbeda dengan primary actor
tetapi mampu mendapatkan keuntungan dari Use Case
dengan menerima suatu nilai terukur dan terobservasi.
Contohnya
sebuah
gudang
menerima
pesanan
pengepakan.
•
Boundary
Boundary adalah suatu persegi panjang yang menggambarkan
ruang lingkup dari sistem. Contoh gambar Boundary dalam Use
Case diagram.
35
Gambar 2.12 Boundary
2.1.21.2.1 Association
Menurut Whitten dan Bentley (2007:248), association merupakan
interaksi antara seorang actor dengan sebuah use case. Association
dengan tanda panah (1) yang menyentuh use case menunjukkan bahwa
actor tersebut melakukan use case tersebut, sedangkan association tanpa
panah (2) menunjukkan bahwa interaksi use case ke actor yang
menerima hasil dari use case tersebut. Contoh association.
Gambar 2.13 Contoh Association
(Sumber : Whitten dan Bentley, 2007, pp. 248)
36
2.1.21.2.2 Extends
Extends merupakan pemisahan dari sebuah Use Case yang
kompleks untuk melakukan menyederhanaan. Berikut adalah contoh dari
hubungan extends.
Gambar 2.14 Contoh Extends
(Sumber : Whitten dan Bentley, 2007, pp. 249)
2.1.21.2.3 Uses atau Includes
Includes merupakan hubungan antara Abstact Use Case dengan
Use Case yang menggunakan Abstract tersebut. Abstact Use Case
digunakan ketika ada dua atau lebih Use Case yang menjalankan fungsi
yang mirip untuk memisahkan beberapa Use Case tersebut.
37
Gambar 2.15 Contoh Uses atau Includes
(Sumber : Whitten dan Bentley, 2007, pp. 249)
2.1.21.2.4 Depends On
Depends On merupakan hubungan antara suatu Use Case yang
bergantung pada Use Case lain, sehingga suatu Use Case tidak adapat
dijalankan jika Use Case sebelumnya belum dijalankan.
Gambar 2.16 Contoh Depends On
(Sumber : Whitten dan Bentley, 2007, pp. 250)
38
2.1.21.2.5 Inheritance
Inheritance merupakan hubungan pada Use Case dimana terdapat
beberapa actor yang melakukan Use Case yang sama, sehingga
diperlukan abstact actor sebagai penghubung dalam melakukan Use
Case tersebut.
Gambar 2.17 Contoh Inheritance
(Sumber : Whitten dan Bentley, 2007, pp. 250)
2.1.21.3
Use Case Narrative
Menurut Whitten dan Bentley (2007:246), Use Case Narrative
merupakan penjelasan yang lebih rinci secara step by step dari setiap
interaksi actor dengan use case. Berikut penjelasan mengenai bagianbagian use case narrative :
a.
Use case name : Merepresentasikan goal atau tujuan yang akan
dicapai oleh use case yang dimulai dengan kata
kerja.
39
b.
Actors : Orang atau pihak yang mendapatkan manfaat dari use
case dengan menerima suatu nilai yang terukur.
c.
Descriptions : Ringkasan singkat mengenai tujuan use case
beserta aktivitasnya.
d.
Preconditions : Kondisi yang harus dipenuhi sebelum use case
dapat dijalankan.
e.
Postconditions : Kondisi setelah use case telah dijalankan.
f.
Normal Flow : Urutan normal dari aktivitas yang dilakukan oleh
actor dan sistem.
g.
Alternate Flow : Menjelaskan jalur alternatif atau pengecualian
yang terjadi diluar normal flow.
40
Contoh dari Use Case Narrative :
Gambar 2.18 Contoh Use Case Narrative
(Sumber : Whitten dan Bentley, 2007, pp. 259)
2.1.21.4 Sequence Diagram
Menurut Whitten dan Bentley (2007, pp. 382), sequence diagram
merupakan diagram yang menggambarkan interaksi suatu objek dengan
objek lainnya secara sekuensial yang menunjukkan proses pengiriman
dan penerimaan pesan. Berikut adalah notasi-notasi yang terdapat dalam
sequence diagram menurut Whitten & Bentley :
41
1.
Actor, merupakan bagian dari aktor pada use-case yang digambarkan
dengan simbol actors pada use-case diagram
2.
Interface class, kotak yang melambangkan user interface dan untuk
membedakan
dengan
kelas
lainnya,
kelas
ini
diberi
lambang
<<interface>>. Simbol colon (:) yang merupakan standar dari diagram
seqeuence menandakan instansi yang sedang digunakan.
3.
Controller class, setiap use-case akan memiliki minimal 1 controller
class yang dilambangkan dengan <<controller>. Simbol colon (:) yang
merupakan standar dari diagram seqeuence menandakan instansi yang
sedang digunakan.
4.
Entity classes, kotak yang melambangkan setiap entitas atau model yang
dibutuhkan untuk dikolaborasikan dalam sequence.
5.
Messages, panah horizontal dari aktor menuju ke sistem yang
menggambarkan pesan input
6.
Activation bars, digambarkan dengan bentuk balok yang terdapat pada
lifelines menggambarkan suatu periode waktu ketika partisipan sedang
aktif melakukan interaksi.
7.
Return messages, garis panah horizontal putus – putus yang
melambangkan output yang dihasilkan dari fungsi atau behavior yang
telah dipanggil dalam bentuk pesan untuk menandakan berhasil atau tidak
fungsi tersebut.
8.
Self-call, sebuah objek yang dapat memanggil method diri sendiri.
9.
Frame, sebuah kotak yang membungkus satu atau lebih pesan dalam
sequence dan menggambarkan sebagai perulangan (loop), bagian
alternatif (alternate fragments), atau langkah yang opsional (opt).
42
Gambar 2.19 Contoh Sequence Diagram
(sumber : Whitten & Bentley, 2007, pp. 659)
43
2.1.21.5
Activity Diagram
Menurut Whitten dan Bentley (2007, pp. 390), activity diagram
merupakan diagram yang berfungsi untuk menggambarkan alur proses,
step by step dalam use case, dan logika dari metode suatu objek.
Gambar 2.20 Contoh Activity Diagram
(sumber: Whitten & Bentley, 2007, pp. 392)
44
Berikut ini merupakan notasi-notasi yang digunakan dalam activity
diagram :
1. Initial mode, sebuah lingkaran solid yang menggambarkan titik awal
dari sebuah proses
2. Actions,
berbentuk
persegi
dengan
sisi
melengkung
yang
menggambarkan suatu tahapan
3. Flow, digambarkan dengan panah yang menggambarkan suatu
jalannya alur
4. Decision, digambarkan dengan bentuk diamond dengan satu panah
sebagai input dan dua atau tiga panah mengarah keluar sebagai output
5. Merge, digambarkan dengan bentuk diamond dengan dua atau lebih
panah sebagai input dan satu panah menuju keluar sebagai output
6. Fork, digambarkan dengan balok hitam dengan satu panah ke arah
input dan dua atau lebih panah menuju keluar sebagai output yang
bertujuan untuk menggambarkan bahwa proses berjalan secara
bersamaan
7. Join, digambarkan dengan balok hitam dengan dua atau lebih panah
ke arah input dan satu panah menuju keluar sebagai output yang
menggambarkan semua proses yang bergabung harus diselesaikan
terlebih dahulu sebelum proses dilanjutkan
8. Activity final, digambarkan dengan lingkaran solid yang berada di
dalam lingkaran kosong sebagai penanda akhir dari sebuah proses.
2.1.21.6
Entitiy Relation Diagram
Menurut
Whitten
dan
Bentley (2007, pp.
271), Entity
Relationship Diagram (ERD) merupakan suatu model data yang
menggambarkan data berupa entitas dan hubungan antar tabel yang berisi
data-data menggunakan beberapa notasi. Berikut merupakan bagianbagian dari ERD:
45
1. Entity
Entity adalah class dari orang, tempat, objek, kejadian, atau konsep
yang dibutuhkan untuk mengambil dan menyimpan data.
2. Attribute
Attribute merupakan nama dari properti atau karakteristik suatu
entitas.
3. Relationship
Relationship merupakan hubungan antar entitas yang dijelaskan
dengan cardinality. Cardinality merupakan jumlah minimum dan
maksimum kejadian dari sebuah entitas yang berinteraksi dengan
kejadian pada entitas lainnya.
46
Tabel 2.2 Tabel Notasi Cardinality
Notasi Grafik
atau
Jumlah
Jumlah
Kejadian
Kejadian
minimum
maksimum
1
1
Tepat satu
0
1
Nol atau satu
1
Banyak (>1)
0
Banyak (>1)
>1
>1
Keterangan
Satu atau lebih
dari satu
Nol atau lebih
dari satu
Jumlah spesifik
47
2.1.22 Web Service
Web service merupakan suatu sistem perangkat lunak yang dirancang
untuk mendukung pengoperasian interaksi antar mesin melalui jaringan. Web
service mengizinkan suatu aplikasi untuk berintegrasi dengan aplikasi lain
melalui Internet.
Web service tidak memiliki user interface dan tidak ditujukan pada
Web browsers, melainkan Web service memberikan logika bisnis, data, dan
proses-proses melalui tampilan program di dalam jaringan. Connoly dan
Begg (2015, pp. 117).
2.1.23 White Box and Black Box Testing
Menurut Pressman (2010, pp. 485-495), tahap testing dapat dibedakan
menjadi dua jenis, di antaranya yaitu :
1. White-Box Testing
White-Box testing merupakan desain test-case yang menggunakan struktur
kontrol untuk mengambil test-case. Dengan metode white-box testing, bisa
mengambil test case untuk:
• Meyakinkan bahwa semua path pada modul telah dicoba minimal sekali.
• Mencoba semua pilihan logical baik dari sisi benar maupun salah.
• Mengeksekusi semua bagian pada batasan-batasan yang ada.
• Mencoba struktur data internal untuk meyakinkan validitasnya
2. Black-Box Testing
Black-Box testing fokus terhadap requirement fungsional pada suatu
software. Teknik black-Box Testing memungkinkan untuk memperoleh
kumpulan kondisi input-an yang akan mencoba semua requirement
fungsional program secara keseluruhan. Black Box testing berupaya untuk
menemukan error berupa fungsi yang kurang atau salah, kesalahan
interface, kesalahan pada struktur data atau pengaksesan database
eksternal, kesalahan kinerja, dan kesalahan inisialisasiatau terminasi.
48
2.1.24 5 Faktor Manusia Terukur
Menurut Shneiderman dan Plaisant (2010, pp. 32), ada 5 faktor
manusia terukur yaitu :
1. Time to learn
Ukuran untuk berapa lama waktu yang dibutuhkan seorang user untuk
mempelajari cara menggunakan fungsi-fungsi yang relevan pada
sekumpulan tugas hingga dapat menggunakan fungsi tersebut dengan
baik.
2. Speed of performance
Ukuran
untuk
berapa
lama
waktu
yang
diperlukan
untuk
menyelesaikan suatu tugas.
3. Rate of errors by users
Ukuran untuk berapa banyak dan jenis-jenis error yang dilakukan
oleh user dalam melakukan sekumpulan tugas.
4. Retention over time
Ukuran untuk seberapa lama seorang user dapat mempertahankan
ingatan atau pengetahuannya setelah beberapa jam, hari atau minggu.
5. Subjection satisfaction
Ukuran untuk seberapa puas user akan ketertarikannya dalam
menggunakan berbagai aspek pada suatu tampilan sistem.
2.1.25 10 Prinsip Mobile Interface Desgin
Menurut Stark pada NetMagazine.com (2012), smartphone dan
desktop computer merupakan dua hal yang sangat berbeda, baik dari segi
ukuran layar, koneksi, tingkat bandwidth, pemakain baterai, dan sebagainya.
Berdasarkan beberapa hal tersebut, maka perancangan tampilan untuk
49
perangkat mobile tidak dapat disamakan dengan desktop computer. Berikut
ini sepuluh prinsip dari mobile interface design:
1. Mobile mindset
Dikarenakan adanya perbedaan dalam merancang aplikasi mobile dan
desktop computer, berikut merupakan pola pikir yang harus diperhatikan
mengenai aplikasi mobile:
a. Be
Focused:
Banyak
belum
tentu
lebih
baik,
lebih
baik
menghilangkan fitur yang tidak berguna dalam aplikasi yang akan
dibuat.
b. Be Unique: Mengenali apa yang membuat suatu aplikasi yang akan
dibuat berbeda. Jika aplikasi yang akan dibuat tidak memiliki
keunikan
tersendiri,
maka
user
tidak
akan
memilih
untuk
menggunakan aplikasi tersebut.
c. Be Charming: Aplikasi yang mudah digunakan dan memberikan
kesenangan kepada user akan lebih menarik perhatian user untuk
memilih aplikasi tersebut.
d. Be Considerate: Pengembang aplikasi biasanya terlalu fokus pada
kesenangan dalam pengembangan aplikasi. Namun pengembang
aplikasi harus mencoba untuk menempatkan dirinya pada posisi
sebagai user.
2. Mobile contexts
Pengembang aplikasi perlu mengetahui alasan orang dalam menggunakan
sebuah aplikasi mobile. Ada tiga konteks utama yang harus diperhatikan
dalam merancang aplikasi sesuai kebutuhan user, yaitu:
a. Bored: Banyak orang menggunakan aplikasi mobile untuk mengisi
waktu luang. Aplikasi tersebut memberikan kesenangan dalam jangka
panjang yang disertai dengan interupsi seperti notification sehingga
50
user membuka kembali suatu aplikasi dalam jangka waktu tertentu.
Contoh: Facebook, Twitter, Angry Birds, web browser.
b. Busy: Terkadang aplikasi mobile digunakan untuk menyelesaikan
suatu tugas penting dalam waktu cepat dan mudah pada lingkungan
yang sibuk. Sangat penting untuk menggunakan target yang besar dan
design yang jelas yang mudah dilihat. Contoh: TripIt, email, kalender,
dan perbankan.
c. Lost: User yang sedang berada pada kondisi dimana user tertarik
untuk menjelajahi suatu tempat yang belum diketahui masuk ke
dalam kategori ini. Dalam konteks ini, daya tahan baterai dan
konektivitas yang terbatas menjadi perhatian utama dalam pembuatan
aplikasi. Contoh: Maps, Yelp, Foursquare.
3. Global guidelines
Setiap aplikasi yang berbeda memiliki pendekatan, rancangan, dan teknik
yang berbeda. Berikut merupakan pedoman umum yang harus
diperhatikan dalam merancang suatu aplikasi:
a. Responsiveness: Aplikasi yang responsive sangat diperlukan oleh
user. Jika user sedang melakukan sesuatu, aplikasi tersebut harus
memberikan informasi kepada user sebagai timbal balik sehingga
user mengetahui bahwa aplikasi tersebut sedang menjalankan
perintah dari user.
b. Polish: Pembaharuan pada aplikasi seperti memperhatikan hal-hal
kecil pada rancangan dan fitur akan dihargai dan diperhatikan oleh
user.
c. Thumbs: Ibu jari merupakan bagian dari jari yang paling interaktif
dalam menggunakan aplikasi dengan fitur tampilan touchscreen,
sehingga perlu memperhatikan interaksi dalam menggunakan ibu jari.
d. Targets: Sangat penting dalam menempatkan fungsi-fungsi pada
aplikasi dengan posisi baik dan mudah untuk dijangkau, seperti
penempatan tombol backspace yang berada di samping tombol enter
51
merupakan ide yang buruk. Developer juga harus memperhatikan
ukuran dari setiap tombol agar dapat dijangkau dengan mudah.
e. Content: Revolusi dari layar sentuh dimana memungkinkan user
untuk berinteraksi secara langsung dengan konten aplikasi. Lebih baik
meminimalisir tampilan berupa tombol, tab bars, checkboxes, sliders,
dan lainnya sehingga aplikasi terpusat pada konten aplikasi tersebut.
f. Controls: Ketika suatu aplikasi membutuhkan control, cobalah untuk
meletakkannya pada posisi di bawah layar, seperti tombol next dan
previous.
g. Scrolling: Sebaiknya menghindari penggunaan fitur scrolling pada
aplikasi. Aplikasi yang tidak mempunyai fitur scrolling memberikan
rasa kuat dan dapat diandalkan kepada user karena aplikasi terlihat
jelas dan tidak membingungkan user dalam mencari konten yang
diinginkan.
4. Navigation models
Ada beberapa model navigasi dalam merancang tampilan aplikasi mobile,
seperti:
a. None: Aplikasi single screen seperti aplikasi Weather pada iPhone.
b. Tab bar: Aplikasi yang memiliki lebih dari satu area konten aplikasi
dan berbentuk seperti tab bar pada bagian atas aplikasi. Contoh:
Twitter, Facebook.
c. Drill down: Aplikasi yang berbentuk seperti suatu daftar dan detail
konten dalam hierarki. Contoh: aplikasi penganturan.
5. User input
Aplikasi yang memiliki input pada keyboard yang beragam akan
memudahkan user dalam mengetik input yang diinginkan, seperti
keyboard untuk teks, angka, email, URL, dan lainnya. Jika aplikasi yang
dibuat membutuhkan banyak pengetikan, maka developer seharusnya
52
menyediakan fitur orientasi landscape bagi user yang memiliki ukuran
ibu jari yang besar.
6. Gestures
Salah satu aspek yang penting dalam merancang tampilan aplikasi mobile
adalah gesture. Berikut beberapa gesture yang diantaranya jarang
ditemukan atau digunakan oleh user:
a. Invinsible: Banyak gesture yang tidak terlihat sehingga perlu adanya
instruksi atau petunjuk kepada user untuk menemukan keberadaan
gesture tersebut, seperti swipe atau flick gesture.
b. Two Hands: Multi-touch gesture memerlukan dua tangan untuk
mengeksekusinya, seperti zoom in/out gesture.
c. Nice to Have: Dalam banyak kasus, gesture seperti ini jarang
ditemukan sehingga orang awam umumnya tidak mengetahui akan
keberadaan gesture ini, seperti keyboard shortcuts-power.
d. No Replacement: Sebuah kosa kata umum untuk gesture yang belum
ada sampai sekarang sehingga terlalu awal untuk beberapa aplikasi
menghiraukan visible controls yang dapat digunakan dengan satu jari.
7. Orientation
Aplikasi berorientasi portrait merupakan orientasi yang paling populer
dalam merancang suatu aplikasi. Jika suatu aplikasi membutuhkan
banyak pengetikan, maka seharusnya mendukung orientasi landscape
sehingga user dapat mengakses keyboard yang lebih besar.
8. Communications
Dalam merancang suatu aplikasi perlu adanya komunikasi antara aplikasi
dengan user. Berikut tiga jenis komunikasi yang dapat dilakukan untuk
memberikan informasi kepada user:
a. Provide feedback: Aplikasi harus menyediakan feedback secara
langsung untuk setiap interaksi yang dilakukan oleh user pada
53
aplikasi tersebut. Jika tidak ada feedback, maka user akan menduga
bahwa aplikasi tersebut tidak berjalan dengan baik. Feedback dapat
berupa teks, suara, dan visual. Jika user melakukan suatu interaksi
yang
memerlukan
waktu
cukup
lama
bagi
sistem
untuk
mengelolanya, maka tampilkan spinner atau progress bar untuk
memberikan respon balik ke user.
b. Modal alerts: Modal alerts sangat mengganggu user dalam
berinteraksi
dengan
aplikasi,
sehingga
developer
harus
menggunakannya ketika ada sesuatu hal yang penting dan tidak
berjalan dengan baik. Jangan menggunakan modal alerts untuk
pemberian informasi pada umumnya.
c. Confirmation: Aplikasi juga perlu memberikan konfirmasi atas aksi
yang telah dilakukan oleh user. Misalnya user ingin menghapus suatu
file, maka tampilan dialog box yang berisi konfirmasi akan keyakinan
user untuk menghapus file tersebut.
9. Launching
Ketika user membuka kembali aplikasi yang sebelumnya digunakan,
sebaiknya aplikasi tersebut menampilkan operasi yang terakhir dilakukan
oleh user. Hal ini dapat memberikan ilusi kecepatan dan berkontribusi
untuk merasakan keseluruhan dari rasa responsif. Jika memungkinkan,
tampilkan gambar dari aplikasi tersebut saat aplikasi sedang loading
pertama kalinya. Apapun yang terlihat interaktif (seperti tombol, link,
icon, dan konten) akan membuat user frustasi sehingga mengakibatkan
kegagalan interaksi.
10. First impressions
Prinsip terakhir yang penting dalam merancang aplikasi mobile adalah
kesan pertama. Faktor pertama yang menjadi kesan pertama user adalah
icon. Rancangan icon harus dapat membuat aplikasi tersebut terlihat jelas
akan tujuannya. Namun tidak perlu rumit, melainkan tepat dan seperti apa
54
yang dapat dilakukan oleh aplikasi tersebut. Faktor kedua yaitu first
launch. Faktor ini memberikan dampak apakah user merasa dipermudah
atau dipersulit dengan keberadaan aplikasi tersebut. Jika user baru merasa
bingung dan frustasi ketika mencoba aplikasi, maka mereka akan
sesegera mungkin membuangnya.
Download