PENDAHULUAN
Latar Belakang Masalah
Kopi adalah salah satu minuman yang disukai dan banyak dikonsumsi di dunia, dan kopi juga merupakan salah satu minuman untuk memenuhi suatu kebutuhan sekuder, dewasa ini kopi tidak lagi menjadi kebutuhan sekunder melainkan menjadi kebutuhan premier untuk masyarakat perkotaan, dan kopi menjadi minuman para masyarakat dari kalangan bawah sampai kalangan atas.
Saat ini kopi juga sudah menjadi trend di berbagi kalangan dari mulai pelajar, mahasiswa, pekerja, bahkan ibu rumah tangga, dari trend tersebut maka banyaknya masyarakat yang ingin berkunjung kedai kopi menjadi tempat berkumpul dengan sahabat, rekan kerja dan membuat kedai kopi menjadi tempat bekerja selain kantor, seperti diketahui banyak pekerja yang sering mengadakan pertemuan ataupun rapat di kedai kopi dan juga sekedar berkumpul bersama di kedai kopi dan untuk besantai sejenak selagi menunggu kemacetan di Jakarta.
Namun tidak semua orang tahu tentang kedai kopi yang ideal untuk berkumpul, Dengan adanya apresiasi dari masyarakat Jakarta terhadap kedai kopi di Jakarta yang di rasa masih kurang, mungkin disebab kan tingkat informasi lokasi kedai kopi masih kurang. Tidak jarang masyarakat mengetahui semua lokasi kedai kopi di Jakarta. Padahal masih banyak lagi kedai kopi di Jakarta yang sangat menarik.
Oleh sebab itu perlu adanya salah satu aplikasi berbasis android yang bertujuan untuk memudahkan masyarakat dalam pencari informasi dan lokasi kedai kopi khususnya di daerah Jakarta.
Menurut (Makiolor, Sinsuw, & Najoan, 2017) “Layanan Berbasis Lokasi adalah layanan informasi yang dapat diakses melalui mobile divice dengan menggunakan mobile network, yang dilengkapi kemampuan untuk memanfaatkan lokasi dari mobile device tersebut. LBS memberikan kemungkinan komunikasi dan interaksi dua arah”.
Oleh Dari semua permasalahan yang ada diatas, maka muncul sebuah gagasan untuk pembuatan aplikasi yang dapat membantu dalam mencari informasi dan lokasi kedai kopi yang dapat dilihat melalui Smartphone.
Menurut (Agustina, Risnanto, & Supriadi, 2016) “Di Indonesia, statistik pengguna Android pada tahun 2014 mendominasi peredaran smartphone di tanah air dengan pembagian pasar 59,91% (Growth From Knowladge, 2015). Hal ini menjadi salah satu penyebab pengembang di Indonesia beralih untuk mengembangkan aplikasi Android yang telah mendominasi pasaran smartphone.”
Aplikasi tersebut diharapkan agar lebih efektif dan efisien mempermudah pengguna untuk mencari tempat-tempat kedai kopi terdekat, rekomended dan menemukan Coffe Shop terbaik. Aplikasi pencarian Kedai Kopi dengan rancangan mutakhir dan mudah digunakan saat menjelajahi semua pilihan kedai kopi di Sekitar Jakarta. Dengan mendownload anda bisa melihat informasi menu terbaru, foto, dan ulasan pengguna untuk memutuskan dimana tempat makan Anda, dan gunakan layanan peta sebagai panduan saat perjalanan.
Menurut (Widyaningsih, Hamzah, & Lestari, 2018) “penggunaan peta sangat penting dalam berbagai bidang kehidupan Contohnya saja pada bidang sosial, mencari tempat baru dalam kota maupun luar kota merupakan hal yang sangat wajar. Permasalahannya beberapa orang masih susah akan mengingat letak suatu tempat ataupun arah menuju tempat tersebut. Sehingga mereka membutuhkan waktu lebih untuk menemukan kembali tempat tersebut”.
Berdasarkan latar belakang tersebut, maka penulis ingin mengembangkan sebuah aplikasi pencarian kedai kopi. Aplikasi ini dapat diakses secara online melalui mobile teknologi yang memiliki sistem operasi android. Adapun judul usulan penelitian ini yaitu “PENCARIAN LOKASI KEDAI KOPI DI JAKARTA BERBASIS ANDROID”.
Metode Pengembangan Aplikasi
Metode yang penulis gunakan dalam melakukan pengembangan sistem aplikasi yaitu dengan model proses waterfall. Dalam model ini terdapat beberapa tahapan pengembangan sistem, yang diuraikan sebagai berikut :
Ruang Lingkup
Untuk pembahasan yang lebih terarah dan terfokus pada tujuan yang di inginkan, maka penulis membatasi ruang lingkup sebagai berikut :
1. Peta dan Rute lokasi kedai kopi di Kota Jakarta.
2. Daftar lokasi di Kota Jakarta dan Informasi sejarah kopi.
3. Pencarian yang dimaksud dalam aplikasi ini adalah memilih kedai kopi sesuai wilayah yang dipilih untuk menemukan lokasi kedai kopi.
LANDASAN TEORI
Tinjauan Jurnal
Menurut (Rizal & Latifah, 2017) mendefinisikan bahwa “Seiring dengan berkembang teknologi mengakibatkan mobilitas masyarakat semakin tinggi, sehingga kebutuhan akses informasi yang cepat tidak dapat dihidarkan lagi dan kebutuhkan perangkat yang dapat dibawa kemana saja (perangkat mobile) menjadi salah satu pilihan utama”.
Agar masyarakat dapat dengan mudah mencari lokasi sesuai kriteria yang diinginkan, maka pada penulisan ini dibuat aplikasi untuk pencarian kedai kopi dengan menggunakan mobile berbasis android. Aplikasi ini dibuat dengan menggunakan Android Studio serta bahasa pemograman Java dengan operating system (OS) Android. OS Android yang sangat fleksibel dan dapat digunakan pada berbagai platform hardware dan mudah penggunannya.
Menurut (Layona & Yulianto, 2016) mendefinisikan bahwa “Perkembangan bisnis kuliner di Indonesia semakin maju dari masa ke masa. Hal tersebut didukung oleh pertumbuhan industri makanan dan minuman yang mengalami kenaikan mencapai 8,46% pada triwulan II tahun 2015%. Pada akhir tahun 2015, Menteri Perindustrian memprediksikan bahwa industri makanan dan minuman akan tumbuh sekitar 7,4-7,8 persen pada tahun 2016. Perkembangan dunia kuliner ini semakin terbantu dengan teknologi yang kian berkembang pesat.”
Salah satu kendala yang dihadapi oleh masyarakat dalam hal pencarian kedai kopi adalah tidak adanya sistem informasi yang efektif pengguna untuk mencari lokasi terdekat. Solusi untuk menyelesaikannya adalah dengan menggunakan media mobile dan praktis sebagai petunjuk arah, petunjuk lokasi dan petunjuk informasi dari aplikasi tersebut. Salah satu alat yang dapat menunjang teknologi tersebut adalah ponsel pintar yang dilengkapi dengan teknologi GPS dan GIS.
GIS dapat memudahkan pengguna untuk mendapatkan informasi data spesial dan data atribut. GPS pada smartphone dapat meningkatkan fungsi GIS untuk melakukan fungsi spesial yang berhubungan dengan lokasi pengguna. Aplikasi ini hendaknya dapat memberikan kemudahan masyarakat untuk menikmati pada beberapa tempat kedai kopi di Kota Jakarta.
Menurut (Masykur, 2014) mendefinisikan bahwa “Terdapat banyak tools yang bisa digunakan untuk mengimplementasikan Sistem Informasi Geografis, baik itu yang berbasis desktop maupun berbasis website”. Tools yang berbasis desktop antara lain ArcView, ArcGis, Map Info dan sebagainya. Sedangkan tools yang berbasis website adalah layanan Open Source yang sudah disediakan oleh google yang biasa disebut dengan google Maps. Salah satu keuntungan dari penggunaan google Maps ini adalah layanan free dan bisa dikembangkan sesuai dengan keinginan karena google sendiri sudah menyediakan library bagi para pengembang yang ingin memanfaatkan layanan google Maps tersebut.”
Konsep Dasar Program
Menurut (Lengkong, Sinsuw, & Lumenta, 2015) mendefinisikan bahwa “Android merupakan salah satu platform dari perangkat Smartphone. Salah satu keutamaan dari Android yaitu lisensinya bersifat terbuka (open source) dan gratis 9 (free) sehingga bebas untuk dikembangkan karena tidak ada biaya royalti maupun didistribusikan dalam bentuk apapun. Hal ini memudahkan para programmer untuk membuat aplikasi baru didalamnya. Selain itu Android juga media yang dapat mengeksplore kemampuan GIS lewat Google Maps.”
MVC merupakan suatu konsep yang memungkinkan pengerjaan program antara logika dan presentasi tampilan program dilakukan secara terpisah. Metode MVC sudah banyak diterapkan dan digunakan dalam aplikasi yang mendukung sistem, salah satu di antaranya adalah perancangan dan implementasi perangkat lunak dengan menerapkan arsitektur MVC (Model View Controller). MVC adalah sebuah metode pengembangan aplikasi dengan membagi aplikasi menjadi 3 bagian:
a. Modelling adalah bagian yang bertugas mengolah data atau memanipulasi data sesuai dari bisnis proses yang terjadi pada data tertentu.
b. View adalah bagian yang mempresentasikan data dalam bentuk tampilan dan menuntun alur interaksi user terhadap aplikasi.
c. Controller adalah bagian yang menhubungkan antar bagian model dengan bagian view dan bertanggung jawab mengatur alur transisi antar kedua bagian tersebut.
Algoritma Greedy
Menurut (Hartanto & Safitri, 2014) mendefinisikan bahwa “Algoritma Greedy memiliki pendekatan untuk membangun solusi secara bertahap melalui urutan yang terus berkembang sampai solusi dari masalah telah tercapai”. Greedy memberikan alternatif optimal lokal dengan harapan setaip alternatif lokal 10 menghasilkan alternatif global yang optimal secara keseluruhan. Algoritma Greedy dapat menyelesaikan Travelling Salesman Problem dengan menghitung nilai lokal optimal setiap mengunjungi kota dan mendapatkan nilai optimasi global pada akhir perjalanan. Algoritma Greedy dalam penelitian terdahulu dapat mengimplementasikan dalam melakukan optimasi jarak seperti dalam menentukan jarak terdekat atau shortest path dan Travelling Salesman Problem (TSP).
Algoritma Greedy dapat menentukan jalur mana yang akan diambil terlebih dahulu atau dapat disebut dengan jalur optimum lokal sehingga sampai seluruh jalur diambil pada akhir perjalanan dan menciptakan rute perjalanan terpendek atau disebut dengan optimum global sehingga dapat pula menyelesaikan Travelling Salesman Problem (TSP). Dari sini dapat ditentukan nilai rute perjalanan terpendek antara lokasi pengguna dengan lokasi wisata.
Pengujian Aplikasi
Black box testing merupakan pengujian terhadap sistem tentang cara operasinya, apakah sedah berjalan sebagaimana yang diharapkan atau sebaliknya. Cara pengujian ini dilakukan dengan menjalankan dan mengeksekusi tiap modul kemudian dilakukan pengamatan pada hasil dari proses tersebut.
Menurut (Maghfuri, Satoto, & Kridalukmana, 2016) mendefenisikan bahwa “Pengujian ini memungkinkan analis sistem memperoleh kumpulan kondisi input yg akan mengerjakan seluruh keperluan fungsional program. Tujuan metode ini mencari kesalahan pada fungsi yg salah atau hilang, kesalahan pada interface, kesalahan pada struktur data atau akses database, kesalahan performansi, kesalahan inisialisasi dan tujuan akhir”.
Menurut (Sasmito, 2017) mendefinisikan bahwa “Pengujian sistem merupakan elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean”. Dalam penelitian ini rancangan pengujian sistem dilakukan dengan melakukan pengujian balck box terhadap semua fungsi dalam aplikasi.
Pengujian black box merupakan salah satu pengujian aplikasi atau perangkat lunak yang berfokus pada persyaratan fungsional perangkat lunak. Karena itu uji coba black box memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program.
Peralatan Pendukung
Android Development Tools (ADT)
ADT merupakan plugin yang di desain powerfull dengan lingkungan yang terintegrasi dalam mengembangkan atau membangun aplikasi android memakai Eclipse IDE (Satyaputra dan Aritonang, 2014). ADT memberikan kemampuan kepada Eclipse untuk membuat projek baru Android secara tepat, membuat aplikasi User Interface, menambahkan komponen berdasarkan Android Framework API, melakukan debugging aplikasi yang 16 dibuat dengan menggunakan Android SDK Tools dan bahkan melakukan distribusi aplikasi yang dibuat.
Pembuatan aplikasi android dengan Eclipse beserta ADT sangat dianjurkan karena merupakan cara tercepat untuk memulai membuat projek android. Dengan disediakannya project setup, serta tools yang sudah terintegrasi.
Android Virtual Device (AVD)
Android Virtual Device merupakan sebuah tools android simulator yang bersifat virtual yang dapat mensimulasikan fitur hardware dan software seperti perangkat android aslinya. AVD berfungsi membantu anda membangun dan melakukan pengetesan terhadap aplikasi yang dibangun (Satyaputra dan Aritonang, 2014).
Android SDK
Android SDK merupakan sebuah tool dan alat bantu API (Application Programming Interface) yang diperlukan untuk mengembangkan aplikasi berbasis Android yang menggunakan bahasa Java. SDK juga sering disebut sebagai software emulator yang berguna untuk mensimulasikan OS Android pada PC. Saat ini SDK sudah berbentuk bundle, yang di dalamnya sudah terdapat Eclipse + ADT (Android Development Tools) Plugin, Android SDK Tools, android Platform-Tools, Platform Android terbaru, dan Android System Image terbaru untuk emulator. Tools bagi para programmer yang ingin mengembangkan aplikasi berbasis google android, mencangkup seperangkat alat pengembangan yang komprehensif. IDE yang didukung secara resmi adalah Eclipse 3.2 17 atau lebih dengan menggunakan plugin Android Development Tools (ADT) (Satyaputra dan Aritonang, 2014).
Java
Java merupakan bahasa pemrograman yang dirancang tidak tergantung kepada platform independent, sehingga pemrograman yang ditulis dalam bahasa pemrograman java idealnya harus bisa dijalankan di semua sistem operasi (Tim EMS, 2015).
Unified Modeling Language (UML)
Menurut (Ropianto, 2016) UML (Unified Modeling Language) suatu alat untuk memvisualisasikan dan mendokumentasikan hasil analisa dan desain yang berisi sintak dalam memodelkan sistem secara visual. Juga merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek
Use Case Diagram
Use Case Diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use Case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, Use Case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa yang berhak menggunakan fungsi-fungsi itu (Rosa dan Shalahuddin, 2015).
Activity Diagram
Diagram aktivitas menggambarkan Workflow atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem (Rosa dan Shalahuddin, 2015).
Sequence Diagram
Sequence Diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambarkannya diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada Use Case (Rosa dan Shalahuddin, 2015).
Class Diagram
Class Diagram adalah menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi (Rosa dan Shalahuddin, 2015).
Deployment Diagram
Deployment Diagram menunjukkan konfigurasi komponen dalam proses eksekusi apalikasi. Deployment Diagram juga dapat digunakan untuk memodelkan hal-hal menurut (Rosa dan halahuddin, 2015), berikut:
1. Sistem tambahan (embedded system) yang menggambarkan rancangan device node dan hardware.
2. Sistem client atau server.
3. Sistem tedistribusi murni.
4. Rekayasa ulang aplikasi.
Google Maps
Menurut (Lengkong et al., 2015) mendefinisikan bahwa “Google Maps adalah sebuah jasa peta globe virtual gratis dan online disediakan oleh Google. Fasilitas Google Maps dihadirkan oleh Google sejak tahun 2005 dan terus berkembang hingga sekarang ini. Di alam Google Maps, anda tidak hanya mendapatkan tampilan peta dunia, namun juga informasi pendukung berupa informasi jalan, lokasi layanan public, bisnis dan sebagainya.
Model Waterfall
Model waterfall sering juga disebut model sekuensial linier atau alur hidup klasik. Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimualai dari analis, desain, pengodean, pengujian, dan tahap pendukung (support). Menurut (Rosa dan Shalahuddin, 2015), berikut adalah model air terjun (Waterfall):
a. Analisa Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan.
b. Desain
Desain perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang di hasilkan pada tahap ini juga perlu didokumentasikan.
c. Pembuatan Kode Program
Desain harus ditranslasikan kedalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain telah di buat pada tahap desain.
d. Pengujian
Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang di hasilkan sesuai degan yang diinginkan.
e. Pendukung (Support) atau Pemeliharaan (Maintenance)
Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul yang tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk perangkat lunak baru.
Object Oriented Programming (OOP)
Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang di berlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objektif secara sistematis (Rosa dan Shalahuddin, 2015).
Extensible Markup Language (XML)
Bahasa markup untuk keperluan umum yang disarankan oleh W3C untuk membuat dokumen markup keperluan pertukaran data antar sistem yang beraneka ragam. Mampu menyimpan data secara ringkas dan mudah diatur, Extensible Markup Language (XML) adalah data jamak dari datum yang jika diolah bisa memberikan informasi. Cara terstandarisasi namun bisa dimodifikasi untuk menggambarkan isi dari dokumen, Extensible Markup Language (XML) dapat digunakan untuk menggambarkan sembarang view database, tetapi dengan suatu cara yang standar.