BAB II LANDASAN TEORI
2.1
TEORI UMUM 2.1.1. DELIVERY SERVICE Pemesanan adalah proses, perbuatan, cara memesan. Makanan adalah segala sesuatu yg dapat dimakan (Anonim6, 2013). Secara harafiah, pemesanan makanan adalah proses memesan segala sesuatu yang dapat dimakan. Menurut Iwarere & Fakokunde (2011:198-207), Delivery service yang disediakan oleh restoran merupakan bentuk jasa dalam melayani konsumen secara lebih dekat. Selain itu, delivery service juga dapat dikatakan “cara berkompetisi” antar restoran. Delivery service ini muncul dengan pemikiran terus melayani customer walaupun customer tersebut berada di luar restoran.
2.1.2. SISTEM OPERASI Menurut Stallings (2011:718), sistem operasi adalah software yang mengontrol eksekusi dari program dan menyediakan layanan seperti alokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan data. Komputer modern terdiri dari prosesor / Central Processing Unit (CPU), memori, timers, network interfaces, dan berbagai macam 10
11
perangkat lain (Tanenbaum, 2007:6). Namun, lebih dari 90 persen CPU di dunia tidak berada dalam desktop atau notebooks. Mereka berada dalam embedded system seperti ponsel, Personal Digital Assistance (PDA), kamera digital, camcorder, mesin-mesin permainan, MP3 player, pemutar CD, DVD recorder, router nirkabel, TV set, GPS Receiver, printer, mobil, dan produk konsumen lainnya.
2.1.3. SMARTPHONE Ponsel yang sepenuhnya menampilkan sistem operasi dan memanfaatkan fitur komputer desktop disebut dengan smartphone (Tanenbaum, 2007:929). Fitur-fitur yang umumnya dimiliki oleh smartphone yaitu: 1. Sistem Operasi Ponsel bisa disebut smartphone apabila di dalamnya dibenamkan sebuah sistem operasi. Contoh dari sistem operasi antara lain Android, Symbian, dan Windows Mobile. 2. QWERTY Keyboard Banyak ponsel yang memakai QWERTY keyboard. Namun, QWERTY keyboard pertama kali diadopsi oleh smartphone. 3. Pengolah Pesan Elektronik Smartphone memiliki keunggulan daripada ponsel biasa dalam mengolah pesan. Selain Short Message Service (SMS), smartphone dapat mengolah pesan elektronik (e-mail).
12
4. Browser Internet Smartphone dapat digunakan untuk mengakses web atau internet layaknya diakses dengan menggunakan komputer.
2.1.4. USER INTERFACE Menurut Satzinger et al. (2010:531), user interface merupakan bagian-bagian dari suatu sistem informasi yang memerlukan interaksi dengan pengguna untuk menciptakan input maupun output. Shneiderman et al. (2010:88-89), mengemukakan delapan aturan yang dapat digunakan sebagai petunjuk dasar untuk merancang suatu user interface. Delapan aturan ini disebut dengan Eight Golden Rules of Interface Design, yaitu: 1.
Mencoba untuk konsisten Konsistensi memiliki banyak bentuk, antara lain urutan tindakan, istilah yang digunakan pada prompt, layout, menu, warna, huruf, dan lain-lain. Aturan ini merupakan salah satu aturan yang sering dilanggar karena konsistensi (warna, huruf, layout, dan lain sebagainya) dianggap sebagai suatu hal yang membosankan, padahal tampilan yang konsisten dapat membantu pengguna untuk merasa tetap berada dalam ruang lingkup aplikasi yang sama walaupun telah berpindah halaman.
2.
Memenuhi kebutuhan universal Memenuhi kebutuhan universal berarti memahami kebutuhan pengguna yang berbeda-beda dengan membuat desain yang fleksibel serta mendukung perubahan isi (content) pada interface. Perbedaan
13
pengguna (dari novice hingga expert), perbedaan usia, kekurangan fisik, dan perbedaan teknologi merupakan hal-hal yang perlu dipertimbangkan dalam mendesain suatu interface. 3.
Memberikan umpan balik yang informatif Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya.
4.
Dialog untuk keadaan akhir Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya.
5.
Pencegahan kesalahan Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan.
6.
Pembalikan aksi yang sederhana Hal ini dapat mengurangi kekhawatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan, sehingga
14
pengguna tidak takut untuk mengeksplorasi pilihan-pilihan lain yang belum biasa digunakan. 7.
Mendukung pusat kendali internal (internal locus of control) Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden.
8.
Mengurangi beban ingatan jangka pendek Keterbatasan
ingatan
manusia
membutuhkan
tampilan
yang
sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mneumonic, dan urutan tindakan.
2.1.5. LIMA FAKTOR MANUSIA TERUKUR Menurut Shneiderman et al. (2010), ada faktor manusia terukur untuk membantu perancangan interface dalam melakukan pengujian proses. Lima faktor tersebut adalah: 1.
Time to learn the system Faktor ini mengukur jumlah waktu yang dibutuhkan oleh pengguna untuk mempelajari setiap aksi proses pada aplikasi.
2.
Performance speed Faktor ini mengukur jumlah waktu yang dibutuhkan sistem untuk menyelesaikan suatu tugas dari aksi yang dilakukan oleh pengguna.
15
3.
Rate of user errors Faktor ini mengukur jumlah error dan jenis error yang dihasilkan oleh pengguna. Walaupun pengendalian error tidak berhubungan dengan kecepatan kinerja, namun pengendalian error juga merupakan sebuah komponen penting dalam perancangan interface.
4.
Retention of knowledge over time Faktor ini mengukur kemampuan setiap pengguna untuk memanggil kembali ingatannya dari suatu waktu tertentu.
5.
User subjective satisfaction Faktor ini mengukur kepuasan pengguna dalam menggunakan keseluruhan aspek yang ada pada interface. Hal ini diukur dengan melakukan wawancara langsung dengan pengguna atau dengan mengevaluasi hasil survei yang menjelaskan kapasitas kepuasan pengguna.
2.1.6. PRINSIP PERANCANGAN INTERFACE PADA MOBILE Perancangan interface pada mobile berbeda dengan perancangan interface aplikasi pada desktop. Adapun 10 (sepuluh) prinsip perancangan interface pada Mobile menurut Jonathan Stark (2012) adalah: 1. Mobile Mindset Untuk merancang aplikasi mobile, developer harus mengetahui empat hal penting dari mobile mindset, yaitu:
16
a. Be Focused Developer seharusnya memberikan fitur yang bermanfaat dan tidak berlebihan pada aplikasi yang sedang dikembangkan. b. Be Unique Agar calon pengguna aplikasi tertarik menggunakan aplikasi dan untuk dapat bersaing dengan aplikasi mobile yang ada dalam pasar, developer harus mengembangkan aplikasi yang unik. c. Be Charming Developer
harus
membuat
aplikasi
yang
friendly,
dapat
diandalkan, dan menyenangkan agar pengguna tertarik dan terus menggunakannya. Sehingga aplikasi akan menjadi salah satu aplikasi pada mobile device yang dimiliki pengguna. d. Be Considerate Developer juga harus mempertimbangkan pikiran dari target pengguna, sehingga aplikasi yang dihasilkan akan menarik dan sesuai dengan kebutuhan pengguna. 2. Mobile Contexts Mobile Context adalah kondisi saat pengguna membutuhkan smartphone sebagai alat pribadinya. Oleh karena itu, developer harus mempertimbangkan tiga mobile context, yaitu: a.
Bored Sebagai alat pribadi, smartphone adalah hal pertama yang akan dilihat oleh pengguna di saat bosan. Oleh karena itu, developer
17
harus membangun berbagai jenis aplikasi seperti aplikasi hiburan, sosial, dan fitur berita. b.
Busy Saat ini, banyak pengguna yang membawa smartphone saat beraktivitas sehari-hari. Oleh karena itu, pengguna membutuhkan developer untuk membangun berbagai jenis aplikasi yang dapat mendukung aktivitasnya seperti kalender, e-mail, dan mobile banking.
c.
Lost Saat melakukan perjalanan ke tempat yang baru, aplikasi yang dapat membantu pengguna dalam memberikan arah atau peta akan sangat dibutuhkan. Oleh karena itu, developer dapat menjadikannya sebagai pertimbangan.
3. Global Guidelines Dalam pengembangan aplikasi pada touchscreen device, developer harus mempertimbangkan dan melakukan beberapa pendekatan, seperti: a. Responssiveness Developer harus membangun aplikasi yang memberikan respons langsung terhadap aksi pengguna. Respons yang dimaksud bukan kecepatan aplikasi melainkan aplikasi dapat menunjukkan proses saat menjalankannya kepada pengguna.
18
b. Polish Developer harus mempertimbangkan setiap detil dari perancangan aplikasi. Pengguna akan lebih memilih aplikasi yang memiliki perancangan yang detil dan baik. c. Thumbs Developer harus mempertimbangkan perancangan interface untuk pengetikan dan harus sesuai dengan model smartphone. Pada umumnya, smartphone memiliki fungsi touchscreen yang digunakan oleh pengguna untuk mengetik. d. Targets Dalam perancangan aplikasi yang membutuhkan interface keyboard, developer harus merancang button yang sesuai dengan posisinya, sehingga memudahkan pengguna untuk mengetik pesan. e. Content Saat ini, interface yang bersifat touchscreen membuat pengguna lebih mudah untuk berinteraksi dengan konten aplikasi. Oleh karena itu, developer harus meletakkan konten di tengah layar. f. Controls Menu Control harus dirancang dan diletakkan di bawah layar oleh developer. Menu control ini berbeda dengan menu control pada aplikasi desktop yang pada umumnya diletakkan pada bagian atas layar karena aplikasi desktop menggunakan mouse untuk membantu pengguna.
19
g. Scrolling Developer harus membangun aplikasi dengan penggunaan scrolling yang minimum, sehingga dapat membantu pengguna dalam menggunakan aplikasi. 4. Navigation Models Ada beberapa model navigasi dalam aplikasi mobile. Developer harus memilih model navigasi yang sesuai dengan aplikasi. 5. User Input Dalam pengembangan aplikasi yang memperbolehkan pengguna untuk menjalankan proses pengetikan, developer harus menyesuaikan tampilan keyboard pada aplikasi. Penggunaan fungsi auto-correct dan orientasi landscape juga dibutuhkan. 6. Gestures Saat ini, touchscreen interface telah mendukung interface yang bersifat gesture-based dari interaksi pengguna. Ada beberapa pertimbangan bagi developer untuk hal tersebut, yakni: a. Invisible Setiap langkah perpindahan oleh pengguna dalam device adalah “invisible”. Oleh karena itu, developer harus selalu memberikan respons pada setiap perpindahan dalam aplikasi seperti pergantian tampilan orientasi aplikasi. b. Two Hands Developer harus membangun aplikasi yang memiliki fungsi untuk menerima “two-handed operation” dari pengguna. Salah satu
20
contohnya
adalah
kemampuan
untuk
memperbesar
atau
memperkecil layar saat pengguna menggunakan dua jari untuk melakukannya. c. Nice to Have Respons aplikasi pada setiap perpindahan pengguna bukan komponen utama bagi developer dalam mengembangkan aplikasi. Tetapi, fungsi ini akan menjadi suatu keunggulan apabila menggunakannya. d. No Replacement Fungsi gesture dalam pengembangan aplikasi belum cukup luas, sehingga sangat tidak disarankan kepada developer untuk menghapus
fungsi
“single-finger”
dalam
aplikasi
yang
dikembangkan. 7. Orientation Model portrait adalah model orientasi yang pada umumnya digunakan.
Akan
tetapi,
jika
aplikasi
yang
dikembangkan
membutuhkan proses pengetikan, developer juga harus menyediakan fungsi mengunci orientasi landscape. 8. Communications Developer harus membangun aplikasi yang mampu berkomunikasi dengan pengguna dengan menggunakan tiga cara penting berikut ini:
21
a. Feedback Feedback atau umpuan balik merupakan respons dari sistem. Sebagai contoh, suatu device menunjukkan progress bar ketika aplikasi sedang menjalankan suatu proses. b. Modal Alerts Modal alerts digunakan ketika terjadi suatu kesalahan fatal yang disebabkan oleh pengguna. Modal alerts sebaiknya ditampilkan dengan kalimat peringatan yang sopan. c. Confirmations Konfirmasi merupakan kesimpulan dari proses yang telah diselesaikan oleh pengguna. Aplikasi harus memiliki kotak dialog yang berisi konfirmasi. 9. Launching Developer harus mempermudah pengguna dalam membuka aplikasi. Sebagai contoh, ketika pengguna menutup aplikasi dan membukanya kembali, aplikasi sebaiknya menampilkan tampilan yang terlihat terakhir kepada pengguna. 10. First Impressions Developer harus memberikan kesan pertama yang baik kepada pengguna. Ada dua faktor yang dapat mengukurnya, yakni: a. Icon Icon harus merepresentasikan jenis aplikasi dan memiliki perancangan yang baik, sehingga akan menjadi hal pertama yang dapat menarik perhatian calon pengguna aplikasi.
22
b. First Launch Pembukaan aplikasi pada saat pengguna mulai menggunakan aplikasi sebaiknya sederhana dan tidak membingungkan.
2.1.7. USER EXPERIENCE Menurut Kuniavsky (2010:14) user experience adalah totalitas persepsi end-user ketika berinteraksi dengan sebuah produk dan jasa. Persepsi dari end-user meliputi efektivitas (seberapa baik hasil produk atau jasa), efisiensi (seberapa cepat atau murah produk atau jasa), kepuasan emosional (seberapa baik produk atau jasa dirasakan), dan kualitas hubungan dengan entitas yang menciptakan produk atau jasa (keinginan end-user untuk mau berinteraksi dengan produk atau jasa lagi). Menurut Jesse James Garrett (2010:21) user experience development process adalah semua proses yang memastikan user mengerti setiap action yang dilakukan dan memahami harapan user untuk setiap action yang akan dilakukan. User experience development process terbagi atas lima bidang yaitu : 1. Surface Bidang surface merupakan bidang yang paling atas pada proses pengembangan user experience. Pada bidang surface berisi tampilan yang dilihat oleh user yang tersusun dari gambar dan teks.
23
2. Skeleton Bidang skeleton merupakan bidang setelah bidang structure. Pada bidang skeleton berfungsi membuat kerangka untuk mengatur letak dari elemen-elemen seperti gambar, teks, tombol, tab, dan lain-lain. Bidang skeleton dirancang untuk mengoptimalkan susunan elemen agar mendapatkan efektivitas dan efisiensi yang maksimum. 3. Structure Pada bidang structure berfungsi untuk menentukan arah navigasi pada suatu aplikasi. Bila pada bidang skeleton lebih kepada pengaturan
letak
elemen,
pada bidang structure merancang
keberadaan elemen tersebut pada suatu halaman. 4. Scope Pada bidang scope mengatur cakupan suatu fungsi atau fitur dari aplikasi. Setelah ditentukan cakupan wilayah suatu fungsi atau fitur, bidang structure yang selanjutnya akan menentukan halaman yang berisi fungsi atau fitur tersebut. 5. Strategy Pada bidang strategy berfungsi untuk mengatur strategi yang dapat memenuhi semua kebutuhan user. Pada bidang strategy tidak memikirkan hasil akhir tampilan yang akan dibentuk tetapi lebih mengarah pada rencana untuk memenuhi harapan user.
24
Gambar 2.1 : Bidang User Experience (Sumber : Garrett, 2004: 24)
Proses pengembangan user experience ini dilakukan dari bawah ke atas (dari bidang strategy ke bidang surface). Pada bidang paling bawah (bidang strategy) hanya berorientasi terhadap rencana pemenuhan kebutuhan user. Semakin ke atas, bidang akan bergerak ke proses implementasi dari rencana yang ada pada bidang strategy sehingga pada bidang surface akan menghasilkan tampilan akhir.
2.1.8. INTERNET Internet merupakan singkatan dari Interconnection Networking. Internet berasal dari bahasa latin “inter” yang berarti antara. Secara kata
25
per kata internet berarti jaringan antara atau penghubung, sehingga kesimpulan dari definisi internet adalah hubungan antar berbagai jenis komputer dan jaringan di dunia yang berbeda sistem operasi maupun aplikasinya,
dimana
hubungan
tersebut
memanfaatkan
kemajuan
komunikasi yang menggunakan protokol standar dalam berkomunikasi yaitu
protokol
TCP/IP
(Transmission
Control
Protocol/Internet
Protocol). Pengertian tersebut dijelaskan menurut pendapat Supriyanto (2008:60). Secara sederhana, pakar internet Onno W. Purbo mengatakan bahwa, “Internet dengan berbagai aplikasinya seperti web, VoIP, E-Mail pada dasarnya merupakan media yang digunakan untuk mengefisiensikan proses komunikasi” (Prihatna, 2005:7). Dari dua pendapat para ahli di atas, dapat disimpulkan bahwa internet merupakan suatu jaringan yang menghubungkan banyak komputer, baik sejenis (sistem operasi atau aplikasinya) maupun bebeda jenis, yang memanfaatkan kemajuan komunikasi (TCP/IP) dan kemajuan teknologi untuk meningkatkan efisiensi proses komunikasi.
2.1.9. DATABASE Menurut Connolly et al. (2005:15), Database merupakan sebuah tempat penyimpanan dalam skala besar yang berisi kumpulan data yang saling terhubung secara logis. Data-data tersebut dapat diakses secara bersamaan disaat yang sama oleh berbagai departemen ataupun pengguna
26
dalam suatu organisasi. Database biasanya didesain secara khusus untuk memenuhi kebutuhan informasi dalam suatu organisasi.
2.1.9.1.
DATABASE MANAGEMENT SYSTEM Menurut Connolly et al. (2005:15-25), DBMS merupakan singkatan dari Database Management System. DBMS adalah suatu sistem
software
yang
memungkinkan
penggunanya
untuk
mendefinisikan, membuat, me-maintain, dan mengendalikan akses pada database. Terdapat lima komponen DBMS yang terbagi dalam tiga kategori, yakni machine, human, dan bridge. Ketiga kategori ini dapat merepresentasikan hubungan dari lima komponen yang ada. Hubungan antar komponen DBMS secara sederhana dapat digambarkan seperti gambar berikut ini:
Gambar 2.2 : Komponen DBMS (sumber : Connolly, 2005:19)
Dari dambar di atas dapat dikatakan bahwa data merupakan penghubung (bridge) antara human (Database Administrator, user) dan machine (mesin). Data-data tersebut dapat diakses atau
27
dimanipulasi dengan menggunakan suatu bahasa komputer standar yang biasa dikenal dengan Structured Query Language (SQL). SQL terdiri dari dua jenis command (perintah) yang dibedakan berdasarkan fungsinya. Kedua jenis perintah tersebut yaitu: 1. Data Definition Language (DDL) DDL merupakan perintah dalam SQL yang digunakan untuk mendefinisikan struktur suatu tabel atau database, mengubah struktur tabel atau database, dan untuk memberikan control access pada data. Beberapa statement yang biasanya digunakan adalah: a. CREATE : untuk membuat sebuah tabel baru. b. ALTER : untuk melakukan perubahan struktur tabel (menambah atau mengurangi jumlah kolom pada tabel). c. DROP : untuk menghapus tabel yang telah ada. d. GRANT : untuk memberikan hak akses pada pengguna. e. REVOKE : untuk menarik kembali hak akses yang telah diberikan pada pengguna. 2. Data Manipulation Language (DML) DML merupakan perintah dalam SQL yang digunakan untuk me-retrieve ataupun meng-update data tanpa mengubah struktur tabel atau database-nya. Beberapa statement umum yang sering digunakan adalah:
28
a. SELECT : untuk query data dalam database. b. INSERT : untuk memasukkan data baru dalam tabel. c. UPDATE : untuk memperbarui data dalam tabel. d. DELETE : untuk menghapus data yang ada pada tabel.
Beberapa
keuntungan
yang
dimiliki
DBMS,
yakni
mengontrol dan mengurangi redundansi data, menjaga kesesuaian data, meningkatkan sharing of data, meningkatkan integritas data, meningkatkan sekuritas data, meningkatkan produktivitas, serta meningkatkan konkurensi. Disamping berbagai kelebihannya, DBMS merupakan software yang memiliki kompleksitas yang tinggi. DBMS juga memerlukan ukuran memori yang besar. Hal ini tentu saja akan berpengaruh pada banyaknya biaya yang dibutuhkan untuk maintenance dan biaya penambahan berbagai hardware yang diperlukan.
2.1.9.2.
ENTITY RELATIONSHIP DIAGRAM (ERD) Menurut Whitten et al. (2007:271-282), Entity Relationship Diagram
(ERD)
merupakan
suatu
data
model
yang
menggambarkan hubungan secara logis antar objek data (entity) yang ada dalam suatu database. Penggambaran ERD menggunakan beberapa simbol, yakni:
29
a. Entity Entity merupakan sesuatu yang dibutuhkan dalam suatu bisnis untuk menyimpan data. Entity bisa berupa orang, tempat, benda, konsep ataupun event yang ingin direpresentasikan dalam suatu database. Simbol dari entity ini digambarkan dengan persegi panjang. b. Atribute Atribute merupakan properti yang dimiliki oleh tiap-tiap entity. Atribute berfungsi untuk menjelaskan berbagai karakteristik yang dimiliki entity tersebut. Beberapa jenis key yang terdapat pada ERD adalah: 1. Primary Key Primary key merupakan candidate key yang akan paling sering digunakan untuk mengidentifikasi secara unik dari suatu entity. 2. Alternate key Alternate key merupakan candidate key yang tidak terpilih menjadi primary key. 3. Foreign Key Jika sebuah primary key terhubung dengan tabel lain, maka keberadaan primary key pada entity tersebut disebut sebagai foreign key.
30
c. Relationship Relationship merupakan hubungan antar entity yang memiliki suatu arti tertentu. Relationship ditentukan berdasarkan fungsinya.
Cardinality mendefinisikan jumlah minimum dan maksimum yang terjadi pada suatu entity ketika dihubungkan dengan satu kejadian pada entity lain. Cardinality digambarkan pada kedua arah dari setiap relationship yang terjadi. a. One and only one (1 : 1) 1 : 1 relationship terjadi bila tiap atribut pada entity X hanya berpasangan dengan - paling banyak - satu atribut dari entity Y. b. Zero or one (0 : 1) Tiap atribut pada entity X dapat berpasangan dengan maksimum 1 atribut pada entity Y, tetapi tiap atribut pada entity Y dapat tidak memiliki atribut pada entity X. c. One or more (1 : *) Tiap atribut pada entity X dapat berpasangan dengan banyak atribut pada entity Y, tetapi tiap atribut pada entity Y dapat berhubungan dengan satu atribut pada entity X.
31
d. Zero, one, or more (0 : *) Tiap atribut pada entity X dapat berpasangan dengan banyak atribut pada entity Y, tetapi tiap atribut pada entity Y dapat tidak memiliki atribut pada entity X. e. More than one (* : *) Tiap atribut pada entity X boleh berpasangan dengan banyak atribut dari entity Y dan begitu juga sebaliknya.
Gambar 2.3 : Notasi Cardinality (Sumber : Whitten et al, 2007:276)
32
2.1.9.3 OBJECT ORIENTED DATABASE Menurut Satzinger et al. (2010:503-511), object database management system (ODBMS) merupakan suatu database management system yang menyimpan data sebagai objek atau class instance. Langkah-langkah untuk merancang suatu skema database dari class diagram : 1. Menentukan kelas-kelas yang membutuhkan penyimpanan ke database. 2. Menentukan kelas yang memiliki arti kuat yang tidak akan dihancurkan ketika program atau proses yang membuatnya berhenti melakukan eksekusi. 3. Membuat relationship di antara kelas-kelas yang memiliki arti kuat. 4. Memilih tipe data yang sesuai dan pembatasan nilai (jika perlu) untuk setiap field.
Untuk suatu sistem yang baru, skema relasional dapat dirancang berdasarkan class diagram yang juga merupakan proses perancangan ERD.
33
Gambar 2.4 : Korespondensi Antara Konsep Object Oriented, Entity- Relationship Dan Relational Database (Sumber : Satzinger et al, 2010:511)
2.1.10. SYSTEM DEVELOPMENT LIVE CYCLE (SDLC) System Development Life Cycle (SDLC) merupakan keseluruhan proses membangun, menjalankan, menggunakan, dan memperbarui suatu sistem informasi (Satzinger,2010:38). SDLC ditujukan untuk membuat sebuah aplikasi atau sistem baru ataupun untuk melakukan perbaikan terhadap aplikasi atau sistem yang telah ada. SDLC memiliki berbagai macam model yang dapat disesuaikan dengan kebutuhan dan tujuan dari aplikasi atau sistem yang akan dibangun. Salah satu model yang paling sederhana, paling klasik, dan sering digunakan adalah waterfall model. Waterfall model merupakan model SDLC klasik yang bersifat sistematis. Ada beberapa versi atau gambaran berbeda dari waterfall model. Berikut ini adalah gambar Waterfall Model menurut Sommerville:
34
Gambar 2.5 : Waterfall Model (Sumber : Sommerville, 2011:30)
Penjelasan fase-fase pada Waterfall Model ini adalah sebagai berikut: 1. Requirements definition Mengumpulkan berbagai informasi mengenai kebutuhan yang diperlukan. Setelah itu, dianalisis dan didefinisikan requirement yang harus dipenuhi oleh program yang akan dibangun. 2. System and software design Mendesain sistem dan software yang akan dibangun. Hasil proses pada fase ini bergantung dari kelengkapan hasil analisa dari fase sebelumnya.
3. Implementation and unit testing
35
Hasil desain dari fase sebelumnya diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang telah ditentukan. Setelah penulisan program selesai, maka akan dilakukan pengujian terhadap masing-masing unit dari program. 4. Integration and system testing Penulisan kode dari unit-unit program yang telah diuji digabungkan menjadi suatu kesatuan sistem atau aplikasi. Kemudian, hasil penggabungan ini akan diuji secara keseluruhan (system testing). 5. Operation and maintenance Setelah proses system testing usai dan tidak ditemukan lagi kesalahan, maka sistem yang baru siap diimplementasikan. Pada fase ini pengoperasian sistem atau program disertai dengan pemeliharaan. Apabila dimasa mendatang sistem tersebut memerlukan perbaikan, pengembangan atau perubahan-perubahan lainnya, maka fase-fase pada model SDLC ini dapat diulang kembali.
2.1.11. NAVIGATION MAP Menurut Tay Vaughan (2011:296), Navigation map adalah struktur pemetaan dari sebuah project dan dilakukan pada tahap awal perancangan. Navigation map menghubungkan antar konten dalam satu project serta menyediakan alur grafik dari interface. Navigation map terdapat beberapa struktur yaitu :
a. Hierarchical
36
Struktur hierarchical disebut juga linear with branching. Struktur hierarchical memungkinkan pengguna dapat bernavigasi sesuai dengan percabangan (branch) yang ada.
Gambar 2.6 : Struktur Navigation Map Hierarchical (Sumber : Vaughan, 2011: 296)
b. Composite Struktur navigation map composite memungkinkan pengguna untuk bernavigasi secara bebas tetapi dibatasi dengan struktur linear dan struktur hierarchical.
Gambar 2.7 : Struktur Navigation Map Composite (Sumber : Vaughan, 2011: 296)
2.1.12. STORYBOARD
37
Menurut Tay Vaughan (2011:295), Storyboard adalah grafik outline yang menggambarkan project secara detail. Penggambaran project dilakukan dengan menjelaskan : a. Deskripsi dan sketsa untuk setiap layar b. Gambar c. Suara d. Warna e. Text (atribut dan font) f. Arah navigasi g. Elemen video h. Animasi Tabel 2.1 : Storyboard Template
Multimedia Storyboard Project: Screen:
Date: Screen ID:
Screen Description: Link From Screen ID: Color Scheme: Text Attributes: Still Images: Audio: Video: Animation: -
2.1.13. FLOWCHART
Link to Screen ID:
38
Menurut Anil Bikas Chaudhuri (2005:2), flowchart adalah suatu diagram yang merepresentasikan langkah-langkah suatu algoritma. Dalam flowchart, ada berbagai bentuk segi yang menunjukkan beragam jenis operasi dalam suatu sistem yang disebut sebagai simbol. Simbol-simbol ini dihubungkan dengan anak panah yang menunjukkan aliran atau tujuan suatu proses untuk mengetahui proses apa yang akan dilakukan selanjutnya. Flowchart dapat diklasifikasikan dalam dua kategori, yaitu: 1. Program Flowchart. Program flowchart bertindak seperti cerminan suatu program komputer dalam bentuk simbol-simbol flowchart. Program flowchart berisi tiap-tiap langkah pemecahanan masalah untuk hasil atau tujuan yang spesifik. 2. System Flowchart. Berbeda dengan program flowchart, system flowchart berisi kumpulan solusi dari tiap-tiap permasalahan yang saling berkaitan erat satu sama lain. Kumpulan solusi saling berinteraksi satu dengan yang lainnya untuk mencapai suatu tujuan.
Saat membangun suatu sistem, program flowchart merupakan suatu alat yang sangat berguna dikarenakan berbagai hal. Pertama, suatu kesalahan akan mudah terdeteksi, hal ini dikarenakan program flowchart merupakan gambaran sebuah logika progam sehingga akan lebih mudah untuk mencari kesalahan yang ada. Kedua, program flowchart dapat
39
ditelusuri dan dipelajari dengan mudah dan cepat. Ketiga, program flowchart dapat berfungsi sebagai suatu dokumentasi yang dapat sangat berguna nantinya apabila program tersebut perlu dimodifikasi atau dikembangkan di masa yang akan datang. Simbol-simbol yang umum digunakan dalam flowchart dapat dilihat pada tabel berikut :
Tabel 2.2 : Tabel Simbol Flowchart (Sumber : Chaudhuri,2005:2-3) Simbol
Nama simbol
Keterangan Simbol yang menunjukkan awal dan
Terminal akhir sekumpulan suatu proses dalam sistem Simbol yang Input / Output
menunjukkan adanya operasi input atau output Simbol yang menunjukkan adanya
Computer Processing
proses yang dilakukan oleh komputer dalam sistem
Flow Line
Penghubung antar simbol
40
Simbol
Nama simbol
Keterangan Simbol yang digunakan untuk menunjukkan suatu titik dimana suatu
Decision keputusan harus diambil untuk menentukan aksi suatu proses kedepannya
2.1.14. UNIFIED MODELING LANGUAGE (UML) Menurut Whitten et al. (2007:381), Unified Modeling Language (UML) menyediakan suatu notasi umum untuk membangun model dari suatu objek. UML terdiri dari berbagai jenis model diagram yang digunakan untuk menggambarkan suatu sistem informasi atau aplikasi dari suatu objek.
2.1.14.1.
USE CASE DIAGRAM Menurut Whitten et al. (2007:246-260), Use case diagram secara grafik menggambarkan sistem yang terdiri dari use case, actor (pengguna), dan hubungannya. Penjelasan lebih lanjut setiap business event mengenai bagaimana pengguna berinteraksi dengan sistem dideskripsikan dalam use-case narrative.
1. Use case
41
Use case menjelaskan fungsi-fungsi sistem dari sudut pandang external user dalam cara dan terminologi yang diketahui. Use case direpresentasikan dengan gambar elips horizontal disertai dengan nama use case yang dituliskan di atas, di bawah atau di dalamnya. Nama use case menjelaskan tujuan tunggal dari suatu sistem beserta rangkaian kegiatan dan interaksi pengguna untuk mencapai tujuan tersebut.
Gambar 2.8 : Contoh Use case model diagram (Sumber : Whitten et al, 2007:246)
2. Actor Rangkaian kegiatan use case diawali oleh external user yang disebut actor dengan tujuan untuk menyelesaikan tugas dari use case yang menghasilkan nilai (value) yang dapat diukur.
42
Actor tidak harus selalu berupa manusia, tetapi dapat berupa suatu organisasi, sistem informasi yang lain, suatu perangkat eksternal ataupun konsep dari suatu waktu.
Gambar 2.9 : Simbol Actor (Sumber : Whitten et al, 2007:247)
Primary business actor merupakan Actor yang mendapatkan keuntungan utama dalam menjalankan suatu use case dengan menerima sesuatu yang bernilai dan dapat diukur.
3. Relationships Relationships digambarkan dengan sebuah garis yang menghubungkan dua simbol dalam diagram use case. Setiap relationships bisa memiliki arti yang berbeda tergantung pada tipe simbol yang dihubungkan dan bagaimana garisnya digambarkan. Associations merupakan hubungan antara actor dan use case yang terjadi ketika use case mendeskripsikan interaksi antara actor dan use case.
43
Gambar 2.10 : Contoh Association Relationship (Sumber : Whitten et al, 2007:248)
4. Use-case Narrative Setelah selesai membentuk use case maka penting untuk membuat dokumentasi atau langkah-langkah deskripsi tiaptiap use case dimulai dari actor menginisialisasi suatu use case hingga event dari use case tersebut selesai. Dokumentasi ini disebut dengan use case narrative, adapun proses atau komponen yang terdapat dalam use case narrative yaitu sebagai berikut: a. Use case name Komponen yang berisi nama dari use case yang event-nya sedang dijelaskan. b. Description Komponen ini menjelaskan bagaimana use case berjalan dan tujuan dari use case.
44
c. Actor Komponen ini berisi actor yang akan menjalankan use case. d. Pre-condition Komponen ini menjelaskan kondisi saat use case akan dimulai. e. Action Terdiri dari Actor Action dan System Response. f. Basic Flow Komponen ini menjelaskan aliran proses dalam suatu use case. g. Alternative Flow Komponen ini menjelaskan aliran proses alternatif yang terjadi pada Basic Flow.
2.1.14.2. CLASS DIAGRAM Menurut Whitten et al. (2007:382), Class diagram menggambarkan objek atau kelas dari suatu sistem dan hubungan antar objek-objek kelas yang ada. Komponen utama dari sebuah Class terdiri dari: 1. Name, menjelaskan nama dari suatu class. 2. Attribute, terdiri atas atribut yang terdapat pada suatu class. 3. Method, menjelaskan proses yang dapat dilakukan oleh suatu class.
45
Hubungan antar objek atau class terdiri dari beberapa jenis relationships, yaitu: a. Association Relationship yang menjelaskan hubungan antara dua kelas yang tidak saling bergantungan namun salah satu kelas diantaranya mungkin membutuhkan method yang terdapat pada kelas lainnya.
Gambar 2.11 : Relasi Association Pada Class Diagram (Sumber : Whitten et al, 2007:661)
b. Aggregation and Composition Aggregasi
merupakan
relationship
yang
menjelaskan
gabungan antar kelas atau hubungan antar kelas yang memiliki atribut yang berkaitan namun hubungannya tidak mutlak. Aggregation digambarkan dengan simbol berbentuk seperti kristal kosong.
46
Gambar 2.12 : Relasi Aggregation Pada Class Diagram (Sumber : Whitten et al, 2007:379)
Sedangkan
Composition
merupakan
relationship
yang
menjelaskan gabungan antar kelas yang hubungannya tidak dapat dipisahkan. Composition digambarkan dengan simbol berbentuk seperti kristal yang berisi penuh.
Gambar 2.13 : Relasi Composition Pada Class Diagram (Sumber : Whitten et al, 2007:379)
47
c. Dependency Dependency merupakan relationship dimana suatu class mempunyai
ketergantungan
terhadap
class
lainnya.
Dependency digambarkan dengan garis panah putus-putus.
Gambar 2.14 : Relasi Dependency Pada Class Diagram (Sumber : Whitten et al, 2007:666)
Di dalam hubungan association terdapat konsep multiplicity yang
merupakan
interpretasi
dari
kedua
arah
hubungan
association. Multiciplity tersebut antara lain (gambar ada di halaman selanjutnya) :
48
Gambar 2.15 : Tabel Multiplicity UML (Sumber : Whitten et al, 2007:377)
49
Berikut ini adalah contoh class diagram :
Gambar 2.16 : Contoh Class Diagram (Sumber : Whitten et al, 2007:661)
2.1.14.3. SEQUENCE DIAGRAM Menurut Whitten et al.(2007:659), sequence diagram adalah sebuah diagram UML yang memodelkan usecase secara logic dengan menggambarkan interaksi message dengan objek-objek sesuai urutan waktunya. Message disusun sesuai urutan waktu dari atas ke bawah. Sequence diagram dapat dilihat sebagai cara mengintegrasikan langkah dari use case dengan objek yang ada pada class diagram. Sequence diagram dapat digunakan sebagai
50
sarana komunikasi dengan programmer untuk menentukan method atau behavior yang digunakan untuk mengimplementasikan use case. Pada Object Oriented System terdapat kurang lebih 3 jenis class yaitu : a. Entity Classes : sebuah objek dari class yang berhubungan dengan benda di kehidupan nyata dan mempunyai informasi yang disebut atribut serta mengenkapsulasi behavior yang berguna untuk memelihara informasi atau atribut tersebut. b. Interface Classes : sebuah objek dari class yang membantu actor untuk berinteraksi dengan sistem. Contohnya yaitu kotak dialog, layar, application program interface (API). Interface class ini sering disebut juga dengan boundary class. c. Control Classes : sebuah objek dari class yang mengandung logic dari sebuah aplikasi. Control class mengatur message antara interface class dengan entity class dan mengatur urutan message tersebut.
Berikut ini adalah notasi-notasi yang ada pada sequence diagram : a. Actor : actor yang berinteraksi dengan user interface dilambangkan dengan simbol actor pada usecase. Terkadang actor dilambangkan dengan kotak seperti class dengan tambahan
notasi
<
>.
Garis
putus-putus
yang
51
memanjang ke bawah dari actor menandakan nyawa atau life dari sequence.
Gambar 2.17 : Notasi Actor Pada Sequence Diagram (Sumber : Whitten et al, 2007:659)
b. Interface Class : sebuah kotak yang menandakan class user interface. Notasi <> ditulis pada interface class untuk memastikan tipe class yang digunakan. Tanda titik dua (:) merupakan standar notasi dari sequence diagram yang menandakan perwujudan dari class. Garis putus-putus yang memanjang ke bawah dari interface class menandakan nyawa atau life dari sequence.
Gambar 2.18 : Notasi Interface Class Pada Sequence Diagram (Sumber : Whitten et al, 2007:659)
52
c. Controller Class : setiap usecase akan memiliki satu atau lebih controller class. Controller class digambarkan sama seperti
interface
class
dengan
tambahan
tulisan
<>.
Gambar 2.19 : Notasi Controller Class Pada Sequence Diagram (Sumber : Whitten et al, 2007:659)
d. Entity Class : tambahkan kotak untuk setiap entity yang diperlukan
dalam
Tambahkan
titik
langkah-langkah dua
(:)
untuk
pada
sequence.
menandakan
sebuah
perwujudan dari class.
Gambar 2.20 : Notasi Entity Class Pada Sequence Diagram (Sumber : Whitten et al, 2007:659)
53
e. Messages
:
berbentuk
solid
horizontal
arrow
yang
menandakan message dikirim ke class. Setiap message memanggil method dari class ke tempat panah ditunjuk. Message diawali kata pertama dengan huruf kecil dan menambahkan kata berikutnya (bila ada) dengan diawali huruf kapital. Pada tanda dalam kurung berisi parameter yang dibutuhkan dan dipisahkan dengan tanda koma apabila terdapat dua atau lebih parameter.
Gambar 2.21: Notasi Messages Pada Sequence Diagram (Sumber : Whitten et al, 2007:659)
f. Activation bars : balok atau bar terletak ada lifelines menandakan periode waktu dari suatu objek tetap ada. Activation bars juga menandakan lifetime dari suatu objek berada pada RAM.
54
Gambar 2.22 : Notasi Activation Bars Pada Sequence Diagram (Sumber : Whitten et al, 2007:659)
g. Return Messages : berbentuk dashed horizontal arrow. Setiap method atau behavior harus mempunyai return message paling tidak true atau false untuk menandakan apakah behavior yang digunakan berhasil atau tidak.
Gambar 2.23 : Notasi Return Messages Pada Sequence Diagram (Sumber : Whitten et al, 2007:659)
h. Frame : berbentuk kotak frame yang digunakan untuk menandakan alternate, optional, ataupun loops.
55
Gambar 2.24 : Notasi Frame Pada Sequence Diagram (Sumber : Whitten et al, 2007:659)
Berikut ini adalah contoh gambar sequence diagram:
Gambar 2.25 : Sequence Diagram (Sumber : Whitten et al, 2007:662)
56
2.1.14.4. ACTIVITY DIAGRAM Menurut Whitten et al. (2007:390-394), activity diagram adalah sebuah diagram yang digunakan untuk menggambarkan alur proses bisnis, langkah dari sebuah use case atau logika dari sebuah object behavior atau method. Pada activity diagram terdapat delapan notasi umum. Berikut ini adalah notasi-notasi umum pada activity diagram yaitu: a. Initial Node Berbentuk lingkaran penuh yang melambangkan awal proses.
Gambar 2.26 : Notasi Initial Pada Activity Diagram (Sumber : Whitten et al, 2007:392)
b. Actions Berbentuk rounded-rectangle yang melambangkan langkahlangkah individual dari proses.
Gambar 2.27 : Notasi Action Pada Activity Diagram (Sumber : Whitten et al, 2007:392)
57
c. Flow Berbentuk tanda panah yang menujukkan perkembangan dari action. Flow tidak perlu ditambahkan kata-kata pada tanda panah untuk menjelaskan alur kecuali flow tersebut berasal dari decision.
Gambar 2.28 : Notasi Flow Pada Activity Diagram (Sumber : Whitten et al, 2007:392)
d. Decision Berbentuk diamond dengan satu flow masuk dan dua atau lebih
flow
keluar.
Flow
yang
keluar
dari
decision
menunjukkan suatu kondisi tertentu.
Gambar 2.29 : Notasi Decision Pada Activity Diagram (Sumber : Whitten et al, 2007:392)
58
e. Merge Berbentuk diamond dengan dua atau lebih flow masuk dan satu flow keluar. Merge bertujuan untuk menggabungkan flow yang terpisah oleh decision
Gambar 2.30 : Notasi Merge Pada Activity Diagram (Sumber : Whitten et al, 2007:392)
f. Fork Berbentuk batangan hitam dengan satu flow masuk dan dua atau lebih flow keluar. Action yang ada secara paralel di bawah fork menandakan action tersebut bisa terjadi pada saat yang bersamaan.
Gambar 2.31 : Notasi Fork Pada Activity Diagram (Sumber : Whitten et al, 2007:392)
59
g. Join Berbentuk batangan hitam dengan dua atau lebih flow masuk dan satu flow keluar. Semua action yang masuk ke dalam join harus selesai terlebih dahulu sebelum memulai action berikutnya.
Gambar 2.32 : Notasi Join Pada Activity Diagram (Sumber : Whitten et al, 2007:392)
h. Activity Final Berbentuk lingkaran penuh yang berada dalam lingkaran luar yang melambangkan akhir proses.
Gambar 2.33 : Notasi Final Pada Activity Diagram (Sumber : Whitten et al, 2007:392)
60
Gambar 2.34 : Activity Diagram (Sumber : Whitten et al, 2007:392)
Pada penggunaannya, notasi umum di atas sudah menggambarkan langkah-langkah dari use case namun belum menjelaskan siapa yang mengerjakan langkah-langkah tersebut.
61
Bila ingin menjelaskan siapa yang mengerjakan langkah-langkah tersebut, activity diagram digambarkan kedalam partitions. Partisi yang memisahkan actor yang mengerjakan suatu action disebut swim lanes.
Gambar 2.35 : Activity Diagram Dengan Partitioning (Sumber : Whitten et al, 2007:393)
62
Langkah-langkah membangun activity diagram: 1. Mulai dengan satu initial node sebagai titik awal. 2. Tambahkan partitions jika dibutuhkan dalam analisis. 3. Tambahkan sebuah action untuk setiap langkah dari use case. 4. Tambahkan flow (panah) untuk setiap langkah dari satu action ke action yang lain, decision point, atau end point. Untuk memaksimalkan ketelitian, setiap action hanya boleh memiliki satu aliran yang masuk dan satu aliran yang keluar dengan semua fork, join, decision, dan merge ditunjukkan secara eksplisit. 5. Tambahkan decision jika aliran memiliki cabang. 6. Tambahkan fork dan join jika activity dilakukan secara paralel. 7. Selesaikan dengan satu notasi tunggal untuk menyelesaikan activity.
63
2.2.
TEORI KHUSUS 2.2.1. JAVA Java adalah bahasa pemrograman dan platform komputasi yang mendasari teknologi seperti utilities, permainan, dan aplikasi bisnis (Anonim7,2013). Java lebih diartikan sebagai sebuah teknologi dibanding hanya sebuah bahasa pemrograman, karena Java merupakan bahasa pemrograman berorientasi objek yang dapat dijalankan pada berbagai platform sistem operasi dan menyediakan berbagai macam tools untuk sebuah development environment.
2.2.2. ANDROID Android pertama kali dikembangkan oleh sebuah perusahaan software kecil bernama Android Inc. pada bulan Oktober 2003 di Palo Alto, California, USA. Perusahaan kecil ini didirikan oleh Andy Rubin : co-founder
of
Danger,
Rich
Miner
:
co-founder
of
Wildfire
Communications, Incorporation, Nick Sears : VP at T-Mobile, dan Chris White : headed design and interface development at Web TV (Yadav, 2011). Pada bulan Agustus 2005, Android Inc. diakuisisi oleh Google Inc. Saat itu, banyak yang berspekulasi bahwa akuisisi ini adalah langkah awal yang dilakukan Google untuk masuk ke pasar mobile phone. Pada tahun 2007, Google dan beberapa perusahaan yang tergabung dalam ‘Open Handset Alliance’ mengembangkan Android OS. Pada tahun yang sama, Android OS diresmikan menjadi open source OS.
64
Smartphone dengan Android OS pertama kali diluncurkan pada tahun 2008. Hingga tahun 2012, Android OS mengalami berbagai perkembangan. Berikut ini adalah perkembangan Android OS: 1. Android 1.0 Smartphone pertamanya diproduksi oleh perusahaan HTC dan dirilis pada 22 Oktober 2008. 2. Android 1.1 Pada 9 Maret 2009, Android 1.1 dirilis hanya untuk T-Mobile G1. OS versi ini telah mengalami beberapa perbaikan seperti perbaikan bugs dari versi sebelumnya. Penambahan berbagai fitur seperti voice search (pencarian suara), show and hide dial pad serta menampilkan detail saat pengguna melakukan pencarian bisnis menggunakan maps. 3. Android 1.5 (Cupcake) Dua bulan setelah peluncuran Android 1.1, Google kembali mengeluarkan smartphone dengan OS versi baru yang lebih dikenal dengan sebutan cupcake. Smartphone dengan versi ini memiliki kemampuan merekam dan menonton video dengan modus kamera, mengunduh video langsung ke youtube, mampu mengakuisisi lokasi GPS dengan lebih cepat, photo galery yang terintegrasi, start-up kamera lebih cepat dan berbagai fitur lainnya. 4. Android 1.6 (Donut) September 2009, smartphone dengan versi yang lebih dikenal dengan sebutan donut ini dirilis. Smartphone ini dilengkapi dengan virtual
65
on-screen keyboard, stereo bluetooth, home screen widgets and folders, dan berbagai fitur lainnya yang diperbarui. 5. Android 2.0 (Eclair) Pada tanggal 3 Desember 2009, smartphone versi eclair dirilis. Versi ini melakukan penambahan fitur baru dan pembaruan pada fitur-fitur sebelumnya seperti kamera, google maps, keyboard, bluetooth dan widget. OS ini mengalami dua kali perbaikan yang diperbarui dengan versi Android 2.0.1 dan Android 2.1. 6. Android 2.2 (Frozen Yoghurt) Versi yang lebih dikenal dengan sebutan froyo dirilis pada 20 Mei 2010. Banyak penambahan dan pembaharuan fitur yang dilakukan, beberapa diantaranya multiple keyboard language, contact sharing dengan menggunakan bluetooth, optimasi performa dan memori. Perbaikan OS dilakukan beberapa kali melalui versi Android 2.2.1, Android 2.2.2, dan Android 2.2.3. 7. Android 2.3 (Gingerbread) Versi ini dirilis pada 6 Desember 2010. Versi ini melakukan perbaikan
power
management,
pembaharuan
keyboard
yang
memungkinkan pengguna dapat meng-input teks dengan lebih cepat, perbaikan user interface yang mengarah pada simplicity and speed, dan perbaikan lainnya. Perbaikan OS ini dilakukan sebanyak lima kali, yakni Android 2.3.3, Android 2.3.4, Android 2.3.5, Android 2.3.6,dan Android 2.3.7.
66
8. Android 3.0 (Honeycomb) Versi ini dirilis di Indonesia pada bulan Mei 2011. Versi ini dirancang khusus untuk tablet. User interface tentu saja sangat berbeda dari OS versi sebelumnya karena didesain untuk mendukung ukuran layar yang lebih besar. Versi ini mendukung video chat dan mampu mengenkripsi data pengguna secara keseluruhan. OS ini diperbaiki melalui versi Android 3.1, Android 3.2, Android 3.2.1 dan Android 3.2.2. 9. Android 4.0 (Ice-cream Sandwich) Versi ini diperkenalkan pada 19 Oktober 2011. OS ini membawa fitur-fitur dari versi Honeycomb untuk smartphone dan penambahan fitur lainnya. OS ini juga dilengkapi dengan face recognition untuk membuka kunci pada smartphone. 10. Android 4.1 (Jelly Bean) Versi ini dirilis tahun 2012. OS versi Jelly Bean ini juga diperuntukkan baik untuk phone maupun tablet yang memungkinkan untuk digunakan sebagai sistem operasi komputer atau personal computer(Syed,2012).
Perangkat platform Google Android mengalami peningkatan pengguna dalam tiga bulan (periode Desember 2011 hingga Maret 2012). Temuan ini merupakan hasil riset yang dilakukan terhadap 234 juta pengguna ponsel berusia di atas 13 tahun di Amerika Serikat.
67
Pengguna platform Google Android meningkat sebanyak 3,7 persen sedangkan pesaing terberatnya (platform Apple) hanya mengalami peningkatan sebanyak 1,9 persen. Persentase selengkapnya dapat dilihat pada gambar berikut:
Gambar 2.36 : Hasil Riset Pengguna Ponsel Periode Desember 2011 - Maret 2012 (Sumber: Anonim5, 2012)
Smartphone
dengan
Android
OS
juga
memiliki
berbagai
keunggulan dibanding smartphone lain yang bersaing dengannya. Beberapa keunggulannya yaitu: a. Android smartphone tersedia dalam berbagai bentuk, ukuran, spesifikasi, versi, dan merk. Harganya juga dapat disesuaikan dengan kantong pembelinya. b. Android memiliki berbagai fitur dan aplikasi dengan fleksibilitas yang tinggi. Hal ini mungkin dikarenakan Android OS merupakan
68
open source OS sehinga banyak developer dari berbagai kalangan yang turut mengembangkan aplikasi dan fitur-fitur di dalamnya. c. Performa smartphone Android dapat dikatakan sangat cepat dibanding dengan smartphone sejenisnya. Proses re-boot tidak berlangsung lama dan tidak memerlukan pencabutan baterai.
2.2.2.1.
SQLITE SQLite adalah sebuah library yang mengimplementasikan self-contained, serverless, zero-configuration, dan transactional SQL database engine (Anonim3, 2013). Self-contained yang dimaksud yaitu hanya membutuhkan sedikit library dari luar (external library) atau library dari operating system. Oleh sebab itu, SQLite cocok digunakan pada devices yang mempunyai infrastruktur lebih minim daripada perangkat komputer. SQLite juga cocok digunakan pada aplikasi yang ingin berjalan tanpa membutuhkan banyak modifikasi dan dapat berjalan pada segala konfigurasi komputer. SQLite disebut serverless karena tidak ada permisahan proses server seperti read / write database. Dengan SQLite, proses membaca atau menulis ke database dilakukan langsung ke database file yang berada pada devices
masing-masing.
Keuntungan dari serverless ini adalah tidak ada pemisahan proses server untuk memasang, mengatur, mengkonfigurasi, memulai dan mengelola database. Dari keuntungan ini juga merupakan
69
salah satu alasan mengapa SQLite disebut sebagai zero configuration. SQLite disebut transactional SQL database engine karena mendukung ACID (Atomic, Consistent, Isolated dan Durable) yang dapat menangani program crash, operating system crash, ataupun power failure saat proses transaksi berlangsung.
2.2.2.2.
ANDROID LOCATION STRATEGIES Pada pengembangan aplikasi Android, informasi lokasi pengguna
dapat
diketahui
dengan
menggunakan
Global
Positioning System (GPS) dan Android's Network Location Provider. Android's Network Location Provider menentukan lokasi pengguna dengan menggunakan jaringan Wi-Fi ataupun melalui menara Base Transceiver Station (BTS) yang terdekat dengan user. Hasil paling akurat untuk mendapatkan lokasi pengguna adalah GPS tetapi GPS hanya bekerja pada daerah outdoor (Anonim4, 2013). Pada mobile devices, pembacaan lokasi pengguna bisa terdapat
kesalahan
dan
ketidakakuratan.
Kesalahan
dan
ketidakakuratan pada lokasi pengguna disebabkan oleh : 1. Multitude of location sources GPS, menara BTS, dan Wi-Fi dapat menjadi sumber untuk mengetahui informasi lokasi pengguna tetapi masing-masing
70
mempunyai kelebihan dan kekurangan dalam hal akurasi, kecepatan, jangkauan, dan daya tahan baterai. 2. User movement Perubahan lokasi pengguna akan memerlukan evaluasi ulang terhadap lokasi pengguna yang didapatkan sebelumnya. 3. Varying accuracy Estimasi lokasi pengguna yang didapat dari setiap sumber lokasi berbeda-beda dan tidak konsisten. Lokasi yang didapat sepuluh detik yang lalu dari satu sumber lokasi bisa saja lebih akurat daripada lokasi baru yang didapatkan sekarang dari sumber lokasi berbeda.
Pada aplikasi Android membutuhkan tiga user permissions untuk
mendapatkan
GPS_PROVIDER
update
atau
lokasi
pengguna
NETWORK_PROVIDER.
dari User
permissions yang dibutuhkan yaitu : 1. ACCESS_FINE_LOCATION : digunakan untuk meminta user permissions untuk mengakses GPS_PROVIDER dan NETWORK_PROVIDER. 2. ACCESS_COARSE_LOCATION : digunakan untuk meminta user
permissions
NETWORK_PROVIDER.
untuk
mengakses
hanya
71
Berikut ini adalah flow procedures Android untuk mendapatkan lokasi pengguna : 1. Jalankan aplikasi. 2. Mulai mencari update lokasi dari provider. 3. Menjaga estimasi lokasi terbaik yang didapat. 4. Berhenti mencari update lokasi. 5. Lokasi terbaik yang didapat siap digunakan di aplikasi.
Gambar 2.37 : Timeline Untuk Mendapatkan Lokasi Pengguna (Sumber : Anonim4, 2013)
2.2.2.3.
ANDROID USER INTERFACE ELEMENTS Android mempunyai elemen-elemen untuk membangun sebuah tampilan user interface. Berikut adalah beberapa elemen-elemen yang ada pada user interface Android : 1.
Tabs Tabs
berguna
untuk
mempermudah
eksplorasi
dan
perpindahan tampilan dari aplikasi. Tabs berguna untuk memisahkan tampilan berdasarkan kategorinya sehingga mempermudah pengguna untuk mengetahui isi dari tampilan tab tersebut.
72
Gambar 2.38 : Contoh Tabs Pada User Interface Android (Sumber : Anonim4, 2013)
2. Scroll Scroll berguna untuk navigasi ke isi tampilan yang tidak cukup ditampilkan dalam satu layar menggunakan tehnik swipe. Indikator scroll atau scrollbar akan muncul ketika pengguna
melakukan
swipe.
Scroll
juga
bisa
dikombinasikan dengan index scroll dimana scroll ini akan bergerak sesuai urutan alphabet.
Gambar 2.39 : Indikator Scroll Yang Muncul Disebelah Kanan Ketika Melakukan Swipe (Sumber : Anonim4, 2013)
3. Button Button pada Android adalah button yang terdiri dari text atau image atau kombinasi keduanya yang menjalan suatu
73
action ketika pengguna menyentuh sebuah button. Android mendukung dua tipe button yaitu : a. Basic Button Basic button adalah button tradisional dengan border dan background.
Gambar 2.40 : Basic Button (Sumber : Anonim4, 2013)
b. Borderless Button Borderless button adalah button yang menyerupai basic button tetapi tidak mempunyai border dan background.
Gambar 2.41 : Borderless Button (Sumber : Anonim4, 2013)
74
4. Text Fields Text fields berguna untuk meminta input kepada pengguna. Text fields terbagi menjadi dua macam yaitu single line text field dan multi text field. Single line text field merupakan text field yang hanya terdiri dari dari satu baris saja dan apabila isinya melebihi lebar text field maka akan otomatis scroll ke sebelah kanan. Multi line text field merupakan text field yang terdiri lebih dari satu baris dan isi text field multi line akan otomatis mengisi baris berikutnya apabila melebihi lebar text field tersebut.
Gambar 2.42 : Contoh Single Line Text Field (Kiri) Dan Multi Line Text Field (Kanan) (Sumber : Anonim4, 2013)
5. Dialogs Dialogs berguna untuk memberi tambahan informasi kepada pengguna atau meminta keputusan pengguna untuk menentukan action selanjutnya. Dialogs ini umumnya berupa alert Yes or No untuk meminta persetujuan pengguna. Dialogs bisa digunakan untuk meminta input kepada
pengguna
atau
untuk
melakukan pengaturan (setting).
meminta
pengguna
75
Gambar 2.43 : Dialogs Pada Android (Sumber : Anonim4, 2013)
2.2.3. HTML DAN CSS 2.2.3.1.
HYPERTEXT MARKUP LANGUAGE (HTML) HTML merupakan suatu bahasa berisi instruksi standar yang dapat digunakan untuk membuat suatu halaman web. HTML sebenarnya bukan merupakan bahasa pemrograman, namun HTML memiliki suatu format khusus yang dapat digunakan untuk membuat sebuah halaman web (Castro,2007:14). Beberapa hal yang dapat dilakukan dengan HTML, yakni membuat
suatu
hypertext,
mengubah
format
penulisan,
menyisipkan gambar serta menampilkan informasi dalam bentuk poin-poin ataupun tabel. Hypertext berarti pada sebuah halaman web, dapat dibuat link yang mengacu pada halaman web lain di internet. Hal ini memungkinkan suatu informasi dalam web dapat diakses dari berbagai arah.
76
2.2.3.2.
CASCADING STYLE SHEETS(CSS) Menurut Castro (2007:119), CSS merupakan suatu bahasa yang terdiri dari satu atau lebih tata cara mengenai bagaimana suatu elemen ditampilkan dalam halaman web. Dalam CSS, terdapat CSS Properties yang berfungsi untuk mengontrol ukuran huruf, jenis huruf, maupun warna teks. CSS juga memiliki beberapa properties lain yang dinamis, yang membuat suatu item bisa disembunyikan ataupun ditampilkan dan digunakan untuk membuat drop-down menu serta komponen interaktif lainnya. CSS dapat dibuat di luar halaman web dan dapat dijalankan pada semua halaman web disaat yang bersamaan. Sebuah halaman web dengan CSS terpisah dapat meningkatkan fleksibilitas dan efisiensi suatu halaman web.
2.2.4. MYSQL Menurut Solichin (2010:8), MySQL adalah sebuah DBMS software yang multithread. MySQL merupakan salah satu open source software yang paling populer di dunia, dimana saat ini digunakan lebih dari 100 juta pengguna di seluruh dunia. MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu ‘MySQL AB’ yang memegang penuh hak cipta hampir semua source code-nya. Beberapa fitur dasar yang dimiliki MySQL, yakni :
77
a. Relational Database System Seperti halnya database software lain yang ada di pasaran, MySQL termasuk RDBMS. b. Client-Server Architecture MySQL memiliki arsitektur client-server dimana database server MySQL terinstal di server. MySQL client dapat berada di komputer yang sama dengan server, dan dapat juga di komputer lain yang berkomunikasi dengan server melalui jaringan bahkan internet. c. Mengenal perintah SQL standar. SQL (Structured Query Language) merupakan suatu bahasa standar yang dipakai di hampir semua database software.
2.2.5. JAVA SERVER PAGE (JSP) Menurut Kadir (2004:4), JSP merupakan teknologi yang berbasis pada bahasa Java yang dapat digunakan untuk membuat suatu halaman web yang bersifat dinamis. Teknologi ini dikembangkan oleh Sun Microsystems. Fitur pada bahasa Java memungkinkan aplikasi berbasis web dapat dieksekusi pada sisi client sehingga memungkinkan programmer atau developer untuk membuat aplikasi yang independen dengan sistem Java pada sisi client.
78
Beberapa keunggulan JSP : a. JSP menggunakan bahasa Java Para programmer yang telah mengenal dan terbiasa menggunakan bahasa Java akan mudah mempelajari JSP untuk membuat aplikasi berbasis web. Hal ini dikarenakan dasar dari JSP adalah bahasa Java. b. JSP mendukung multiplatform Multiplatform memungkinkan kode dapat eksekusi pada berbagai platform, tanpa melakukan konversi apapun pada kode tersebut.
2.2.6. GLOBAL POSITIONING SYSTEM (GPS) GPS, yang merupakan singkatan dari Global Positioning System, adalah suatu sistem radio navigasi dan penentuan posisi yang berbasiskan satelit yang dapat digunakan oleh banyak orang sekaligus dalam segala cuaca, serta didesain untuk memberikan posisi dan kecepatan tiga dimensi yang teliti, dan juga informasi mengenai waktu, secara kontinu di seluruh dunia (Abidin, 2006). GPS tracking merupakan teknologi AVL (Automated Vehicle Locater) yang memungkinkan pengguna untuk melacak posisi suatu kendaraan pada keadaan real time. GPS tracking kini banyak digunakan sebagai penunjuk jalan bagi para kendaraan. GPS mempunyai tiga segmen yaitu : 1. Satelit Satelit memiliki tiga tugas utama, yakni menerima dan menyimpan data yang ditransmisikan oleh stasiun-stasiun pengontrol, menyimpan
79
dan menjaga informasi waktu dengan ketelitian tinggi (ditentukan dengan jam atomik pada satelit), serta memancarkan sinyal dan informasi secara kontinu kepada pesawat penerima yang dimiliki pengguna. Satelit GPS mengorbit bumi pada kedudukan yang tetap. Satelit pertamanya diluncurkan pada tahun 1978 yang mengorbit pada ketinggian 20.200 km. Hingga tahun 1994, keseluruhan satelitnya berjumlah 24 buah dimana 21 buah merupakan satelit aktif dan sisanya merupakan satelit cadangan. Kini, telah lebih dari 30 satelit GPS yang berorbit di atas bumi. 2.
Pengontrol (Controller) Pengontrol bertugas untuk mengendalikan satelit-satelit yang ada. Dari bumi, segmen pengontrol ini dapat mengecek kondisi satelit, menentukan dan memprediksi orbit maupun waktu, melakukan sinkronisasi waktu antar satelit serta mengirimkan data ke satelit.
3. Penerima / Pengguna (Receiver) Pengguna menerima data yang dikirimkan oleh satelit. Data yang diterima ini akan diproses untuk menentukan posisi (tiga dimensi, koordinat di bumi ditambah dengan ketinggian), arah, jarak dan waktu yang diperlukan oleh pengguna.