ABSTRACT
IMPLEMENTATION OF AUGMENTED REALITY TECHNOLOGY BASED ANDROID TO DETECT AND FIND OUT LOCATION OF NEAREST GAS STATION IN BANDAR LAMPUNG CITY
By
MUHAMMAD FATHAN KURNIAWAN
Augmented Reality (AR) is a term for an environment that combines real world and virtual world, where objects in real world can be recognized through the position, direction, and location. One of AR technology which is currently being developed is Markerless Augmented Reality, with this technology, users no longer need to use a marker to display digital elements. This technology can also be used to visualize information interactively, especially when this technology is integrated with mobile devices such as smartphones that have Android operating system. Camera feature, internet, accelerometer, digital maps and GPS (Global Positioning System) on Android devices can be integrated so that AR technology can be implemented. In this research, Markerless Augmented Reality technology is implemented to detect and find out the location of the nearest gas station in Bandar Lampung city. This application was designed and then implemented by using Java for Android programming language and Beyond AR framework to detect and display AR object and the Google Maps API to display a map of location of gas stations. The result of testing data using an Equivalence Partitioning testing indicates that the application can function in accordance with the analysis. Additionally, based on questionnaire data, this application is a user friendly application (with an average grade of 4.29 / Excellent) and interactive (with an average grade of 4.20 / Well).
ABSTRAK
IMPLEMENTASI TEKNOLOGI MARKERLESS AUGMENTED REALITY BERBASIS ANDROID UNTUK MENDETEKSI DAN MENGETAHUI LOKASI SPBU TERDEKAT DI KOTA BANDAR LAMPUNG
Oleh
MUHAMMAD FATHAN KURNIAWAN
Augmented Reality (AR) adalah sebuah istilah untuk lingkungan yang menggabungkan dunia nyata dan dunia virtual, dimana objek dalam dunia nyata dapat dikenali melalui posisi, arah, dan lokasi. Salah satu teknologi AR yang saat ini sedang berkembang adalah Markerless Augmented Reality, dengan teknologi ini pengguna tidak perlu lagi menggunakan sebuah marker untuk menampilkan elemen-elemen digital. Teknologi ini juga dapat digunakan untuk memvisualisasikan informasi secara interaktif, terlebih apabila teknologi ini dipadukan dengan perangkat seluler seperti smartphone yang memiliki sistem operasi Android. Fitur kamera, internet, accelerometer, peta digital dan GPS (Global Positioning System) pada perangkat Android dapat diintegrasikan sehingga teknologi AR dapat diimplementasikan. Dalam penelitian ini, teknologi Markerless Augmented Reality diimplementasikan untuk mendeteksi dan mengetahui lokasi SPBU terdekat di Kota Bandar Lampung. Aplikasi ini dirancang kemudian diimplementasikan dengan menggunakan bahasa pemrograman Java for Android dan bantuan framework BeyondAR untuk mendeteksi dan menampilkan objek AR serta Google Maps API untuk menampilkan peta lokasi SPBU. Hasil data pengujian menggunakan pengujian Equivalence Partitioning, menunjukkan bahwa aplikasi ini dapat berfungsi sesuai analisis. Selain itu berdasarkan data angket, aplikasi ini merupakan aplikasi user friendly (dengan nilai rata-rata 4,29 / sangat baik) dan juga interaktif (dengan nilai rata-rata 4,20 / baik).
Kata kunci : Android, Aplikasi, Augmented Reality,Implementasi, Lokasi SPBU, Markerless Augmented Reality, Peta,
IMPLEMENTASI TEKNOLOGI MARKERLESS AUGMENTED REALITY BERBASIS ANDROID UNTUK MENDETEKSI DAN MENGETAHUI LOKASI SPBU TERDEKAT DI KOTA BANDAR LAMPUNG
Oleh
MUHAMMAD FATHAN KURNIAWAN
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar SARJANA KOMPUTER
pada
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG LOKASI SPBU TERDEKAT DI KOTA BANDAR LAMPUNG (Skripsi)
Oleh
Muhammad Fathan Kurniawan
JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG
DAFTAR GAMBAR
Gambar Halaman
Gambar 2.1 Arsitektur Android (Developers, 2011) ... 8
Gambar 2.2 Global Positioning System (Spiekermann, 2004) ... 23
Gambar 2.3 Beyond Augmented Reality (BeyondAR, 2015) ... 24
Gambar 2.4 Komponen Dasar LBS (Steiniger, 2006) ... 25
Gambar 2.5 Point of Interest (Shekhar et al, 2004) ... 26
Gambar 2.6 Siklus Unified Process (Kroll dan MacIsaac, 2006) ... 28
Gambar 2.7 Contoh Aktor (Fowler, 2004) ... 31
Gambar 2.8 Use Case (Fowler, 2004) ... 31
Gambar 2.9 Contoh Use Case Diagram (uml-diagrams.org, 2014) ... 32
Gambar 2.10 Contoh Activity Diagram (uml-diagrams.org, 2014) ... 34
Gambar 2.11 Contoh Class Diagram (uml-diagrams.org, 2014) ... 35
Gambar 2.12 Contoh Statechart Diagram (uml-diagrams.org, 2014) ... 38
Gambar 2.13 Contoh Sequence Diagram (uml-diagrams.org, 2014) ... 40
Gambar 2.14 Contoh Collaboration Diagram (Fowler, 2014) ... 41
Gambar 3.1 Diagram Alir Metodologi Penelitian ... 48
Gambar 3.2 Use Case Diagram ... 59
Gambar 3.3 Diagram Cari SPBU ... 60
Gambar 3.4 Activity Diagram Info SPBU ... 61
Gambar 3.5 Activity Diagram Petunjuk ... 61
Gambar 3.6 Activity Diagram Pengaturan ... 62
Gambar 3.7 Activity Diagram Tentang ... 63
Gambar 3.11 Sequence Diagram Petunjuk ... 66
Gambar 3.12 Sequence Diagram Pengaturan ... 67
Gambar 3.13 Sequence Diagram Tentang ... 68
Gambar 3.14 DesignLayout Splash Screen ... 69
Gambar 3.15 DesignLayout Menu Utama ... 70
Gambar 3.16 DesignLayout Cari SPBU Berdasarkan Peta ... 71
Gambar 3.17 DesignLayout Cari SPBU Berdasarkan AR ... 72
Gambar 3.18 DesignLayout Info SPBU ... 73
Gambar 3.19 DesignLayout Petunjuk ... 74
Gambar 3.20 Design Layout Pengaturan ... 75
Gambar 3.21 DesignLayout Tentang ... 76
Gambar 4.1 Tampilan Splash Screen ... 83
Gambar 4.2 Tampilan Menu Utama ... 84
Gambar 4.3 Tampilan Menu Cari SPBU ... 85
Gambar 4.4 Tampilan Menu Cari SPBU Berdasarkan Peta ... 86
Gambar 4.5 Tampilan Menu Cari SPBU Berdasarkan Augmented Reality ... 87
Gambar 4.6 Tampilan Menu Info SPBU ... 88
Gambar 4.7 Tampilan Menu Petunjuk ... 89
Gambar 4.8 Tampilan Menu Pengaturan ... 90
Gambar 4.9 Tampilan Menu Tentang ... 91
Gambar 4.10 Grafik Presentasi Rata-rata Jawaban Responden per Kategori Penilaian Pada Variabel User Friendly ... 98
Gambar 4.11 Grafik Presentasi Rata-rata Jawaban Responden per Kategori Penilaian Pada Variabel Interaktif ... 100
Gambar 4.12 Pengambilan Gambar Pada Lokasi Tanjakan ... 101
Gambar 4.13 Jarak Pengambilan Gambar Pada Lokasi Tanjakan ... 102
Gambar 4.14 Pengambilan Gambar Pada Lokasi Turunan ... 102
DAFTAR TABEL
Tabel Halaman
Tabel 2.1 Notasi Activity Diagram (Meildy, 2014) ... 33
Tabel 2.2 Notasi Sequence Diagram(Meildy, 2014) ... 38
Tabel 3.1 Jadwal Kegiatan Penelitian ... 55
Tabel 3.2 Tabel Daftar Pengujian ... 77
Tabel 4.1 Daftar class pada aplikasi Cari SPBU ... 81
Tabel 4.2 Daftar layout pada aplikasi Cari SPBU ... 82
Tabel 4.3 Pengujian Equivalence Partitioning ... 92
Tabel 4.4 Interval dan Kategori Penilaian ... 96
Tabel 4.5 Hasil Penilaian Variabel User Friendly ... 97
MOTO
“Barangsiapa bersungguh-sungguh, sesungguhnya kesungguhannya itu adalah untuk dirinya sendiri”
(QS Al-Ankabut [29]: 6)
“Learn from yesterday, live for today, hope for tomorrow” (Albert Einstein)
“Ambition, passion, and persistencewill make you reach a great success” (Muhammad Fathan Kurniawan)
“Jangan terlalu berambisi menjadi yang terbaik dari yang terbaik, tapi tempatkanlah dirimu berada diantara orang-orang yang terbaik”
(Muhammad Fathan Kurniawan)
PERSEMBAHAN
Kupersembahkan karya ini untuk :
Ibu dan Bapak, yang telah membesarkan, mendidik, memberikan doa, dukungan dan semangat. Terima kasih atas semua perjuangan, pengorbanan, kesabaran dan kasih sayang yang telah kalian berikan
untukku.
Keluarga besar ibu dan bapak beserta teman-teman yang telah memberikan apresiasi.
Keluarga Ilmu Komputer 2011,
RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 8 Juli 1993 di Kota Bandar Lampung. Penulis
merupakan anak tunggal dari pasangan Suryahadi dan Robiah. Penulis
menyelesaikan pendidikan formal pertama kali di TK Kartika II-5 (Persit) Bandar
Lampung tahun 1999, kemudian melanjutkan pendidikan dasar di SD Kartika II-5
(Persit) Bandar Lampung dan selesai pada tahun 2005. Pendidikan menengah
pertama di SMP Negeri 4 Bandar Lampung dan diselesaikan penulis pada tahun
2008. Pendidikan menengah atas di SMA Negeri 3 Bandar Lampung dan
diselesaikan penulis pada tahun 2011.
Pada tahun 2011, penulis terdaftar sebagai mahasiswa Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung. Pada
bulan Juli tahun 2014, penulis melakukan Kerja Praktik di Badan Pusat Statistik
(BPS) Kota Bandar Lampung.
Selama kuliah, penulis terdaftar dan aktif sebagai Anggota Bidang Internal
Himpunan Mahasiswa Jurusan Ilmu Komputer (Himakom) pada kepengurusan
periode 2012-2013, kemudian menjadi Kepala Bidang (Kabid) Internal Himakom
pada periode 2013-2014, dan terakhir menjadi Koordinator Anggota Kehormatan
DAFTAR ISI
Halaman
HALAMAN JUDUL ... i
LEMBAR PERSETUJUAN ... ii
LEMBAR PENGESAHAN ... iii
LEMBAR PERNYATAAN ... iv
RIWAYAT HIDUP ... v
PERSEMBAHAN ... vi
MOTTO ... vii
SANWACANA ... viii
DAFTAR ISI ... xi
DAFTAR GAMBAR ... xv
DAFTAR TABEL ... xviii
I. PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 4
1.3 Batasan Masalah ... 4
1.4 Tujuan ... 4
1.5 Manfaat ... 5
II. TINJAUAN PUSTAKA ... 6
2.1 Android ... 6
2.1.1 Arsitektur Android ... 8
2.1.2 Versi Android ... 11
2.1.3 Android SDK ... 15
2.1.4 Eclipse ... 15
2.2.1 Sejarah Augmented Reality ... 21
2.2.2 MarkerlessAugmented Reality ... 22
2.3 Global Positioning System ... 22
2.4 Beyond Augmented Reality ... 24
2.5 Location Based Services ... 24
2.6 Point of Interest ... 26
2.7 Google Maps API ... 26
2.7.1 Pengertian API ... 26
2.7.2 Pengertian Google Maps API ... 27
2.8 Metodologi Pengembangan Sistem ... 27
2.8.1 Unified Process (UP) ... 27
2.8.2. Unified Modeling Language (UML) ... 29
1.Use case Diagram ... 30
2.Activity Diagram ... 33
3.Class Diagram ... 35
4.Statechart Diagram ... 37
5.Sequence Diagram ... 38
6.Collaboration Diagram ... 40
2.8.2.1 Keunggulan UML ... 41
2.9 Pengujian Perangkat Lunak ... 42
2.9.1 Teknik Pengujian Perangkat Lunak ... 43
2.9.2Equivalence Partitioning ... 44
2.9.3 Skala Likert ... 45
III.METODOLOGI PENELITIAN ... 46
3.1 Waktu dan Tempat Penelitian ... 46
3.2 Alat Pendukung Penelitian ... 46
3.3 Metodologi Penelitian ... 47
3.3.1 Alir Penelitian ... 47
3.3.2 Metode Pengembangan Sistem ... 51
4.Construction 2 ... 54
5.Transition ... 54
3.3.3 Jadwal Kegiatan Penelitian ... 55
3.3.4 Metode Pengumpulan Data ... 56
3.3.5 Jenis dan Sumber Data ... 56
3.4 Analisis dan Perancangan Sistem ... 57
3.4.1 Identifikasi Masalah ... 57
3.4.2 Analisis Sistem ... 58
3.4.3 Analisis User Requirement ... 58
3.4.4 Perancangan Sistem ... 58
3.4.4.1 Perancangan UML (Unified Modelling Language) ... 59
1.Use case Diagram ... 59
2.Activity Diagram ... 60
3.Class Diagram ... 63
4.Sequence Diagram ... 64
3.4.4.2 Perancangan Antarmuka ... 68
1.Layout Splash screen ... 68
2.Layout Menu Utama ... 69
3.Layout Menu Cari SPBU ... 70
a. Cari SPBU Berdasarkan Peta ... 71
b. Cari SPBU Berdasarkan Augmented Reality ... 72
4.Layout Menu Info SPBU... 73
5. Layout Menu Petunjuk ... 74
6.Layout Menu Pengaturan ... 75
7.Layout Menu Tentang ... 76
3.5 Metode Pengujian Sistem ... 77
IV.PEMBAHASAN ... 80
4.1 Hasil ... 80
4.2 Implemetasi Sistem ... 81
4.3.3 Tampilan Menu Cari SPBU ... 84
4.3.3.1 Cari SPBU Berdasarkan Peta ... 85
4.3.3.2 Cari SPBU Berdasarkan Augmented Reality (AR) ... 87
4.3.4 Tampilan Menu Info SPBU ... 88
4.3.5 Tampilan Menu Petunjuk ... 89
4.3.6 Tampilan Menu Pengaturan ... 90
4.3.7 Tampilan Menu Tentang ... 91
4.4 Hasil Pengujian ... 92
4.4.1 Pengujian Fungsional ... 92
4.4.2 Pengujian Non Fungsional ... 95
4.4.2.1 Variabel User Friendly ... 97
4.4.2.2 Variabel Interaktif ... 99
4.5 Review User ... 100
4.5.1 Point Of View Teknologi Markerless Augmented Reality ... 100
4.5.1.1Pengujian Kontur dan Jarak Dari Lokasi Pengambilan AR 101
V. KESIMPULAN DAN SARAN ... 104
5.1 Kesimpulan ... 104
5.2 Saran ... 105
SANWACANA
Puji syukur kehadirat Allah SWT karena berkah rahmat dan hidayah-Nya, kita masih diberikan kesempatan untuk hidup dan menikmati segala rezeki dari-Nya serta berkat bantuan-Nya pula penulis dapat menyelesaikan skripsi ini.
Skripsi ini disusun sebagai syarat untuk memperoleh gelar Sarjana Komputer di Jurusan Ilmu Komputer Universitas Lampung. Judul dari skripsi ini adalah
“Implementasi Teknologi Markerless Augmented Reality Berbasis Android Untuk Mendeteksi dan Mengetahui Lokasi SPBU Terdekat di Kota Bandar Lampung”.
Dalam penyusunan skripsi ini, penulis banyak menghadapi kesulitan. Namun, berkat bantuan dan dorongan dari berbagai pihak, akhirnya penulis dapat menyelesaikan skripsi ini. Untuk itu pada kesempatan ini, penulis mengucapkan terimakasih kepada:
1. Ibu dan Bapak yang telah memberikan doa, dukungan dan semangat serta memfasilitasi kebutuhan untuk menyelesaikan skripsi ini.
2. Seluruh keluarga yang ada di Muara dua (Sumatera Selatan) dan Tanjung Raja (Lampung Utara) yang telah membantu doa dan memberikan dukungannya kepada penulis.
skripsi ini.
5. Bapak Dr. Ir. Kurnia Muludi, M.Sc. sebagai pembahas, yang telah memberikan masukan-masukan yang bermanfaat dalam perbaikan skripsi ini.
6. Bapak Prof. Suharso, Ph.D. selaku Dekan FMIPA Universitas Lampung. 7. Bapak Ir. Machudor Yusman, M.Kom. selaku Ketua Jurusan Ilmu
Komputer Universitas Lampung dan juga selaku Pembimbing Akademik selama penulis menjadi mahasiswa Ilmu Komputer Universitas Lampung.
8. Bapak Dwi Sakethi, M.Kom. selaku Sekretaris Jurusan Ilmu Komputer Universitas Lampung.
9. Bapak dan Ibu Dosen Jurusan Ilmu Komputer : Pak Machudor Yusman, Pak Dwi Sakethi, Pak Didik Kurniawan, Pak Aristoteles, Pak Kurnia Muludi, Ibu Wamiliana, Ibu Anie Rose Irawati, Ibu Astria Hijriani, Ibu Ossy Dwi Endah, Pak Favorisen R. Lumbanraja, Pak Admi Syarif, Pak Rangga Firdaus, Pak Tristiyanto, Pak Rico Andrian, Pak Febi Eka, yang telah memberikan ilmu dan pengalaman dalam hidup untuk menjadi lebih baik.
10.Ibu Anita, A.Md. yang telah membantu segala urusan administrasi.
11.Ardi Yulianto dan Wibi Hastono yang telah banyak membantu pembuatan program atau coding dari aplikasi yang telah dibuat oleh penulis.
12.Rizqi, Indra, Harry, Riko, Panji, Pandya, Amir, Rahmat, Faisal, Bobby,
Bayu, Dana, dan Tryo yang merupakan teman-teman ngobeg yang telah membantu penulis dalam berbagi suka dan duka.
14.Keluarga KKN : Pakde Ndut beserta keluarga, Yogi, Ruhan, Bang Pep, Mey, Nadia, Pipit, Nafi, Vivi, Astari, Made, Febi.
15.Kakak-kakak Ilmu Komputer 2010 dan adik-adik Ilmu Komputer 2012, 2013, 2014, dan 2015.
16.Almamater tercinta.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, akan tetapi sedikit harapan semoga skripsi ini bermanfaat bagi perkembangan ilmu pengetahuan terutama bagi rekan-rekan Ilmu Komputer.
Bandar Lampung, 30 Oktober 2015
BAB I PENDAHULUAN
1.1Latar Belakang
Perkembangan teknologi saat ini lebih mengedepankan pada penggunaan perangkat
mobile seperti smartphone. Pada dasarnya smartphone diciptakan tidak hanya untuk
menelpon ataupun mengirim pesan saja, tetapi smartphone dapat melakukan beberapa
hal yang sebelumnya hanya bisa dilakukan pada perangkat PC (Personal Computer),
seperti mengakses internet, menonton video, mendengarkan musik, dan juga membaca
dokumen. Saat ini smartphone juga telah dilengkapi dengan fasilitas-fasilitas canggih
yang memungkinkan user melakukan apapun yang dia inginkan sesuai dengan
kebutuhannya seperti fasilitas kamera berkualitas tinggi dan juga pixel yang besar
sehingga dapat memungkinkan user untuk mengambil gambar dengan hasil yang
maksimal baik untuk foto maupun video, adapun fitur lain seperti GPS (Global
Positioning System), Wi-Fi hotspot, dan juga tethering.
Selain itu, saat ini smartphone juga telah dilengkapi dengan OS (Operating System)
seperti Android, iOS, dan juga Windows Phone. Khusus untuk sistem operasi Android
aplikasi-aplikasinya dipublikasikan, sehingga setiap orang dapat mengembangkan aplikasi
tersebut sesuai dengan keinginan dan juga kebutuhan masing-masing user.
Dewasa ini setiap orang membutuhkan kemudahan didalam melakukan berbagai
macam hal, tidak terkecuali kebutuhan akan BBM (Bahan bakar Minyak). Bagi
pengguna kendaraan bermotor yang masih menggunakan BBM sebagai bahan bakar
utama di dalam berkendara, BBM merupakan elemen penting agar kendaraan tersebut
bisa digunakan ataupun dijalankan sebagai mana mestinya. SPBU (Stasiun Pengisian
Bahan Bakar Umum) merupakan tempat dimana pengendara bisa membeli BBM
dengan berbagai jenis BBM sesuai dengan pilihan ataupun kebutuhan pengendara.
Akan tetapi saat ini belum terdapat sebuah aplikasi yang dapat memudahkan
pengendara untuk mencari dan menemukan dimana lokasi SPBU terdekat dari tempat
dia berada. Orang akan kesulitan untuk mencari dimana lokasi SPBU terdekat dari
tempat dia berada apalagi jika orang itu merupakan turis ataupun wisatawan yang
sedang berkunjung dan juga transit di suatu daerah. Oleh karena itu saat ini dibutuhkan
suatu aplikasi yang dapat memudahkan pengguna untuk melakukan pencarian lokasi
SPBU terdekat dari lokasi dia berada, dan diharapkan aplikasi ini dapat mempermudah
pengguna untuk mencari dimana lokasi SPBU terdekat, sehingga tidak ada lagi
pengendara yang mogok di jalan karena kehabisan bahan bakar.
Salah satu teknologi terkini yang dapat diaplikasikan ialah teknologi AR (Augmented
Reality) yang akan dipadukan dengan perangkat mobile seperti smartphone yang
menggunakan sistem operasi Android. Fitur-fitur yang terdapat di dalam Android
teknologi AR yang akan digunakan untuk pembuatan aplikasi ini sehingga nantinya
aplikasi ini dapat dijalankan dan diimplementasikan dengan baik. Augmented Reality
merupakan suatu teknologi yang memungkinkan menggabungkan antara dunia nyata
dengan dunia maya secara real time. Metode AR yang akan digunakan dalam penelitian
ini adalah Markerless Augmented Reality. Dengan metode ini pengguna tidak perlu
menggunakan marker atau gambar untuk menampilkan objek dalam bentuk digital,
karena Markerless Augmented Reality ini bekerja dengan mencari titik koordinat yaitu
latitude dan longitude menggunakan perangkat Android.
Pada penelitian sebelumnya mengenai pemanfaatan teknologi AR (Augmented Reality)
telah dilakukan oleh Prabawa (2013). Penelitian yang dia lakukan adalah membangun
sebuah aplikasi mobile berbasis pada pencarian lokasi untuk mempermudah pengguna
dalam pencarian lokasi fasilitas pariwisata dan sebagai penunjang pariwisata di Kota
Bandung. Kekurangan dalam aplikasi ini adalah pada tampilan map belum terdapat
fitur untuk mempermudah user menuju objek lokasi yang dituju.
Penelitian selanjutnya dilakukan oleh Laksono dan Rohman (2014). Penelitian yang
mereka lakukan yaitu tentang pemanfaatan Teknologi Augmented Reality Markerless
sebagai Media Pengenalan Gedung Universitas Kanjuruhan Malang Berbasis Android.
Penelitian ini dilakukan untuk membuat aplikasi yang dapat menampilkan informasi
lokasi dengan nama dari gedung yang ada di Universitas Kanjuruhan Malang dan akan
ditampilkan secara real time melalui kamera Android. Aplikasi ini dibangun
menggunakan library Wikitude. Kekurangan dari aplikasi ini adalah tidak
1.2Rumusan Masalah
Berdasarkan latar belakang tersebut, maka didapatkan rumusan masalah tentang
bagaimana cara mendeteksi dan mengetahui lokasi SPBU terdekat yang ada di Kota
Bandar Lampung dengan mengimplementasikan teknologi Markerless Augmented
Reality menggunakan smartphone berbasis Android.
1.3 Batasan Masalah
Batasan masalah dalam penelitian ini adalah sebagai berikut :
1. Aplikasi ini menerapkan teknologi Markerless Augmented Reality berbasis
Android.
2. Aplikasi ini dapat mendeteksi dan mengetahui lokasi SPBU terdekat yang ada di
Kota Bandar Lampung.
3. SPBU yang dapat dideteksi ataupun diketahui informasinya hanyalah SPBU yang
ada di dalam database.
1.4Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk membuat suatu aplikasi yang dapat
mempermudah user dalam mencari lokasi SPBU terdekat dari lokasi dia berada yaitu
dengan menggunakan teknologi Markerless Augmented Reality berbasis Android.
Selain dapat mendeteksi lokasi aplikasi ini juga dapat menampilkan informasi terkait
1.5Manfaat Penelitian
Manfaat dari penelitian ini adalah untuk memudahkan masyarakat umum dalam hal ini
sebagai user agar dapat mendeteksi ataupun mencari lokasi SPBU mana yang terdekat
dari lokasi dia berada. Aplikasi ini juga memberikan informasi terkait dengan
BAB II TINJAUAN PUSTAKA
2.1 Android
Android adalah sebuah sistem operasi untuk perangkat mobile yang menyertakan
middleware (virtual machine) dan sejumlah aplikasi utama. Android merupakan
modifikasi dari kernel Linux (Andry, 2011).
Pada awalnya sistem operasi ini dikembangkan oleh sebuah perusahaan bernama
Android, Inc. Dari sinilah awal mula nama Android muncul. Android Inc. Adalah
sebuah perusahaan start-up kecil yang berlokasi di Palo Alto, California, Amerika
Serikat yang didirikan oleh Andy Rubin bersama Rich Miner, Nick Sears, dan Chris
White. Pada bulan Juli 2005, perusahaan tersebut diakuisisi oleh Google dan para
pendirinya bergabung ke Google. Andy Rubin sendiri kemudian diangkat menjadi
Wakil Presiden divisi Mobile dari Google.
Tujuan pembuatan sistem operasi ini adalah untuk menyediakan platform yang
terbuka, yang memudahkan orang mengakses internet menggunakan telepon
seluler. Android juga dirancang untuk memudahkan pengembang membuat aplikasi
dengan batasan yang minim sehingga kreativitas pengembang menjadi lebih
Sebagai Open Source dan bebas dalam memodifikasi, di dalam Android tidak ada
ketentuan yang tetap dalam konfigurasi Software dan Hardware. Fitur- fitur yang
didapat dalam Android antara lain (Lee, 2011) :
1. Storage - Menggunakan SQLite, database yang ringan, untuk sebuah
penyimpanan data.
2. Connectivity - Mendukung GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,
3. Bluetooth (termasuk A2DP dan AVRCP), WiFi, LTE, dan WiMax.
4. Messaging–Mendukung SMS dan MMS
5. Web Browser– Berbasiskan open-source WebKit, bersama mesin
6. Chrome’s V8 JavaScript
7. Media support– Termasuk mendukung untuk beberapa media berikut :
o H.263, H.264 (dalam bentuk 3GP or MP4), MPEG-4 SP, AMR, AMRWB
(dalam bentuk 3GP), AAC, HE-AAC (dalam bentuk MP4 atau 3GP), MP3,
MIDI, Ogg Vorbis, WAV, JPEG, GIF, dan BMP.
8. Hardware support – Sensor akselerasi, Kamera, Kompas Digital, Sensor
Kedekatan, GPS.
9. Multi-touch–Mendukung multi-touch screens
10.Multi-tasking– Mendukung aplikasi multi-tasking
11.Flash-support– Android 2.3 mendukung Flash 10.1
12.Tethering – Mendukung pembagian dari koneksi Internet sebagai
wired/wireless hotspot
13.Play store – katalog aplikasi yang dapat di-download dan diinstal pada
14.Lingkungan pengembangan yang kaya, termasuk emulator, peralatan
debugging, dan plugin untuk Eclipse IDE.
2.1.1 Arsitektur Android
Arsitektur Android dapat dilihat pada Gambar 2.1.
Gambar 2.1 Arsitektur Android (Developers, 2011).
Berikut ini merupakan penjelasan dari Arsitektur Android tersebut.
1. Linux Kernel
Pada bagian paling bawah dari Android adalah Linux Kernel. Android
menggunakan modifikasi dari Linux Kernel versi 2.6. Bagian ini bertanggung
Android berjalan. Pemilihan Linux Kernel sebagai inti dari Android adalah karena
dukungan dan kestabilan terhadap berbagai macam komponen perangkat keras.
Pada bagian ini disediakan driver (program pengendali) perangakat keras,
pengelolaan memori, pengelolaan proses, pengelolaan jaringan, dan keamanan.
2. Libraries
Libraries merupakan kumpulan kode yang dapat digunakan oleh
komponen/program lain. Pada bagian ini kodenya ditulis menggunakan bahasa
pemrograman C/C++. Fungsi masing-masing komponen di libraries ini adalah
sebagai berikut :
1. Surface Manager : mengelola penggambaran dan komposisi komponen di layar
(jendela, tombol, teks input, objek tiga dimensi dan sebagainya).
2. Open GL|ES : engine grafis tiga dimensi.
3. SGL : engine grafis dua dimensi.
4. Media Framework : codecs untuk merekam dan memutar berbagai format video
dan audio.
5. Free Type : untuk rendering font.
6. SSL : untuk keamanan komunikasi jaringan.
7. SQLite : pengelolaan database untuk penyimpanan data.
8. Webkit : web browser engine Android.
3. Android Runtime
Pada bagian inilah aplikasi Android berjalan. Inilah bagian middleware yang
disebutkan pada definisi Android di awal. Aplikasi Android ditulis menggunakan
bahasa pemrograman Java dan untuk menjalankannya diperlukan sebuah virtual
machine yang akan menerjemahkan instruksi-instruksi program Java tersebut ke
instruksi yang dimengerti oleh sistem operasi. Namun berbeda dengan platform
lainnya, Android tidak menggunakan Java Virtual Machine (JVM), melainkan
menggunakan Dalvik Virtual Machine (DVM). Dalvik Virtual Machine adalah
sebuah virtual machine yang dioptimasi untuk perangkat yang memiliki memori
kecil, sumber tenaga terbatas, dan kemampuan prosesor yang kecil.
4. Application Framework
Bagian ini adalah framework atau perangkat yang dapat digunakan oleh
pengembang aplikasi dalam membuat aplikasi Android. Bagian ini menyertakan
program-program yang mengelola fungsi-fungsi dasar seperti informasi lokasi,
fungsi telepon, pengelolaan perpindahan antarprogram atau proses, dan sebagainya.
Pengembang aplikasi dapat memiliki akses framework yang sama dengan yang
dapat diakses oleh aplikasi-aplikasi utama dari Android (phone dialer, buku
telepon, SMS, e-mail, kalender, dan sebagainya). Disini terlihat keinginan dari
Android untuk menjadi platform yang terbuka, sehingga memungkinkan
pengembang aplikasi untuk lebih kreatif menciptakan aplikasi yang menarik dan
5. Applications
Pada bagian ini terdapat aplikasi-aplikasi yang dapat digunakan oleh pengguna
perangkat Android. Selain aplikasi inti seperti yang ada di diagram arsitektur,
aplikasi-aplikasi tambahan yang dipasang sendiri oleh pengguna akan menempati
bagian ini dan memiliki hak akses yang sama terhadap Application Framework.
Apabila diperlukan, pengguna ataupun vendor dapat menggantikan aplikasi inti
yang ada dengan aplikasi buatan sendiri yang memiliki fungsionalitas yang sama.
Hal ini membuat kustomisasi sistem operasi Android jauh lebih bebas dibandingkan
sistem operasi perangkat mobile lainnya.
2.1.2 Versi Android
Sejak pertama kali muncul sampai sekarang, Android telah memiliki sejumlah
pembaharuan. Pembaharuan ini dilakukan untuk memperbaiki bug dan menambah
fitur-fitur yang baru. Versi-versi yang ada pada Android yaitu (Developers, 2014) :
1. Android versi 1.0
Versi Android diawali dengan dirilisnya Android beta pada bulan November
2007. Versi komersial pertama, Android 1.0, dirilis pada September 2008.
Android dikembangkan secara berkelanjutan oleh Google dan Open Handset
Alliance (OHA), yang telah merilis sejumlah pembaruan sistem operasi ini
sejak dirilisnya versi awal.
2. Android versi 1.1
Pada tanggal 9 Maret 2009, Google merilis Android versi 1.1. Android ini
dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search,
3. Android versi 1.5 (Cupcake)
Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan
menggunakan Android dan SDK (Software Development Kit). Terdapat
beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler
versi ini, yaitu kemampuan merekam dan menonton video dengan kamera,
mengunggah video ke youtube dan gambar ke Picasa langsung dari telepon,
dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset
Bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan
sistem.
4. Android versi 1.6 (Donut)
Donut (versi 1.6) dirilis pada September 2009 dengan menampilkan proses
pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator
dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan
pengguna untuk memilih foto yang akan dihapus; kamera, camcorder dan galeri
yang dintegrasikan; CDMA / EVDO, 802.1x, VPN, Gestures, dan
Text-to-speech engine; kemampuan dial kontak; teknologi text to change speech. (tidak
tersedia pada semua ponsel; pengadaan resolusi VWGA.
5. Android versi 2.0/2.1 (Eclair)
Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi
2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan hardware,
peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan
dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2
6. Android versi 2.2 (Froyo: Frozen Yoghurt)
Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan.
Perubahan-perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan
Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat,
intergrasi V8 JavaScript engine yang dipakai Google Chrome yang
mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam
SD Card, kemampuan WiFi Hotspot portabel, dan kemampuan pembaruan
secara otomatis dalam aplikasi Android Market.
7. Android versi 2.3 (Gingerbread)
Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan.
Perubahan-perubahan umum yang didapat dari Android versi ini antara lain
peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste,
desain ulang layar antar muka (User Interface), dukungan format video VP8
dan WebM, efek audio baru (reverb, equalization, headphone virtualization, dan
bass boost), dukungan kemampuan Near Field Communication (NFC), dan
dukungan jumlah kamera yang lebih dari satu.
8. Android versi 3.0/3.1 (Honeycomb)
Android Honeycomb dirancang khusus untuk tablet. Android versi ini
mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb
juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung
multiprocessor dan juga akselerasi perangkat keras (hardware) untuk grafis.
Tablet pertama yang dibuat dengan menjalankan Honeycomb adalah Motorola
Indonesia. Perangkat yang pertama muncul bernama Eee Pad Transformer
produksi dari Asus yang masuk pasar Indonesia pada Mei 2011.
9. Android versi 4.0 (ICS: Ice Cream Sandwich)
Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Ice Cream
Sandwich untuk smartphone dan menambahkan fitur baru termasuk membuka
kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan
kontrol, terpadu kontak jaringan sosial, perangkat tambahan fotografi, mencari
email secara offline, dan berbagi informasi dengan menggunakan NFC. Ponsel
pertama yang menggunakan sistem operasi ini adalah Samsung Galaxy Nexus.
10.Android versi 4.1 - 4.3 (Jelly Bean)
Android Jelly Bean yang diluncurkan pada acara Google I/O lalu membawa
sejumlah keunggulan dan fitur baru. Penambahan baru diantaranya
meningkatkan input keyboard, desain baru fitur pencarian, user interface yang
baru dan pencarian melalui voice search yang lebih cepat.
11.Android versi 4.4 (KitKat)
Google mengumumkan Android 4.4 KitKat (dinamai dengan izin
dari Nestlé dan Hershey) pada 3 September 2013, dengan tanggal rilis 31
Oktober 2013. Terdapat beberapa fitur-fitur baru seperti pembaruan interface
dengan status bar dan navigasi transparan pada layar depan dan juga optimasi
kinerja pada perangkat dengan spesifikasi yang lebih rendah.
12.Android versi 5.0 (Lollipop)
Pembaruan utama terbaru versi Android adalah Lollipop 5.0, yang dirilis pada
3 November 2014. Lollipop adalah update Android paling besar dan ambisius
menggunakan OS Android L ini akan mampu berintegrasi antar perangkat
seperti smartphone, tablet dan smartwatch berbasis Android.
2.1.3 Android SDK
Android SDK adalah tools API (Application Programming Interface) yang
diperlukan untuk mulai mengembangkan aplikasi pada platform Android
menggunakan bahasa pemrograman Java. Android merupakan subset perangkat
lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci
yang di release oleh Google. Saat ini disediakan Android SDK (Software
Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi
pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform
aplikasi netral, Android memberikan anda kesempatan untuk membuat aplikasi
yang kita butuhkan yang bukan merupakan aplikasi bawaan Handphone atau
Smartphone (Developers, 2014).
2.1.4 Eclipse
Eclipse adalah sebuah komunitas bagi individu dan organisasi yang ingin
berkolaborasi secara commercially-friendly perangkat lunak bersifat opensource.
Proyek perusahaan terfokus pada membangun sebuah platform pengembangan
terbuka terdiri dari extensible framework, tools dan runtimes untuk membangun,
Berikut ini adalah sifat dari Eclipse:
1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows,
Linux, Solaris, AIX, HP-UX dan Mac OS X.
2. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java,
akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa
pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain
sebagainya.
3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun
bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat
lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan
lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open
source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak
ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah
kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang
dinamakan plug-in. Eclipse dibuat dari kerja sama antara perusahaan-perusahaan
anggota 'Eclipse Foundation' (beserta individu-individu lain). Banyak nama besar
yang ikut dalam 'Eclipse Foundation', termasuk IBM, BEA, Intel, Nokia, Borland.
Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan pada Eclipse
jauh lebih banyak dan bervariasi dibandingkan IDE lainnya. Berikut ini merupakan
plugin tambahan pada Eclipse :
1. IntelliJ IDEA
3. Xinox JCreator
2.1.5 Android Development Tools (ADT)
Android Development Tools adalah plugin yang didesain untuk IDE Eclipse yang
memberikan kita kemudahan dalam menggembangkan aplikasi Android. Dengan
adanya ADT untuk eclipse akan memudahkan developer dalam membuat aplikasi
project Android, membuat aplikasi GUI, dan menambahkan komponen-komponen
yang lainnya, begitu juga kita dapat melakukan running aplikasi menggunakan
Android SDK melalui Eclipse. Dengan ADT juga kita dapat membuat package
Android (.apk) yang digunakan untuk distribusi aplikasi Android yang kita rancang
(Developers, 2014).
2.1.6 Fundamental Aplikasi
Aplikasi Android ditulis dalam bahasa pemrograman Java, kode Java dikompilasi
bersama dengan data file resource yang dibutuhkan oleh aplikasi dimana prosesnya
di-package oleh toolsyang dinamakan “apt tools” ke dalam paket Android sehingga
menghasilkan file dengan ekstensi apk (Android Package). File apk itulah yang
sebenarnya kita sebut dengan aplikasi yang dapat diinstal di perangkat mobile
nantinya.
Ada empat jenis komponen pada aplikasi Android yaitu (Nazruddin, 2012) :
1. Activites
Suatu activity akan menyajikan User Interface (UI) kepada pengguna, sehingga
memiliki satu activity, tetapi umumnya aplikasi memiliki banyak activity
tergantung pada tujuan aplikasi dan desain dari aplikasi tersebut. Satu activity
biasanya akan dipakai untuk menampilkan aplikasi atau yang bertindak sebagai
user interface saat aplikasi diperlihatkan kepada user. Untuk pindah dari satu
activity ke activity yang lain kita dapat melakukan dengan satu even misalnya
klik tombol, memilih opsi atau menggunakan triggers tertentu. Secara hirarki
sebuah windows activity dinyatakan dengan method
Activity.setContentView(). ContentView adalah objek yang berada pada root
hirarki.
2. Service
Service tidak memiliki visual userinterface (UI), tetapi service berjalan secara
background, sebagai contoh dalam memainkan musik, service mungkin
memainkan musik atau mengambil data dari jaringan, tetapi setiap service
haruslah berada dalam kelas induknya. Misalnya media player sedang memutar
lagu dari list yang ada, aplikasi ini akan memiliki dua atau lebih activity yang
memungkinkan user untuk memilih lagu atau menulis SMS sambil player
sedang jalan. Untuk menjaga musik tetap dijalankan, activity player dapat
menjalankan service untuk membuat aplikasi tetap berjalan. Service dijalankan
pada thread utama daari proses aplikasi.
3. Broadcast Recevier
Broadcast Recevier berfungsi menerima dan bereaksi untuk menyampaikan
notifikasi. Broadcast Recevier tidak memiliki user interface (UI), tetapi
memiliki sebuah activity untuk merespon informasi yang mereka terima, atau
pengguna, seperti lampu latar atau vibrating (getaran) perangkat, dan lain
sebagainya.
4. Content Provider
Content provider membuat kumpulan aplikasi data secara spesifik sehingga bisa
digunakan oleh aplikasi lain. Data disimpan dalam file system seperti database
SQLite. Content Provider menyediakan cara untuk mengakses data yang
dibutuhkan oleh suatu activity. Misalnya ketika kita menggunakan aplikasi yang
membutuhkan peta atau aplikasi yang membutuhkan cara untuk mengakses data
kontak untuk navigasi, maka disinilah fungsi content provider.
2.2 Augmented Reality
Augmented Reality (AR) adalah sebuah istilah untuk lingkungan yang
menggabungkan dunia nyata dan dunia virtual yang dibuat oleh komputer sehingga
batas antara keduanya menjadi sangat tipis. Sistem ini lebih dekat kepada
lingkungan nyata (real). Karena itu, reality lebih diutamakan pada sistem ini (Brian,
2009).
Ronald Azuma pada tahun 1997 mendefinisikan Augmented Reality sebagai sistem
yang memiliki karakteristik sebagai berikut :
1. Menggabungkan lingkungan nyata dan virtual
2. Berjalan secara interaktif dalam waktu nyata
Lebih lanjut, Azuma menuliskan bahwa secara sederhana AR bisa didefinisikan
sebagai lingkungan nyata yang ditambahkan objek virtual. Penggabungan objek
nyata dan virtual dimungkinkan dengan teknologi display yang sesuai,
interaktivitas dimungkinkan melalui perangkat-perangkat input tertentu.
AR merupakan variasi dari Virtual Environments (VE), atau yang lebih dikenal
dengan istilah Virtual Reality (VR). Teknologi VR membuat pengguna tergabung
dalam sebuah lingkungan virtual secara keseluruhan. Ketika tergabung dalam
lingkungan tersebut, pengguna tidak bisa melihat lingkungan nyata di sekitarnya.
Sebaliknya, AR memungkinkan pengguna untuk melihat lingkungan nyata, dengan
objek virtual yang ditambahkan atau tergabung dengan lingkungan nyata. Tidak
seperti VR yang sepenuhnya menggantikan lingkungan nyata, AR sekedar
menambahkan atau melengkapi lingkungan nyata (Azuma, 1997).
Dengan bantuan teknologi Augmented Reality, lingkungan nyata di sekitar kita akan
dapat berinteraksi dalam bentuk digital (virtual). Informasi-informasi tentang obyek
dan lingkungan disekitar kita dapat ditambahkan ke dalam sistem Augmented
Reality yang kemudian informasi tersebut ditampilkan diatas layer dunia nyata
secara real-time seolah-olah informasi tersebut adalah nyata (Fernando, 2013).
Augmented Reality merupakan salah satu cabang di bidang teknologi yang belum
terlalu lama, namun memiliki perkembangan yang sangat cepat. Perkembangan
yang paling cepat (Fernando, 2013). Berikut ini merupakan penjelasan lebih lanjut
mengenai Augmented Reality.
2.2.1 Sejarah Augmented Reality
Sejarah tentang Augmented Reality dimulai dari tahun 1957-1962, ketika seorang
penemu yang bernama Morton Heilig, seorang sinematografer, menciptakan dan
memapatenkan sebuah simulator yang disebut Sensorama dengan visual, getaran
dan bau. Pada tahun 1966, Ivan Sutherland menemukan head-mounted display yang
dia klaim adalah jendela ke dunia virtual. Tahun 1975 seorang ilmuwan bernama
Myron Krueger menemukan Videoplace yang memungkinkan pengguna, dapat
berinteraksi dengan objek virtual untuk pertama kalinya. Tahun 1989, Jaron Lanier
memeperkenalkan Virtual Reality dan menciptakan bisnis komersial pertama kali
di dunia maya, Tahun 1992 mengembangkan Augmented Reality untuk melakukan
perbaikan pada pesawat boeing, dan pada tahun yang sama, LB Rosenberg
mengembangkan salah satu fungsi sistem AR, yang disebut Virtual Fixtures, yang
digunakan di Angkatan Udara AS Armstrong Labs, dan menunjukan manfaatnya
pada manusia, dan pada tahun 1992 juga, Steven Feiner, Blair Maclntyre dan dorée
Seligmann, memperkenalkan untuk pertama kalinya Major Paper untuk
perkembangan Prototype AR (Ramadar, 2014).
Pada tahun 1999, Hirokazu Kato, mengembangkan ArToolkit di HITLab dan
didemonstrasikan di SIGGRAPH, pada tahun 2000, Bruce. H. Thomas,
mengembangkan ARQuake, sebuah Mobile Game AR yang ditunjukan di
Pada tahun 2008, Wikitude AR Travel Guide, memperkenalkan Android G1
Telephone yang berteknologi AR. tahun 2009, Saqoosha memperkenalkan
FLARToolkit yang merupakan perkembangan dari ArToolkit. FLARToolkit
memungkinkan untuk memasang teknologi AR di sebuah website, karena output
yang dihasilkan FLARToolkit berbentuk Flash. Ditahun yang sama, Wikitude
Drive meluncurkan sistem navigasi berteknologi AR di Platform Android. Tahun
2010, Acrossair menggunakan teknologi AR pada iPhone 3Gs (Sutoyo, 2009).
2.2.2 Markerless Augmented Reality
Salah satu metode Augmented Reality yang saat ini sedang berkembang adalah
metode "Markerless Augmented Reality", dengan metode ini pengguna tidak perlu
lagi menggunakan sebuah marker untuk menampilkan elemen-elemen digital
(Fernando, 2013).
Seperti yang saat ini dikembangkan oleh perusahaan Augmented Reality terbesar di
dunia Total Immersion dan Qualcomm, mereka telah membuat berbagai macam
teknik Markerless Tracking sebagai teknologi andalan mereka, seperti Face
Tracking, 3D Object Tracking, Motion Tracking dan GPS Tracking (Qualcomm,
2012).
2.3 Global Positioning System
Global Positioning System (GPS) merupakan sebuah infrastruktur satelit yang
melayani penempatan posisi dari berbagai macam objek (Spiekermann 2004). GPS
pertama kali di digunakan untuk kepentingan militer, tetapi pada tahun 1980-an
bebas dan tersedia untuk berbagai macam industri di dunia. Contoh pengaplikasian
[image:43.595.136.487.139.400.2]GPS disajikan pada Gambar 2.2
Gambar 2.2 Global Positioning System (Spiekermann 2004).
Menurut (Roth 2004) sistem GPS terdiri atas 3 segmen yaitu:
1. User segment yang terdiri atas perangkat bergerak dari pengguna (GPS
receivers)
2. Space segment yang terdiri atas satelit. Setiap satelit mempunyai berat antara
1.5 sampai 2 ton dan mempunyai energi yang swatantra yang disuplai oleh sel
matahari.
3. Control segment administrasi yang dibutuhkan oleh satelit sebagai koreksi dari
2.4Beyond Augmented Reality
Beyond Augmented Reality (BeyondAR) adalah framework yang dirancang untuk
para pengembang dengan konsep Augmented Reality berbasis geolokasi pada
smartphone dan tablet. BeyondAR bersifat open source code (lisensi Apache 2.0),
dan untuk saat ini BeyondAR hanya mendukung platform Android (termasuk
Google Glass).
Framework ini dikembangkan oleh Joan Puig Sanz (Telecomunications engineer.
Master of telecomunication MASTEAM. By UPC dan Aalborg University)
(BeyondAR, 2015).
Gambar 2.3Beyond AR(BeyondAR, 2015).
2.5Location Based Services
Location Based Services (LBS) adalah layanan informasi yang mengutilisasi
kemampuan untuk menggunakan informasi lokasi dari perangkat bergerak dan
dapat diakses dengan perangkat bergerak melalui jaringan telekomunikasi bergerak
Dalam Layanan Berbasis Lokasi terdapat Lima komponen penting seperti terlihat pada Gambar 2.4. Setiap komponen mempunyai fungsi (Steiniger, 2006) :
1. Mobile Devices: Suatu alat yang digunakan oleh pengguna untuk meminta informasi yang dibutuhkan. Informasi dapat diberikan dalam bentuk suara, gambar, dan text.
2. Comunication Network: Komponen kedua adalah jaringan komunikasi yang mengirim data pengguna dan informasi yang diminta dari Mobile terminal ke Service Provider kemudian mengirimkan kembali informasi yang diminta ke pengguna. Communication network dapat berupa jaringan seluler (GSM, CDMA), Wireless Local Area Network (WLAN), atau Wireless Wide Area Network (WWAN)
3. Positioning Component: Untuk memproses suatu layanan maka posisi pengguna harus diketahui
4. Service and Aplication Provider: Penyedia layanan menawarkan berbagai macam layanan kepada pengguna dan bertanggung jawab untuk memproses informasi yang diminta oleh pengguna.
5. Data and Content Provider: Penyedia layanan tidak selalu menyimpan semua data yang dibutuhkan yang bisa diakses oleh pengguna. Untuk itu, data dapat diminta dari data dan contentprovider.
2.6 Point Of Interest
Point Of Interest (POI) merupakan sebuah tempat, produk atau layanan dengan
sebuah lokasi tetap, khususnya diidentifikasi berdasarkan nama, alamat dan juga
berdasarkan tipenya (Shekhar et al. 2004). Contoh utama dari POI seperti SPBU,
restoran, hotel, Automatic Teller Machine (ATM) dan lain sebagainya. Contoh
gambar dari point of interest disajikan pada Gambar 2.5.
Gambar 2.5 Point of Interest (Shekhar et al. 2004).
2.7Google Maps API
Terdapat 2 pengertian di dalam Google Maps API yaitu pengertian tentang API dan
juga pengertian tentang Google Maps itu sendiri.
2.7.1 Pengertian API
Application Programming Interface (API) bukan hanya satu set class dan method
atau fungsi dan signature yang sederhana. API yang bertujuan utama untuk
mengatasi “clueless” dalam membangun software yang berukuran besar, berawal
dari sesuatu yang sederhana sampai ke yang kompleks dan merupakan perilaku
2.7.2 Pengertian Google Maps API
Seperti yang tercatat oleh Svennerberg, Google Maps API adalah API yang paling
populer di internet. Pencatatan yang dilakukan pada bulan Mei tahun 2010 ini
menyatakan bahwa 43% mashup (aplikasi dan situs web yang menggabungkan dua
atau lebih sumber data) menggunakan Google Maps API. Beberapa tujuan dari
penggunaan Google Maps API adalah untuk melihat lokasi, mencari alamat,
mendapatkan petunjuk mengemudi dan lain sebagainya (Halim, 2011).
2.8 Metodologi Pengembangan Sistem
Adapun metodologi yang digunakan dalam pembuatan aplikasi pencarian lokasi
SPBU terdekat yang ada di Kota Bandar Lampung ini menggunakan teknologi
Augmented Reality berbasis android yang meliputi : Unified Process (UP) dan
desain menggunakan Unified Modeling Language (UML). Berikut merupakan
penjelasan lebih rinci dari masing-masing metodologi.
2.8.1 Unified Process (UP)
Unified Process adalah salah satu model pengembangan software yang populer
yang digunakan untuk membangun sistem yang object-oriented (Larman, 2002).
Unified Process mengkombinasikan pendekatan umum terbaik, seperti siklus
iteratif dan pengembangan dengan resiko yang terkendali, menjadi sebuah deskripsi
yang terdokumentasi dengan baik dan bersifat kohesif.
Unified Process merupakan dasar dari beberapa model pemrosesan software lain,
lain-lain (Kroll dan MacIsaac, 2006). Siklus dari Unified Process disajikan pada
Gambar 2.6.
Gambar 2.6 Siklus Unified Process (Kroll dan MacIsaac, 2006).
Siklus Unified Process membagi sebuah proyek menjadi 4 fase besar, (Kroll dan
MacIsaac, 2006) antara lain :
1. Inception, memperkirakan visi, meninjau resiko-resiko yang terdapat dalam
bisnis dan menjadikannya permasalahan dalam bisnis, membuat ruang lingkup
sistem, dan estimasi ketidakpastian.
2. Elaboration, merevisi visi yang ada, mengurangi resiko terbesar dengan cara
menangani tugas-tugas tersulit yang ada agar estimasi biaya dan penjadwalan
dapat diperbarui, dan mendesain, mengimplementasikan, testing, dan membuat
garis besar inti arsitektur, mengidentifikasi kebutuhan dan ruang lingkup yang
paling besar.
3. Construction, membangun keseluruhan sistem mulai dari elemen terbesar
hingga yang terkecil secara bertahap. Akhir dari fase ini adalah sebuah sistem
software tahap beta yang sudah terdokumentasi dan dapat digunakan oleh
4. Transition, testing sistem dan memenuhi sisa kebutuhan pengguna yang masih
belum terpenuhi sebelum dilepas ke pasaran.
Seperti yang terlihat pada Gambar 2.6, setiap fase pada Unified Process memiliki
iterasinya sendiri-sendiri dimana dari setiap iterasi tersebut akan menghasilkan
sistem yang bekerja sampai pada tahap tertentu sehingga memungkinkan pengguna
melihat peningkatan yang terjadi.
2.8.2.Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung
oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem
perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman
berorientasi objek (OO). Definisi ini merupakan definisi yang sederhana. Pada
kenyataannya, pendapat orang – orang tentang UML berbeda satu sama lain. Hal
ini dikarenakan oleh sejarahnya sendiri dan oleh perbedaan persepsi tentang apa
yang membuat sebuah proses rancang – bangun perangkat lunak efektif.
Unified Modeling Language (UML) merupakan strandar yang relatif terbuka yang
dikontrol oleh Object Management Group (OMG), sebuah konsorsium terbuka
yang terdiri dari banyak perusahaan. OMG dibentuk untuk membuat standar –
standar yang mendukung interoperabilitas, khusunya interoperabilitas sistem
berorientasi objek. OMG mungkin lebih dikenal dengan standar – standar COBRA
UML lahir dari penggabungan banyak bahasa permodelan grafis berorientasi objek
yang berkembang pesat pada akhir 1980-an dan awal 1990-an. UML dibuat oleh
Grady Booch, James Rumbaugh, dan Ivar Jacobson di bawah bendera Rational
Software Corp. UML menyediakan notasi-notasi yang membantu memodelkan
sistem dari berbagai perspektif. UML tidak hanya digunakan dalam pemodelan
perangkat lunak, namun hampir dalam semua bidang yang membutuhkan
pemodelan (Fowler, 2004).
UML dideskripsikan oleh beberapa diagram, yaitu sebagai berikut.
1. Use case Diagram
Use case Diagram digunakan untuk menggambarkan sistem dari sudut pandang
pengguna sistem tersebut (user), sehingga pembuatan use case diagram lebih
dititikberatkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur
atau urutan kejadian. Sebuah use case diagram merepresentasikan sebuah interaksi
antara aktor dengan sistem (Fowler, 2004).
Komponen-komponen dalam use case diagram (Fowler, 2004) :
a. Aktor
Pada dasarnya aktor bukanlah bagian dari use case diagram, namun untuk dapat
terciptanya suatu use case diagram diperlukan aktor, dimana aktor tersebut
mempresentasikan seseorang atau sesuatu (seperti perangkat atau sistem lain)
yang berinteraksi dengan sistem yang dibuat. Sebuah aktor mungkin hanya
memberikan informasi inputan pada sistem, hanya menerima informasi dari
hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case.
[image:51.595.300.377.152.229.2]Aktor digambarkan dengan stick pan seperti yang terdapat pada Gambar 2.7.
Gambar 2.7 Contoh Aktor (Fowler, 2004).
b. Use Case
Gambaran fungsionalitas dari suatu sistem, sehingga pengguna sistem paham
dan mengerti kegunaan sistem yang akan dibangun. Bentuk use case dapat
terlihat pada Gambar 2.8.
Gambar 2.8 Use Case (Fowler, 2004).
Ada beberapa relasi yang terdapat pada use case diagram:
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga pewarisan (inheritance), sebuah elemen dapat
merupakan spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam beberapa cara ke element
lainnya.
Tipe relasi yang mungkin terjadi pada use case diagram:
1. <<include>>, yaitu kelakuan yang harus terpenuhi agar sebuah event dapat
terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case
lainnya.
2. <<extends>>, kelakuan yang hanya berjalan di bawah kondisi tertentu seperti
menggerakkan peringatan
3. <<communicates>>, merupakan pilihan selama asosiasi hanya tipe
relationship yang dibolehkan antara aktor dan use case.
[image:52.595.173.509.357.671.2]Berikut adalah bentuk dari use case diagram yang dapat dilihat pada Gambar 2.9.
2. Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan
aktivitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk
aktifitas lainnya (Fowler, 2004).
Notasi Activity Diagram dapat dilihat pada Tabel 2.1.
Tabel 2.1 Notasi Activity Diagram(Meildy, 2014).
Simbol Keterangan
Titik Awal
Titik Akhir
Activity
Pilihan untuk mengambil keputusan
Fork; Digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel atau untuk menggabungkan dua kegiatan paralel menjadi satu.
Rake; Menunjukkan adanya dekomposisi
Tanda Waktu
Tanda pengiriman
Tanda penerimaan
Aliran akhir (Flow Final)
Diagram ini mirip dengan flowchart karena memodelkan workflow dari satu
diagram pada awal pemodelan proses dapat membantu memahami keseluruhan
proses. Activity diagram digunakan untuk menggambarkan interaksi antara
beberapa use case (Fowler, 2004).
Berikut adalah bentuk dari activity diagram yang dapat dilihat pada Gambar 2.10.
3. Class Diagram
Class adalah sebuah spesifikasi yang akan menghasilkan sebuah objek dan
merupakan inti dari pengembangan dan desain berorientasi objek. Class
menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan
layanan untuk memanipulasi keadaan tersebut (metode/fungsi). Class Diagram
menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan
satu sama lain seperti pewarisan, asosiasi, dan lain-lain (Fowler, 2004).
Bentuk dari class diagram dapat terlihat pada Gambar 2.11.
Class memiliki tiga area pokok :
1. Nama (ClassName)
2. Atribut
3. Metode (Operations)
Pada UML, class digambarkan dengan segi empat yang dibagi beberapa bagian.
Bagian atas merupakan nama dari class. Bagian yang tengah merupakan struktur
dari class (atribut) dan bagian bawah merupakan sifat dari class (metode/operasi).
Atribut dan metode dapat memiliki salah satu sifat berikut :
1. Private , tidak dapat dipanggil dari luar class yang bersangkutan.
2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan class lain
yang mewarisinya.
3. Public, dapat dipanggil oleh class lain (Fowler, 2004).
Hubungan antar class:
Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang
memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi
class lain.
1. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas”).
2. Pewarisan, yaitu hubungan hirarki antar class. Class dapat diturunkan dari class
lain dan mewarisi semua atribut dan metode class asalnya serta bisa
menambahkan fungsionalitas baru. Sehingga class tersebut disebut anak dari
3. Hubungan dinamis, yaitu rangkaian pesan (message) yang di- class dari satu
class kepada class lain. Hubungan dinamis dapat digambarkan dengan
menggunakan sequence diagram yang akan dijelaskan kemudian (Fowler,
2004).
4. Statechart Diagram
Menggambarkan semua state (kondisi) yang dimiliki oleh suatu objek dari suatu
class dan keadaan yang menyebabkan state berubah. Statechart diagram tidak
digambarkan untuk semua class, hanya yang mempunyai sejumlah state yang
terdefinisi dengan baik dan kondisi class berubah oleh state yang berbeda. State
adalah sebuah kondisi selama kehidupan sebuah objek atau ketika objek memenuhi
beberapa kondisi, melakukan beberapa aksi atau menunggu sebuah event. State dari
sebuah objek dapat dikarakteristikkan oleh nilai dari satu atau lebih atribut-atribut
dari class. State dari sebuah objek ditemukan dengan pengujian/pemeriksaan pada
atribut dan hubungan dari objek. Notasi UML untuk state adalah persegi
panjang/bujur sangkar dengan ujung yang dibulatkan. Masing-masing diagram
harus mempunyai satu dan hanya satu start state ketika objek mulai dibuat. Sebuah
objek boleh mempunyai banyak stopstate. (Fowler, 2004).
Sebuah state transition dapat mempunyai sebuah aksi dan/atau sebuah kondisi
penjaga (guard condition) yang terasosiasi dengannnya, dan mungkin juga
memunculkan sebuah event. Sebuah aksi adalah kelakuan yang terjadi ketika state
transition terjadi. Sebuah event adalah pesan yang dikirim ke objek lain di sistem.
atribut-atribut yang mengijinkan sebuah state transition hanya jika kondisinya benar.
Kedua aksi dan penjaga adalah kelakuan dari objek dan secara tipikal menjadi
operasi (Fowler, 2004). Contoh statechart diagram disajikan pada Gambar 2.12.
Gambar 2.12 Contoh Statechart Diagram (uml-diagrams.org, 2014).
5. Sequence Diagram
Menggambarkan interaksi antara sejumlah objek dalam urutan waktu.
Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara objek juga
interaksi antar objek yang terjadi pada titik tertentu dalam eksekusi sistem. (Fowler,
2014).
Notasi Sequence Diagram dapat dilihat pada Tabel 2.2.
Tabel 2.2 Notasi Sequence Diagram(Meildy, 2014).
Simbol Nama Keterangan
Object Object merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal.
Simbol Nama Keterangan
didalamnya yang diawali dengan sebuah titik koma
Actor Actor juga dapat berkomunikasi dengan object, maka actor juga dapat diurutkan sebagai kolom. Simbol Actor sama dengan simbol pada Actor Use Case Diagram.
Lifeline Lifeline mengindikasikan keberadaan sebuah object dalam basis waktu. Notasi untuk Lifeline adalah garis putus-putus vertikal yang ditarik dari sebuah obyek.
Activation Activation dinotasikan sebagai sebuah kotak segi empat yang digambar pada sebuah lifeline. Activation mengindikasikan sebuah obyek yang akan
melakukan sebuah aksi.
Message Message, digambarkan dengan anak panah horizontal antara Activation. Message
mengindikasikan komunikasi
Berikut adalah contoh dari sequence diagram yang dapat dilihat pada Gambar
2.13.
Gambar 2.13 Contoh Sequence Diagram (uml-diagrams.org, 2014).
6. Collaboration Diagram
Diagram ini menggambarkan interaksi objek yang diatur objek sekelilingnya dan
hubungan antara setiap objek dengan objek yang lainnya. Dalam menunjukkan
pertukaran pesan, collaboration diagram menggambarkan objek dan hubungannya
diagram, tapi jika penekanannya pada konteks gunakan collaboration diagram
Contoh dari collaboration diagram dapat dilihat pada Gambar 2.14 (Fowler, 2004).
Gambar 2.14 Contoh Collaboration Diagram (Fowler, 2014).
2.8.2.1 Keunggulan UML
Secara umum UML diterapkan dalam pengembangan sistem/perangkat lunak
berorientasi obyek sebab metodologi UML ini umumnya memiliki
keunggulan-keunggulan sebagai berikut (Nugroho, 2005) :
1. Uniformity. Dengan metodologi UML, para pengembang cukup menggunakan
dilakukan dalam metodologi pengembangan terstruktur. Dengan
perkembangan masa kini ke arah aplikasi GUI (Graphical User Interface),
UML juga memungkinkan kita merancang komponen antarmuka pengguna
(user interface) secara integrasi bersama dengan perancangan perangkat lunak
sekaligus dengan perancangan basis data.
2. Understandability. Dengan metodologi ini kode yang dihasilkan dapat
diorganisasi ke dalam kelas-kelas yang berhubungan dengan masalah
sesungguhnya sehingga lebih mudah dipahami siapapun juga.
3. Stability. Kode program yang dihasilkan relatif stabil ssepanjang waktu sebab
sangat mendekati permasalahan sesungguhnya di lapangan.
4. Reusability. Dengan metodologi berorientasi obyek, dimungkinkan
penggunaan ulang kode, sehingga pada gilirannya akan sangat mempercepat
waktu pengembangan perangkat lunak.
2.9 Pengujian Perangkat Lunak
Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah
perangkat lunak secara manual maupun otomatis untuk menguji apakah perangkat
lunak sudah memenuhi persyaratan atau belum (Clune, 2011). Singkat kata,
pengujian adalah aktivitas untuk menemukan dan menentukan perbedaan antara
hasil yang diharapkan dengan hasil sebenarnya. Berikut merupakan penjelasan
lebih rinci dari pengujian perangkat lunak baik itu teknik maupun metode yang
2.9.1 Teknik Pengujian Perangkat Lunak
Ada dua macam pendekatan kasus uji yaitu white-box dan black-box. Pendekatan
white-box adalah pengujian untuk memperlihatkan cara kerja dari produk secara
rinci sesuai dengan spesifikasinya (Jiang, 2012). Jalur logika perangkat lunak akan
dites dengan menyediakan kasus uji yang akan mengerjakan kumpulan kondisi dan
pengulangan secara spesifik. Sehingga melalui penggunaan metode ini akan dapat
memperoleh kasus uji yang menjamin bahwa semua jalur independen pada suatu
model telah diigunakan minimal satu kali, penggunaan keputusan logis pada sisi
benar dan salah, pengeksekusian semua loop dalam batasan dan batas operasional
perekayasa, serta penggunaan struktur data internal guna menjamin validitasnya
(Pressman, 2010).
Pendekatan black-box merupakan pendekatan pengujian untuk mengetahui apakah
semua fungsi perangkat lunak telah berjalan semestinya sesuai dengan kebutuhan
fungsional yang telah didefinisikan (Jiang, 2012). Kasus uji ini bertujuan untuk
menunjukkan fungsi perangkat lunak tentang cara beroperasinya. Teknik pengujian
ini berfokus pada domain informasi dari perangkat lunak, yaitu melakukan kasus
uji dengan mempartisi domain input dan output program. Metode black-box
memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi
input yang sepenuhnya