Pembangunan Perangkat Lunak Perencanaan Perjalanan pada Platform Android
BIODATA PENULIS
ARDIYAN SUARDI Address : Jl. Wiradisastra No.203/36B, Kel.Burangrang, Kec. Lengkong, Kota. Bandung 40262 Phone : +6285659120777
Email : ardiyansuardi@gmail.com Personal Information th Place & D.O.B : Indramayu, October 24 1989 Marital Status : Single Religion : Moslem Languages Known : Sunda, Indonesian, English Formal Education Indonesia Computer Informatics Engineering 2010
- – present University SMK Medina Bandung Otomotive Engineering 2004
- – 2007
- – 2004 SDN Cibadak 3 Sukabumi 1995
- – 2001
Professional Experiences Present
Freelancer Web Developer
- Freenacer Mobile Android Developer -
November 2007
- – February 2009, PT. Pudak Scientific
- Mechanical Assembly
July 2009
- – January 2010, PT. Telkom Indonesia.Tbk
Direct Sales Executive Telkom Vision
- Projects Experience
DESKTOP APPLICATIONS
Program Pemesanan Tiket Travel C (console) Aplikasi e-learning Metode Secant Using C# Aplikasi Sistem Informasi Penjualan DVD Game Using C# Aplikasi I teraktiv Edu atio Bahasa Isyarat I do esia i i“IBI WEB APPLICATION
Website e-learning Pe erlajara Te ses Bahasa I ggris Let’s Lear Te ses
Geographic Information System (GIS) Hotel – Hotel di Kota Bandung Shop Profile : LadyOnWheels Wheels Boutique E- Commerce Alami Shop Online Untuk PD. Karya Winazar
MOBILE APPLICATION
Goodrides App Favplace App Triplan App
Skills Operating System : Microsoft Windows XP Microsoft Windows 7
Microsoft Windows 8 Apple Mac OS X Integrated Development Environtment : Microsoft Visual Studio Dev C++
Eclipse Android Studio Text Editor : Sublime Text 3 Notepad++
Notepad Adobe DreamWeaver CS5 Programming Language : HTML Java
CSS Javascript PHP C / C++ / C#
Framework : Codeigniter, Yii, Bootstrap, React
PEMBANGUNAN PERANGKAT LUNAK
PERENCANAAN PERJALANAN PADA PLATFORM
ANDROID
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
ARDIYAN SUARDI
10110228
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2016
KATA PENGANTAR
Assalamualaikum Wr. Wb.Dengan memanjatkan puji syukur kehadirat Allah SWT, atas rahmat dan karunia- Nya tugas akhir dengan judul “Pembangunan Perangkat Lunak
Perencanaan Perjalanan Pada Platform Android ” sebagai syarat untuk menyelesaikan program studi Strata I Program Studi Teknik Informatika Fakultas
Teknik dan Ilmu Komputer pada Universitas Komputer Indonesia dapat selesai sebagaimana mestinya. Terima kasih yang sebesar-besarnya kepada: 1.
Tuhan Yang Maha Esa yang telah memberikan kesehatan, ilmu dan kesempatan dalam menyelesaikan tugas kahir ini.
2. Kedua orang tua, kakak dan seluruh keluarga besar tercinta yang selalu memberikan motivasi dan dukungan moril maupun materil yang tak terhingga selama ini.
3. Bapak Richi Dwi Agustia, M.Kom. selaku dosen pembimbing yang telah membimbing dan memberikan pengarahan selama penelitian tugas akhir, sehingga tugas akhir ini dapat terselesaikan dengan sebaik-baiknya.
4. Bapak Ir. Taryana Suryana, M.Kom. selaku dosen penguji yang telah memberikan masukan dan arahan selama perbaikan penelitian tugas akhir ini.
5. Ibu Sufaatin, S.T., M.Kom. selaku dosen penguji yang telah memberi masukan dalam perbaikan penelitian tugas akhir ini.
6. Bapak Iskandar Ikbal, S.T., M.Kom. selaku dosen wali IF-6 angkatan 2010.
7. Muhamad Ghiffary Syahfrizal, Mayga Syam Suhenda, Maju Simon Manurung, Aghnat Fikkri Rakarisa, Asep Muharam, Yusep Rahadian, Angga Maulana, Rian Hidayat dan Reynoldo Abdilah yang telah berjuang bersama-sama dalam tugas akhir ini.
8. Seluruh Dosen dan Staff pengajar program studi Teknik Informatika Universitas Komputer Indonesia.
9. Teman-teman kelas IF-6 angkatan 2010 yang telah bersama-sama melewati masa-masa perkuliahan selama 4 tahun.
10. Semua pihak yang terlibat dan ikut membantu dalam tugas akhir ini baik secara langsung maupun tidak langsung.
11. Dan kepada Rianty Lasmana yang terus memberikan bantuan, dorongan dan semangat yang tiada hentinya sehingga tugas akhir skripsi ini dapat terselesaikan. Sangat disadari bahwa dalam pelaksanaan dan penyusunan laporan tugas akhir skripsi ini masih banyak kekurangan dan jauh dari kesempurnaan. Oleh karena itu saran dan kritik yang membangun sangat diharapkan untuk pengembangan ke arah yang lebih baik.
Bandung, Agustus 2016 Penulis
DAFTAR ISI
1.5.2. Model Pembangunan Perangkat Lunak ............................................ 7
2.3. Android ................................................................................................... 13
2.2.1. Komponen Sistem Informasi .......................................................... 11
2.2. Sistem Informasi ..................................................................................... 11
2.1. Travelling ............................................................................................... 11
BAB 2 LANDASAN TEORI .......................................................................... 11
1.6. Sistematika Penulisan ............................................................................... 8
1.5.1. Alur Penelitian .................................................................................. 4
ABSTRAK ............................................................................................................... i ABSTRACT ............................................................................................................ ii KATA PENGANTAR ........................................................................................... iii DAFTAR ISI ........................................................................................................... v DAFTAR GAMBAR ............................................................................................. ix DAFTAR TABEL ................................................................................................ xiv DAFTAR SIMBOL ............................................................................................ xviii DAFTAR LAMPIRAN ........................................................................................ xxi
1.5. Metodologi Penelitian .............................................................................. 4
1.4. Batasan Masalah ....................................................................................... 3
1.3. Maksud dan Tujuan .................................................................................. 3
1.2. Identifikasi Masalah ................................................................................. 3
1.1. Latar Belakang Masalah ........................................................................... 1
BAB 1 PENDAHULUAN ................................................................................ 1
2.3.1. Android Life Cycle ......................................................................... 13
2.3.2. Fitur ................................................................................................. 15
2.3.3. Prinsip Desain ................................................................................. 16
2.4. Android Studio ....................................................................................... 18
2.5. Android SDK (Software Development Kit) ........................................... 20
2.6. Android Development Tools .................................................................. 21
2.7. Web Services .......................................................................................... 21
2.8. JSON ...................................................................................................... 22
2.9. GPS ......................................................................................................... 23
2.10. Location Based Service ...................................................................... 24
2.7.1. Metode Penentu Lokasi ................................................................... 24
2.7.2. Komponen Location Based Service ................................................ 27
2.11. Latitude (Garis Lintang) ..................................................................... 27
2.12. Longitude (Garis Bujur)...................................................................... 28
2.13. Google Maps ....................................................................................... 28
2.14. Google Maps API ............................................................................... 28
2.15. Google Cloud Messaging.................................................................... 29
2.16. Java ..................................................................................................... 30
2.17. PHP ..................................................................................................... 31
2.18. MySql.................................................................................................. 32
2.19. BPMN (Business Poress Modeling Notation) .................................... 32
2.20. Object Oriented Analysis and Design ................................................. 35
2.13.1. Unified Modelling Languange .................................................... 35
2.21. Object Relational Mapping ................................................................. 41
2.22. Pengujian Blackbox ............................................................................ 41
2.23. Pengujian Kuesioner ........................................................................... 42
BAB 3 ANALISIS DAN PERANCANGAN SISTEM .................................. 47
3.2.1. Perancangan Data .......................................................................... 164
4.1.4. Implementasi Class ....................................................................... 205
4.1.3. Implementasi Antarmuka .............................................................. 205
4.1.2. Implementasi Data ........................................................................ 201
4.1.1. Lingkungan Implementasi ............................................................. 199
4.1. Implemetasi Sistem .............................................................................. 199
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ............................. 199
3.2.5. Jaringan Semantik ......................................................................... 196
3.2.4. Perancangan Pesan ........................................................................ 194
3.2.3. Perancangan Antarmuka ............................................................... 172
3.2.2. Perancangan Arsitektur Menu ....................................................... 170
3.2. Perancangan Sistem .............................................................................. 164
3.1. Analisis Sistem ....................................................................................... 47
3.1.10. Analisis Kebutuhan Fungsional ................................................... 80
3.1.9. Analisis Teknologi .......................................................................... 70
3.1.8. Analisis Data ................................................................................... 68
3.1.7. Analisis Kebutuhan Non Fungsional .............................................. 65
3.1.6. Spesifikasi Kebutuhan Perangkat Lunak ........................................ 64
3.1.5. Analisis Arsitektur Sistem .............................................................. 61
3.1.4. Analisis Aplikasi Sejenis ................................................................ 50
3.1.3. Analisis Aturan Bisnis .................................................................... 48
3.1.2. Analisis Sistem Berjalan ................................................................. 47
3.1.1. Analisis Masalah ............................................................................. 47
4.2. Pengujian Sistem .................................................................................. 206
4.2.1. Rencana Pengujian ........................................................................ 207
4.2.2. Skenario Pengujian........................................................................ 207
4.2.3. Hasil Pengujian ............................................................................. 209
4.2.4. Evaluasi Pengujian ........................................................................ 227
BAB 5 KESIMPULAN DAN SARAN .............................................................. 229
5.1. Kesimpulan ........................................................................................... 229
5.2. Saran ..................................................................................................... 229 DAFTAR PUSTAKA ......................................................................................... 231
DAFTAR PUSTAKA
[1] Indonesia Travel, “Pergerakan Wisnus Meningkat Hingga September 2015,” Kementrian Pariwisata Republik Indonesia, 2 December 2015. [Online].
Available: http://www.indonesia.travel/news/detail/2092/pergerakan- wisnus-meningkat-hingga-september-2015. [Diakses 4 December 2015].
[2] Skyscanner, “Survei Skyscanner, tujuan wisata populer 2014 bagi traveler Indonesia,” 2014. [Online]. Available: http://www.skyscanner.co.id/berita/skyscanner-ungkap-tujuan-wisata- populer-2014-bagi-traveler-indonesia. [Diakses 10 September 2015].
[3]
IDC (International Data Corporation), “Smartphone OS Market Share, Q2 2015,” 2015. [Online]. Available: http://www.idc.com/prodserv/smartphone- os-market-share.jsp. [Diakses 12 September 2015].
[4] H. Gustiayu, The Backpacker’s Notes, Jakarta: Herajeng Gustiayu, 2010. [5]
Indrajani, “Analisis dan Perancangan Sistem Informasi Card Management,” dalam Berbagai Makalah Sistem Informasi dalam KNSI 2009, Yogyakarta, Informatika, 2009, p. 15. [6]
Google Inc., “Introduction to Android,” January 2014. [Online]. Available: http://developer.android.com/guide/index.html. [Diakses 24 October 2015].
[7] R. Schwarz, P. Dustson, J. Stelee dan N. , The Android Develeoper's Cookbook, 2nd ed, New York: Addison Wesley, 2013.
[8] Google Inc., “Design Priciples,” January 2014. [Online]. Available: http://developer.android.com/design/index.html. [Diakses 21 October 2015].
[9] Y. Permana, “Fitur-fitur Terbaru Android Studio 2.0,” CodePolitan, 12 April 2016. [Online]. Available: https://www.codepolitan.com/fitur-fitur-terbaru- android-studio-2-0/. [Diakses 10 Juni 2016].
[10] J. Avestro, Pengembangan Perangkat Mobile, Jakarta: Jardiknas, 2007. [11]
JSON Org., “Pengenalan JSON,” [Online]. Available: http://www.json.org/json-id.html. [Diakses 22 September 2015].
[12] A. Tanoe, Berkenalan Dengan GPS, Jakarta: Pohon Cahaya, 2011. [13] “What is JAVA technology,” JAVA.com, [Online]. Available: https://www.java.com/en/download/faq/whatis_java.xml.
[14] “what is PHP?,” the PHP group, [Online]. Available: http://php.net/manual/en/intro-whatis.php.
[15] “About Mysql,” Oracle Corp, [Online]. Available: http://www.mysql.com/about/.
[16] S. A. White dan D. Miers, BPMN Modeling and Reference Guide: Understanding and Using BPMN, Florida: Future Strategies Inc., 2008.
[17] H. Divayana, Konsep OOAD, Jakarta: Eresha, 2010. [18] J. Hermawan, Analisa Desain & Pemrograman Berorientasi Objek dengan UML dan Visual Basic.NET, Yogyakarta: Andi, 2010.
[19] K. H. d. R. Miles, Learning UML 2.0, United States of America: O'Reilly, 2006.
[20] M. Fowler, UML Distilled Third Edition : A Brief Guide To The Standard Object Modelling Languange, Boston: Addison Wesley, 2003.
[21] D. A. Somantri dan A. S. Muhidin, S.Pd., Aplikasi Statistika Dalam Penelitian, Bandung: Pustaka Setia, 2006.
[22]
I. Sommerville, “Software Engineering,” dalam Eight Edition, Addison Wesley, 2007.
[23] A. M. Bachtiar, “Rekayasa Perangkat Lunak II,” handbook, 2012. [24] F. Martin, UML Distiled Third Edition: A brief Guide To The Standard Object Modeling Language, United State Of america: Addison-Wesley, 2003.
[25] S. M. P. P. H. E. T. Ruseffendi, Dasar-dasar penelitian & Bidang non eksakta lainnya, Bandung: PT Tarsito Bandung, 2005.
BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Pertumbuhan jumlah orang yang melakukan perjalanan dan bepergian ke suatu
tempat saat ini terus bertambah, dikarenakan memang dalam melakukan sebuah perjalanan telah menjadi tren dan kebutuhan masyarakat, menurut Kementrian Pariwisata Republik Indonesia pada bulan Januari sampai bulan September 2015 saja tercatat sebanyak 187,3 juta perjalanan yang dilakukan oleh wisatawan domestik [1], hal ini didorong oleh adanya peningkatan kebutuhan melakukan perjalanan untuk mengimbangi kesibukan dalam bekerja dan meningkatnya jumlah kelas menengah di Indonesia yang bergeser pola konsumsinya dari barang-barang kebutuhan pokok ke gaya hidup [2]. Namun demikian tentunya dalam melakukan perjalanan atau yang bisa disebut traveling tidak lepas dari beberapa masalah, ada beberapa permasalahan yang sering dialami oleh orang-orang yang melakukan perjalanan atau yang bisa desebut juga traveler, berdasarkan survey yang sudah dilakukan, 69 dari 72 responden setuju jika penyesuaian dengan tempat-tempat yang mereka kunjungi seperti bahasa, budaya, cuaca dan bahkan dari segi perbedaan nilai mata uang adalah masalah berat bagi traveler.
Berdasarkan hasil survey tersebut traveler dituntut memiliki perencanaan yang matang sebelum melakukan perjalanan sedangkan membuat itinerary atau perencanaan perjalanan tidaklah mudah bagi mereka. Masalah tersebut akan bertambah rumit jika perjalanan yang dilakukan melibatkan banyak orang atau biasa disebut dengan istilah group travel, kerumitan tersebut terjadi karena traveler dituntut untuk membuat perencanaan yang dapat mengakomodir semua anggota yang ikut dalam perjalanan termasuk perlengkapan, makanan, tempat tinggal dan berbagai hal lainnya. Besaran biaya yang dikeluarkan juga menjadi masalah bagi para traveler, berdasarkan survey yang sudah dilakukan, 43 dari 72 traveler berpendapat bahwa mereka kesulitan atau bahkan tidak tahu bagaimana menghitung dan mencatat berapa biaya yang harus dikeluarkan jika ingin mulai melakukan perjalanan. Hal ini juga berlaku untuk penentuan destinasi wisata yang akan dikunjungi oleh traveler.
Meskipun terdapat beberapa aplikasi yang ditujukan khusus untuk membantu masalah yang dialami traveler contohnya yang paling terkenal seperti Trip Advisor di lingkungan yang berfokus kepada travel booking, selain itu juga ada aplikasi Tripit dilingkungan mobile yang berfokus pada travel planning akan tetapi aplikasi ini hanya menyediakan perencanaan perjalanan saja. Sedangkan pada penelitian ini, lebih berfokus untuk membangun sebuah aplikasi yang dapat membantu para traveler dalam membuat perencanaan perjalanan, dimana mereka dapat saling mengkoordinasi dalam membuat rencana perjalanan secara bersama-sama atau grup, serta dapat menentukan biaya dan tujuan yang tepat dalam membuat rencana perjalanan.
Oleh karena itu, berdasarkan uraian diatas maka akan dibangun sebuah perangkat lunak dengan tujuan dapat membantu permasalahan tersebut. Adapun
environment yang akan dipilih sebagai pilot project perangkat lunak ini adalah
perangkat mobile android dengan pertimbangan survei yang menyatakan bahwa 56 dari 72 traveler lebih banyak menggunakan perangkat mobile smartphone, sedangkan untuk operating system yang akan digunakan adalah android dengan pertimbangan berdasarkan data dari International Data Corporation (IDC) yang menganalisis OS smartphone market share bahwa pada saat ini android memiliki
market share sebesar 82.8% dari seluruh smartphone yang diaktifkan didunia pada
kuartal ke-2 tahun 2016 ini [3]. Sehingga saya mengangkat tema dan judul “PEMBANGUNAN PERANGKAT LUNAK PERENCANAAN PERJALANAN PADA PLATFORM ANDROID ”.
1.2. Identifikasi Masalah
Berdasarkan latar belakang yang sudah dipaparkan di atas dapat di identifikasikan beberapa masalah di antaranya :
1. Traveler merasa kesulitan mengkoordinasi dan membuat perencanaan perjalanan secara grup.
2. Traveler merasa kesulitan dalam mencatat budget pada perencanaan perjalanan.
3. Traveler merasa kesulitan dalam menentukan itinerary dan destinasi wisata yang tepat dalam membuat perencanaan perjalanan.
1.3. Maksud dan Tujuan
Maksud dari penelitian ini adalah membangun perangkat lunak perencanaan perjalanan pada platform android. Adapun tujuan dari penelitian ini adalah sebagai berikut: 1.
Membantu traveler dalam mengkoordinasi dan membuat perencanaan perjalanan secara grup.
2. Membantu traveler dalam mencatat budget pada perencanaan perjalanan.
3. Membantu traveler dalam membuat itinerary dan destinasi wisata yang tepat dalam perencanaan perjalanan.
1.4. Batasan Masalah
Adapun batasan masalah dari penelitian ini adalah : 1. Perangkat Lunak ini dibangun dalam dua subsitem yakni web admin (backend) dan mobile (frontend).
2. Perangkat Lunak ini memiliki sisi web backend sebagai pengolahan data pengguna.
3. Perangkat lunak ini menggunakan JSON (Javascript Object Notation) untuk media pertukaran data dengan server sistem.
4. Pendekatan analisis yang digunakan perangkat lunak ini menggunakan OOAD (Object Oriented Analysis and Design) dengan UML (Unified Modeling Language) 2.0 untuk subsistem android dan subsistem web.
5. Versi sistem operasi yang didukung oleh perangkat lunak ini adalah minimal versi 4.3 Jelly Bean.
6. Perangkat lunak ini menggunakan pendekatan Location Base Service (LBS) untuk menampilkan lokasi.
7. Perangkat lunak ini menggunakan teknologi Google Cloud Messaging untuk push messaging.
8. Sumber data lokasi akan menggunakan data dari Google Place API.
9. Objek penelitian untuk pengumpulan data kuesioner dilakukan pada traveler dari komunitas Backpacker Indonesia Reg. Bandung.
10. Sistem tidak menyediakan konten transportasi publik.
1.5. Metodologi Penelitian
Metodologi penelitian yang digunakan adalah dengan menggunakan metode deskriptif yaitu suatu metode penelitian yang dilakukan dengan tujuan utama untuk membuat gambaran atau deskripsi tentang suatu keadaan secara objektif. Langkah – langkah yang dilakukan yaitu dengan teknik pengumpulan data dan model pembangunan perangkat lunak yang akan dipaparkan sebagai berikut : 1.5.1.
Alur Penelitian
Adapun diagram alir dari metodelogi penelitian terdapat pada ah ini :
Gambar 1.1 Diagram Alur Penelitian 1.5.1.1.Pengumpulan Data
Berikut adalah teknik pengumpulan data dalam penelitian ini : 1. Studi Literatur
Pengumpulan data dilakukan adalah dengan cara mempelajari, meneliti, dan menelaah berbagai literatur dari perpustakaan yang bersumber dari buku buku, jurnal, situs internet, dan bacaan lainnya yang berkaitan dengan teknologi yang dipakai di dalam penelitian yang dilakukan.
2. Kuesioner
Kuesioner dilakukan dengan memberikan beberapa pertanyaan kepada calon responden yang merupakan traveler dari komunitas Backpaker Indonesia Reg. Bandung.
1.5.1.2. Analisis Sistem
Hal yang dilakukan dalam analisis sistem disini adalah mengumpulkan dan mempelajari masalah-masalah yang timbul, mendiagnosa permasalahan dan mengidentifikasikan pemecahan permasalahan tersebut untuk menentukan kebutuhan pengguna sistem.
1.5.1.3. Perancangan
Pada tahap perancangan dalam pembangunan perangkat lunak ini adalah dengan membuat perancangan data, perancangan arsitektural menu, perancangan antarmuka dan perancangan pesan.
1.5.1.4. Implementasi
Dalam tahap implementasi disini adalah dengan membuat dua buah subsistem yakni subsistem android dan subsistem web admin dimana untuk subsistem android diimplementasikan dengan bahasa pemrograman java mobile dan xml sedangkan subsistem web diimplementasikan dengan bahasa pemrograman php, html, css, dan javascript yang kemudian dihosting agar dapat diakses lebih fleksible, kemudian dibuatkan pula webservice agar data dalam website dapat diakses pula oleh perangkat android. Untuk pertukaran data menggunakan format JSON.
1.5.1.5. Pengujian
Pengujian pada penelitian ini terdiri dari dua tahap yakni pengujian alpha dan pengujian beta. Metode yang digunakan dalam pengujian sistem ini adalah dengan menggunakan metode pengujian black box dimana pengujian ini berfokus pada persyaratan fungsional perangkat lunak.
1.5.1.6. Kesimpulan & Saran
Hal yang dilakukan pada tahap ini adalah penarikan kesimpulan-kesimpulan dari tahap-tahap alur penelitian sebelumnya, dan terdapat pula saran yang diberikan agar dapat digunakan dimasa mendatang untuk perbaikan perangkat lunak menjadi lebih baik.
1.5.2. Model Pembangunan Perangkat Lunak
Dalam pembuatan aplikasi ini menggunakan waterfall model sebagai tahapan pengembangan perangkat lunaknya. Adapun proses tersebut adalah sebagai berikut:
1. Requirement analysis and definition
Tahap requirement analysis and definition yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan melakukan pengumpulan data dengan cara studi literatur dan melalui kuesioner kepada beberapa orang. Dari hasil tersebut didapatkan masalah yang kemudian dicarikan solusinya dengan melakukan pendekatan secara terstruktur dan secara objek.
2. System and software design
Tahap system and software design yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan membuat perancangan data, perancangan arsitektural menu, perancangan antarmuka, perancangan pesan, jaringan semantik dan perancangan method.
3. Implementation and unit testing
Tahap implementation and unit testing yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan membuat dua buah subsistem yakni subsistem android dan subsistem web admin dimana untuk subsistem android di implementasikan dengan bahasa pemrograman java mobile dan xml sedangkan subsistem web diimplementasikan dengan bahasa pemrograman php, html, css, dan javascript yang kemudian dihosting agar dapat diakses lebih fleksible, kemudian dibuatkan pula webservice agar data dalam website dapat diakses pula oleh perangkat android. Untuk pertukaran data menggunakan format JSON.
4. Integration and system testing
Tahap integration and system testing yang dilakukan dalam pembangunan perangkat lunak ini adalah mengintegrasikan data yang ada dalam database untuk dapat dikelola dalam web admin, kemudian dapat dipertukarkan melalui webservice sehingga dapat diakses oleh perangkat mobile android.
5. Operation and maintenance
Tahap operation and maintenance yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan melakukan pemantauan secara berkala mengenai penggunaan perangkat lunak sehingga ke depannya jika ada perubahan dapat dilakukan update untuk optimalisasi pengoperasian. Dari berbagai tahapan-tahapan tersebut, untuk lebih jelasnya bisa dilihat pada
Gambar 1.2. Waterfall Model 1.6.Sistematika Penulisan
Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran umum mengenai penelitian yang dikerjakan. Sistematika penulisan dalam tugas akhir ini adalah sebagai berikut :
BAB 1 PENDAHULUAN Bab ini menerangkan secara umum latar belakang masalah, rumusan
masalah, maksud dan tujuan penelitian, batasan masalah, metodologi penelitian serta sistematika penulisan.
BAB 2 LANDASAN TEORI Bab ini membahas tentang perusahaan dan teori-teori yang berhubungan dengan topik skripsi yang dibangun.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM Bab ini berisi tentang analisis sistem yang terdiri dari analisis masalah,
analisis prosedur sistem yang berjalan, analisis arsitektur sistem, spesifikasi kebutuhan non fungsional, analisis kebutuhan non fungsional, analisis data dan analisis kebutuhan fungsional. Perancangan sistem terdiri dari perancangan basis data, perancangan antarmuka dan perancangan method.
BAB 4 IMPLEMENTASI DAN PENGUJIAN Bab ini berisi tentang implementasi hasil dari analisis dan perancangan
sistem, perancangan sistem ke dalam bentuk bahasa pemrograman, kebutuhan perangkat keras dan perangkat lunak yang diperlukan dalam membangun sistem serta pengujiannya. Pengujian yang dilakukan yaitu dengan melakukan pengujian black box.
BAB 5 KESIMPULAN DAN SARAN Pada bab ini akan berisikan kesimpulan-kesimpulan dari penelitian, dan
terdapat pula saran yang diberikan agar dapat digunakan di masa mendatang untuk perbaikan perangkat lunak menjadi lebih baik.
BAB 2 LANDASAN TEORI 2.1. Travelling Traveling dalam bahasa Indonesia adalah aktivitas melancong; berpindah
dalam satu tempat ketempat lainnya dengan berbagai alasan, seperti bisnis, liburan, dan sebagainya. Tetapi menurut Herajeng Gustiayu dalam bukunya yang berjudul The Backpacker’s Notes, traveling adalah lebih kepada bagaimana beradaptasi dengan lingkungan baru. Didalam buku tersebut juga dibahas 3 hal dasar yang penting dari membuat perencanaan traveling dan menentukan biaya yang tepat diantaranya adalah transportasi, akomodasi dan makanan [4].
2.2. Sistem Informasi
Sistem adalah kumpulan elemen-elemen yang saling bekerja sama dan berinteraksi untuk memproses masukan kemudian saling berhubungan, berkumpul bersama-sama untuk mencapai suatu sasaran tertentu. Sedangkan informasi adalah data yang telah diproses kemudian diolah menjadi bentuk yang lebih berguna, digunakan untuk mengambil keputusan. Jadi dapat disimpulkan bahwa sistem informasi adalah suatu alat yang membantu dalam menyediakan informasi bagi penerimanya dan untuk membantu dalam pengambilan keputusan [5].
2.2.1. Komponen Sistem Informasi
Sistem informasi dapat digambarkan sebagai sistem yang terdiri dari berbagai komponen. Komponen ini saling berinteraksi satu dengan yang lain membentuk suatu kesatuan untuk mencapai sasaran [5]:
1. Komponen Masukan Mewakili sejumlah data yang masuk ke dalam sistem informasi. Input tersebut termasuk metode-metode dan media untuk memperoleh data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar.
2. Komponen Proses Terdiri dari kombinasi prosedur, logika, dan model matematika yang akan memanipulasi data input dan data yang tersimpan di database dengan cara tertentu untuk menghasilkan keluaran (output) yang diinginkan.
3. Komponen Keluaran Produk dari sistem informasi adalah keluaran yang merupakan informasi dan dokumentasi yang dapat digunakan untuk semua tingkatan manajemen dan semua pemakai sistem.
4. Komponen Teknologi Teknologi merupakan tool-box dalam sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran dan membantu pengendalian dari sistem secara keseluruhan.
5. Komponen Hardware
Hardware berperan penting sebagai suatu peralatan vital bagi sistem informasi yang digunakan untuk menyimpan dan mengolah informasi .
6. Komponen Software
Software berfungsi sebagai kumpulan perintah komputerisasi yang berguna
untuk mengolah, menghitung dan memanipulasi data yang diambil dari hardware untuk menciptakan suatu informasi.
7. Komponen Basis data Database merupakan kumpulan dari data yang saling berhubungan satu sama lainnya, tersimpan pada perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Pengelolaan database umumnya dikenal dengan nama DBMS (Database Management System).
8. Komponen Kendali Bagian pengendalian dirancang dan diterapkan untuk memelihara sistem dari hal-hal yang dapat merusaknya, seperti faktor-faktor alamiah temperatur, air, api, debu, virus, sabotase/hijacking, dan sebagainya.
2.3. Android
Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti telepon pintar dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Ponsel Android pertama mulai dijual pada bulan Oktober 2008 [6].
2.3.1. Android Life Cycle
Aplikasi android terdiri dari beberapa fungsi dasar seperti mengedit catatan, memutar file musik, membunyikan alarm, atau membuka kontak telepon. Fungsi- fungsi tersebut dapat diklasifikasikan ke dalam empat komponen android yang berbeda seperti ditunjukkan padaklasifikasi tersebut berdasarkan kelas-kelas dasar java yang digunakan [7].
Tabel 2.1 Komponen Aplikasi AndroidFunctionality Java Base Class Examples Focused thing a user can do Activity Edit a note, play a game Background process Service Play music, update weather icon Receive messages BroadcastReceiver Trigger alarm upon event Store and retrieve data ContentProvider Open a phone contact Setiap aplikasi pasti menggunakan minimal satu dari komponen tersebut, akan tetapi terdapat beberapa komponen yang mengharuskan mencantumkan
specified permission sebelum digunakan seperti komponen Service, Broadcast
Receiver dan Content Provider [7].Android memiliki paradigma pemrograman lain tidak seperti paradigma pemrograman biasa di mana aplikasi yang dijalankan pada fungsi main(), sistem android menjalankan kode dalam method Activity dengan menerapkan metode callback tertentu yang sesuai dengan tahap tertentu dari siklus hidup. Setiap aplikasi yang berjalan dalam sistem operasi android memiliki siklus hidup yang berbeda dengan aplikasi desktop atau web, Hal ini dikarenakan aplikasi mobile memiliki tingkat interupsi proses yang lumayan tinggi seperti ketika handling panggilan masuk aplikasi diharuskan menghentikan proses sementara, Penerapan siklus hidup juga berguna untuk memastikan aplikasi tidak menghabiskan sumber daya baterai pengguna [6].
Gambar 2.1 Siklus Hidup AndroidTerdapat beberapa state dalam siklus hidup android yang terjadi seperti diilustrasikan padaakan tetapi hanya beberapa dari state tersebut yang menjadi statis diantaranya: 1.
Resumed Resumed terjadi ketika aplikasi berjalan setelah state paused . State ini akan menjalankan perintah program yang ditulis pada method onResume() [6].
2. Paused
Dalam keadaan ini aktivitas yang terjadi dihentikan secara sementara tetapi masih terlihat oleh pengguna karena terdapat proses yang memiliki prioritas lebih tinggi seperti panggilan telepon. Aplikasi tidak dapat menjalankan perintah apapun ataupun menampilkan apapun dalam state ini [6].
3. Stopped
Dalam keadaan ini, aplikasi benar-benar tidak ditampilkan dan tidak terlihat oleh pengguna tetapi masih meninggalkan service di background [6].
State lain seperti Created dan Started bersifat sementara dan sistem dengan cepat menjalankan state berikutnya dengan memanggil metode life cycle callback berikutnya. Artinya, setelah sistem OnCreate() dipanggil, dengan cepat sistem akan memanggil method OnStart(), kemudian diikuti oleh onResume() [7].
2.3.2. Fitur
Android memiliki beberapa fitur utama yang sering digunakan dalam proses pembangunan aplikasi diantaranya adalah:
1. Multi-proses dan App Widgets
Sistem operasi android tidak melarang prosesor menjalankan lebih dari satu aplikasi dalam satu waktu. Sistem operasi android dapat mengatur aplikasi dan thread yang berjalan secara multitasking. Keuntungan yang didapat adalah ketika aplikasi berjalan dan berinteraksi dengan pengguna di layer depan sistem operasi, proses dari aplikasi lain dapat berjalan untuk melakukan pembaruan informasi. Sebagai contoh misalnya ketika pengguna memainkan game, proses lain dapat berjalan di belakang aplikasi seperti memeriksa harga saham dan memunculkan peringatan [6].
App Widgets adalah mini aplikasi yang dapat embedded dalam aplikasi seperti home screen. App widgets dapat menjalankan proses request seperti musik streaming atau mendeteksi suhu ruangan secara background [6].
Multi-proses dapat memberikan manfaat berupa user experience yang lebih banyak, namun penggunaan fitur tersebut dapat menghabiskan banyak energi baterai jika penggunaan tidak benar [7].
2. Touch Gestures dan Multi-touch
Touchscreen adalah user interface intuitif yang digunakan banyak smartphone
di dunia. Dengan fitur ini interaksi dapat dibuat lebih mudah karena cukup dengan menggunakan jari tangan. Multi-touch adalah kemampuan yang dapat melakukan tracking lebih dari satu tangan dalam satu waktu, Fitur ini sering digunakan untuk interaksi memperbesar atau memutar objek. Selain itu pengembang dapat membuat interaksi baru dengan memanfaatkan fitur tersebut [7].
3. Hard dan Soft Keyboard Salah satu fitur pada perangkat smartphone adalah tombol fisik dan non fisik, tombol fisik digunakan untuk navigasi pendukung dalam pengoperasian android..
Pengembang aplikasi tidak perlu secara manual untuk mengintegrasikan tombol tersebut dalam aplikasi. Tombol non fisik adalah tombol yang dibuat oleh sistem operasi seperti keyboard virtual, dan tombol navigasi aplikasi [7].
2.3.3. Prinsip Desain
Android memiliki beberapa prinsip desain yang dapat menjadi acuan dalam membuat desain aplikasi android diantaranya adalah :
1. Multiple Assets
Android mendukung jutaan smartphone, tablet dan perangkat lain dalam berbagai ukuran layar dan ukuran, untuk itu Multiple Assets sangat disarankan digunakan untuk mengatasi fragmentasi pada android. Seperti ilustrasi pada
Gambar 2.2 Klasifikasi Ukuran Ikon, android menciptakan beberapa klasifikasiukuran icon yaitu MDPI, HDPI, XHDPI, XXHDPI dan XXXHDPI. MDPI dan HDPI dikhususkan untuk icon yang akan digunakan pada device berukuran smartphone sedangkan untuk XHDPI, XXHDPI dan XXXHDPI digunakan pada device berukuran tablet [8].
Gambar 2.2 Klasifikasi Ukuran Ikon 2.Touch Feedback Touch Feedback dalam android digunakan sebagai respon setiap objek yang
ditekan pengguna. Hal ini bertujuan untuk memberi tahu pengguna objek mana yang berinteraksi dengan pengguna [7].
Gambar 2.3 Touch Feedback 3.Pattern Gesture Touch gesture berguna untuk meningkatkan experience pengguna dalam
menggunakan aplikasi. Terdapat beberapa gesture yang didukung oleh android diataranya adalah [7]:
a.
Touch Touch adalah gesture default sebagai event untuk item tertentu yang paling
sering digunakan dalam perangkat android, hampir seluruh kontrol utama aplikasi ini menggunakan touch.
b.
Long Press
Biasanya digunakan untuk seleksi data , dengan gesture ini dimungkinkan untuk memilih satu atau lebih item dalam sebuah tampilan dan menjalankan suatu fungsionalitas tertentu [6].
c.
Swipe Or Drag
Swipe adalah menyentuh sebuah titik pada layar dan menggerakkan jari yang tetap tersentuh pada layar ke titik lain pada layar. Swipe biasanya dilakukan untuk kebutuhan berpindah layar atau tergantung dari aplikasi. Swipe dapat dilakukan dari dan ke arah mana saja [6].
d.
Double Touch
Pada Smartphone dan tablet android, melakukan dua kali tapping secara berturut-turut pada satu obyek, fungsinya berbeda dengan double klik mouse komputer. Pada android, teknik ini biasanya dipakai untuk melakukan zoom in dan zoom out atau memperbesar / memperkecil sebuah obyek gambar [6].
e.
Pinch Open
Teknik lain yang biasa digunakan adalah dengan menggunakan dua jari, di mana kedua jari tersebut menyentuh dua titik pada layar yang terpisah di mana ujung dari dua jari tersebut tidak bersentuhan, kemudian kedua jari tersebut sambil tetap menyentuh layar bergerak saling mendekati. Teknik ini digunakan untuk membuka aplikasi tertentu [6].
f.
Pinch Close
Teknik Pinch Close adalah kebalikan dari Pinch Open di mana spread dilakukan dengan berawal dari dua jari yang bersentuhan pada ujungnya dan ditempelkan sebuah titik yang sama pada layar, kemudian kedua jari tersebut bergerak memisahkan atau menjauhi satu sama lain Gerakan ini untuk menutup layar [6].
2.4. Android Studio
Android Studio merupakan IDE yang digunakan para developer Android di seluruh dunia untuk mengembangkan aplikasi Android dengan mengusung kualitas oleh Google [9]. Android Studio memiliki beberapa fitur unggulan yang dapat memudahkan developer Android, diantaranya :
1. Instant Run, untuk setiap developer yang menyukai proses build yang cepat, developer Android bisa melakukan build ulang untuk setiap perubahan yang telah dibuat dengan cepat, layaknya rendering html pada web browser. Dengan akselerasi swapping VM ke swapping aplikasi, fitur Instan Run dapat mengoptimalkan waktu pengembangan aplikasi Android.
2. Android Emulator, emulator Android dapat berjalan 3x lebih cepat dibanding emulator Android sebelumnya. Peningkatan ini tidak terlepas dari peningkatan ADB yang sekarang dapat mentransfer aplikasi dan datanya 10x lebih cepat ke emulator dibanding kompilasi langsung ke device (Smartphone). Layaknya Smartphone, emulator Android juga tersedia Google Play Service sehingga developer Android dapat menguji fungsionalitas API secara langsung.
3. Cloud Test Lab Integration, tulis sekali dan jalankan dimana saja. Selain emulator Android, developer Android bisa meningkatkan pengembangan aplikasi dimana saja dengan menggunakan Cloud Test Lab yang terdiri dari berbagai device Android.