9 BAB 2 TINJAUAN PUSTAKA Pada bab ini dibahas

advertisement
BAB 2
TINJAUAN PUSTAKA
Pada bab ini dibahas teori-teori yang diperlukan dalam pembuatan Aplikasi
Membaca Cepat Menggunakan Spritz Software Development Kit Berbasis Android.
2.1
Aplikasi Mobile
Penggunaan perangkat mobile terus meningkat. Perangkat mobile seperti
smartphone dan tablet telah menjadi sesuatu yang biasa di masyarakat. Hal yang
menarik dalam penggunaan perangkat mobile itu sendiri adalah terdapatnya aplikasi
mobile. Menurut Garhan(2011) aplikasi mobile sendiri adalah software yang yang
dapat dijalankan pada perangkat genggam seperti tablet, e-reader, dan smartphone.
2.1.1 Sistem Operasi Mobile
Berdasarkan pendapat Beal (2011) sistem operasi pada perangkat mobile
memiliki peran penting agar aplikasi-aplikasi yang berada dalam perangkat yang
dapat saling berkomunikasi atau bertukar data yang bekerja pada processor kecil
yang ada pada gadget. Sebuah perangkat mobile yang tidak memiliki sistem operasi
akan menyebabkan aplikasi-aplikasinya tidak berjalan dengan baik-baik.. Berikut ini
adalah beberapa sistem operasi yang sudah umum, antara lain:
a.
Windows Mobile
Windows Mobile adalah sistem operasi mobile yang beroperasi pada
platform perangkat Windows Mobile.
b.
IOS
IOS adalah sistem operasi keluaran dari Apple yang digunakan dalam
semua lini gadgetnya yaitu Iphone, Ipad, & Ipod.
c.
Android
Android adalah salah satu dari sistem operasi open source yang terkenal di
kalangan masyarakat. Desain dari sistem operasi Android bisa disesuaikan
dengan
operator
dan
produsen
menggunakannya.
9
perangkat
mobile
yang
ingin
10
d.
Blackberry
Blackberry merupakan sistem operasi besutan RIM yang populer pada tahun
2008 dengan aplikasi chat blackberry messenger
2.1.2 Jenis Aplikasi Mobile
Orang-orang awam sering kali mempunyai pemahaman yang salah antara
kategori dan jenis aplikasi mobile. Mereka menganggap itu adalah dua hal yang
sama, padahal kategori dan jenis aplikasi mobile mempunyai pengertian yang
berbeda. Yang dimaksud dengan kategori aplikasi mobile menurut menurut Budiu
(2011) adalah sebagai berikut:
a.
Native Apps
Merupakan aplikasi yang dikembangkan dan digunakan pada sistem operasi
tertentu. Kelebihan dari jenis aplikasi ini adalah kecepatan, kinerja dan
antarmuka dari aplikasi paling optimal di antara semua jenis aplikasi. Selain
itu, jenis aplikasi ini tidak membutuhkan koneksi internet. Namun, kelemahan
dari jenis aplikasi ini adalah biaya pengembangan jenis aplikasi ini mahal
karena hanya bisa berfungsi pada satu sistem operasi serta proses
pengembangan memakan waktu yang lama.
b.
Web-Based Apps
Aplikasi ini menggunakan web browser sebagai client yang dikembangkan
dengan bahasa pemrograman yang dapat diolah dan dibaca oleh web browser
seperti HTML, PHP, JavaScript dan lainnya. Kelebihan dari jenis aplikasi ini
adalah biaya pengembangan yang murah, dapat diakses oleh semua perangkat
yang memiliki fitur web browser dan penggunaan database yang kecil karena
semua data tersimpan di server. Kelemahannya adalah jenis aplikasi ini
membutuhkan koneksi internet agar aplikasi dapat digunakan. Kelemahan
yang lain adalah apabila koneksi internet yang lemah atau tidak baik, akan
menyebabkan mengurangi kinerja aplikasi.
c.
Hybrid Apps
Hybrid Apps adalah jenis aplikasi yang relatif sama dengan Native Apps,
hanya saja data-data di aplikasi tersimpan di web, bukan di perangkat.
Kelebihannya adalah jenis aplikasi dapat diunduh melalui app store, selain
lebih mudah untuk diterapkan pada sistem operasi yang berbeda dibanding
11
dengan Native Apps itu sendiri. Meskipun jenis aplikasi ini membutuhkan
koneksi langsung internet, namun tetap dapat beroperasi ketika perangkat
sedang dalam keadaan offline. Kelemahannya tidak berjalan semulus Native
Apps, kinerja aplikasi ketika sedang dalam keadaan offline akan tidak stabil.
2.1.3 Prinsip Perancangan Antarmuka pada Aplikasi Mobile
Seperti yang sudah dibahas pada latar belakang, smartphone diprediksikan
akan menggantikan kemampuan untuk berseluncur di dunia maya, bermain game
bahkan bekerja, itu semua dapat dilakukan dengan hanya mengandalkan sebuah
smartphone.
Walaupun perangkat PC dan smartphone keduanya dikategorikan sebagai
perangkat computing, tetapi pada dasarnya kedua perangkat tersebut sangat berbeda.
Perbedaan tersebut bisa dilihat dari segi ukuran, layar, konektivitas dan lainnya.
Pada kenyataannya banyak keunggulan lain yang dimiliki oleh smartphone.
Smartphone bersifat pribadi, selalu tersambung dan terdirektori dengan baik. Selain
itu, smartphone juga memiliki fitur sensor yang bisa medeteksi lokasi, pergerakan,
percepatan, orientasi dan keadaan lingkungan sekitar smartphone. Dengan segala
utilitas yang dipunyai oleh smartphone, banyak pengguna PC beralih ke
Berikut ini adalah sepuluh prinsip dasar dari perancangan antarmuka aplikasi
mobile menurut Stark (2012):
a.
Pola Pikir Mobile
Karena rentang perbedaan antara mobile dan desktop yang cukup
kompleks, menjadi hal yang teramat penting untuk mengubah perspektif para
pengembang awam mobilephone ke pola pikir mobile sebelum memulai
untuk membuat sebuah aplikasi. Antarmuka harus disusun secara fokus
sehingga pengguna dapat melihat langsung tujuan dari setiap antarmuka yang
dimunculkan. Pembuatan antarmuka harus unik, menarik, dan harus
menampilkan antarmuka sesuai kebutuhan tujuan pengguna.
b. Konteks Mobile
Aplikasi harus dapat digunakan saat pengguna dalam keadaan bosan, sibuk,
ataupun saat pengguna mencoba mengenal dan memahami situasi di
lingkungan sekitarnya. Saat pengguna dalam keadaan bosan, aplikasi harus
memberikan pengalaman yang menyenangkan bagi pengguna serta dapat
membuat pengguna bertahan untuk menggunakan aplikasi dalam jangka
12
waktu yang cukup panjang atau mungkin pengguna tidak menyadari jika
sudah menggunakan aplikasi mobile tanpa melihat waktu. Sedangkan pada
saat pengguna dalam keadaan sibuk, aplikasi harus mampu untuk
menyelesaikan setiap permintaan pengguna dalam waktu yang relatif singkat
dan sempurna, sehingga menimbulkan persepsi dan pengalaman bahwa
aplikasi mobile yang digunakan dapat diandalkan dalam situasi kritis.
Sedangkan ketika pengguna sedang berada dalam lingkungan sekitar yang
tidak dikenalinya, konektivitas yang sederhana, daya tahan baterai serta
kepuasan pengguna dalam menghabiskan waktunya akan menjadi syarat
utama pada pegembangan aplikasi. Aplikasi harus mampu untuk menawarkan
dukungan dalam bentuk offline dan tidak memakan daya baterai yang terlalu
besar pada saat penggunaan aplikasi oleh pengguna.
c.
Pedoman Yang Menyeluruh
Beberapa syarat yang harus diutamakan serta disediakan dalam aplikasi
mobile diantaranya harus responsif serta mempunyai transisi yang baik dan
rapi. Di samping itu aplikasi mobile yang baik disarankan mempunyai tombol
yang mudah dijangkau oleh ibu jari pengguna, serta pengguna dapat dengan
mudah memperkirakan tujuan dari tampilan yang dimunculkan.
d. Model Navigasi Yang Mudah Dimengerti
Terdapat banyak sekali jenis-jenis navigasi untuk aplikasi mobile. Namun
penggunaan navigasi harus dengan penuh pertimbangan agar aplikasi dapat
tampil secara maksimal.
e.
Inputan Pengguna
Di dalam sebuah aplikasi mobile, akan terdapat banyak input yang dilakukan
oleh pengguna. Jenis input yang digunakan akan disesuaikan kebutuhan input
yang dibutuhkan pengguna.
f.
Gerakan
Gesture merupakan fitur yang paling menerik dari desain antarmuka aplikasi
mobile seperti fitur zoom pada peranti kamera sebuah smartphone.
g.
Orientasi
Ada dua tipe orientasi, yaitu landscape dan portrait, kedua tipe orientasi
tersebut memudahkan seperti dalam kehidupan sehari-hari, pengguna dalam
mengakses sebuah papan ketik akan lebih menyukai orientasi landscape
13
karena lepih luas dan meminimalkan kesalahan tidak terkecuali aktivitas
bermain game pada smartphone
h. Komunikasi
Sebuah aplikasi yang bagus harus mempunyai komunikasi timbal balik
kepada penggunanya. Pengguna akan mengira bahwa aplikasi tersebut hang
atau macet bila tidak ada timbal balik yang jelas. Timbal balik bisa
berhubungan
dengan
indera
perasa
atau
penglihatan,
dalam
pengaplikasiannya seperti vibrasi atau cahaya berkelap-kelip pada layar. Bila
pengguna ingin melakukan sebuah kegiatan atau operasi yang membutuhkan
proses waktu sedikit lebih lama, maka aplikasi harus menampilkan progress
bar atau status agar pengguna tahu bahwa apa yang mereka lakukan atau
inginkan sedang dalam proses pengerjaan.
Apabila pengguna ingin melakukan sebuah kegiatan atau operasi yang
membutuhkan pesan konfirmasi, ada baiknya aplikasi memunculkan sebuah
kotak konfirmasi yang menanyakan pilihan pengguna. Tujuan dari konfirmasi
adalah untuk menghindari kesalahan yang dilakukan oleh pengguna yang
dapat berakibat buruk.
i.
Peluncuran
Pada saat aplikasi dijalankan, disarankan agar halaman intro sesederhana
mungkin. Halaman intro yang terlalu interaktif akan menyebabkan pengguna
frustasi terhadap antarmuka.
Ketika pengguna menjalankan kembali aplikasi setelah menjalankannya
beberapa waktu yang lalu, diusahakan agar aplikasi menjalankan operasi,
kegiatan atau halaman terakhir yang pengguna lakukan. Ini akan memberikan
kesan kepada pengguna bahwa aplikasi memiliki respon yang cepat.
j.
Kesan Pertama
Kesan pertama menjadi hal yang penting ketika pengguna pertama kali
menjalankan aplikasi. Sebuah aplikasi akan tidak bernilai ketika seorang
pengguna baru kebingungan dan frustasi ketika mempelajari dan memahami
aplikasi tersebut. Jika sebuah aplikasi mempunyai fungsionalitas yang
kompleks, diusahakan agar menyertakan petunjuk seperti tips dan trik ke
dalam aplikasi tersebut.
14
Namun untuk membuat mobile application yang baik ada beberapa saran yang
dapat dirujuk, yaitu pernyataan (Gruman, 2013) desain yang baik adalah komponen
penting dalam pengembangan sebuah mobile application. Maka dari itu dapat
dianalogikan jika semakin kecil device yang digunakan oleh pengguna dalam
mengoperasikan sebuah mobile application, maka akan semakin kompleks dalam
menggunakannya karena mengharuskan pengguna begitu keras berusaha untuk
menjalankan atau hanya sekedar mencoba aplikasi tersebut. Berikut merupakan
prinsip dasar dalam mengembangkan mobile application (Gruman, 2013)
a.
Jangan pernah sekalipun untuk meluncurkan sebuah mobile application ke
berbagai device dalam satu waktu dan ketebatasan yang dapat menghalangi
kemampuan aplikasi, pada karena satu sistem operasi terdapat ketentuan yang
berbeda-beda.
b.
Dengan segala kelebihan komputasi pada smartphone, pengembang mobile
application diasah untuk berpikir kreatif dalam menggunakan segala utilitas yang
ada pada smartphone, sehingga nantinya tidak ditemukan lagi aplikasi yang terlalu
kompleks dalam pengoperasiannya.
c.
Desain untuk segala aksibilitas yang dapat dikuasai oleh banyak pengguna
pada rentang umur yang relatif muda sekitar umur 10 hingga pengguna kalangan
berusia tua yang usianya berada dikisaran 45 tahun keatas, hal ini dilakukan agar
prngguna tidak kesulitan dalam menggunakannya.
d.
Terkadang desain yang dipresentasikan pada kertas berupa mockup atau
sekedar PDF tidak dapat mencerminkan aplikasi yang akan atau sudah dibuat
menjadi sesuai harapan untuk klien ataupun pengguna aplikasi tersebut, ada baiknya
jika sebuah prototipe dipresentasikan pada sebuah mobilephone dalam bentuk
aplikasi sementara yang akan menjadi tolak ukur pada aplikasi yang dikerjakan.
Jika membuat sebuah mobile application, usahakan untuk tidak dibuat terlalu
sederhana dan dan juga terlalu kompleks.
2.2
Membaca
Membaca merupakan proses yang kompleks dan rumit. Kompleks itu sendiri
diartikan sebagaimana dalam proses membaca melibatkan berbagai faktor internal
dan faktor eksternal. Faktor internal berupa intelegensi, minat, sikap, bakat, motivasi,
tujuan membaca, dan lain sebagainya. Faktor eksternal bisa dalam bentuk sarana
membaca seperti latar belakang sosial dan ekonomi dan tradisi membaca. Rumit itu
15
sendiri, merupakan faktor eksternal dan internal yang saling berhubungan
membentuk hubungan koordinasi yang rumit untuk menunjang pemahaman
bacaan(Nurhadi, 2008 : 13).
Samsu Somadayo (2011: 4) menyatakan bahwa membaca adalah suatu
kegiatan interaktif untuk memetik serta memahami arti yang terkandung di dalam
bahan tulis. Pendapat tersebut didukung juga dengan penjelasan bahwa membaca
adalah memahami pola-pola bahasa dari gambaran tulisannya. Dari pendapat di atas
dapat
disimpulkan
bahwa
membaca
adalah
proses
pengasosiaan
huruf,
penerjemahan, dan pemahaman makna isi bacaan. Lalu, bacaan sendiri menurut
Kamus Besar Bahasa Indonesia adalah sesuati yang bisa dibaca dapat berupa buku
ataupun artikel.
Tujuan dari membaca itu sendiri adalah untuk dapat memperoleh fakta dan
perincian, memperoleh ide-ide utama, mengetahui urutan atau susunan struktur
karangan, membaca untuk menyimpulkan, mengelompokkan atau mengklasifikasi,
menilai dan mengevaluasi, serta memperbandingkan atau mempertentangkan
(Dalman, 2013: 11-12).
2.3
Membaca Cepat
Membaca cepat adalah membaca yang mengutamakan kecepatan tanpa
mengabaikan pemahamannya. Biasanya kecepatan
itu dikaitkan dengan tujuan
membaca, keperluan, dan bahan bacaan. Artinya, seseorang pembaca cepat yang baik
tidak menerapkan kecepatan membacanya secara konstan di berbagai keadaan. Akan
tetapi, penarapan kemampuan membaca cepat diseusaikan dengan tujuan membaca,
aspek atau bacaan yang digali(keperluan), dan berat ringannya bahan bacaan. Satuan
yang digunakan dalam membaca cepat adalah kata per menit atau words per
minutes(Darmayanti, 2006: 65-66).
Menurut Rayner, Timothy, dan Belanger (2010) kegiatan membaca normal
berada dikecepatan 200 Words Per Minute atau WPM. Setiap manusia memiliki
kemampuan untuk meningkatkan kecepatan membaca. Dalam kasus ini telah terbukti
bahwa fast reader, dengan menambah kecepatan hingga 330 WPM, memiliki rentang
serapan yang lebih luas dibanding slow reader yang membaca dengan kecepatan
200 WPM .
16
2.4
Waterfall
Waterfall Model atau yang juga dikenal dengan sebutan Classic Life Cycle
merupakan salah satu model proses dalam pembuatan suatu program aplikasi. Model
ini disebut dengan Waterfall karena tahap demi tahap yang dilalui harus menunggu
tahap sebelumnya selesai dan berjalan berurutan. (Pressman dan Maxim, 2014 : 42).
Sedangkan menurut Sommerville(2010: 30-31) model proses pengembangan
perangkat lunak waterfall merupakan plan-driven process atau pada prinsipnya
pengembang harus membuat rencana dan jadwal pekerjaan sebelum melakukan
pekerjaan. Model proses waterfall memiliki tahapan-tahapan sebagai berikut:
a. Requirement analysis and definition
Pada tahap ini dilakukan proses pengumpulan kebutuhan secara lengkap
kemudian dilakukan analisis dan didefinisikan secara rinci dan disajikan
sebagai sistem spesifikasi.
b. System and Software Design
Pada tahap ini dilakukannya proses desain sistem dengan mengalokasikan
requierment perangkat keras maupun perangkat lunak dengan membentuk
sistem arsitektur secara keseluruhan. Software desain melibatkan proses
identifikasi dasar abstraksi sistem perangkat lunak dan hubungannya.
c. Implementation and Unit Testing
Pada tahap ini desain perangkat lunak direalisasikan sebagai program.
Prgram yang telah direalisasi diuji dengan cara memverifikasi apakah setiap
unit memenuhi spesifikasi awalnya.
d. Integration and System Testing
Pada tahap ini program yang telah diuji dipastikan sudah memenuhi
software requirement. Apabila sudah terpenuhi, sistem perangkat lunak
didistributorkan kepada user.
e. Operation and Maintenance
17
Pada tahap ini dilakukan pengoperasian program dan dilakukan
pemeliharaan seperti perubahan karena adaptasi dengan situasi sebenarnya.
Gambar 2.1 Waterfall Model
Sumber (Sommerville, 2010: 30)
2.5
Unified Modeling Language (UML)
Unified Modelling Language atau UML didefinisikan sebagai bahasa standar
untuk menulis software blueprint.
mengkonstruksi,
dan
UML digunakan untuk menspesifikasi,
medokumentasi
artefak
dari
software-intensive
system(Pressman, 2014 : 869).
Bernd Bruegge & Allen H. Dutoit ( 2010: 30) menyatakan bahwa tujuan
utama Unified Modeling Language atau UML adalah untuk memberikan klasifikasi
standar yang bisa digunakan semua metode object oriented. Selain itu, UML didesain
untuk berbagai macam aplikasi. Sistem development pada UML fokus pada 3 model
sistem, yaitu:
a. Model Fungsional (functional model)
Functional model merepresentasikan UML dengan use case diagram yang
digunakan untuk deskripsi fungsi sistem dari pandangan user.
b. Model Objek (object model)
Dalam UML, model ini direpresentasikan dengan class diagram.Model ini
mendeskripsikan struktur sistem
18
c. Model Dinamik (Dynamic model)
Dalam UML, model ini digunakan untuk mendeskripsi perilaku internal
pada sistem. Model ini direpresentasikan dengan activity diagram.
2.5.1 Use Case Diagram
Use case menggambarkan bagaimana perilaku sistem dari sudut padang
actor. Actor adalah entiti eksternal yang berinteraksi dengan sistem. Setiap aktor
memiliki nama dan deskripsi yang unik. Pada use case diagram terdapat kotak yang
menyimpan use case yang disebut dengan Boundary. Boundary dari sistem bertujuan
untuk memisahkan tugas-tugas yang dikerjakan oleh sistem dan tugas-tugas yang
diselesaikan di luar sistem. Actors berada diluar dari boundary sistem. Actors
direpresentasikan dengan simbol manusia, use cases direpresentasikan dengan oval,
dan boundary sistem direpresentasikan dengan sebuah kotak yang melingkupi
seluruh use case.
Contohnya, pada gambar 2.2 actor Dispathcer dapat melaporkan keadaan
darurat pada sistem First Responder Interactive Emergency Navigational Database
atau FRIEND direpresentasikan dengan ReportEmergency use case, membuka
laporan insiden yang direpresentasikan dengan OpenIncident use case, dan
mengalokasikan sumber daya yang dibutuhkan yang direpresentasikan dengan
AllocateResource use case. Sementara itu, FieldOfficer hanya dapat melaporkan
keadaan darurat pada sistem.
Gambar 2.2 Contoh Use Case Diagram
(Bernd Bruegge & Allen H. Dutoit, 2010: 44)
19
2.5.2 Use Case Narrative
Menurut pendapat Whitten dan Bentley (2007:246) use case narrative
merupakan deskripsi tekstual kejadian dan bagaimana user akan berinteraksi dengan
sistem untuk menyelesaikan tugas.
Untuk membuat use case narrative terdapat bagian-bagian yang harus
dipenuhi yaitu:
1) Use case name
Use case name merepresentasikan tujuan yang akan dicapai. Kata awal dari use case
name diawali dengan kata kerja.
2) Actor
Merupakan stakeholder utama yang berinteraksi dengan sistem.
3) Description
Ringkasan sekilas yang menjelaskan secara garis besar isi dari use case yang dibuat
dan kegiatannya.
4) Precondition
Merupakan batasan pada sistem sebelum use case dapat dieksekusi. Biasanya hal ini
mengacu ke use case lain yang harus dieksekusi sebelumnya.
5) Flow of Events
Merupakan kejadian yang bertahap dalam mengeksekusi use case.
6) Postcondition
Merupakan batasan pada kejadian sistem setelah use case dieksekusi dengan baik.
2.5.3 Activity Diagram
Activity diagram mendeskripsikan perilaku sistem dari lebih rendah atau low
level behaviour. Activity diagram menunjukkan bagaimana perilaku diwujudkan
dalam hal satu atau beberapa rangkaian kegiatan yang disebut dengan Activities.
Pengeksekusian satu activities dapat dilakuakan oleh selesainya activites lain.
Activites direpresentasikan dengan persegi bulat, tanda panah, antara
activities merepresentasikan controlflow. Sebuah garis hitam tebal merepresentasikan
sinkronisasi dari controlflow. Sebuah lingkaran hitam kecil menandakan awal dari
proses. Sebuah lingkaran yang mengelilingi lingkaran hitam kecil menandakan akhir
proses. Decisions merupakan percabangan dalam control flow yang ditandai dengan
sebuah diamond dengan satu atau lebih anak panah yang masuk dan yang keluar.
20
Gambar 2. 3 Contoh Activity Diagram
(Bernd Bruegge & Allen H. Dutoit, 2010: 205)
2.5.4 Class Diagram
Menurut Whitten dan Bentley (2007:400) class diagram merupakan
gambaran grafis mengenai struktur objek suatu sistem yang digunakan untuk
menggambarkan objek suatu kelas dan hubungannya dengan kelas yang lain.
Dalam membuat class diagram terdapat beberapa hal yang perlu diperhatikan yaitu:
1. Visibility
Menurut Whitten dan Bentley (2007:650) visibility adalah cara bagaimana
suatu atribut atau method pada suatu class diakses oleh class lain pada UML.
Terdapat 3 jenis tipe untuk menggambarkan visibility pada suatu class :
a) Public
Visibility dengan tipe public dinotasikan dengan simbol “+”. Atribut
dan method dengan tipe ini dapat diakses dan dipanggil dari class
yang lain.
b) Protected
Visibility dengan tipe protected dinotasikan dengan simbol “#”.
Atribut dan method dengan tipe ini dapat diakses dan dipanggil dari
class itu sendiri dan class yang merupakan keturunannya.
c) Private
21
Visibility dengan tipe protected dinotasikan dengan simbol “-”.
Atribut dan method dengan tipe ini hanya dapat diakses dan dipanggil
oleh class itu sendiri.
Gambar 2.4 Contoh Class Diagram Dengan Visibility Atribut Dan
Method.
2. Multiplicity
Multiplicty merupakan sebuah identifikasi hubungan antar suatu class untuk
menentukan berapa interaksi minimum dan maksimum dari suatu objek class
ke class yang lain.
Gambar 2.5 Contoh Notasi Multiplicity Pada Class Diagram
22
(Sumber: Whitten & Bentley, 2007 : 377)
3. Relation
Pada class diagram terdapat beberapa jenis tipe hubungan yang
menggambarkan relasi antar objek.
a) Asosiasi
Asosiasi merupakan langkah identifikasi pertama dalam menentukan
hubungan antar objek. Hal ini membolehkan suatu objek untuk
mereferensi silang objek lainnya dan bisa mengirim pesan.
Gambar 2.6 Contoh Notasi Asosiasi Pada Class Diagram
(Sumber: Whitten & Bentley, 2007 : 406)
b) Generalisasi atau spesifikasi
Hubungan ini merupakan sebuah klasifikasi hierarki yang terdiri dari
supertype (abstract atau parent) dan subtype (concrete atau child).
Supertype adalah class yang menyimpan attribut umum dan behavior.
Subtype adalah class khusus yang menyimpan attribut dan behavior
unik dari sebuah objek namun dapat mewarisi juga attribut dan
behavior dari supertype.
23
Gambar 2.7 Contoh Notasi Supertype dan Subtype Pada Class Diagram
(Sumber: Whitten & Bentley, 2007 : 404)
c) Agregasi
Hubungan agregasi adalah sebuah hubungan unik di mana suatu objek
merupakan bagian dari objek lainnya. Biasanya hubungan ini disebut
whole/part relationship. Contohnya adalah “Objek A terdiri dari objek
B dan objek B merupakan bagian dari objek A”. Hubungan tersebut
merupakan hubungan asimetris.
Gambar 2.8 Contoh Notasi Hubungan Agregasi Pada Class
Diagram
(Sumber: Whitten & Bentley, 2007 : 379)
Namun menurut Whitten dan Bentley (2007:378) pada UML 2.0
notasi untuk agregasi telah ditiadakan. Peran agregasi yang kurang
jelas dapat disederhanakan menjadi hubungan asosiasi.
24
d) Komposisi
Hubungan komposisi merupakan merupakan hubungan yang serupa
dengan agregasi namun lebih erat dimana suatu objek bertanggung
jawab atas objek bagiannya. Jika salah satu objek dihapuskan maka
objek yang berhubungan secara komposisi juga ikut dihapus.
Gambar 2.9 Contoh Notasi Hubungan Komposisi Pada Class Diagram
(Sumber: Whitten & Bentley, 2007 : 379)
2.5.5 Sequence Diagram
Bruegge dan Dutoit (2010:32) Sequence Diagram merupakan bentuk spesial
dari Interaction Diagram. Interaction Diagram sendiri digunakan untuk merumuskan
perilaku dinamis dari sistem dan memvisualisasikan komunikasi antara objek.
Interaction Diagram berguna untuk mengidentifikasi objek tambahan yang pada use
case. Setiap interaction diagram merepresentasi interaksi yang terjadi antara objek
tersebut.
Sebagai contoh, gambar 2.4 merupakan bentuk khusus dari diagram interaksi
yang disebut dengan sequence diagram. Gambar ini menunjukan sequence diagram
pada sistem sederhana jam. Pada gambar objek berbentuk manusia merupakan actor
yang merepresentasikam pengguna jam atau disebut WatchUser. Panah berlabel
merupakan gerakan yang dilakukan seorang aktor dengan mengirimkan pesan dari
aktor ke kelas maupun kelas ke kelas. Dalam hal ini, WatchUser menekan tombol
satu kali dan menghasilkan blinkHours() yang diperlihatkan pada display. Saat
tombol satu ditekan dua kali terjadinya blinkMinutes() dan saat tombol 2 ditekan
terjadi incrementMinutes() pada :Time dan ditampilkan pada :Display Penggunaan
SetTime kasus berakhir ketika WatchUser menekan kedua tombol secara bersamaan.
25
Gambar 2.10 Contoh Sequence
(Bernd Bruegge & Allen H. Dutoit, 2010: 33)
2.6
Interaksi Manusia dan Komputer
Shneiderman dan Plaisant (2010:22) mendefinisikan Interaksi Manusia dan
Komputer atau Human-Computer Interface adalah disiplin ilmu yang berhubungan
dengan perancangan, evaluasi, dan implementasi sistem komputer dengan manusia.
Tujuannya adalah untuk memberikan sebuah sistem antarmuka yang sesuai dengan
kebutuhan user atau pengguna.
2.6.1 Delapan Aturan Emas
Shneiderman dan Plaisant (2010: 88-89) mengemukakan terdapat delapan
aturan emas yang sudah digunakan siswa dan desainer sebagai panduan dalam
mendesain antarmuka. Delapan aturan emas ini yaitu sebagai berikut :
a. Berusaha untuk konsisten (strive for consistency)
Aturan emas yang pertama adalah berusaha untuk konsisten. Bentuk
konsisten yang dimaksud ialah penggunaan warna, tata letak, menu,
pemilihan jenis huruf, kapitalisasi, bahasa yang digunakan, dan hal lainnya
yang berhubungan dengan konsistensi dan keselarasan.
b. Memenuhi fungsi yang universal (Cater to universal usability)
Mengenali kebutuhan dari berbagai user agar rancangan yang dihasilkan
bisa digunakan secara universal. Fungsi yang digunakan didalam user
interface ini pun harus mempertimbangkan berbagai faktor, seperti umur,
perbedaan kemampuan teknologi, dan juga hambatan fisik. Panduan untuk
26
pemulapun perlu disediakan untuk pemula. Selain itu, untuk ahli juga bisa
ditambah fitur shortcut untuk meningkatkan kualitas dari sistem antarmuka.
c. Menawarkan umpan balik yang informatif
(Offer informative
feedback)
Untuk setiap tindakan user, harus terdapat umpan balik sistem. Pada
tindakan yang sering dilakukan dan tindakan kecil dapat diberi respon yang
sederhana. Sedangkan untuk tindakan yang jarang dilakukan dan tindakan
utama harus memiliki respon yang lebih substansial.
d. Mendesain dialog untuk menghasilkan penutupan (Design dialogs to
yield closure.)
Urutan tindakan harus diterorganisir ke dalam beberapa grup yaitu awal,
tengah dan akhir. Umpan balik yang informatif pada penyelesaian kelompok
pekerjaan akan memberikan operator kepuasan kesuksesan, rasa lega, dan
indikator untuk mempersiapkan kelompok pekerjaan berikutnya. Hal ini
dapat dicontoh dari situs web e-commerce yang mengarahkan user dari
halaman memilih produk menuju halaman pembayaran. Saat
akan
membuka halaman pembayaran terdapat dialog menunjukan bahwa
pemilihan produk sudah berakhir.
e. Menghindari kesalahan (Prevent error)
Rancangan sistem harus dirancang sedemikian rupa sehingga
tidak
menimbulkan kesalahan yang fatal. Apabila user membuat suatu kesalahan,
maka sistem antarmuka harus mendeteksi kesalahan dan memberikan solusi
untuk recovery secara mudah dan spesifik. Contoh user tidak perlu mengisi
ulang seluruh data yang di input kedalam formulir apabila hanya terdapat
satu kesalahan data, user harus dipandu untuk memperbaiki bagian yang
salah saja.
f. Mengizinkan pengembalian tindakan yang mudah (Permit Easy
Reversal of Actions)
Sebisa mungkin, tindakan harus bersifat reversible. Fitur ini mengurangi
kecemasan user karena kesalahan dapat dibatalkan dan membuat user tidak
takut dalam eksplorasi sistem.
27
g.
Menempatkan user sebagai pemegang kendali (Support internal
locus of control)
User yang berpengalaman sangat menginginkan mereka bertanggung jawab
dan merespon tindakan pada sistem antarmuka. Dengan begitu user dapat
dengan bebas bernavigasi dan mengubah informasi sesuai dengan yang
dikehendaki
h. Mengurangi beban memori jangka pendek (reduce short-term
memory load)
Setiap manusia memiliki batasan pemrosesan informasi dalam memori
jangka pendek. Untuk itu diharapkan membuat sistem antarmuka yang
sederhana mungkin. Membuat sistem yang menarik tetapi mudah untuk
dipelajari juga dapat membantu user dalam mengurangi beban memori
jangka pendek.
2.6.2
Lima Faktor Manusia Terukur
Menurut Shneiderman dan Plaisant (2010: 63) terdapat lima faktor manusia
terukur, yaitu:
a.
Waktu Untuk Belajar (time to learn)
Jumlah waktu yang dibutuhkan pengguna untuk mempelajari cara yang
relevan untuk melakukan suatu tugas.
b.
Kecepatan Kinerja (speed of performance)
Jumlah waktu yang dibutuhkan pengguna untuk mengerjakan suatu tugas.
c.
Tingkat Kesalahan Pengguna (rate of error by users)
Jumlah kesalahan yang dapat terjadi ketika pengguna mengerjakan
tugas-tugas dan apa saja kesalahan-kesalahan yang terjadi. Dan juga jumlah
tugas yang berhasil diselesaikan oleh pengguna.
d.
Daya Ingat (rentention over time)
Seberapa baik kemampuan pengguna untuk mengingat pengetahuan
setelah beberapa waktu. Daya ingat dapat memiliki kemungkinan untuk
dihubungkan dengan waktu belajar dan frekuensi dalam peranan penting.
e.
Kepuasan yang Subjektif (subjective satisfaction)
28
Seberapa besar pengguna menyukai penggunaan bermacam aspek
dalam antarmuka. Hal ini dapat dipastikan melalui wawancara maupun
kuesioner untuk mengetahui skala kepuasan dan tempat untuk memberikan
komentar secara bebas dari pengguna.
2.6.3 Storyboard
Storyboard merupakan bagian yang penting dalam pengembangan aplikasi.
Karena
Storyboard
adalah
sebuah
metode
yang
dilakukan
sebelum
mengimplementasi prototype dengan melakukan sketsa yang disusun sesuai dengan
naskah atau kegunaan fungsi aplikasi. Dengan adanya storyboard, pengembang
aplikasi dapat memvisualisasi aplikasi dan dapat melakukan evaluasi untuk
hubungan penggunaan aplikasi terhadap user.
Dalam penggunaannya Vaughan (2011:295) memaparkan terdapat dua
pendekatan dalam membuat storyboard. Pendekatan yang pertama sering dilakukan
disaat klien menginginkan kontrol yang ketat terhadap proses produksi dan biaya
yang dihabiskan pada pengembangan aplikasi. Pada pendekatan ini, Storyboard yang
berupa ringkasan grafis yang menjelaskan secara detil dan terperinci pada setiap
layar yang akan dibuat, baik pemilihan kata, jenis font, warna, navigasi, bentuk
tombol, bayangan dan efek lainnya.. Sedangkan, pendekatan kedua Storyboard akan
isi dengan desain atau gambaran yang masih mentah atau tidak detil. Pada
pendekatan ini storyboard baru dikembangkan sesuai dengan pengerjaan proyeknya
secara langsung.
Menurut Vaughan (2011:296-297) pemetaan navigasi aplikasi harus dimulai
dari tahap awal yaitu planning. Karena pemetaan navigasi aplikasi akan menentukan
hubungan-hubungan antar konten dan juga dapat membantu untuk membantu
pengembang untuk mengorganisir konten aplikasi. Terdapat empat jenis navigasi,
yaitu:
a. Navigasi linear (Linear Navigation)
Storyboard yang berjalan secara berurut dari frame pertama atau bagian
pertama hingga bagian terakhir.
b. Navigasi Hirarkis (Hierarchical Navigation)
29
Storyboard yang juga disebut sebagai “navigasi linear dengan cabang” ini
memiliki menavigasi user mengikuti cabang struktur pohon yang dibentuk dari
logic yang ditentukan.
c. Navigasi non-linear (Nonlinear navigation)
Pada navigasi ini, frame pada storyboard memiliki alur yang
tidak
berurutan sehingga dapat diakses secara bebas sesuai keinginan user.
d. Navigasi gabungan (Composite navigation)
Dengan navigasi gabungan, pengguna dapat mengakses aplikasi secara
nonlinear dalam storyboard tersebut namun tetap dalam batasan sesuai logic
yang telah ditentukan.
Gambar 2.11 Empat Navigasi Utama
(Tay Vaughan, 2011:297)
2.7
Basis Data
Menurut Connolly dan Begg (2010:65), basis data adalah kumpulan data
yang saling terhubung beserta definisinya dan dirancang dengan tujuan untuk
memenuhi kebutuhan informasi bagi suatu informasi.
30
2.7.1 SQLite
Menurut Owens (2006:1), SQLite merupakan sebuah basis data open source
yang tertanam disuatu hardware atau perangkat keras. Kelebihan yang ditawarkan
oleh SQLite ialah mudah digunakan, efisien dan dapat diandalkan. Daripada berjalan
secara independen sebagai proses yang berdiri sendiri, SQLite berjalan secara
berdampingan di dalam aplikasi yang dilayaninya. Kode dari SQLite terkait atau
tertanam sebagai bagian dari program utama tersebut.
SQLite memiliki arsitektur yang modular dan elegan yang mengambil
beberapa pendekatan yang agak unik untuk relational database management.
Gambar 2.12 Arsitektur SQLite
(Owens, 2006:5)
Menurut Owens (2006:6-8), arsitektur SQLite dibagi menjadi lima bagian
yaitu:
a.
The Interface
Interface berada pada urutan teratas dan memiliki SQLite C API. Hal
tersebut berarti melalui program, scripting languages, dan library yang
serupa yang berinteraksi dengan SQLite.
b.
The Compiler
Proses kompilasi dimulai dengan tokenizer dan parser. Dilakukannya kerja
sama untuk membawa pernyataan Structured Query Language atau SQL ke
dalam bentuk teks, memvalidasi sintaksnya, dan mengkonversinya ke dalam
31
struktur data yang bersifat hierarki yang lebih rendah agar mudah
digunakan.
c.
The Virtual Machine
Vrtual machine yang dapat disebut dengan virtual database engine atau
VDBE bekerja pada byte code seperti pada Java virtual machine ataupun
scripting language interpreter. Byte code pada VDBE terdiri daro 129
opcodes yang merupakan pusat dari operasi database. Setiap instruksi di
dalam telah ditetapkan baik untuk menyelesaikan database tertentu ataupun
memanipulasi tumpukan dalam beberapa cara untuk mempersiapkan operasi
tersebut.
d.
The Back-end
Back-end dibuat dari B-Tree, page cache, dan OS interface. B-tree dan page
cache berkerja bersama sebagai information broker. Tugas dari B-Tree
sendiri adalah memerintah. Sedangkan tugas dari page cache adalah untuk
mempercepat proses yang terjadi.
e.
Utilities dan Test code
Modul utilities memiliki tuga untuk menyimpan alokasi memori,
perbandingan string, dan konversi unicode
sedangkan modul testing
mengandung berbagai tes regresi yang dirancang untuk memeriksa setiap
sudut kecil dari kode database.
2.8
Android
Dalam mengembangkan aplikasi mobile terdapat berbagai sistem operasi
yang bisa digunakan. Saat ini terdapat empat sistem operasi populer didunia yaitu,
Android, iOS, Windows Phone, dan Blackberry OS. Dari keempat sistem operasi
tersebut, Android menguasai 84% pangsa pasar dunia. Sedangkan sistem operasi iOS
berada diperingkat kedua diangka 12%, diikuti oleh Windows phone sebanyak 3%,
dan 1% untuk Blackberry OS. Android memiliki pangsa pasar yang paling besar
disebabkan oleh sistem operasi bebas yang bisa diakses oleh berbagai pengembang.
a. Pengertian Android
Android merupakan sistem operasi ponsel pintar yang berjalan diatas Linux
Kernel, kernel pada sistem operasi linux. Aplikasi pada android dikembangkan
32
berdasarkan bahasa Java. Oleh karena itu pengembang dapat mengembangkan
aplikasi melalui bahasa Java. Kode pada bahasa Java bisa mengatur perangkat
ponsel android melalui Google-enabled Java Libraries (Holla dan Katti,
2012:1).
b. Versi Android
Sistem operasi buatan Andy Rubin yang diakuisi oleh google pada 25 Agustus
2005 ini telah melakukan berbagai perbaikan dan cukup rajin dalam melakukan
pembaharuan sistem. Pembaharuan sistem pada android biasanya semakin
besar apabila versi dinaikan. Saat ini, android yang sejak pembaharuan ketiga
menggunakan nama makanan penutup untuk setiap versinya telah memiliki 12
tingkatan versi, yaitu:
1) Alpha (versi 1.0)
2) Beta (versi 1.1)
3) Cupcake (versi 1.5)
4) Donut (versi 1.6)
5) Eclair (versi 2.0 – 2.1)
6) Froyo (versi 2.2 – 2.2.3)
7) Gingerbread (versi 2.3 – 2.3.7)
8) Honeycomb (versi 3.0 – 3.2.6)
9) Ice Cream Sandwich (versi 4.0 – 4.0.4)
10) Jelly Bean (versi 4.1 – 4.3.1)
11) Kitkat (versi 4.4 – 4.4.2)
12) Lollipop (versi 5.0 – 5.01)
c. Android SDK
Pada proses pengembangan dan pembuatan sebuah aplikasi Android, terdapat
bantuan untuk membuatnya yaitu dengan menggunakan perangkat bantuan
berbasis perangkat lunak yang dikenal sebagai Android SDK. Android SDK
merupakan perangkat API (Application Programming Interface) yang
dibutuhkan untuk memulai pengembangan dan pembuatan aplikasi pada
platform Android, dalam proses tersebut digunakan bahasa pemrograman Java.
33
Dengan
adanya
Android
SDK
dapat
membantu
developer
untuk
mengembangkan aplikasi yang bukan merupakan bawaan dari mobilephone /
smartphone tersebut.
d. Android Studio
Android Studio adalah lingkungan pengembangan Android berdasarkan IntelliJ
IDEA. Mirip dengan Eclipse dengan ADT Plugin, Android Studio menyediakan
alat pengembang Android terintegrasi untuk pengembangan dan debugging.
Android Lab merupakan platform editor yang berbasis Gradle, dengan Android
lab proses refactoring dan perbaikan berlangsung dengan cepat, hal tersebut
dapat dilakukan karena ada tool bernaman Lint untuk menangkap kinerja,
kegunaan, kompatibilitas versi Android dan masalah lainnya. Android Lab juga
merupakan sebuah layout editor yang kaya akan fitur yang memungkinkan
untuk drag-and-drop komponen UI.
2.9
Java
Java adalah suatu bahasa pemrograman yang bersifat object-oriented,
memiliki fitur yang lengkap dan dapat digunakan untuk membuat aplikasi pada
berbagai perangkat lunak di semua platform seperti server, desktop, dan mobile,
(Liang 2014:12).
Untuk memodifikasi data, dapat dibuat dari data yang sudah dimiliki
sebelumnya, tidak perlu memulai segala sesuatu dari awal setiap kali melakukan
sesuatu pekerjaan yang baru. Ada tiga edisi Java, yaitu :
a. Java Standard Edition (Java SE)
b. Java Enterprise Edition (Java EE)
c. Java Micro Edition (Java ME)
Java memiliki beberapa kelebihan, yaitu :
a.
Sederhana
Java memiliki fitur-fitur singkat yang membuatnya mudah untuk dipelajari
dan digunakan.
b.
Aman
Java menyediakan firewall antara aplikasi jaringan dengan komputer.
34
c.
Portable
Java dapat dijalankan di berbagai platform tanpa perlu di-compileulang.
d.
Object-oriented
Karena Java adalah bahasa pemrograman object-oriented, maka hal ini
memudahkan dalam mendesain, membuat, mengembangkan dan mengalokasi
kesalahan dalam program secara cepat, mudah dan terorganisir.
e.
Multithreaded
Memungkinkan untuk menjalankan beberapa aktivitas di dalam Java.
2.10
Intellij IDEA
Intellij IDEA adalah sebuah editor java yang cukup powerful layaknya
netbeans dan eclipse. berfokus pada produktivitas pengembang yang menyediakan
kombinasi yang kuat serta canggih. Sebuah editor yang kuat dalam pemrograman
a. Java
b. HTML / XHTML
c. XML / XSL
d. CSS
e. Ruby
f. Javascript
dengan dukungan struktur seperti Rails dan GWT, Intellij IDEA menyediakan
software untuk coding. Terlepas dari bahasa pemrograman yang digunakan,
keamanan, validasi serta format merupakan keijakan programmer.
2.11
XML
XML adalah singkatan dari Extensible Markup Language. XML adalah
bahasa markup yang memiliki fungsi untuk membedakan suatu informasi dengan
informasi lainnya dan dapat juga digunakan untuk mendesain tampilan menu, (Liang
2011:32).
Salah satu kelebihan XML yaitu dapat bertukar data dengan perangkat lunak
yang berbeda, misalkan suatu dokumen yang dibuat dengan Microsoft Word
disimpan dalam format XML dapat dibuka di perangkat lunak lain seperti
OfficeLibre.
35
2.12
Web Scraping
Web Scraping adalah teknik yang biasa digunakan untuk menuai informasi
dari halaman web. Halaman web merupakan dokumen yang dituliskan pada
Hypertext Markup Language (HTML), atau sekarang menggunakan XHTML yang
berbasiskan XML. Dokumen web direpresentasikan dengan silsilah terstruktur yang
biasa dikenal dengan Document Object Model (DOM), mudahnya silsilah DOM dan
tujuan dari HTML adalah untuk memperjelas format teks yang akan ditampilkan
pada web browser (Mattosinho, 2010:17-18).
Gambar 2.13 Dokumen Web dari 3 Perspektif Berbeda
(Mattosinho, 2010:17)
Teknik web scraping menggunakan data dari pihak kedua penyedia konten,
sangat penting untuk pengguna teknik web scraping dalam menyadur konten dari
pihak lain dengan membaca peraturan publikasi pada halaman web tersebut atau
sekedar meminta izin kepada pembuat konten tersebut. Pada perspektif teknis dan
operasi, web scraping bertugas untuk menyalin dan menyusun konten dari halaman
36
web, berbeda dengan yang dilakukan oleh banyak orang dengan cara manual, teknik
Iweb scraping melakukan kedua hal tersebut secara otomatis berkat peran virtual
computer agent (VCA).
Gambar 2.14 Gambaran Web Scrapping pada halaman web
(Mattosinho, 2010:18)
2.13
Spritz
Spritz merupakan platform membaca berbasis digital. Berbeda dengan e-pub
reader yang hanya menampilkan keseluruhan isi buku dan meminta penggunanya
untuk membaca seperti buku biasa, spritz mengenalkan metode baru yang membuat
penggunanya dapat mengoptimalkan waktu dalam membaca serta meminimalisir
gangguan dalam kegiatan membaca. Berbeda dengan membaca cepat pada buku
cetak, metode spritz ini bekerja dengan menampilkan bacaan ke dalam bentuk katakata yang terpenggal kemudian diputar dengan kecepatan yang dapat dipilih
pengguna sesuai dengan kemampuan menangkapnya.
37
2.14
Hasil Penelitian Sebelumnya
Berikut ini adalah daftar hasil penelitian mengenai normal speed reading dan fast
speed reading serta metode yang digunakan dalam penelitian yang dirangkum dalam
tabel 2.1 :
Tabel 2.1 Hasil Penelitian Sebelumnya
No
1
Nama
Judul
Metode
Keterangan
Noor Halilah
Comparison of
Comparing
Penelitian ini
Buari, Ai-Hong
Reading with
three different
menunjukan bahwa
Chen, dan
different 3 log-
charts which are kecepatan membaca
Nuraini Musa
scaled Reading
UiiTM-Mrw
yang sering
Charts (2014)
Reading Chart,
dilakukan berjarak
MNread Acuity
169WPM hingga
Chart, dan
273WPM dengan
Colenbrander
rata-rata 215WPM
Reading Chart
2
3
Thi Ngoc Yen
Reading Speed
4 Different
Penelitian ini
Tran dan Paul
Improvement in
Group’s
dilakukan untuk
Nation
a Speed
Average Score
membuktikan
Reading
Method
kecepatan membaca
Course and Its
yang lebih tinggi dari
Effect on
normal
Language
mempengaruhi
Memory Span
pemahaman Bahasa
(2014)
yang lebih baik
Mahmoud
The Effect of
Training
Penelitian ini
Sulaiman
Speed Reading
material of pre
menunjukan bahwa
Hamad Bani
Strategies on
and post reading experimental group
Abdelrahman
Developing
comprehension
yang melakukan
dan Muwafaq
Reading
test to 2
speed reading dalam
Saleem Bsharah
Comprehension differrent
among the 2
Secondary
nd
groups
proses pendalaman
bahasa inggris
mendapatkan hasil
38
Student in
yang lebih baik
English
dengan nilai rata-rata
Language
87,72 daripada
(2013)
controlled group
yang tidak
melakukan speed
reading dengan nilai
rata-rata 72,32
4
Keith
Eye
Dividing 32
Penelitian ini
Rayner,Timothy movements, the
undergraduated
menunjukalan bahwa
J. Slattery, dan
perceptual
student into 2
fast reader dengan
Nathalie N.
span, and
groups on the
kecepatan 330WPM
Belanger
reading speed
basis of their
memiliki rentang
(2010)
reading speed
serapan yang lebih
luas dibanding slow
reader yang
membaca dengan
kecepatan 200WPM .
39
Download