>
Controller Class
Setiap use case akan memiliki satu atau lebih controller classes, yang digambarkan dengan notasi yang sama seperti interface class yaitu <>,
:Object1
Entity Classes
Entity classes merupakan notasi simbol yang digunakan untuk mewakili sebuah kelas.
Message
Messages
Messages merupakan notasi yang digunakan untuk menunjukkan input pesan yang dikirimkan kepada setiap kelas-kelas. Setiap pesan yang dikirim akan memanggil perilaku atau fungsi dari kelas tersebut.
Activation Bars
Activation bars digunakan untuk menunjukkan periode waktu hidup suatu kelas.
Message
Return Messages
Setiap behavior harus mengembalikan sesuatu, setidaknya mengirimkan pesan kembali seperti benar atau salah untuk menunjukkan berhasil atau tidak.
Message
Self Call
Self call mewakili notasi simbol yang digunakan ketika objek akan memanggil fungsinya sendiri.
Frame
Frame merupakan notasi simbol yang menunjukkan suatu area pada sistem sequence diagram yang membutuhkan perulangan atau seleksi.
Gambar 2.16 Contoh Sequence Diagram
(Whitten & Bentley 2007:659)
2.3.5 Class diagram
Class diagram digunakan untuk menggambarkan kelas-kelas yang saling berhubungan dengan komponen software untuk membangun suatu perangkat aplikasi (Whitten & Bentley 2007:665). Pada class diagram setiap objek akan berinteraksi dengan objek lain dalam satu sistem yang sama. Contohnya objek pada kelas customer dan order yang dapat menentukan bagaimana customers dan orders saling berhubungan dalam memberikan informasi sistem.
-
Association
Association merupakan garis penghubung yang menunjukkan hubungan antara kelas kelas. Semua hubungan yang terjalin merupakan hubungan dua arah yang berarti dapat menginterpretasi ke dalam dua arah.
Gambar 2.17 Association dalam Class Diagram
(Whitten & Bentley 2007:377)
-
Multiplicity
Multiplicity merupakan nilai minimal dan maksimal dari banyak kejadian pada suatu kelas objek untuk sebuah kejadian dari kelas objek yang saling berhubungan (Whitten & Bentley 2007:378). Dalam multiplicity terdapat beberapa simbol notasi untuk menunjukkan suatu hubungan antara kelas-kelas seperti pada tabel berikut ini :
Gambar 2.18 Multiplicity dalam Class Diagram
(Whitten & Bentley 2007:377)
-
Aggregation
Aggregation merupakan hubungan di mana ketika sebuah kelas yang lebih besar memiliki satu atau lebih bagian kecil dari kelas lain. Sebaliknya bagian dari kelas yang lebih kecil seluruhnya merupakan bagian dari kelas yang lebih besar.
Gambar 2.19 Aggregation dalam Class Diagram
(Whitten & Bentley 2007:379)
-
Composition
Composition merupakan sebuah hubungan aggregation di mana seluruh bagian akan bertanggung jawab terhadap penciptaan dan penghancuran dari bagiannya yang lain. Apabila seluruh bagian terbesar akan berakhir, maka bagiannya yang lain akan berakhir juga.
Gambar 2.20 Composition dalam Class Diagram
(Whitten & Bentley 2007:379)
-
Message
Message digunakan untuk melakukan komunikasi ketika sebuah objek meminta fungsi atau perilaku dari objek lain untuk meminta informasi atau beberapa aksi. Saat membuat sebuah permintaan harus memberi label nama mengenai fungsi atau perilaku yang dibutuhkan.
Gambar 2.21 Message dalam Class Diagram
(Whitten & Bentley 2007:380)
-
Generalization/specialization
Generalization/specialization merupakan teknik di mana beberapa atribut dan perilaku yang memiliki tipe sama akan dikelompokkan ke dalam kelasnya yang disebut supertype. Beberapa atribut dan fungsi dari kelas objek supertype akan diturunkan dari kelas-kelas objeknya.
Gambar 2.22 Generalization/specialization pada Class Diagram
(Whitten & Bentley 2007:376)
2.4 Interaksi Manusia dan Komputer (IMK)
Interaksi manusia dan komputer merupakan ilmu yang mempelajari hubungan antara manusia dan komputer, di mana komputer dibuat senyaman dan semudah mungkin untuk digunakan oleh manusia yang meliputi perancangan, evaluasi dan implementasi antarmuka pengguna komputer agar dapat dengan mudah digunakan oleh manusia (Ben Shneiderman dan Catherine Plaisant, 2010, pp. 88-89).
2.4.1 Eight Golden Rules
Dalam pembuatan user-interface ada aturan yang disebut delapan aturan emas atau eight golden rules. Delapan aturan emas tersebut dapat diimplementasikan pada kebanyakan sistem interaktif. Delapan aturan emas tersebut adalah 8 prinsip utama dalam yaitu :
-
Berusaha untuk konsisten
Dalam membuat suatu tampilan aplikasi harus memiliki aturan standar agar tampilan dan aksi yang diberikan konsisten. Untuk mendapatkan konsistensi tersebut maka urutan aksi yang dilakukan haruslah serupa jika menemui situasi yang sama. Istilah yang sejenis harus konsisten digunakan pada petunjuk, menu, dan layar bantuan. Warna, layout, huruf kapital, font juga harus konsisten pada setiap tampilan
-
Memenuhi kebutuhan universal
Memahami kebutuhan dari berbagai macam user seperti pemula dan ahli, perbedaan umur, orang yang cacat dan keragaman teknologi. Pada pemula ditambahkan penjelasan dan fitur bagi ahli, ditambahkan shortcut dan mempercepat navigasi, dapat memperkaya tampilan.
-
Menawarkan umpan balik yang informatif
Untuk setiap aktivitas yang dilakukan pengguna, harus memberikan umpan balik. Untuk tindakan biasa dan tindakan kecil, tanggapan lebih sederhana, sedangkan untuk tindakan yang jarang dikerjakan atau tindakan utama, tanggapannya harus lebih kompleks.
-
Merancang dialog yang menghasilkan sebuah penutup
Setiap urutan aksi harus diorganisir menjadi permulaan, pertengahan, dan akhir. Umpan balik yang berguna pada setiap akhir penyelesaian sebuah aksi dapat membuat pengguna kepuasan akan menyelesaikan sesuatu, rasa tenang, menghilangkan perkiraan yang ada pada pikiran pengguna, dan sebagai indicator untuk melanjutkan ke aksi yang selanjutnya.
-
Mencegah kesalahan
Pastikan pengguna tidak melakukan kesalahan yang fatal. Pada saat pengguna melakukan kesalahan, sistem harus melakukan deteksi akan kesalahan tersebut, dan memberikan cara untuk memperbaiki kesalahan yang telah di perbuat.
-
Mengizinkan pengguna dapat kembali pada aksi sebelumnya
Setiap aksi harus mempunyai fungsi untuk kembali kepada aksi sebelumnya. Hal ini dapat menenangkan kecemasan pengguna, karena pengguna tahu bahwa dapat kembali ke aksi sebelumnya ketika melakukan sebuah kesalahan. Fungsi ini juga dapat meyakinkan pengguna untuk menelusuri fitur yang ada pada aplikasi.
-
Memastikan pengguna yang memegang kontrol
Pengguna harus merasa bahwa mereka yang memegang kontrol sebuah interface, dan interface tersebut akan merespon terhadap aksi yang di lakukan oleh pengguna. Pengguna akan kesal jika susah untuk mendapatkan informasi yang dibutuhkan, dan tidak berhasilnya mendapatkan hasil yang di inginkan pada interface tersebut.
-
Mengurangi ingatan jangka pendek
Setiap manusia mempunyai batasan untuk memproses sebuah informasi pada otak. Oleh karena itu perancang harus membuat sebuah interface yang tidak memperlakukan pengguna untuk mengingat banyak hal.
2.4.2 Lima Faktor Manusia Terukur
Menurut Ben Shneiderman dan Catherine Plaisant (2010, pp. 32) dalam proses pengujian suatu desain, terdapat lima faktor yang dapat digunakan untuk mengukur, yaitu:
-
Waktu untuk belajar
Seberapa lama seorang pengguna dapat memahami suatu aksi.
-
Kecepatan performa
Seberapa waktu yang dibutuhkan pengguna untuk mengerjakan suatu aksi.
-
Tingkat kesalahan pada pengguna
Seberapa banyak dan seberapa sering pengguna melakukan suatu kesalahan pada sebuah aksi.
-
Daya ingat
Seberapa lama pengguna mengingat hal yang sudah dilihat sebelumnya pada sebuah interface.
-
Kepuasan subjektif
Seberapa puas pengguna pada banyak aspek yang ada pada sebuah interface.
2.5 Android
Android adalah sistem operasi pada perangkat mobile berbasis linux yang telah di modifikasi. Android awalnya dikembangkan oleh startup bernama Android, Inc. Pada tahun 2005 sebagai strategi untuk masuk ke dunia mobile, Google membeli Android dan mengambil alih proses pengembangannya.
Google menginginkan Android menjadi sistem operasi yang terbuka dan gratis. Oleh karena itu, sebagian besar code dari android dirilis pada open source Apache License yang artinya siapa pun dapat mengunduh source code lengkap dari sistem operasi android. (Beginning android 4 application development, Wei-Meng Lee 2012:3)
2.5.1 Versi Android
Pengguna sistem operasi Android semakin meningkat disetiap tahunnya. Hal ini membuat Android terus berkembang dengan menambahkan fitur-fitur baru di setiap versi barunya. Saat ini versi Android telah mencapai versi sepuluh atau yang disebut Android Marshmallow. Setiap versi yang dirilis selalu membawa fitur baru dan memperbaiki fitur yang kurang baik dari versi sebelumnya. Berikut adalah data penyebaran versi Android :
Gambar 2.23 Versi Android
2.5.2 Fitur Pada Android
Karena Android adalah aplikasi open source di mana manufaktur dapat melakukan custom sesuai keinginan, maka tidak ada konfigurasi atau standar hardware atau software yang pasti. Tetapi android tetap memberikan fitur utama yang telah tertanam di dalam sistem operasinya, yaitu fitur :
-
Storage
Menggunakan SQLite, hubungan relasi database yang ringan, untuk menyimpan data
-
Connectivity
Mendukung GSM/EDGE, IDEM, CDMA, EV-DO, UMTS, Bluetooth(termasuk A2DP dan AVRCP), Wi-Fi, LTE, dan WiMAX.
-
Messaging
Mendukung SMS dan MMS.
-
Web browser
berdasarkan pada open source Webkit, bersamaan dengan Chrome’s V8 JavaScript engine.
-
Media support
Mendukung beberapa media seperti : H.263, H.264(dalam 3GP atau MP4), MPEG-4 SP, AMR-WB(dalam 3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, dan BMP.
-
Hardware support
Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor, dan GPS.
-
Multi-touch
Mendukung multi-touch screens.
-
Multi-tasking
Mendukung multi-tasking applications.
-
Flash-support
Android 2.3 mendukung Flash 10.1.
-
Tethering
Mendukung untuk berbagi koneksi internet dengan kabel atau nirkabel.
2.5.3 Arsitektur Pada Android
Untuk memahami bagaimana cara kerja Android dapat dilihat pada gambar , yang menunjukkan berbagai lapisan yang membentuk sistem operasi android. (Beginning android 4 application development, Wei-Meng Lee 2012:3-5)
Sistem operasi Android terbagi menjadi 5 bagian dalam 4 lapisan utama :
-
Linux Kernel
Lapisan ini mengandung semua perangkat tingkat rendah untuk berbagai komponen hardware pada perangkat Android.
-
Libraries
Lapisan ini mengandung semua kode yang menyediakan fitur-fitur utama dari OS Android. Sebagai contoh, SQLite library memberikan dukungan pada basis data jadi sebuah aplikasi dapat menggunakannya sebagai penyimpanan data. Webkit library memberikan fungsionalitas untuk menelusuri internet.
-
Android Runtime
Pada lapisan yang sama pada Libraries, Android runtime menyediakan satu set inti libraries yang memungkinkan pengembang pembuatan aplikasi Android menggunakan bahasa pemrograman java. Android runtime juga mengandung mesin virtual Dalvik, yang memungkinkan semua aplikasi Android dapat menjalankan proses dengan sendiri, dengan contoh sendiri dari mesin virtual Dalvik. Dalvik adalah mesin virtual yang khusus dirancang untuk Android dan mengoptimalkan tenaga baterai pada perangkat mobile dengan memory yang terbatas dan CPU.
-
Application Framework
Memperlihatkan berbagai kemampuan pada OS Android untuk pengembangan aplikasi jadi mereka dapat menggunakannya di aplikasi mereka.
-
Application
Pada lapisan teratas, anda akan menemukan aplikasi yang dikirimkan dengan perangkat android, seperti aplikasi yang unduh dan pasang dari Android Market. Setiap aplikasi yang anda buat akan berada pada lapisan ini.
2.5.4 Activity
Activity adalah sebuah jendela yang menampung tampilan dari sebuah aplikasi. Sebuah aplikasi biasanya memiliki satu atau lebih activity di mana tujuan utama dari activity ini adalah untuk berinteraksi dengan pengguna. Sebuah activity dimulai dari pertama tampil hingga aplikasi berakhir dan activity memiliki beberapa tahapan yang disebut activity life cycle.
2.5.5 Fragment
Fragment adalah sebuah bagian dari beberapa activity yang dapat digabungkan menjadi satu kesatuan activity.
2.5.6 Intent
Intent dapat diartikan sebagai perekat yang dapat membuat berbagai macam activity dari berbagai macam aplikasi untuk bekerja sama dengan baik.
2.5.7 Activity life cycle
Sebuah activity mempunyai life-cycle yang terdiri dari :
-
onCreate()
Dipanggil ketika activity dibuat.
-
onStart()
Dipanggil ketika activity dapat dilihat oleh user.
-
onResume()
Dipanggil ketika activity berinteraksi dengan user.
-
onPause()
Dipanggil ketika activity yang sedang berjalan diberhentikan sementara dan activity lain dijalankan.
-
onStop()
Dipanggil ketika activity tidak lagi terlihat oleh user.
-
onDestroy()
Dipanggil ketika activity dihancurkan oleh sistem.
-
onRestart()
Dipanggil ketika activity di berhentikan dan dihidupkan kembali
Gambar 2.24 Activity Life Cycle Pada Android
(Wei-Meng Lee, 2012:36-37)
2.6 Basis Data
Basis data adalah satu atau banyak data yang dapat digunakan secara bersamaan oleh berbagai macam bagian dan pengguna. Basis data terdiri dari kumpulan data dan deskripsinya yang bisa digunakan secara bersamaan dan berhubungan secara logika. Basis data diperuntukkan untuk memenuhi kebutuhan suatu organisasi. (Thommas Connolly, Caroyln Begg 2015:63)
2.6.1 DBMS (Database Management System)
DBMS adalah sebuah perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara dan mengontrol akses pada basis data. DBMS adalah perangkat lunak yang berinteraksi antara aplikasi yang digunakan oleh pengguna dengan sebuah basis data (Thommas Connolly, Caroyln Begg 2015:64).
2.6.2 DDL (Data Definition Language)
DDL adalah bahasa yang memungkinkan pengguna untuk mendeskripsikan nama dari sebuah entitas, atribut, dan hubungan yang dibutuhkan pada sebuah aplikasi. DDL dapat digunakan untuk membuat sebuah skema baru atau melakukan perubahan pada skema yang sudah tersedia. DDL tidak bisa digunakan untuk melakukan manipulasi data (Thommas Connolly, Caroyln Begg 2015:90).
2.6.3 DML (Data Manipulation Language)
DML adalah bahasa yang menyediakan beberapa operasi untuk melakukan manipulasi terhadap data yang disimpang pada sebuah basis data. Menurut Thommas Connolly dan Caroyln Begg (2015:90) DML mempunyai beberapa operasi, yaitu :
-
Memasukkan data baru pada basis data
-
Modifikasi data yang sudah disimpan sebelumnya pada basis data
-
Pemulihan data yang terdapat pada basis data
-
Penghapusan data yang terdapat pada basis data.