Aplikasi Media Pemasaran Properti Dengan
Aplikasi Media Pemasaran Properti Dengan
TUGAS AKHIR
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK ELEKTRO
PROGRAM STUDI SARJANA
SEMARANG
JULI 2017
UNIVERSITAS DIPONEGORO
HALAMAN JUDUL
APLIKASI MEDIA PEMASARAN PROPERTI DENGAN
MENGGUNAKAN TEKNOLOGI AUGMENTED REALITY
PADA PERANGKAT ANDROID
TUGAS AKHIR
FAKULTAS TEKNIK
DEPARTEMEN TEKNIK ELEKTRO
PROGRAM STUDI SARJANA
SEMARANG
JULI 2017
HALAMAN PERNYATAAN ORISINALITAS
ii
iii
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI
TUGAS AKHIR UNTUK KEPENTINGAN AKADEMIS
beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti/Noneksklusif
ini Universitas Diponegoro berhak menyimpan, mengalihmedia/formatkan, mengelola
dalam bentuk pangkalan data (database), merawat dan memublikasikan Tugas Akhir saya
selama tetap mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak
Cipta.
Dibuat di : Semarang
Pada Tanggal : Juli 2017
Yang menyatakan
iv
ABSTRAK
v
ABSTRACT
vi
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Allah SWT karena atas rahmat
dan karunia-Nya sehingga pelaksanaan Tugas Akhir dan penyusunan laporan ini
dapat terselesaikan. Tugas Akhir dengan judul “Aplikasi Media Pemasaran
Properti Dengan Menggunakan Teknologi Augmented Reality Pada Perangkat
Android” ini diajukan untuk memenuhi syarat akhir dalam menyelesaikan
pendidikan Program Sarjana pada Departemen Teknik Elektro Fakultas Teknik
Universitas Diponegoro Semarang.
Rasa terima kasih yang tulus penulis ucapkan kepada semua pihak yang
telah membantu selama pelaksanaan Tugas Akhir ini.
1. Bapak Dr. Wahyudi, ST., MT. selaku Ketua Departemen Teknik Elektro
Fakultas Teknik Universitas Diponegoro Semarang.
2. Bapak Munawar Agus R, S.T, M.T, Ph.D selaku Koordinator Tugas Akhir
3. Bapak Ir. Sudjadi, M.T., selaku Dosen Wali.
4. Bapak Maman Somantri Dr., S.T, M.T. selaku Dosen Pembimbing I yang
selalu sabar memberikan bimbingan dan arahan kepada penulis.
5. Bapak Yuli Christyono S.T, M.T selaku Dosen Pembimbing II yang selalu
sabar memberikan bimbingan dan arahan kepada penulis.
6. Orang tua penulis, Ibu Maf’ulah dan Bapak Khumaidi yang tanpa henti-
hentinya memberikan semangat dan do’a kepada penulis untuk
menyelesaikan Tugas Akhir ini.
7. Teman-teman Angkatan 2012 yang baik secara langsung maupun tidak
langsung sudah banyak membantu penulis. Khususnya untuk teman-teman
konsentrasi Teknologi Informasi. Terimakasih atas cerita, pengalaman, dan
kesan yang diberikan selama perkuliahan.
8. Teman-teman organisasi, baik di Al-Muhandis, HME, Philar, maupun Izzati
yang telah membentuk karakter dan kepribadian saya hingga sampai saat ini.
vii
9. Kelompok Inspirasi yang selalu menjaga diri supaya berjalan di atas
kebenaran.
10. Teman-teman di Wisma Atlit dan Wisma Programmer yang telah
memberikan tempat bernaung dan kenangan tak terlupakan.
11. Sahabat seperjuangan, Ienas, Yahya, Budi, Govinda, Adit yang terus
bersahabat sampai saat ini dan sampai akhir nanti. Insya Allah.
12. Semua teman – teman dan semua pihak yang tidak dapat saya sebutkan satu-
persatu yang telah memberikan bantuan dan semangat kepada penulis dalam
mengerjakan Tugas Akhir ini.
Penulis menyadari bahwa dalam penyusunan laporan Tugas Akhir ini
masih terdapat banyak kekurangan, oleh karena itu kritik serta saran yang bersifat
membangun akan penulis terima demi kebaikan dan kesempurnaan penyusunan
laporan dimasa yang akan datang. Semoga laporan Tugas Akhir ini dapat
memberikan manfaat dan menambah pengetahuan bagi kita semua.
Penulis
viii
DAFTAR ISI
HALAMAN JUDUL............................................................................................... i
HALAMAN PERNYATAAN ORISINALITAS................................................. ii
HALAMAN PENGESAHAN.............................. Error! Bookmark not defined.
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI......................... iii
ABSTRAK.............................................................................................................. v
ABSTRACT...........................................................................................................vi
KATA PENGANTAR..........................................................................................vii
DAFTAR ISI..........................................................................................................ix
DAFTAR GAMBAR.............................................................................................xi
DAFTAR TABEL............................................................................................... xiii
BAB I PENDAHULUAN.......................................................................................1
1.1 Latar Belakang...........................................................................................1
1.2 Rumusan Masalah......................................................................................4
1.3 Tujuan Tugas Akhir................................................................................... 4
1.4 Batasan Masalah........................................................................................ 4
1.5 Sistematika Penulisan................................................................................ 5
BAB II LANDASAN TEORI................................................................................ 6
2.1 Augmented Reality (AR)........................................................................... 6
2.1.1 Komponen Augmented Reality.............................................................7
2.1.2 Cara Kerja Augmented Reality............................................................. 8
2.2 Android...................................................................................................... 9
2.2.1 Android Studio.................................................................................... 10
2.2.2 Android SDK (Software Development Kit)........................................10
2.2.3 Komponen Aplikasi............................................................................ 11
2.3 Unity 3D.................................................................................................. 12
2.3.1 Komponen Aplikasi............................................................................ 13
2.3.2 Vuforia................................................................................................ 13
2.4 Java.......................................................................................................... 14
2.5 Unified Modelling Language...................................................................15
ix
2.6 Metode Pengujian Perangkat Lunak........................................................ 16
2.6.1 Pengujian Aplikasi Android................................................................17
2.6.2 Pengujian Augmented Reality.............................................................17
BAB III PERANCANGAN SISTEM................................................................. 18
3.1 Analisis Kebutuhan..................................................................................18
3.1.1 Deskripsi Sistem..................................................................................18
3.1.2 Kebutuhan Fungsional........................................................................ 20
3.1.3 Kebutuhan Non Fungsional.................................................................20
3.1.4 Kebutuhan Perangkat Keras................................................................21
3.1.5 Kebutuhan Perangkat Lunak............................................................... 22
3.2 Desain Aplikasi........................................................................................22
3.2.1 Diagram Use Case...............................................................................23
3.2.2 Diagram Aktivitas............................................................................... 24
3.2.3 Diagram Kelas.....................................................................................30
3.2.4 Perancangan Antarmuka..................................................................... 34
3.2.5 Perancangan Marker............................................................................56
3.2.6 Perancangan Sistem Augmented Reality............................................ 60
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM............................... 67
4.1 Implementasi............................................................................................67
4.1.1 Implementasi Antarmuka Sistem........................................................ 67
4.1.2 Implementasi dan Pembahasan Script.................................................74
4.2 Pengujian Sistem......................................................................................78
4.2.1 Pengujian Aplikasi Android................................................................79
4.2.2 Pengujian Augmented Reality.............................................................81
BAB V PENUTUP................................................................................................92
5.1 Kesimpulan.............................................................................................. 92
5.2 Saran........................................................................................................ 92
DAFTAR PUSTAKA...........................................................................................94
x
DAFTAR GAMBAR
xi
Gambar 3.25(a) Penempatan model 3D, (b) Pengaturan pada komponen kamera
AR dan Image Target.............................................................................................64
Gambar 3.26 (a) Pengaturan build settings, (b) Pengaturan platform................... 66
Gambar 4.1 Tampilan splash screen......................................................................67
Gambar 4.2 Tampilan menu utama........................................................................68
Gambar 4.3 Tampilan video profil dengan YoutubePlayerAPI.............................68
Gambar 4.4 Tampilan menu produk...................................................................... 69
Gambar 4.5 (a) Tampilan detail cluster dan (b) Tampilan detail cluster setelah
digeser ke bawah....................................................................................................70
Gambar 4.6 Tampilan menu fasilitas..................................................................... 70
Gambar 4.7 Tampilan menu portofolio..................................................................71
Gambar 4.8 Tampilan menu website......................................................................71
Gambar 4.9 (a) Tampilan dialog share (b) Hasil share di aplikasi tujuan............. 72
Gambar 4.10 (a) Tampilan menu contact (b) Tampilan kirim email (c) Tampilan
aplikasi telepon...................................................................................................... 74
Gambar 4.11 Tampilan Augmented Reality Cluster Umayyah 1.......................... 83
Gambar 4.12 Tampilan Augmented Reality Cluster Umayyah 2.......................... 83
Gambar 4.13 Tampilan Augmented Reality Cluster Umayyah 3.......................... 83
Gambar 4.14 Tampilan Augmented Reality Cluster Abbasiyah 1.........................84
Gambar 4.15 Tampilan Augmented Reality Cluster Abbasiyah 2.........................84
Gambar 4.16 Tampilan Augmented Reality Cluster Abbasiyah 3.........................84
Gambar 4.17 Tampilan Augmented Reality Cluster Ustmaniyyah 1.................... 85
Gambar 4.18 Tampilan Augmented Reality Cluster Ustmaniyyah 2.................... 85
Gambar 4.19 Tampilan Augmented Reality Cluster Ustmaniyyah 3.................... 85
xii
DAFTAR TABEL
xiii
BAB I
PENDAHULUAN
1
2
Fitur
No Judul Software Pengujian
Tambahan
1 “Aplikasi Augmented - ARToolKit - Video - Jarak
Reality untuk Katalog - OSGART - Sudut
Penjualan Rumah” oleh
“Bregga Teddy Gorbbala
dan Mochamad Hariadi
2 “Penerapan Teknologi - Unity 3D - Denah - Respon Time
Augmented Reality Pada - Vuforia - Tutorial
Aplikasi Katalog Rumah SDK - Contact
Berbasis Android” oleh
Muhammad Rifa’i, Tri
Listyorini, dan Anastasya
Latubessy
3 “Augmented Reality - ARToolKit - Bantuan - Blackbox
Untuk Bisnis Properti - OSGART - Tentang - Validitas
Sebagai Sarana - Unduh
Pemasaran Berbasis marker
Android” oleh Devi
Afriyantari Puspa Putri
dan Endah
Sudharmilah[3]
4 Pembuatan Brosur - Adobe - Zoom - Black-box
Perumahana Berbasis Flash - Rotate
Augmented Reality - About
Dengan Permodelan 3D”
oleh Abdul Muiz
Prisambodo[4]
5 “Pembuatan Aplikasi - Unity 3D - Rotasi - Black-box
Catalog 3D Desain - Vuforia - Informasi
Rumah Sebagai Sarana SDK rumah
Promosi Dengan - Detail
3
Fitur
No Judul Software Pengujian
Tambahan
Menggunakan Unity 3D” rumah
oleh Siryantini Nurul
Adnin, Ida Bagus Ketut
Widiartha, I Made Budi
Suksmadana[5]
6 Aplikasi Media - Unity 3D - Profil - Black-box
Pemasaran Properti - Vuforia perusahaan - Jarak
Dengan Menggunakan SDK (dengan pendeteksian
Teknologi Augmented - Android video awal
Reality Pada Perangkat Studio Youtube) maksimum
Android (Tugas Akhir - List Produk dan
penulis) - Detail minimum
Produk - Jarak
- Fasilitas pelacakan
- Portofolio maksimum
- Share dan
- Contact minimum
(dengan - Sudut
Maps) pendeteksian
- Audio awal dan
- Translate, pelacakan
Rotate, dan maksimum
Scale
Objek 3D
BAB I PENDAHULUAN
Bab ini berisi tentang latar belakang, tujuan Tugas Akhir,
pembatasan masalah, metodologi penulisan, dan sistematika
penulisan.
BAB II DASAR TEORI
Bab ini membahas tentang teori dasar mengenai Augmented
Reality (AR), Android, Unity, marker, Vuforia, dan Java.
BAB III PERANCANGAN SISTEM
Bab ini berisi perancangan sistem berupa analisis kebutuhan dan
desain aplikasi. Pada analisis kebutuhan akan mencakup dari
deskripsi sistem, kebutuhan fungsional, kebutuhan non fungsional,
kebutuhan perangkat keras, dan kebutuhan perangkat lunak. Pada
desain aplikasi terdapat perancangan aplikasi dengan diagram use
case, diagram aktivitas, diagram kelas, dan perancangan
antarmuka aplikasi.
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi tentang implementasi dan pengujian sistem. Pada
implementasi terdapat implementasi antar muka sistem berbasis
Android. Sedangkan pada pengujian menggunakan pengujian alfa
pada komponen aplikasi Android dan pada komponen Augmented
Reality.
BAB V PENUTUP
Bab ini berisi kesimpulan dan saran dari seluruh pembahasan
Tugas Akhir.
BAB II
LANDASAN TEORI
6
7
3. Tracker/Marker
Tracker atau lebih dikenal dengan marker adalah penanda yang
digunakan sebagai tempat munculnya objek virtual dalam dunia
nyata. Dengan adanya marker, objek virtual dapat tetap muncul
mengikuti posisi marker walaupun posisi marker dipindah-pindah.
Biasanya marker atau berbentuk semacam striker mirip QR Code
yang bisa ditempel/dipasang di benda nyata. Dalam
perkembangannya marker bisa dalam bentuk foto, objek 3D, atau
bahkan tanpa marker.
4. Komputer
Komputer berfungsi sebagai alat pemroses untuk membuat aplikasi
yang dapat menerapkan teknologi Augmented Reality. Komputer
disini bisa berupa PC atau laptop yang memiliki spesifikasi untuk
menjalankan aplikasi untuk membuat Augmented Reality, seperti
Unity3D dan Android Studio.
2.1.2 Cara Kerja Augmented Reality
Sistem dalam Augmented Reality bekerja dengan menganalisa secara
real-time obyek yang ditangkap dalam kamera. Berkat perkembangan pesat
teknologi handphone, Augmented Reality tersebut bisa diimplementasikan pada
perangkat yang memiliki GPS, kamera, dan kompas[8]. GPS digunakan untuk
mengetahui lokasi pengguna, kamera digunakan untuk media input, dan kompas
digunakan untuk mengetahui posisi perangkat seluler. Kombinasi dari ketiga
sensor tersebut dapat digunakan untuk menambahkan informasi dari obyek yang
ditangkap kamera. Berikut merupakan cara kerja Augmented Reality dengan
kamera sebagai media input dan layar komputer atau handphone sebagai media
ouput.
9
2.2 Android
Menurut Safaat, Nazruddin, mendefinisikan Android sebagai berikut:
“Android adalah sebuah sistem operasi untuk perangkat mobile berbasis Linux
yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan
platform yang terbuka bagi para pengembang untuk menciptakan aplikasi
mereka”.[9]
Pada Juli 2000, Google Inc. bekerja sama dengan Android Inc. yang
merupakan perusahaan pendatang baru untuk membuat peranti lunak pada ponsel
atau smartphone. Para pendiri Android bertugas mengembangkan program
perangkat seluler yang didukung oleh kernel Linux. Sejak kerjasama itu terjadi,
banyak yang menganggap fungsi Android adalah perangkat lunak pada telepon
seluler sehingga muncul rumor bahwa Google akan memasuki pangsa pasar
telepon seluler. Kemudian untuk mengembangkan Android, dibentuklah Open
10
Komponen Deskripsi
Views Elemen User Interface yang digambar pada layar seperti tombol,
list, formulir, dan lain lain.
Layouts Hierarki dari view yang mengontrol format layar dan tampilan
dari view.
Intents Objek pesan yang dapat digunakan untuk meminta aksi dari
komponen aplikasi lain.
2.3 Unity 3D
Unity 3D atau Unity Engine adalah suatu game engine yang terus
berkembang dan banyak digunakan. Penggunaan engine versi free dibatasi dengan
beberapa fitur yang dikurangi atau bonus modul / prefab tertentu yang ditiadakan
dan hanya tersedia untuk pengguna berbayar. [12]
Unity Engine dapat mengolah beberapa data seperti objek tiga
dimensi, suara, teksture, dan lain sebagainya. Keunggulan dari Unity Engine ini
dapat menangani grafik dua dimensi dan tiga dimensi. Namun engine ini lebih
konsentrasi pada pembuatan grafik tiga dimensi.
Dari beberapa game engine yang sama-sama menangani grafik tiga
dimensi, Unity Engine dapat menangani lebih banyak sistem operasi. Beberapa di
antaranya yaitu Windows, MacOS X, iOS, PS3, Wii, Xbox 360, dan Android
13
yang lebih banyak daripada game engine lain seperti Source Engine, GameMaker,
Unigine, id Tech 3 Engine, id Tech 4 Engine, Blender Game Engine, NeoEngine,
Unity, Quake Engine, C4 Engine atau game engine lain. Unity Engine memiliki
kerangka kerja (framework) lengkap untuk pengembangan profesional. Sistem
inti engine ini menggunakan beberapa pilihan bahasa pemrograman, diantaranya
C# dan Javascript.
2.3.1 Komponen Aplikasi
Komponen-komponen yang terdapat pada Unity 3D adalah sebagai
berikut:
1. Workspace
Jendela utama untuk sebuah projek, seluruh kegiatan perancangan
desain dapat dilihat pada jendela ini, memasukkan benda, memutar
benda, mengatur lokasi dengan melihat Workspace ini.
2. Inspector
Merupakan tempat untuk mengatur property dari resources yang
terdapat dalam projek, seperti ukuran gambar, texture yang dipakai
dsb
3. Intents
Merupakan jendela untuk setiap objek yang ada di Unity. Seluruh
model 3D, camera, atau berbagai objek lainnya akan tampil pada
jendela hierarchy.
4. Resources
Jendela untuk menyimpan resource yang akan digunakan pada projek.
Misalkan gambar untuk tekstur, suara, font, Scene, model 3D dsb.
Semuanya akan terdapat pada jendela resources.
2.3.2 Vuforia
Vuforia adalah Augmented Reality Software Development Kit (SDK)
untuk perangkat mobile yang memungkinkan pembuatan aplikasi AR [12]. SDK
Vuforia juga tersedia untuk digabungkan dengan Unity yaitu bernama Vuforia AR
Extension for Unity. Vuforia merupakan SDK yang disediakan oleh Qualcomm
untuk membantu para developer membuat aplikasi. Augmented Reality (AR) di
14
mobile phones (iOS, Android). SDK Vuforia sudah sukses dipakai di beberapa
aplikasi mobile untuk kedua platform tersebut.
AR Vuforia memberikan cara berinteraksi yang memanfaatkan kamera
mobile phones untuk digunakan sebagai perangkat masukan, sebagai mata
elektronik yang mengenali penanda tertentu, sehingga di layar bisa ditampilkan
perpaduan antara dunia nyata dan dunia virtual yang digambar oleh aplikasi.
Dengan kata lain, Vuforia adalah SDK untuk computer vision based AR. Jenis
aplikasi AR yang lain adalah GPS-based AR.
2.4 Java
Java adalah nama untuk sekumpulan teknologi yang membuat perangkat
lunak dan menjalankan perangkat lunak pada komputer stand alone ataupun pada
lingkungan jaringan/internet[13]. Java berdiri di atas sebuah mesin interpreter
yang diberi nama Java Virtual Machine (JVM). JVM inilah yang akan membaca
bytecode dalam file class dari suatu program sebagai representasi langsung
program yang berisi bahasa mesin. Oleh karena itu bahasa Java disebut sebagai
bahasa pemrograman yang portable, karena dapat dijalankan pada berbagai sistem
operasi, asalkan pada sistem operasi tersebut terdapat JVM. Agar sebuah program
Java dapat dijalankan, maka file dengan ekstensi .Java harus dikompilasi menjadi
file bytecode. Untuk menjalankan file bytecode tersebut dibutuhkan JRE (Java
Runtime Environment) yang memungkinkan pengguna untuk menjalankan
program Java.
Karakteristik Java adalah sebagai berikut:
1. Sederhana
Sintaks Java seperti sintaks pada C++ tetapi sintaks Java tidak
memerlukan header file, pointer arithmatic, struktur union, operator
overloading, class virtual base, dan yang lainnya. Jika mengenal C++
dengan baik, maka pengguna dapat berpindah ke synctax Java dengan
mudah.
15
18
19
Pada Gambar 3.1 dapat dilihat alur ketika menggunakan aplikasi ini,
yaitu ketika user mengakses aplikasi ini dan menggunakan fitur kamera untuk
memindai marker, aplikasi akan melihat hasil citra yang dihasilkan oleh kamera
secara real-time. Hasil citra tersebut kemudian diproses oleh Vuforia untuk
dicocokkan dengan data model 3D yang ada. Jika data tersebut cocok, maka
Vuforia akan menampilkan kepada user berupa Objek 3D yang sesuai di dalam
kamera. Objek tersebut akan muncul di atas marker sehingga terlihat seperti nyata.
Pada dasarnya aplikasi ini dibuat menggunakan engine Unity 3D yang
menggunakan bahasa C#. Unity 3D digunakan untuk diintegrasikan dengan
Vuforia, sehingga aplikasi yang dibuat bisa menyimpan objek 3D dan
menampilkan Augmented Reality di dalam kamera. Setelah sistem ini jadi
kemudian dibuat antarmuka awalnya.
Untuk antarmuka awal, aplikasi ini dibuat menggunakan IDE Android
Studio untuk membuat menu-menu dan informasi-informasi yang berkaitan
dengan perumahan tersebut. Android Studio sendiri menggunakan bahasa XML
untuk desain tampilannnya dan Java untuk pemrogamannya.
20
b. Performasi Sistem
Sistem yang dibangun merupakan aplikasi yang berjalan pada lingkungan
perangkat bergerak. Terdapat beberapa keterbatasan yang ditemui pada
perangkat bergerak meskipun sistem operasi yang digunakan adalah Android.
Oleh karena itu perlu diperhatikan guna menjadi acuan dalam pengembangan
sistem, diantaranya:
Sumber daya baterai yang secara efektif hanya mampu bertahan selama
kurang lebih 6 jam dengan penggunaan secara terus menerus dan kurang
lebih 200 jam dalam keadan standby.
Tampilan aplikasi antarmuka yang berpengaruh terhadap waktu tunggu
sehingga aplikasi benar-benar siap digunakan, semakin banyak komponen
yang digunakan akan semakin lama pula waktu tunggu yang dibutuhkan.
Kebutuhan kamera pada perangkat bergerak harus benar – benar fokus
pada marker untuk mendeteksi.
Dari keterbatasan pada perangkat Android tersebut, maka diusulkan
beberapa alternatif untuk menunjang performa aplikasi dengan keterbatasan
yang ada, diantaranya:
Merancang aplikasi dengan pemanfaatan sumber daya seefisien mungkin
namun tidak mengurangi fungsi dan performa aplikasi.
Merancang aplikasi dengan antarmuka yang sederhana namun tetap
menarik dan mudah digunakan oleh pengguna.
Membuat marker dengan gambar yang mudah terdeteksi oleh kamera.
3.1.4 Kebutuhan Perangkat Keras
Dalam pembuatan aplikasi ini, dibutuhkan beberapa spesifikasi perangkat
keras. Spesifikasi perangkat keras tersebut dapat dimasukkan ke dalam kebutuhan
perangkat keras dalam analisis kebutuhan. Karena menggunakan IDE Android
Studio dan juga Unity 3D, perangkat keras yang dibutuhkan dalam membuat
aplikasi ini adalah sebuah komputer dengan spesifikasi yang ditunjukkan pada
Tabel 3.1.
22
data dengan bantuan komputer. Rancangan sistem yang baik akan diterapkan
suatu kejadian untuk menentukan dan mengembangkan metoda prosedur dan
proses suatu data agar tujuan dari suatu organisasi dapat tercapai, sedangkan
tujuan dari perancangan sistem secara umum adalah memberikan gambaran secara
umum kepada pengguna mengenai sistem yang akan dirancang.
Gambar 3.11 merupakan diagram kelas dari menu materi pada aplikasi Pemasaran
Perumahan
(a)
(b)
32
(c)
Gambar 3.11 (a) Hubungan diagram kelas appcompat (b) Hubungan diagram kelas fragment
(c) Kelas – kelas independen
Dapat dilihat pada gambar 3.11 bahwa kelas-kelas utama yang terdapat
pada aplikasi ini extends ke AppCompatActivity, sedangkan kelas-kelas yang
sifatnya pengganti layout extends ke class Fragment. Selain itu juga ada
ClusterAdapter yang extends ke RecyclerView.Adapter, dan MyTextView yang
extends ke TextView. Sedangkan kelas yang lain berdiri sendiri yaitu
ClusterModel. Berikut adalah fungsi dari masing-masing kelas di atas:
a. Kelas SplashScreenActivity.Java, digunakan untuk menampilkan
splash screen. Yakni tampilan yang muncul beberapa detik sebagai
pembuka sebelum masuk ke aplikasi utama.
b. Kelas MainActivity.Java, digunakan untuk menangani seluruh navigasi
dari komponen NavigationDrawer dan juga sebagai lokasi dasar layout
untuk menampilkan fragment-fragment lain.
c. Kelas DetailClusterActivity.Java, digunakan untuk melihat detail
cluster rumah. Kelas ini digunakan untuk menampilkan data lengkap
cluster yang dipilih.
d. Kelas WebActivity.Java, digunakan untuk menampilkan halaman
website perusahaan. Kelas ini berfungsi seperti layaknya browser yang
menampilkan satu halaman web saja.
33
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
tools:context="com.krearive.hasanah.SplashScreenActivity">
<ImageView
android:id="@+id/imageViewLogoSplash"
android:layout_width="200dp"
android:layout_height="200dp"
app:srcCompat="@drawable/logohitam" />
</android.support.constraint.ConstraintLayout>
Pada setiap komponen yang dibuat terdapat atribut-atribut yang
digunakan untuk mengatur komponen tersebut. Atribut
android:layout_width dan android:layout_height digunakan untuk mengatur
lebar dan tinggi komponen. Ada 2 jenis pengaturan, yaitu match_parent dan
wrap_contents. Pengaturan match_parent berfungsi untuk mengatur ukuran
komponen menyesuaikan ukuran parent, yaitu layout induknya, jika parent
adalah ukuran device, berarti komponen tersebut menyesuaikan ukuran
device. Pengaturan wrap_content menyesuaikan ukuran komponen dengan
isi komponen tersebut. Atribut berikutnya yang digunakan adalah android:id
yang berfungsi untuk memberikan identifier untuk suatu komponen, dalam
hal ini adalah imageViewer. Atribut lain yang digunakan adalah
android:background yang berfungsi untuk mengatur background komponen.
Atribut tersebut bisa diisi warna dengan cara menuliskan kode heksadesimal
dari warna atau diisi gambar dengan menuliskan direktori gambar. Semua
gambar yang akan dijadikan latar harus diletakkan di direktori drawable.
Setelah pembuatan layout selesai, dilakukan pemberian perintah
dengan script yang ditulis dan ditangani oleh file Java bernama
SplashScreen.Java. Berikut merupakan script utama
SplashScreenActivity.Java.
if (id == R.id.nav_home) {
HomeFragment fragment = new HomeFragment();
FragmentManager manager = getSupportFragmentManager();
manager.beginTransaction()
.replace(R.id.frame_for_Fragment, fragment)
.commit();
getSupportActionBar().setTitle("Profil");
}
38
Dapat dilihat pada script di atas digunakan fungsi if-else untuk memilih
item berdasarkan Id item tersebut. Untuk berpindah antar menu, digunakan
Fragment yang dapat berubah-rubah tampilannya. Langkah-langkahnya
yaitu pertama dibuat terlebih dahulu masing-masing fragment menu-nya.
Kemudian diinisialisasi dengan syntax HomeFragment fragment = new
<LinearLayout
Android:orientation="vertical"
39
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<ImageView
Android:layout_width="300dp"
Android:layout_height="200dp"
Android:layout_gravity="center_horizontal"
Android:src="@drawable/logohitam"
Android:scaleType="centerCrop" />
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="@string/detail_perusahaan"
Android:layout_gravity="center_horizontal"
Android:textColor="@Android:color/white"
Android:textSize="16sp"
Android:layout_margin="20dp"
Android:textAlignment="center" />
<FrameLayout
Android:id="@+id/youtube_layout"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginBottom="50dp" />
</LinearLayout>
youTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
youTubePlayer.loadVideo("aTj2hgNmbE0");
youTubePlayer.play();
}
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider
provider, YouTubeInitializationResult youTubeInitializationResult)
{
if (youTubeInitializationResult.isUserRecoverableError())
{
youTubeInitializationResult.getErrorDialog(getActivity(),
40
RECOVERY_REQUEST).show();
} else {
String error =
String.format(getString(R.string.player_error),
youTubeInitializationResult.toString());
Toast.makeText(getActivity(), error,
Toast.LENGTH_LONG).show();
}
}
});
Pada baris program di atas, Youtube Player Fragment adalah program
yang dibuat untuk menampilkan video di dalam Fragment. Untuk
menampilkan video tersebut, diperlukan Youtube Api Key yang didapatkan
di Google Developer Console.
Kemudian inisialisasikan Youtube Player Fragment dengan Youtube Api
Key dan OnInitializedListener untuk membaca apakah inisialisasi berhasil
atau tidak. OnInitializationSuccess adalah saat inisialisasi berhasil dan
onInitializationFailure adalah saat inisilialisasi gagal. Saat inisialisasi
berhasil, selanjutnya yaitu definisikan PlayerStyle dan tampilkan video
sesuai dengan kode video yang dimuat. Jika gagal maka akan muncul Toast
yang menampilkan error.
4. Menu Produk
Antar muka menu produk ditangani oleh file layout
fragment_cluster.xml dan penanganan fungsi oleh kelas
ClusterFragment.Java. Gambar 3.15 berikut merupakan tampilan layout
fragment produk yang berisi list daftar rumah siap jual.
41
Pada script tersebut dapat dilihat bahwa item cluster akan menampilkan
gambar cluster dengan menggunakan komponen ImageView dan nama
cluster dengan menggunakan komponen MyTextView yang merupakan
TextView yang dapat menampilkan custom font. Setelah pembuatan layout
dilakukan penanganan perintah melalui file ClusterAdapter.Java. Perintah
pada kelas tersebut dilakukan untuk mengatur tampilan listview berupa
gambar dan teks sedemikian rupa sehingga gambar dan nama rumah dapat
tersusun menjadi daftar. List cluster ini akan menampilkan gambar dan
nama rumah dari direktori drawable serta nama rumah dari array berjenis
String yang diambil dari Class khusus berisi ArrayList dengan nama
ClusterModel. Berikut contoh script utama yang terdapat di
ClusterModel.Java
public ClusterModel(String namaCluster, int gambarCluster) {
this.namaCluster = namaCluster;
this.gambarCluster = gambarCluster;
}
public String getNamaCluster() {
return namaCluster;
}
public void setNamaCluster(String namaCluster) {
this.namaCluster = namaCluster;
}
public int getGambarCluster() {
return gambarCluster;
}
public void setGambarCluster(int gambarCluster) {
this.gambarCluster = gambarCluster
}
}
Fungsi dari script di atas yaitu membuat class yang dapat digunakan
untuk setter and getter suatu nilai, seperti nama cluster dengan tipe data
String dan gambar cluster dengan tipe data int.
Di dalam ClusterFragment.Java terdapat ArrayList untuk set masing-
masing variabel tersebut. Langkah-langkahnya yaitu:
List<ClusterModel> listCluster = new ArrayList<>();
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
Fungsi utama dari script tersebut adalah untuk menampilkan gambar dan
teks sesuai nama rumah masing – masing yaitu new ClusterAdapter
(listCluster, getActivity());. Perintah tersebut akan mengirimkan ArrayList
yang berisi banyak data ke ClusterAdapter. Di dalam Adapter data yang
dimasukkan akan disesuaikan dengan komponen-komponen yang terdapat
di cluster_item.xml. Selain itu juga terdapat LayoutManager yang berfungsi
untuk mengatur tampilan RecyclerView dalam bentuk Linear, Grid atau
Staggered. Untuk meningkatkan User Experience, digunakan Library
RecyclerViewAnimator untuk membuat animasi saat list rumahnya muncul,
dalam hal ini yaitu SlideInRightAnimationAdapter.
Selanjutnya, dari daftar yang ditampilkan pada layout
fragment_cluster.xml, apabila salah satu itemnya di-klik, data akan
dikirimkan menggunakan perintah putExtra dan akan muncul halaman baru
yang berisi detail rumah tersebut.
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent pindah = new Intent(context,
DetailClusterActivity.class);
//kirim data
pindah.putExtra("position",position);
pindah.putExtra("extraNama",
clusterLists.get(position).getNamaCluster());
context.startActivity(pindah);
}
});
45
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</Android.support.design.widget.CollapsingToolbarLayout>
</Android.support.design.widget.AppBarLayout>
<Android.support.design.widget.FloatingActionButton
Android:id="@+id/fab"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_margin="@dimen/fab_margin"
Android:src="@drawable/icon_panggil"
app:layout_anchor="@id/app_bar"
app:layout_anchorGravity="bottom|end" />
<Button
Android:id="@+id/btnAugment"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:background="@color/colorAccent"
Android:layout_gravity="bottom"
Android:text="Lihat dengan Augmented Reality"
Android:textColor="@Android:color/white" />
getSupportActionBar().setTitle(intentNama);
detailGambar = (CollapsingToolbarLayout)
findViewById(R.id.toolbar_layout);
detailGambar.setBackgroundResource(intentgambar);
<com.daimajia.slider.library.SliderLayout
Android:id="@+id/slider"
Android:layout_width="match_parent"
custom:pager_animation="Accordion"
custom:auto_cycle="true"
custom:indicator_visibility="visible"
custom:pager_animation_span="1100"
Android:layout_height="200dp"/>
48
<ListView
Android:id="@+id/listView"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
</ListView>
Dapat dilihat di atas dalam Slider Layout terdapat custom attribut yang
digunakan untuk mendukung penggunaan library. Seperti pager_animation
untuk menentukan jenis animasi, auto_cycle untuk membuat gambar
berpindah otomatis, indicator_visibility untuk menampilkan indikator.
Untuk menangani proses logikanya terdapat pada FasilitasFragment.java.
fasilitasSlider = (SliderLayout)
rootview.findViewById(R.id.slider);
for(int i = 0 ; i < imageFasilitas.length ; i++){
TextSliderView textSliderView = new
TextSliderView(getActivity());
textSliderView
.image(imageFasilitas[i])
.setScaleType(BaseSliderView.ScaleType.Fit);
fasilitasSlider.addSlider(textSliderView);
}
fasilitasSlider.setPresetTransformer(SliderLayout.Transformer.Accord
ion);
fasilitasSlider.setPresetIndicator(SliderLayout.PresetIndicators.Cen
ter_Bottom);
fasilitasSlider.setCustomAnimation(new DescriptionAnimation());
fasilitasSlider.setDuration(5000);
listView.setAdapter(adapter);
<ImageView
android:id="@+id/portofolio1"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_weight="1"
android:scaleType="centerCrop"
android:src="@drawable/portofolio1" />
<ImageView
android:id="@+id/portofolio2"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_weight="1"
android:scaleType="centerCrop"
android:src="@drawable/portofolio2" />
i.setData(Uri.parse("http://www.diandraserpongvillage.com/"));
startActivity(i);
} else if (v.getId() == R.id.portofolio_sakinah_village) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("http://sakinahvillage.com/"));
startActivity(i);
}
}
<WebView
Android:id="@+id/webView"
Android:layout_width="match_parent"
Android:layout_height="match_parent" />
myWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
MyActivity.setTitle("Loading...");
if (progress == 100)
MyActivity.setTitle(myWebView.getTitle());
}
});
<com.google.Android.gms.maps.MapView
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/mapView"
Android:layout_width="fill_parent"
Android:layout_height="450dp"
Android:layout_marginBottom="100dp"
Android:layout_marginLeft="10dp"
Android:layout_marginRight="10dp"
Android:layout_marginTop="10dp"/>
nomortelepon = (TextView)
rootview.findViewById(R.id.nomerTelepon);
nomortelepon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String NoTelepon="085740482440";
Intent intent = new Intent(Intent.ACTION_DIAL,
Uri.parse("tel:" + NoTelepon));
startActivity(intent);
}
});
emailperusahaan = (TextView)
rootview.findViewById(R.id.emailPerusahaan);
emailperusahaan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email="faizin.arief@gmail.com";
Intent intent = new Intent(Intent.ACTION_SENDTO,
Uri.fromParts(
"mailto",email, null));
intent.putExtra(Intent.EXTRA_SUBJECT, "Tertarik dengan
Hasanah City");
startActivity(Intent.createChooser(intent, "Kirim
Email"));
}
});
@Override
public void onMapReady(GoogleMap googleMap) {
map = googleMap;
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
map.getUiSettings().setZoomControlsEnabled(true);
map.getUiSettings().setMyLocationButtonEnabled(true);
map.addMarker(markerOption.position(operationalOfficer).title("
Operational Office")).showInfoWindow();
map.addMarker(markerOption.position(serviceOfficer).title("Serv
ice Office")).showInfoWindow();
map.animateCamera(CameraUpdateFactory.newLatLngZoom(serviceOffi
cer, 14));
(a)
(b)
(c)
58
(d)
(e)
(f)
59
(g)
(h)
(i)
Gambar 3.22 (a) Marker produk umayyah 1 (b) Marker produk umayyah 2, (c) Marker produk
umayyah 3, (d) Marker produk abbasiyah 1, (e) Marker produk abbasiyah 2, (f) Marker produk
abbasiyah 3, (g) Marker produk ustmaniyyah 1, (h) Marker produk ustmaniyyah 2, (i) Marker
produk ustmaniyyah 3.
60
(a)
61
(b)
Selanjutnya klik nama License yang diinginkan, dan lalu akan
dihadapkan pada sebuah teks acak seperti diatas. Teks inilah yang akan
digunakan pada aplikasi Unity jika ingin memanfaatkan fitur AR milik
Vuforia.
(c)
62
(d)
Gambar 3.23 (a) Registrasi aplikasi, (b) Lisensi aplikasi, (c) Registrasi marker, (d)
Database marker
Proses ini membutuhkan waktu yang singkat, apabila proses unggah
memerlukan waktu lama maka kualitas gambar kurang bagus. Minimal
gambar unggahan harus memiliki setidaknya 8 bit warna dan maksimal
memilki 24 bit warna, serta memiliki tingkat kontras warna cukup jauh
antara satu titik dengan titik lainnya. Semakin tinggi bintang yang
didapatkan artinya gambar semakin mudah untuk dikenali. Pattern
tersebutlah yang akan menjadi patokan Vuforia dalam menciptakan efek
Augmented Reality.
2. Penggunaan Komponen Unity
Penggunaan package Vuforia pada Unity berfungsi untuk menampilkan
model 3 dimensi pada marker yang telah terdaftar pada Vuforia,
komponen imagetarget berfungsi untuk menampilkan marker yang
terdapat pada marker database yang nantinya akan digunakan untuk
pemindaian. Gambar 3.24 berikut adalah proses penggunaan package
pada Unity.
63
(a)
(b)
Gambar 3.24 (a) Komponen ARCamera, (b) Komponen Image Target
(a)
(b)
Gambar 3.25(a) Penempatan model 3D, (b) Pengaturan pada komponen kamera AR
dan Image Target
Gambar 3.25(a) merupakan proses penempatan model 3D pada
Unity.Setelah model 3d disertakan pada scene Unity, dilakukan
pengaturan pada masing – masing komponen untuk menjalankan fungsi
dari setiap komponen tersebut dengan baik. Gambar 3.25(b) adalah
pengaturan yang dilakukan pada setiap komponen.
65
(a)
66
(b)
Gambar 3.26 (a) Pengaturan build settings, (b) Pengaturan platform
4.1 Implementasi
Pada aplikasi ini dilakukan implementasi hasil perancangan pada antarmuka
sistem. Hal ini dilakukan untuk menerapkan perancangan sistem yang telah dibuat
menjadi antarmuka aplikasi yang sesuai.
4.1.1 Implementasi Antarmuka Sistem
Pada implementasi antarmuka sistem ini menggambarkan bagaimana
program berjalan dari awal mulai hingga akhir. Antarmuka aplikasi yang terdapat
pada perangkat Android.
1. Antarmuka berbasis Android
Pada saat menjalankan aplikasi pada perangkat Android, tampilan
pertama yang muncul adalah tampilan splash screen sebagai halaman pertama
aplikasi. Berikut merupakan tampilan splash screen sesuai dengan rancangan
yang sudah dibuat.
67
68
beberapa detik. Setelah waktu splash screen habis, maka aplikasi secara
default akan langsung menampilkan menu Profil. Untuk bernavigasi antar
menu, caranya yaitu dengan klik icon menu di sebelah kiri atas, maka akan
muncul Navigation Drawer yang berisi menu-menu yang terdapat di dalam
aplikasi Pemasaran Perumahan ini.
itemnya berisi gambar cluster dan nama clusternya. Gambar 4.4 berikut
merupakan tampilan menu Cluster.
(a)
70
(b)
Gambar 4.5 (a) Tampilan detail cluster dan (b) Tampilan detail cluster setelah digeser ke
bawah
Dapat dilihat karena menggunakan CollapsingToolbarLayout pada
tampilan awal di Gambar 4.5 (a) terlihat toolbar berisi gambar cluster. Namun
saat digeser ke bawah gambar tersebut berubah menjadi toolbar seperti biasa
seperti pada gambar 4.5(b)
Menu selanjutnya yaitu Menu Fasilitas, pilih icon menu dan pilih item
Fasilitas. Menu Fasilitas digunakan untuk menampilkan macam-macam
fasilitas. Gambar 4.6 berikut merupakan tampilan dari Menu Fasilitas.
Terlihat pada Gambar 4.6 Poster fasilitas dapat berganti secara otomatis
karena menggunakan library Slider Layout . Sedangkan untuk list Fasilitas
dibuat menggunakan ListView juga berfungsi untuk megganti poster Fasilitas.
Pada Menu Portofolio, terdapat gambar-gambar portofolio project yang
pernah ditangani. Gambar 4.7 berikut merupakan tampilan pada menu
Portofolio.
Kemudian klik icon Menu dan pilih Menu Share untuk membagikan
tautan link aplikasi. Menu Share ini memanfaatkan Intent untuk memanggil
dialog share yang sudah terdapat dalam OS Android. Gambar 4.9 berikut
merupakan tampilan ketika memilih aplikasi tujuan.
(a)
(b)
Gambar 4.9 (a) Tampilan dialog share (b) Hasil share di aplikasi tujuan
Dapat dilihat pada gambar 4.9(a) muncul dialog share yang berisi pilihan
lokasi tujaun. Lalu pada gambar 4.9(b) adalah tampilan pada aplikasi tujuan
sebelum share tautan aplikasi, dalam hal ini yaitu pada aplikasi Facebook
Lite.
73
Kemudian klik icon Menu dan pilih Menu Contact untuk navigasi ke
Menu Contact. Menu Contact ini menggunakan TextView untuk tiap
informasi kontak. TextView ini dapat diklik dan melakukan panggilan
telepon maupun mengirim email. Selain itu juga terdapat peta alamat kantor
perusahaan dengan memanfaatkan GoogleMapsAPI. Gambar 4.10 berikut
merupakan tampilan manu Contact.
(a)
(b)
74
(c)
Gambar 4.10 (a) Tampilan menu contact (b) Tampilan kirim email (c) Tampilan aplikasi
telepon
Dapat dilihat pada gambar 4.10(a) merupakan tampilan menu Contact.
Dapat dilihat pada peta terdapat 2 marker yang merupakan dua lokasi kantor,
dalam hal ini yaitu kantor Pelayanan dan kantor Operasional. Kemudian pada
4.10(b) adalah tampilan pada aplikasi tujuan setelah klik TextView email,
dalam hal ini yaitu aplikasi Gmail. Dapat dilihat email dan subject sudah
otomatis terisi. Kemudian pada 4.10(c) adalah tampilan pada aplikasi tujuan
setelah klik TextView nomor telepon, dalam hal ini yaitu aplikasi bawaan OS
Android, yaitu aplikasi Telepon. Dapat dilihat nomor telepon sudah terisi.
4.1.2 Implementasi dan Pembahasan Script
Pada implementasi script pada Unity, terdapat beberapa fungsi yang dibuat
dan dimodifikasi untuk memenuhi kebutuhan fungsional aplikasi ini. Secara
standar, Unity tidak menyediakan fitur untuk mengganti scene, menutup aplikasi
dengan tombol kembali, menampilkan tombol dan suara saat pemindaian berhasil
dalam Vuforia, sehingga diperlukan suatu perancangan baris program yang dapat
menjalankan fungsi yang diperlukan tersebut. Berikut adalah baris – baris
program yang digunakan :
1. Script Memutar Suara
public AudioSource soundTarget;
public AudioClip clipTarget;
private AudioSource[] allAudioSources;
void StopAllAudio()
{
allAudioSources = FindObjectsOfType(typeof(AudioSource))
as AudioSource[];
foreach (AudioSource audioS in allAudioSources)
{
audioS.Stop();
}
}
75
Pada baris program di atas, adalah script yang berfungsi untuk menampilkan
atau mengaktifkan segala komponen ketika program mendeteksi adanya
marker, namun untuk memainkan suara ketika program mendeteksi marker
maka dilakukan modifikasi pada baris program tersebut untuk berfungsi
sesuai kebutuhan. Pada baris method OnTrackingFound(); terdapat if
(mTrackableBehaviour.TrackableName == "Rumah1") {playSound ("sounds/
ClusterUmayyah1");}, yaitu method yang digunakan untuk memutar suara
sesuai dengan nama AR yang terdeteksi suara.Play(), sedangkan ketika
pemindaian atau marker hilang maka akan menjalankan fungsi
OnTrackingLost, dimana di dalamnya terdapat method StopAllAudio(); yang
berfungsi untuk menghentikan suara. Suara yang dimainkan pada fungsi ini
adalah suara yang telah dimasukkan sebelumnya kedalam folder
Resources/Audio sesuai dengan nama masing-masing, sehingga suara yang
dihasilkan dapat sesuai dengan marker yang terdeteksi oleh kamera.
76
- LeanTranslate
private void Translate(Vector2 screenDelta)
{
if (LeanTouch.GetCamera(ref Camera) == true)
{
var screenPosition = Camera.WorldToScreenPoint(transform.position
);
screenPosition += (Vector3)screenDelta;
transform.position = Camera.ScreenToWorldPoint(screenPosition);
}
Script utama untuk merubah ukuran objek yaitu terdapat pada method
Scale(float scale, Vector2 screenCenter) yaitu pada
transform.localScale *= scale; yang berfungsi untuk merubah ukuran objek
sesuai dengan input tiga jari pada kamera
Uji Jenis
Bentuk Pengujian Indikator Keberhasilan
coba Pengujian
1 Memasukkan dan Muncul ikon aplikasi pada Black Box
memasang aplikasi pada appdrawer.
perangkat Android.
2 Menampilkan Splash Muncul tampilan splash Black Box
Screen screen selama 3 detik
3 Menampilkan Muncul navigation drawer Black Box
Navigation Drawer dari sebelah kiri yang
menampilkan menu aplikasi
4 Menampilkan menu Muncul menu profil saat item Black Box
Profil menu profil dipilih
5 Menjalankan video Video dapat berjalan dan Black Box
profil perusahaan dapat tampil fullscreen
6 Menampilkan menu Muncul list produk Black Box
Produk perumahan dalam bentuk
gambar dan nama
7 Menampilkan Detail Muncul detail produk yang
Produk berisi macam-macam gambar Black Box
dan foto
8 Menampilkan menu Muncul gambar fasilitas yang
Fasilitas berganti tiap beberapa detik
Black Box
dan list fasilitas untuk
menampilkan gambar
9 Menampilkan menu Muncul gambar-gambar
Portofolio portofolio dan muncul
Black Box
halaman website ketika setiap
portofolionya dipilih
10 Menampilkan menu Muncul halaman website
Black Box
Web perusahaan di dalam aplikasi
11 Share link aplikasi Muncul pilihan aplikasi
tujuan dan berhasil mengirim Black Box
link aplikasi
12 Menampilkan menu Muncul halaman kontak yang
Contact berisi informasi kontak
Black Box
perusaan dan alamat
perusaaan dalam peta
13 Melakukan panggilan Muncul aplikasi kontak dan
Black Box
dan mengirim email aplikasi email
80
Dapat dilihat pada tabel 4.2 bahwa pengujian pada masing-masing fitur
aplikasi telah berhasil 100% dan berjalan dengan baik pada setiap device. Hal ini
dikarenakan tidak ada kesalahan dalam perncangan dan device yang digunakan
mendukung, seperti terdapat memori dan akses internet yang memadai.
81
Dari tabel 4.3 dilakukan pengujian terhadap 3 perangkat yang berbeda, dan
disesuaikan dengan indikator keberhasilan. Setelah melakukan pengujian,
berikut hasil dari pengujian aplikasi Android. Tabel 4.4 berikut adalah hasil
uji aplikasi Android.
Dapat dilihat pada tabel 4.4 bahwa pengujian pada masing-masing marker
telah berhasil 100%. Setiap marker dapat menampilkan objek 3D secara
sesuai dengan marker yang dideteksi. Hal ini dikarenakan tidak ada
kesalahan dalam perncangan dan device yang digunakan sudah mendukung,
seperti mempunya kamera yang memadai dan prosesor yang cukup.
83
84
Gambar 4.17 Tampilan Augmented Reality Cluster Ustmaniyyah 1
85
86
Dari tabel 4.5 dilakukan pengujian terhadap 3 perangkat yang berbeda, dan
disesuaikan dengan indikator keberhasilan. Setelah melakukan pengujian,
Tabel 4.6 berikut adalah hasil dari pengujian jarak pendeteksian awal.
Dari tabel 4.6 dapat dilihat bahwa rata-rata jarak pendeteksian minimum
pada perangkat Mito Impact A10 yaitu 16.3 cm, pada perangkat Xiaomi
Redmi S1 yaitu 17 cm dan pada perangkat Xiaomi Redmi 3S Pro yaitu 16.4
cm. Kalau dira-rata yaitu sekitar 16.6 cm.
Dari tabel 4.7 dilakukan pengujian terhadap 2 perangkat yang berbeda, dan
disesuaikan dengan indikator keberhasilan. Setelah melakukan pengujian,
Tabel 4.8 berikut adalah hasil dari pengujian jarak pendeteksian awal.
89
Dari tabel 4.8 dapat dilihat bahwa rata-rata jarak pelacakan minimum pada
perangkat Mito Impact A10 yaitu 7 cm, pada Xiaomi Redmi S1 yaitu 6.4 cm
dan pada Xiaomi Redmi S3 Pro yaitu 7.1 cm. Kalau dira-rata, maka dapat
dilihat bahwa pada saat pelacakan, objek 3D masih dapat muncul sampai
jarak 6,8 cm.
Dari tabel 4.9 dilakukan pengujian terhadap 3 perangkat yang berbeda, dan
disesuaikan dengan indikator keberhasilan. Setelah melakukan pengujian,
Tabel 4.10 berikut adalah hasil dari pengujian sudut pendeteksian awal.
Dari tabel 4.10 dapat dilihat bahwa rata-rata jarak pendeteksian awal
maksimum pada perangkat Mito Impact A10 yaitu 54.5 derajat, pada
perangkat Xiaomi Redmi S1 yaitu 55.1 cm dan pada Xiaomi Redmi S3 Pro
yaitu 59 cm. Kalau dirata-rata, maka dapat dilihat bahwa objek dapat
muncul dengan sudut pendetekseian awak maksimum 56.2 derajat.
5.1 Kesimpulan
Kesimpulan yang didapat dari perancangan, implementasi dan pengujian
sistem adalah sebagai berikut:
1. Aplikasi media pemasaran properti dengan menggunakan teknologi
Augmented Reality pada perangkat Android telah dapat berjalan dengan
baik pada perangkat Android dengan Versi OS Android Kitkat sampai
Marshmallow.
2. Objek 3D dapat mulai tampil dengan jarak minimal pendeteksian awal
yaitu sekitar 16.6 cm. Sedangkan untuk jarak maksimal pendeteksian awal
yaitu sekitar 105.9 cm.
3. Semakin besar piksel kamera semakin besar jarak maksimal pendeteksian
awal.
4. Pada saat pelacakan, objek 3D masih dapat tampil dari jarak sekitar 6.8 cm
sampai dengan jarak sekitar 242.2 cm.
5. Objek 3D dapat tampil dengan sudut pendeteksian awal maksimum sekitar
56.2 derajat. Sedangkan saat pelacakan, objek 3D masih dapat tampil
sampai sekitar 87.8 derajat.
5.2 Saran
1. Membuat Augmented Reality langsung menggunakan Android Studio
tanpa menggunakan Unity3D dengan memanfaatkan Vuforia SDK untuk
Android.
2. Objek 3D tidak hanya menampilkan rumah dari luar, tetapi juga bentuk isi
rumah.
3. Menampilkan objek 3D rumah dalam ukuran yang sesungguhnya dengan
menggunakan teknologi Virtual Reality.
92
93
4. Membuat database untuk mengetahui rumah yang sudah dibeli dan belum
dibeli.
94
DAFTAR PUSTAKA
[1] Bregga Tedy Gorbala, “Aplikasi Augmented Reality untuk Katalog Penjualan
Rumah”, Jurusan Teknik Elektro, ITS Surabaya, 2010
[3] Devi Afriyantari Puspa Putri. “Augmented Reality Untuk Bisnis Properti Sebagai
Sarana Pemasaran Berbasis Android”, Program Studi Teknik Informatika,
Universitas Muhammadiyah Surakarta, 2014.
[5] Siryantini Nurul Adnin, Ida Bagus Ketut Widiartha, I Made Budi Suksmadana,
“Pembuatan Aplikasi Catalog 3D Desain Rumah Sebagai Sarana Promosi Dengan
Menggunakan Unity 3D,” Lontar Komputer:Jurnal Ilmiah Teknologi Informasi,
vol 7, no. 1. Apr. 2016.
[12] Eskania Widya. Pranita, “Aplikasi Edukatif Augmented Reality Sebagai Media
Pengenalan Simbol Komponen elektronika Berbasis Android”, Departemen
Teknik Elektro, Universitas Diponegoro, 2017.
95
.
[13] Muhammad Syarif, “Perancangan Aplikasi Bernama My Landmark Berbasis SIG
Untuk Informasi Penjualan Tanah Pada Perangkat Bergerak Android.”
Departemen Teknik Elektro, Universitas Diponegoro, 2016.