BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI 2.1 Tinjauan Pustaka Karya tulis ini mengacu pada beberapa karya tulis yang telah dibuat. Berikut adalah perbandingan antara karya tulis yang telah dibuat dan karya tulis yang akan dibuat. Tabel 2.1 Tabel perbedaan karya tulis Penulis/Tahun Wahyu Dwi Mustofa,(2015) Bahasa Pemrograman Jenis Aplikasi Metode/Teknologi Objek Pencarian global positioning sistem(GPS) Pencarian bengkel di kabupaten gunungkidul Informasi Java, PHP, Geografis Bengkel di Kota MySQL Denpasar I Made Widyana, Inyoman Piarsa, dan A. A. K. Agung Cahyawan W (2015) Pencarian Google Map API Sis Pinaryo (2015) Pencarian Haversine Theofilus Kurniawan (2013) Pencarian Augmented Reality Ibnu Fajar Yunardi (2014) Pencarian Location Based Service (LBS) Java Pencarian Java Polsek di Yogyakarta Pencarian Lokasi Bengkel Resmi Nasmoco Java di Kota Semarang Pencarian Gamenet di Yogyakarta Java Sebagai panduan Marketing Canvasser 4 Muhammad Widodo (2016) Usulan (2016) Pencarian Augmented Reality Pencarian Location Based Service(LBS), Android Library Volley Penerapan Augmented Reality Pada Aplikasi Geo Position Untuk Java Pencarian Tempat Wisata Yogyakarta Berbasis Windows Phone Pencarian bengkel resmi sepeda motor di daerah Istimewa Java Ypgyakarta dengan fasilitas History Perbedaan aplikasi ini dari yang lain adalah menggunakan fasilitas history dimana semua acuan skripsi yang saya gunakan tidak ada yang menggunakan fasilitas history. 2.2 Dasar Teori 2.2.1 Android Android adalah sistem operasi berbasis Linux bagi telepon seluler seperti telepon pintar dan komputer tablet. Android juga menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang akan digunakan untuk berbagai macam piranti gerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat piranti lunak untuk ponsel. kemudian dalam pengembangan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti keras, piranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. 5 2.2.2 Location Based Service (LBS) Location Based Service (LBS) atau layanan berbasis lokasi adalah sebuah layanan informasi yang dapat diakses dengan perangkat bergerak melalui jaringan dan mampu menampilkan posisi secara geografis keberadaan perangkat bergerak tersebut. Location Based Service (LBS) dapat berfungsi sebagai layanan untuk mengidentifikasi lokasi dari seseorang atau suatu objek tertentu, seperti menemukan lokasi bengkel atau lokasi lainnya. Hal yang paling penting dari Location Based Service (LBS) dapat bekerja sesuai yang diinginkan oleh pengembang aplikasi Android. Android pun memungkinkan pengembang menentukan metode pencarian lokasi yang dibutuhkan dan juga dapat mengatur kebutuhan daya, biaya dan akurasi berdasarkan spesifik yang akan dibuat untuk aplikasi tersebut. 2.2.3 Pengenalan Java Java adalah suatu bahasa pemrograman berorientasi object yang dikembangkan oleh Sun Microsystems. Java didasarkan pada bahasa C ++, yang dirancang untuk kemudahan, sederhana, portabilitas. Sun Microsystems mengeluarkan beberapa versi java, yang dibagi menjadi 3 versi. Tiga platform yang berorientasi pada lingkungan proses yang berbeda-beda adalah: 1. Java 2 Standart Edition (J2SE) 2. Java 2 Enterprise Edition (J2EE) 3. Java 2 Micro Edition (J2ME) 6 J2SE diutamakan untuk membuat java Applet dan aplikasi yang berbasis desktop. J2EE digunakan untuk membuat sistem aplikasi enterprise, dimana sebuah aplikasi dapat disebarkan pada jaringan komputer dan dapat diakses dari jauh. J2EE mengandung semua fungsi J2SE dan diutamakan untuk membuat aplikasi client server. 2.2.4 PHP PHP atau yang memiliki kepanjangan PHP Hypertext Preprocessor merupakan suatu bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis. PHP menyatu dengan kode HTML, maksudnya adalah beda kondisi. HTML digunakan sebagai pembangun atau pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, web akan sangat mudah di-maintenance. PHP berjalan pada sisi server sehingga PHP disebut juga sebagai bahasa Server Side Scripting. Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya web server. PHP ini bersifat open source sehingga dapat dipakai secara cuma-cuma dan mampu lintas platform, yaitu dapat berjalan pada sistem operasi Windows maupun Linux. PHP juga dibangun sebagai modul pada web server apache dan sebagai binary yang dapat berjalan sebagai CGI. 2.2.5 JSON JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan 7 dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 – Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data. Penulis menggunakan metode JSON dalam pengiriman data yang dilakukan, karena JSON memiliki beberapa kelebihan - kelebihan dibandingkan XML, kelebihan – kelebihan tersebut adalah: 1. Format Penulisan Untuk merepresentasikan sebuah struktur data yang rumit dan berbentuk hirarkis penulisan JSON relatif lebih terstruktur dan mudah. 2. Ukuran Ukuran karakter yang dibutuhkan JSON lebih kecil dibandingkan XML untuk data yang sama. Hal ini tentu berpengaruh pula pada kecepatan pertukaran data, walaupun tidak signifikan untuk data yang kecil, namun cukup berarti jika koneksi yang digunakan relatif lambat untuk mengakses aplikasi web kaya fitur yang memanfaatkan pertukaran data. Di sini JSON lebih unggul dibandingkan XML, kecuali jika data dikompresi terlebih dahulu sebelum dikirimkan, perbedaan JSON dan XML yang telah dikompresi tidaklah signifikan. 8 3. Browser Parsing Proses parsing merupakan proses pengenalan token atau bagian-bagian kecil dalam rangkaian dokumen XML/JSON. Contohnya, terdapat data text dalam format JSON. Data tersebut harus di-parsing terlebih dahulu sebelum dapat diakses dan dimanipulasi. Browser parsing berarti proses parsing yang terjadi pada sisi client/browser. Melakukan browser parsing pada JSON lebih sederhana dibandingkan pada XML, JSON menggunakan function JavaScript eval() untuk melakukan parsing. Sementara dokumen XML di-parsing oleh XMLHttpRequest. Rata-rata survei menobatkan JSON sebagai pemenang jika diadu kecepatan parsingnya. JSON terbuat dari dua struktur: a. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array. b . Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence). Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman 9 yang juga berdasarkan pada struktur data ini. JSON menggunakan bentuk sebagai berikut: 1. Objek Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma) Gambar 2.2 Objek JSON 2. Larik Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma). Gambar 2.3 Larik JSON 3. Nilai Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Strukturstruktur tersebut dapat disusun bertingkat. 10 Gambar 2.4 Nilai JSON 4. String String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java. Gambar 2.5 String JSON 5. Angka Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan. 11 Gambar 2.6 Angka JSON 2.2.6 UML (Unified Modeling Language) Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM. UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem 12 informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem. 2.2.7 History atau Sejarah History pada aplikasi ini adalah fasilitas untuk mencatat dan menyimpan data sejarah penelusuran, history ini bisa sangat bermanfaat jika kita ingin melihat alamat mana saja yang pernah kita kunjungi. Fasilitas ini bisa kita manfaatkan untuk melacak kemana saja kita pernah berkunjung, dan bisa juga mengetahui alamat yang dikunjungi jika dipinjam orang lain. Histori atau sejarah sangat membantu dalam mengingat dimana kita pernah mengunjungi suatu alamat. Fasilitas ini sangat bermanfaat untuk menghemat waktu dan tenaga, kita tinggal memilih mana yang di kehendaki tanpa harus mengetikkan secara lengkap 13