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