Aplikasi Augmented Reality Untuk Memilih Model Rambut Di Headcore Barbershop Dengan Metode Face Recognition Sebagai Pendeteksi Marker

(1)

APLIKASI AUGMENTED REALITY UNTUK MEMILIH

MODEL RAMBUT DI HEADCORE BARBERSHOP

DENGAN METODE FACE RECOGNITION

SEBAGAI PENDETEKSI MARKER

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

RIZQI AKBAR NABAWI

10107546

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(2)

(3)

(4)

i

ABSTRAK

APLIKASI AUGMENTED REALITY UNTUK MEMILIH MODEL RAMBUT DI HEADCORE BARBERSHOP

DENGAN METODE FACE RECOGNITION

SEBAGAI PENDETEKSI MARKER

OLEH :

RIZQI AKBAR NABAWI 10107546

Perangkat lunak yang dibangun pada tugas akhir ini adalah sebuah aplikasi Realitas tambahan (Augmented Reality) untuk membantu pelanggan di BarberShop memilih model rambut. Dengan adanya Realitas tambahan (Augmented Reality) ini dapat membantu pelanggan untuk memilih model rambut yang sesuai dengan keinginannya tanpa takut terjadi kesalahan model setelah memotong rambut.

Perangkat lunak Realitas tambahan (Augmented Reality) ini di bangun menggunakan bahasa ActionScript 3 dengan wajah sebagai objek acuan (Face Recognition) dan dengan metode Haar Cascade Classifier sebagai pendeteksi wajah. Metode ini merupakan metode yang muncul pada tahun 2001 oleh Paul Viola dan Michael Jones. Metode ini menggunakan haar-like features dimana perlu dilakukan training terlebih dahulu untuk mendapatkan suatu pohon keputusan dengan nama cascade classifier sebagai penentu apakah ada wajah atau tidak dalam tiap frame yang di proses.

Perangkat lunak ini berjalan secara real time dan dinamis sehingga tiap informasi (jarak maupun sudut antara wajah dengan kamera) yang didapat dari masing-masing pelanggan sangat berpengaruh pada keberhasilan jalannya sistem. Untuk Jarak optimal pelanggan terhadap kamera adalah sekitar 40 cm sampai 80 cm dari kamera. Dan sudut derajat wajah terhadap kamera adalah 0 (tegak lurus O menghadap kamera).

Kata Kunci : Realitas Tambahan, Face Recognition, Haar Cascade Classifier, Haar-Like Features


(5)

ii

ABSTRACK

AUGMENTED REALITY APLICATION TO CHOOSE TYPE HAIR IN HEADCORE BARBERSHOP

WITH FACE RECOGNITION METHOD AS MARKER DETECTION

BY :

RIZQI AKBAR NABAWI 10107546

Software was built in the final test is augmented reality software to help member of barbershop to choose type hair. So, augmented reality software can help customer to choose hair type that their want without the fear of a mistake in cutting hair.

This augmented reality software was built use actionscript3 language with face as object reference (Face Recognition) and with Haar Cascade Classifier method. This method was showed in 2001 by Paul Viola and Michael Jones. This method uses Haar-Like which must be training to obtain a decision tree that name is Cascade Classifier as determinant whether there are face or no in every frame in the process.

This software is running real time and dynamic so every information (range or angle between face and camera) obtained from every customer are very consistent effect on the success of the system. For the optimal range between customer and camera is 40 cm until 80 cm and degree angle between face and camera is0O(upright to camera).

Key Words : Augmented Reality, Face Recognition, Haar Cascade Classifier, Haar-Like Features


(6)

iii

KATA PENGANTAR

Assalamua’alaikum Wr. Wb.,

Segala puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir ini. Penulis menyadari bahwa hasil penelitian ini masih banyak kekurangan dan masih jauh dari kesempurnaan, oleh karena itu saran dan kritik yang sifatnya membangun akan penulis terima dengan senang hati.

Terselesainya tugas akhir ini tentunya tidak lepas dari peran berbagai pihak yang sangat membantu baik moral maupun moril. Oleh karena itu penulis ingin mengucapkan terima kasih sebesar-besarnya kepada :

1. Dr. Ir. Eddy Soeryanto Soegoto, M.Sc, selaku Rektor Universitas Komputer Indonesia (UNIKOM).

2. Prof. Dr. Ir Denny Kurniadie, M.Sc. selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia (UNIKOM).

3. Ibu Mira Kania Sabariah, S.T., M.T. selaku Ketua Jurusan Teknik Informatika Universitas Komputer Indonesia (UNIKOM).

4. Bapak Iskandar Ikbal, S.T., M.Kom. selaku dosen pembimbing sekaligus yang telah memberikan dorongan dan arahan kepada Penulis selama proses penyusunan skripsi dan tugas akhir ini.

5. Ibu Nelly Indriani W, S.Si., M.T selaku dosen reviewer dan Bapak Andri Heryandi, S.T., M.T. selaku dosen penguji tiga.

6. Seluruh dosen-dosen Teknik Informatika yang telah memberikan banyak ilmu- ilmu yang berharga untuk Penulis.


(7)

iv

8. Teman-teman IF-12 angkatan 2007 yang selalu berjuang bersama-sama untuk mencapai impian menjadi seorang sarjana.

9. Teman-teman di Facebook ARFI (Augmented Reality Forum Indonesia) yang banyak membantu mencarikan solusi, special thanks for Rizal Akbar and Fataah Noor.

10.Terima kasih untuk HEADCORE BARBESHOP yang mengizikan penulis study kasus di sana.

11.Dan semua pihak yang sudah banyak membantu penulis untuk menyelesaikan tugas akhir ini.

Semoga atas bantuan serta dukungannya diberikan balasan yang baik oleh Allah SWT. Akhir kata penulis berharap skripsi dan tugas akhir ini dapat berguna baik bagi Penulis maupun bagi pihak-pihak lain yang memerlukannya, serta dapat menjadi pendorong bagi penelitian lainnya untuk mengembangkan serta menambah ilmu pengetahuan yang berhubungan dengan judul skripsi dan tugas akhir ini.

Wassalamu’alaikum Wr.Wb

Bandung, 30 Agustus 2012 Penulis


(8)

v

DAFTAR ISI

LEMBAR JUDUL

LEMBAR PENGESAHAN

SURAT KETERANGAN PLAGIAT

ABSTRAK ... i

ABSTRACT... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xii

DAFTAR SIMBOL ... xiv

DAFTAR LAMPIRAN ... xix

BAB 1 PENDAHULUAN... 1

1.1 Latar Belakang... 1

1.2 Perumusan Masalah ... 3

1.3 Maksud dan Tujuan ... 3

1.4 Metodologi Penelitian ... 4

1.5 Batasan Masalah ... 6


(9)

vi

BAB 2 TINJAUAN PUSTAKA ... 9

2.1 Sejarah Barbershop ... 9

2.2 HEADCORE BARBERSHOP ... 9

2.3 Landasan Teori ... 11

2.3.1 UML (Unified Modeling Language) ... 11

2.3.2 Pengolahan Citra ... 13

2.3.3 Pengenalan Pola... 14

2.3.4 Augmented Reality ... 16

2.3.5 Deteksi Wajah ... 18

2.3.6 Marker Augmented Reality ... 21

2.3.7 Library Marilena ... 22

2.3.8 FlashDevelop ... 23

2.3.9 Papervision 3D ... 24

2.3.10 Adobe Flex SDK ... 25

2.3.11 Adobe Flash... 26

2.3.12 Adobe Directore ... 28

2.3.13 Autodesk 3DMax ... 28

2.3.14 Swift 3D ... 29

2.3.15 Collada ... 30

2.3.16 Webcam ... 30


(10)

vii

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 32

3.1 Analisis Sistem ... 32

3.1.1 Analisis Masalah ... 32

3.1.2 Analisis Pre-Processing Image ... 33

3.1.3 Library Mariena dan Metode Haar Cascade Classifier ... 36

3.1.4 Analisis Spesifikasi Kebutuhan Perangkat Lunak ... 44

3.1.5 Analisis Kebutuhan Non Fungsional ... 46

3.1.6 Analisis Kebutuhan Fungsional ... 49

3.2 Perancangan Sistem ... 73

3.2.1 Perancangan Arsitektur Perangkat Lunak ... 73

3.2.2 Struktur Menu... 74

3.2.3 Perancangan Antar Muka Perangkat Lunak ... 74

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 79

4.1 Implementasi ... 79

4.1.1 Perankat Keras Yang Digunakan... 79

4.1.2 Perankat Lunak Yang Digunakan ... 80

4.2 Implementasi Aplikasi ... 80

4.2.1 Petunjuk Mengoperasikan ... 80

4.2.2 Impementasi Antar Muka... 80

4.3 Pengujian Perangkat Lunak ... 81

4.3.1 Rencana Pengujian ... 82


(11)

viii

4.3.3 Pengujian Black Box ... 89

4.3.4 Pengujian Beta ... 92

4.3.5 Kesimpulan Pengujian ... 97

BAB 5 KESIMPULAN DAN SARAN ... 99

5.1 Kesimpulan... 99

5.2 Saran ... 99


(12)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Ronald T. Azuma (1997) mendefinisikan Augmented Reality sebagai penggabungan benda-benda nyata dan maya di lingkungan nyata, berjalan secara interaktif dalam waktu nyata, dan terdapat integrasi antar benda dalam tiga dimensi, yaitu benda maya terintegrasi dalam dunia nyata [2]. Salah satu pemanfaatan dari teknologi Augmented Reality adalah pada strategi pemasaran. Selama ini para pengusaha jasa BarberShop sebelum pelanggan ingin rambutnya di potong hanya menanyakan bagaimana model yang diinginkan. Dan ada juga yang memfasilitasi dengan majalah, buku, atau poster yang menampilkan banyak model rambut. Tapi itu belum cukup menggambarkan rambut yang diinginkan dan paling cocok untuk pelanggan. Banyak kekurangan dari cara-cara tradisional itu. Seperti pelanggan hanya bisa membayangkan model rambut yang diinginkan dan mungkin saja belum cocok dengan keinginannya. Kalau pelanggan sudah memotong rambut dan tidak sesuai dengan apa yang diinginkan pelanggan akan merasa kecewa. Itu bisa saja mengurangi pelanggan yang akan memakai jasa BarberShop tersebut. Dengan memanfaatkan teknologi Augmented Reality, pelanggan akan lebih mudah dalam menentukan model rambut yang dikehendakinya. Dengan menggunakan cara tradisional pelanggan hanya bisa membayangkan tapi dengan teknologi Augmented Reality pelanggan bisa seperti atau memiliki rambut yang dikehendakinya tanpa harus memotong rambutnya terlebih dahulu. Jadi pelanggan dapat menentukan model rambut mana yang


(13)

2

paling cocok dengan dirinya. Tanpa harus merasa kecewa karena kesalahan atau ketidakpuasan hasil potongan BarberShop tersebut. Jika BarberShop menggunakan aplikasi Augmented Reality dapat juga menarik pelanggan lebih banyak yang ingin mengetahui bagaimana aplikasi ini digunakan. Dengan strategi pemasaran yang seperti ini akan sangat bermanfat untuk perusahaan jasa salon dan BarberShop.

Interaksi yang dibangun menggunakan Augmented Reality model rambut ini dapat menggunakan teknik yang bermacam-macam dan sangat bergantung pada jenis marker yang digunakan. Ada beberapa jenis marker yang dapat digunakan dalm membangun apikasi Augmented Reality, diantaranya ada Marker Based Tracking, Face Recognition, Hand Tracking, 3D object Tracking, GPS Based Tracking, dan lain-lain. Dari beberapa kajian terhadap kelebihan dan kekurangan masing-masing teknik atau metode, untuk mengembangkan teknik interaksi pengguna Augmented Reality untuk memilih model rambut menggunakan Face Recognition sebagai pendeteksi marker. Yaitu komputer akan mengenali wajah manusia secara umum. Teknik ini cocok untuk keperluan interaksi pengguna Augmented Reality untuk memilih model rambut di BarberShop. Dengan Face Recognition ini pengguna sudah tdak perlu lagi menggunakan sebuah marker kertas (media untuk memunculkan objek virtual) untuk menampilkan model atau objek virtual. Hanya menempatkan wajah di depan kamera maka model rambut yang pelanggan pilih akan muncul. Dan untuk metode yang digunakan untuk dapat menggunakan Face Recognition adalah Metode Haar Cascade Classifier dan library Marilena. Metode haar cascade classifier sebagai metode untuk


(14)

3

pengenalan pola wajah, sedangkan library Marilena yang sepenuhnya mengadopsi metode Haar Cascade classifier sebagai pendeteksi pola wajah.

1.2 Perumusan Masalah

Berangkat dari latar belakang yang dijelaskan sebelumnya, maka dapat disimpulkan permasalahannya adalah bagaimana membuat Aplikasi Augmented Reality Untuk Memilih Model Rambut Di HEADCORE BarberShop Dengan Metode Face Recognition Sebagai Pendeteksi Marker.

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas akhir ini adalah untuk membuat sebuah Aplikasi Augmented Reality Untuk Memilih Model Rambut Di HEADCORE BarberShop Dengan Metode Face Recognition Sebagai Pendeteksi Marker.

Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah :

1. Untuk membuat aplikasi Augmented Reality di BarberShop sebagai alat strategi pemasaran yang modern dan menarik.

2. Untuk memudahkan karyawan dalam mencukur rambut pelanggan dan meminimalisir kesalahan model yang diinginkan pelanggan.

3. Untuk memudahkan pelanggan agar mengetahui model rambut mana yang cocok dengannya.

4. Untuk membantu pelanggan agar dapat memilih model rambut yang sesuai degan kehendaknya.


(15)

4

1.4 Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :

1. Tahap pengumpulan data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :

a. Studi Literatur.

Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

b. Observasi.

Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.

c. Interview.

Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung yang ada kaitannya dengan topik yang diambil.

2. Tahap pembuatan perangkat lunak.

Teknik analisis data dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall [14], yang meliputi beberapa proses diantaranya:

1. Mendefinisikan Kebutuhan (Requidments Definition)

Pada tahap ini kelengkapan kebutuhan dikumpulkan, kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.


(16)

5

2. Desain Sistem dan Perangkat lunak (System and Software Design)

Pada tahap ini desain dikerjakan setelah kebutuhan selesai didefinisikan secara lengkap. Desain sistem merupakan perancangan sistem yang dilakukan berdasarkan data-data yang telah dikumpulkan pada tahap sebelumnya.

3. Implementasi dan Pengujian Perangkat Lunak (Implementation and Unit Testing)

Pada tahap ini desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.

4. Integrasi dan Pengujian Sistem (Integration and System Testing)

Pada tahap ini unit-unit program disatukan, kemudian diuji secara keseluruhan (system testing).

5. Pemeliharaan dan Operasi (Operation and Maintenance)

Pada tahap ini merupakan tahap terakhir yaitu mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya [14].


(17)

6

Gambar 1.1Metode Waterfall [14]

1.5 Batasan Masalah

Dalam membuat aplikasi Augmened Reality di BarberShop untuk memilih model rambut ini banyak perbedaan dalam pengaplikasiannya. Dalam penelitian ini, penulis membatasi masalah sebagai berikut :

1. Aplikasi Augmented Reality pada barbershop ini menggunakan Face Recognition dengan metode Haar Cascade Classifie.

2. Wajah yang akan menjadi marker (media untuk memunculkan objek virtual)

3. Wajah yang terbaca hanya wajah secara umum tidak memiliki cacat atau kehilangan anggota wajah.

4. Model virtual akan mengikuti wajah user apabila user menghadapkan wajahnya ke kamera.

5. Model yang ditampilkan di apikasi ini hanya rambut.

6. Untuk menambahkan objek atau mengedit aplikasi dibutuhkan seseorang yang mengerti 3DS max dan Macromedia Director.


(18)

7

7. Aplikasi yang digunakan untuk menghadirkan atau menginput model virtual ke dalam dunia nyata menggunakan FlashDevelop, Adobe Flex Build,Macromedia Director.

8. Bahasa pemrograman yang digunakan untuk implementasi objek Augmented Reality adalah ActionScript3.

9. 3DS Max dan Swift3D untuk membuat model 3D.

1.6 Sistematika Penulisan

Sistematika penyusunan tugas akhir ini terdiri dari lima bab yang masing-masing bab telah dirancang dengan satu tujuan tertentu. Berikut penjelasan tentang masing-masing bab tersebut:

BAB 1 PENDAHULUAN

Bab ini Menguraikan tentang latar belakang permasalahan, mencoba merumuskan inti permasalahan yang dihadapi, menentukan tujuan dan kegunaan penelitian, yang kemudian diikuti dengan pembatasan masalah, metode yang digunakan, serta sistematika penulisan.

BAB 2 TINJAUAN PUSTAKA

Bab ini menjelaskan tentang tinjauan instansi dan landasan teori yang menjelaskan tentang teori umum yang berkaitan dengan judul, teori program yang berhubungan dengan aplikasi yang dibangun, teori khusus yaitu berkaitan dengan istilah-istilah yang dipakai dalam pembuatan Augmented Reaity. Dalam bab ini akan menguraikan pengertian dari tinjauan instansi, konsep dasar sistem, pengolahan citra, deteksi wajah, Marker Augmented Reality, analisis dan pemodelan sistem, software pendukung seperti FlashDevelop, Papervision3D, Adobe Flash, Autodesk 3DS Max, Collada, webcam, dan Macromedia Director


(19)

8

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini menjelaskan analisis terhadap seluruh spesifikasi sistem yang mencakup analisis sistem, analisis objek deteksi, analisis perangkat keras, analisis perangkat lunak, analisis kebutuhan pengguna, analisis kebutuhan fungsional. Selain analisis sistem, bab ini terdapat juga terdapat pemodelkan sistem yang menggunakan UML (Unifed Modelling Language).

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas implementasi dari tahapan analisis dan perancangan sistem ke dalam perangkat lunak (dalam bentuk bahasa pemrograman), beberapa implementasi yang akan dijelaskan adalah implementasi perangkat keras, implementasi perangkat lunak, implementasi basis data dan implementasi antarmuka. Bab ini juga berisi pengujian terhadap sistem apakah sudah benar-benar berjalan seperti yang diharapkan, baik dari pengujian alpha dan pengujian beta.

BAB 5 KESIMPULAN DAN SARAN

Bab ini terdiri dari kesimpulan dan saran yang berisikan hal-hal terpenting yang dibahas dan kemudian dijadikan kesimpulan. Bab ini juga berisi saran-saran yang dimungkinkan untuk pengembangan perangkat lunak selanjutnya


(20)

9

BAB 2

TINJAUAN PUSTAKA

2.1 Sejarah BarberShop

Pelayanan jasa perawatan pria sudah ada sejak 2000 tahun yang lalu. Praktek pemotongan rambut pada pria (barbershop) berawal dari Wilayah Macedonia sekitar 400 tahun sebelum masehi lalu menyebar ke Mesir dan daerah-daerah lainnya. Kata "barber" berasal dari bahasa latin "barba" yang artinya janggut. Bangsa pertama yang mengklaim dirinya paling ahli dalam jasa pelayanan pemotongan rambut adalah bangsa Roma sekitar 296 tahun sebelum masehi. Akan tetapi baik pada bangsa Roma maupun Mesir, barbershop memiliki reputasiyang kurang baik karena orang-orang elit kelas atas pada waktu itu memiliki tukang cukur pribadi. Pada masa itu, janggut pada lelaki menjadi symbol kekuatan dan intelegensi sehingga harus dirawat dengan baik dan teratur.

2.2 HEADCORE BARBERSHOP

HEADCORE BARBERSHOP adalah nama sebuah tempat cukur rambut dan make over berkelas indie bagi pria, khususnya kalangan generasi muda di Bandung. HEADCORE BARBERSHOP berdiri pada tanggal 08 Agustus 2008 di Jl. Cikutra Raya No.227a, Bandung. Konsep yang digunakan dalam berdirinya HEADCORE BARBERSHOP adalah "Musik" karena sesuai dengan survey yang telah kami lakukan, sebagian besar generasi muda di wilayah Bandung sebagai segmentasi pasar kami menyukai musik. Perkembangan aliran-aliran musik yang


(21)

10

semakin pesat di seluruh dunia menimbulkan trend mode yang semakin beragam pula, baik cara berpakaian maupun model rambut. Sebagai contoh potongan rambut mohawk yang menjadi ciri khas komunitas punk, atau potongan rambut spike untuk komunitas melodik atau bahkan potongan harajuku untuk komunitas yang menyukai gaya rambut artis-artis dari negeri sakura.

HEADCORE BARBERSHOP disini dapat digunakan sebagai sarana dalam mengekspresikan semangat anak muda dalam berkreasi di bidang Fashion & Style, khususnya rambut yang bersifat universal. Untuk memberikan kesan yang unik/lain daripada yang lain HEADCORE BARBERSHOP tidak hanya menyediakan pelayanan potong rambut. HEADCORE BARBERSHOP juga menyediakan space untuk menjual kaos-kaos music, merchandise musik, info/artikel yang berkembang mengenai perkembangan musik di seluruh dunia sesuai dengan konsep barbershop, sehingga dengan datangnya seseorang ke HEADCORE BARBERSHOP diharapkan image yang di inginkan oleh orang tersebut dapat terealisasi utuh tidak hanya dari segi hair style namun juga dari segi fashion, atau bahkan pengetahuan mereka tentang musik. Nama HEADCORE juga di ilhami dari kata HARDCORE sebagai aliran musik keras yang memberikan kesan maskulin, kuat dan kokoh, sesuai dengan konsep musik yang digunakan oleh HEADCORE BARBERSHOP, sehingga diharapkan dapat menginsiparasi HEADCORE BARBERSHOP untuk tangguh dan bersaing dengan para kompetitornya dalam menjalankan kinerjanya dan kesan BARBERSHOP sebagai tempat potong rambut khusus untuk penggunaan nama HEADCORE tersebut.


(22)

11

Gambar 2.1Logo HEADCORE Barbershop

2.3 Landasan Teori

Landasan teori merupakan ulasan atau penjabaran kembali teori-teori yang ada yang diambil dari berbagai sumber baik buku-buku, pustaka, maupun internet. Pengambilan teori-teori dari para pakar dibidangnya harus berkaitan dengan topik penelitian. Selain itu, pengambilan teori juga ditekankan pada sumber-sumber yang baru.

Landasan teori yang dilejaskan pada penelitian ini meliputi UML (Unified Modeling Language), pengolahan citra, augmented reality, pendeteksian wajah, Markerless Augmented Reaity, dan software dan hardware yang digunakan untuk membuat aplikasi

2.3.1 UML (Unified Modeling Language)

UML dimulai secara resmi pada oktober 1994, ketika Rumbaugh bergabung dengan Booch pada Relational Software Corporation. Proyek ini memfokuskan pada penyatuan metode Booch dan OMT. UML versi 0.8 merupakan metode penyatuan yang dirilis pada bulan Oktober 1995. Dalam waktu yang sama, Jacobson bergabung dengan Relational dan cakupan dari UML


(23)

12

semakin luas sampai diluar perusahaan OOSE. Dokumentasi UML versi 0.9 akhirnya dirilis pada bulan Juni 1996.

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.

Bahasa pemodelan merupakan bagian terpenting dari metode. Ini merupakan bagian kunci tertentu untuk komunikasi. Jika anda ingin berdiskusi tentang desain dengan seseorang, maka Anda hanya membutuhkan bahasa pemodelan bukan proses yang digunakan untuk mendapatkan desain. UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat lunak. UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu [1]:

1. Use Case Diagram untuk memodelkan proses bisnis.

2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.

3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.

4. Collaboration Diagram untuk memodelkan interaksi antar objects. 5. State Diagram untuk memodelkan perilaku objects di dalam sistem. 6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di


(24)

13

7. Class Diagram untuk memodelkan struktur kelas. 8. Object Diagram untuk memodelkan struktur object.

9. Component Diagram untuk memodelkan komponen object. 10. Deployment Diagram untuk memodelkan distribusi aplikasi

2.3.2 Pengolahan Citra

Istilah citra atau image yang pada umumnya digunakan dalam bidang pengolahan citra diartikan sebagai suatu fungsi kontinu dari intensitas cahaya f(x,y) dalam bidang dua dimensi dengan (x,y) menyatukan suatu koordinat dengan nilai f pada setiap titik menyatukan intensitas atau tingkatan kecerahan atau gray level. Suatu citra digital adalah suatu citra kontinyu yang diubah kedalam bentuk diskrit, baik koordinat maupun intensitas cahayanya [5].

Data atau informasi tidak hanya disajikan dalam bentuk teks, tapi juga dapat berupa gambar, audio (bunyi, suara, musik) dan video. Keempat macam data atau informasi ini sering disebut multimedia. Citra (image) istilah lain untuk gambar sebagai satu komponen multimedia memegang peranan penting sehingga bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi. Ada sebuah peribahasa yang berbunyi “sebuah gambar akan lebih bermakna dari seribu kata” (a picture is more than a thousand words). Maksudnya tentu sebuah gambar dapat memberikan informasi yang lebih banyak dari pada informasi tersebut disajikan dalam bentuk kata-kata (tekstual)


(25)

14

2.3.3 Pengenalan Pola

Teknik pengenalan pola (pattern recognition) mengalami banyak kemajuan dan semakin dipakai untuk memecahkan suatu masalah. Teknik pengenalan pola dipakai untuk mengenali tulisan tangan, tanda tangan, gambar dan sebagainya.

Berbeda dengan disiplin ilmu pengolahan citra yang dibatasi oleh penggunaan citra sebagai masukan maupun keluarannya, suatu aplikasi pengenalan pola bertujuan untuk melakukan proses pengenalan terhadap suatu objek (misalnya citra) ke dalam salah satu kelas tertentu, berdasarkan pola yang dimilikinya [5]. Secara umum dapat dilihat dimana Gambar 2.2 merupakan proses pengenalan pola yang digambarkan dalam diagram blok sederhana.

Gambar 2.2Diagram Blok Sistem Pengenalan Pola [5]

Secara umum, pengertian pola (pattern) dapat dibedakan dengan istilah ciri/fitur (feature) sebagai berikut :

a. Fitur : segala jenis aspek pembeda, kualitas, maupun karakteristik.

b. Pola : komposit atau gabungan dari fitur yang merupakan sifat dari sebuah objek.

Pola data masukan misal dalam hal ini adalah citra kemudian diolah dalam bagian-bagian yang akan dijelaskan berikut ini :

1. Preprocessing

Preprocessing meliputi keseluruhan tahapan-tahapan yang diperlukan untuk membawa input data ke dalam suatu bentuk yang dapat diterima yaitu

Preprocessing Ekstraksi Klasifikasi keluaran Data Data


(26)

15

feature extraction dari suatu sistem. Operasi ini melibatkan input data, scaling, dan centering.

a. Scaling

Pada tahap ini yang dilakukan adalah menyederhanakan inputan data karakter dengan melakukan deteksi tepi. Selama proses deteksi tepi ini dilakukan penelusuran gambar (scaling) secara vertikal dan horizontal. Deteksi tepi ini dilakukan untuk menghilangkan tepi-tepi pola karakter yang tidak berisi garis-garis penyusun inputan pola karakter.

b. Centering

Ketika kita menulis sebuah karakter yang akan digunakan sebagai inputan data, kadang kita lihat tulisan tersebut miring dan cenderung berada pada satu sisi tertentu. Untuk itu inputan data tersebut harus ditempatkan di tengah pada suatu form tertentu. Hal ini bertujuan untuk memfokuskan objek inputan data setelah dilakukan proses deteksi tepi agar memudahkan dalam proses pengenalan nantinya.

2. Ekstraksi

Tahap berikutnya adalah mengekstraksi ciri-ciri tertentu dari setiap objek inputan data. Pada tahap ini yang dilakukan adalah mencari posisi gambar paling kiri, paling kanan, paling atas dan paling bawah. Kemudian gambar dibagi-bagi menjadi baris M dan kolom N. Setiap kotak dilakukan scanning piksel bila ditemukan piksel melebihi jumlah yang ditentukan maka kotak tersebut diberi nilai 1, jika tidak diberi nilai 0. Lakukan penyimpanan dalam matrik MxN sebagai data referensi.


(27)

16 3. Klasifikasi

Pada saat melakukan proses pengenalan pola tulisan tangan, di dalam sistem yang telah dirancang kita letakkan pola-pola karakter huruf berupa file modul. Sehingga nantinya program akan mengklasifikasikan pola tulisan tangan berdasarkan inputan data dengan mencocokan pola-pola karakter huruf (modul) yang ada dalam program

2.3.4 Augmented Reality

Ronald T. Azuma (1997) mendefinisikan Augmented Reality sebagai penggabungan benda-benda nyata dan maya di lingkungan nyata, berjalan secara interaktif dalam waktu nyata, dan terdapat integrasi antarbenda dalam tiga dimensi, yaitu benda maya terintegrasi dalam dunia nyata [2]. Penggabungan benda nyata dan maya dimungkinkan dengan teknologi tampilan yang sesuai, interaktivitas dimungkinkan melalui perangkat-perangkat input tertentu, dan integrasi yang baik memerlukan penjejakan yang efektif. Selain menambahkan benda maya dalam lingkungan nyata, Augmented Reality juga berpotensi menghilangkan benda-benda yang sudah ada. Menambah sebuah lapisan gambar maya dimungkinkan untuk menghilangkan atau menyembunyikan lingkungan nyata dari pandangan pengguna. Misalnya, untuk menyembunyikan sebuah meja dalam lingkungan nyata, perlu digambarkan lapisan representasi tembok dan lantai kosong yang diletakkan di atas gambar meja nyata, sehingga menutupi meja nyata dari pandangan pengguna.


(28)

17

Kunci kesuksesan dari sistem Augmented Reality adalah meniru semirip mungin kehidupan dunia nyata. Dengan kata lain, dari sudut pandang pengguna, pengguna tidak perlu belajar terlalu lama dalam menggunakan sistem Augmented Reality, sebaliknya dengan cepat mampu mengoperasikan sistem tersebut berdasarkan pengalaman dalam dunia nyata. Untuk menjalankan sistem Augmented Reality , minimal terdiri atas kamera, perangkat monitor, dan dalam kasus-kasus tertentu memerukan perangkat khusus untuk beriteraksi dengan objek virtual.

Perangkat monitor dapat di ganti dengan perangkat video see-through untuk meningkatkan kesan impresif dari objek virtual. Perangkat video see-through, biasa juga dinamakan head-mounted display (HMD), akan memenuhi seluruh sudut pandang pengguna, sehingga kesan nyata dapat tercapai.

Gambar 2.3Penggunaan Head-Mounted Display (HMD) dalam sistem AR [2]

2.3.5 Deteksi Wajah

Deteksi wajah dapat dipandang sebagai masalah klasifikasi pola dimana inputnya adalah citra masukan dan akan ditentukan output yang berupa label kelas dari citra tersebut. Dalam hal ini terdapat dua label kelas, yaitu wajah dan non- wajah.


(29)

18

Teknik-teknik pengenalan wajah yang dilakukan selama ini banyak yang menggunakan asumsi bahwa data wajah yang tersedia memiliki ukuran yang sama dan latar belakang yang seragam. Di dunia nyata, asumsi ini tidak selalu berlaku karena wajah dapat muncul dengan berbagai ukuran dan posisi di dalam citra dan dengan latar belakang yang bervariasi.

Pendeteksian wajah (face detection) adalah salah satu tahap awal yang sangat penting sebelum dilakukan proses pengenalan wajah (face recognition). Bidang-bidang penelitian yang berkaitan dengan pemrosesan wajah (face processing) adalah [3] :

1. Pengenalan wajah (face recognition) yaitu membandingkan citra wajah masukan dengan suatu database wajah dan menemukan wajah yang paling cocok dengan citra masukan tersebut.

2. Autentikasi wajah (face authentication) yaitu menguji keaslian/kesamaan suatu wajah dengan data wajah yang telah diinputkan sebelumnya.

3. Lokalisasi wajah (face localization) yaitu pendeteksian wajah namun dengan asumsi hanya ada satu wajah di dalam citra

4. Penjejakan wajah (face tracking) yaitu memperkirakan lokasi suatu wajah di dalam video secara real time.

5. Pengenalan ekspresi wajah (facial expression recognition) untuk mengenali kondisi emosi manusia


(30)

19

Tantangan yang dihadapi pada masalah deteksi wajah disebabkan oleh adanya faktor-faktor berikut [3]:

1. Posisi wajah. Posisi wajah di dalam citra dapat bervariasi karena posisinya bisa tegak, miring, menoleh, atau dilihat dari samping.

2. Komponen-komponen pada wajah yang bisa ada atau tidak ada, misalnya kumis, jenggot, dan kacamata.

3. Ekspresi wajah. Penampilan wajah sangat dipengaruhi oleh ekspresi wajah seseorang, misalnya tersenyum, tertawa, sedih, berbicara, dan sebagainya 4. Terhalang objek lain. Citra wajah dapat terhalangi sebagian oleh objek atau

wajah lain, misalnya pada citra berisi sekelompok orang.

5. Kondisi pengambilan citra. Citra yang diperoleh sangat dipengaruhi oleh faktor-faktor seperti intensitas cahaya ruangan, arah sumber cahaya, dan karakteristik sensor dan lensa kamera

2.3.5.1Haar-Like Feature

Salah satu metode untuk meneteksi wajah adalah Haar-Like Feature. Secara umum, Haar-Like Feature digunakan dalam mendeteksi objek pada image digital. Nama Haar merujuk pada suatu fungsi matematika (Haar Wavelet) yang berbentuk kotak, prinsipnya sama seperti pada fungsi Fourier. Awalnya pengolahan gambar hanya dengan melihat dari nilai RGB setiap pixel, namun metoda ini ternyata tidaklah efektif. Viola dan Jones kemudian mengembangkannya sehingga terbentuk Haar-Like feature. Haar-like feature memproses gambar dalam kotak-kotak, dimana dalam satu kotak terdapat


(31)

20

beberapa pixel. Per kotak itu pun kemudian di-proses dan didapatkan perbedaan nilai (threshold) yang menandakan daerah gelap dan terang [11].

2.3.5.2Konsep Pendeteksian Wajah

OpenCV face detector menggunakan metode Paul-Viola dan Michael Jones yang dipublikasikan pada tahun 2001. Pendekatan ini mendeteksi objek dengan menggabungkan 4 konsep :

1. Fitur rectangular sederhana yang disebut fitur Haar 2. Integral image untuk deteksi fitur yang cepat 3. Metode machine learning AdaBoost.

Sebuah pengklasifikasi cascade untuk mengkombinasikan banyak fitur secara efisien. Fitur yang digunakan Viola dan Jones menggunakan bentuk gelombang Haar. Bentuk gelombang Haar ialah sebuah gelombang kotak. Pada 2 dimensi, gelombang kotak ialah pasangan persegi yang bersebelahan, 1 terang dan 1 gelap. Haar ditentukan oleh pengurangan pixel rata-rata daerah gelap dari pixel rata-rata daerah terang. Jika perbedeaan diatas threshold (diset selama learning), fitur tersebut dikatakan ada. Untuk menentukan ada atau tidaknya Haar feature di setiap lokasi image / gambar, Viola dan Jones menggunakan teknik yang disebut Integral Image. Umumnya integral menambahkan unit kecil secara bersamaan. Dalam hal ini unit kecil ini disebut dengan nilai dari pixel. Nilai dari integral / integral value pada masing-masing pixel merupakan penjumlahan dari semua pixel di atasnya dan di sebelah kirinya. Dimulai dari kiri atas sampai kanan bawah, image / gambar dapat diintegrasikan sebagai operasi matematika per pixel [11].


(32)

21 2.3.6 Marker Augmented Reality

Salah satu metode Augmented Reality yang saat ini sedang berkembang

adalah metode “Markerless Augmented Reality“, dengan metode ini pengguna

tidak perlu lagi menggunakan sebuah marker untuk menampilkan elemen-elemen digital. Seperti yang saat ini dikembangkan oleh perusahaan Augmented Reality terbesar di dunia Total Immersion, mereka telah membuat berbagai macam teknik Markerless Tracking sebagai teknologi andalan mereka, seperti Face Tracking, 3D Object Tracking, Motion Tracking, dan GPS Based Tracking.

Di dalam aplikasi yang akan digunakan kali ini dengan menggunakan Face Tracking. Face Tracking adalah metode dimana komputer dapat mengenali wajah manusia secara umum dengan cara mengenali posisi mata, hidung, dan mulut manusia, kemudian akan mengabaikan objek-objek lain disekitarnya seperti pohon, rumah, dan benda-benda lainnya.


(33)

22

2.3.7 Library Marilena

Library Marilena merupakan library yang mendukung deteksi wajah di flash dengan menggunakan ActionScript. Marilena merupakan library yang telah berjalan baik untuk mendeteksi wajah atau benda lain yang berdasarkan algoritma haar feature. Hanya saja kekurangan dari haar feature yang digunakan adalah tidak dapat mendeteksi wajah pada posisi miring atau selain posisi tegak lurus. Sebenarnya Marilena pada dasarnya berasal dari library OpenCV yang digunakan pada bahasa C, yang di konversi ke ActionScript. Seorang pria berkebangsaan Jepang bernama Ohtsuka Masakazu yang telah menciptakan Marilena. Baru-baru ini seorang pria bernama Mario Klingemann dari Quasimondo.com telah membuat beberapa perubahan untuk mengoptimasikan Marilena versi aslinya [4].

2.3.8 FlashDevelop

FlashDevelop adalah sebuah code editor gratis yang dispesialisasikan untuk flash platform walaupun tak menutup kemungkinan untuk web dan yang lainnya. FlashDevelop juga merupakan alternatif untuk mengembangkan aplikasi flash dengan open source, selain itu program ini adalah freeware. FlashDevelop juga mendukung bahasa selain actionscript yaitu Haxe cekidot di haxe.org. Untuk mengembangkan aplikasi flash dengan actionscript 3 yang perlu di unduh antara lain :

1. FlashDevelop 2. Adobe Flex SDK 3. Debug Flash Player


(34)

23

FlashDevelop merupakan salah satu alternatif yang dapat digunakan jika kita tidak mempunyai Adobe Flash ataupun software yang mewajibkan kita untuk membayar. Hal ini dikarenakan FlashDevelop merupakan program yang bersifat opensource dan gratis. FlashDevelop dibangun di atas framework .NET 2.0 sehingga mewajibkan kita untuk menginstal .NET framework 2.0 di dalam komputer kita. Jika kita menggunakan windows 7, maka kita tidak perlu susah untuk menginstall, namun ada masalah mungkin bagi penguna windows 7 yaitu masalah kompatibilitas.

Gambar 2.5Tampilan utama FlashDevelop

2.3.9 Papervision 3D

PV3D adalah sebuah library yang ditulis dalam bahasa pemrograman AS3 yang ditujukan untuk mengembangkan aplikasi augmented reality atau mixed reality dengan menggabungkan computer vision based tracking libraries (seperti FLARToolKit, FLARManager, Nyartoolkit dan BazAR) dengan 3D scene libary (PV3D). Sudah banyak tersedia toolkit untuk membuat dan mengembangkan


(35)

24

aplikasi AR, mulai dari low-level programming (e.g. ARToolKit) sampai high-level programming. Keberhasilan ARToolKit untuk membuat aplikasi AR disebabkan karena kesederhanaan tingkat pemrogramannya. Oleh karena itu PV3D dibuat dengan tujuan untuk mempertahankan kesederhanaan yang ada pada FLARToolKit dan membawa FLARToolKit ke generasi yang lebih tinggi. Papaervision3D memiliki library tersendiri untuk urusan rendering model, sehingga kualitas grafis akan menjadi lebih baik ketika dipakai pada sebuah aplikasi. Selain itu, PV3D ini bersifat bebas dan dapat digunakan untuk keperluan akademik. mahasiswa dapat dengan bebas melakukan penelitian tentang AR menggunakan toolkit ini. Toolkit ini tetap mengacu pada prinsip kesederhanaan untuk mengembangkan aplikasi yang akan dibuat (membuat video, menggunakan tracker, dan lain sebagainya). Nantinya, programmer mengembangkan aplikasi mereka dalam bahasa java action script, tetapi programer juga dapat mengembangkan aplikasinya dalam bahasa pemrograman lain seperti Xml, Mxml. PV3D mempunyai berbagai macam fitur yang telah didesain sedemikian rupa untuk dapat lebih memaksimalkan pengembangan aplikasi AR[7].

2.3.10 Adobe Flex SDK

ActionScript adalah bahasa pemrograman untuk Adobe Flash Player dan Adobe AIR run-time environments. disini memungkinkan interaktivitas, penanganan data, dan banyak lagi di Flash, Flex, AIR pada konten dan aplikasi. ActionScript dilakukan oleh ActionScript Virtual Machine (AVM), yang merupakan bagian dari Flash Player dan AIR. Aksi Kode script biasanya dikompilasi ke format bytecode (semacam bahasa pemrograman yang ditulis dan


(36)

25

dipahami oleh komputer) oleh kompilator, seperti yang dibangun ke dalam Adobe Flash CS3 Professional atau Adobe Flex Builder , atau yang tersedia dalam Adobe Flex SDK dan Flex Layanan Data. bytecode ini tertanam dalam file SWF, yang dijalankan oleh Flash Player dan AIR.ActionScript 3.0 menawarkan model pemrograman yang kuat yang akan akrab bagi pengembang dengan pengetahuan dasar tentang pemrograman berorientasi objek

2.3.11 Adobe Flash

Adobe Flash (dahulu bernama Macromedia Flash) adalah salah satu perangkat lunak komputer yang merupakan produk unggulan Adobe Systems. Adobe Flash digunakan untuk membuat gambar vektor maupun animasi gambar tersebut. Berkas yang dihasilkan dari perangkat lunak ini mempunyai file extension .swf dan dapat diputar di penjelajah web yang telah dipasangi Adobe Flash Player. Flash menggunakan bahasa pemrograman bernama ActionScript yang muncul pertama kalinya pada Flash 5. Sebelum tahun 2005, Flash dirilis oleh Macromedia. Flash 1.0 diluncurkan pada tahun 1996 setelah Macromedia membeli program animasi vektor bernama FutureSplash. Versi terakhir yang diluncurkan di pasaran dengan menggunakan nama 'Macromedia' adalah adalah Macromedia Flash 8. Pada tanggal 3 Desember 2005 Adobe Systems mengakuisisi Macromedia dan seluruh produknya, sehingga nama Macromedia Flash berubah menjadi Adobe Flash [4].

Adobe Flash merupakan sebuah program yang didesain khusus oleh Adobe dan program aplikasi standar authoring tool professional yang digunakan untuk membuat animasi dan bitmap yang sangat menarik untuk keperluan


(37)

26

pembangunan situs web yang interaktif dan dinamis. Flash didesain dengan kemampuan untuk membuat animasi 2 dimensi yang handal dan ringan sehingga flash banyak digunakan untuk membangun dan memberikan efek animasi pada website, CD Interaktif dan yang lainnya. Selain itu aplikasi ini juga dapat digunakan untuk membuat animasi logo, movie, game, pembuatan navigasi pada situs web, tombol animasi, banner, menu interaktif, interaktif form isian, e-card, screen saver dan pembuatan aplikasi-aplikasi web lainnya. Dalam Flash, terdapat teknik-teknik membuat animasi, fasilitas action script, filter, custom easing dan dapat memasukkan video lengkap dengan fasilitas playback FLV. Keunggulan yang dimiliki oleh Flash ini adalah ia mampu diberikan sedikit code pemograman baik yang berjalan sendiri untuk mengatur animasi yang ada didalamnya atau digunakan untuk berkomunikasi dengan program lain seperti HTML, PHP, dan Database dengan pendekatan XML, dapat dikolaborasikan dengan web, karena mempunyai keunggulan antara lain kecil dalam ukuran file outputnya

Movie-movie Flash memiliki ukuran file yang kecil dan dapat ditampilkan dengan ukuran layar yang dapat disesuaikan dengan keingginan. Aplikasi Flash merupakan sebuah standar aplikasi industri perancangan animasi web dengan peningkatan pengaturan dan perluasan kemampuan integrasi yang lebih baik. Banyak fiture-fiture baru dalam Flash yang dapat meningkatkan kreativitas dalam pembuatan isi media yang kaya dengan memanfaatkan kemampuan aplikasi tersebut secara maksimal. Fiture-fiture baru ini membantu kita lebih memusatkan perhatian pada desain yang dibuat secara cepat, bukannya memusatkan pada cara kerja dan penggunaan aplikasi tersebut. Flash juga dapat digunakan untuk


(38)

27

mengembangkan secara cepat aplikasi-aplikasi web yang kaya dengan pembuatan script tingkat lanjut. Di dalam aplikasinya juga tersedia sebuah alat untuk men-debug script. Dengan menggunakan Code hint untuk mempermudah dan mempercepat pembuatan dan pengembangan isi ActionScript secara otomatis.

2.3.12 Adobe Director atau Macromedia Director

Adobe Director (bentuk Macromedia Director) adalah platform authoring aplikasi multimedia yang dibuatoleh Macromedia –saat ini merupakan bagian dari system Adobe. Adobe Director mengijinkan pengguna untuk membangun aplikasi

berdasarkan metaphor film, dengan user sebagai “sutradara” dari film. Adobe

Director awalnya didesain untuk membuat urutan animasi, terdapat bahasa scripting handal tambahan yang disebut Lingo yang membuat Director menjadi pilihan popular untuk membuat CD-ROM dan kiosk standalone dan isi web menggunakan Adobe Shockwave. Adobe Director mendukung projek multimedia 2D dan3D [8].

2.3.13 Autodesk 3DMax

Autodesk 3ds Max, 3D Studio MAX sebelumnya, adalah pemodelan, animasi dan rendering paket yang dikembangkan oleh Autodesk Media dan Entertainment. Autodesk memiliki kemampuan pemodelan, arsitektur plugin yang fleksibel dan dapat digunakan pada platform Microsoft Windows. Software Ini sering digunakan oleh pengembang video animation, studio TV komersial dan studio visualisasi arsitektur. Hal ini juga digunakan untuk efek-efek film dan film pra-visualisasi. Selain pemodelan dan tool animasi, versi terbaru dari 3DS Max juga memiliki fitur shader (seperti ambient occlusion dan subsurface scattering),


(39)

28

dynamic simulation, particle systems, radiosity, normal map creation and rendering, global illumination, customize user interface, dan bahasanya scripting untuk 3DMax [9].

Gambar 2.6Tampilan utama 3DS Max

2.3.14 Swift 3D

Swift 3D adalah alat yang paling serbaguna untuk membuat Animasi 3D web-siap untuk digunakan dengan Macromedia Flash. Melalui kombinasi yang mudah menggunakan antarmuka, eksportir vektor standar industri dan sinar penuh melacak mesin rendering, Swift 3D memungkinkan 3D pemula dan mahir dengan cepat membuat animasi 3D berkualitas tinggi. Swift 3D ekspor ke kedua format file raster dan vektor termasuk Macromedia Flash (SWF), AI, EPS, JPEG, BMP dan banyak lagi, sehingga perangkat utama untuk penerbitan desain 3D Anda dimanapun Anda inginkan


(40)

29

2.3.15 Collada

Collada (COLLAborative Design Activity) adalah skema open standard XML untuk membuat sebuah objek 3D yang dapat di explore secara interaktif [13]. Collada merupakan salah satu format penyimpanan bentuk 3D. Banyak berbagai jenis format 3D lain seperti .3ds, .max, .blend, .x, .obj, .fbx, maka collada merupakan jenis tersebut. Menurut pengembangnya Khronos Group, Collada dapat digunakan secara gratis. Banyak cara untuk mengkonvert objek 3D untuk menghasilkan file Collada (*dae). Pada program ini yang digunakan untuk mengkonvert objek 3D menjadi Collada file (*dae) adalah aplikasi Swift 3D.

Gambar 2.7Hasil eksport dengan ekstensi *dae 2.3.16 Webcam

Webcam (singkatan dari web camera) adalah sebutan bagi kamera real-time (bermakna keadaan pada saat ini juga) yang gambarnya bisa diakses atau dilihat melalui World Wide Web, program instant messaging, atau aplikasi video call. Istilah webcam merujuk pada teknologi secara umumnya, sehingga kata web kadang-kadang diganti dengan kata lain yang mendeskripsikan pemandangan yang ditampilkan di kamera, misalnya StreetCam yang memperlihatkan pemandangan jalan. Ada juga Metrocam yang memperlihatkan pemandangan panorama kota dan pedesaan, TraffiCam yang digunakan untuk memonitor


(41)

30

keadaan jalan raya, cuaca dengan Weather Cam, bahkan keadaan gunung berapi dengan VolcanoCam. Webcam atau web camera adalah sebuah kamera video digital kecil yang dihubungkan ke komputer melalui (biasanya) port USB ataupun port COM.

Gambar 2.8Webcam 2.3.17 Komputer atau Laptop

Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang telah dirumuskan. Kata computer semula dipergunakan untuk menggambarkan orang yang perkerjaannya melakukan perhitungan aritmatika, dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah aritmatika, tetapi komputer modern dipakai untuk banyak tugas yang tidak berhubungan dengan matematika. Laptop adalah komputer bergerak yang berukuran relatif kecil dan ringan, beratnya berkisar dari 1-6 kg, tergantung ukuran, bahan, dan spesifikasi laptop tersebut. Sumber daya laptop berasal dari baterai atau adaptor A/C yang dapat digunakan untuk mengisi ulang baterai dan menyalakan laptop itu sendiri. Baterai laptop pada umumnya


(42)

31

dapat bertahan sekitar 1 hingga 6 jam sebelum akhirnya habis, tergantung dari cara pemakaian, spesifikasi, dan ukuran baterai.


(43)

32

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis merupakan penguraian dari suatu sistem yang utuh ke dalam bagian-bagian komponen dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan, sehingga diperoleh solusi. Analisis merupakan tahapan yang paling penting, karena kesalahan dalam tahap ini akan menyebabkan kesalahan di tahap selanjutnya. Sistem yang dibuat merupakan program untuk mendeteksi sebuah marker sekaligus menampilkan objek tiga dimensi yang telah dibuat dengan menggunakan software tiga dimensi (3D Max). Objek yang dibuat merupakan sebuah rambut, seolah-olah pengguna berinteraksi langsung dengan objek virtual dalam dunia nyata.

3.1.1 Analisis Masalah

Akan dijelaskan berbagai masalah apa saja yang ada di HEADCORE BARBERSHOP sebelum dibangunnya aplikasi Augmented Reality ini. Berikut adalah beberapa masalah yang dihadapi :

1. Untuk membuat aplikasi Augmented Reality di BarberShop sebagai alat strategi pemasaran yang modern dan menarik.

2. Untuk memudahkan karyawan dalam mencukur rambut pelanggan dan meminimalisir kesalahan model yang diinginkan pelanggan.


(44)

33

3. Untuk memudahkan pelanggan agar mengetahui model rambut mana yang cocok dengannya.

4. Untuk membantu pelanggan agar dapat memilih model rambut yang sesuai degan kehendaknya.

3.1.2 Analisis Pre-Processing Image

Dalam analisis pre processing image ini dibagi menjadi 3 tahap, tahap pertama yaitu penskalaan(scaling), tahap kedua proses grayscaling, dan tahap ketiga proses tresholding


(45)

34

3.1.2.1Tahap Scaling

Scaling merupakan proses mengubah ukuran gambar digital, perubahan ukuran gambar sangat penting karena pada sistem pengenalan wajah membutuhkan data gambar yang seragam ukurannya. Tahap scaling dapat dilakukan dengan menggunakan properti width dan height atau properti skala seperti scalex dan scaley

Gambar 3.2Metode Interpolasi Memperkecil Gambar

Nilai piksel pada koordinat pada citra hasil interpolasi diperoleh dengan menghitung nilai rata – rata dari 4 nilai piksel pada citra asli, yaitu :

Tabel 3.1 Perhitungan Nilai Piksel Hasil Interpolas

Nilai Piksel Citra Asli Nilai Piksel Citra Interpolasi (183+215+72+45) / 4 128,75

(100+111+23+69) / 4 75,75 (124+67+177+54) / 4 105,5 (45+81+222+99) / 4 111,75 (71+121+100+169) / 4 115,25


(46)

35 (54+111+46+123) / 4 83,5 (205+88+67+45) / 4 101,25 (191+99+211+81) / 4 145,5 (121+159+72+45) / 4 99,24

3.1.2.2Tahap Grayscaling

Pada tahap grayscaling ini citra berwarna diubah menjadi grayscale dengan memperoleh informasi intensitas dari gambar tersebut, gambar dapat di sortir secara ekslusif mulai dari hitam untuk intensitas yang paling lemah sampai dengan putih untuk intensitas yang paling kuat. Untuk melakukan proses grayscaling dapat dilakukan dengan mengubah citra berwarna. Citra berwarna terdiri dari 3 layer matriks yaitu R-layer, G-layer, B-layer. Jadi dalam proses ini akan mengubah 3 layer matriks citra berwarna menjadi 1 layer matriks grayscale. Dalam citra grayscale ini tidak akan lagi ada warna yang ada hanya derajat keabuan. Untuk mengubah citra berwarna yang mempunya matriks R, G, B menjadi citra grayscale dengan nilai I. Misalkan suatu citra wajah memiliki nilai R = 105,5 G = 75,75 B = 128,75

Berikut adalah perhitungan untuk mendapatkan grayscale :

)

11

.

0

(

)

59

.

0

(

)

30

.

0

(

R

G

B

I

Rumus 3.1

Dimana :

I

= nilai piksel grayscale R = nilai piksel Red


(47)

36

G = nilai piksel Green

B = nilai piksel Blue

Hasil dari perhitungan tersebut sebagai berikut

5

,

90

)

11

,

0

75

,

128

(

)

59

,

0

75

,

75

(

)

30

.

0

5

,

105

(

I

Berikut ini adalah citra hasil grayscaling :

Gambar 3.3 Proses Pengubahan Citra RGB Menjadi Citra Grayscale

3.1.3 Library Marilena dan Metode Haar Cascade Classifier

Marilena adalah sebuah library pendeteksi marker yang dapat mengenali pola wajah seseorang. Dan salah satu metode face recognition yang dapat bekerja sama sebagai pendeteksi pola wajah dengan marilena adalah Haar Cascade Classifier. Oleh Karena itu, penelitian ini menggunakan metode Haar Cascade Classifier sebagai metode untuk pengenalan pola wajah. Berikut adalah alur proses metode Haar Cascade Classifier


(48)

37

Gambar 3.4Flowchart Metode Haar Cascade Classifier

3.1.3.1Haar like Feature

Haar-like feature memproses gambar dalam kotak-kotak, dimana dalam satu kotak terdapat beberapa piksel. Per kotak itu pun kemudian di-proses dan didapatkan perbedaan nilai (threshold) yang menandakan daerah gelap dan terang.


(49)

38

Di dalam library Marilena hanya menggunakan Edge Feature dan Line Feature. Dimana Edge Feature adalah feature haar yang hanya memiliki dua variabel HaarRect, satu putih dan satu hitam. Sedangkan Line Feature adalah feature haar yang hanya memiliki tiga variabel HaarRect, satu putih, satu hitam, dan satu putih. Berikut adalah contoh di dalam sistem ini yang menggunakan Edge Feature. Area hitam dari fitur mendeteksi bagian mata dan area putih mendeteksi bagian kulit.

Gambar 3.6 Contoh Pencarian Edge Feature

Adanya fitur Haar ditentukan dengan cara mengurangi rata-rata piksel pada daerah gelap dari rata-rata piksel pada daerah terang. Jika nilai perbedaannya itu diatas nilai ambang atau treshold, maka dapat dikatakan bahwa fitur tersebut ada. Nilai dari Haar-like feature adalah perbedaan antara jumlah nilai-nilai piksel gray level dalam daerah kotak hitam dan daerah kotak putih seperti dilihat pada persamaan berikut :

B

grey

W

grey

x

f

(

)

(

)

(

)


(50)

39

3.1.3.2IntergralImage

Integral Image digunakan untuk menentukan ada atau tidaknya dari ratusan fitur Haar pada sebuah gambar dan pada skala yang berbeda secara efisien. Kotak Haar feature dapat dihitung menggunakan integral image. Umumnya integral menambahkan unit kecil secara bersamaan. Dalam hal ini unit kecil ini disebut dengan nilai dari pixel. Nilai dari integral / integral value pada masing-masing pixel merupakan penjumlahan dari semua pixel di atasnya dan di sebelah kirinya. Dimulai dari kiri atas sampai kanan bawah. Salah satu contoh nilai Haar like Features yang ada di dalam library Marilena adalah sebagai berikut :

1 3 2 2 1

5 6 2 6 -1

5 9 2 3 2

maka diperolah nilai integral fitur putih= { 6,15,19,27,27 }dan nilai integral fitur hitam = { 11,29,35,46,48 }. Maka nilai haar feature tersebut adalah :

f(x) = ( 11 + 29 + 35 + 46 + 48 ) - ( 6 + 15 + 19 +27 + 27 ) = 75

Untuk perhitungan integral image di dalam sistem ini terdapat di class TargetImage.

3.1.3.3Proses Filterisasi CascadeClassifier

Pada proses ini menggunakan klasifikasi bertingkat. Filter pada masing-masing level mengklasifikasikan gambar yang sebelumnya telah difilter. Selama penggunaannya, jika satu dari filter-filter tersebut gagal, image region / daerah

1 4 6 8 9

6 15 19 27 27 11 29 35 46 48


(51)

40

pada gambar diklasifikasikan sebagai “Bukan Wajah”. Saat filter berhasil melewatkan image region, image region kemudian masuk pada filter yang selanjutnya. Image region yang telah melalui semua filter akan dianggap sebagai “Wajah”. Berikut ini adlah rantai filter Cascade Classifier

Gambar 3.7 Rantai Filter Cascade Classifier

Untuk dapat menentukan wajah atau bukan wajah, Haar menggunakan sebuah pelatihan. Proses pelatihan ini dikenal dengan algoritma haartraining yang pada akhir pelatihan akan menghasilkan parameter model statistik. Pelatihan dengan model statistik haar menggunakan beberapa sampel, yaitu :


(52)

41 1. Positive samples

Berisi gambar objek yang ingin di deteksi, apabila ingin mendeteksi wajah maka positive samples ini berisi gambar wajah.

Gambar 3.8 Contoh Positive Samples 2. Negative samples

Berisi gambar objek selain objek yang ingin dikenali, umumnya berupa gambar background seperti tembok, pemandangan, lantai, dan gambar lainnya

Gambar 3.9 Contoh Negative Samples

Berikut adalah pengujian sampel dan membuat sampel dengan createsamples utility :

Usage: ./createsamples

[-info <description_file_name>] [-img <image_file_name>]

[-vec <vec_file_name>]

[-bg <background_file_name>] [-num <number_of_samples = 1000>] [-bgcolor <background_color = 0>]

[-inv] [-randinv] [-bgthresh <background_color_threshold = 80>] [-maxidev <max_intensity_deviation = 40>]

[-maxxangle <max_x_rotation_angle = 1.100000>] [-maxyangle <max_y_rotation_angle = 1.100000>] [-maxzangle <max_z_rotation_angle = 0.500000>] [-show [<scale = 4.000000>]]

[-w <sample_width = 24>] [-h <sample_height = 24>]


(53)

42

kedua jenis sampel dilatihkan bersamaan dan perbedaannya digunakan sebagai parameter klasifikasi objek terdeteksi sebagai wajah atau tidak.

Sampel data yang telah dibuat dilatih menggunakan haartraining utility. Berikut ini adalah pelatihan data dengan haartraining utility :

Ketika proses training sudah selesai makan haartraining akan menghasilkan file .xml dan file tersebut adalah haarcascade_frontalface_alt.xml. haarcascade_frontalface_alt adalah training yang dikhususkan untuk pelacakan wajah dengan posisi geometris lurus ke depan. Berikut ini adalah file .xml hasil training : <opencv_storage> <haarcascade_frontalface_alt type_id="opencv-haar-classifier"> <size>20 20</size> <stages> <_>

<!-- stage 0 --> <trees>

<_>

<!-- tree 0 --> <_>

<!-- root node --> <feature>

<rects>

<_>3 7 14 4 -1.</_>

Usage: ./haartraining -data <dir_name> -vec <vec_file_name>

-bg <background_file_name>

[-npos <number_of_positive_samples = 2000>] [-nneg <number_of_negative_samples = 2000>] [-nstages <number_of_stages = 14>]

[-nsplits <number_of_splits = 1>] [-mem <memory_in_MB = 200>]

[-sym (default)] [-nonsym]

[-minhitrate <min_hit_rate = 0.995000>]

[-maxfalsealarm <max_false_alarm_rate = 0.500000>] [-weighttrimming <weight_trimming = 0.950000>] [-eqw]

[-mode <BASIC (default) | CORE | ALL>] [-w <sample_width = 24>]

[-h <sample_height = 24>]

[-bt <DAB | RAB | LB | GAB (default)>]

[-err <misclass (default) | gini | entropy>]

[-maxtreesplits <max_number_of_splits_in_tree_cascade = 0>] [-minpos <min_number_of_positive_samples_per_cluster = 500>]


(54)

43

<_>3 9 14 2 2.</_></rects> <tilted>0</tilted></feature>

<threshold>4.0141958743333817e-003</threshold> <left_val>0.0337941907346249</left_val>

<right_val>0.8378106951713562</right_val></_></_> <_>

<!-- tree 1 --> <_>

<!-- root node --> <feature>

<rects>

<_>1 2 18 4 -1.</_> <_>7 2 6 4 3.</_></rects> <tilted>0</tilted></feature>

<threshold>0.0151513395830989</threshold> <left_val>0.1514132022857666</left_val>

<right_val>0.7488812208175659</right_val></_></_> <_>

<!-- tree 2 --> ...

<stage_threshold>0.8226894140243530</stage_threshold> <parent>-1</parent>

<next>-1</next></_> <_>

<!-- stage 1 --> ...

<!-- stage 21 --> <trees> <_>

<!-- tree 0 -->

<!-- tree 212 -->

<stage_threshold>105.7611007690429700</stage_threshold> <parent>20</parent>

<next>-1</next></_></stages></haarcascade_frontalface_alt> </opencv_storage>

Training memiliki isi yang berbeda baik dari segi jumlah stage, jumlah tree, model segi empat dari fitur (rectangle) maupun nilai treshold nya. Stage melambangkan banyaknya tingkatan dalam cascade of classifier, dalam training ini digunakan 22 tingkatan (stage 0 sampai stage 21). Tingkatan ini digunakan untuk mengurangi jumlah sub window citra yang perlu diperiksa. Di tingkatan pertama dilakukan pengklasifikasian terhadap seluruh sub window citra, lalu di tingkatan kedua dilakukan pengklasifikasian terhadap sub window yang berasal dari hasil pengklarifikasian tingkatan pertama. Maka semakin tinggi tingkatanya semakin sedikiit jumlah sub window yang harus diperiksa. Di tiap tingkatan terdiri dari beberapa tree, biasanya semakin tinggi tingkatan maka tree yang terdapat di


(55)

44

dalamnya pun semakin banyak. Pada stage 0 terdapat 2 tree dan pada stage 21 terdapat 212 tree. Setelah proses pendeteksian wajah berhasil dilakukan, maka sistem akan menetukan wajah dan tidak. Pada citra yang mengandung wajah dilakukan proses pemberian kotak di sekitar wajah. Hal ini untuk mengecek apakah proses pendeteksian wajah ini telah berhasil mengenali wajah dengan tepat.

Gambar 3.10Contoh Wajah Terdeteksi Oleh Haar Cascade Classifier

3.1.4 Analisis Spesifikasi Kebutuhan Perangkat Lunak

Analisis spesifikasi kebutuhan perangkat lunak dibagi menjadi dua bagian yaitu SKPL-F (Spesifikasi kebutuhan perangkat lunak fungsional) dan SKPL-NF (Spesifikasi kebutuhan perangkat lunak non-fungsional). Analisis tersebut berisi deskripsi dari kebutuhan perangkat lunak yang akan dibangun baik kebutuhan fungsional maupun kebutuhan non fungsional.

3.1.4.1Analisis Spesifikasi Kebutuhan Perangkat Lunak Fungsional

Analisis spesifikasi kebutuhan perangkat lunak fungsional berisi pernyataan dari layanan sistem yang harus disediakan, bagaimana sistem harus bereaksi terhadap input tertentu dan bagaimana sistem harus berperilaku dalam


(56)

45

situasi tertentu. Intinya menjelaskan fungsionalitas dari sistem yang akan dibangun secara detail, berikut ini table spesifikasi kebutuhan perangkat lunak fungsional :

Tabel 3.2 Spesifikasi kebutuhan perangkat lunak fungsional Nomor Spesifikasi Kebutuhan Perangkat Lunak Fungsional

SKPL-F-001 Sistem harus bisa terhubung dengan kamera yang terpasang di komputer.

SKPL-F-002 Sistem dapat mendeteksi posisi wajah di depan kamera SKPL-F-003 Sistem dapat menyediakan berbagai pilihan model rambut SKPL-F-004 Sistem dapat menampilkan objek rambut ke posisi wajah (di

kepala atas)

SKPL-F-005 Sistem dapat menyediakan ruang 3D untuk user memilih model rambut

3.1.4.2Analisis Spesifikasi Kebutuhan Perangkat Lunak Non Fungsional

Analisis spesifikasi kebutuhan perangkat lunak non fungsional adalah deskripsi mengenai batasan dari layanan dan fungsi-fungsi dari sistem yang akan dibangun. Berikut ialah table spesifikasi kebutuhan perangkat lunak non

fungsional peran yang akan dibangun :

Tabel 3.3 Spesifikasi kebutuhan perangkat lunak non fungsional Nomor Spesifikasi Kebutuhan Perangkat Lunak Non Fungsional

SKPL-NF-001 Sistem membutuhkan minimum spesifikasi kamera 2 megapiksel.

SKPL-NF-002 Sistem dapat mendeteksi wajah dimana posisi wajah menghadap tegak ke kamera.

SKPL-NF-003 Wajah dapat terdeteksi oleh sistem apabila memiliki kelengkapan wajah pada umumnya. Seperti , memiliki dua mata, hiung dan mulut.


(57)

46

SKPL-NF-004 Sistem membutuhkan cahaya yang berada di depan kamera. SKPL-NF-005 Sistem hanya dibangun dalam bentuk dekstop

SKPL-NF-006 Objek yang dapat ditampilkan hanya yang berekstenti *.DAE

3.1.5 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional adalah sebuah langkah untuk menganalisis sumber daya manusia yang akan menggunakan perangkat lunak yang dibangun, perangkat keras dan perangkat lunak yang dimiliki sesuai dengan kebutuhan atau permintaan, sehingga dapat ditentukan kompabilitas perangkat lunak yang dibangun terhadap sumber daya yang ada. Karna program ini berbasis Augmented Reality yang menggunakan Markerless Face Recognition sebagai tracking marker maka dibutuhkan komputer atau laptop dan perangkat lunak sebagai pengolah citra dan beberapa set marker.

3.1.5.1Analisis Perangkat Keras

Analisis perangkat keras dimaksudkan untuk mengetahui spesifikasi perangkat keras yang akan digunakan oleh HEADCORE BARBERSHOP. Perangkat keras yang dianjurkan untuk menggunakan aplikasi Augmented Reality adalah sebagai berikut :

1. Processor Pentium 4 > 1 GHz atau setara 2. RAM minimal 512 MB

3. Ruang sisa hardisk minimal 10 GB

4. Motherboard dengan chipset yang kompatibel dengan VGA card yang dipakai


(58)

47

6. Optimum menggunakan VGA card dengan kemampuan me-render grafis 3D. seperti GeForce 6xxx series atau ATI 1xxx series

3.1.5.2Analisis Perangkat Lunak

Perangkat lunak yang dibutuhkan dalam pembangunan aplikasi Augmented Reality di HEADCORE BARBERSHOP ini adalah sebagai berikut :

1. Sistem operasi XP 2. IDE FlashDevelop 4.1 3. Flex Builder 4.0 4. Library Marilena

5. Adobe Flash Player 11.1 6. Adobe Photoshop CS3 7. Macromedia Director

3.1.5.3Analisis Pengguna

Pada umumnya pengunjung BarberShop berasal dari berbagai kalangan dan latar belakang yang berbeda. Untuk dapat menggunakan aplikasi ini dibutuhkan karateristik pengguna seperti berikut :

1. Setidaknya pengguna pernah tahu apa itu Augmented Reality dan pernah menggunakan komputer dan tahu fungsi tombol keyboard secara umum.

2. Pengguna tidak memiliki cacat pada bagian wajah, seperti tidak memiliki mata.


(59)

48

Sedangkan kemampuan yang harus dimiliki karyawan BarberShop yang bertugas untuk mengelola perangkat lunak ini yaitu sebagai berikut :

1. Karyawan yang memiliki keterampilan menggunakan software 3ds Max untuk membuat model rambut dan Macromedia Directore untuk membuat aplikasi.

2. Karyawan dapat mengerti bagaimana mengkonfigurasi dan memasukan objek ke dalam aplikasi.

Karyawan ini dapat dijadikan karyawan tetap atau karyawan yang sewaktu-waktu hanya dibutuhkan untuk membuat mengembangkan aplikasi ini.

3.1.5.4Analisis Proses Pembuatan Objek

Objek yang dibuat menggunakan software 3D MAX 10. Dalam proses pemodelan terdiri dari 5 langkah.

1. Membuat objek 3D dengan menggunakan 3D MAX 10. 2. Mengeksport objek yang sudah di buat menjadi file *.3DS.

3. Membuka aplikasi Swift 3D v5 dan membuka file *.3DS yang sudah di buat.

4. Menambahkan material pada rambut.


(60)

49

Untuk lebih jelasnya dapat dilihat pada gambar dibawah ini.

Gambar 3.11Tahapan Pemodelan 3.1.6 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional diperlukan untuk memodelkan sistem. Pemodelan yang digunakan untuk memodelkan aplikasi Augmented Reality untuk BarberShop ini adalah pemodelan berorientasi objek. Perangkat lunak ini dimodelkan menggunakan UML (Unified Modeling Language).

3.1.6.1Diagram Use Case

Usecase Diagram merupakan konstruksi untuk mendeskripsikan hubungan-hubungan yang terjadi antar aktor dengan aktivitas yang terdapat pada aplikasi. Sasaran permodelan usecase diantaranya adalah mendefinisikan kebutuhan fungsional dan operasional sistem dengan mendefinisikan skenario penggunaan sistem yang akan dibangun. Dari hasil analisis aplikasi yang ada

Buat Objek

Buka File *.3DS File *.3DS Eksport Objek

Eksport Objek Memberi Material

Buka Swift 3D v5


(61)

50

maka usecase diagram untuk aplikasi Augmented Reaity di BarberShop dapat di lihat pada gambar berikut :

Gambar 3.12Usecase Diagram

Bagian ini menjelaskan masing-masing deskripsi dari Use Case diagram yang dilakukan oleh pengguna. Mulai dari proses memiih rambut Gallery3D, menampilkan rambut3D , menampilkan ARRambut, dan katagori rambut.

1. Memilih Rambut Gallery 3D

Interaksi antara pelanggan dengan usecase memilih rambut Gallery 3D dijelaskan dalam usecase skenario sebagai berikut :

Tabel 3.4 Usecase Skenario Memilih Rambut Gallery 3D Nama Memilih Rambut Gallery 3D

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman utama


(62)

51 1. Melihat dan memilih salah

satu model rambut yang diinginkan

2. Menampilkan menu untuk melihat rambut 3D dan menu ARRambut

Kondisi Akhir Halaman model rambut

2. Menampilkan Rambut3D

Interaksi antara pelanggan dengan usecase menampilkan rambut3D dijelaskan dalam usecase skenario sebagai berikut :

Tabel 3.5 Usecase Skenario Menampilkan Rambut3D Nama Menampilkan Rambut3D

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman model rambut

Aksi Aktor Reaksi Sistem

1. Menekan button lihat rambut 3D.

2. Membuka form Rambut3D

3. Merender rambut yang dipilih

4. Menampilkan rambut 5. Pengguna dapat memutar

untuk melihat rambut dari berbagai sisi

6. Rambut berputar sesuai yang diinginkan

pengguna


(63)

52 3. Menampilkan ARRambut

Interaksi antara pelanggan dengan usecase menampilkan ARRambut dijelaskan dalam usecase skenario sebagai berikut :

Tabel 3.6 Usecase Skenario Menampilkan ARRambut Nama Menampilkan ARRambut

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman model rambut

Aksi Aktor Reaksi Sistem

1. Menekan button ARRambut

2. Membuka form ARRambut

3. Merender rambut yang dipilih

4. Menampilkan model rambut

5. Menghadap wajah ke kamera

6. Membaca bentuk wajah

7. Rambut berada di wajah sesuai koordinat yang ditentukan. 8. Melakukan pergerakan untuk

mencocokan rambut dengan wajah

Kondisi Akhir Halaman ARRambut.

4. Kategori rambut

Interaksi antara pelanggan dengan usecase kategori rambut dijelaskan dalam usecase skenario sebagai berikut :


(64)

53

Tabel 3.7 Usecase Skenario Kategori Rambut

Nama Kategori Rambut

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman Utama

Aksi Aktor Reaksi Sistem

1. Melihat dan memilih salah satu model rambut

berdasarkan jenis

2. Membuka form jenis rambut yang dipilih pengguna

Kondisi Akhir Halaman rambut berdasarkan jenis

5. Menampilkan image short hair

Interaksi antara pelanggan dengan usecase menampilkan image short hair dijelaskan dalam usecase skenario sebagai berikut :

Tabel 3.8 Usecase Skenario Menampilkan Image Short Hair

Nama Menampilkan Image Short Hair

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman Utama

Aksi Aktor Reaksi Sistem

1. Menekan button Short Hair

2. Membuka form Short Hair


(65)

54 6. Menampilkan image medium hair

Interaksi antara pelanggan dengan usecase menampilkan image medium hair dijelaskan dalam usecase skenario sebagai berikut :

Tabel 3.9 Usecase Skenario Menampilkan Image Medium Hair

Nama Menampilkan Image Medium Hair

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman Utama

Aksi Aktor Reaksi Sistem

1. Menekan button Medium Hair

2. Membuka form Medium Hair

Kondisi Akhir Halaman image medium hair 7. Menampilkan image long hair

Interaksi antara pelanggan dengan usecase menampilkan image long hair dijelaskan dalam usecase skenario sebagai berikut :

Tabel 3.10 Usecase Skenario Menampilkan Image Long Hair

Nama Menampilkan Image Long Hair

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman Utama

Aksi Aktor Reaksi Sistem

3. Menekan button Long Hair

4. Membuka form Long Hair


(66)

55 8. Menampilkan short hair 3D

Interaksi antara pelanggan dengan usecase menampilkan short hair 3D dijelaskan dalam usecase skenario sebagai berikut :

Tabel 3.11 Usecase Skenario Menampilkan Short Hair 3D Nama Menampilkan Short Hair 3D

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman image short hair

Aksi Aktor Reaksi Sistem

1. Memilih salah satu image.

2. Menekan button lihat rambut 3D.

3. Membuka form Rambut3D

4. Merender rambut yang dipilih

5. Menampilkan rambut 6. Pengguna dapat memutar

untuk melihat rambut dari berbagai sisi

7. Rambut berputar sesuai yang diinginkan

pengguna


(67)

56 9. Menampilkan medium hair 3D

Interaksi antara pelanggan dengan usecase menampilkan medium hair 3D dijelaskan dalam usecase skenario sebagai berikut :

Tabel 3.12 Usecase Skenario Menampilkan Medium Hair 3D Nama Menampilkan Medium Hair 3D

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman image medium hair

Aksi Aktor Reaksi Sistem

1. Memilih salah satu image.

2. Menekan button lihat rambut 3D.

3. Membuka form Rambut3D

4. Merender rambut yang dipilih

5. Menampilkan rambut 6. Pengguna dapat memutar

untuk melihat rambut dari berbagai sisi

7. Rambut berputar sesuai yang diinginkan

pengguna


(68)

57 10.Menampilkan long hair 3D

Interaksi antara pelanggan dengan usecase menampilkan long hair 3D dijelaskan dalam usecase skenario sebagai berikut :

Tabel 3.13 Usecase Skenario Menampilkan Long Hair 3D Nama Menampilkan Long Hair 3D

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman image long hair

Aksi Aktor Reaksi Sistem

1. Memilih salah satu image.

2. Menekan button lihat rambut 3D.

3. Membuka form Rambut3D

4. Merender rambut yang dipilih

5. Menampilkan rambut 6. Pengguna dapat memutar

untuk melihat rambut dari berbagai sisi

7. Rambut berputar sesuai yang diinginkan

pengguna


(69)

58 11.Menampilkan ARRambut

Interaksi antara pelanggan dengan usecase menampilkan ARRambut dijelaskan dalam usecase skenario sebagai berikut :

Tabel 3.14 Usecase Skenario Menampilkan ARRambut Nama Menampilkan ARRambut

Aktor Pelanggan

Skenario Utama

Kondisi Awal Halaman model rambut

Aksi Aktor Reaksi Sistem

1. Menekan button ARRambut

2. Membuka form ARRambut

3. Merender rambut yang dipilih

4. Menampilkan model rambut

5. Menghadap wajah ke kamera

6. Membaca bentuk wajah

7. Rambut berada di wajah sesuai koordinat yang ditentukan. 8. Melakukan pergerakan untuk

mencocokan rambut dengan wajah


(70)

59

3.1.6.2Package Diagram

Package diagram digunakan untuk menjelaskan hubungan modularitas, enkapsulasi, dan abstraksi pada pengembangan sistem yang kompleks. Package diagram juga digunakan untuk menjelaskan hubungan dependency dan visibility antar class yang memiliki asosiai secara modular dengan class lain dalam sistem. Package diagram memungkinkan perancangan sistem bisa di mengerti dengan tingkat pemahaman yang lebih tinggi pada kolaborasi antar elemen model. Dengan menggunakan package diagram perancangan class diagram bisa di modularisasi secara lebih terstruktur. Package diagram sangat dibutuhkan ketika class diagram yang dibangun sudah semakin kompleks, sehingga penggambaran class diagram bisa dibangun secara terpisah dengan menggunakan Package diagram untuk mewakili hubungan yang antar class pada package yang berbeda. Pada halaman berikutnya merupakan package diagram dari virtual accessories room.


(71)

60

3.1.6.3Class Diagram

Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain. Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time.


(72)

61


(73)

62

3.1.6.4Sequence Diagram

Sequence diagram menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Sequence diagram menggambarkan interaksi antara objek di dalam dan disekitar sistem berupa pesan yang digambarkan terhadap waktu. 1) Sequence diagram memilih rambut Gallery 3D

Interaksi antara user dengan use case memilih rambut Gallery 3D dijelaskan dalam sequence diagram sebagai berikut :


(74)

63 2) Sequence diagram menampilkan Rambut3D

Interaksi antara user dengan use case menampilkan Rambut3D dijelaskan dalam sequence diagram sebagai berikut :

Gambar 3.16Sequence Diagram Menampilkan Rambut3D

3) Sequence diagram menampilkan ARRambut

Interaksi antara user dengan use case menampilkan ARRambut dijelaskan dalam sequence diagram sebagai berikut.


(75)

64 4) Sequence diagram kategori rambut

Interaksi antara user dengan use case kategori rambut dijelaskan dalam sequence diagram sebagai berikut

Gambar 3.18Sequence Diagram Kategori Rambut

3.1.6.5Activity Diagram

Activity diagram merupakan state diagram khusus, dimana sebagian besar state adalah action. Menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi. Activity diagram juga dapat menggambarkan proses parallel yang mungkin terjadi pada beberpa eksekusi.


(76)

65

1. Activity Diagram Memilih Rambut Gallery 3D

Activity diagram Memilih Rambut Gallery 3D menjelaskan aliran kerja user pada saat memilih rambut.


(77)

66 2. Activity Diagram Menampilkan Rambut3D

Activity diagram Menampilkan Rambut3D menjelaskan aliran kerja user pada saat melihat rambut3D.


(78)

67 3. Activity Diagram Menampilkan ARRambut

Activity diagram Menampilkan ARRambut menjelaskan aliran kerja user pada saat mencoba Augmented Reality.


(1)

(2)

(3)

(4)

P

ENGUJIAN

Item Uji Detail Pengujian Jenis

Pengujian

Algoritma Algoritma Haar Cascade Classifier

White Box Halaman Utama Menampilkan form utama,

menampilkan Gallery 3D

Black Box Jenis Rambut Menampilkan jenis Rambut Black Box Halaman Rambut Menampilkan tombol Lihat3D

dan ARRAmbut

Black Box Halaman Lihat 3D Menampilkan objek 3D Black Box Halaman ARRambut Menampilkan ARRAmbut Black Box Mengakses Webcam Menampilkan video stream Black Box Mengenali Marker Menampilkan model di wajah Black Box Ukuran dan Jarak Menampilkan ukuran model

berdasarkan jarak


(5)

K

ESIMPULAN

Aplikasi ini dapat membantu HEADCORE

BABERSHOP sebagai strategi pemasaran,

sehingga banyak pelanggan yang ingin datang.

Aplikasi ini dapat memudahkan pelanggan

dalam memilih model rambut yang cocok

dengannya.

Aplikasi ini dapat mempermudah penata rambut

untuk memberikan saran model rambut mana

yang cocok

.

Aplikasi ini dapat membatu pelanggan untuk

tidak takut mengubah model rambutnya karena

dapat mencobanya sebelum memotong


(6)