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
SLTP Budi Istri 2001

  • – 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 Android

  Functionality 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 Android

  Terdapat 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 klasifikasi

  ukuran 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.