• Tidak ada hasil yang ditemukan

Pembangunan Aplikasi Virtual Mirror Eyeglasses Menggunakan Teknologi Augmented Reality

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan Aplikasi Virtual Mirror Eyeglasses Menggunakan Teknologi Augmented Reality"

Copied!
177
0
0

Teks penuh

(1)
(2)

SKRIPSI

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

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

ZAID ARHAM

10107478

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

(3)
(4)
(5)

MENGGUNAKAN TEKNOLOGI AUGMENTED REALITY

Oleh

ZAID ARHAM 10107478

Perkembangan teknologi augmented reality menjadi sangat populer saat ini. Hal ini dikarenakan penggunaan augmented reality sangat menarik dan telah banyak digunakan dalam kehidupan kita. Salah satu contohnya seperti pada strategi pemasaran dan pengenalan produk kepada konsumen melalui aplikasi virtual mirror eyeglasses yang berbasis web. Biasanya konsumen kesulitan jika ingin mencoba sebuah produk kacamata, mereka biasanya hanya bisa mencoba ketika akan membeli kacamata dengan mendatangi langsung toko optik yang ada, jadi dengan begitu akan sangat membuang waktu konsumen, tidak praktis, dan juga mengurangi minat konsumen terhadap produk yang ditawarkan. Dengan aplikasi kacamata virtual ini diharapkan dapat menarik minat konsumen dan mengenalkan produk-produk yang ditawarkan kepada konsumen.

Virtual mirror eyeglasses adalah sebuah aplikasi dimana konsumen dapat memakai kacamata secara virtual menggunakan teknik face detection seperti sedang mencoba di depan cermin. Aplikasi ini mensimulasikan model kacamata sehingga pengguna seakan-akan sedang menggunakan kacamata secara real-time. Metode face detection yang digunakan adalah haar cascades classifier. Metode ini menggunakan haar feature yang banyak dan diorganisir dalam cascade classifier. Apabila tiap subcitra berhasil melewati seluruh filter yang ada maka citra tersebut terdeteksi sebagai wajah. Melalui proses inilah wajah pengguna dapat terdeteksi.

Hasil uji dari aplikasi virtual mirror eyeglasses menunjukkan bahwa aplikasi yang berbasis web ini dapat menjadi sarana pendukung dalam menarik minat konsumen karena pemanfaatan teknologinya yang menggunakan augmented reality dan kemudahan yang disediakannya. Dengan aplikasi ini pengguna dimudahkan dalam mencoba kacamata dan juga dapat menghemat waktu karena penggunaan aplikasi ini dapat melalui web, sehingga dapat digunakan dimana dan kapan saja.

(6)

EYEGLASSES USING AUGMENTED REALITY TECHNOLOGY

By

ZAID ARHAM 10107478

Nowadays the development of augmented reality technology is becoming very popular. This is because the use of augmented reality is very interesting and has been widely used in our lives. One example is the marketing strategy and introduction of products to consumers through a web-based virtual mirror eyeglasses application. Consumers usually difficult if want to try an eyeglasses product, they usually can only try when buying the glasses by directly visiting the optical store, so that way would be a huge waste of time for consumers, impractical, and also reducing the consumers interest in the product offered. This virtual glasses application is expected to attract the interest of consumers and introduce the products offered to consumers.

Virtual mirror eyeglasses is an application where consumers can virtually wear the glasses using the face detection techniques like being tried in front of a mirror. This virtual glasses application simulates the eyeglasses models so the user as if he was wearing eyeglasses in real-time. Face detection method used was haar cascade classifier. This method uses so many haar feature and organized in a cascade classifier. If each sub-image made it through all the filters

then the image is detected as a face. Through this process the user’s face can be

detected.

The test results of virtual mirror eyeglasses application shows that this web-based application can be a means of support in the consumer interest because the utilization of technology that uses augmented reality and easiness they provide. With this application users is facilitated to try the glasses and can also save time because the use of this application can be via the web, so it can be used anytime and anywhere.

(7)

Assalamualaikum Wr.Wb.,

Puji syukur alhamdulillah penulis panjatkan kehadirat Allah SWT pencipta alam semesta beserta segala isinya, karena atas segala limpahan rahmat, taufik, dan kasih sayang-Nya, sehingga penulis dapat menyelesaikan skripsi ini, dan tidak lupa shalawat serta salam ke pangkuan Nabi Besar Muhammad SAW yang selalu memberikan syafaatnya kepada umatnya, sehingga penulis dapat menyelesaikan laporan skripsi yang berjudul “Pembangunan Aplikasi Virtual Mirror Eyeglasses Menggunakan Teknologi Augmented Reality.

Skripsi ini dibuat sebagai salah satu syarat kelulusan pada program Strata Satu (S1) Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia. Penulis menyadari bahwa skripsi ini masih banyak kekurangan dari berbagai macam hal. Namun berkat bantuan dan bimbingan dari beberapa pihak akhirnya skripsi ini dapat diselesaikan tepat pada waktunya.

Dengan penuh rasa syukur, ucapan terima kasih yang mendalam serta penghargaan yang tidak terhingga penulis sampaikan kepada:

(8)

angkatan 2007.

4. Yth. Ibu Nelly Indriani W, S.Si., M.T., selaku pembimbing dan penguji 2 yang telah memberikan pengarahan dan masukan-masukan yang berharga kepada penulus dalam mengerjakan laporan tugas akhir.

5. Yth. Bapak Irfan Maliki, S.T., M. T., selaku penguji 1 yang telah memberikan banyak masukan, arahan, dan bimbingan yang berarti bagi penulis.

6. Yth. Bapak Iskandar Ikbal, S.T., M.Kom., selaku penguji 3 yang telah memberikan banyak masukan, arahan, dan bimbingan yang berarti bagi penulis.

7. Seluruh dosen pengajar dan staf Universitas Komputer Indonesia, khususnya dosen pengajar Jurusan Teknik Informatika yang telah mendidik penulis selama menuntut ilmu di Universitas Komputer Indonesia.

8. Kepada seluruh pihak Toko Hero Optical khususnya kepada Ibu Ong Ting Ing yang banyak membantu.

9. Kepada teman-temanku Masbro Nova, Adnan, Egi Jhon, Mamang Rio, Aa Aldi, Ipenk, Midun Bengak, Andri, Ucok, Akin, Adi, Iwank, Farih, Gusti, Ami, Sarah, dan semua teman-teman kelas IF-11 angkatan 2007, terimakasih untuk segala kebersamaan selama ini.

(9)

Akhir kata penulis hanya berharap semoga skripsi ini dapat bermanfaat bagi penulis dan para pembaca umumnya.

Wassalamu’alaikum wr. Wb

Penulis

(10)

DAFTAR ISI

LEMBAR JUDUL

LEMBAR PENGESAHAN

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... vi

DAFTAR GAMBAR ... xi

DAFTAR TABEL ... xiii

DAFTAR SIMBOL ... xiv

DAFTAR PERSAMAAN ... xvii

DAFTAR LAMPIRAN ... xviii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Identifikasi Masalah ... 2

1.3 Maksud dan Tujuan... 3

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 7

BAB 2 LANDASAN TEORI ... 9

(11)

2.2 Augmented Reality ... 11

2.2.1 Definisi Augmented Reality ... 11

2.2.2 Perkembangan Augmented Reality ... 12

2.2.3 Augmented Reality dan Virtual Reality ... 14

2.2.4 Manfaat Teknologi Augmented Reality ... 15

2.3 Display Augmented Reality ... 20

2.3.1 Aural Display (suara) ... 20

2.4.1 Karakteristik Metodologi Berorientasi Objek ... 28

2.5 Unified Modeling Language (UML) ... 29

2.5.1 Diagram-diagram UML ... 30

2.6 Adobe Flash ... 39

2.6.1 Action Script ... 41

2.7 Metode Haar Cascade Classifier... 43

(12)

2.7.2 Sistem Kerja Algoritma Haar Cascade Classifier ... 44

3.1.1 Analisis Algoritma... 49

3.1.1.1 Inisialisasi Kamera, Face Detector, dan GUI ... 50

3.1.1.2 Pre-Processing Image ... 51

3.1.1.3 Pendeteksian Metode Haar Cascade Classifier .... 54

3.1.2 Analisis Terhadap Tools AR Sejenis ... 59

3.1.3 Analisis Library Beyond Reality Face ... 60

3.1.3.1 Class Interface IBeyondRealityFace ... 61

3.1.3.2 Class BeyondRealityFaceManager ... 63

3.1.3.3 Class Interface IBRFContentContainer ... 65

3.1.3.4 Class BRFVars ... 66

3.1.3.5 Class FaceDetectionVars ... 66

3.1.3.6 Class FaceEstimationVars ... 69

3.1.3.7 Class PoseEstimationVars ... 71

3.1.3.8 Class ResultMatrix ... 71

3.1.3.9 Class Shape ... 73

(13)

3.1.4.1 Analisis Kebutuhan Perangkat Lunak ... 75

3.1.4.2 Analisis Kebutuhan Perangkat Keras ... 75

3.1.5 Analisis Kebutuhan Fungsional ... 76

3.1.5.1 Use Case Diagram ... 76

3.2 Perancangan Antarmuka ... 94

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 98

4.1 Implementasi ... 98

4.1.1 Implementasi Perangkat Keras ... 98

4.1.2 Implementasi Perangkat Lunak ... 99

4.1.3 Implementasi Aplikasi ... 99

4.1.4 Implementasi Antarmuka ... 104

4.2 Pengujian... 108

4.2.1 Pengujian Performansi... 108

4.2.1.1 Pengujian Kecepatan Gerakan Wajah ... 109

4.2.1.2 Pengujian Deteksi Posisi Wajah ... 110

4.2.1.3 Pengujian Jarak Wajah Terhadap Webcam ... 111

4.2.1.4 Pengaruh Cahaya Terhadap Deteksi Wajah ... 112

(14)

4.2.2.1 Kesimpulan Hasil Pengujian Alpha ... 115

4.2.3 Pengujian Beta ... 116

4.2.3.1 Kesimpulan Pengujian Beta ... 122

BAB 5 KESIMPULAN DAN SARAN... 123

5.1 Kesimpulan ... 123

5.2 Saran ... 123

(15)

1.1 Latar Belakang Masalah

Augmented Reality (AR) adalah suatu lingkungan yang memasukkan objek virtual 2D atau 3D ke dalam lingkungan nyata. AR mengizinkan penggunanya untuk berinteraksi secara real-time dengan sistem. Penggunaan AR saat ini telah melebar ke berbagai aspek dalam kehidupan kita dan diproyeksikan akan mengalami perkembangan yang sangat signifikan. Hal ini dikarenakan penggunaan AR sangat menarik dan memudahkan penggunaannya dalam mengerjakan sesuatu hal, seperti contohnya pada strategi pemasaran dan pengenalan produk kepada konsumen.

Hero Optikal merupakan toko optik yang bergerak dibidang penjualan kacamata,dan lensa kontak berbagai merek. Dengan adanya aplikasi virtual mirror eyeglasses yang berbasis web ini maka konsumen dapat mencoba langsung kacamata yang disukai secara online dimana saja dan kapan saja, sehingga lebih praktis dan lebih memudahkan konsumen.

(16)

Dalam kegiatan bisnis penting sekali terciptanya suasana yang mampu menarik minat konsumen, sehingga dengan adanya virtual mirror eyeglasses yang disajikan dengan interaktif dan user friendly ini dapat memanjakan konsumen. Konsumen dapat dengan santai, lebih leluasa dan lebih meluangkan waktunya ketika mencoba kacamata dengan aplikasi ini secara online. Unsur privasi juga menjadi nilai lebih sehingga membuat konsumen bisa lebih berinteraksi dengan bebas.

Virtual Mirror Eyeglasses adalah sebuah aplikasi dimana konsumen dapat memakai kacamata secara virtual menggunakan teknik face tracking seperti sedang mencoba di depan cermin. Aplikasi ini berbasis web sehingga target-target konsumen dapat menggunakan aplikasi ini di rumah atau di mana pun berada selama terkoneksi dengan internet.

1.2 Identifikasi Masalah

Berdasarkan latar belakang masalah yang telah diuraikan di atas, yang menjadi permasalahan yaitu bagaimana cara merancang dan membangun aplikasi virtual mirror eyeglasses dengan teknologi augmented reality berbasis web yang

(17)

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan skripsi ini adalah untuk membangun aplikasi Virtual Mirror Eyeglasses yang interaktif dengan menggunakan teknologi Augmented Reality pada Hero Optikal.

Sedangkan tujuan yang akan dicapai dalam penulisan skripsi ini adalah : 1. Untuk memudahkan konsumen yang ingin mencoba kacamata sebelum

atau tanpa harus membeli.

2. Untuk menghemat waktu konsumen karena aplikasi ini dapat digunakan dimana dan kapan saja tanpa harus datang langsung ke toko.

3. Sebagai sarana pendukung dalam menarik minat konsumen.

1.4 Batasan Masalah

Agar identifikasi masalah yang dibahas ini lebih jelas dan mudah dipahami, maka dibuatlah batasan-batasan masalah diantaranya sebagai berikut :

1. Penelitian menggunakan personal computer atau notebook yang memiliki fasilitas kamera webcam baik internal maupun eksternal.

2. Aplikasi yang dibangun berbasis web

3. Menggunakan bahasa pemrograman Action Script 3.0 dengan software pembangun Adobe Flash CS5.5 Professional, Beyond Reality Face SDK sebagai library AR, untuk library 3D-nya menggunakan Flare3D, dan 3D modeling-nya menggunakan 3DS Max 2010.

(18)

5. Input berupa wajah baik itu secara real-time maupun foto wajah menggunakan webcam.

6. Hanya dapat mendeteksi satu wajah yang tertangkap oleh webcam. 7. Analisis pembangunan perangkat lunak menggunakan pendekatan

analisis berorientasi objek.

8. Tidak menyediakan proses transaksi.

9. Jarak maksimal wajah terhadap kamera tidak boleh melebihi 1 (satu) meter dan harus tepat di depan dan tegak lurus dengan kamera.

1.5 Metodologi Penelitian

Metodologi penelitian yang akan digunakan dalam penulisan tugas akhir ini menggunakan metodologi analisis deskriptif, yaitu metode yang menggambarkan fakta-fakta dan informasi dalam situasi atau kejadian secara sistematis, faktual, dan akurat. Metodologi ini memiliki dua tahapan, yaitu tahap pengumpulan data dan tahap pengembangan perangkat lunak.

1. Tahap pengumpulan data

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

a. Studi Literatur.

(19)

pemahaman yang mendalam serta menunjang proses pembahasan mengenai masalah-masalah yang telah diidentifikasikan.

b. Observasi

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

c. Wawancara

Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung dengan pihak yang ada kaitannya dengan topik skripsi ini.

2. Tahap pembuatan perangkat lunak

Tahapan dalam pembuatan perangkat lunak ini akan menggunakan model waterfall. Model ini adalah model klasik yang melakukan pendekatan secara

sistematis, berurutan dalam membangun software. Tahap-tahap utama dari model ini memetakan kegiatan-kegiatan pengembangan dasar yaitu [1]: a. Analisis dan definisi persyaratan

Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user sistem. Persyaratan ini kemudian didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem.

b. Perancangan sistem dan perangkat lunak

(20)

dan deskripsi abstraksi sistem perangkat lunak yang mendasar dan hubungan-hubungannya.

c. Implementasi dan pengujian unit

Pada tahap ini, perancangan perancangan perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Pengujian unit melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasinya. d. Integrasi dan pengujian sistem

Unit program atau program individual diintegrasikan dan diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem telah dipenuhi.

e. Operasi dan pemeliharaan

Merupakan tahap mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.

(21)

1.6 Sistematika Penulisan

Sistematika penulisan skripsi ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan skripsi ini adalah sebagai berikut :

BAB 1 PENDAHULUAN

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

BAB 2 LANDASAN TEORI

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

(22)

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Menjelaskan implementasi dari hasil analisis dan perancangan yang telah dibuat ke dalam bentuk aplikasi pemograman, kemudian dilakukan pengujian terhadap aplikasi yang telah dibangun untuk memastikan bahwa aplikasi dapat berjalan secara efektif sesuai yang diinginkan.

BAB 5 KESIMPULAN DAN SARAN

(23)

BAB 2

LANDASAN TEORI

2.1 Image Processing

Data atau informasi tidak hanya disajikan dalam bentuk teks, tetapi juga dapat berupa gambar, audio (bunyi, suara, musik), dan video. Keempat macam data atau informasi ini sering disebut multimedia. Era teknologi informasi saat ini tidak dapat dipisahkan dari multimedia. Situs web (website) di internet dibuat semenarik mungkin dengan menyertakan visualisasi berupa gambar atau video yang dapat diputar. Beberapa waktu lalu istilah SMS begitu populer diantara pengguna telepon genggam (handphone). Tetapi, saat ini orang tidak hanya dapat mengirim pesan dalam bentuk teks tapi juga dalam bentuk gambar maupun video yg dikenal dalam layanan MMS (Multimedia Message Service).

Citra (image) adalah istilah lain untuk gambar sebagai salah satu komponen multimedia memegang peranan sangat penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi. Maksudnya sebuah gambar dapat memberikan informasi lebih banyak daripada informasi tersebut disajikan dalam bentuk teks.

(24)

ketegangan pada mata, karena informasi penting diekstrak dari gambar yang dihasilkan harus jelas sehingga didapatkan hasil yang terbaik.

Image Processing adalah bidang tersendiri yang sudah cukup berkembang sejak orang mengerti bahwa komputer tidak hanya dapat menangani data teks, tetapi juga data citra [2]. Teknik-teknik pengolahan citra biasanya digunakan untuk melakukan transformasi dari suatu citra kepada citra yang lain, sementara tugas perbaikna informasi terletak pada manusia melalui penyusunan algoritmanya. Bidang ini meliputi penajaman citra, penonjolan fitur tertentu dari suatu citra, kompresi citra dan koreksi citra yang tidak fokus atau kabur. Sebaliknya, sistem visual menggunakan citra sebagai masukan tetapi menghasilkan keluaran jenis lain seperti representasi dari kontur objek di dalam citra, atau menghasilkan gerakan dari suatu peralatan mekanis yang terintegrasi dengan sistem visual.

(25)

2.2 Augmented Reality

2.2.1 Definisi Augmented Reality

Augmented reality (AR) atau dalam bahasa Indonesia disebut realitas tertambah adalah teknologi yang menggabungkan benda maya dua dimensi dan ataupun tiga dimensi ke dalam sebuah lingkungan nyata lalu memproyeksikan benda-benda maya tersebut dalam waktu nyata. Benda-benda maya berfungsi menampilkan informasi yang tidak dapat diterima oleh manusia secara langsung. Hal ini membuat realitas tertambah berguna sebagai alat untuk membantu persepsi dan interaksi penggunanya dengan dunia nyata. Informasi yang ditampilkan oleh benda maya membantu pengguna melaksanakan kegiatan-kegiatan dalam dunia nyata.

Menurut definisi Ronald Azuma (1997), ada tiga prinsip dari augmented reality. Yang pertama yaitu augmented reality merupakan penggabungan dunia nyata dan virtual, yang kedua berjalan secara interaktif dalam waktu nyata

(realtime), dan yang ketiga terdapat integrasi antarbenda dalam tiga dimensi, yaitu benda maya terintegrasi dalam dunia nyata [3].

(26)

Ada banyak definisi dari augmented reality tetapi asumsi umum adalah bahwa augmented reality memungkinkan perspektif yang diperkaya dengan melapiskan objek virtual pada dunia nyata dengan cara yang mengajak penonton bahwa objek virtual adalah bagian dari lingkungan nyata. Oleh karena itu augmented reality adalah perpaduan antara dunia nyata dan dunia virtual, sebagaimana diilustrasikan oleh diagram terkenal Reality-Virtuality Continuum.

Beberapa definisi augmented reality bersikeras objek virtual adalah jenis model 3D, tapi kebanyakan orang menerima definisi sederhana dimana dunia virtual terdiri dari objek 2D seperti teks, ikon, dan gambar. Ada ketidakjelasan dalam definisi lebih lanjut dimana konten multimedia (video atau audio) dan kemampuan pencarian visual dipromosikan sebagai aplikasi augmented reality.

Dalam pembuatan AR menggunakan webcam sebagai perangkat untuk menangkap citra. Sebelum citra diubah ke dalam bentuk digital maka proses manipulasi citra digital tidak bisa dilakukan. Citra digital (f(x,y)) mempunyai dua unsur. Unsur yang pertama merupakan kekuatan sumber cahaya yang melingkupi pandangan kita terhadap objek (illumination). Unsur yang kedua merupakan besarnya cahaya yang direfleksikan olah objek ke dalam pandangan mata kita atau disebut juga reflectance components. Kedua unsur tersebut dituliskan sebagai fungsi i(x,y) dan r(x,y).

2.2.2 Perkembangan Augmented Reality

(27)

mempatenkan sebuah alat simulator yang disebut Sensorama dengan visual, getaran dan bau, kemudian tahun 1966, Ivan Sutherland menemukan head-mounted display yang dia klaim adalah, jendela ke dunia virtual.

Tahun 1975 ilmuwan bernama Myron Krueger menciptakan Videoplace yang memungkinkan pengguna, dapat berinteraksi dengan objek virtual untuk pertama kalinya. Tahun 1989, Jaron Lanier, memeperkenalkan Virtual Reality kepada publik dan menciptakan bisnis komersial pertama kalinya. Tahun 1989, Jaron Lanier, memeperkenalkan Virtual Reality kepada publik dan menciptakan bisnis komersial pertama kali di dunia maya, Tahun 1992 Augmented Reality dikembangkan untuk dapat melakukan perbaikan pada pesawat boeing, di tahun yang sama, LB Rosenberg mengembangkan Sistem Augmented Reality yang digunakan di Angkatan Udara AS yang disebut Virtual Fixtures, dan pada tahun 1992 juga, Steven Feiner, Blair Maclntyre dan dorée Seligmann, memperkenalkan untuk pertama kalinya Major Paper untuk perkembangan Prototype Augmented Reality.

Pada tahun 1999, Hirokazu Kato, mengembangkan ArToolkit di HITLab dan didemonstrasikan di SIGGRAPH, pada tahun 2000, Bruce.H.Thomas, mengembangkan ARQuake, sebuah Mobile Game Augmented Reality yang ditunjukkan di International Symposium on Wearable Computers.

(28)

sebuah website, karena output yang dihasilkan FLARToolkit berbentuk Flash. Ditahun yang sama, Wikitude Drive meluncurkan sistem navigasi berteknologi AR di Platform Android. Tahun 2010, Acrossair menggunakan teknologi Augmented Reality pada I-Phone 3GS [4].

2.2.3 Augmented Reality dan Virtual Reality

Virtual Reality adalah teknologi tentang spectrum yang luas. Ada tiga definisi tentang virtual reality, yang pertama virtual reality adalah komputer yang menghasilkan output 3D dengan grafis yang tinggi. Definisi yang kedua, virtual reality adalah dunia 3D yang interaktif, karena seorang pengguna bisa berinteraksi dengan komputer secara real time. Definisi yang ketiga, virtual reality adalah dunia maya, yang penggunanya dapat memasuki dunia virtual tersebut. Perbedaan dari augmented reality dan virtual reality hanya dari cara kerja immersiveness sistem. Virtual reality mempunya lingkungan virtual yang lebih dalam dari AR, karena virtual reality mengontrol alam bawah sadar indera manusia. Sebaliknya AR, menggabungkan antar objek nyata dan objek virtual.

(29)

Milgram dan Kishino merumuskan kerangka kemungkinan penggabungan dan peleburan dunia nyata dan dunia maya ke dalam sebuah kontinuum virtualitas. Sisi yang paling kiri adalah lingkungan nyata yang hanya berisi benda nyata, dan sisi paling kanan adalah lingkungan maya yang berisi benda maya. Dalam augmented reality atau realitas tertambah, yang lebih dekat ke sisi kiri, lingkungan bersifat nyata dan benda bersifat maya, sementara dalam augmented virtuality atau virtualitas tertambah, yang lebih dekat ke sisi kanan,

lingkungan bersifat maya dan benda bersifat nyata. Realitas tertambah dan virtualitas tertambah digabungkan menjadi mixed reality atau realitas campuran.

2.2.4 Manfaat Teknologi Augmented Reality

Bidang-bidang yang pernah menerapkan teknologi AR adalah [6]:

1.Hiburan (entertainment), dunia hiburan membutuhkan AR sebagai penunjang efek-efek yang akan dihasilkan oleh hiburan tersebut. Sebagai contoh, pada acara laporan cuaca dalam siaran televisi dimana wartawan ditampilkan berdiri di depan peta cuaca yang berubah. Dalam studio, wartawan tersebut sebenarnya berdiri di depan layar biru atau hijau. Pencitraan yang asli digabungkan dengan peta buatan komputer menggunakan teknik yang bernama chroma-keying.

(30)

contohnya, ketika menyiarkan sebuah pertandingan sepak bola, sistem ini dapat menempatkan sebuah iklan sehingga terlihat pada tembok luar stadium.

2.Kedokteran (medical), salah satu bidang yang paling penting bagi

sistem augmented reality. Contoh penggunaannya adalah pada pemeriksaan sebelum operasi, seperti CT Scan atau MRI, yang memberikan gambaran kepada ahli bedah mengenai anatomi internal pasien. Dari gambar-gambar ini kemudian pembedahan direncanakan. Augmented reality dapat diaplikasikan sehingga tim bedah dapat melihat data CT Scan atau MRI pada pasien saat pembedahan berlangsung. Penggunaan lain adalah untuk pencitraan ultrasonik, dimana teknisi ultrasonik dapat mengamati pencitraan fetus yang terletak di abdomen wanita hamil.

3.Manufaktur dan Reparasi, bidang lain dimana AR dapat

(31)

Beberapa peneliti dan perusahaan telah membuat beberapa prototipe di bidang ini. Perusahaan pesawat terbang Boeing sedang mengembangkan teknologi AR untuk membantu teknisi dalam membuat kerangka kawat yang membentuk sebagian dari sistem elektronik pesawat terbang. Kini, untuk membantu pembuatannya teknisi masih menggunakan papan-papan besar yang perlu disimpan di beberapa gudang penyimpanan yang terpisah. Menyimpan instruksi-instruksi pembuatan kerangka kawat ini dalam bentuk elektronik dapat menghemat tempat dan biaya secara signifikan.

(32)

5.Navigasi Telepon Genggam, dalam kurun waktu beberapa tahun terakhir ini, telah banyak integrasi AR yang dimanfaatkan pada telepon genggam. Saat ini ada 3 Sistem Operasi telepon genggam besar yang secara langsung memberikan dukungan terhadap teknologi AR melalui tampilan pemrograman aplikasinya masing-masing. Untuk dapat menggunakan kamera sebagai sumber aliran data visual, maka Sistem Operasi tersebut mesti mendukung penggunaan kamera dalam modus preview.

AR adalah sebuah presentasi dasar dari aplikasi-aplikasi navigasi. Dengan menggunakan GPS maka aplikasi pada telepon genggam dapat mengetahui keberadaan penggunanya pada setiap waktu. 6.Otomotif, penggunaan dalam dunia otomotif sendiri saat ini adalah

adanya tampilan 3D sebagai petunjuk jalan (seperti fungsi GPS). Dengan adanya tampilan 3D tersebut, sang pengemudi dapat mengetahui jarak dan rintangan yang ada disekitarnya dengan lebih akurat.

(33)

8.Iklan, dalam dunia periklanan, hal yang paling dibutuhkan adalah sesuatu yang menarik, baru, dan berbeda daripada iklan produk yang lain. Dengan menggunakan teknologi augmented reality, maka konsumen akan tertarik dengan produk yang ditawarkan. Selaint itu, memanfaatkan teknologi inipun produk yang ditawarkan bisa dilihat konsumen secara nyata karena ditampilkan dalam bentuk 3D.

9.Commercial, secara komersial, augmented reality telah digunakan sebagai cara untuk menyajikan secara visual isi dari sebuah tender atau proposal bisnis. Sektor konstruksi menggunakan augmented reality untuk meninjau gambar arsitektur dalam lingkungan dunia nyata.

(34)

2.3 Display Augmented Reality

Dari semua modalitas pada input sensorik manusia, penglihatan, suara, dan sentuhan adalah indera yang saat ini berlaku pada sistem AR. Dibagian ini terutama berfokus pada visual displays, namun aural (suara) displays dijelaskan secara singkat di bawah ini.

2.3.1 Aural Display (Suara)

Aplikasi aural display pada AR kebanyakan terbatas pada mono (0-dimensi), stereo (1-dimensi), atau surround (2-dimensi) headphone dan loudspeaker. Tiga dimensi aural display yang sebenarnya saat ini ditemukan dalam simulasi yang lebih mendalam dari lingkungan virtual dan virtualitas tertambah atau masih dalam tahap percobaan.

Haptic audio mengacu pada suara yang dirasakan daripada didengar dan telah digunakan pada perangkat konsumen seperti headphone Turtle Beach untuk meningkatkan rasa pengaruh dan kenyataan, tetapi juga untuk meningkatkan antarmuka pengguna misalnya mobile phone. Perkembangan terakhir di area ini disajikan dalam workshop seperti workshop internasional Haptic Audio Visual Environments dan Haptic and Audio Interaction Design [7].

2.3.2 Visual Display

(35)

reality (AR) dilapisi atas gambar digital. Cara lain yang mencakup pendekatan Sutherland adalah optical see-through dan meninggalkan persepsi dunia nyata tetapi menampilkan hanya hamparan AR melalui cermin dan kamera. Pendekatan ketiga adalah memproyeksikan hamparan AR ke objek nyata itu sendiri sehingga menghasilkan tampilan proyektif.

2.3.2.1 VideoSee-Through

Selain menjadi yang termurah dan termudah dalam implementasi, teknik display ini menawarkan keuntungan sebagai berikut. Sejak realitas di-digital-kan, ini menjadi lebih mudah untuk dimediasikan atau menghapus objek dari kenyataan. Ini termasuk menghapus dan mengganti marker fiducial atau penampung dengan objek-objek virtual. Dan juga, brightness dan contrast dari objek virtual dicocokkan dengan mudah dengan lingkungan nyata. Mengevaluasi kondisi cahaya dari suasana luar ruangan yang statis adalah penting ketika konten yang dihasilkan komputer telah berbaur halus.

(36)

terakhir adalah jarak fokus dari teknik yang cocok pada kebanyakan tipe display, menyediakan akomodasi poor-eye. Beberapa pengaturan head-mounted bagaimanapun bisa menggerakkan display (atau lensa di depannya) untuk melingkupi jarak 0,25 meter hingga tidak terbatas dalam 0,3 detik. Seperti masalah paralaks, biocular display (dimana kedua mata melihat gambar yang sama) karena secara signifikan lebih tidak nyaman daripada monocular atau binocular display, keduanya dalam ketegangan dan kelelahan mata.

2.3.2.2 Optical See-Through

(37)

occlusion (saling menutupi) or mediation dari objek nyata menjadi sulit karena cahaya mereka selalu bergabung dengan gambar virtual. Kiyowaka dkk memecahkan masalah ini untuk head-worn display dengan menambahkan lapisan buram menggunakan panel LCD dengan pixel yang memburamkan area menjadi tertutupi.

Virtual retina displays atau retinal scanning displays (RSDs) memecahkan masalah brightness dan field-of-view yang rendah pada (head-worn) optical see-through display. Sebuah laser berdaya rendah menarik gambar virtual langsung ke retina yang menghasilkan brightness yang tinggi dan field-of-view yang luas. Kualitas RSD tidak dibatasi oleh ukuran pixel tetapi hanya oleh difraksi dan penyimpangan (diffraction and abberrations) pada sumber cahaya, sehingga memungkinkan resolusi yang (sangat) tinggi. Bersama dengan konsumsi daya yang rendah display ini sangat cocok untuk penggunaan luar ruangan.

2.3.2.3 Projective

Alat display ini memiliki keuntungan tidak memerlukan eye-wear khusus sehingga mengakomodasikan mata pengguna selama fokus, dan bisa menutupi permukaan yang besar untuk sebuiah field-of-view yang luas. Permukaan proyeksi dapat berkisar dari datar, dinding berwarna datar, hingga model skala kompleks.

(38)

ke permukaan proyeksi berubah. Untungnya, kalibrasi dapat diotomatiskan menggunakan kamera pada contohnya sebuah cave automatic virtual environment (CAVE) berdinding banyak dengan permukaan tidak teratur. Selain itu, jenis display ini terbatas pada pnggunaan dalam ruangan (indoor) karena brighness dan kontras yang rendah dari gambar yang diproyeksikan. Oklusi atau mediasi objek juga cukup lemah, tapi untuk head-worn proyektor ini dapat ditingkatkan dengan menutupi permukaan dengan material retro-reflective. Objek dan instrumen yang tercakup dalam material ini akan mencerminkan proyeksi langsung menuju sumber cahaya yang dekat dengan mata pengamat, sehingga tidak mengganggu proyeksi.

2.3.3 Display Positioning

Display AR dapat diklasifikasikan ke dalam tiga kategori berdasarkan pada posisi mereka diantara pengamat dan lingkungan nyata, yaitu head-worn, hand-held, dan spatial.

(39)

2.3.3.1 Head-worn

Visual display yang dilekatkan pada kepala termasuk video/optical see-through HMD (head-mounted display), virtual retinal display (VRD), dan head-mounted projective display (HMPD). Cakmakci dan Rolland [7] memberikan sebuah detil review terakhir dari teknologi head-worn display. Kelemahan saat ini dari head-worn displays adalah kenyataan bahwa merekaharus terhubung ke komputer grafis seperti laptop yang membatasi mobilitas karena terbatasnya daya baterai. Daya baterai dapat diperpanjang dengan memindahkan perhitungan ke lokasi yang jauh (clouds) dan menyediakan koneksi (wireless) menggunakan standar seperti IEEE 802.11 atau BlueTooth. Gambar 2.3 menunjukkan contoh dari empat (parallax-free) tipe head-worn display : Canon’s Co-Optical Axis See-through Augmented Reality (COASTAR) video see-through display (Gambar 2.3a), Konica Minolta’s holographic optical see-through prototipe „Forgettable Display’ (Gambar 2.3b), MicroVision’s monochromatic and monocular Nomad

retinal scanning display (Gambar 2.3c), dan organic light-emitting diode (OLED) berbasis HMPD (Gambar 2.3d).

(40)

2.3.3.2 Hand-held

Kategori ini termasuk video/optical see-through genggam serta proyektor genggam. Meskipun kategori display ini lebih besar dari head-worn display, saat ini merupakan kinerja terbaik untuk memperkenalkan AR ke pasar karena biaya produksi yang rendah dan mudah digunakan. Misalnya, video see-through genggam AR bertindak sebagai kacamata pembesar mungkin didasarkan pada produk konsumen yang ada sepeti telepon genggam (Gambar 2.4a) yang menunjukkan objek 3D, atau personal digital assistant (PDA) (Gambar 2.4b) dengan misalnya informasi navigasi.

Gambar 2.4 Hand-held video see-through display[7]

2.3.3.3 Spatial

(41)

see-through display, dan projective display. Teknik ini baik untuk presentasi dan pameran besar dengan interaksi terbatas. Cara awal membuat AR adalah didasarkan pada layar konvensional (komputer atau televisi) yang menunjukkan hasil tangkapan kamera dengan hamparan AR. Teknik ini sekarang sedang diterapkan di dunia televisi olahraga dimana lingkungan seperti kolam renang dan trek balapan didefinisikan dengan baik dan mudah untuk ditambahkan. Head-up displays (HUDs) di kokpit militer adalah bentuk dari spatial optical see-through dan menjadi sebuah tambahan standar untuk mobil produksi untuk memproyeksikan arah navigasi di kaca depan mobil. Sudut pandang pengguna relatif terhadap hamparan AR hampir tidak berubah dalam kasusu ini karena ruang terbatas. Spatial see-through display dapat bagaimanapun muncul sejajar ketika pengguna bergerak di ruang terbuka, misalnya saat hamparan AR disajikan pada sebuah layar transparan.

2.4 Berorientasi Objek

(42)

objek yang terdapat dalam domain aplikasi termasuk deskripsi dari keterangan objek dan perilakunya.

Secara spesifik, pengertian berorientai objek berarti bahwa mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya. Hal ini yang membedakan dengan pemograman konvensional dimana struktur data dan perilaku hanya berhubungan secara terpisah. Terdapat beberapa cara untuk menentukan karateristik dalam pendekatan berorientasi objek, tetapi secara umum mencakup empat hal, yaitu identifikasi, klasifikasi, polymorphism (polimorfisme) dan inheritance (pewarisan) [8].

2.4.1 Karakteristik Metodologi Berorientasi Objek

Metodologi pengembangan sistem berorientasi objek mempunyai tiga karateristik utama [8], yaitu:

1. Encapsulation

(43)

2. Inheritance

Inheritance (pewarisan) adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi atribut dan metoda dari induknya langsung. Atribut dan metoda dari objek induk diturunkan kepada anak objek, demikian seterusnya. Pendefinisian objek dipergunakan untuk membangun suatu hirarki dari objek turunannya, sehingga tidak perlu membuat atribut dan metoda lagi pada anaknya, karena telah mewarisi sifat induknya.

3. Polymorphism

Polymorphism (polimorfisme) yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda.

2.5 Unified Modeling Language (UML)

(44)

2.5.1 Diagram-diagram UML

UML memiliki 13 jenis diagram resmi seperti tertulis dalam Tabel 2.1. Tabel 2.1. Jenis Diagram Resmi UML [12]

Diagram Kegunaan

Activity Behavior Prosedural dan paralel Class Class, fitur, dan hubungan-hubungan Communication Interaksi antar objek; penekanan pada jalur Component Struktur dan koneksi komponen

Composite structure Dekomposisi runtime sebuah class Deployment Pemindahan artifak ke node

Interaction overview Campuran sequence dan activity diagram Object Contoh konfigurasi dari contoh-contoh Package Struktur hirarki compile-time

Sequence Interaksi antar objek; penekanan pada sequence State machine Bagaimana even mengubah Objek selama aktif Timing Interaksi antar objek; penekanan pada timing Use case Bagaimana pengguna berinteraksi dengan

sebuah sistem

1. Class Diagram

(45)

Gambar 2.5 Class Diagram a. Nama Kelas/Stereotype

b. Atribut, yaitu variabel-variabel yang dimiliki suatu kelas. c. Metoda, yaitu fungsi-fungsi yang dimiliki oleh suatu kelas. Class Diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun system. Class Diagram mempunyai 3 macam hubungan, sebagai berikut :

a. Association

Assosiation adalah hubungan statis antar kelas. Umumnya

menggambarkan kelas yang memiliki atribut berupa kelas lain, atau kelas yang harus mengetahui ekstensi kelas lain. Dalam notasi UML kita mengenal asosiasi 2 arah (bidirectional) dan 1 arah (undirectional).

(46)

b. Aggregation

Aggregation adalah association dimana salah satu kelasnya

merupakan bagian dari suatu kumpulan. Aggregation memiliki titik pusat yang mencakup keseluruhan bagian.

Gambar 2.7 Relasi Aggregation

c. Composition

Composition ialah aggregation dengan ikatan yang lebih kuat.

Di dalam composite aggregation, siklus hidup part class sangat bergantung pada whole class sehingga bila objek instance dari whole class dihapus maka objek instance dari

part class juga akan terhapus.

(47)

d. Depedency

Depedency ialah hubungan antar-class di mana sebuah class memiliki ketergantungan pada class lainnya tetapi tidak sebaliknya.

Gambar 2.9 Relasi Depedency

e. Generalization

Generalization diperlukan untuk memperlihatkan hubungan

pewarisan (inheritance) antar unsur dalam diagram kelas. Pewarisan memungkinkan suatu kelas mewarisi semua atribut, operasi ,relasi, dari kelas yang berada dalam hirarki pewarisannya.

Gambar 2.10 Relasi Generalization

2. Package Diagram

(48)

Package adalah kumpulan elemen-elemen logika UML. Gambar di bawah ini mengenai model bisnis dengan pengelompokan kelas-kelas dalam bentuk paket-paket. Contoh Pakage Diagram belanja online:

Gambar 2.11 Contoh Package Diagram [14]

3. Deployment Diagram

(49)

Gambar 2.12 Contoh Deployment Diagram

4. Use Case Diagram

Use case diagram merupakan permodelan untuk menggambarkan

kelakuan (behavior) sistem yang akan dibangun. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibangun. use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut.

Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu aktor dan use case.

a. Aktor merupakan orang, proses atau sistem lain yang berinteraksi dengan sistem yang akan dibangun.

(50)

Gambar 2.13 Contoh Use Case Diagram 5. Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.

Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian

besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu, activity diagram tidak menggambarkan behaviour internal sebuah sistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

(51)

Seperti halnya state, standar UML menggunakan segi empat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Berikut ini contoh activity diagram belanja online:

Gambar 2.14 Contoh Activity Diagram

Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.

(52)

6. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam

dan di sekitar sistem berupa pesan yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi

horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah kejadian untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.

Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke

objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi metoda dari class. Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message.

(53)

Gambar 2.16 Contoh Sequence Diagram 2.6 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 Macromedia Flash 8. Pada tanggal 3 Desember 2005 Adobe Systems mengakuisisi Macromedia dan seluruh produknya, sehingga nama Macromedia Flash berubah menjadi Adobe Flash.

(54)

untuk membuat animasi dan bitmap yang sangat menarik untuk keperluan 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

(55)

memusatkan pada cara kerja dan penggunaan aplikasi tersebut. Flash juga dapat digunakan untuk 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 [13].

2.6.1 Action Script

ActionScript adalah bahasa pemrograman Adobe Flash yang digunakan

untuk membuat animasi atau interaksi. ActionScript mengizinkan untuk membuat instruksi berorientasi action (lakukan perintah) dan instruksi berorientasi logic (analisis masalah sebelum melakukan perintah) .

Sama dengan bahasa pemrograman yang lain, ActionScript berisi banyak elemen yang berbeda serta strukturnya sendiri. Kita harus merangkainya dengan benar agar ActionScript dapat menjalankan dokumen sesuai dengan keinginan. Jika tidak merangkai semuanya dengan benar, maka hasil yang didapat kan akan berbeda atau file flash tidak akan bekerja sama sekali. ActionScript juga dapat diterapkan untuk action pada frame, tombol, movie clip, dan lain-lain. Action frame adalah action yang diterapkan pada frame untuk mengontrol navigasi

movie, frame, atau objek lain-lain.

(56)

1. Event

Event merupakan peristiwa atau kejadian untuk mendapatkan aksi sebuah

objek. Event pada Adobe Flash Professional CS4 ada empat, yaitu: a. Mouse Event

Event yang berkaitan dengan penggunaan mouse.

b. Keyboard Event

Kejadian pada saat menekan tombol keyboard. c. Frame Event

Event yang diletakan pada keyframe.

d. Movie Clip Event

Event yang disertakan pada movie clip. 2. Target

Target adalah objek yang dikenai aksi atau perintah. Sebelum dikenai aksi atau perintah, sebuah objek harus dikonversi menjadi sebuah simbol dan memiliki nama instan. Penulisan nama target pada skrip harus menggunakan tanda petik ganda (” ”) .

3. Action

Pemberian action merupakan langkah terakhir dalam pembuatan interaksi antar objek. Action dibagi menjadi dua antara lain:

(57)

b. Action Objek: adalah action yang diberikan pada sebuah objek, baik berupa tombol maupun movie clip.

2.7 Metode Haar Cascade Classifier

Proses deteksi objek Viola-Jones adalah deteksi objek pertama yang menyediakan tingkat deteksi objek yang kompetitif secara real-time yang diusulkan pada tahun 2001 oleh Paul Viola dan Michael Jones [10].

Meskipun dapat dilatih untuk mendeteksi berbagai kelas objek, deteksi objek ini terutama didorong oleh masalah deteksi wajah. Umumnya disebut metode haar cascades classifier. Metode ini merupakan metode yang menggunakan statistical model (classifier). Pendekatan untuk mendeteksi wajah dalam gambar menggabungkan empat konsep utama :

1. Training data

2. Fitur segi empat sederhana yang disebut fitur Haar. 3. Integral image untuk pendeteksian fitur secara cepat.

4. Pengklasifikasi bertingkat (Cascade classifier) untuk menghubungkan banyak fitur secara efisien.

2.7.1 Training data pada Haar

Metode ini memerlukan 2 tipe gambar objek dalam proses training yang dilakukan, yaitu :

1. Positive samples

(58)

2. Negative samples

Berisi gambar objek selain objek yang ingin dikenali, umumnya berupa gambar background (tembok, pemandangan, lantai, dan gambar lainnya). Resolusi untuk sampel negatif disarankan untuk memiliki resolusi yang sama dengan resolusi kamera.

Training dari Haar menggunakan dua tipe sampel diatas. Informasi dari hasil training ini lalu dikonversi menjadi sebuah parameter model statistik.

2.7.2 Sistem Kerja Algoritma Haar Cascade Classifier

Algoritma Haar menggunakan metode statistikal dalam melakukan pengenalan wajah. Metode ini menggunakan simple haar-like features dan juga cascade of boosted tree classifier. Classifier ini menggunakan gambar berukuran tetap. Cara kerja dari haar dalam mendeteksi wajah adalah menggunakan teknik sliding window pada keseluruhan gambar dan mencari apakah terdapat bagian dari gambar yang berbentuk seperti wajah atau tidak. Haar juga memiliki kemampuan untuk melakukan scalling sehingga dapat mendeteksi adanya mata yang berukuran lebih besar ataupun lebih kecil dari gambar pada classifier. Tiap fitur dari haar like feature didefinisikan pada bentuk dari fitur, diantaranya koordinat dari fitur dan juga ukuran dari fitur tersebut.

2.7.3 Haar Feature

Haar Feature adalah fitur yang digunakan oleh Viola dan Jones

(59)

sangkar (satu interval tinggi dan satu interval rendah). Untuk dua dimensi, satu terang dan satu gelap. Selanjutnya kombinasi-kombinasi kotak yang digunakan untuk pendeteksian objek visual yang lebih baik. Ada tiga tipe kotak (rectangular) fitur pada umunya yaitu:

1. Tipe two-rectangle feature (horizontal/vertikal) 2. Tipe three-rectangle feature

3. Tipe four-rectangle feature

Gambar 2.17 Haar Feature [10]

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 threshold, maka dapat dikatakan bahwa fitur tersebut ada.

(60)

2.7.4 Integral Image

Integral Image digunakan untuk menentukan ada atau tidaknya dari

ratusan fitur Haar pada sebuah gambar dan pada skala yang berbeda secara efisien. Pada umumnya, pengintegrasian tersebut berarti menambahkan unit-unit kecil secara bersamaan. Dalam hal ini unit-unit kecil tersebut adalah nilai-nilai piksel. Nilai integral untuk masing-masing piksel adalah jumlah dari semua piksel-piksel dari atas sampai bawah. Dimulai dari kiri atas sampai kanan bawah, keseluruhan gambar itu dapat dijumlahkan dengan beberapa operasi bilangan bulat per piksel.

(a) (b)

Gambar 2.18 Integral Image

Integral image (ii) pada lokasi x dan y dapat dihitung dengan rumus di bawah ini :

(61)

2.7.5 Cascade Classifier

Cascade classifier adalah sebuah rantai stage classifier, dimana setiap stage classifier digunakan untuk mendeteksi apakah di dalam image sub window terdapat objek yang diinginkan (object of interest).

Stage classifier dibangun dengan menggunakan algoritma adaptive-boost

(AdaBoost). Algoritma tersebut mengkombinasikan performance banyak weak classifier untuk menghasilkan strong classifier. Weak classifier dalam hal ini

adalah nilai dari haar-like feature.

Gambar 2.19 Proses Cascades Classifier 2.8 Beyond Reality Face

Beyond Reality Face (BRF) adalah sebuah Software Development Kit (SDK) yang menyediakan Application Programming Interface (API) untuk membangun aplikasi augmented reality pada platform Adobe® Flash® khususnya menggunakan marker wajah dalam pendeteksiannya.

(62)

Dalam membangun aplikasi augmented reality, SDK ini memiliki beberapa fitur-fitur utama, yaitu:

1. True Markerless AR

Setiap wajah adalah marker. Tidak perlu mencetak gambar. 2. Realtime dalam pendeteksian dan tracking wajah.

3. Estimasi 3D pose dengan 6DoF (35° setiap sisinya).

4. Menghitung posisi fitur wajah (contoh mata, bibir, hidung).

5. Menggunakan pupillary distance (PD) untuk menyesuaikan ukuran dari kacamata virtual.

6. Dapat bekerja dengan foto dan webcam stream. 7. Berbasis Flash, tidak membutuhkan plugins yang lain. 8. Gunakan dengan Adobe® Flash® Player 10.1 ke atas.

(63)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Analisis sistem 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. Pada tahap analisis sistem ini dibagi menjadi beberapa bagian yaitu :

1. Analisis Algoritma

2. Analisis Terhadap Tools AR Sejenis 3. Analisis Library Beyond Reality Face 4. Analisis Kebutuhan Non Fungsional 5. Analisis Kebutuhan Fungsional

3.1.1 Analisis Algoritma

(64)

dari webcam dan merendernya sesuai dengan informasi posisi yang diperoleh dari face detector tersebut. Proses terjadi secara real-time sehingga model virtual yang

tampil di media display akan mengikuti pergerakan wajah. Gambaran umum sistem ini dapat dilihat pada flowchart gambar 3.1.

Gambar 3.1 Flowchart sistem virtual mirror eyeglasses 3.1.1.1 Inisialisasi Kamera, Face Detector, dan GUI

(65)

tersebut tergambar di proses inisialisasi. Inisialisasi adalah proses penentuan awal semua hal yang diperlukan untuk menjalankan proses selanjutnya.

Pada inisialisasi ini, GUI diinisialisasikan terlebih dahulu untuk mendapatkan tampilan elemen-elemen interface sehingga memudahkan penggunaan bagi user. Inisialisasi dari kamera mulai dari menginisialisasi video masukan sampai pemrosesan image. Face detector akan mengatur hal-hal yang berkaitan dengan pendeteksian wajah.

3.1.1.2 Pre-Processing Image

Pada tahap pre-processing image dilakukan proses scaling, grayscaling, dan thresholding untuk menjadi inputan selanjutnya dalam metode Haar Cascade.

1. Tahap Scaling

Scaling merupakan proses mengubah ukuran citra digital, hal ini

perlu dilakukan agar semua citra digital memiliki ukuran yang sama. Untuk melakukan scaling di sistem ini dapat memanfaatkan package display object. Citra digital tersebut diperkecil dengan menggunakan metode interpolasi. Metode ini menggunakan rata-rata suatu region untuk mewakili region tersebut.

(66)

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

Tabel 3.1 Perhitungan nilai piksel hasil interpolasi

Nilai piksel citra asli Nilai piksel citra hasil interpolasi

(121+159+211+177) / 4 133,81

(205+88+67+54) / 4 93,375

(71+103+81+92) / 4 86,75

(231+134+233+146) / 4 186

(183+246+98+72) / 4 132

(199+56+45+153) / 4 113,25

(61+191+215+123) / 4 147,5

(211+113+222+100) / 4 161,5

(123+111+186+191) / 4 152,75

(232+152+124+45) / 4 138,25

(63+44+111+100) / 4 79,75

(119+211+206+99) / 4 158,75

(67)

2. Tahap Grayscaling

Citra digital yang telah melalui proses penskalaan kemudian diubah menjadi citra dua warna dengan proses grayscaling. Proses pengubahan citra RGB menjadi citra grayscale adalah sebagai berikut :

Misalkan suatu citra wajah memiliki nilai : R = 152

G = 132 B = 133

Maka nilai grayscale dari citra tersebut dapat dihitung seperti di bawah ini :

W = 0,2989R + 0,5870G + 0,1140B ...(3.1) w =(0,2989 x 152)+(0,5870 x 132)+(0,1140 x 133) = 138,0788

Berikut ini adalah citra hasil grayscaling :

(68)

3.1.1.3 Pendeteksian Metode Haar Cascade Classifier

Wajah merupakan salah satu bagian dari manusia yang memiliki ciri berbeda untuk setiap manusia. Pada penelitian ini digunakan metode haar cascade classifier sebagai metode untuk pengenalan pola wajah.

Perangkat lunak ini mengadopsi metode Haar Cascade classifier sebagai pendeteksi pola wajah, berikut ini alur proses metode haar cascade classifier :

Mulai

(69)

1. Proses Menentukan Haar Feature

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 obyek atau tidak dalam tiap frame yang di proses. Terdapat tiga jenis fitur berdasarkan jumlah persegi panjang yang terdapat di dalamnya, seperti yang dapat dilihat pada gambar di bawah ini :

Gambar 3.6 Haar-like feature [10]

Setelah melakukan penskalaan sebelumnya kemudian dilakukan pencarian posisi wajah yaitu dengan cara mencari fitur-fitur yang memiliki tingkat pembeda yang tinggi. Hal ini dilakukan dengan mengevaluasi setiap fitur terhadap data latih dengan menggunakan nilai dari fitur tersebut. Fitur yang memiliki batas terbesar antara wajah dan bukan wajah dianggap sebagai fitur terbaik.

(70)

2. Proses Menghitung Integral Image

Pada gambar 3.6 dapat dilihat bahwa fitur a dan b terdiri dari dua persegi panjang. Cara menghitung nilai dari fitur ini adalah mengurangkan nilai piksel pada area hitam dengan piksel pada area putih. Jika nilai perbedaannya itu di atas nilai ambang (threshold), maka dapat dikatakan bahwa fitur tersebut ada. Untuk menentukan ada atau tidaknya dari ratusan fitur haar pada sebuah citra dan pada skala yang berbeda secara efisien, digunakan satu teknik yang disebut integral image.

Citra integral adalah sebuah citra yang nilai tiap pikselnya merupakan akumulasi dari nilai piksel atas dan kirinya. Sebagai contoh, piksel (a,b) memiliki nilai akumulatif untuk semua piksel (x,y) dimana x ≤ a dan y ≤ b. Salah satu contoh seperti perhitungan

berikut :

Gambar 3.8 Sampel perhitungan integral image

1 2 3

(71)

Maka hasil perhitungan citra integralnya adalah :

Nilai fitur = | (total piksel hitam) – (total piksel putih)| = | {[6+0-(0+0)]+[25+3-(15+0)]} – [15+1-(6+0)] = | 6 + 13 – 10 |

= 9

Nilai haar feature yang didapatkan di atas yaitu 9 adalah nilai perbedaan antar kotak (fitur putih dan fitur hitam) yang biasa disebut dengan threshold. Threshold ini digunakan sebagai parameter klasifikasi objek yang terdeteksi sebagai wajah atau tidak.

3. Proses Membuat Cascade Classifier

Haar-like feature mempunyai sifat learner dan classifier yang lemah. Jika ingin mendapatkan hasil yang lebih akurat maka harus dilakukan proses haar-like feature secara massal, semakin banyak proses haar-like feature yang dilakukan maka akan semakin akurat hasil yang dicapai. Oleh karena itu pemrosesan haar-like feature yang banyak terebut diorganisir di dalam cascade classifier.

1 3 6

3 8 15

(72)

Di bawah ini adalah alur kerja dari klasifikasi bertingkat.

Gambar 3.9 Proses Cascade Classifier

Pada klasifikasi filter pertama, tiap subcitra akan diklasifikasi menggunakan satu fitur. Jika hasil nilai fitur dari filter tidak memenuhi kriteria yang diinginkan, hasil ditolak. Algoritma kemudian bergerak ke sub window selanjutnya dan menghitung nilai fitur kembali. Jika didapat hasil sesuai dengan threshold yang diinginkan, maka dilanjutkan ke tahap filter selanjutnya. Hingga jumlah sub window yang lolos klasifikasi pun akan berkurang hingga mendekati citra yang ada pada sampel.

Seperti pada gambar 3.9 di atas, dapat dijelaskan secara keseluruhan proses cascade classifier-nya sebagai berikut :

1. Filter pertama (first classifier) a. 1 fitur

b. Detection rate : 100%, false positive rate : 50% 2. Filter kedua (second classifier)

a. 5 fitur

(73)

Sedangkan hasil dari filter pada proses cascade classifier dapat dilihat pada gambar 3.7.

Gambar 3.10 Hasil deteksi wajah

3.1.2 Analisis Terhadap Tools AR Sejenis

Pada subbab ini akan dibahas tentang analisis terhadap tools AR sejenis yaitu face detection. Face detector yang akan dibahas disini yaitu library Marilena yang merupakan library yang mendukung deteksi wajah pada flash dengan menggunakan ActionScript. Marilena telah berjalan baik untuk mendeteksi wajah atau benda lain yang berdasarkan algoritma haar cascades.

(74)

Adapun kelebihan dan kekurangan library Marilena ini sebagai berikut : 1. Kelebihan

a. Merupakan library open source sehingga siapapun dapat dengan mudah menggunakannya serta memodifikasinya.

b.Dapat mendeteksi objek lain selain wajah tergantung dari training set yang dipakai sebagai referensi pendeteksian.

2. Kekurangan

a. Library yang masih sederhana, perlu optimasi dan modifikasi jika ingin meningkatkan hasil pendeteksiannya.

b.Tidak dapat mendeteksi wajah pada posisi miring atau selain posisi tegak lurus.

3.1.3 Analisis Library Beyond Reality Face

(75)

3.1.3.1 Class Interface IBeyondRealityFace

IBeyondRealityFace merupakan interface yang akan diimplementasikan oleh kelas BeyondRealityFaceManager. Kelas ini mempunyai method setter dan getter yang nanti akan dipanggil sebagai properti dari instance pada kelas BeyondRealityFaceManager. Method-method yang terdapat pada kelas interface ini yaitu :

1. init() – inisialisasi Beyond Reality Face. Parameter yang dibutuhkan adalah :

a. bitmapData:BitmapData – sebagai referensi untuk menganalisis, dengan membuat konten baru ke BitmapData ini, kemudian memanggil fungsi update(). BitmapData ini dapat di-update kemudian melalui bitmapData setter.

b. contentContainer:IBRFContentContainer (default=null) – menggunakan satu dari content container yang diberikan untuk 3D overlay.

Output dari method ini adalah :

a. Boolean – true, jika init telah dilakukan. False, jika lib tidak diinisialisasi.

2. reset() – reset algoritma untuk mulai mendeteksi wajah kembali. 3. update() – hanya meng-update bitmapData instance sebelum

(76)

Sedangkan public properties yang ada pada kelas IBeyondRealityFace ini adalah sebagai berikut :

1. bitmapData : BitmapData – mengembalikan sumber BitmapData pada saat itu.

2. deleteLastDetectedFace : Boolean – mengembalikan, apakah lastDetectedFace menjadi null, ketika tidak ada wajah yang terdeteksi.

3. faceShape : Shape – mengembalikan referensi bentuk wajah. Objek ini mencakup semua poin bentuk wajah dengan beberapa referensi poin bantuan untuk mata, mulut, hidung, dan lain-lain.

4. isEstimatingFace : Boolean – mengembalikan, apakah estimasi wajah dibolehkan atau tidak.

5. isEstimatingPose : Boolean - mengembalikan apakah estimasi pose dibolehkan atau tidak.

6. isStabilizing : Boolean – mengembalikan apakah bentuk wajah distabilkan. True, untuk kemampuan bergerak cepat.

7. isTracking : Boolean – mengembalikan apakah tracking dibolehkan atau tidak.

Gambar

Gambar 2.4 Hand-held video see-through display[7]
Gambar 2.17 Haar Feature [10]
Gambar 3.1 Flowchart sistem virtual mirror eyeglasses
Gambar 3.3 Penskalaan citra dengan metode Interpolasi
+7

Referensi

Dokumen terkait

- Dengan sepertiga produk minyak kelapa sawit dikonsumsi di dalam negeri pada tahun 2018 dan terjadi penurunan pangsa ekspor ke pasar Eropa dengan adanya standar keberlanjutan

Sektor pertanian selama tahun 2014 menghasilkan nilai tambah terbesar dalam struktur perekonomian Kabupaten Solok yang dipresentasikan melalui PDRB Atas dasar Harga

[r]

Kurangnya pengetahuan petani tentang pentingnya peremajaan karet menyebabkan petani tidak mudah menerima inovasi- inovasi baru yang diberikan oleh penyuluh,

Berdasarkan hasil penelitian diperoleh produk terbaik yaitu sabun mandi padat dengan penambahan kolagen tulang ikan lele yang memiliki kadar air 13%; kadar alkali

Wujud dari kegiatan pengabdian tersebut adalah guru-guru SMA N 1 Padamaran mengenal software yang dapat digunakan untuk membuat media pembelajaran interaktif; guru

Hasil perhitungan rasio variasi model regresi (Jumlah Kuadrat Regresi) dan variasi efisiensi (Jumlah Kuadrat Total) menunjukkan bahwa nilai koefisien determinasi yang

Ucapan Syukur Alhamdulillah Kepada ALLAH SWT yang telah melimpahkan rahmat serta hidayahnya kepada penulis, sehingga penulis dapat menyelesaikan skripsi dengan