SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
WINGKY RESI WICAKSONO
10110357
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
Nama : Wingky Resi Wicaksono
TTL : Klaten, 27 Januari 1993
Usia : 21 Tahun
Jenis Kelamin : Laki - laki
Alamat : Cilame Indah C-31 005/020 Desa Cilame
Kec. Ngamprah – Kab. Bandung Barat
No. Telp : 081910494658
Email : wingky.resi.w@gmail.com
Pendidikan Formal
1998 – 2004 SDN Cimareme II
2004 – 2007 SMPN 3 Cimahi
2007 – 2010 SMAN 5 Cimahi
v
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... x
DAFTAR SIMBOL ... xi
DAFTAR LAMPIRAN ... xvi
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Perumusan Masalah ... 2
1.3 Maksud dan Tujuan ... 2
1.4 Batasan Masalah ... 3
1.5 Metodologi Penelitian ... 3
1.5.1 Metode Pengumpulan Data ... 3
1.5.2 Metode Pembangunan Perangkat Lunak ... 4
1.6 Sistematika Penulisan ... 5
BAB 2 TINJAUAN PUSTAKA ... 7
2.1 Profil Perusahaan ... 7
2.1.1 PT Karya Sehati Utama ... 7
2.1.2 Logo Perusahaan ... 8
vi
2.2.4 Natural Feature Tracking and Detection ... 17
2.2.5 Vuforia ... 18
2.2.5.1 Vuforia SDK ... 19
2.2.5.2 Vuforia API References... 21
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 23
3.1 Analisis Sistem ... 23
3.1.1 Analisis Masalah ... 23
3.1.2 Analisis Sistem yang Sedang Berjalan ... 23
3.1.3 Analisis Aplikasi Sejenis ... 25
3.1.4 Analisis Augmented Reality ... 26
3.1.4.1 Inisialisasi Marker ... 27
3.1.4.2 Deteksi Marker ... 29
3.1.4.3 Menampilkan Objek 3D ... 31
3.1.5 Spesifikasi Kebutuhan Perangkat Lunak ... 32
3.1.6 Analisis Kebutuhan Non-Fungsional ... 33
3.1.7 Analisis Kebutuhan Fungsional ... 35
3.1.7.1 Use Case Diagram ... 35
3.1.7.2 Definisi Aktor ... 35
3.1.7.3 Definisi Use Case ... 36
3.1.7.4 Skenario Use Case ... 36
3.1.7.5 Activity Diagram ... 39
vii
3.2.2 Perancangan Antarmuka ... 49
3.2.3 Jaringan Semantik ... 52
3.2.4 Perancangan Method ... 53
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 55
4.1 Implementasi Sistem ... 55
4.1.1 Lingkungan Sistem ... 55
4.1.2 Implementasi Antarmuka ... 55
4.2 Pengujian Sistem ... 56
4.2.1 Rencana Pengujian ... 56
4.2.2 Skenario Pengujian ... 57
4.2.3 Hasil Pengujian ... 58
4.2.4 Evaluasi ... 69
BAB 5 KESIMPULAN DAN SARAN... 71
5.1 Kesimpulan ... 71
5.2 Saran ... 71
iii
Dengan memanjatkan puji syukur khadirat Allah SWT yang telah
memberikan taufik dan hidayahnya kepada kita semua sehingga penulis dapat
menyelesaikan laporan tugas akhir yang berjudul “Aplikasi Augmented Reality Untuk Pengenalan Tipe-Tipe Rumah Di PT Karya Sehati Utama”. Tugas akhir ini merupakan syarat menyelesaikan program studi Strata I Jurusan Teknik
Informatika, Universitas Komputer Indonesia.
Tugas akhir ini dapat terlaksana dengan baik atas bimbingan dan bantuan
banyak pihak. Oleh karena itu, penulis ingin mengucapkan banyak terima kasih
dan penghargaan yang setinggi-tingginya kepada pihak-pihak yang telah
mendukung penulis dalam penyusunan tugas akhir ini, adapun pihak-pihak
tersebut adalah sebagai berikut:
1. Orangtua dan keluarga, khususnya Ibu dan Bapak tercinta yang tidak
henti-hentinya memberikan dukungan, motivasi, doa serta biaya sampai saat ini.
2. Bapak Adam Mukharil Bachtiar, S.Kom., M.T. sebagai dosen pembimbing
dan dosen wali yang telah membimbing dan memberikan pengarahan selama
penelitian tugas akhir ini sehingga tugas akhir ini dapat terselesaikan dengan
baik.
3. Ibu Tati Harihayati M., S.T., M.T. sebagai penguji 1 yang telah memberikan
masukkan dan arahan selama perbaikan tugas akhir ini.
4. Bapak Alif Finandhita, S.Kom. sebagai penguji 3 yang telah memberikan
saran-saran untuk pengembangan aplikasi.
5. Teman-teman di jurusan Teknik Informatika khususnya IF8 yang selalu
memberikan dukungan dan membantu dalam berbagai hal sehingga penulis
iv
Penulis menyadari bahwa penulisan tugas akhir ini masih jauh dari sempurna
dan masih banyak kekurangan yang memerlukan penyempurnaan. Untuk
meningkatkan mutu penulisan yang akan datang, penulis mengharapkan kritik dan
sarannya yang bersifat membangun dari pembaca. Semoga apa yang disampaikan
dapat bermanfaat bagi penulis khususnya dan semua yang berkepentingan pada
umumnya.
Bandung, Agustus 2014
72 Metode Penelitian Pendidikan. Jakarta. 2008.
[2] R. S. Pressman. Rekayasa Perangkat Lunak. Yogyakarta: Penerbit Andi. 2012.
[3] S. Siltanen. Theory and Applications of Marker-Based Augmented Reality.
2012.
[4] D. Irwanto. Perancangan Object Oriented Software Dengan UML. Jogjakarta:
Penerbit Andi. 2006.
[5] D. Adidrana. Perancangan Kartu Nama Dengan Augmented Reality Sebagai
Fortofolio Digital. e-Jurnal Teknik Elektro dan Komputer. pp. 2-7. 2013.
[6] Fathoni, Mochamad. Alat Musik Perkusi Augmented Reality Berbasis
Android. 2012.
[7] “Stat Counter Global Stats”.[Online]. Tersedia: gs.statcounter.com/#
mobile_os-ID-monthly-200812-201307. [Diakses 9 Juni 2014]
[8] “Vuforia”.[Online].Tersedia: https://developer.vuforia.com/resources/dev-
guide/vuforia-ar-architecture. [Diakses 12 Juni 2014]
[9] “Vuforia”.[Online].Tersedia: https://developer.vuforia.com/resources/dev-guide/getting-started. [Diakses 12 Juni 2014]
[10] Rentor, Mario Fernando. Rancang Bangun Perangkat Lunak Pengenalan
Motif Batik Berbasis Augmented Reality. Universitas Atma Jaya. Yogyakarta
2013.
[11] Vuforia. [Online]. Tersedia : https://www.vuforia.com/platform. Diakses [ 14
7
2.1 Profil Perusahaan
PT Karya Sehati Utama merupakan salah satu perusahaan di bidang bangunan
dan kontruksi terutama di bidang perumahan. Fokus perusahaan adalah untuk
menciptakan hunian yang aman, nyaman, dan tentunya tidak tertinggal dari segi
desain rumah.
2.1.1 PT Karya Sehati Utama
Berawal dari pengalaman dan pengamatan terhadap apa yang terjadi tentang
kondisi di bidang kontruksi, terutama di bidang perumahan, dan dibekali ilmu di
bidang bangunan dan kontruksi, serta melalui proses yang panjang dan
tempaan pengalaman di bidang bisnis, menjadi sebuah langkah awal berdirinya
sebuah usaha di bidang properti yang handal dengan nama PT Karya
Sehati Utama. Dengan menerapkan manajemen yang sederhana dan dikelola
dengan prinsip kejujuran dan kepercayaan, usaha yang resmi berdiri tanggal 16
November 2005 ini semakin maju dan berkembang. Hingga sampai saat ini PT
Karya Sehati Utama telah menelurkan karya-karya baru di setiap tahunnya.
Saat ini PT Karya Sehati Utama terletak di lokasi yang sangat strategis,
yakni di Gedung Karya Sehati, Komplek Grand Cupuwatu Jalan Solo Km. 11,8
Kalasan, Yogyakarta, dimana lokasi tersebut merupakan jalan penghubung antara
kota Yogyakarta dengan kota Solo & Klaten, Jawa Tengah, dan juga berdekatan
dengan Bandar Udara Adisucipto Yogyakarta. Nama Karya Sehati Utama itu
sendiri memiliki makna sebuah karya yang mengutamakan “dua hati yang saling
menyatu” yaitu hati pembuat karya dan hati pemesan karya. Dengan
menyatunya dua hati tersebut, diharapkan akan tercipta karya-karya yang
2.1.2 Logo Perusahaan
Logo perusahaan PT Karya Sehati Utama diambil dari nama perusahaan itu
sendiri yaitu singkatan dari Karya Sehati Utama. Logo Perusahaan PT Karya
Sehati Utama dapat dilihat pada Gambar 2.1
Gambar 2.1 Logo Perusahaan PT. Karya Sehati Utama
2.2 Landasan Teori
Landasan teori akan memberikan gambaran sumber serta kajian dari
teori-teori yang terkait dengan pembangunan aplikasi. Landasan teori-teori yang akan
dibahas yaitu mengenai Augmented Reality, Object Oriented Analisys and Design (OOAD), metode pengenalan marker, Natural Feature Tracking and Detection dan Vuforia.
2.2.1 Augmented Reality
Augmented Reality (AR) adalah suatu teknologi dimana menggabungkan dunia nyata dengan data digital [3]. Sistem AR pertama kali dikembangkan di
Sutherland pada tahun 1965 dan sampai sekarang terus berkembang. Saat ini,
sebagian penelitian AR menggunakan gambar langsung untuk marker
penandanya. Virtual objek yang ditambahkan hanya bersifat menambahkan bukan
menggantikan objek nyata. Sedangkan tujuan dari Augmented Reality ini adalah menyederhanakan objek nyata dengan membawa objek maya sehingga informasi
tidak hanya untuk pengguna secara langsung tetapi juga untuk setiap pengguna
Augmented Reality dapat diklasifikasikan menjadi dua berdasarkan ada tidaknya penggunaan marker yaitu:
1. Marker Augmented Reality
Sebuah metode yang memanfaatkan marker yang biasanya berupa ilustrasi hitam dan putih berbentuk persegi atau lainnya dengan batas hitam tebal dan
latar belakang putih. Melalui posisi yang dihadapkan pada sebuah kamera
komputer atau smartphone, maka komputer atau smartphone akan melakukan proses menciptakan dunia virtual 2D atau 3D. Marker Based Tracking ini sudah lama dikembangkan sejak 1980-an dan pada awal 1990-an mulai
dikembangkan untuk penggunaan Augmented Reality. 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 objek 3D atau yang lainnya. Sekalipun dinamakan dengan markerless namun aplikasi tetap berjalan dengan melakukan pemindaian terhadap objek, namun ruang
lingkup yang dipindai lebih luas dibanding dengan Marker Based Tracking. Seperti yang saat ini dikembangkan oleh perusahaan Augmented Reality
terbesar di dunia Total Immersion, yang telah telah membuat berbagai macam
teknik Markerless Tracking sebagai teknologi andalan perusahaan, seperti
Image Target, Face Tracking, 3D Object Tracking, dan Motion Tracking. a. Image Target
Imaget target yaitu sebuah metode dimana marker yang dibaca oleh sistem
AR adalah sebuah gambar, baik gambar hitam putih atau gambar
berwarna.
b. Face Tracking
Dengan menggunakan algoritma yang telah dikembangkan, komputer
dapat mengenali wajah manusia secara umum dengan cara mengenali
objek-objek lain di sekitarnya seperti pohon, rumah, dan benda-benda
lainnya [5].
c. 3D Objeck 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.
d. Motion Tracking
Teknik ini komputer dapat menangkap gerakan, Motion Tracking telah
mulai digunakan secara ekstensif untuk memproduksi film-film yang
mencoba mensimulasikan gerakan. Contohnya pada film Avatar, dimana
James Cameron menggunakan teknik ini untuk membuat film tersebut dan
menggunakannya secara realtime.
Penggunaan AR saat ini sudah merambah ke berbagai bidang. Bidang-bidang
yang pernah menerapkan teknologi augmented reality adalah:
1. Hiburan
Dunia hiburan juga membutuhkan AR sebagai penunjang efek-efek yang
akan dihasilkan oleh hiburan tersebut. Contohnya adalah ketika sesorang
pembawa acara cuaca memperkirakan ramalan cuaca. Pembawa acara berdiri
di depan layar hijau, kemudian dengan teknologi Augmented Reality layar hijau tersebut berubah menjadi gambar animasi tentang cuaca tersebut,
sehingga seolah-olah pembawa acara tersebut seperti masuk ke dalam animasi
tersebut.
2. Navigasi Pada Telepon Genggam
AR adalah sebuah presentasi dasar dari aplikasi-aplikasi navigasi. Dengan
menggunakan GPS (Global Positioning System) maka aplikasi pada
smartphone dapat mengetahui keberadaan penggunanya pada setiap saat. Banyak aplikasi yang telah menggunakan teknologi AR yang digabungkan
dengan lokasi sebagai presentasi untuk menampilkan titik-titik di sekitar
untuk membuat fitur pemberian arah lalu menampilkan atau menyuarakan
kepada penggunanya untuk membelokkan arah.
3. Kedokteran
Teknologi pencitraan sangat dibutuhkan di dalam dunia kedokteran,
seperti misalnya adalah untuk simulasi operasi, pembuatan vaksin virus, dan
lainnya. Untuk itu, bidang kedokteran menerapkan AR pada visualisasi
penelitian mereka.
4. Pelatihan Militer
Militer telah menerapkan AR pada latihan tempur mereka. Sebagai contoh,
militer menggunakan AR untuk membuat sebuah permainan perang, dimana
prajurit akan masuk kedalam dunia game tersebut, dan seolah-olah seperti
melakukan perang sesungguhnya.
2.2.2 Object Oriented Analisys and Design (OOAD)
Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan
suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar
dunia nyata. Dasar pembuatan adalah objek yang merupakan kombinasi antara
struktur data dan perilaku dalam satu entitas. Pengertian berorientasi objek
berarti bahwa cara mengorganisasikan perangkat lunak sebagai kumpulan dari
objek tertentu yang memiliki struktur data perilakunya.
Konsep OOAD mencakup analisis dan desain sebuah sistem dengan
pendekatan objek, yaitu:
1. Analisis berorientasi objek (OOA)
Metode analisis yang memerika requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem dari sudut pandang kelas-kelas dan
objek-objek yang ditemui dalam ruang lingkup perusahaan. Unified Modeling Language (UML) adalah bahasa untuk mengspesifikasi, memvisualisasi, membangun dan mendokumentasi artefacts (bagian dari informasi yang digunakan atau dihasilkan oleh proses pembuatan perangkat lunak), seperti
pada pemodelan bisnis dan sistem non perangkat lunak lainnya. UML
digunakan untuk visualisasi, spesifikasi, pembentukan dan
pendokumentasian alat-alat dari sistem perangkat lunak.
UML disebut sebagai bahasa pemodelan bukan metode. Kebanyakan
metode terdiri paling sedikit prinsip, bahasa pemodelan dan proses.
Bahasa pemodelan (sebagian besar grafik) merupakan notasi dari metode
yang digunakan untuk mendesain secara cepat.
a. Use Case Diagram
Menggambarkan sejumlah eksternal aktor dan hubungannya ke use case
yang diberikan oleh sistem.
b. Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk
mendeskripsikan aktivitas yang dibentuk dalam suatu operasi sehingga
dapat juga digunakan untuk aktivitas lainya seperti use case. c. Class Diagram
Menggambarkan struktur dan deskripsi class, package (paket) dan objek beserta hubungan satu sama lain seperti containment (penahanan), pewarisan, asosiasi dan lain-lain
d. Sequence Diagram
Menggambarkan kolaborasi dinamis antara sejumlah objek dan untuk
menunjukan rangkaian pesan yang dikirim antara objek juga interaksi.
Sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem [4].
2. Desain berorientasi objek (OOD)
Metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem.
2.2.3 Metode Pengenalan Marker
Perancangan Augemented Reality, terdapat tiga bagian utama yaitu: 1. Inisialisasi marker
2. Deteksi marker
3. Menampilkan objek 3D
Mulai
Marker
Deteksi Marker
Apakah Marker Terdeteksi ? Inisialisasi Marker
Menampilkan Objek 3D
Selesai Ya
Tidak
Gambar 2.2 Alur Proses Dari Augmented Reality
Inisialisasi marker dimaksudkan untuk memberikan status dari marker baik
terdeteksi atau belum serta variabel-variabel lain yang berhubungan dengan
marker. Proses perancangan dan implementasi untuk deteksi marker aplikasi ini menggunakan metode Natural Feature Tracking (NFT) yaitu proses mendeteksi
keberadaan penanda atau marker dengan melihat feature-feature. Dimana setelah
marker terdeteksi akan mengalami beberapa poses pada marker. Tujuannya adalah agar pendeteksian lebih mudah. Gambar atau marker yang akan digunakan sebagai marker perlu konversi terlebih dahulu menjadi file berekstensi *.xml sebelum dapat digunakan dalam kode, yaitu dengan mengunakan fasilitas yang
Marker yang dipilih oleh pengguna akan dilakukan pengecekan fiturnya. Sebuah fitur adalah dimana gambar memiliki bentuk tajam, berduri, detil seperti dipahat
dalam gambar, seperti dalam benda bertekstur. Gambar analyzer merupakan fitur seperti salib kuning kecil untuk mengenali jumlah rincian feature dalam gambar, dan memverifikasi bahwa rincian membuat pola yang tidak berulang. Contoh
gambar yang tidak dan memiliki feature dapat dilihat pada Gambar 2.3.
Gambar 2.3 Contoh Gambar yang Tidak Dan Memiliki Feature
Gambar 2.3 (A), pada pola tersebut tidak memiliki feature karena pada pola tersebut tidak memiliki sudut sama sekali. Berbeda halnya dengan (B) dan (C)
yang memiliki masing-masing 4 dan 2 feature karena memili sudut pada pola. Pada Target Manager, marker akan dinilai berdasarkan feature-nya. Pemberian nilai berkisar antara 0-5 bintang. Jika marker yang dicek memilki nilai rate 5 bintang maka marker tersebut sangat mudah dikenali oleh sistem AR. Jika nilai
Gambar 2.4 Contoh Masukkan Marker
Gambar 2.5 Hasil Pendeteksian Fitur
Cara kerja dari pencarian marker ini dilakukan secara per-frame pada video secara real-time. Ketika marker ditemukan, akan dilakukan kalkulasi world transformation matrix berdasarkan posisi dan kemiringan dari marker. Selanjutnya hasil dari world transformation matrix posisi objek virtual terhadap objek fisik marker dapat ditentukan. Untuk pencocokan, fitur yang pertama kali diekstrak dari citra masukkan dan mengubah secara relatif terhadap orientasi dan
skala. Perubahan fitur dibandingkan dengan masing-masing fitur dari citra acuan
(marker yang sudah di simpan sebelumnya pada aplikasi) untuk menemukan fitur yang cocok dengan kandidat (marker yang terdeteksi) berdasarkan jarak
Euclidean vektor fitur marker [6].
1. Pencahayaan
Proses pendeteksian marker sangat tergantung pada pencahayaan yang digunakan. Marker akan sulit dideteksi jika pencahayaan yang digunakan terlalu gelap atau pencahayaan yang digunakan terlalu terang.
2. Jarak
Jarak juga berpengaruh terhadap pendeteksian. Jika marker terlalu jauh maka
marker akan menjadi buram dan sulit dideteksi fitur pada marker. 3. Oklusi / Terhalang
Maksudnya adalah jika marker terhalang atau tertutupi oleh sesuatu menyebabkan marker tidak berada pada bentuk aslinya sehingga membuat pendeteksisan menjadi gagal.
4. Kamera
Perangkat kamera dengan resolusi yang tinggi sangat berpengaruh terhadap
pembacaan marker. Dengan resolusi yang baik membuat penangkapan marker
menjadi jelas, sehingga memudahkan pendeteksian dari marker.
Keluaran yang dihasilkan berupa identifikasi posisi marker dengan menggunakan tiga sumbu koordinat yaitu x,y, dan z. Koordinat ini dimaksudkan
agar posisi objek dapat dengan mudah diatur berdasarkan sumbu koordinat [6].
Hasil pelacakan koordinat dapat dilihat pada Gambar 2.6.
Gambar 2.6 Hasil Pelacakan Berupa Penentuan Koordinat [6]
Dari gambar tersebut dapat dilihat bahwa QCAR menggunakan sistem
koordinat tangan kanan. Setiap Image Target dan Frame Marker mendefinisikan
sistem koordinat lokal dengan (0,0,0) di pusat (tengah) dari target. +X (kanan),
2.2.4 Natural Feature Tracking and Detection
Dalam metode ini informasi yang diperlukan untuk tujuan pelacakan dapat
diperoleh dengan cara optical-flow berbasis pencocokan template atau korespondensi fitur. Optical flow atau aliran optik adalah pola gerakan jelas benda, permukaan, dan tepi dalam adegan visual yang disebabkan oleh gerakan
relatif antara pengamat (mata atau kamera) dan adegan. Korespondensi fitur
bekerja lebih baik dan lebih efektif daripada pencocokan template karena korespondensi fitur bergantung pada pencocokan fitur lokal. Mengingat
korespondensi tersebut, posisi secara kasar dapat dihitung dengan estimasi yang
kuat yang membuatnya cukup sensitif terhadap oklusi parsial, blur, refleksi,
perubahan skala, kemiringan, perubahan iluminasi atau kesalahan pencocokan
[10].
Salah satu unsur diterapkan pendekatan pelacakan fitur alami didasarkan pada
versi modifikasi dari SIFT dan FERNS fitur deskriptor. SIFT sangat baik dalam
mengekstrak tetapi prosesor bekerja secara intensif karena komputasi, sementara
FERNS menggunakan klasifikasi fitur yang cepat, tetapi membutuhkan kapasitas
memori yang besar. Dalam hal ini pelaksanaan SIFT dan FERNS telah
terintegrasi, tetapi dengan modifikasi signifikan untuk membuat sebuah sistem
pelacakan yang cocok untuk ponsel. Alur SIFT dan FERNS dapat dilihat pada
Gambar 2.7 [10].
2.2.5 Vuforia
Vuforia merupakan salah satu library untuk Augmented Reality, yang menggunakan sumber yang konsisten mengenai computer vision yang fokus pada
image recognition. Vuforia mempunyai banyak fitur-fitur dan kemampuan, yang dapat membantu pengembang untuk mewujudkan pemikiran mereka tanpa adanya
batas secara teknikal [9].
Vuforia mendukung pengembang untuk membuat aplikasi yang dapat
digunakan di hampir seluruh jenis smartphone dan tablet. Pengembang juga diberikan kebebasan untuk mendesain dan membuat aplikasi yang mempunyai
kemampuan antara lain :
1. Teknologi computer vision tingkat tinggi yang mengijinkan developer untuk membuat efek khusus pada mobile device.
2. Dapat secara terus-menerus mengenali multiple image. 3. Tracking dan Detection tingkat lanjut.
4. Solusi pengaturan database gambar yang fleksibel [9] seperti pada Gambar 2.8.
Gambar 2.8 Struktur Vuforia [9]
Target pada vuforia merupakan objek pada dunia nyata yang dapat dideteksi
oleh kamera, untuk menampilkan objek virtual. Beberapa jenis target pada vuforia
1. Image targets, contoh : foto, papan permainan, halaman majalah, sampul buku, kemasan produk, poster, kartu ucapan. Jenis target ini menampilkan
gambar sederhana dari Augmented Reality.
2. Frame markers, tipe frame gambar 2D dengan pattern khusus yang dapat digunakan sebagai potongan permainan di permainan pada papan.
3. Multi-target, contohnya kemasan produk atau produk yang berbentuk kotak ataupun persegi. Jenis ini dapat menampilkan gambar sederhana Augmented
3D.
4. Virtual buttons, yang dapat membuat tombol sebagai daerah kotak sebagai sasaran gambar [9].
2.2.5.1Vuforia SDK
Vuforia memerlukan beberapa komponen penting agar dapat bekerja dengan
baik. Komponen-komponen tersebut, yaitu:
1. Kamera
Spesifikasi kamera cukup dengan menggunakan kamera tunggal. Kamera
mengambil gambar untuk melacak marker dan kemudian melakukan
registrasi marker. Pengembang dapat mengaturnya ketika memulai dan menghentikan pengambilan gambar.
2. Image converter
Gambar akan dikenversi dari format YUV 12 ke format RGB565 untuk
OpenGL ES kemudian mengatur pencahayaan untuk pelacakan marker.
3. Tracker
Menggunakan algoritma komputer vision untuk mendeteksi dan melakukan
pelacakan objek nyata yang diambil dari kamera. Objek tersebut dievaluasi
dan hasilnya akan disimpan yang kemudian akan diakses oleh aplikasi.
4. Renderer
Digunakan untuk melakukan rendering hasil objek yang ditangkap oleh
kamera ke video yang dimaksudkan untuk optimasi device.
5. Application Code
harus diubah berdasarkan lokasi objek virtual.
6. Target resources
Target resource dihasilkan dari target management system. Keluaran yang dihasilkan dari sistem berupa file binary yang menyimpan pola marker dan file konfigurasi XML dan semuanya digabung dalam sebuah aplikasi [8].
Berikut ini adalah gambaran dari diagram aliran data Vuforia, dapat dilihat
pada Gambar 2.9.
Gambar 2.9 Diagram Aliran Data Vuforia [8]
Beberapa penjelasan dari gambar 2.9 adalah sebagai berikut :
1. Camera
Digunakan untuk menangkap gambar per-frame kemudian mempersiapkan format dan ukurannya (pixel) menghasilkan "camera-frame".
2. Pixel Format Conversion
Setiap kamera smartphone memiliki format yang berbeda seperti YUV, RGB, CMYK, dan lain-lain. Oleh karena itu harus di convert menjadi format yang dapat diolah dengan baik oleh Vuforia yang berbasis OpenGL, kemudian
3. Tracker
Merupakan engine inti dari Vuforia, yang berisi algorima computer vision
yaitu SIFT dan FERNS dengan metode NFT (Natural Feature Tracking).
Sehingga dapat melakukan tracking objek yang ada di dunia nyata (converted frame). Tracking marker dapat dilakukan pada benda seperti gambar 2D ataupun benda lainnya seperti meja, kursi, dan sebagainya. Marker yang dapat
di tracking berasal dari database yang sudah dibuat sebelumnya, yaitu pada
cloud ataupun pada smartphone) 4. Application
Merupakan tahapan pembangunan aplikasi bagi developer, pada bagian ini dilakukan pengolahan terhadap pembangunan aplikasi misalnya coding, mengatur event atau action yang dibutuhkan, serta mengatur objek yang akan ditampilkan pada aplikasi.
2.2.5.2Vuforia API References
API Reference berisi informasi tentang hirarki kelas dan fungsi member dari QCAR SDK. Sistem High-level pada vuforia dapat dilihat pada Gambar 2.10.
Gambar 2.10 Sistem High-Level Pada Vuforia [11]
Sebuah gambaran dari SDK yang ditampilkan pada Gambar 2.10 ini
menyediakan :
1. Callbacks events (Contoh : Sebuah gambar kamera baru tersedia) 2. High-level access to hardwareunits (contoh : Kamera mulai/berhenti) 3. Multiple trackables / Jenis pelacakan yaitu dapat melalui :
Dapat mengenali gambar dengan detail yang cukup termasuk majalah,
iklan atau brosur serta kemasan yang tertera pada produk.
b. Multi Targets
Dapat mengenali lebih dari satu marker secara bersamaan.
c. Cylinder Targets
Dapat mengenali benda seperti botol, cangkir, kaleng, dan sebagainya.
d. Word Targets
Mendukung pengenalan kata bahasa Inggris dari database standar 100.000
kata atau kosa kata kustom didefinisikan oleh pengembang.
e. Frame Markers
ID unik dari frame marker dikodekan ke dalam pola biner sepanjang perbatasan gambar marker. Sebuah frame marker memungkinkan gambar apapun untuk ditempatkan dalam batas-batas marker.
23
3.1 Analisis Sistem
Berdasarkan analisis yang telah dilakukan maka untuk memahami sistem
yang akan dibuat maka salah satu tahapan yang harus dilalui adalah melakukan
analisis. Pembahasan berikut merupakan analisis masalah, analisis sistem yang
sedang berjalan, analisis aplikasi sejenis, dan analisis Augmented Reality.
3.1.1 Analisis Masalah
Berdasarkan hasil pengamatan dan wawancara yang telah dilakukan, dalam
melakukan penjelasan tipe-tipe rumah ke calon pembeli, media yang digunakan
adalah brosur dan maket. Untuk maket tidak semua tersedia tipe-tipe rumah
dibuatkan maketnya, sehingga tidak semua calon pembeli dapat memahami
tipe-tipe rumah yang ditawarkan.
3.1.2 Analisis Sistem yang Sedang Berjalan
Prosedur yang sedang berjalan di kantor pemasaran PT Karya Sehati Utama
dalam mengenalkan tipe-tipe rumah adalah dengan menjelaskan secara langsung
kepada calon pembeli melalui media brosur. Calon pembeli juga dapat melihat
maket rumah yang tersedia. Berikut adalah gambaran mengenai prosedur
pengenalan tipe-tipe rumah yang sedang berjalan dapat dilihat pada Gambar 3.1.
Brosur
Calon Pembeli Customer Service
Meminta
Memberikan
Penjelasan dari Gambar 3.1 dapat dilihat sebagai berikut:
1. Calon pembeli
Calon pembeli disini adalah sebagai orang yang memerlukan informasi
mengenai tipe-tipe rumah yang ditawarkan. Calon pembeli meminta brosur
kepada customer service. 2. Customer Service
Customer service menjadi media yang tersedia untuk mengetahui tipe-tipe rumah apa saja yang ditawarkan. Customer service akan memberikan penjelasan dan brosur kepada calon pembeli.
Aktifitas yang dilakukan oleh calon pembeli dan customer service dapat digambarkan dengan activity diagram. Activity diagram pengenalan tipe rumah dapat dilihat pada Gambar 3.2.
Calon Pembeli Customer Service
Menanyakan tipe rumah yang ditawarkan Memberikan brosur sesuai permintaan
Menjelaskan tipe rumah yang ditanyakan
3.1.3 Analisis Aplikasi Sejenis
Tahap analisis dilakukan untuk mengetahui kelebihan dan kekurangan serta
komponen apa saja yang terlibat pada aplikasi yang dianalisis. Agar aplikasi yang
akan dibangun diharapkan bisa menjadi lebih baik dari aplikasi yang dianalisis.
Ada banyak aplikasi yang digunakan sebagai media promosi untuk suatu produk
yang dijual. Aplikasi yang digunakan untuk dijadikan sebagai bahan referensi dan
digunakan sebagai bahan analisis adalah aplikasi AR Rumah. Aplikasi ini berbasis
desktop dan menggunakan kamera tambahan atau bisa juga menggunakan kamera
laptop untuk membaca marker. Marker yang digunakan adalah marker hitam putih dimana memiliki border hitam persegi yang membingkai dari gambar atau
pola unik untuk menampilkan objek 3D. Saat aplikasi ini dijalankan, kamera akan
langsung membaca semua inputan yang masuk melalui kamera. Jika Kemudian
program akan menyeleksi objek-objek atau marker-marker apa saja yang terdeteksi. Calon marker yang sudah sesuai dengan aturan marker yaitu dimana terdapat border hitam persegi akan dideteksi dan disamakan dengan data marker
yang ada. Jika marker yang terdeteksi sesuai, maka aplikasi akan menempatkan objek 3D tepat diatas marker yang terdeteksi. Jika tidak maka tidak akan menampilkan objek 3D apapun. Tampilan dari aplikasi ini dapat dilihat pada
Gambar 3.3.
Komponen dasar di dalam suatu sistem AR adalah sebuah display, kamera untuk menangkap marker, dan komputer yang telah di-install dengan software
yang berkaitan, marker, serta berbagai macam perangkat keras yang dapat digunakan untuk mendukung, seperti kamera, telepon genggam, PDA, laptop, dan
lainnya. Komponen aplikasi yang terlibat adalah layar komputer, kamera laptop
atau kamera tambahan, dan marker. Fungsionalitas dari aplikasi ini adalah hanya menampilkan objek 3D sesuai marker yang dideteksi. Intinya pada saat aplikasi dijalankan, aplikasi ini langsung menampilkan layar kamera untuk menangkap
marker. Kelebihan dari aplikasi ini adalah dari marker yang digunakan yaitu menggunakan marker hitam putih dengan border hitam persegi. Dengan menggunakan marker seperti ini membuat deteksi dan pemrosesan untuk menampilkan objek 3D menjadi lebih cepat dan ringan.
Kesimpulan dari aplikasi ini adalah aplikasi ini berbasis desktop dimana
membutuhkan kemera tambahan atau kamera laptop untuk mendeteksi marker. Sehingga pada aplikasi yang akan dibangun yaitu aplikasi Augmented Reality
Karya Sehati Utama (AR KSU)akan menambahkan beberapa fungsionalitas tanpa
mengurangi dari aplikasi sejenis, yaitu akan menambahkan menu pilihan yang
berisi, tentang yaitu berisi mengenai aplikasi yang akan dibangun, petunjuk
penggunaan dari aplikasi, serta deteksi marker untuk melacak marker dan menampilkan objek 3D.
3.1.4 Analisis Augmented Reality
Marker merupakan salah satu komponen yang penting. Penentuan jenis
marker berpengaruh kepada cara kerja program Augmented Reality untuk membaca marker dan menampilkan objek 3D. Marker yang digunakan adalah
marker dengan nilai rate bintang yang cukup (lebih dari atau sama dengan 1 dan kurang dari sama dengan 5) dan tidak 0 (nol).
Perancangan aplikasi Augmented Reality, menggabungkan objek virtual atau objek 3D dengan objek nyata atau (marker). Secara keseluruhan, proses dari
pola marker, webcam atau kamera akan melakukan pengecekan apakah marker
yang terdeteksi sesuai dengan data marker yang dimiliki. Bila tidak, maka objek 3D tidak akan ditampilkan, tetapi bila sesuai maka objek 3D akan ditampilkan di
atas marker. Alur proses dari aplikai yang akan dibangun dapat dilihat pada gambar 3.4.
Mulai
Inisialisasi Marker
Deteksi marker
Apakah Marker Terdeteksi ?
Selesai Ya
Tidak
Menampilkan Objek 3D
Melakukan rotasi atau menampilkan informasi ?
Melakukan rotasi pada objek
Menampilkan informasi rumah
Gambar 3.4 Alur Proses Aplikasi
3.1.4.1Inisialisasi Marker
Tahap ini aplikasi Augmented Reality akan melakukan inisialisasi windows
tampilan kamera untuk memulai proses pendeteksian marker. Kemudian aplikasi akan melakukan inisialisasi variabel awal yang dipakai untuk menampung
sementara marker, status pengecekan, serta variabel informasi yang akan ditampilkan.
Spesifikasi pola penanda atau marker:
1. Pola penanda minimum memiliki lebar 320 piksel.
2. Format dari gambar yang diunggah ke situs vuforia berformat .jpg atau .png
Contoh marker yang digunakan dapat dilihat pada Gambar 3.5.
Gambar 3.5 Contoh Marker
Gambar marker 3.5 nilai rate bintang bernilai 5. Sehingga sudah cukup untuk dilacak oleh sistem AR.
Selain menginisialisasi marker, model 3D juga dimuat dahulu pada engine
Unity untuk dipasangkan dengan marker yang bersesuaian. Objek 3D yang digunakan berformat .3DS agar dapat dieksport ke Unity. Gambar dari model 3D
Gambar 3.6 Model 3D rumah
3.1.4.2Deteksi Marker
NFT merupakan metode yang digunakan di dalam Library Vuforia
Qualcomm untuk mendeteksi pola gambar. Sebelum dilakukannya pendeteksian
fitur-fitur pada gambar, terlebih dahulu dilakukan proses identifikasi marker. Identifikasi marker adalah proses untuk menangkap gambar yang ditangkap oleh kamera. Gambar yang diperoleh itu dianggap marker terlepas ada atau tidaknya
marker yang sesungguhnya pada gambar. Setelah marker diperoleh maka proses selanjutnya adalah mengubah marker menjadi keabu-abuan atau proses grayscale. Proses ini dilakukan untuk memudahkan dalam pendeteksian fitur pada marker.
Marker yang sudah dirubah menjadi keabu-abuan kemudian dideteksi fiturnya menggunakan metode NFT. Metode yang digunakan di dalam NFT itu sendiri
adalah SIFT dan FERNS.
Gambar 3.7 Gambar Hasil Deteksi Fitur Lokal
Komponen-komponen dalam proses deteksi fitur adalah sebagai berikut :
1. Trackable Tipe
a. UNKNOWN_TYPE : Pelacakan yang tidak diketahui
b. IMAGE_TARGET : Pelacakan berdasarkan gambar
c. MULTI_TARGET : Pelacakan gabungan
d. MARKER : Pelacakan marker
2. Trackable Nama
Sebuah kalimat yang unik yang digunakan untuk mengidentifikasi pelacakan
dari data yang tersimpan. Untuk penulisan nama hanya diperbolehkan
maksimal 64 karakter dan hanya mengandung karakter ( a-z, A-Z, 0-9, [-_.] ).
3. Trackable Status
Pelacakan memiliki informasi status yang terkait dengannya, setiap informasi
satus dilacak akan diperbaharui sebagai frame kamera yang diproses. Status
yang terjadi pada saat pelacak dapat terjadi pada salah satu dibawah ini :
a. UNKNOW : gambar marker pada pelacakan tidak diketahui biasanya dikembalikan sebelum tracker initialization
b. UNDEFINE : gambar marker tidak didefinisikan
c. NOT_FOUND : gambar marker tidak ditemukan pada library yang dituju d. DETECTED : gambar marker dapat disedeksi dalam frame
Beberapa fungsi yang digunakan pada vuforia adalah sebagai berikut:
CameraDevice
Fungsi kelas ini untuk menyediakan akses ke kamera dan properti.
QCARBehaviour
Merupakan kelas untuk menangani pelacakan dan memicu tampilan background rendering video pada kamera.
DataSetLoadBehaviour
Fungsi ini memungkinkan untuk secara otomatis memuat dan mengaktifkan satu atau lebih data set ketika startup pada image target.
TrackbleBehaviour.Trackable [get]
Pelacakan pada saat dijalankan.
TrackableBehaviour.RegisterTrackableEventHandler
Berfungsi sebagai register baru Tracker Event Handler pada tracker. Penanganan ini dilakukan setelah semua Trackable telah diperbarui.
Status TrackableBehaviour.CurrentStatus [get]
Status pelacakan dari TrackableBehaviour.
TrackableBehaviour.UnregisterTrackableEventHandler
Berfungsi sebagai unregisters sebuah Tracker Event Handlermengembalikan nilai “false” jika event handler tidak ada.
String TrackableBehaviour.TrackableName [get]
Pelacakan nama yang ada pada TrackableBehaviour.
void TrackableBehaviour.OnTrackerUpdate (Status newStatus)
[inline, virtual]
Dipicu oleh TrackerBehaviour setelah itu diperbarui.
DevaultTrackableEventHandler.OnTrackableStateChanged
Sebuah handler custom yang mengimplementasikan antarmuka ITrackableEventHandler.
DevaultInitializationErrorHandler
Fungsi untuk menginisialisasi eror pada DevaultTrackableEventHandler
3.1.4.3Menampilkan Objek 3D
Hasil pencocokkan pola yang dilakukan sebelumnya akan berpengaruh pada
objek 3D yang dihasilkan. Jika tidak ada yang sesuai maka tidak akan
aplikasi akan menampilkan objek 3D tepat diatas marker atau dapat dilihat pada Gambar 3.8.
Gambar 3.8Objek 3D Yang Ditampilkan Tepat Di Atas Marker
3.1.5 Spesifikasi Kebutuhan Perangkat Lunak
Tahap ini menjelaskan analisis spesifikasi dari kebutuhan perangkat lunak
yang akan dibangun yaitu meliputi spesifikasi kebutuhan perangkat lunak
fungsional (SKPL-F) dan spesifikasi kebutuhan perangkat lunak non-fungsional
(SKPL-NF).
1. Spesifikasi Kebutuhan Fungsional
Spesifikasi kebuthan funsional berisi mengenai fungsi atau layanan apa yang
harus disediakan atau bias dilakukan oleh sistem, bagaimana sistem
berperilaku terhadap suatu kondisi tertentu, dan apa yang harus dilakukan oleh
sistem jika terdapat suatu inputan tertentu. Detail dari spesifikasi kebutuhan
fungsional dapat dilihat pada Tabel 3.1.
Tabel 3.1 Spesifikasi Kebutuhan Fungsional
Nomor Spesifikasi Kebutuhan Fungsional
SKPL-F-001 Sistem harus dapat membaca marker SKPL-F-002 Sistem harus dapat mendeteksi marker SKPL-F-003 Sistem harus dapat menampilkan objek 3D
2. Spesifikasi Kebutuhan Non-Fungsional
Spesifikasi kebutuhan non-fungsional merupakan penjelasan mengenai
batasan-batasan fungsi dari sistem yang akan dibangun. Detail mengenai
spesifikasi kebutuhan non-fungsional dapat dilihat pada Tabel 3.2.
Tabel 3.2 Spesifikasi Kebutuhan Non-Fungsional
Nomor Spesifikasi Kebutuhan Non-Fungsional
SKPL-NF-001 Sistem memerlukan kamera dengan resolusi yang cukup untuk mengenali marker
SKPL-NF-002 Sistem memerlukan cahaya yang cukup agar kamera dapat mendeteksi marker
SKPL-NF-003 Sistem memelukan sudut yang cukup untuk membaca marker dari arah kamera
3.1.6 Analisis Kebutuhan Non-Fungsional
Analisis kebutuhan non-fungsional dilakukan untuk mengetahui spesifikasi
kebutuhan untuk aplikasi. Spesifikasi kebutuhan melibatkan analisis pengguna,
perangkat keras, dan analisis perangkat lunak.
1. Analisis Pengguna
Aplikasi ini akan digunakan oleh pihak PT Karya Sehati Utama terutama
untuk bagian penjualan. Calon pembeli juga dapat menggunakan aplikasi ini
terutama orang dewasa. Sehingga karakteristik pengguna untuk menggunakan
aplikasi ini adalah sebagai berikut:
a. Customer service dan calon pembeli harus memiliki kemampuan mengoperasikan perangkat Android.
b. Customer service tidak memiliki keterbatasan fisik.
c. Customer service tidak memiliki kelainan pada mata (buta warna). 2. Analisis Perangkat Keras
Spesifikasi minimum perangkat keras yang dibutuhkan untuk membangun
aplikasi untuk komputer dapat dilihat pada Tabel 3.3.
Tabel 3.3 Spesifikasi Minimum Kebutuhan Perangkat Keras Komputer
No Perangkat Keras Spesifikasi
1 Processor Kecepatan minimum 2.0 Ghz
No Perangkat Keras Spesifikasi
3 Memori RAM 1 GB DDR3
4 Keyboard Standart Port USB 5 Mouse Optical Mouse USB
6 Monitor LED
7 Harddisk 250 GB
Sedangkan untuk menjalankan aplikasi spesifikasi minimum untuk perangkat
mobile Android dapat dilihat pada Tabel 3.4.
Tabel 3.4 Spesifikasi Minimum Kebutuhan Perangkat Mobile Android
No Perangkat Keras Spesifikasi
1 Layar 4,6’ (inch)
2 RAM 1 GB
3 Prosesor ARmV7
4 Kamera 3 MP
3. Analisis Perangkat Lunak
Spesifikasi perangkat lunak yang dibutuhkan untuk membangun aplikasi
adalah yaitu, spesifikasi kebutuhan perangkat lunak untuk komputer dapat dilihat
pada Tabel 3.5.
Tabel 3.5 Spesifikasi Minimum Kebutuhan Perangkat Lunak Untuk Komputer
No Perangkat Lunak Spesifikasi
1 Sistem Operasi Microsoft Windows 7 64bit
2 Program a. Micrsoft Office 2013 b. StarUML 5.0 c. SketchUp 8 d. 3D Max e. Vuforia f. Unity 3D
Sedangkan spesifikasi kebutuhan perangkat lunak untuk menjalankan
aplikasi untuk mobile Android dapat dilihat pada Tabel 3.6.
Tabel 3.6 Spesifikasi Minimum Kebutuhan Perangkat Lunak Mobile Android
No Perangkat Lunak Spesifikasi
3.1.7 Analisis Kebutuhan Fungsional
Analisis kebutuhan fungsional bertujuan untuk menganalisis proses yang akan
diterapkan dalam sistem dan menjelaskan kebutuhan yang diperlukan agar
aplikasi dapat berjalan dengan baik. Pemodelan yang akan digunakan adalah
pemodelan berorientasi objek menggunakan tools StarUML.
3.1.7.1Use Case Diagram
Use case diagram merupakan model untuk mendeskripsikan hubungan-hubungan yang terjadi antar aktor dengan aktivitas yang terdapat pada sistem.
Sistem ini terdapat beberapa aktor atau pengguna sistem yaitu user dan marker. Untuk use case diagram aplikasi ini dapat dilihat pada Gambar 3.9.
System
Gambar 3.9Use Case Diagram Aplikasi
3.1.7.2Definisi Aktor
Aktor disini adalah pihak mana saja yang mengakses use case. Daftar aktor yang terlibat beserta deskripsinya dapat dilihat pada Tabel 3.7.
Tabel 3.7 Daftar Aktor
No Nama Aktor Deskripsi tugas
1 User Mengarahkan kamera pada marker
3.1.7.3Definisi Use Case
Use case diagram merupakan konstruksi untuk mendeskripsikan hubungan-hubungan yang terjadi antar aktor dengan aktivitas yang terdapat pada sistem.
Tujuan pemodelan use case diantaranya adalah mendefinisikan kebutuhan fungsional dan operasional sistem. Definisi dari setiap use case yang ada pada aplikasi dapat dilihat pada Tabel 3.8.
Tabel 3.8 Definisi Use Case
Nomor Nama Use Case Deskripsi
UC-01 Pembacaan marker Fungsionalitas untuk membaca marker UC-02 Pendeteksian marker Fungsionalitas untuk mengenali marker UC-03 Menampilkan objek 3D Fungsionalitas untuk menampilkan objek 3D
UC-04 Merotasi objek 3D Fungsionalitas untuk merotasi objek 3D yang ditampilkan
UC-05 Menampilkan informasi rumah
Fungsionalitas untuk menampilkan informasi dari rumah yang ditampilkan
3.1.7.4Skenario Use Case
Skenario use case menjelaskan urutan langkah-langkah dalam proses yang dilakukan oleh sebuah use case.
1. Scenario Use Case Pembacaan Marker
Skenario use case pembacaan marker dapat dilihat pada Tabel 3.9.
Tabel 3.9 Skenario Use Case Pembacaan Marker
Nama Use Case Pembacaan marker
Persyaratan Terkait -
Tujuan Dalam Konteks Sistem dapat menampilkan objek 3D Kondisi Sebelum Kamera belum terdeteksi
Keberhasilan Kondisi Akhir Sistem dapat mengenali marker dan dapat menampilkan objek 3D
Kegagalan Kondisi Akhir Sistem tidak dapat menginisialisasi marker
Aktor Utama User
Aktor Kedua Marker
Include Pendeteksi marker
Extend -
Pemicu User memilih menu deteksi marker
Aliran Utama Langkah Aksi
1 Memilih menu deteksi marker 2 Pengguna menunjukkan marker 3
include::mendeteksi marker
4 Sistem me-render objek 3D 5 Sistem menampilkan objek 3D
sesuai marker yang terdeteksi
Perluasan Langkah Aksi Percabangan
4.1 Sistem tidak dapat mengenali marker yang terdeteksi
5.1 Sistem tidak dapat merender objek 3D sesuai dengan marker
2. Skenario Use Case Pendeteksian Marker
Skenario use case pendeteksian marker dapat dilihat pada Tabel 3.10.
Tabel 3.10 Skenario Use Case Pendeteksian Marker
Nama Use Case Pendeteksian Marker
Persyaratan Terkait -
Tujuan Dalam Konteks Sistem dapat mengenali marker yang terdeteksi Kondisi Sebelum Marker belum terdeteksi
Keberhasilan Kondisi Akhir Sistem dapat mengenali marker Kegagalan Kondisi Akhir Sistem tidak dapat mengenali marker Aktor Utama User
Aktor Kedua Marker
Include -
Pemicu Kamera dapat mendeteksi keberadaan marker
Aliran Utama Langkah Aksi
1 User mengarahkan marker 2 Sistem menginisialisasi marker
3 Sistem mengidentifikasi marker
4 Sistem dapat melakukan proses grayscale 5 Sistem dapat melakukan proses
pendeteksian fitur
6 Sistem mampu mendeteksi marker sesuai dengan library
Perluasan Langkah Aksi Percabangan
3.1 Sistem tidak mengidentifikasi marker 6.1 Sistem tidak dapat mendeteksi marker
3. Skenario Use Case Menampilkan Objek 3D
Skenario use case menampilkan objek 3D dapat dilihat pada Tabel 3.11.
Tabel 3.11 Skenario Use Case Menampilkan Objek 3D
Nama Use Case Menampilkan Objek 3D
Persyaratan Terkait -
Kondisi Sebelum Marker yang terdeteksi belum dapat dikenali
Keberhasilan Kondisi Akhir Sistem menampilkan objek 3D sesuai marker yang dideteksi tepat di atas marker
Kegagalan Kondisi Akhir Sistem tidak dapat menampilkan objek 3D
Aktor Utama User
Aktor Kedua Marker
Extend Merotasi objek 3D, menampilkan informasi rumah
Pemicu Marker dapat dekenali dengan baik dan sesuai dengan pola marker yang ada
Aliran Utama Langkah Aksi
1 User mengarahkan marker 2 Kamera membaca marker 3 Sistem mengenali marker 4 Sistem merender objek 3D
5 Objek 3D ditampilkan tetap di atas marker
Perluasan Langkah Aksi Percabangan
3.1 Sistem tidak dapat menemukan pola marker yang sesuai
3.2 Sistem tidak merender objek 3D
3.3 Sistem tidak menampilkan objek 3D
5.1 Sistem melakukan rotasi objek 3D
5.2 Sistem menampilkan informasi rumah
4. Skenario Use Case Merotasi Objek 3D
Skenario use case merotasi objek 3D dapat dilihat pada Tabel 3.12.
Tabel 3.12 Skenarion Use Case Merotasi Objek 3D
Nama Use Case Merotasi Objek 3D
Persyaratan Terkait -
Tujuan Dalam Konteks Sistem merotasi objek 3D Kondisi Sebelum Objek 3D sudah ditampilkan
Keberhasilan Kondisi Akhir Sistem dapat melakukan rotasi objek 3D yang ditampilkan Kegagalan Kondisi Akhir Sistem tidak dapat merotasi objek 3D
Aktor Utama User
Aktor Kedua Marker
Pemicu Objek 3D sudah dapat ditampilkan dan pengguna menekan tombol rotasi
Aliran Utama Langkah Aksi
1 User menekan tombol rotasi 2 Sistem melakukan rotasi objek 3D
Perluasan Langkah Aksi Percabangan
2.1 Sistem tidak dapat melakukan rotasi objek 3D
5. Skenario Use Case Menampilkan Informasi Rumah
Skenario use case menampilkan informasi rumah dapat dilihat pada Tabel
Tabel 3.13 Skenario Use Case Menampilkan Informasi Rumah
Nama Use Case Menampilkan informasi rumah
Persyaratan Terkait -
Tujuan Dalam Konteks Sistem menampilkan informasi rumah Kondisi Sebelum Objek 3D sudah ditampilkan
Keberhasilan Kondisi Akhir Sistem dapat menampilkan informasi rumah dari objek 3D yang ditampilkan
Kegagalan Kondisi Akhir Sistem tidak dapat menampilkan informasi rumah
Aktor Utama User
Aktor Kedua Marker
Pemicu Objek 3D sudah dapat ditampilkan dan pengguna menekan tombol detail
Aliran Utama Langkah Aksi
1 User menekan tombol detail
2 Sistem menampilkan informasi rumah
Perluasan Langkah Aksi Percabangan
2.1 Sistem tidak dapat menampilkan informasi rumah
3.1.7.5Activity Diagram
Activity diagram menggambarkan berbagai aliran aktivitas dalam sistem yang dirancang, bagaimana masing-masing fungsionalitas bekerja, dan bagaimana suatu
fungsional berakhir. Activity diagram memodelkan event-event yang terjadi pada use case. Activity diagram dari aplikasi yang akan dibangun adalah sebagai berikut:
1. Activity Diagram Pembaca Marker
Merupakan aktifitas dari menu pilihan deteksi marker untuk membaca
User Sistem
memilih menu deteksi marker
menunjukkan marker
mendeteksi marker
merender objek 3D menampilkan objek 3D
[[Marker terdeteksi]]
[[Marker tidak terdeteksi]]
[[Marker sesuai dengan library]]
[[ Marker tidak sesuai dengan library]]
Gambar 3.10Activity Diagram Pembacaan Marker
2. Activity Diagram Pendeteksian Marker
User Sistem Marker
mengarahkan marker menginisialisasi marker
melakukan proses grayscale
mengidentifikasi marker
[[Marker terdeteksi]]
melakukan pendeteksian fitur
marker terdeteksi
[[Marker terdeteksi]]
Gambar 3.11Activity Diagram Pendeteksian Marker
3. Activity Diagram Menampilkan Objek 3D
kamera Sistem marker
mengarahkan marker membaca marker marker terdeteksi
merender objek menampilkan objek 3D
Tidak
Ya
Gambar 3.12Activity Diagram Menampilkan Objek 3D
4. Activity Diagram Merotasi Objek 3D
Merupakan sub-aktifitas dari use case merotasi objek 3D. Activity diagram
dari merotasi objek 3D dapat dilihat pada Gambar 3.13.
User Sistem
menekan tombol rotasi
melakukan rotasi objek Ya
Tidak
5. Activity Diagram Menampilkan Informasi Rumah
Merupakan sub-aktifitas dari use case menampilkan informasi rumah.
Activity diagram dari menampilkan informasi rumah dapat dilihat pada Gambar 3.14.
User Sistem
menekan tombol detail
menampilkan informasi rumah Ya
Tidak
3.1.7.6Class Diagram
Class Diagram menggambarkan struktur dan hubungan antar objek-objek yang ada pada sistem. Struktur itu meliputi atribut-atribut dan metode-metode
yang ada pada masing-masing kelas. Kelas diagram dari aplikasi AR dapat dilihat
pada Gambar 3.15.
Gambar 3.15 Class Diagram Aplikasi AR KSU
Tabel deskripsi kelas pada Gambar 3.15 dapat dilihat pada Tabel 3.14.
Tabel 3.14 Deskripsi Kelas
No Nama Kelas Tipe Kelas
1 MenuUtama Boundary
2 TentangAplikasi Boundary 3 PetunjukPenggunaan Boundary 4 ImageTarget Control 5 QRCARBehaviour Control
6 MenuAR Control
3.1.7.7Sequence Diagram
Sequence diagram menggambarkan interaksi antara masing-masing objek pada setiap use case dalam urutan waktu. Interaksi berupa pengiriman serangkaian data antar objek-objek yang saling berinteraksi. Sequence diagram dari aplikasi yang akan dibangun adalah sebagai berikut:
1. Sequence Diagram Pembacaan Marker
Sequence diagram untuk pembacaan marker dapat dilihat pada Gambar 3.16.
: User
: ImageTarget : DefaultTrackableEventHandler : MenuUtama
1 : mengarahkan kamera ke marker()
2 : DataSetLoadBehaviour()
3 : Start()
4 : OnTrackableStateChanged()
5 : OnTrackingFound()
6 : merender objek 3D
7 : menampilkan informasi 3D
Gambar 3.16 Sequence Diagram Pembacaan Marker
2. Sequence Diagram Pendeteksian Marker
: User
: MenuUtama : ImageTarget : DefaultTrackableEventHandler
1 : memilih menu deteksi marker()
2 : DataSetLoadBehaviour()
3 : Start()
4 : OnTrackableStateChanged()
5 : OnTrackingFound()
Gambar 3.17 Sequence Diagram Pendeteksian Marker
3. Sequence Diagram Menampilkan Objek
Sequence diagram untuk menampilkan objek 3D dapat dilihat pada Gambar 3.18.
: Marker
: ImageTarget : DefaultTrackableEventHandler
1 : inisialisasi marker()
2 : Start()
3 : OnTrackableStateChanged()
4 : merender objek
5 : menampilkan objek 3D
4. Sequence Diagram Merotasi Objek 3D
Sequence diagram untuk merotasi objek 3D dapat dilihat pada Gambar 3.19.
: User
: ImageTarget : MenuAR
1 : menekan tombol rotasi()
2 : Start()
3 : Awake()
4 : OnGUI()
5 : Rotasi()
6 : Update()
7 : menampilkan objek 3D yang terotasi
Gambar 3.19 Sequence Diagram Merotasi Objek 3D
5. Sequence Diagram Menampilkan Informasi Rumah
: User
: ImageTarget : MenuAR
1 : Menekan tombol informasi rumah()
2 : Start()
3 : Awake()
4 : OnGUI()
5 : MultiObject()
6 : Menampilkan informasi rumah
Gambar 3.20 Sequence Diagram Menampilkan Informasi Rumah
3.2 Perancangan Sistem
Perancangan sistem bertujuan untuk memberikan gambaran sistem yang
dibuat. Perancangan disini terdiri dari perancangan struktur menu, perancangan
antarmuka, jaringan semantik, serta perancangan method.
3.2.1 Perancangan Struktur Menu
Perancangan struktur menu merupakan gambaran jalur pemakaian dari aplikasi sehingga aplikasi menjadi mudah dimengerti serta mudah digunakan dan
juga saat menggunakan aplikasi, pengguna tidak mengalami banyak kesulitan
Halaman Utama
Deteksi Marker Petunjuk Penggunaan Tentang Aplikasi
Gambar 3.21 Perancangan Struktur Menu
3.2.2 Perancangan Antarmuka
Perancangan antarmuka merupakan rancangan tampilan dari aplikasi.
Perancangan antarmuka dari splash screen, menu utama, deteksi marker, petunjuk penggunaan, tentang aplikasi, dan menampilkan objek dapat dilihat sebagai
berikut:
1. Perancangan Antarmuka Splash Screen
Perancangan antarmuka splash screen aplikasi ini dapat dilihat pada
Gambar 3.22.
T01
Logo
T01 adalah tampilan
splash screen aplikasi
Font color : putih Font size : menyesuaikan Background : hitam
2. Perancangan Antarmuka Utama
Perancangan antarmuka utama aplikasi ini dapat dilihat pada Gambar 3.23.
T02
Jika memilih deteksi marker maka tampil T03
Petunjuk
Tentang
Jika memilih petunjuk penggunaan maka tampil T04
Jika memilih tentang aplikasi maka tampil T05
Font color : putih Font size : menyesuaikan Background : hitam
Gambar 3.23Perancangan Antarmuka Utama
3. Perancangan Antarmuka Deteksi Marker
Perancangan antarmuka deteksi marker aplikasi ini dapat dilihat pada Gambar 3.24.
T03
Pendeteksian marker
Font color : putih Font size : menyesuaikan Background : hitam
T02 adalah tampilan deteksi marker
Jika menekan tombol
back maka tampil T02
4. Perancangan Antarmuka Petunjuk Penggunaan
Perancangan antarmuka petunjuk penggunaan aplikasi ini dapat dilihat
pada Gambar 3.25.
T04
Font color : putih Font size : menyesuaikan Background : hitam
Cara menggunakan aplikasi ini adalah sebagai berikut: 1. Arahkan kamera ke marker yang ada pada katalog atau brosur. 2. Jika marker yang dideteksi sesuai maka akan menampilkan rumah sesuai marker
LOGO
T04 adalah tampilan petunjuk penggunaan
Jika menekan tombol
back maka tampil T02
Gambar 3.25Perancangan Antarmuka Petunjuk Penggunaan
5. Perancangan Antarmuka Tentang Aplikasi
Perancangan antarmuka tentang aplikasi ini dapat dilihat pada Gambar
3.26.
T05
Font color : putih Font size : menyesuaikan Background : hitam
LOGO
Aplikasi ini digunakan untuk mengetahui tipe-tipe rumah apa saja yang ditawarkan di PT Karya sehati Utama. Aplikasi ini akan menampilkan rumah 3D secara real time sesuai marker yang terdeteksi. Sehingga pengguna dapat menggetahui bentuk 3D dari rumah yang ditawarkan.
T05 adalah tampilan tentang aplikasi
Jika menekan tombol
back maka tampil T02
6. Perancangan Antarmuka Menampilkan Objek
Perancangan antarmuka menampilkan objek pada aplikasi ini dapat dilihat
pada Gambar 3.27.
T06
Font color : putih Font size : menyesuaikan Background : hitam
T06 adalah tampilan deteksi marker
Jika menekan tombol
back maka tampil T02
Objek 3D
Gambar 3.27Perancangan Antarmuka Menampilkan Objek
3.2.3 Jaringan Semantik
Jaringan semantik dari aplikasi dapat dilihat pada Gambar 3.28.
T02
T04 T05
T03 T01
Gambar 3.28Jaringan Semantik
Ketarangan:
T01 : Tampilan splash screen
T02 : Halaman utama
T04 : Halaman untuk menampilkan petunjuk penggunaan
T05 : Halaman untuk menampilkan informasi tentang aplikasi
3.2.4 Perancangan Method
Perancangan method berfungsi untuk mendeskripsikan method yang berada dalam aplikasi. Method yang terdapat pada aplikasi yang akan dibangun yaitu
flowchart menampilkan objek rumah dan flowchart mengontrol objek. Method
atau flowchart tersebut dapat dilihat sebagai berikut:
1. Flowchart Menampilkan Objek Rumah
Mulai
Mengarahkan pada marker denah rumah
Mengecek dataset
Selesai Menjalankan kamera
Apakah Marker Terdeteksi ? Tidak
Rendering objek rumah Inisialisasi marker
Ya
2. Flowchart Mengontrol Objek Rumah
Mulai
Rendering objek rumah
Tampil tombol kontrol
Tombol di klik?
Tidak
Melakukan rotasi terhadap objek rumah
Menampilkan detail informasi rumah
Menekan tombol rotasi
Menekan tombol detail
Selesai Rotasi atau detail ?
Pemilihan tombol
55
4.1 Implementasi Sistem
Implementasi sistem merupakan tahap penerjemahan kebutuhan
pembangunan aplikasi ke dalam perangkat lunak sesuai dengan hasil analisis yang
telah dilakukan. Setelah implementasi maka dilakukan pengujian sistem dimana
akan dilihat kekurangan-kekurangan pada aplikasi yang baru untuk selanjutnya
diadakan pengembangan sistem
Tujuan dari implementasi sistem adalah untuk menerapkan perancangan yang
telah dilakukan terhadap sistem, sehingga pengguna dapat memberikan masukan
untuk dilakukan perbaikan terhadap sistem agar sistem lebih baik lagi.
4.1.1 Lingkungan Sistem
Implementasi sistem meliputi perangkat keras dan perangkat lunak yang
digunakan pada saat penggunaan aplikasi ini. Kebutuhan minimum perangkat
keras dan perangkat lunak untuk menjalankan aplikasi ini yaitu dengan
menggunakan perangkat Android, dengan spesifikasi sebagai berikut:
1. Perangkat Keras
a. Prosesor Dual Core ARmV7 1GHz
b. Ram 1 GB
c. Kamera 3 MP
2. Perangkat Lunak
a. Sistem Operasi Mobile Android
b. Versi Android 2.3 Gingerbeard
4.1.2 Implementasi Antarmuka
Implementasi antarmuka merupakan tampilan dari aplikasi yang dibangun.
Tabel 4.1 Implementasi Antarmuka AR KSU
No Nama Antarmuka Nama File
1 Splash Screen SplashScreen.unity 2 Menu Utama MenuUtama.unity 3 Deteksi Marker AR KSU.unity
4 Petunjuk Penggunaan PetunjukPenggunaan.unity 5 Tentang Aplikasi TentangAplikasi.unity
4.2 Pengujian Sistem
Pengujian dimaksudkan untuk mengetahui perangkat lunak yang telah dibuat
sudah memenuhi kriteria yang sesuai dengan tujuan atau belum. Pada tahap
pengujian sistem ini terdiri dari beberapa bagian yaitu:
1. Rencana Pengujian
2. Skenario Pengujian
3. Hasil Pengujian
4. Evaluasi
4.2.1 Rencana Pengujian
Rencana pengujian adalah konsep pengujian terhadap fungsi-fungsi yang ada
di dalam aplikasi yang dibangun, apakah fungsional dari aplikasi berfungsi sesuai
yang diharapkan atau tidak. Rencana pengujian yang dilakukan pada aplikasi ini
yaitu sebagai berikut:
1. Pengujian Fungsionalitas
Pengujian yang dilakukan terhadap fungsionalitas perangkat lunak ini
menggunakan metode Black Box. Pengujian ini merupakan pengujian yang berfokus pada persyaratan fungsional perangkat lunak. Tujuan dari pengujian
dengan metode Black Box ini adalah untuk menemukan kesalahan fungsi pada perangkat lunak yang telah dibangun. Selain itu, pengujian ini dilakukan
dengan mencoba semua kemungkinan yang terjadi dan dilakukan
berulang-ulang. Jika dalam pengujian ditemukan kesalahan, maka akan dilakukan
penelusuran dan perbaikan untuk memperbaiki kesalahan yang terjadi.
2. Pengujian Akurasi
Pengujian akurasi dilakukan untuk mengetahui keakurasian pembacaan
atau belum dapat membaca marker dengan kondisi tidak normal (marker
terhalangi, marker rusak, serta penggunaan macam-macam kertas). 3. Pengujian Beta
Pengujian beta yang dilakukan adalah dengan melakukan wawancara dengan
pihak terkait, serta dengan melakukan pemberian kuesioner kepada calon
pembeli. Pengujian ini bertujuan untuk mengetahui dan menilai apakah
aplikasi AR KSU sudah sesuai dengan kebutuhan atau belum.
4.2.2 Skenario Pengujian
Skenario pengujian dimaksudkan agar pengujian lebih terarah. Skenario
pengujian meliputi yang telah dideskripsikan pada rencana pengujian, yaitu
pengujian black box, pengujian akurasi, wawancara, serta pemberian kuesioner. Skenario pengujian dari aplikasi untuk pengujian black box dapat dilihat pada Tabel 4.2.
Tabel 4.2 Skenario Pengujian Aplikasi
No Nama Use Case Butir Pengujian Jenis Pengujian Tipe Pengujian
1 Pembacaan Marker
Menampilkan tampilan siap deteksi marker
Black box Performance Testing 2 Pendeteksian
Marker
Mendeteksi marker Black box Performance Testing 3 Menampilkan
Objek 3D
Menampilkan objek 3D sesuai marker
Black box Performance Testing 4 Merotasi Objek
3D
Melakukan rotasi terhadap objek 3D yang telah ditampilkan
Black box Performance Testing
5 Menampilkan Informasi Rumah
Menampilkan detail informasi dari objek 3D yang ditampilkan
Black box Performance Testing
Skenario pengujian akurasi dilakukan dengan kondisi tidak normal atau
dengan kata lain dengan marker yang tidak biasa, baik dari kondisi kertas yang digunakan sampai marker yang rusak (terhalangi). Aplikasi AR KSU akan membaca marker-marker tersebut untuk mengetahui batasan atau kelemahan aplikasi.
Skenario pengujian untuk kualitas sistem dilakukan dengan cara wawancara
dan memberikan kuesioner kepada calon pengguna aplikasi. Wawancara