BAB 2 Tinjauan Pustaka
2.1
Teori yang berkaitan dengan Software Engineering 2.1.1
Software engineering 2.1.1.1 Pengertian Software Engineering Menurut Roger S. Pressman (2010: 4) perangkat lunak (software) didefinisikan sebagai berikut : 1.
Instruksi (program komputer) yang ketika dijalankan memberikan fitur, fungsi dan unjuk kerja.
2.
Struktur data yang memungkinkan program untuk mengolah informasi
3.
Informasi deskriptif dalam bentuk nyata dan maya yang menjelaskan tentang operasi dan kegunaan program. Software juga memiliki karakteristik yang berbeda
dengan hardware antara lain: 1.
Software direkayasa atau dirancang, tidak diproduksi atau dimanufaktur
2.
Software tidak dapat usang.
3.
Software biasanya dibangun secara khusus dari komponen-komponen
software
yang
dapat
digunakan ulang. Menurut IEEE yang dikutip oleh Roger S. Pressman (2010: 13) software engineering merupakan penerapan pendekatan yang sistematik, teratur dan terukur pada perkembangan, operasi serta pemeliharaan software. Sedangkan menurut Ian Sommerville (2010: 6) software merupakan program komputer dan dokumentasi program yang dikembangkan dengan tujuan menyediakan fungsi dan unjuk kerja kepada user serta dapat diandalkan, digunakan dan dipelihara.
7
8 Karakteristik software yang baik menurut Ian Sommerville (2010: 8) diantara lain: 1.
Maintainability Software harus dapat berubah sesuai dengan perubahan kebutuhan dari user.
2.
Dependability and security Software harus dapat diandalkan untuk tidak menyebabkan kerusakan fisik dan ekonomi saat sistem gagal. Software juga tidak dapat diakses atau dirusak oleh user berbahaya.
3.
Efficiency Software efisien dalam penggunaan sumber daya.
4.
Acceptability Software harus dapat sesuai dan dimengerti oleh user yang menggunakan software tersebut. Menurut Ian Sommerville (2010: 7) software
engineering
merupakan
disiplin
perancangan
yang
berhubungan dengan seluruh aspek penghasilan software dari tahap spesifikasi sistem sampai dengan pemeliharaan sistem. Kesimpulan kami adalah software merupakan sekumpulan instruksi yang dibaca oleh perangkat keras computer
yang
memiliki
ciri-ciri
maintainability,
dependability, acceptability, efficiency dan solid security. Sedangkan
software
engineering
merupakan
proses
sistematik, teratur dan terukur dalam perancangan software. 2.1.1.2 Metodologi Scrum Scrum merupakan salah satu pendekatan atau metodologi agile software development model. Scrum menggunakan
suatu
pola
proses
yang
mencakup
pengumpulan kebutuhan software, analisa kebutuhan yang terkumpul, design software, perubahan software sesuai kebutuhan, dan penyampaian software (Pressman, 2010:82).
9
Gambar 2.1 Metodologi Scrum
Metodologi
Scrum
terlihat
pada
gambar
2.1
menitikberatkan pada penggunaan satu set pola proses software yang terbukti sangat berguna untuk proyek dengan waktu singkat dan kebutuhan yang sering berubah. Dalam setiap
pola
proses
terdapat
beberapa
aktivitas
pengembangan software (Pressman, 2010: 83) antara lain: 1.
Backlog Backlog merupakan daftar kebutuhan proyek atau fitur yang akan dibuat dalam software. Kebutuhan dapat berubah terus sehingga dapat bertambah atau berkurang.
2.
Sprint Sprint merupakan tahap pengubahan kebutuhan proyek yang sudah ditentukan menjadi software sesuai dengan batas waktu yang sudah ditentukan umumnya tiga puluh hari. Batas waktu sprint bervariasi sesuai dengan backlog dan kesepakatan tim pengembang software. Beberapa daftar backlog yang digunakan dalam sprint disebut dengan sprint backlog.
10 3.
Scrum meeting Scrum meeting merupakan tahap
pembahasan
mengenai sejauh mana pengerjaan dalam tahap sprint, masalah apa yang ditemukan dalam tahap sprint, dan apa yang akan selesai dikerjakan di scrum meeting berikutnya. Scrum meeting umumnya dilakukan setiap hari dan berdurasi 15 menit. 4.
Demos Demos merupakan tahap penyampaian hasil dari sprint yang akan dievaluasi. Sprint akan dilanjutkan atau dihentikan sesuai dengan hasil evaluasi umumnya akan dihentikan jika semua fitur dalam backlog sudah selesai.
2.1.2
Interaksi Manusia dan Komputer 2.1.2.1 Pengertian Interaksi Manusia dan Komputer Menurut Shneiderman dan Plaisant (2010: 22) interaksi manusia dan komputer adalah perpaduan antara ilmu desain dan ilmu komputer dengan menerapkan prinsip desain yang baik kedalam komputer melalui alat-alat komputer canggih. 2.1.2.2 Lima Faktor Manusia Terukur Menurut Shneiderman dan Plaisant (2010: 32) terdapat
lima
faktor
manusia
terukur
yang
harus
dipertimbangkan dalam perancangan antarmuka antara lain: 1.
Waktu belajar Jumlah waktu yang diperlukan oleh user untuk mempelajari
melakukan
sejumlah
aksi
yang
diperlukan dalam menyelesaikan suatu tugas. 2.
Kecepatan kinerja Kecepatan user dalam menyelesaikan suatu tugas.
3.
Tingkat kesalahan user Jumlah dan jenis kesalahan yang dilakukan oleh user dalam menyelesaikan suatu tugas.
11 4.
Daya ingat Kemampuan user dalam mengingat pengetahuan tentang antarmuka setelah satu jangka waktu tertentu.
5.
Kepuasan subjektif Kepuasan masing-masing individu terhadap semua aspek yang ada dalam antarmuka.
2.1.2.3 Delapan Aturan Emas Shneiderman mengemukakan
bahwa
dan ada
Plaisant delapan
(2010: prinsip
88) dalam
perancangan antarmuka yang disebut sebagai “Eight Golden Rules”. Eight Golden Rules tersebut antara lain: 1.
Berusaha untuk konsisten Konsisten dalam menggunakan warna, tata letak objek dalam layar, penggunaan huruf kapital, penggunaan jenis font dan berbagai unsur lainnya yang terdapat dalam antarmuka.
2.
Penyesuaian penggunaan secara universal Rancangan antarmuka harus mudah digunakan oleh berbagai golongan usia, kemampuan atau pekerjaan, dan kemampuan teknologi baik pemula atau ahli.
3.
Menyediakan umpan balik informatif Setiap tindakan yang dilakukan oleh user harus diberikan
umpan
balik
informasi
agar
user
mengetahui perubahan yang terjadi atas tindakan tersebut. 4.
Merancang dialog untuk akhir keadaan Memberikan dialog konfirmasi dari sejumlah aksi dari user dari suatu tahap sebelum melanjutkan ke tahap berikutnya agar user dapat melihat hasil tindakannya dan mencegah kesalahan yang tidak sengaja dilakukan oleh pengguna.
12 5.
Mencegah kesalahan Sistem yang dirancang harus dapat mencegah kesalahan serius dari user dengan memberikan peringatan atas kesalahan yang akan terjadi agar dapat ditangani oleh user.
6.
Memungkinkan
pengembalian
suatu
tindakan
dengan mudah Sistem harus dirancang semaksimal mungkin agar tindakan dapat dikembalikan dengan mudah agar user tidak khawatir jika melakukan kesalahan yang tidak diinginkan. 7.
Mendukung pusat kendali internal User memiliki kuasa penuh atas antarmuka dan antarmuka tersebut dapat memberikan hasil yang dikehendaki oleh user atas tindakannya.
8.
Mengurangi beban ingatan jangka pendek Rancangan antarmuka harus dapat membantu user dalam mengingat informasi yang sudah diberikan user sebelumnya untuk dapat digunakan kembali pada waktu mendatang. Prinsip rancangan ini bermaksud agar pengguna cepat dalam melakukan suatu tindakan dan
cepat
untuk
beradaptasi
kembali
dengan
antarmuka. 2.1.2.4 Kategori Pengguna Shneiderman dan Plaisant (2010: 81) mengemukakan bahwa
ada
tiga
kategori
pengguna
yang
harus
dipertimbangkan dalam perancangan antarmuka antara lain: 1.
Novice Users Pengguna pemula yang sedikit atau belum memiliki pengalaman penggunaan antarmuka dan konsep
antarmuka
secara
umum.
Rancangan
antarmuka harus sederhana untuk dapat berhasil digunakan oleh novice users menyelesaikan suatu tindakan tertentu.
13 2.
Knowledgable Intermittent Users Pengguna yang sudah memiliki pengalaman penggunaan dan pengetahuan konsep antarmuka secara umum. Rancangan antarmuka harus memiliki terminologi konsisten dan menu yang terstruktur untuk dapat digunakan oleh knowledgable intermittent users.
3.
Expert Frequent Users Pengguna yang sudah sering menyelesaikan tugas dengan antarmuka dan memiliki konsep antarmuka yang kuat sehingga selalu ingin mencari cara
untuk
Rancangan
mempercepat antarmuka
penyelesaian
harus
memiliki
tugas. macro,
shortcut, dan command-line untuk digunakan oleh expert frequent users. 2.1.3
Unified Modeling Language (UML) Unified Modeling Language merupakan sebuah set model yang digunakan dalam menggambarkan sebuah sistem perangkat lunak berbasis objek (Whitten dan Bentley, 2007: 371). UML dapat dibagi menjadi: 2.1.3.1 Use Case Diagram Menurut Whitten dan Bentley use case diagram merupakan diagram yang menggambarkan interaksi sistem dengan penggunna. Diagram ini menggambarkan siapa yang menggunakan sistem dan cara apa user (aktor) berinteraksi
dengan
sistem.
Use
case
diagram
mengrepresentasikan satu tujuan tunggal dari sistem dan mendefinisikan urutan dari aktivitas dan interaksi user dalam mencapai tujuan tersebut. Use case diagram juga digunakan bersamaan dengan use case narrative yang berupa deskripsi teks bagaimana user berinteraksi dengan sistem untuk menyelesaikan suatu tugas (2007: 246). Berikut gambar 2.2 contoh use case diagram sederhana:
14
Gambar 2.2 Use Case Diagram
Use case diagram juga dilengkapi dengan use case description. Menurut Satzinger, Jackson, dan Burd, use case description merupakan sebuah deskripsi yang menampilkan daftar rinci proses dalam sebuah use case (2009 :171). Berikut tabel 2.1 contoh use case description menurut Satzinger, Jackson, dan Burd (2009:174):
Tabel 2.1 Tabel Use Case Description Use Case Name Scenario Triggering Event Brief Description
Create New Order
Create new Web Order Customer logs on to the RMO and request purchase item Customer logs on and request the new order form, purchase item from catalog and enter credit card information Actors Customer Related Use Includes: Register new customer, check Case item availability Preconditions Catalog, products, and inventory items must exist for requested items Postconditions Order and order line items must be created Order transaction must be created for the order payment Inventory items updated Flow of Actor System Events 1. Customer connects to RMO homepage and links to the order page
15 2.a If this is a new customer, then customer links to the customer account page and add information to establish a customer account. 2.b If existing customer, customer logs on. 3. Customer searches catalog.
2a.1 Create new customer record.
2b.1 Validate customer account
3.1 Display products from catalog 4. Customer re- 4.1 Add item to quests item to be shopping cart added to the order. order Exception Condition
4.1 If an item is not in stock, then customer can a. choose not to purchase item, or b. request item be added as a backordered item.
Use case diagram memiliki beberapa komponen penting (Whitten dan Bentley, 2007: 246) antara lain: 1. Use Case Use case merupakan suatu skenario (langkah yang dilakukan dalam sistem) untuk menyelesaikan sebuah tugas bisnis (Whitten dan Bentley, 2007: 246). Berikut gambar 2.3 contoh notasi use case:
Gambar 2.3 Use Case Symbol
2. Aktor Use case diinisiasi atau dimulai oleh pengguna eksternal yang disebut dengan aktor. Aktor memulai aktivitas sistem, sebuah use case dengan tujuan untuk menyelesaikan sebuah tugas bisnis (Whitten dan
16 Bentley, 2007 : 247). Berikut gambar 2.4 contoh notasi aktor:
Gambar 2.4 Actor Symbol
3. Relasi Relasi merupakan suatu hubungan yang digambarkan sebagai garis antar dua notasi pada diagram use case. Relasi dapat berbeda tergantung pada penggambaran garis dan tipe notasi apa yang dihubungkan dengan garis tersebut (Whitten dan Bentley, 2007 : 248). Berikut merupakan jenis-jenis relasi: a. Association Association merupakan hubungan antara aktor dan use case. Association dengan bentuk panah mengindikasikan bahwa use case tersebut dilakukan oleh aktor tersebut. Association dengan bentuk garis mengindikasikan bahwa aktor tersebut menerima hasil dari use case tersebut (Whitten dan Bentley, 2007 : 248). Berikut gambar 2.5 contoh Association Relation:
Gambar 2.5 Association Relation b. Extend Extend merupukan hubungan antar use case yang terbentuk dari penjabaran suatu use case yang
17 kompleks menjadi beberapa use case yang lebih sederhana dan mudah dipahami (Whitten dan Bentley, 2007 : 248). Berikut gambar 2.6 contoh Extend Relation:
Gambar 2.6 Extend Relation
c. Uses (Includes) Uses merupakan relasi yang terbentuk dari dua atau lebih use case yang bekerja dalam langkah yang hampir sama dan dibentuk satu use case yang dapat digunakan kembali untuk mengurangi redudansi suatu use case (Whitten dan Bentley, 2007 : 249). Berikut gambar 2.7 contoh Uses or Include Relation:
Gambar 2.7 Uses or Includes Relation
18 d. Depends On Depends on merupakan relasi antar use case yang menunjukan ketergantungan satu use case dengan use case yang lain. Use case yang depends on use case lain tidak dapat dijalankan sebelum use case lain tersebut sudah dijalankan (Whitten dan Bentley, 2007 : 249). Berikut gambar 2.8 contoh Depends On Relation:
Gambar 2.8 Depends On Relation
e. Inheritance Inheritance merupakan suatu relasi yang terbentuk karena adanya dua atau lebih aktor yang mengakses use case yang sama sehingga dibentuk satu aktor baru untuk mengurangi redudansi komunikasi dalam sistem (Whitten dan Bentley, 2007 : 250). Berikut gambar 2.9 contoh Inheritance Relation:
Gambar 2.9 Inheritance Relation
19 2.1.3.2 Activity Diagram Activity Diagram merupakan diagram grafis untuk menggambarkan aliran proses bisnis, langkah-langkah dari use case, atau alur logika berbasis objek (Whitten dan Bentley, 2007: 390). Berikut gambar 2.10 contoh Activity Diagram:
Gambar 2.10 Activity Diagram
Notasi yang digunakan dalam activity diagram antara lain: 1. Initial node Initial node melambangkan permulaan suatu proses. Berikut gambar 2.11 contoh Initial Node:
Gambar 2.11 Initial Node
2. Actions Actions melambangkan serangkaian atau urutan aksi yang dimuat kedalam suatu activity diagram. Berikut gambar 2.12 contoh Actions:
20
Gambar 2.12 Actions
3. Flow Flow melambangkan pergerakan antar notasi dalam activity diagram. Berikut gambar 2.13 contoh Flow:
Gambar 2.13 Flow
4. Decision Decision merupakan percabangan dari satu flow menjadi dua flow. Berikut gambar 2.14 contoh Decision:
Gambar 2.14 Decision
5. Merge Merge merupakan dua atau lebih flow yang bersatu menjadi flow tunggal. Berikut gambar 2.15 contoh Merge:
Gambar 2.15 Merge
21 6. Fork Fork melambangkan percabangan dari satu flow menjadi dua atau lebih flow yang berjalan secara paralel atau bersamaan. Berikut gambar 2.16 contoh Fork:
Gambar 2.16 Fork
7. Join Join melambangkan akhir dari proses fork dan menyatukan flow yang ada menjadi flow tunggal. Berikut gambar 2.17 contoh Join:
Gambar 2.17 Join
8. Activity final Activity final melambangkan akhir dari suatu proses dalam activity diagram. Berikut gambar 2.18 contoh Activity Final:
Gambar 2.18 Activity Final
2.1.3.3 Sequence Diagram Sequence diagram digunakan dalam penggambaran model logika dari sebuah use case yang menunjukkan interaksi antara aktor dengan sistem dengan urutan waktu dan alur yang sistematis (Whitten dan Bentley, 2007: 394). Berikut gambar 2.19 contoh sequence diagram:
22
Gambar 2.19 Sequence Diagram
2.1.3.4 Class Diagram Class
diagram
merupakan
gambaran
yang
menampilkan struktur objek-objek (kelas) yang menyusun suatu sistem dan hubungan antara kelas-kelas dalam diagram tersebut (Whitten dan Bentley, 2007: 400). Berikut gambar 2.20 contoh class diagram:
Gambar 2.20 Class Diagram
23 2.2
Teori yang terkait tema penelitian (tematik) 2.2.1
Sistem informasi Sistem merupakan sekumpulan komponen yang saling terhubung yang berfungsi bersama untuk mencapai hasil yang diinginkan. Sedangkan sistem Informasi merupakan suatu susunan dari orang, data, proses dan teknologi informasi yang berinteraksi untuk mengumpulkan, mengolah, menyimpan dan memberikan hasil informasi yang diperlukan untuk mendukung organisasi (Whitten dan Bentley, 2007: 6).
2.2.2
Android Android merupakan sebuah sistem operasi untuk perangkat mobile yang menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mobile mereka. Android pertama-tama dibeli oleh Google dan berikutnya dikembangkan oleh Open Handset Alliance yang merupakan persatuan dari tiga puluh empat perusahaan peranti lunak, keras dan telekomunikasi (Safaat, 2014: 1). Berikut merupakan karakteristik utama yang dimiliki oleh Android menurut Open Handset Alliance, antara lain: 1.
Terbuka Android bersifat open source. Android dapat digunakan dan dimodifikasi secara gratis bagi semua orang.
2.
Semua aplikasi setara Android memungkinkan semua aplikasi yang terbuat memiliki akses kemampuan ponsel yang sama dalam menyediakan user dengan aplikasi dan layanan yang luas.
3.
Memecahkan batasan aplikasi Android memungkinkan membangun aplikasi yang baru dan inovatif dengan contoh pengembang dapat menggabungkan informasi dari jaringan internet dengan data individu dalam ponsel.
4.
Pengembangan aplikasi yang cepat dan mudah Android menyediakan akses ke berbagai macam libraries dan tools berguna untuk dapat membangun aplikasi yang berbobot dengan
cepat
dan
mudah.
Sebagai
contoh
Android
24 memungkinkan sesama ponsel untuk berkomunikasi dengan aplikasi social peer-to-peer (2014). Setelah aplikasi Android terbuat maka dapat diupload ke Google Play yang merupakan website terbuka Google untuk menjual dan mendistribusikan aplikasi Android. Pengembang aplikasi dapat mengatur penerbitan dan frekuensi penerbitan aplikasinya. Google Play juga dapat meningkatkan popularitas suatu penerbit aplikasi dengan memberikan fitur seperti aplikasi terbaik mingguan dan tempat untuk mempromosikan aplikasi baru. (Developer Android, 2014). 2.2.2.1 Versi Android Telepon pertama memakai sistem operasi Android pada tahun 2008. Dan pada tahun 2010 hampir semua ponsel di dunia menggunakan sistem operasi Android. Berikut merupakan versi Android dari perkembangan awal sampai dengan sekarang (Safaat 2014: 10): 1.
Android versi 1.1 Google merilis Android versi 1.1 pada tanggal 9 Maret 2009 yang dilengkapi dengan:
2.
a.
Pembaruan estetis aplikasi, jam, dan alarm.
b.
Voice search.
c.
Gmail dan e-mail notification.
Android versi 1.5 (Cupcake) Google merilis Android Cupcake pada tanggal 30 April 2009 yang terdapat pembaruan dan penambahan beberapa fitur antara lain: a.
Merekam dan menonton video.
b.
Mengupload video ke Youtube dan gambar ke Picasa.
c.
Dukungan
Bluetooth
Advanced
Audio
Distribution Profile yang dapat mentransmisi audio secara wireless dari ponsel ke Bluetooth headset atau system stereo. d.
Animasi layar dan keyboard layar yang dapat disesuaikan dengan sistem.
25 3.
Android versi 1.6 (Donut) Google merilis Android Donut pada tanggal 15 September 2009 yang terdapat pembaruan dan penambahan beberapa fitur antara lain: a.
Penampilan proses pencarian yang lebih baik.
b.
Indikator dan penggunaan baterai.
c.
Antarmuka galeri, kamera, dan camcorder yang terintegrasi.
4.
d.
Gesture Framework.
e.
Text to speech engine.
f.
VPN, CDMA dan EVDO.
Android versi 2.0 (Eclair) Google merilis Android 2.0 Eclair pada tanggal 26 Oktober
2009
yang
terdapat
pembaruan
dan
penambahan beberapa fitur antara lain:
5.
a.
Pengoptimalisasian pada perangkat keras.
b.
Peningkatan Google Maps 3.1.2.
c.
Perubahan User Interface yang baru.
d.
Browser dengan dukungan HTML 5.
e.
Dukungan flash untuk kamera 3,2 Megapixel.
f.
Digital zoom.
g.
Bluetooth 2.1.
Android versi 2.2 (Froyo: Frozen Yogurt) Google merilis Android Froyo pada tanggal 20 Mei 2010 yang terdapat pembaruan dan penambahan beberapa fitur antara lain: a.
Kerangka aplikasi memungkinkan penggunaan dan
penghapusan
komponen
yang
sudah
tersedia. b.
Memungkinkan grafik 2D dan 3D.
c.
Mendukung berbagai format audio dan video.
d.
Memungkinkan penggunaan Global Positioning System dan kompas.
26 6.
Android versi 2.3 (Gingerbread) Google merilis Android Gingerbread pada tanggal 6 Desember 2010 yang terdapat pembaruan dan penambahan beberapa fitur antara lain: a.
Memungkinkan
penggunaan
Near
Field
Communications.
7.
b.
Penyediaan Gyroscope dan sensor.
c.
Pengoptimalan fungsi-fungsi kamera.
d.
Penyediaan efek audio yang bisa digabungkan.
e.
Penyediaan download manager.
Android versi 3.0 (Honeycomb) Google merilis Android Honeycomb pada tanggal 22 Februari 2011 yang dikhususkan untuk tablet (Android, 2014) dengan beberapa pembaruan dan penambahan fitur antara lain:
8.
a.
Dukungan tablet yang lebih baik.
b.
Pembaharuan user interface.
c.
Dukungan multi-core processor.
d.
Ukuran widget yang dapat diubah.
Android versi 4.0 (Ice Cream Sandwich) Google merilis Android 4.0.1 Ice Cream Sandwich pada tanggal 19 Oktober 2011 dengan beberapa pembaruan dan penambahan fitur (Android, 2014) antara lain: a.
Rotasi layar dan pengisian text yang lebih mulus
b.
User interface baru yang lebih minimalis.
c.
Deteksi muka dan face unlock.
d.
Tersedia Android Beam untuk bertukar data dengan teknologi NFC.
9.
Android versi 4.1 (Jelly Bean) Google merilis Android Jelly Bean pada tanggal 9 Juli 2012 dengan beberapa pembaruan dan penambahan fitur (Android, 2014) antara lain: a.
Pencarian dengan penggunaan suara.
27 b.
Tersedia fitur multi-user untuk tablet.
c.
Penambahan fitur kamera penangkapan citra 360 derajat dengan Photosphere.
d.
Tersedia fitur Google Now dalam memberikan informasi berguna kepada user tanpa searching.
e.
Tersedia auto complete pada dial pad.
10. Android versi 4.4 (Kitkat) Google merilis Android Kitkat pada tanggal 31 Oktober 2013 dengan beberapa pembaruan dan penambahan fitur (Android, 2014) antara lain: a.
Tersedia deteksi suara “Ok Google” untuk memulai pencarian.
b.
Peningkatan kecepatan untuk multitasking.
c.
Penambahan navigation
immersive mode bar
menggunakan
akan
auto
smartphone).
(status dan hide
saat
Status
dan
navigation bar dapat dimunculkan kembali dengan menyentuh ujung layar. d.
Tersedia Emoji untuk digunakan dan wireless printing.
e.
Terintegrasi dengan Google Drive.
f.
Documents,
spreadsheets
dan
presentation
dapat dibuat dan diubah dengan Quickoffice yang baru. 11. Android versi 5.0 (Lollipop) Android Lollipop merupakan versi Android terbaru yang dirilis akhir-akhir ini pada tanggal 17 Oktober 2014 dengan pembaruan dan penambahan fitur (Android, 2014) antara lain: a.
Android sudah bisa dijalankan di devices lain tidak terbatas hanya tablet dan smartphone.
b.
Fluid design pada semua jenis layar tampilan.
c.
Tersedia pemblokiran notifikasi dari orang atau aplikasi tertentu.
28 d.
Penghematan penggunaan baterai dan fitur penghematan energi smartphone yang baru.
e.
Semua Android devices yang dimiliki dapat saling terintegrasi.
f.
Enam puluh delapan bahasa sudah tersedia dalam Android Lollipop.
2.2.3
Android Software Development Kit Android Software Development Kit (SDK) merupakan tools Application Programming Interface yang diperlukan untuk memulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform yang gratis, Android memberikan para pengembang aplikasi kesempatan untuk membuat aplikasi yang diinginkan bukan aplikasi yang sudah ada dalam Smartphone. Beberapa fitur Android yang penting (Safaat, 2014: 5) adalah: 1.
Framework aplikasi yang mendukung penggantian komponen atau reusable.
2.
Mesin virtual yang dioptimalkan untuk mobile.
3.
Browser yang terintegrasi.
4.
Grafis yang dioptimalkan dan didukung dengan libraries grafis 2D dan 3D.
5.
SQLite untuk penyimpanan data.
6.
Dukungan berbagai format audio, video, dan gambar.
7.
Tersedia Bluetooth, EDGE, 3G, dan WiFi.
8.
Kamera,
Global
Positioning
System,
kompas,
dan
accelerometer. 9.
Lingkungan pengembangan yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori,
dan
plugin
untuk
Integrated
Development
Environment Eclipse. 2.2.4
Android Developer Tools Android Developer Tools (ADT) merupakan plugin yang menyediakan sejumlah tools terintegrasi dengan Eclipse. ADT dapat memberikan akses ke fitur-fitur yang dapat membantu dalam
29 pengembangan aplikasi Android. ADT dapat memberikan akses design tool untuk pembangunan aplikasi dan prototyping yang cepat. Berikut merupakan beberapa fitur yang disediakan ADT untuk membantu pengembangan aplikasi (Developer Android, 2014): 1.
Penyediaan Code dan Graphical Layout Editor untuk mengubah code dan tampilan dengan cepat dan mudah.
2.
Penyedian berbagai macam widget yang sudah siap dipakai kedalam aplikasi.
3. 2.2.5
Penyediaan emulator, debugging, dan packaging aplikasi.
Java Java merupakan bahasa pemrograman yang pertama dirilis oleh Sun Microsystems pada tahun 1995. Java sudah digunakan oleh banyak aplikasi dan website yang tidak akan berfungsi jika tidak ada instalasi java. Java versifat cepat, aman, dan dapat dipercaya. Java dirancang untuk dapat menyediakan perkembangan aplikasi yang berkinerja tinggi untuk platform komputasi yang luas. Aplikasi yang terbuat dengan java dapat diakses di berbagai lingkungan yang berbeda,
memberikan
lebih
banyak
layanan
untuk
bisnis,
meningkatkan produktivitas, komunikasi, kolaborasi, dan mengurangi biaya antara user dan developer aplikasi. Berikut
beberapa
keuntungan
menggunakan
bahasa
pemrograman Java (Java, 2014): 1.
Pembuatan perangkat lunak di satu platform dapat dijalankan secara virtual di platform lain.
2.
Pembuatan program yang dapat berjalan dalam web browser dan mengakses melalui web services.
3.
Pengembangan
aplikasi
bagian
server
untuk
berbagai
keperluan. 4.
Menggabungkan berbagai macam aplikasi dan layanan yang disediakan oleh Java.
5.
Merancang aplikasi yang berbobot dan efisien untuk berbagai macam devices.
30 2.2.6
Eclipse Eclipse Project merupakan sebuah komunitas terbentuk dari individual dan organisasi yang berkeinginan untuk berkolaborasi dalam membentuk software yang open source.
Eclipse Project
pertama kali didirikan oleh IBM pada November 2001 dan didukung oleh persatuan vendor perangkat lunak. Eclipse Foundation terbentuk pada Januari 2004 sebagai perusahaan independen dan non profit untuk menciptakan komunitas yang terbuka dan transparan bagi Eclipse Project. Eclipse berfungsi sangat baik untuk bahasa pemrograman Java dan PHP (Eclipse, 2014). 2.2.7
JSON JavaScript Object Notation (JSON) merupakan format pertukaran data yang ringan berbasis JavaScript Programming Language. JSON mudah untuk dibaca dan ditulis oleh manusia karena format yang sederhana (JSON, 2014). Berikut contoh sebagian JSON yang digunakan dalam aplikasi { "from":"CGK", "to":"DPS", "date":"2015-01-16", "ret_date":"2015-01-17", "adult":"1", "child":"0", "infant":"0" }
2.2.8
PHP Hypertext Preprocessor (PHP) merupakan bahasa yang banyak digunakan dalam pengembangan halaman web. PHP mudah dipelajari dan fleksibel untuk menciptakan halaman web yang dinamis dan interaktif (w3schools, 2014). Berikut contoh sederhana PHP dalam HTML:
31 2.2.9
HTML HyperText Markup Language (HTML) merupakan markup language untuk mendefinisikan halaman atau dokumen web. Markup language merupakan bahasa yang dirancang untuk pemberian format pada suatu teks yang biasanya disebut sebagai tags. HTML sudah sangat umum untuk dipakai dalam mengatur tampilan suatu halaman web yang dibuka oleh browser (w3school, 2014). Berikut contoh HTML sederhana:
Page Title My first paragraph.
My second paragraph.
My third paragraph.
My fourth paragraph.
2.2.10
MySQL MySQL pertama kali dikembangkan di Sweden oleh David Axmark, Allan Larsson, dan Michael “Monty” Widenius. MySQL merupakan open source database software paling terkenal di dunia, dengan lebih dari seratus juta salinan yang terdistribusi sampai sekarang. MySQL menjadi pilihan untuk digunakan khususnya dalam
32 web karena kecepatan tinggi, dapat diandalkan, mudah digunakan, dan mudah diadministrasi atau dikelola. Banyak organisasi besar menggunakan MySQL untuk menghemat waktu dan biaya dalam sistem bisnis, aplikasi serta website yang bervolume besar (MySQL, 2014). 2.3
Perbandingan Aplikasi Sejenis Melihat ada beberapa aplikasi sejenis yang ada, maka dipilih empat aplikasi
untuk
dijadikan
pembanding
dengan
aplikasi
yang
akan
dikembangkan. Keunggulan dan kelemahan aplikasi diidentifikasi berdasarkan fitur-fitur yang disediakan dan keterangan penggunaan. Empat aplikasi yang dimaksud adalah sebagai berikut: 1.
Wisata Jogja Wisata Jogja merupakan aplikasi berbasis Android yang menyediakan informasi wisata di kota Yogyakarta mulai dari informasi hotel dan penginapan yang murah, dan jasa transportasi serta informasi tempat wisata di Yogyakarta. Berikut gambar 2.21 tampilan awal aplikasi Wisata Jogja:
Gambar 2.21 Wisata Jogja (Sumber: https://play.google.com/store/apps/details?id=com.wisata.jogja)
2.
Traveloka Traveloka
merupakan
aplikasi
yang
menyediakan
fitur
pemesanan tiket penerbangan serta penyewaan hotel seluruh Indonesia. Aplikasi ini berjalan di platform Android dan iOS. Berikut gambar 2.22 tampilan awal aplikasi Traveloka:
33
Gambar 2.22 Traveloka (Sumber: https://play.google.com/store/apps/details?id=com.traveloka.android)
3.
Schedule Planner Schedule Planner adalah sebuah aplikasi yang membantu pengguna mengatur waktu, jadwal dan ingin memprioritaskan pekerjaan. Schedule Planner dapat membuat agenda berdasarkan jadwal yang telah disusun oleh pengguna. Berikut gambar 2.23 tampilan aplikasi schedule planner:
Gambar 2.23 Schedule Planner (Sumber: http://scheduleplannerapp.com)
4.
Voice Agenda Voice Agenda adalah aplikasi pengingat menggunakan suara yang di rekam menjadi sebuah notification. Waktu aktif notification suara dapat diatur sesuai dengan keinginan pengguna. Berikut gambar 2.24 tampilan aplikasi voice agenda:
34
Gambar 2.24 Voice Agenda (Sumber: http://www.windowsphone.com/en-us/store/app/voiceagenda/4a0580c8-fe83-4167-9e90-c9173db29adf)
Berikut merupakan tabel 2.2 berisi perbandingan antara aplikasi yang dikembangkan dengan aplikasi Wisata Jogja, Traveloka, Schedule Planner, dan Voice Agenda:
Tabel 2.2 Tabel Perbandingan Agenda Trip dengan Empat Aplikasi Sejenis Agenda
Wisata
Schedule
Voice
Trip
Jogja
Planner
Agenda
Pemesanan tiket pesawat
V
X
V
X
X
Pemesanan tiket kereta api
V
X
X
X
X
Penyewaan kamar hotel
V
V
V
X
X
Rental mobil
X
V
X
X
X
Informasi tempat wisata
V
V
X
X
X
Pembuatan agenda
V
X
X
V
V
Perhitungan biaya liburan
V
X
X
X
X
Notification
V
X
X
V
V
Voice Notification
X
X
X
X
V
Chart Schedule
X
X
X
V
X
Platform
Android
Android
iOS dan
iOS dan
Windows
Android
Android
Phone
Ruang lingkup
Indonesia
Yogyakarta
Indonesia
International
International
Inggris
Indonesia
Indonesia
Inggris
Inggris
Bahasa
Traveloka