BAB II LANDASAN TEORI 1.1 Pemesanan Pemesanan adalah proses, perbuatan, cara memesan atau memesankan. Suatu aktifitas yang dilakukan oleh konsumen sebelum membeli. Kemajuan teknologi sekarang ini memungkinkan pemesanan tidak hanya dapat dilakukan jika konsumen dan penjual bertatap langsung, tetapi dapat dilakukan dari jarak jauh sekalipun, misalnya dengan menggunakan E-commerce, yaitu sistem pemesanan barang lewat internet. Untuk mewujudkan kepuasan konsumen maka perusahaan harus mempunyai sebuah sistem pemesanan yang baik. (Rikky Wisnu Nugraha, Asep Syarip Budiman : 2014). Pemesanan dalam bahasa Inggris adalah Reservation yang berasal dari kata “to reserve” yaitu menyediakan atau mempersiapkan tempat sebelumnya. Sedangkan reservation yaitu pemesanan suatu tempat fasilitas. (Christanto, 2012) Pengertian reservasi adalah sebuah proses perjanjian berupa pemesanan sebuah produk baik barang maupun jasa dimana pada saat itu telah terdapat kesepahaman antara konsumen dengan produsen mengenai produk tersebut namun belum ditutup oleh sebuah transaksi jual beli. Pada saat reservasi berlangsung biasanya ditandai dengan adanya proses tukar-menukar informasi antara konsumen dan produsen agar kesepahaman mengenai produk dapat terwujud (Christanto, 2012). Alasan reservasi menjadi sebuah media yang sangat efektif baik bagi produsen maupun bagi konsumen adalah produsen akan dapat melakukan evaluasi terhadap produk yang akan mereka jual melalui tingkat tinggi rendahnya jumlah reservasi jauh sebelum produk tersebut dijual (barang) ataupun diselenggarakan (jasa), dimana hasil evaluasi tersebut akan membantu produsen untuk menentukan langkah pemasaran yang akan diambil terhadap produk yang akan dijual tersebut (Christanto, 2012). 7 8 Sedangkan bagi konsumen melalui media reservasi dapat menimbang terlebih dahulu sebelum membeli produk sampai dengan waktu yang telah ditentukan (time limit). Sampai dengan time limit yang telah ditentukan produk yang telah dipesan tersebut tidak boleh dijual kepada konsumen lain, karena secara tertulis maupun tidak sampai dengan time limit produk tersebut telah dipriotaskan kepada konsumen yang telah melakukan reservasi. Hal ini akan sangat menguntungkan konsumen karena sampai dengan time limit yang ditentukan, konsumen dapat melakukan perbandingan dengan produk lain. Selain itu, jika terjadi sesuatu dan lain hal yang mengharuskan konsumen untuk batal membeli produk tersebut, konsumen yangbersangkutan tidak harus membeli produk tersebut (Christanto, 2012). Layaknya perjanjian lainnya, reservasi akan dinyatakan batal apabila terjadi beberapa hal berikut : 1. Terjadi sesuatu di luar kendali manusia (bencana alam, perang, dll) sehingga produk tidak dapat dibuat atau diselenggarakan oleh produsen, 2. Konsumen melakukan pembatalan sebelum batas waktu, 3. Terdapat kesalahan pengisian data penting mengenai konsumen pada saat proses reservasi sehingga produsen harus membatalkan reservasi (catatan: tergantung kebijakan masing-masing perusahaan), 4. Tidak dilakukan transaksi terhadap produk yang dipesan sampai dengan time limit yang telah ditentukan, 5. Baik produsen maupun konsumen melakukan hal-hal yang menyebabkan reservasi harus dibatalkan, tergantung perjanjian yang dibuat/ditentukan (Christanto, 2012). 1.1.1 Pemasaran Menurut Dewi Diniaty dan Agusrinal (2014) mengutip dari Kotler (2008) mendefinisikan pemasaran sebagai suatu rangkaian tujuan dan sasaran, kebijakan dan aturan yang menjadi arah kepada usaha-usaha pemasaran perusahaan dalam menghadapi lingkungan dan keadaan pesaing yang selalu berbeda. Pemasaran merupakan suatu proses sosial manajerial yang di dalamnya individu dan kelompok mendapatkan apa yang mereka butuhkan dan inginkan dengan 9 menciptakan, menawarkan dan mempertukarkan produk yang bernilai dengan pihak lain. Konsep ini yang mendasari definisi pemasaran diantaranya: kebutuhan (needs), keinginan (want) dan permintaan (demands). 1.1.2 Bauran Pemasaran Jasa (Marketing Mix) Salah satu strategi yang berhubungan dengan kegiatan pemasaran perusahaan adalah marketing mix strategy yang didefinisikan oleh Kotler dan Armstrong (1997) dikutip oleh Dewi Diniaty dan Agusrinal (2014) yang menyatakan bahwa marketing mix as the set of controllable marketing variables that the firm bleads to produce the response it wants in the target market. Dari definisi diatas dapat diartikan bahwa bauran pemasaran merupakan variabel-variabel terkendali yang digabungkan untuk menghasilkan tanggapan yang diharapkan dari pasar sasaran. Dan untuk usaha jasa terdapat 7 unsur marketing mix (Marketing Mix 7P) yaitu: Produk, Price, Promotion, Place, Partisipant, Proses, Dan Physical Evidence. a. Product (produk) Produk merupakan elemen penting dalam sebuah program pemasaran. Strategi produk dapat mempengaruhi strategi pemasaran lainnya. b. Price (Harga) Menurut Monroe, (2005) dikutip oleh Dewi Daniaty dan Agusrinal (2014) menyatakan bahwa harga merupakan pengorbanan ekonomis yang dilakukan pelanggan untuk memperoleh produk atau jasa. c. Promotion (promosi) Promosi adalah kegiatan mengkomunikasikan informasi dari penjual kepada konsumen atau pihak lain dalam saluran penjualan untuk mempengaruhi sikap dan perilaku. d. Place (Saluran Distribusi) Kotler (2000: 96), dikutip oleh Dewi Daniaty, Agusrinal (2014) menyatakan bahwa “Saluran distribusi terdiri dari seperangkat lembaga yang melakukan 10 segala kegiatan (Fungsi) yang digunakan untuk menyalurkan produk dan status pemiliknya dari produsen ke konsumen”. e. People (Partisipan) Yang dimaksud partisipan disini adalah karyawan penyedia jasa layanan maupun penjualan, atau orang-orang yang terlibat secara langsung maupun tidak langsung dalam proses layanan itu sendiri, diantaranya adalah para reception, dokter, dan beauty therapis. f. Process (Proses) Proses adalah kegiatan yang menunjukkan bagaimana pelayanan diberikan kepada konsumen selama melakukan pembelian barang. g. Physical evidence (Lingkungan fisik) Lingkungan fisik adalah keadaan atau kondisi yang di dalamnya juga termasuk suasana yang merupakan tempat terjadinya Penjualan dan pelayanan pelanggan. 1.2 Android (Alan Dennis, 2012) Android is an open-source software stack that includes the operating system, middleware, and key mobile applications, along with a set of API libraries for writing applications that can shape the look, feel, and function of the devices on which they run. Android adalah sebuah sistem operasi dengan sumber terbuka untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat piranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, 11 konsorsium dari 34 perusahaan piranti keras, piranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Secara garis besar, arsitektur Android dapat dijelaskan dan digambarkan sebagai berikut : Applications dan Widget Applications dan Widget ini adalah layer dimana berhubungan dengan aplikasi saja, dimana biasanya download aplikasi dijalankan kemudian dilakukan instalasi dan jalankan aplikasi tersebut. Applications Frameworks Applications Frameworks ini adalah layer dimana para pembuat aplikasi melakukan pengembangan / pembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti contect providers yang berupa sms dan panggilan telepon. Libraries Libraries ini adalah layer di manatur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan diatas kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL. Android Run Time Layer Android Run Time Layer yang membuat aplikasi Android dapat dijalankan dimana dalam prosesnya menggunakan Implementasi Linux. Linux Kernel Linux Kernel adalah layer dimana inti dari operating system dari Android itu berada. Berisi system yang mengatur sistem processing, memory, resource, drivers, dan sistem sistem operasi android lainnya. Linux kernel yang digunakan android adalah linux kernel release 2.6. 12 1.3 UML (Unified Modelling Language) Rancang bangun Aplikasi Pemesanan Perjalanan Paket Wisata pada PT. Vakansi Mandala Nusantara Berbasis Android yakni menggunakan pemodelan berorientasi objek diantaranya UML (Unified Modeling Language). Menurut Alan Dennis (2012), UML is a standard set of diagramming techniques that provide a graphical representation rich enough to model any systems development project, from analysis through implementation. Jadi, UML merupakan suatu set standar teknik yang menyediakan representasi grafis yang cukup kaya untuk model setiap proyek pengembangan sistem, dari analisis melalui implementasi diagram. UML diaplikasikan untuk maksud tertentu, biasanya antara lain : 1. Merancang perangkat lunak. 2. Sarana komunikasi antara perangkat lunak dengan proses bisnis. 3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang diperlukan sistem. 4. Mendokumentasikan sistem yang ada, proses-proses dan organisasinya. Dalam rancang bangun ini menggunakan 4 artifak yang digunakan untuk proses analisis dan desain. 1.3.1 Use Case Diagram Menurut Alan Dennis (2012), A use case is a formal way of representing the way a business system interacts with its environment. It illustrates the activities performed by the users of the system. Usecase modeling is often thought of as an external or functional view of a business process in that it shows how the users view the process rather than the internal mechanisms by which the process and supporting systems operate. 13 Use case diagram digunakan untuk memodelkan semua bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi. Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case. Berikut adalah tabel dari simbol-simbol yang dipakai dalam uses case dan fungsinya : Tabel 2.1 Simbol-simbol Use Case Diagram dan Fungsinya (Alan Dennis, 2012) No. 1. Istilah dan Definisi Gambar Aktor Menspesifikasikan himpunan peran yang pengguna mainkan ketika berinteraksi dengan user. 2. Use Case Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu actor. 3. Subject Menspesifikasikan paket yang merupakan batasan sistem. 4. Association Menghubungkan antara objek satu dengan objek lainnya. 14 Lanjutan dari Tabel 2.1. ditambahkan memerlukan use case ini untuk menjalankan fungsinya. 6. Extend Menspesifikasikan bahwa use case target memperluas perilaku dari use case sumber pada suatu titik yang diberikan. 7. Generalization Hubungan dimana objek anak berbagi perilaku dan struktur data dari objek yang ada diatas. Berikut ini contoh Use Case Diagram pada Pasien di Rumah Sakit : Gambar 2.1 Contoh Use Case Diagram (Alan Dennis, 2012) 15 1.3.2 Activity Diagram atau Diagram Aktivitas Activity Diagram adalah satu cara untuk memodelkan aliran kerja (workflow) dari bussines use case dalam bentuk grafik. Diagram ini menunjukkan langkah-langkah dalam aliran kerja, titik-titik keputusan dalam aliran kerja, siapa yang bertanggung jawab menyelesaikan masing-masing aktivitas dan objek-objek yang digunakan dalam aliran kerja. Activity Diagram memiliki fungsi untuk : 1. Menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses. 2. Dipakai pada bussines modeling untuk memperlihatkan urutan aktifitas proses bisnis. 3. Struktur diagram ini mirip flowchart atau Data Flow Diagram pada perancangan terstruktur. 4. Sangat bermanfaat apabila kita membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan. 5. Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram. Tabel 2.2 Simbol-simbol Activity Diagram dan Fungsinya (Alan Dennis, 2012) No. 1. Gambar Nama Node Awal Fungsi Bagaimana objek dibentuk atau diawali. 2. Node Akhir Bagaimana objek dibentuk dan diakhiri. 3. Activity Memperlihatkan bagaimana masing- masing kelas antarmuka saling berinteraksi satu sama lain. 16 Lanjutan dari Tabel 2.2. 4. Keputusan Digunakan untuk menggambarkan suatu keputusan / tindakan yang harus diambil pada kondisi tertentu. 5. Percabangan Digunakan dalam percabangan menjadi 2 aktivitas. 6. Penggabungan Digunakan penggabungan dalam dari 2 aktivitas. 7. Generalisasi Relasi antar kelas dalam activity diagram 17 Berikut ini adalah contoh activity diagram : Gambar 2.2 Contoh Activity Diagram (Alan Dennis, 2012) 1.3.3 Class Diagram Menurut Alan Dennis (2012), A class diagram is a static model that shows the classes and the relationships among classes that remain constant in the system over time. The class diagram depicts classes, which include both behaviors and states, with the relationships between the classes. The following sections present the elements of the class diagram, different approaches that can be used to simplify a class diagram, and an alternative structure diagram: the object diagram. Jadi, Class diagram digunakan untuk menampilkan kelas-kelas dan paketpaket di dalam system. Class diagram memberikan gambaran system secara statis 18 dan relasi antar mereka. Biasanya, dibua beberapa class diagram untuk system tunggal. Beberapa diagram akan menampilkan subset dari kelas-kelas dan relasinya. Dapat dibuat beberapa diagram sesuai dengan yang diinginkan untuk mendapatkan gambaran lengkap terhadap system yang dibangun. Class diagram adalah alat perancangan terbaik untuk tim pengembang. Diagram tersebut membantu pengembang mendapatkan struktur system sebelum kode ditulis, dan membantu untuk memastikan bahwa system adalah desain terbaik. Kelas adalah sesuatu yang membungkus informasi dan perilaku. Secara tradisional, system dibangun dengan ide dasar bahwa akan menyimpan informasi pada sisi baris data dan data perilaku pengolahnya pada sisi aplikasi. Salah satu perbedaan terstruktur dengan pendekatan berorientasi objek adalah pada berorientasi objek menggabungkan informasi dan perilaku pengolah informasi dan menyembunyikan semua kedalam sesuatu yang disebut kelas. Tabel 2.3 Simbol-simbol Class Diagram dan Fungsinya (Alan Dennis, 2012) Nama Keterangan Simbol Komponen Class Sebuah class sebagai sebuah digambarkan kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property/atribut class. Bagian akhir mendefinisikan method-method 19 Lanjutan dari Tabel 2.3. Association sebuah relationship umum antara 2 paling class dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini melambangkan bisa tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship. (Contoh: One-toone, one-to-many, many-to- many) Composition Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat bergantung relationship digambarkan tersebut. dia Sebuah composition sebagai garis dengan ujung berbentuk jajaran 20 Lanjutan dari Tabel 2.3. Dependency Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. dependency Sebuah dilambangkan sebagai sebuah panah bertitiktitik. Aggregation mengindikasikan bagian keseluruhan relationship dan biasanya disebut sebagai relasi. 21 Berikut ini contoh class diagram : Gambar 2.3 Contoh Class Diagram (Alan Dennis, 2012) 1.3.4 Sequence Diagram Menurut Alan Dennis (2012), Sequence diagrams are one of two types of interaction diagrams. They illustrate the objects that participate in a use case and the messages that pass between them over time for one usecase. A sequence diagram is a dynamic model that shows the explicit sequence of messages that are passed between objects in a defined interaction. Diagram ini menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. Obyek-obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram. 22 Pada diagram ini, dimensi vertikal merepresentasikan waktu. Bagian paling atas dari diagram menjadi titik awal dan waktu berjalan ke bawah sampai dengan bagian dasar dari diagram. Garis Vertical, disebutlifeline, dilekatkan pada setiap obyek atau aktor. Kemudian lifeline tersebut digambarkan menjadi kotak ketika obyek melakukan suatu operasi , kotak tersebut disebut activation. Obyek dikatakan mempunyai live activation pada saat tersebut Pesan yang dipertukarkan antar obyek digambarkan sebagai sebuah anak panah antara activation box pengirim dan penerima. Kemudian diatasnya diberikan label pesan. Tabel 2.4 Simbol-simbol Sequence Diagram dan Fungsinya No. 1. Istilah dan Definisi Gambar Aktor atau sistem yang berasal dari eksternal ke sistem. Berpartisipasi dalam urutan dengan mengirim dan / atau menerima pesan. Ditempatkan di bagian atas diagram. Digambarkan baik sebagai tongkat (default) atau, jika seorang aktor bukan manusia yang terlibat, seperti persegi panjang dengan << aktor >> di dalamnya (alternatif). 2. Berpartisipasi dalam urutan dengan mengirim dan / atau menerima pesan. 3. Ditempatkan di bagian atas diagram. Menandakan kehidupan obyek selama berurutan. Berisi X pada titik di mana kelas tidak berinteraksi lagi 23 Lanjutan dari Tabel 2.4. 5. Menyampaikan informasi dari satu objek satu sama lain. Panggilan operasi dilabeli dengan pesan yang dikirim dan panah padat, sedangkan kembali diberi label dengan nilai yang akan dikembalikan dan ditampilkan sebagai panah putusputus. 6. Merupakan tes yang harus dipenuhi untuk pesan yang akan dikirim. 7. X ditempatkan pada akhir garis hidup suatu objek untuk menunjukkan bahwa itu eksistensi. 8. Menunjukkan diagram. urutan konteks 24 Dan dibawah ini adalah contoh sequence diagram. Gambar 2.4 Contoh Sequence Diagram (Alan Dennis, 2012) 2.4 Metode Pengembangan Menurut John W. Satzinger, Robert B. Jackson, Stephen D. (2012) The Systems Development Life Cycle (SDLC) identifies all the activities required to build, launch, and maintain an information system. Normally, the SDLC includes all the activities that are part of systems analysis, systems design, programming, testing, and maintaining the system as well as other project management processes that are required to successfully launch and deploy the new information system. Jadi, Software Development Life Cycle (SDLC) berfungsi untuk mengambarkan tahapan-tahapan utama dan langkah-langkah dari setiap tahapan yang secara garis besar terbagi dalam empat kegiatan utama, yaitu intiation, analysys, design, dan implementation. 25 Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize. Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa langkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda. Gambar 2.5 Siklus Pengembangan Dengan Metode Waterfall (Alan Dennis, 2012) Metode pengembangan waterfall memiliki keunggulan mengidentifikasi persyaratan jauh sebelum pemrograman dimulai dan membatasi perubahan persyaratan sebagai hasil proyek. Kelemahan utama dari waterfall yaitu desain harus benar-benar ditentukan sebelum pemrograman dimulai, kemudian antara penyelesaian proposal sistem dalam tahap analisis dan pengiriman sistem, dan pengujian dilakukan sebagai pertimbangan dalam tahap implementasi. 26 Berikut tahapan dalam metode waterfall : 1. Planning Fase ini penting untuk mendefinisikan kenapa software harus dibuat dan menentukan bagaimana tim akan mengerjakan proyek tersebut. Software, atau dalam konteks perusahaan biasanya berupa sistem informasi dibuat/dibeli bukan semata2 agar punya software, tapi bagaimana software itu bisa memberikan nilai tambah bagi perusahaan. Jika request software berasal dari divisi non IT, biasanya mereka akan membuat system request yang berisi ringkasan kebutuhan bisnis, dan bagaimana software yang diinginkan bisa menciptakan business value. Kemudian dilakukan feasibility analysis Feasibility analysis terdiri dari technical feasibility (bisakah kita membuatnya?), economic feasibility (apakah menciptakan business value?), dan organizational feasibility (jika software dibuat, apakah akan digunakan?) Setelah itu ditentukan sofware jadi dibuat atau tidak 2. Analysis Fase ini menjawab pertanyaan siapa yang akan menggunakan sistem, apa yang akan dilakukan sistem, dan kapan serta di mana sistem akan digunakan. Terdapat tiga langkah dalam fase ini sbb: Analysis strategy: Menjelaskan strategi untuk menganalisis sistem, termasuk menganalisis sistem yang sudah ada, dan cara2 untuk mendesain sistem baru Requirement gathering: Mengumpulkan informasi terkait kebutuhan sistem dengan wawancara atau kuisioner System proposal: dokumen hasil analisis, konsep, dan model sistem 3. Design Di fase ini ditentukan bagaimana sistem akan beroperasi, berkenaan dengan software, hardware, infrastruktur jaringan, user interface, form, reports, database, dll. 27 Dibuat design strategy, yaitu bagaimana sistem akan didapatkan: dikembangkan sendiri oleh programmer perusahaan, atau outsource, atau beli software jadi Membuat dokumen desain: desain arsitektur (hardware, software, infrastruktur jaringan), desain interface (navigasi, menu, dll), spesifikasi database dan file, serta desain program Dokumen desain ini disebut system specification 4. Implementation Fase terakhir adalah implementasi, di mana sistem akhirnya dibuat, atau dibeli. Fase ini terdiri dari tiga tahapan berikut: System construction: implementasi sistem berikut pengujiannya (testing) Installation: Instalasi sistem di tempat pengguna. Jika diperlukan termasuk training pengguna 2.5 Support: pendampingan pasca sistem digunakan Teknologi 2.5.1 Java Menurut Schildt, Herbert (2014) Java is more than just the elements that define the language. Java also includes extensive libraries and tools that aid in the development of programs. To be a top-notch Java programmer implies mastery of these areas, too. After completing this book, you will have the knowledge to pursue any and all other aspects of Java. Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Beberapa keunggulan java yaitu java merupakan bahasa yang sederhana. Java dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak 28 menyediakan fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang digantikan dikerjakan Java secara otomatis seperti dealokasi memori. Bagi pemrogram yang sudah mengenal bahasa C++ akan cepat belajar susunan bahasa Java namun harus waspada karena mungkin Java mengambil arah (semantiks) yang berbeda dibanding C++. Seluruh objek diprogram harus dideklarasikan lebih dulu sebelum digunakan. Ini merupakan keunggulan Java yaitu Statically Typed. Pemaksaan ini memungkinkan kompilator Java menentukan dan melaporkan terjadinya pertentangan (ketidakkompatibelan) tipe yang merupakan barikade awal untuk mencegah kesalahan yang tidak perlu (seperti mengurangkan variabel bertipe integer dengan variabel bertipe string). Pencegahan sedini mungkin diharapkan menghasilkan program yang bersih. Kebaikan lain fitur ini adalah kode program lebih dapat dioptimasi untuk menghasilkan program berkinerja tinggi. Java menggunakan model pengamanan tiga lapis (three-layer security model) untuk melindungi sistem dari untrusted Java code. Pertama, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa Java. Kedua, class loader menangani pemuatan kelas Java ke runtime interpreter. Ketiga, manajer keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem window. Java termasuk bahasa Multithreading. Thread adalah untuk menyatakan program komputer melakukan lebih dari satu tugas di satu waktu yang sama. Java menyediakan kelas untuk menulis program multithreaded, program mempunyai lebih dari satu thread eksekusi pada saat yang sama sehingga memungkinkan program menangani beberapa tugas secara konkuren. Java mempunyai mekanisme exception-handling yang ampuh. Exceptionhandling menyediakan cara untuk memisahkan antara bagian penanganan kesalahan dengan bagian kode normal sehingga menuntun ke struktur kode program yang lebih bersih dan menjadikan aplikasi lebih tegar. Ketika kesalahan 29 yang serius ditemukan, program Java menciptakan exception. Exception dapat ditangkap dan dikelola program tanpa resiko membuat sistem menjadi turun. Program Java mendukung native method yaitu fungsi ditulis di bahasa lain, biasanya C/C++. Dukungan native method memungkinkan pemrogram menulis fungsi yang dapat dieksekusi lebih cepat dibanding fungsi ekivalen di java. Native method secara dinamis akan di-link ke program java, yaitu diasosiasikan dengan program saat berjalan. 2.6 Pengujian Sistem Pengujian sistem merupakan hal terpenting yang bertujuan untuk menemukan kesalahan-kesalahan atau kekurangan-kekurangan pada perangkat lunak yang diuji. Adapun teknik pengujian yang dilakukan yaitu pengujian Black Box. pengujian berfokus pada persyaratan fungsional perangkat lunak. 2.6.1 Blackbox Testing Menurut Roger S. Pressman (2014), The black box specifies the behavior of a system or a part of a system. The system (or part) responds to specific stimuli (events) by applying a set of transition rules that map the stimulus into a response. Black box testing merupakan pengujian yang memungkinkan software engineer mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black-box juga merupakan pendekatan komplementer yang memungkinkan besar mampu mengungkap kelas kesalahan daripada metode white-box. Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagai berikut: 1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan interface. 3. Kesalahan dalam struktur data atau akses database eksternal. 4. Kesalahan kinerja. 5. Inisialisasi dan kesalahan terminasi. 30 2.7 Literature Review [1] Giovanno Pattiasina, Beatriz Tanazale & Lady Joanne Tjahyana. “Pembuatan dan Evaluasi Kemudahan Turis Dalam Menggunakan Aplikasi Baronda Ambon Travel Guide”. Jurnal Scriptura Vol. 4 No. 1, pp. 29-37, Juli 2014. ISSN : 1978-385X Tujuan : Menciptakan aplikasi pariwisata pulau Ambon dan mengevaluasi aplikasi tersebut sehingga memiliki tingkat usability yang baik sehingga mudah digunakan oleh turis baik domestik maupun internasional. Perancangan : Dilakukan pembuatan prototype untuk menggambarkan atau memberikan model pendahuluan akan produk multimedia yang akan dibuat. Dalam tahap ini juga akan dilakukan proses media creation dan pembuatan interface design. Kesimpulan : Pembentukan Aplikasi Baronda Ambon yang kemudian dievaluasi dengan menggunakan unit - unit heuristic usability menunjukan adanya kekurangan dalam beberapa hal, akan tetapi hasil penelitian terhadap 42 responden menunjukan bahwa kelemahan-kelemahan yang dimiliki oleh Baronda Ambon tidak mengurangi performa Baronda Ambon yang dikategorikan dalam predikat Good/Baik menurut skala Likert. [2] Anisa Sulistiawati, Kurnianingsih, Sukamto. “Aplikasi E-Travel Multi Channel”. Jurnal Teknik Elektro Vol. 2 No. 3, pp. 143-150, Desember 2013. ISSN : 2252-4908 Tujuan : Merancang dan membangun sistem e-travel menggunakan teknologi website dan android untuk meningkatkan kualitas pelayanan terhadap pelanggan. 31 Perancangan : Aplikasi ini hanya menggunakan use case diagram merepresentasikan sebuah interaksi antara aktor dengan sistem. Dan selanjutnya ke tahap Deployment diagram, dan rancangan Antar Muka Sistem. Kesimpulan : Aplikasi e-travel multi channel ini mampu membantu para pengguna untuk mendapatkan informasi sekaligus memesan produk travel melalui dua teknologi seperti web dan aplikasi mobile android. Aplikasi ini telah berfungsi dengan baik pada ponsel Android minimal versi 2.3 (Gingerbread) atau versi yang lebih tinggi. Pelanggan dapat dengan mudah memesan dengan mengisi form pemesanan dan mendapat konfirmasi melalui email. [3] Hani Siti Haviani Nur Asiah, Asep Deddy Supriatna. “Pengembangan Perangkat Lunak Pemesanan Tiket Travel Berbasis Web dan Android”. Jurnal Algoritma Vol. 12 No. 1, pp, 1-9, 2015. ISSN : 2302-7339 Tujuan : Mengakomodasi kebutuhan dalam kegiatan transaksi pemesanan tiket travel secara efektif dan efisien karena akses informasi dapat diperoleh secara realtime. Agar mengurangi ketidaksesuaian antara keinginan pelanggan dalam hal jam pemberangkatan atau bahkan tiketnya sudah terjual habis. Itu semua dapat menjadi penilaian buruk dari pelanggan terhadap perusahaan. Perancangan : Aplikasi ini menggunakan diagram use case, diagram aktivitas, diagram sekuen, diagram kolaborasi, yang kemudian ke tahap perancangan Kelas, Asosiasi, Method, dan Atribut. Juga merancang tampilan Layer Akses dan Layer Antar Muka. Kesimpulan : Menjadikan aplikasi ini untuk memudahkan pelanggan dalam melakukan pemesanan tiket travel dengan adanya aplikasi berbasis web dan mobile ini, karena pelanggan tidak selalu harus datang ke perusahaan travel untuk melakukan pemesanan. 32 [4] Perbedaan dengan yang penulis buat berjudul Aplikasi Pemesanan Perjalanan Paket Wisata pada PT. Vakansi Mandala Nusantara berbasis Android. Tujuan : Pada aplikasi nantinya akan menyediakan perjalanan mencakup kepada seluruh wilayah di nusantara indonesia. Siapapun yang ingin melakukan pemesanan paket perjalanan pada brand Govakansi yang dimiliki PT. Vakansi Mandala Nusantara ini dapat langsung membuka aplikasi mobile ini dan dapat memilih perjalanan yang ingin dipesan. Menjadikannya lebih efisien dan fleksibel dimanapun dan kapanpun dapat melakukan pemesanan. Aplikasi yang akan dibuat ini menggunakan empat jenis komponen diagram yaitu : use case diagram, sequence diagram, activity diagram, dan class diagram. Untuk membentuk sebuah tampilan antar muka, struktur data, arsitektur aplikasi hingga logika sistem. Dan juga aplikasi ini tentunya berfokus kepada para pelanggan atau calon pelanggan yang akan melakukan pemesanan perjalanan yang ada pada Govakansi. Diantaranya seperti paket perjalanan Open Trip, Private Trip, Honeymoon Trip.