IMPLEMENTASI TEKNOLOGI MARKERLESS AUGMENTED REALITY BERBASIS ANDROID SEBAGAI MEDIA PENGENALAN GEDUNG-GEDUNG DI FMIPA UNIVERSITAS LAMPUNG

(1)

ABSTRAK

IMPLEMENTASI TEKNOLOGI MARKERLESS AUGMENTED REALITY BERBASIS ANDROID

SEBAGAI MEDIA PENGENALAN GEDUNG-GEDUNG DI FMIPA UNIVERSITAS LAMPUNG

Oleh

ARDI YULIYANTO

Markerless 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. Teknologi Markerless AR dapat digunakan untuk memvisualisasikan informasi secara interaktif, terlebih apabila teknologi ini dipadukan dengan perangkat komunikasi bergerak 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 AR diimplementasikan pada gedung-gedung di lingkungan Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Universitas Lampung, dengan tujuan untuk membuat aplikasi yang menyajikan informasi mengenai gedung-gedung di FMIPA, peta FMIPA dan informasi-informasi mengenai FMIPA yang dapat diakses melalui smartphone Android. 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 FMIPA. Hasil data pengujian menggunakan pengujian Equivalence Partitioning, menunjukkan bahwa aplikasi ini dapat berfungsi sesuai analisis. Selain itu berdasarkan data angket, aplikasi ini adalah aplikasi yang user friendly (dengan nilai rata 4,31 / sangat baik), dan interaktif (dengan nilai rata-rata 4,23 / baik).

Kata kunci : Android, Aplikasi, Augmented Reality, ARMIPA, Peta, Markerless Augmented Reality


(2)

ABSTRACT

IMPLEMENTATION OF MARKERLESS AUGMENTED REALITY TECHNOLOGY BASED ON ANDROID

AS IDENTIFICATION MEDIA OF

FMIPA LAMPUNG UNIVERSITY BUILDINGS

By

ARDI YULIYANTO

Markerless Augmented Reality (AR) is a term for an environment that combines real world and the virtual world, where objects in the real world can be recognized through the position, direction and location. Markerless AR technology can be used to interactively visualize information, especially when the technology is combined with a mobile communication device such as a smartphone that has the Android operating system. Camera features, internet, accelerometer, digital maps and GPS (Global Positioning System) on Android devices can be integrated so that AR technology can be implemented. In this study, Markerless AR technology is implemented in the Faculty of Mathematics and Natural Science (Science) University of Lampung buildings. The aim of this study is to create an application that provides information about the buildings, it is show Faculty maps and information about the Natural Sciences accessible via Android smartphones. This application is designed and then implemented using the Java programming language for Android and BeyondAR framework support to detect and display the AR object and the Google Maps API to display a map of the Science Faculty. The results of data test using Equivalence Partitioning test shown the application functionate well according to the analysis. In addition, based on questionnaire data, that the application is a user friendly application (with an average value of 4.31 / very good), and interactive (with an average value of 4.23 / good).

Key words : Android, Application, ARMIPA, Augmented Reality, Maps, Markerless Augmented Reality


(3)

IMPLEMENTASI TEKNOLOGI MARKERLESS AUGMENTED REALITY BERBASIS ANDROID

SEBAGAI MEDIA PENGENALAN GEDUNG-GEDUNG DI FMIPA UNIVERSITAS LAMPUNG

Oleh

ARDI YULIYANTO

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

BANDAR LAMPUNG 2015


(4)

(5)

(6)

(7)

RIWAYAT HIDUP

Penulis dilahirkan pada tanggal 3 Juli 1993 di Sukaraja, Kabupaten Pesawaran, Lampung. Penulis merupakan anak keempat dari empat bersaudara pasangan Sudarmono dan Sutarti.

Penulis menyelesaikan pendidikan formal pertama kali di TK Pertiwi Gedong Tataan tahun 1999, kemudian melanjutkan pendidikan dasar di SD Negeri 1 Bagelen dan selesai pada tahun 2005. Pendidikan menengah pertama di SMP Negeri 1 Gedong Tataan diselesaikan penulis pada tahun 2008. Pendidikan menengah atas di SMA Adiguna Bandar Lampung 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 Agustus tahun 2014, penulis melakukan Kerja Praktik di Badan Pusat Statistik Kabupaten Pesawaran, Lampung.

Selama kuliah, penulis terdaftar sebagai Anggota Bidang Internal Himpunan Mahasiswa Jurusan Ilmu Komputer pada periode 2012-2013.


(8)

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.

Kakak-kakak dan Keluargaku yang telah memberikan apresiasi.

Keluarga Ilmu Komputer 2011,

Serta Almamater Tercinta, Universitas Lampung.


(9)

MOTTO

“Sesungguhnya sesudah kesulitan itu ada kemudahan” (QS. Al-Insyirah : 6)

“Seorang yang berani, bersedia melakukan sesuatu yang penting bagi kecemerlangan hidupnya,

meskipun dia belum berpengalaman,

meskipun banyak orang meragukan kesempatan keberhasilannya, meskipun telah banyak orang gagal dalam upaya yang sama,

meskipun sama sekali tidak ada jaminan, meskipun sebetulnya dia sangat ketakutan, dan meskipun lebih mungkin baginya untuk gagal.”

(Mario Teguh)

“Sesulit apapun masalah yang kau hadapi, jangan pernah menyerah. Ingatlah orang-orang hebat lahir dari kesulitan yang luar biasa.”


(10)

SANWACANA

Puji syukur penulis panjatkan kehadirat Allah subhanahu wa ta’ala atas berkat rahmat, hidayah, dan kesehatan yang diberikan kepada penulis sehingga dapat menyelesaikan penulisan tugas akhir ini.

Tugas akhir ini disusun sebagai syarat untuk memperoleh gelar Sarjana Komputer di Jurusan Ilmu Komputer Universitas Lampung. Judul dari tugas akhir ini adalah

“Implementasi Teknologi Markerless Augmented Reality Berbasis Android sebagai Media Pengenalan Gedung - Gedung di FMIPA Universitas Lampung”.

Dalam penyusunan tugas akhir ini, penulis banyak menghadapi kesulitan. Namun, berkat bantuan dan dorongan dari berbagai pihak, akhirnya penulis dapat menyelesaikan tugas akhir 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. Bapak Didik Kurniawan S.Si., M.T.sebagai pembimbing I penulis, yang telah memberikan ide untuk tugas akhir dan ditengah-tengah kesibukannya telah membimbing penulis dan memberikan dorongan sehingga penulisan tugas akhir ini dapat diselesaikan.

3. Ibu Anie Rose Irawati, S.T., M.Cs. sebagai pembimbing II penulis, yang telah memberikan saran, bantuan, dan membimbing penulis dalam pembuatan skripsi ini.

4. Bapak Rangga Firdaus, S.Kom., M.Kom. sebagai pembahas, yang telah memberikan masukan-masukan yang bermanfaat dalam perbaikan skripsi ini.


(11)

6. Bapak Ir. Machudor Yusman, M.Kom Selaku Ketua Jurusan Ilmu Komputer FMIPA Universitas Lampung.

7. Bapak Dwi Sakethi M.Kom. Selaku Sekretaris Jurusan Ilmu Komputer FMIPA Universitas Lampung.

8. Bapak Aristoteles, S.Si., M.Si. selaku Pembimbing Akademik selama penulis menjadi mahasiswa Ilmu Komputer Universitas Lampung.

9. Bapak dan Ibu Dosen Jurusan Ilmu Komputer : Bu Wamiliana, Pak Dwi Sakethi, Pak Machudor Yusman, Ibu Anie Rose Irawati, Ibu Astria Hijriani, Ibu Ossy Dwi Endah W., Pak Aristoteles, Pak Didik Kurniawan, Pak Favorisen R. Lumbanraja, Pak Admi Syarif, Pak Rangga Firdaus, Pak Tristiyanto, Pak Rico Andrian, Pak Kurnia, 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.Kakak-kakakku, Tri Ardini S.P, Ardiyani, S.Pd, Tidar Ardiyanto, S.P, yang selalu mendukung dalam pengerjaan skripsi ini.

12.Teman-teman semangat, suka duka dan tertawa Ilmu Komputer 2011 : Clara Maria, Novita Sari, Aqillah Aliffah Kadir, Harisa Eka Septiarani, Pandya Panditatwa, Yunita, Gamma Sabryan, Jonhar Lucky, M. Fathan Kurniawan, Ismail Indra, Ahmad Amir, Azharico Darusman, Harry Saptomo, Ahmad Adi, Budiman Ruliansyah, Rahmat Widodo, Okky Wijaya, Fajri Reskanida, Basir Efendi, Rudra Nugraha, Rian Oseady, Pradana Marlando, Dimas Armanda, Ade Pamungkas, Aidha Damayanti, Putri Marlina Sari, Orien Rindy, Riska Malinda, Aryanti Dwi Astuti, Ika Arthalia, Fitriana Rahmawati, Dea Trisna Ananda, Aldona Pronika, M. Bayu Briandita, Ardye Amando, Rizqy Chandra, M. Faisal Wijaya, Panji Abendanu, Tryo Rhomadoni, Bobby Satrio, Ana, Chyntia Dewi, Dona Eria, Atika Sari, Sigit Sopandi, Galih Imam, Ardhika Praseda, Adi Sariadi, dan Rifki Wardana. Sukses untuk Kita semua.

13.Keluarga KKN : Nanang, Mbak Tita, Yudha, Mega, Popo, Dea, Tegar, Odi, Kak Denis, Mirnanda, dan Melinda.

14.Kakak-kakak Ilmu Komputer 2009, 2010 dan adik-adik Ilmu Komputer 2012.


(12)

15.Mas Nurkholis yang telah membukakan MIPA Terpadu dan ruang baca serta menyiapkan ruang seminar.

16.Gedung yang tidak terlupakan MIPA Terpadu dan Ilmu Komputer yang memberi teduh dari panas matahari dan hujan.

17.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, 28 April 2015


(13)

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

1.3 Batasan Masalah ... 4

1.4 Tujuan ... 4

1.5 Manfaat ... 5

II. TINJAUAN PUSTAKA ... 6

2.1 Augmented reality ... 6

2.1.1 Sejarah Augmented reality ... 7

2.1.2 Virtual Reality ... 9

2.1.3 Computer Vision dan Augmented reality ... 10

2.2 MarkerlessAugmented reality ... 11


(14)

2.3.1 Daftar Class BeyondAR ... 13

2.3.2 Hirarki Class BeyondAR ... 17

2.4 Android ... 18

2.4.1 Arsitektur Android ... 20

2.4.2 Versi Android ... 23

2.4.3 Android SDK ... 26

2.4.4 Eclipse ... 27

2.4.5 Android Development Tools (ADT) ... 28

2.4.6 Fundamental Aplikasi ... 28

2.5 Location Based Services (LBS) ... 30

2.6 Google Maps API ... 32

2.6.1 Pengertian API ... 32

2.6.2 Pengertian Google Maps API ... 32

2.7 Metodologi Pengembangan Sistem ... 32

2.7.1 Unified Process (UP) ... 33

2.7.2. Unified Modeling Language (UML) ... 34

1. Use case Diagram ... 35

2. Activity Diagram ... 38

3. Class Diagram ... 40

4. Statechart Diagram ... 42

5. Sequence Diagram ... 44

6. Collaboration Diagram ... 45

2.7.2.1 Keunggulan UML ... 46

2.8 Pengujian Perangkat Lunak ... 47

2.8.1 Teknik Pengujian Perangkat Lunak ... 47

2.8.2 Equivalence Partitioning ... 49

2.8.3 Skala Likert ... 50

2.9 Interaksi Manusia dan Komputer ... 50

2.9.1 Interaksi Manusia dan Komputer yang User Friendly ... 51

2.10 Penelitian Terkait ... 52

III. METODOLOGI PENELITIAN ... 54


(15)

3.2 Metodologi Penelitian ... 54

3.2.1 Alir Penelitian ... 54

3.2.2 Metode Pengembangan Sistem ... 58

1. Inception ... 58

2. Elaboration ... 59

3. Construction 1 ... 62

4. Construction 2 ... 66

5. Transition ... 67

3.2.3 Jadwal Kegiatan Penelitian ... 67

3.2.4 Metode Pengumpulan Data ... 68

3.2.5 Jenis dan Sumber Data ... 68

3.3 Analisis dan Perancangan Sistem ... 69

3.3.1 Identifikasi Masalah ... 69

3.3.2 Analisis Sistem ... 70

3.3.3 Analisis User Requirement ... 70

3.3.4 Perancangan Sistem ... 71

3.3.4.1 Perancangan UML (Unified Modelling Language) ... 71

1. Use case Diagram ... 71

2. Activity Diagram ... 72

3. Class Diagram ... 77

4. Sequence Diagram ... 78

3.3.4.2 Perancangan Antarmuka ... 83

1. Layout Splash screen ... 83

2. Layout Menu Utama ... 84

3. Layout Menu Telusuri MIPA ... 84

4. Layout Menu ARMIPA ... 85

5. Layout Menu Tentang MIPA ... 86

a. Layout Sub Menu Sejarah ... 87

b. Layout Sub Menu Visi Misi ... 88

c. Layout Sub Menu Tujuan ... 89

d. Layout Sub Menu Program ... 89


(16)

f. Layout Sub Menu Ilkom ... 90

6. Layout Menu Bantuan ... 91

7. Layout Menu Tentang Aplikasi ... 91

8. Layout Menu Pengaturan ... 92

3.4 Metode Pengujian Sistem ... 93

IV. PEMBAHASAN ... 99

4.1 Hasil ... 99

4.2 Implemetasi Sistem ...100

4.3 Tampilan Aplikasi ARMIPA ...102

4.3.1 Tampilan halaman splash screen ...102

4.3.2 Tampilan menu utama ...103

4.3.3 Tampilan menu Telusuri MIPA ...104

4.3.4 Tampilan menu ARMIPA ...107

4.3.5 Tampilan menu Tentang MIPA ...108

a. Tampilan sub menu Sejarah FMIPA ...110

b. Tampilan sub menu Visi dan Misi FMIPA ...111

c. Tampilan sub menu Tujuan FMIPA ...112

d. Tampilan sub menu Program FMIPA ...113

e. Tampilan sub menu Kontak FMIPA ...114

f. Tampilan sub menu Tentang Ilkom ...115

4.3.6 Tampilan menu Bantuan ...116

4.3.7 Tampilan menu Tentang Aplikasi ...117

4.3.8 Tampilan menu Pengaturan ...117

4.4 Hasil Pengujian ...119

4.4.1 Pengujian Fungsional ...119

4.4.1.1 Pengujian Ketepatan Titik Lokasi Peta dan Markerless Augmented Reality ...124

4.4.2 Pengujian Non Fungsional ...127

V. SIMPULAN DAN SARAN ...132

5.1 Simpulan ...132


(17)

DAFTAR GAMBAR

Gambar Halaman

Gambar 2.1 Operasi Kerja Pada Lingkungan AR (Shapiro, 2001) ... 11

Gambar 2.2 Hirarki Class BeyondAR (BeyondAR, 2015) ... 17

Gambar 2.3 Arsitektur Android (Andry, 2011) ... 20

Gambar 2.4 Komponen Dasar LBS (Steigner, 2006) ... 31

Gambar 2.5 Siklus Unified Process (Kroll dan MacIsaac, 2006, p12) ... 33

Gambar 2.6 Contoh Aktor (Fowler, 2004) ... 36

Gambar 2.7 Use case (Fowler, 2004) ... 37

Gambar 2.8 Contoh Use case Diagram (uml-diagrams.org, 2014) ... 38

Gambar 2.9 Contoh Activity Diagram (uml-diagrams.org, 2014) ... 40

Gambar 2.10 Contoh Class Diagram (uml-diagrams.org, 2014) ... 41

Gambar 2.11 Contoh Statechart Diagram (uml-diagrams.org, 2014) ... 43

Gambar 2.12 Contoh Sequence Diagram (uml-diagrams.org, 2014) ... 45

Gambar 2.13 Contoh Collaboration Diagram (Fowler, 2014) ... 46

Gambar 3.1 Diagram Alir Metodologi Penelitian ... 55

Gambar 3.2 Skema kerja cara pembuatan class“TelusuriMIPA.java” ... 63

Gambar 3.3 Work flowproses kerja menu “Telusuri MIPA” ... 64

Gambar 3.4 Skema kerja cara pembuatan class“ARMIPA.java” ... 65

Gambar 3.5 Work flowproses kerja pada menu “ARMIPA” ... 66

Gambar 3.6 Use case Diagram ... 72

Gambar 3.7 Activity Diagram Telusuri MIPA ... 73

Gambar 3.8 Activity Diagram ARMIPA ... 74

Gambar 3.9 Activity Diagram Tentang MIPA ... 75

Gambar 3.10 Activity Diagram Bantuan ... 75


(18)

Gambar 3.12 Activity Diagram Pengaturan ... 77

Gambar 3.13 Class Diagram ARMIPA ... 78

Gambar 3.14 Sequence Diagram Telusuri MIPA ... 79

Gambar 3.15 Sequence Diagram ARMIPA ... 80

Gambar 3.16 Sequence Diagram Tentang MIPA ... 80

Gambar 3.17 Sequence Diagram Bantuan ... 81

Gambar 3.18 Sequence Diagram Tentang Aplikasi ... 82

Gambar 3.19 Sequence Diagram Pengaturan ... 82

Gambar 3.20 DesignLayoutSplash screen ... 83

Gambar 3.21 DesignLayout Menu Utama ... 84

Gambar 3.22 DesignLayout Telusuri MIPA ... 85

Gambar 3.23 DesignLayout ARMIPA ... 86

Gambar 3.24 DesignLayout ARMIPA ... 87

Gambar 3.25 DesignLayout Sub Menu Sejarah ... 88

Gambar 3.26 DesignLayout Sub Menu Visi Misi ... 88

Gambar 3.27 DesignLayout Sub Menu Tujuan ... 89

Gambar 3.28 DesignLayout Sub Menu Program ... 89

Gambar 3.29 DesignLayout Sub Menu Kontak ... 90

Gambar 3.30 DesignLayout Sub Menu Tentang Ilkom ... 90

Gambar 3.31 DesignLayout Menu Bantuan ... 91

Gambar 3.31 DesignLayout Menu Tentang Aplikasi ... 92

Gambar 3.32 DesignLayout Menu Pengaturan ... 93

Gambar 4.1 Tampilan Splash Screen ... 103

Gambar 4.2 Tampilan Menu Utama ... 104

Gambar 4.3 Tampilan Menu “Telusuri MIPA” ... 105

Gambar 4.4 Tampilan Menu “ARMIPA” ... 107

Gambar 4.5 Tampilan Menu “Tentang MIPA” ... 109

Gambar 4.6 Tampilan sub menu Sejarah FMIPA ... 110

Gambar 4.7 Tampilan sub menu Visi dan Misi FMIPA ... 111

Gambar 4.8 Tampilan sub menu Tujuan FMIPA ... 112

Gambar 4.9 Tampilan sub menu Program FMIPA ... 113


(19)

Gambar 4.11 Tampilan sub menu Tentang Ilkom ... 115

Gambar 4.12 Tampilan Alert Dialog Bantuan ... 116

Gambar 4.13 Tampilan Menu Tentang Aplikasi ... 117

Gambar 4.14 Tampilan Menu Pengaturan ... 118

Gambar 4.15 Lokasi Awal Pengguna ... 125

Gambar 4.16 Lokasi Akhir Pengguna ... 126

Gambar 4.17 Objek AR ... 127

Gambar 4.18 Grafik Presentasi Rata-rata Jawaban Responden per Kategori Penilaian pada Variabel User Friendly ... 130

Gambar 4.19 Grafik Presentasi Rata-rata Jawaban Responden per Kategori Penilaian pada Variabel Interaktif ... 131


(20)

DAFTAR TABEL

Tabel Halaman

Tabel 2.1 Daftar Class BeyondAR (BeyondAR, 2015) ... 13

Tabel 2.2 Notasi Activity Diagram (Meildy, 2014) ... 38

Tabel 2.3 Simbol – simbol pada Class Diagram (Booch, 1999) ... 42

Tabel 2.4 Notasi Sequence Diagram (Meildy, 2014) ... 44

Tabel 3.1 Jadwal Kegiatan Penelitian ... 67

Tabel 3.2 Daftar Pengujian Equivalence Partitioning ... 94

Tabel 4.1 Daftar class pada aplikasi ARMIPA ... 100

Tabel 4.2 Daftar layout pada aplikasi ARMIPA ... 101

Tabel 4.3 Pengujian Equivalence Partitioning ... 119

Tabel 4.4 Interval dan Kategori Penilaian ... 128

Tabel 4.5 Hasil Penilaian Variabel User Friendly ... 129


(21)

1

BAB I PENDAHULUAN

1.1 Latar Belakang

Setiap lembaga pendidikan tinggi pasti memiliki fasilitas pokok berupa gedung. Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Universitas Lampung adalah salah satu lembaga pendidikan tinggi negeri yang berada di Provinsi Lampung. FMIPA memiliki gedung-gedung yang digunakan sebagai sarana perkuliahan yaitu gedung utama fakultas dan jurusan yang letaknya tersebar di seluruh wilayah FMIPA.

Wilayah yang luas dan banyaknya gedung yang dimiliki FMIPA, membuat lokasi gedung mempunyai keterbatasan dalam pencarian, batasan lokasi antar jurusan tidak ditunjukkan oleh arah yang teratur. Selain itu, terdapat lokasi gedung yang letaknya sedikit menjorok ke dalam atau gedung dikelilingi oleh gedung-gedung lainnya. Ditambah tidak terdapatnya petunjuk jalan, papan nama gedung, maupun peta lokasi gedung FMIPA menambah daftar kesulitan dalam pencarian gedung di FMIPA. Khususnya bagi mahasiswa baru FMIPA, masyarakat yang belum mengenal FMIPA ataupun mahasiswa di luar FMIPA. Mereka membutuhkan denah atau petunjuk lokasi gedung-gedung FMIPA sehingga mahasiswa ataupun pengujung yang memiliki keperluan dengan salah satu jurusan dalam FMIPA tidak


(22)

2

harus mencari gedung terlebih dahulu dan tidak perlu menghabiskan waktu ekstra untuk menemukan gedung yang terdapat di FMIPA tersebut.

FMIPA Universitas Lampung memiliki sistem informasi yang sudah diterapkan untuk mendukung proses pendidikan di dalamnya. Salah satunya adalah website. Website FMIPA berperan sebagai media informasi, media pendidikan dan media promosi bagi FMIPA. Namun website FMIPA saat ini lebih banyak memuat informasi pemberitaan. Sedangkan informasi utama berkenaan dengan FMIPA yang ditampilkan dalam menu drop down pada website belum memberikan informasi mengenai FMIPA secara lengkap, seperti tidak tersedianya peta FMIPA, sehingga pengunjung website kesulitan jika ingin mencari informasi gedung-gedung di FMIPA.

Berdasarkan dari hal tersebut, maka diperlukan sebuah teknologi tepat guna yang dapat dimanfaatkan oleh FMIPA untuk penyebaran informasi tentang sumber daya gedung yang dimilikinya dan dapat membantu pihak-pihak yang memerlukan informasi tersebut. Salah satu teknologi yang dapat diadopsi adalah Augmented Reality (AR) yang akan dipadukan dengan perangkat komunikasi bergerak (mobile).

Teknologi AR dapat digunakan untuk memvisualisasikan informasi secara interaktif, terlebih apabila teknologi ini dipadukan dengan perangkat komunikasi bergerak seperti smartphone yang memiliki sistem operasi Android. Fitur kamera,


(23)

3

internet dan peta digital serta GPS (Global Positioning System) pada perangkat Android dapat diintegrasikan sehingga teknologi AR dapat diimplementasikan.

Metode AR yang akan diimplementasikan dalam penelitian ini adalah metode "Markerless Augmented Reality", dengan metode ini pengguna tidak perlu lagi menggunakan sebuah marker untuk menampilkan objek atau elemen-elemen digital, dalam hal ini objek AR dapat dikenali melalui koordinat (latitude, langitude) lokasi objek tersebut menggunakan perangkat android.

Implementasi teknologi Markerless Augmented Reality pada perangkat Android dipilih karena dengan teknologi ini pengguna tidak hanya mendapatkan informasi saja, tetapi pengguna dapat berinteraksi dengan objek maya pada lingkungan nyata, dalam hal ini adalah tampilan kamera yang menampilkan objek 2D atau 3D secara realtime pada perangkat android. Selain itu sistem operasi android yang bersifat open source code dapat memudahkan pengembang untuk membuat dan memodifikasi aplikasi.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dijabarkan, maka rumusan masalah pada penelitian ini adalah “Bagaimana merancang dan membangun aplikasi sistem informasi pada Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Universitas Lampung sebagai media pengenalan gedung-gedung di FMIPA yang memuat nama gedung-gedung di FMIPA yang dapat dideteksi menggunakan


(24)

4

teknologi Augmented Reality berbasis android, peta FMIPA, dan informasi-informasi mengenai FMIPA Universitas Lampung.”

1.3 Batasan Masalah

Dalam perancangan dan pembuatan sistem aplikasi Augmented Reality berbasis Android sebagai media pengenalan gedung-gedung di Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung ini diberikan batasan masalah sebagai berikut :

1. Aplikasi ini menerapkan teknologi Markerless Augmented Reality sebagai media untuk mendeteksi lokasi dan menampilkan informasi gedung secara real-time berbasis android, dengan cara mengintegrasikan fitur-fitur pada perangkat android seperti kamera, internet, peta digital, GPS, compass, dan accelerometer, menggunakan bahasa pemrograman Java.

2. Aplikasi ini dapat mendeteksi posisi masing-masing gedung di FMIPA Universitas Lampung dan menampilkan informasi berupa nama masing-masing gedung menggunakan teknologi Augmented Reality (AR).

3. Gedung yang dapat dideteksi atau diketahui informasinya hanya gedung yang ada dalam database aplikasi dan di khususkan untuk Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Universitas Lampung.

1.4 Tujuan

Tujuan penelitian ini adalah merancang dan membangun sebuah aplikasi sistem informasi pada Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Universitas Lampung sebagai media pengenalan gedung-gedung di FMIPA yang


(25)

5

memuat nama gedung-gedung di FMIPA yang dapat dideteksi menggunakan teknologi Augmented Reality berbasis android, peta FMIPA, dan informasi-informasi mengenai FMIPA Universitas Lampung.

1.5 Manfaat

Manfaat yang diperoleh dari penelitian ini adalah : 1.5.1 Manfaat Praktis

1. Memudahkan mahasiswa baru FMIPA, mahasiswa di luar FMIPA dan masyarakat umum untuk memperoleh informasi yang memuat nama gedung-gedung di FMIPA, peta FMIPA, serta informasi-informasi mengenai FMIPA Universitas Lampung menggunakan smartphone android.

2. Bagi Instansi Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Universitas Lampung, aplikasi ini dapat menjadi media alternatif dalam penyampaian informasi FMIPA khususnya informasi gedung-gedung di FMIPA.

1.5.2 Manfaat Akademis

1. Hasil penelitian dapat menambah pengetahuan baru untuk penulis.

2. Mengembangkan dan mengaplikasikan ilmu yang telah didapatkan selama kuliah.

3. Untuk dijadikan sebagai acuan terhadap pengembangan ataupun pembuatan dalam penelitian yang sama.


(26)

6

BAB II

TINJAUAN PUSTAKA

2.1 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 (Azuma, 1997).

 Menggabungkan lingkungan nyata dan virtual  Berjalan secara interaktif dalam waktu nyata  Integrasi dalam tiga dimensi (3D)

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.


(27)

7

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 Augmented Reality pada industri mobile phone juga mempunyai perkembangan yang paling cepat (Fernando, 2013).

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


(28)

8

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 International Symposium on Wearable Computers (Ramadar, 2014).

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 kita memasang teknologi AR di sebuah website, karena output yang dihasilkan FLARToolkit berbentuk Flash. Ditahun yang sama, Wikitude Drive


(29)

9

meluncurkan sistem navigasi berteknologi AR di Platform Android. Tahun 2010, Acrossair menggunakan teknologi AR pada iPhone 3Gs (Sutoyo, 2009).

2.1.2 Virtual Reality

Virtual Reality (VR) atau realitas maya adalah teknologi yang membuat pengguna dapat berinteraksi dengan suatu lingkungan yang disimulasikan oleh komputer (computer-simulated environment), suatu lingkungan sebenarnya yang ditiru atau benar-benar suatu lingkungan yang hanya ada dalam imaginasi. Lingkungan realitas maya terkini umumnya menyajikan pengalaman visual, yang ditampilkan pada sebuah layar komputer atau melalui sebuah penampil stereokopik, tapi beberapa simulasi mengikutsertakan tambahan informasi hasil pengindraan, seperti suara melalui speaker atau headphone. Beberapa sistem haptic canggih sekarang meliputi informasi sentuh, biasanya dikenal sebagai umpan balik kekuatan pada aplikasi berjudi dan medis. Para pemakai dapat saling berhubungan dengan suatu lingkungan sebetulnya atau sebuah artifak maya baik melalui penggunaan alat masukan baku seperti papan ketik dan tetikus, atau melalui alat multimodal seperti sarung tangan terkabel, Polhemus boom arm, dan ban jalan segala arah. Lingkungan yang ditirukan dapat menjadi mirip dengan dunia nyata, sebagai contoh, simulasi untuk pilot atau pelatihan pertempuran, atau dapat sangat berbeda dengan kenyataan, seperti di VR game. Dalam praktik, sekarang ini sangat sukar untuk menciptakan pengalaman Realitas maya dengan kejernihan tinggi, karena keterbatasan teknis atas daya proses, resolusi citra dan lebar pita komunikasi. Bagaimanapun, pembatasan itu diharapkan untuk secepatnya diatasi dengan


(30)

10

berkembangnya pengolah, pencitraan dan teknologi komunikasi data yang menjadi lebih hemat biaya dan lebih kuat dari waktu ke waktu (Berta, 2013).

2.1.3 Computer Vision dan Augmented Reality

Computer Vision menurut Bradski dan Kaehler (2008, p1) adalah transformasi dari data gambar atau video menjadi sebuah keputusan atau dapat berupa gambar baru (Bradski, 2008).

Tujuan dari Computer Vision adalah membuat keputusan yang berguna mengenai atau tentang benda fisik yang asli berdasarkan dari image yang terlihat (Shapiro, 2001).

Pembuatan sistem Augmented Reality membutuhkan (Shapiro, 2001) : 1. Model 3D dari objek untuk digabungkan dengan dunia nyata.

2. Korespondensi antara dunia nyata dengan model 3D melalui kalibrasi. 3. Tracking digunakan menentukan sudut pandangan pengguna terhadap dunia

nyata.

4. Real-Time Display yang digabungkan dengan citra asli dan juga grafik komputer yang dibuat berdasarkan model.

5. Waktu respon terhadap gerakan dan akurasi antara gambar dan grafik sangat mempengaruhi keefektifan sistem.


(31)

11

Gambar 2.1 Operasi Kerja Pada Lingkungan AR (Shapiro, 2001).

Beberapa contoh dari aplikasi Augmented Reality :

1. Penggunaan Augmented Reality untuk membantu operasi.

2. Tampilan yang menunjukkan lokasi geografis pada mobil. Tampilan dapat menampilkan nama dari bangunan dan jalanan.

3. Teleconferencing dimana pengguna dapat saling melihat lingkungan model yang sama untuk berdiskusi.

Teknik Computer Vision digunakan untuk mencari kartu (marker) dan menggunakan teknik pattern recognition untuk mengenali pattern yang ada, dan mengidentifikasi arti dari setiap marker (Shapiro, 2001).

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.


(32)

12

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 (Fernando, 2013).

a. Face Tracking

Dengan menggunakan algoritma yang mereka kembangkan, komputer dapat mengenali wajah manusia secara umum dengan cara mengenali posisi mata, hidung, dan mulut manusia, kemudian akan mengabaikan objek-objek lain di sekitarnya seperti pohon, rumah, dan benda-benda lainnya. Teknik ini pernah digunakan di Indonesia pada Pekan Raya Jakarta 2010 dan Toy Story 3 Event.

b. 3D Object Tracking

Berbeda dengan Face Tracking yang hanya mengenali wajah manusia secara umum, teknik 3D Object Tracking dapat mengenali semua bentuk benda yang ada disekitar, seperti mobil, meja, televisi, dan lain-lain.

c. Motion Tracking

Pada teknik ini komputer dapat menangkap gerakan, Motion Tracking telah mulai digunakan secara ekstensif untuk memproduksi film-film yang mencoba mensimulasikan gerakan.


(33)

13

Contohnya pada film Avatar, di mana James Cameron menggunakan teknik ini untuk membuat film tersebut dan menggunakannya secara realtime (Fernando, 2013).

2.3 BeyondAR

BeyondAR adalah framework yang dirancang untuk para pengembang dengan minat dalam bekerja dengan Augmented Reality berbasis geolokasi pada smartphone dan tablet. BeyondAR bersifat open source code (lisensi Apache 2.0). 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).

2.3.1 Daftar Class BeyondAR

Classes, structs, union dan interfaces pada beyondAR disajikan pada Tabel 2.1.

Tabel 2.1 Daftar Class BeyondAR (BeyondAR, 2015). Fragment

BeyondarFragment fragmen yang menampilkan dan mengontrol CameraView dan BeyondarGLSurfaceView BeyondarFragmentSupport dukungan kelas fragmen yang menampilkan dan

mengontrol CameraView dan BeyondarGLSurfaceView OpenGL


(34)

14

Tabel 2.1 Daftar Class BeyondAR (Lanjutan) colision

MeshCollider wadah untuk objek 3D yang digunakan untuk collision tests

SphericalMeshCollider spherical mesh collider SquareMeshCollider square mesh collider renderer

ARRenderer penyaji untuk menggambar objek dengan OpenGL FpsUpdatable

GLSnapshotCallback callback untuk mendapatkan pemberitahuan ketika snapshot dari tampilan OpenGL diambil

OnBeyondarObject

RenderedListener - texture

Texture objek tekstur untuk rendering menggunakan OpenGL util

LowPassFilter class untuk menyaring sensor suara MatrixGrabber

MatrixStack kumpulan matriks, mirip dengan kumpulan internal matriks OpenGL ES

MatrixTrackingGL

memungkinkan mengambil matriks saat ini bahkan jika driver OpenGL ES yang saat ini tidak mendukung mengambil matriks saat ini

Plugin

BeyondarObjectPlugin dasar antarmuka untuk membuat sebuah plugin untuk BeyondarObject

GeoObjectPlugin perpanjangan dari BeyondarObjectPlugin untuk GeoObject

GLPlugin dasar antarmuka untuk membuat sebuah plugin untuk memperpanjang layer OpenGL

Plugable< T extends Plugin >

antarmuka untuk mendefinisikan class yang dapat diperluas menggunakan plugin

Plugin dasar antarmuka untuk semua plugin

WorldPlugin dasar antarmuka untuk membuat sebuah plugin untuk World


(35)

15

Tabel 2.1 Daftar Class BeyondAR (Lanjutan) Screenshot

OnScreenshotListener listener untuk mendapatkan pemberitahuan ketika gambar diambil (tampilan AR + kamera)

ScreenshotHelper bantuan untuk mengambil screenshot penuh Sensor

BeyondarSensorManager class ini mengontrol dan menyaring data sensor yang disediakan oleh magnetik dan sensor accelerometer

Util Cache

BitmapCache -

LruCache< K, V > Cache yang memegang kuat referensi untuk jumlah terbatas dari nilai-nilai

Location

BeyondarLocationManager Class ini menyediakan bantuan untuk mendapatkan lokasi terbaik

LocationUtils -

Texture

Texture objek tekstur untuk rendering menggunakan OpenGL Geom

Matrix3 mewakili matriks 3D yang dapat digunakan dengan OpenGL

Plane mewakili plane geometris

Point2 mewakili titik 2D

Point3 mewakili titik 3D

Ray mewakili ray geometris, senyawa Point3 dan Vector3 Triangle mewakili sebuah segitiga geometris

Vector3 mewakili vektor 3 dimensi

Distance menghitung jarak antara dua poin di arbitrary units MathUtils class util untuk operasi matematika

ImageUtils class util untuk memanipulasi gambar Version class untuk framework version

View


(36)

16

Tabel 2.1 Daftar Class BeyondAR (Lanjutan)

BeyondarViewAdapter Adaptor untuk melampirkan pandangan ke BeyondarObject

CameraView class ini memiliki tanggung jawab me-rotate kamera, mengambil gambar dan memperoleh/merilis kamera OnClickBeyondarObject

Listener

mendeteksi ketika BeyondarObject telah diklik di BeyondarGLSurfaceView

OnTouchBeyondarView Listener

mendeteksi ketika BeyondarObject telah menyentuh pada BeyondarGLSurfaceView

World

BeyondarObject Objek dasar untuk digunakan dengan augmented reality

BeyondarObjectList

class ini memungkinkan pengguna untuk menyimpan sesuai dengan jenis, sehingga berguna saat pencarian dibutuhkan

GeoObject Perpanjangan BeyondarObject untuk memudahkan penggunaan cordinates geo

World Wadah yang menampung semua BeyondarObject yang akan diberikan dalam World augmented reality


(37)

5

2.3.2 Hirarki Class BeyondAR

Gambar 2.2 Hirarki Class BeyondAR (BeyondAR, 2015).


(38)

18

2.4 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 berkembang (Andry, 2011).

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) :

Storage - Menggunakan SQLite, database yang ringan, untuk sebuah penyimpanan data.


(39)

19  Connectivity - Mendukung GSM/EDGE, IDEN, CDMA, EV-DO,

UMTS,

Bluetooth (termasuk A2DP dan AVRCP), WiFi, LTE, dan WiMax.  Messaging–Mendukung SMS dan MMS

Web Browser– Berbasiskan open-source WebKit, bersama mesin  Chrome’s V8 JavaScript

Media support– Termasuk mendukung untuk beberapa media berikut : 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.  Hardware support – Sensor akselerasi, Kamera, Kompas Digital,

Sensor Kedekatan, GPS.

Multi-touch–Mendukung multi-touch screensMulti-tasking– Mendukung aplikasi multi-taskingFlash-support– Android 2.3 mendukung Flash 10.1

Tethering – Mendukung pembagian dari koneksi Internet sebagai wired/wireless hotspot

Play sore – katalog aplikasi yang dapat di-download dan diinstal pada telepon seluler secara online, tanpa menggunakan PC (Personal Computer).

 Lingkungan pengembangan yang kaya, termasuk emulator, peralatan debugging, dan plugin untuk Eclipse IDE.


(40)

20

2.4.1 Arsitektur Android

Gambar 2.3 Arsitektur Android (Andry, 2011).

Arsitektur Android dapat digambarkan seperti pada Gambar 2.3 dan secara garis besar Arsitektur Android dapat dijelaskan sebagai berikut (Nazruddin, 2012).

a. Application dan Widgets

Application dan Widgets ini adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Hampir semua aplikasi ditulis menggunakan bahasa pemrograman Java.

b. Application Frameworks

Android adalah “Open Development Platform” yaitu Android menawarkan kepada pengembang atau memberi kemampuan kepada pengembang untuk


(41)

21

membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resource, menjalankan service background, mengatur alarm, dan menambah status notifications, dan sebagainya. Pengembang memiliki akses penuh menuju API framework seperti yang dilakukan oleh aplikasi kategori inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat menggunakan kembali komponen yang sudah digunakan (reuse). Sehingga bisa kita simpulkan Application 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 content providers yang berupa sms dan panggilan telepon.

Komponen-komponen yang termasuk di dalam Application Frameworks adalah sebagai berikut :

1. Views

2. Content Provider 3. Resource Manager 4. Notification Manager 5. Activity Manager

c. Libraries

Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses Libraries untuk menjalankan aplikasinya. Berjalan di atas Kernel, layer ini meliputi berbagai library C/C++ inti seperti Libc SSL, serta :


(42)

22

1. Libraries media untuk pemutaran media audio dan video 2. Libraries untuk manajemen tampilan

3. Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D

4. LibrariesSQLite untuk dukungan database

5. Libraries SSL dan WebKit terintegrasi dengan web browser dan security

6. Libraries LiveWebcore mencakup modern web browser dengan engine embedded web view

7. Libraries3D yang mencakup implementasi OpenGL ES1.0 API’s.

d. Android Run Time

Layer yang membuat aplikasi Android dapat dijalankan dimana dalam prosesnya menggunakan Implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam Android Run Time dibagi menjadi dua bagian yaitu : 1. Core Libraries: Aplikasi Android dibangun dalam bahasa Java,

sementara Dalvik sebagai virtual mesinnya bukan Virtual Machine Java, sehingga diperlukan sebuah Libraries yang berfungsi untuk menterjemahkan bahasa Java/C yang ditangani oleh Core Libraries. 2. Dalvik Virtual Machine: Virtual mesin berbasis register yang

dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, dimana merupakan pengembangan yang mampu membuat Linux Kernel untuk melakukan threading dan manajemen tingkat rendah.


(43)

23

e. Linux Kernel

Linux Kernel adalah layer dimana inti dari sistem operasi Android itu berada. Berisi file-file sistem yang mengatur sistem processing, memory, resource, drivers, dan sistem-sistem operasi Android lainnya. Linux Kernel yang digunakan Android adalah Linux Kernel release 2.6 (Nazruddin, 2012).

2.4.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.1

Pada tanggal 9 Maret 2009, Google merilis Android versi 1.1. Android ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search, pengiriman pesan dengan Gmail, dan pemberitahuan email.

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


(44)

24

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

4. 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 MP, digital Zoom, dan Bluetooth 2.1.

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


(45)

25

6. 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. 7. Android versi 3.0/3.1 (Honeycomb)

Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar yang lebih besar. UserInterface 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 Xoom. Perangkat tablet dengan platform Android 3.0 telah banyak hadir di Indonesia. Perangkat yang pertama muncul bernama Eee Pad Transformer produksi dari Asus yang masuk pasar Indonesia pada Mei 2011.

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


(46)

26

dengan menggunakan NFC. Ponsel pertama yang menggunakan sistem operasi ini adalah Samsung Galaxy Nexus (Nazruddin, 2012).

9. Android versi 4.1 (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.

10.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 dengan lebih dari 5.000 API baru untuk para developer. Perangkat yang menggunakan OS Android L ini akan mampu berintegrasi antar perangkat seperti smartphone, tablet dan smartwatch berbasis Android (Developers, 2014).

2.4.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 member anda kesempatan untuk membuat aplikasi yang


(47)

27

kita butuhkan yang bukan merupakan aplikasi bawaan Handphone atau Smartphone (Developers, 2014).

2.4.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, menyebarkan dan mengelola perangkat lunak (Eclipse, 2014).

Android dikembangkan menggunakan Java. Telah banyak beredar Java IDE seperti JBuilder dan NetBeans. Namun Open Handset Alliance dan Google telah memilih menggunakan Eclipse sebagai Java IDE dalam pengembangan Android. Berikut ini dijelaskan mengapa Eclipse direkomendasikan sebagai Java IDE untuk aplikasi Android (DiMarzio, 2008) :

1. Sesuai dengan karakteristik Android yang terbuka bagi para pengembang, Eclipse merupakan salah satu yang memiliki fitur lengkap dan gratis dari semua Java IDE yang ada. Eclipse juga sangat mudah digunakan dengan waktu pembelajaran yang minimal.

2. Open Handset Alliance telah merilis plugin Android untuk Eclipse sehingga memungkinkan untuk membuat projek Android yang spesifik, melakukan kompilasi, dan menggunakan Android Emulator untuk melakukan debug.


(48)

28

2.4.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 develop dalam membuat aplikasi project Android, membuat GUI aplikasi, 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.4.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 pengguna dapat melakukan interaksi. Sebuah aplikasi Android bisa jadi hanya memiliki satu activity, tetapi umumnya aplikasi memiliki banyak activity tergantung pada tujuan aplikasi dan desain dari aplikasi


(49)

29

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 user interface (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 mungin menggunakan Notification Manager untuk memberitahu kepada pengguna, seperti lampu latar atau vibrating (getaran) perangkat, dan lain sebagainya.


(50)

30

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.5 Location Based Services (LBS)

Location Based Service (LBS) atau Layanan Berbasis Lokasi merupakan layanan informasi yang dapat diakses melalui perangkat mobile melalui jaringan seluler dan memiliki kemampuan untuk memanfaatkan lokasi posisi perangkat Mobile (Virrantaus, 2001).

Pengertian yang sama juga diberikan oleh Steiniger mengenai LBS yaitu layanan informasi yang mengutilisasi kemampuan untuk menggunakan informasi lokasi dari perangkat bergerak dan dapat diakses dengan perangkat bergerak melalui jaringan telekomunikasi bergerak (Steiniger, 2006).

Dalam Layanan Berbasis Lokasi terdapat Lima komponen penting seperti terlihat pada Gambar 2.4. Setiap komponen mempunyai fungsi (Steigner, 2006) :


(51)

31

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


(52)

32

2.6 Google Maps API

2.6.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 komponen yang sulit dipahami (Halim, 2011).

2.6.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.7 Metodologi Pengembangan Sistem

Adapun metodologi yang digunakan dalam pembuatan aplikasi sistem informasi gedung-gedung di Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Lampung menggunakan teknologi Augmented Reality berbasis android ini, antara


(53)

33

lain meliputi : Unified Process (UP), dan desain menggunakan Unified Modeling Language (UML).

2.7.1 Unified Process (UP)

Unified Process adalah salah satu model pengembangan software yang populer yang digunakan untuk membangun sistem yang object-oriented (Larman, 2002, pp13-14).

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, seperti: RUP (Rational Unified Process), OpenUP (Open Unified Process), dan lain-lain (Kroll dan MacIsaac, 2006, p10).

Gambar 2.5 Siklus Unified Process (Kroll dan MacIsaac, 2006, p12).

Siklus Unified Process membagi sebuah proyek menjadi 4 fase besar (Kroll dan MacIsaac, 2006, p11; Larman, 2002, p19), antara lain :


(54)

34

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 pengguna untuk dicoba.

4. Transition, testing sistem dan memenuhi sisa kebutuhan pengguna yang masih belum terpenuhi sebelum dilepas ke pasaran.

Seperti yang terlihat pada Gambar 2.4., 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.7.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


(55)

35

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 (Common Object Request Broker Architecture).

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


(56)

36

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 sistem atau keduanya menerima dan memberi informasi pada sistem. Aktor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Aktor digambarkan dengan stick pan seperti yang terdapat pada Gambar 2.6.

Gambar 2.6 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.7.


(57)

37

Gambar 2.7 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.

4. Aggregation, bentuk association dimana sebuah elemen berisi elemen 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.


(58)

38

Gambar 2.8 Contoh Use Case Diagram (uml-diagrams.org, 2014).

2. Activity Diagram

Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktivitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktivitas lainnya (Fowler, 2004). Notasi Activity Diagram dapat dilihat pada Tabel 2.2.

Tabel 2.2 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


(59)

39

Tabel 2.2 Notasi Activity Diagram (Lanjutan)

Rake; Menunjukkan adanya dekomposisi

Tanda Waktu Tanda pengiriman Tanda penerimaan

Aliran akhir (Flow Final)

Diagram ini sangat mirip dengan flowchart karena memodelkan workflow dari satu aktivitas ke aktivitas lainnya atau dari aktivitas ke status. Pembuatan activity diagram pada awal pemodelan proses dapat membantu memahami keseluruhan proses. Activity diagram juga digunakan untuk menggambarkan interaksi antara beberapa use case (Fowler, 2004).


(60)

40

Gambar 2.9 Contoh Activity Diagram (uml-diagrams.org, 2014).

3. Class Diagram

Class adalah sebuah spesifikasi yang akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. 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.10.


(61)

41

Gambar 2.10 Contoh Class Diagram (uml-diagrams.org, 2014).

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 class yang diwarisinya.

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


(62)

42

Simbol-simbol pada class diagram disajikan pada Tabel 2.3 (Booch, 1999). Nama

Komponen Keterangan Simbol

Class Class adalah blok - blok pembangun pada pemrograman berorientasi obyek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property/atribut class. Bagian akhir mendefinisikan method-method dari sebuah class.

Association Sebuah asosiasi merupakan sebuah

relationship paling umum antara 2 class dan dilambangkan oleh sebuah garis yang

menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship. (Contoh: One-to-one, 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 dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.

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. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.

Aggregation Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi

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


(63)

43

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. Kondisi penjaga adalah ekspresi boolean (pilihan Ya atau Tidak) dari nilai atribut-atribut yang mengijinkan sebuah statetransition hanya jika kondisinya benar. Kedua aksi dan penjaga adalah kelakuan dari objek dan secara tipikal menjadi operasi (Fowler, 2004).


(64)

44

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

Tabel 2.3 Notasi Sequence Diagram (Meildy, 2014).

Simbol Nama Keterangan

Object Object merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal. Digambarkan sebagai sebuah class (kotak) dengan nama obyek 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 antara object-object.


(65)

45

Gambar 2.12 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 (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakan sequence diagram, tapi jika penekanannya pada konteks gunakan collaboration diagram Contoh dari collaboration diagram dapat dilihat pada Gambar 2.13 (Fowler, 2004).


(66)

46

Gambar 2.13 Contoh Collaboration Diagram (Fowler, 2014).

2.7.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) :

a. Uniformity. Dengan metodologi UML, para pengembang cukup menggunakan 1 metodologi dari tahap analisis hingga perancangan. Hal ini tidak bisa 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.

b. Understandability. Dengan metodologi ini kode yang dihasilkan dapat diorganisasi ke dalam kelas-kelas yang berhubungan dengan masalah sesungguhnya sehingga lebih mudah dipahami siapapun juga.


(1)

98 Tabel 3.2 Daftar Pengujian Equivalence Partitioning (Lanjutan)

Klik icon “Email” dengan alamat email pengguna yang salah

Tidak dapat

melakukan pengiriman email ke pengembang Klik icon “Google Play” Masuk ke akun

halaman google play untuk aplikasi ARMIPA Klik icon “Sosial

Media” Menampilkan halaman sosial media pengembang

7 Fungsi pada menu Pengaturan

Pengujian pada menu Pengaturan

Klik icon “Pengaturan

Jaringan” Menampilkan menu pengaturan Jaringan pada perangkat android pengguna Klik icon “Pengaturan

GPS” Menampilkan menu Location Service pada perangkat android pengguna


(2)

132

BAB V

SIMPULAN DAN SARAN

5.1 Simpulan

Dari hasil penelitian yang dilakukan, penulis dapat mengambil simpulan sebagai berikut :

1. Telah berhasil dibangun Aplikasi ARMIPA yang dibuat sebagai media pengenalan gedung-gedung di Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Universitas Lampung.

2. Telah berhasil diterapkan teknologi Markerless Augmented Reality pada aplikasi ini sebagai media untuk mendeteksi lokasi dan menampilkan informasi gedung secara real-time pada kamera perangkat android, serta google maps API sebagai media untuk menampilkan peta FMIPA.

3. Dari hasil data pengujian Equivalence Partitioning, aplikasi ARMIPA kompatibel terhadap semua versi OS android yang telah ditetapkan dalam pembuatan aplikasi, kompatibel terhadap device android dengan resolusi 3 inch sampai 8 inch yang memiliki fitur GPS, dan dari semua kelas yang diuji aplikasi ARMIPA dapat berfungsi sesuai analisis. Selain itu berdasarkan data angket, diketahui aplikasi ARMIPA adalah aplikasi yang user friendly dengan nilai rata-rata 4,31 (sangat baik), dan interaktif dalam penggunaannya dengan nilai rata-rata 4,23 (baik).


(3)

133

5.2 Saran

Berdasarkan perancangan dan hasil implementasi program aplikasi yang dilakukan, maka beberapa saran yang perlu diperhatikan dalam mengembangkan aplikasi ini adalah sebagai berikut :

1. Aplikasi ini belum mampu menampilkan perhitungan jarak (meter) antara pengguna dengan objek / marker.

2. Untuk mendapatkan informasi yang lebih up to date, maka sebaiknya ditambahkan layanan BackEnd Admin (web administrator) sehingga tambahan data, baik data koordinat ataupun informasi dapat langsung di update melalui web administrator tanpa harus memperbaharui aplikasi android.

3. Aplikasi ini nantinya dapat dikembangkan sehingga kompatibel pada platform selain android, seperti iOS, BlackBerry OS ataupun Windows Phone.


(4)

DAFTAR PUSTAKA

Andry. 2011. Android A sampai Z. PCplus, Jakarta.

Azuma, R. T. 1997. A Survey of Augmented Reality. Presence: Teleoperators and Virtual Environments. vol. 6, no. 4, pp. 355-385.

Azwar, S. 2011. Sikap dan Perilaku. Dalam: Sikap Manusia Teori dan Pengukurannya. 2nd ed. Yogyakarta, Pustaka Pelajar.

Berta Sihite, Febriliyan Samopa, dan Nisfu Asrul. Pembuatan Aplikasi 3D Viewer Mobile dengan Menggunakan Teknologi Virtual Reality. Jurnal Teknik Pomits. vol. 2, no. 2, ISSN: 2337-3539.

BeyondAR. 2015. Beyond Augmented Reality. [Online]. Tersedia :

http://beyondar.com. Diakses pada tanggal 20 Desember 2014.

Bradski, Gary. Adrian Kaehler. 2008. Learning OpenCV, edisi ke-1. O’Reily Media, California.

Brian, X. Chen. 2009. If You’re Not Seeing Data, You’re Not Seeing. Wired Magazine, 26 Agustus.

Clune, T.L., R.B. Rood. 2011. Software Testing and Verification In Climate Model Development. IEEE Journal, Focus: Climate Change Software. September-October, pp. 49-55.

Developers, Android. 2014. Android Developers. [Online]. Tersedia :

http://developer.android.com/index.html. Diakses pada tanggal 12

Desember 2014.

DiMarzio, J.F. 2008. AndroidTM: A Programmer’s Guide. Mc Graw Hill, USA. Eclipse. 2014. About the Eclipse Foundation. [Online]. Tersedia :

https://www.eclipse.org/org/. Diakses pada tanggal 20 Desember 2014.

Fernando, Mario. 2013. Membuat Aplikasi Android AR Menggunakan Vuforia SDK dan Unity. Buku AR Online, Solo.


(5)

Fowler, Martin. 2004. UML Distilled Panduan Singkat Bahasa pemodelan Objek Standar, Edisi 3. Andi Publishing, Yogyakarta.

Grady Booch. 1999. Visual Modeling With Rational Rose 2000 And UML. Halim, J I., et al. 2011. Framework Pemetaan Data Berbasis Peta dengan

Menggunakan Google Maps API (Skripsi). Universitas Bina Nusantara. Jakarta.

Jiang, F., Y. Lu. 2012. Software testing model selection research based on yin- yang testing theory. In: IEEE Proceeding of International Conference on Computer Science and Information Processing (CISP), pp. 590-594. Karray, F., Milad Alemzadeh, Jamil A. Saleh and Mo N. Arab. 2008. Human

Computer Interaction: Overview on State of the Art. International Journal on Smart Sensing and Intelligent Systems. vol. 1, no. 1.

Kroll, Per, Bruce MacIsaac. 2006. Agility and Discipline Made Easy: Practices from OpenUP and RUP. Pearson Education, Inc., Massachussets. Larman, Craig. 2002. Applying UML and Patterns: An Introduction to Object-

Oriented Analysis and Design and the Unified Process, 2nd Edition. Prentice-Hall, Inc., New Jersey.

Lee, W. M. 2011. Beginning Android Application Development. Wiley Publishing, Inc.

Meildy, Bayu. 2014. Daftar Simbol. [Online]. Tersedia :

http://elib.unikom.ac.id/download.php?id=83238. Diakses pada tanggal 11

Januari 2015.

Nazruddin, Safaat H. 2012. (Edisi Revisi) Pemograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Informatika, Bandung. Pressman, Roger S. 2001. Software Engineering A Practitioner’s Approach Fifth

Edition. McGraw-Hill Companies, Inc, New York.

Pressman, R.S. 2010. Software Engineering: A Practitioner’s Approach, 7th Edition. McGraw-Hill, New York.

Ramadar, Pelsri. 2014. N.S Flartoolkit | Flash Augmented Reality Alt Actionscript. Buku AR Online, Solo.

Shapiro, Linda dan George C. Stockman. 2001. Computer Vision. Prentice-Hall. New Jersey. 279-325 hlm.


(6)

Shneiderman, Ben. 1998. Designing the User Interface: Strategies for Effective Human-Computer Interaction Third Edition. Massachusetts, Addison-Wesley.

Steiniger, S., Neun, M., dan Edwardes, A. 2006. Foundations of Location Based Services, Lecturenotes. [Online] Tersedia:

http://www.spatial.cs.umn.edu/Courses/Fall11/8715/papers/IM7_steiniger. pdf. Diakses pada 20 Desember 2014.

Sutoyo, T., Mulyanto, E., Suhartono, V., Nurhayati, O.D. dan Wijanarto. 2009. Teori Pengolahan Citra Digital. Andi, Yogyakarta.

Prabawa, Prana Sabda. 2013. Perancangan Aplikasi Pencarian Lokasi Fasilitas Pariwisata di Kota Bandung dan Implementasi Augmented Reality pada Platform Android. (Skripsi). Universitas Komputer Indonesia. Bandung. Uml-diagrams.org. 2014. The Unified Modeling Language. [Online] Tersedia:

http://www.uml-diagrams.org/. Diakses pada 20 Desember 2014.

Virrantaus, K, Markkula, J., Garmash, A.,Terziyan, Y.V. 2001. Developing GISSupported Location Based Services. In: Proc. of WGIS'2001 –First International Workshop on Web Geographical Information System. Yafini, Indra. 2007. Interaksi Manusia dan Komputer (Edisi Pertama). Graha

Ilmu, Yogyakarta.

Yitnosumarto. 2006. Metode Penelitian Kuantitatif dan Kualitatif. Graha Ilmu, Yogyakarta.