Pembangunan Virtual Accessories Room Pada E-Commerce Di Distro Heaven Skateboards Bandung

(1)

Virtual Accessories Room Pada

E-Commerce

Di Distro Heaven

Skateboards Bandung

Arief Rachman Maulana

Pembimbing : Adam Mukharil Bachtiar, S. Kom


(2)

(3)

2 dimensi


(4)

1


(5)

2


(6)

3


(7)

(8)

4


(9)

(10)

(11)

(12)

(13)

(14)

Tidak ada

fitur pada

website

yang

memfasilitasi

pelanggan

untuk mencoba aksesories secara


(15)

Membangun

Virtual Accessories Room

Pada

E-Commerce

Di Distro Heaven Skateboards

bandung


(16)

Mengurangi tingkat

kejahatan

Mengurangi tingkat

kerugian

yang

mengakibatkan barang menjadi

rusak

maupun

kotor


(17)

Menambahkan

virtual

aksesories


(18)

(19)

Mulai

Terlacak Sebagai Wajah

Citra Wajah Yang Terlacak

Selesai Ya Tidak

Menentukan Haar

Feature

Membuat Cascade

Classifier

Menghitung Nilai Haar

Feature Dengan

Integral Image

Input Data Wajah


(20)

Spesifikasi Kebutuhan Fungsional

Nomor

Spesifikasi Kebutuhan Fungsional

SRS-F-001

Sistem hanya dapat dikelola oleh admin.

SRS-F-002

Sistem harus bisa menyediakan layanan pengelolaan model aksesories yang

berformat (*.png) oleh admin

SRS-F-003

Sistem harus dapat meng-capture wajah terhadap kamera.

SRS-F-004

Sistem dapat mengambil foto user setelah menggunakan virtual aksesories.

SRS-F-005

Sistem menyediakan fitur

order untuk membeli aksesories yang sedang


(21)

Spesifikasi Kebutuhan Non- Fungsional

Nomor

Spesifikasi Kebutuhan Non Fungsional

SRS-NF-001

Sistem dibangun dalam bentuk website.

SRS-NF-002

Sistem dapat mendeteksi wajah dengan baik apabila menggunakan

webcam

minimal 1.3 Megapixel.

SRS-NF-003

Posisi wajah harus diluruskan (Frontal Face) terhadap webcam.

SRS-NF-004

Sistem memerlukan cahaya yang berada di depan kamera dan di belakang

kamera agar wajah dapat terdeteksi dengan baik.

SRS-NF-005

Objek yang dideteksi oleh sistem harus memiliki fitur wajah yang lengkap


(22)

Use Case Diagram

System

User

Kamera

Memilih Model Aksesories

Capture Image

Mengambil Foto

Memesan Aksesoris

Melihat Hasil Augmented Reality

<<include>>

Admin

Menghapus Gambar Aksesories

<<extend>>

Memasukkan Gambar Aksesories

<<extend>>

<<extend>>


(23)

Activity Diagram

User Sistem

Menghadap tegak lurus ke kamera

Mencari koordinat mata


(24)

Sequence Diagram

Melihat Hasil Augmented Reality

sd

: User

: McSimulasi

face : FaceDetector_Camera

1 : Menghadap kamera

2 : assignHandlers()

3 : onImageSelected()

4 : loadGambar()

5 : detectionHandler()

6 : Image pada posisi wajah


(25)

Class Diagram

McSimulasi -_thumbnails_li: TileList -_foto_bt: SimpleButton -_start_bt: SimpleButton -_pesan_bt: SimpleButton -_images: ImageData -_face: FaceDetector_Camera +McSimulasi() -init() -assignComponentRefrences() -assignHandlers() -loadImageDataAksesories() -onImageSelectedAksesories() -onClickStart(event: MouseEvent)() -onClickPesan(event: MouseEvent)() -onFotoSelected(e: Event)() -onClickFoto(event: MouseEvent)() tes -_file: String -_thumb: String +tes() +File() +Thumb() ImageData

-DATA_FILE: String = "images.xml" -_data:Array +onXMLLoaded(event: Event)() +load() +getNameData() +getThumbData() FaceDetector_Camera

-detector: ObjectDetector: ObjectDetector -options: ObjectDetectorOptions

-view: Sprite -_alamat: String

-_aksesories: Loader = new Loader() -FaceRectContainer: Sprite -camera: CameraBitmap -detectionMap: BitmapData -drawMatrix: Matrix -scaleFactor: int = 3 -w: int = 500 -h: int = 480 -lastTimer: int = 0 +FaceDetector_Camera() -initUI()

+loadGambar(alamat: string)() -cameraReadyHandler(event: Event )() -initDetector()

-detectionHandler(e : ObjectDetectorEvent )()

McAdmin -file: FileReference -file2: FileReference -_reset_bt: SimpleButton -_simpan_bt: SimpleButton -req: URLRequest -req2: URLRequest -DirAksesories= new String() -DirThumb= new String() -image: ImageData + McAdmin() -init() -uploadAksesories() -uploadThumb() -browse(e: MouseEvent) -browse2(e: MouseEvent)() -io_error(e: IOErrorEvent) -io_error2(e: IOErrorEvent)() -progress_func(e: ProgressEvent) -progress_func2(e: ProgressEvent)() -selectHandler(e: Event) -selectHandler2(e: Event)() -finish_upload(e: DataEvent) -finish_upload2(e: DataEvent)() -cancelUpload(e: MouseEvent)() -cancelUpload2(e: MouseEvent)() -reset() +reset2() -onSimpanClick(e: MouseEvent)() 1 0..1 1 0..* 10..* 1 0..* 1 0..* 1 0..* McAdminHapus -_view: UILoader -_hapus_bt: SimpleButton -_images: ImageData -_alamat1: String -_alamat2: String +McAdminHapus() -init() -loadImageData() -onDataLoaded(event: Event)() -onImageSelected(event: Event)() -onClickHapus(e: MouseEvent)() 1 1 1 0..* 1 0..* McView -_view: UILoader -_images: ImageData -_alamat1: String -_alamat2: String +McView() -init() -loadImageData() -onDataLoaded(event: Event) -onImageSelected(event: Event) 1 1 1 1 1 0..* 1 0..*


(26)

Package Diagram

GreenShock

Flash

TwinLite Sprite

MovieClip easing

Proyek

FaceDetector_Camera McSimulasi McAdmin McAdminHapus

Marilena

ObjectDetector

ObjectDetectorOptions

ObjectDetectorEvent


(27)

Deployment Diagram

Virtual Accessories Room Pada E-Commerce

KomputerClient

KomputerServer

Kamera

WebServer

<<TCP/IP>>

<<TCP/IP>>

<<TCP/IP>>


(28)

Rencana Pengujian

No

Kelas Uji

Butir Uji

Jenis Pengujian

1.

Algoritma

Algoritma Haar Cascade Classifier

WhiteBox : Region,

Cyclometic Complexity,

Independent Path, Graph

Matriks, Predicate Node

2.

Memasukkan gambar

aksesories

Upload gambar aksesories

upload thumbnails aksesories

BlackBox : Performance

Testing

3.

Melihat gambar aksesories Melihat gambar aksesories

BlackBox : Performance

Testing

4.

Menghapus gambar

aksesories

Hapus gambar aksesories

BlackBox : Performance

Testing

5.

Penempatan aksesories

virtual berdasarkan deteksi

wajah

deteksi berdasarkan jarak

BlackBox : Performance


(29)

Kesimpulan

Kesimpulan merupakan suatu proposisi (kalimat yang disampaikan) yang

diambil dari beberapa premis (ide pemikiran) dengan aturan-aturan inferensi

(yang berlaku). Dari hasil penelitian pada penulisan skripsi dan tugas akhir ini,

dapat diambil kesimpulan bahwa algoritma Haar Cascade Classifier

dengan

menggunakan

Library Marilena

cocok untuk mengimplementasi

face tracking

berbasis

website

yang diterapkan pada

e-commerce

di Distro Heaven

Skateboards Bandung, karena dari hasil pengujian yang didapatkan

menghasilkan kebutuhan dari tujuan dibuatnya aplikasi ini sesuai dengan apa

yang diinginkan. Akan tetapi, jarak antara wajah dengan aksesories virtual

harus tetap saling menyesuaikan ketika kita menggunakan aplikasi ini.


(30)

Saran

Saran merupakan pendapat, usulan, atau anjuran yang dikemukakan untuk

dipertimbangkan.

Saran dikemukakan agar terjadi perbaikan atau

peningkatan dari keadaan semula. Pada aplikasi ini terdapat saran

pengembangan agar aplikasi dapat ditingkatkan menjadi lebih baik lagi, yaitu

mengembangkan aplikasi dengan menggunakan

motion tracking

agar

terdapat

virtual button

pada setiap menu, sehingga

technology

augmented reality

pada aplikasi ini menjadi semakin modern.


(31)

(32)

PEMBANGUNAN

VIRTUAL ACCESSORIES ROOM

PADA

E-COMMERCE

DI DISTRO HEAVEN SKATEBOARDS

BANDUNG

SKRIPSI

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

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

ARIEF RACHMAN MAULANA

10108218

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG


(33)

(34)

(35)

(36)

(37)

i

ABSTRAK

PEMBANGUNAN VIRTUAL ACCESSORIES ROOM PADA E-COMMERCE DI DISTRO HEAVEN SKATEBOARDS

BANDUNG OLEH

ARIEF RACHMAN MAULANA 10108218

Distro Heaven Skateboards yang terletak di Jalan Trunojoyo No. 15 Bandung merupakan sebuah distro yang menyediakan berbagai macam produk yang berhubungan dengan skateboard. Banyak pelanggan jahat yang tidak ketahuan mencuri topi maupun kacamata sehingga membuat kerugian tersendiri bagi pengelola distro. Selain itu, aksesories yang tidak jadi dibeli menjadi rusak maupun kotor, karena pelanggan yang semena-mena dalam mencoba aksesories. Selain melengkapi keamanan barang, aplikasi ini juga menambah inovasi baru pada sistem penjualan di distro ini, sehingga pihak distro tidak perlu resah akan kehilangan aksesories yang mereka jual dan tentunya akan menambah keuntungan bagi pihak distro ysng menambah daya tarik tersendiri

bagi pelanggan yang ingin membeli aksesories.

Face Tracking merupakan teknik pendeteksi wajah manusia yang cocok sebagai solusi untuk membuat aplikasi virtual aksesories pada Distro ini. Metode yang digunakan untuk mendeteksi wajah, yaitu metode Haar menggunakan algoritma Haar Cascade Classifier dengan menggunakan Library Marilena. Hal ini terjadi karena sistem pelacakan wajah pada Haar dikhususkan untuk pelacakan wajah dengan posisi lurus ke depan terhadap kamera sehingga tidak dapat melacak wajah yang bukan pada posisi tersebut. Langkah-langkah dalam proses ini meliputi training data pada Haar, mencari Haar feature, menghitung integral

image, dan mencari cascade classifier.

Berdasarkan pengujian whitebox dapat diambil kesimpulan bahwa kompleksitas algoritma Haar Cascade Classifier adalah tujuh. Kemudian, hasil pengujian dengan metode performance testing menghasilkan posisi yang tepat untuk mendapatkan posisi aksesories yang cocok dengan bentuk wajah, yaitu untuk wajah bulat dibutuhkan jarak lebih pendek dibandingan wajah oval dan tirus. Untuk bentuk wajah oval dibutuhkan jarak lebih pendek dibandingkan wajah tirus, sedangkan jarak rata-rata hampir semua wajah terdeteksi yaitu pada jarak 70 centimeter.

Kata kunci : algoritma, Haar, Haar Cascade Classifier, library marilena, virtual aksesories, face tracking, performance testing, wajah.


(38)

ii

ABSTRACT

THE VIRTUAL ACCESSORIES ROOM DEVELOPMENT ON E-COMMERCE HEAVEN SKATEBOARDS DISTRO

BANDUNG BY

ARIEF RACHMAN MAULANA 10108218

The Heaven Skateboards Distro Bandung is located at Trunojoyo, 15 Bandung is one of distro which provided the product of Skateboard. So many crime costumer was stolen a hats or glasses, it's making a cost to the owner of the distro. Then, the accessories which was broke and dirty caused of rudely customer. This application is not (just) to safety of goods but also for adding the new innovations on the distro market system. So the owner is not restive to lose the accessories which sells and of sources, it's become the ''eye catching'' to customers who want to

buy it.

Face tracking is a technic human face detection to be solution to virtual accessories application the distro. The method used to face tracking is Haar method with Haar Cascade Classifier algorithm used Marilena library. That is human face detection system on Haar specialized for human face detection by straight point of the camera. So, it cannot detect another face on the anywhere point. Steps in the process such as Haar data training, searching Haar feature, counting integral image and searching cascade classifier.

Based on Whitebox invented, we can point that the complexities of the Haar cascade classifier algorithm are seven. Then, the result of the performance method is produced at the right point to catch the right point of accessories to the right face, as round face is needed the short range than the oval face and tapering face. For the oval face is needed the short range than the tapering face. Meanwhile, the rate of range face detected is up to 70 cm.

Keywords : algorithm, Haar, Haar Cascade Classifier, Marilena library, virtual accessories, face tracking, performance testing, face.


(39)

iii

KATA PENGANTAR

Assalamu’alaikum Wr. Wb.,

Segala puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan

skripsi dan tugas akhir yang berjudul “Pembangunan Virtual Accessories Room

Pada E-Commerce Di Distro Heaven Skateboards Bandung”.

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. Dalam kesempatan ini, dengan segala kerendahan hati penulis ingin mengucapkan terima kasih yang 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 Adam Mukharil Bachtiar, S.Kom. selaku Dosen Pembimbing sekaligus Dosen Wali yang telah memberikan dorongan dan arahan kepada Penulis selama proses penyusunan skripsi dan tugas akhir ini.


(40)

iv

5. Bapak Andri Heryandi, S.T., M.T. selaku dosen reviewer dan Bapak Eko Budi Setiawan, S.Kom selaku dosen penguji tiga.

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

7. Mamah, Bapak, adik, kakek, nenek, beserta keluarga tercinta lainnya, tanpa kalian Penulis tidak akan seperti saat ini.

8. Soffi Gahara selaku pengelola situs Heaven Skateboards Bandung yang telah mengizinkan Penulis untuk melakukan penelitian.

9. Shelly Apriani Restia, Gugy, Ricky, Ria, anak-anak ini/itu (Dewi, Boby, Diyar, Andri, Dhani, dan Adi), Eka, Jajang, Dede Fatmawati dan seluruh kawan-kawan IF-5 angkatan 2008 yang tidak bisa Penulis sebutkan satu persatu, terima kasih telah membantu penulis untuk menyelesaikan skripsi dan 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, Agustus 2012

Penulis


(41)

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

DAFTAR SIMBOL... xv

DAFTAR LAMPIRAN... xx

BAB 1 PENDAHULUAN... 1 1.1 Latar Belakang Masalah ... 1 1.2 Perumusan Masalah... 3 1.3 Maksud dan Tujuan Penelitian ... 3 1.4 Batasan Masalah... 3 1.5 Metodologi Penelitian ... 4 1.5.1 Metode Pengumpulan Data ... 5 1.5.2 Metode Pembangunan Perangkat Lunak... 5 1.6 Sistematika Penulisan... 7


(42)

vi

2.1 Tinjauan Perusahaan... 9 2.1.1 Distro Heaven Skateboards ... 9 2.1.2 Logo Distro Heaven Skateboards... 9 2.1.3 Struktur Organisasi Perusahaan ... 10 2.1.4 Deskripsi Tugas... 11 2.2 Landasan Teori ... 12 2.2.1 Konsep Dasar Aksesories... 12 2.2.2 Konsep UML (Unified Modeling Language)... 13

2.2.3 Image Processing (Pengolahan Citra)... 23

2.2.4 Augmented Reality... 25

2.2.5 Cara Kerja Algoritma Haar Cascade Classifier ... 30 2.2.5.1 Penskalaan ukuran gambar... 30 2.2.5.2 Haar Feature... 31

2.2.5.3 Integral Image... 33

2.2.5.4 Cascade Classifier... 35

2.2.6 Library Marilena... 38

2.2.7 StarUML ... 40 2.2.8 Adobe Flash... 41

2.2.9 Action Script... 44

2.2.10 Adobe Photoshop CS ... 45 2.2.11 Kuesioner dan Skala [12] ... 52

BAB 3 ANALISIS DAN PERANCANGAN SISTEM... 57 3.1 Analisis Sistem ... 57


(43)

vii

3.1.1 Analisis Masalah ... 57 3.1.2 Analisis Algoritma Haar Cascade Classifier... 58 3.1.3 Analisis Spesifikasi Kebutuhan Perangkat Lunak ... 70 3.1.4 Analisis Kebutuhan Non-Fungsional ... 72 3.1.5 Analisis File ... 74 3.1.6 Analisis Kebutuhan Fungsional ... 75 3.2 Perancangan Sistem... 106 3.2.1 Perancangan Arsitektur Perangkat Lunak... 107 3.2.2 Perancangan Struktur Menu... 107 3.2.3 Perancangan Antarmuka Perangkat Lunak ... 108 3.1.1 Perancangan Pesan ... 120 3.1.2 Perancangan Jaringan Semantik... 121 3.1.3 Perancangan Prosedural ... 121

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM... 125 4.1 Implementasi Sistem ... 125 4.1.1 Implementasi File... 125

4.1.2 Implemantasi Antarmuka ... 126 4.2 Pengujian Sistem ... 128 4.2.1 Rencana Pengujian ... 128 4.2.2 Pengujian WhiteBox... 129

4.2.3 Pengujian BlackBox... 137

4.2.4 Pengujian Beta... 140


(44)

viii

4.2.4.2 Kuesioner Untuk User... 141

4.2.5 Kesimpulan Pengujian ... 142

BAB 5 KESIMPULAN DAN SARAN... 149 5.1 Kesimpulan... 149 5.2 Saran ... 149


(45)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Distro Heaven Skateboards yang terletak di Jalan Trunojoyo No. 15 Bandung merupakan sebuah distro yang menyediakan berbagai macam produk yang berhubungan dengan skateboard mulai dari papan skateboard, baju, celana,

jaket, serta accessories (aksesories) yang berupa kacamata, topi, dll. Meskipun

sistem penjualan di toko ini sudah menggunakan e-commerce (penjualan online),

tetapi tidak banyak pelanggan yang menggunakan sarana penjualan online

tersebut. Para pelanggan lebih memilih membeli produk dengan mengunjung lokasi distro tersebut.

Adanya tindak kejahatan yang sering terjadi, terutama masalah pada bagian aksesories. Banyak pelanggan jahat yang tidak ketahuan mencuri topi maupun kacamata, sehingga membuat kerugian tersendiri bagi pengelola distro. Selain itu, aksesories yang tidak jadi dibeli menjadi rusak maupun kotor, karena pelanggan yang semena-mena dalam mencoba aksesories. Hal ini mengakibatkan kerugian lagi bagi pengelola distro, karena turunnya minat pelanggan lain untuk mencoba aksesories tersebut.

Oleh karena itu, dengan adanya masalah diatas perlu ditambahkan satu fitur baru pada e-commerce di distro ini dengan dibuatnya aplikasi virtual aksesories

yang menggunakan augmented reality. Selain melengkapi keamanan barang,


(46)

2

sehingga pihak distro tidak perlu resah akan kehilangan aksesories yang mereka jual dan tentunya akan menambah keuntungan bagi pihak distro ysng menambah daya tarik tersendiri bagi pelanggan yang ingin membeli aksesories dengan menggunakan aplikasi virtual aksesories secara real-time.

Face Tracking merupakan teknik pendeteksi wajah manusia yang cocok

sebagai solusi untuk membuat aplikasi virtual accessories room pada Distro ini.

Metode yang digunakan untuk pendeteksi wajah (face tracking) yaitu metode

Haar dengan menggunakan algoritma Haar Cascade Classifier. Dengan

menggunakan metode ini proses pelacakan untuk berbagai posisi wajah yang berbeda dari sampel yang digunakan tingkat keberhasilannya mencapai 70%. Hal ini terjadi karena sistem pelacakan wajah pada Haar dikhususkan untuk pelacakan

wajah dengan posisi lurus ke depan terhadap kamera (frontal face), sehingga tidak

dapat melacak wajah yang bukan pada posisi tersebut. Jarak objek dari kamera mempengaruhi ukuran citra hasil pelacakan semakin jauh dari kamera semakin kecil citra hasil pelacakan.

Berdasarkan uraian diatas yang merupakan hasil wawancara langsung dengan Bapak Soffi selaku pengurus distro, penulis merasa tertarik untuk mengangkat masalah ini menjadi sebuah skripsi yang berjudul Pembangunan

Virtual Accessories Room Pada E-commerce Di Distro Heaven Skateboards


(47)

3

1.2 Perumusan Masalah

Berdasarkan latar belakang masalah di atas, maka yang menjadi rumusan masalah dalam penulisan skripsi ini adalah bagaimana membangun virtual

accessories room pada e-commerce di Distro Heaven Skateboards Bandung.

1.3 Maksud dan Tujuan Penelitian

Maksud dari penelitian ini yaitu untuk membangun aplikasi virtual

accessories room pada e-commerce di Distro Heaven Skateboards Bandung.

Adapun tujuan dari penelitian ini diantaranya, yaitu :

1. Dengan adanya aplikasi ini dapat mengurangi tindak kejahatan di dalam distro.

2. Mengurangi tingkat kerugian yang terjadi karena pelanggan yang semena-mena dalam menggunakan aksesories, sehingga dapat menciptakan aplikasi yang membantu pelanggan untuk mencoba virtual aksesories

secara online.

3. Menambah inovasi baru pada sistem penjualan e-commerce dengan

menambahan aplikasi virtual aksesories.

1.4 Batasan Masalah

Agar pembahasan pada penelitian ini tidak keluar dari pokok permasalahan, maka Penulis membatasi masalah diantaranya sebagai berikut :

1. Aplikasi virtual accessories room ini berbasis website.

2. Pengolahan aplikasi ini dilakukan oleh admin.

3. Aksesories yang menggunakan augmented reality pada aplikasi ini hanya


(48)

4

4. Penempatan wajah dan objek virtual harus saling menyesuaikan.

5. Aplikasi tidak dapat digunakan di tempat yang gelap. Oleh karena itu, aplikasi ini harus digunakan di tempat yang terang (cahaya matahari atau lampu ruangan), karena aplikasi ini menggunakan kamera pada komputer atau laptop.

6. Posisi wajah harus diluruskan (frontal face) terhadap kamera.

7. Input video berupa pergerakan wajah manusia secara real-time dengan

menggunakan webcam.

8. Output yang dihasilkan berupa objek topi dan kacamata virtual yang

terpasang pada wajah manusia secara real-time.

9. Pendekatan analisis pembangunan perangkat lunak yang digunakan adalah pendekatan analisis berorientasi objek.

1.5 Metodologi Penelitian

Metodologi penelitian merupakan suatu proses yang digunakan untuk memecahkan suatu masalah yang logis, dimana memerlukan data untuk mendukung terlaksananya suatu penelitian. Metodologi penelitian yang digunakan adalah metodologi analisis deskriptif. Metodologi analisis deskriptif merupakan metode yang menggambarkan fakta-fakta dan situasi atau kejadian sekarang secara sistematis, faktual dan akurat. Metodologi penelitian yang digunakan meliputi dua metode, yaitu metode pengumpulan data dan metode pembangunan perangkat lunak yang dijelaskan di bawah ini.


(49)

5

1.5.1Metode Pengumpulan Data

Di dalam proses penelitian ini terdapat beberapa metode pengumpulan data yang diperoleh secara langsung dari objek penelitian, diantaranya yaitu :

a. Studi Literatur

Pada tahap ini data dikumpulkan dengan cara mengumpulkan hasil literarur, jurnal, buku-buku atau bacaan-bacaan serta internet yang berhubungan dengan pembangunan aplikasi virtual accessories room di

Distro Heaven Skateboards Bandung. b. Wawancara

Pada tahap ini data dikumpulkan dengan cara mengadakan tanya jawab secara langsung dengan Bapak Soffi selaku pengurus distro sebagai narasumber mengenai permasalahan yang diambil.

c. Observasi

Pada tahap ini data dikumpulkan dengan cara melakukan pengamatan secara langsung ke Distro Heaven Skateboards Bandung mengenai permasalahan yang diambil, sehingga mendapatkan data yang lebih jelas dan akurat.

1.5.2Metode Pembangunan Perangkat Lunak

Metode pembangunan perangkat lunak yang digunakan dalam penelitian ini yaitu menggunakan Model Waterfall [1] yang dapat dilihat pada Gambar 1.1 di

halaman berikutnya.

Tahapan-tahapan pembangunan perangkat lunak yang digunakan dalam metode penelitian ini adalah sebagai berikut :


(50)

6

1. Mendefinisikan Kebutuhan (Requirments 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.

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 [1].


(51)

7

Gambar 1. 1Model Waterfall [1] 1.6 Sistematika Penulisan

Untuk memberikan gambaran yang jelas mengenai penelitian yang dilakukan, maka ditetapkan sistematika penulisan sebagai berikut :

BAB 1 PENDAHULUAN

Bab ini mengemukakan latar belakang masalah, perumusan masalah, maksud dan tujuan penelitian, batasan masalah, metodologi penelitian, serta sistematika penulisan.

BAB 2 TINJAUAN PUSTAKA

Bab ini berisi tentang tinjauan perusahaan dan landasan teori yang berkaitan dengan judul, teori program yang berhubungan dengan aplikasi yang akan dibangun, serta teori khusus yaitu berkaitan dengan istilah-istilah yang dipakai dalam pembuatan aplikasi virtual accessories room.


(52)

8

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis kebutuhan sistem untuk aplikasi yang akan dibangun. Selain itu, terdapat perancangan sistem untuk aplikasi yang akan dibangun sesuai dengan hasil analisis yang telah dibuat berdasarkan data yang berorientasi objek yang menggunakan tools starUML.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi hasil implementasi dari analisis dan perancangan sistem yang dilakukan, serta hasil pengujian sistem yang dilakukan di Distro Heaven Skateboards agar diketahui apakah virtual accessories room yang dibangun sudah

memenuhi kebutuhan pihak distro.

BAB 5 KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang merupakan pendapat akhir dari uraian berupa informasi mengenai sistem yang telah dibangun dan saran-saran yang merupakan pendapat yang dikemukakan untuk pertimbangan bagi Distro Heaven Skateboards maupun bagi pengembangan sistem ini.


(53)

9

BAB 2

TINJAUAN PUSTAKA

2.1 Tinjauan Perusahaan

Tinjauan perusahaan yang dijelaskan meliputi deskripsi mengenai Distro Heaven Skateboards, logo Distro Heaven Skateboards, struktur organisasi, serta deskripsi tugas.

2.1.1Distro Heaven Skateboards

Pendirian Heaven Skateboards bersamaan dengan pembangunan Skate Park pada bulan April 2006 yang berlokasi di Jalan Trunojoyo No. 15 Bandung. Distro ini menyediakan alat-alat skateboard seperti papan skateboard, skate shoes,

t'shirt, jaket, topi, kacamata, dll.

Produk-produk di Heaven diimpor dari luar negeri, karena kayu yang digunakan untuk membuat papan skate adalah maple Canada yang memang jelas

tidakada di Indonesia. Meskipun Heaven memperoduksi papan sendiri dengan brand Heaven Skateboard, proses pembuatannya pun dilakukan di Amerika.

Papan skateboard dijual terpisah dengan kelengkapan lainnya seperti wheel

(roda), truck, dan baring. Untuk papan Amerika, harganya mulai Rp 500.000,-

sampai dengan Rp 600.000,- sedangkan untuk produk asli Heaven Rp 400.000,-.

2.1.2Logo Distro Heaven Skateboards

Di bawah ini merupakan logo dari Distro Heaven Skateboards yang dapat dilihat pada gambar 2.1 di halaman berikutnya.


(54)

10

Gambar 2. 1 Logo Heaven Skateboards 2.1.3Struktur Organisasi Perusahaan

Struktur organisasi merupakan susunan yang terdiri dari fungsi-fungsi serta hubungan mengenai seluruh pernyataan setiap kegiatan untuk mencapai suatu tujuan. Secara fisik struktur organisasi dapat dinyatakan dalam bentuk bagan yang memperlihatkan hubungan unit-unit organisasi dan garis-garis wewenang yang ada.

Beberapa keuntungan yang dapat diperoleh dari penggunaan bagan organisasi yaitu agar dapat memperlihatkan karakteristik utama dari suatu perusahaan tersebut mengenai gambaran pekerjaan dan hubungan-hubungan yang ada di dalam perusahaan serta digunakan untuk merumuskan rencan kerja yang ideal sebagai pedoman untuk dapat mengetahui siapa bawahan dan atasannya. Struktur keorganisasian pada Distro Heaven Skateboards dapat dilihat pada bagan struktur berikut ini :

Gambar 2. 2 Struktur Organisasi

Pemilik Distro


(55)

11

2.1.4Deskripsi Tugas

Deskripsi tugas digunakan untuk mengetahui tugas, wewenang, serta tanggung jawab dari masing-masing bagian. Deskripsi tugas yang ada di Distro Heaven Skateboards adalah sebagai berikut :

1. Pemilik Distro

a. Sebagai pengambil keputusan.

b. Sebagai koordinator semua kegiatan yang telah dilaksanakan. c. Mengevaluasi semua kegiatan yang telah dilaksanakan.

d. Menerapkan dan mengesahkan kebijakan yang menyangkut eksistensi toko.

2. Kasir

a. Melayani pelanggan secara langsung.

b. Menghitung hasil penjualan dan bertanggung jawab atas uang yang masuk. c. Melaporkan hasil penjualan secara harian, mingguan, bulanan, dan

periodik.

d. Melaporkan ke bagian auditor jika stok barang di cabang kurang atau habis.

3. Auditor

a. Mengecek stok barang di tiap cabang. b. Mengirim stok barak ke tiap cabang.

c. Mengecek laporan penjualan dari tiap cabang. 4. Admin


(56)

12

b. Melayani pelanggan secara online.

2.2 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 dijelaskan pada penelitian ini meliputi konsep dasar aksesories, konsep UML, image processing, augmented reality, cara kerja

algoritma Haar Cascade Classifier, library marilena, starUML, adobe flash, action

script, adobe photoshop cs, kuesioner dan skala.

2.2.1Konsep Dasar Aksesories

Aksesori (atau aksesoris) adalah benda-benda yang dikenakan seseorang untuk mendukung atau menjadi pengganti pakaian. Bentuk aksesori bermacam-macam dan banyak di antaranya terkait dengan peran gender pemakainya.

Jenis aksesori bermacam-macam, seperti perhiasan (anting-anting atau giwang, kalung, gelang, bros), selendang, sabuk, suspender, dasi, syal, sarung tangan, sapu tangan, tas, topi, arloji, kacamata, dan pin. Busana tradisional memiliki aksesori khas yang biasanya dikenakan sebagai perlambang tertentu, seperti destar, sindur, tusuk konde, kembang goyang, dan keris. Di halaman berikutnya merupakan gambar dari macam-macam aksesories.


(57)

13

Gambar 2. 3 Aksesories 2.2.2Konsep UML (Unified Modeling Language)

UML (Unified Modeling Language) merupakan pengganti dari metode

analisis berorientasi objek dan desain berorientasi objek (OOA&D) yang dimunculkan sekitar akhir tahun 80-an dan awal tahun 90-an. UML merupakan gabungan dari metode Booch, Rumbaugh (OMT) dan Jacobson. Tetapi UML ini akan mencakup lebih luas daripada OOA&D. Pada pertengahan pengembangan UML dilakukan standarisasi proses dengan OMG (Object Management Group)

dengan harapan UML akan menjadi bahasa standar pemodelan pada masa yang akan datang.

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.


(58)

14

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

2.2.2.1Sejarah UML

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 semakin luas sampai diluar perusahaan OOSE. Dokumentasi UML versi 0.9 akhirnya dirilis pada bulan Juni 1996. Meskipun pada tahun 1996 ini melihat dan menerima

feedback dari komunitas Software Engineering.

Dalam waktu tersebut, menjadi lebih jelas bahwa beberapa organisasi perangkat lunak melihat UML sebagai strategi dari bisnisnya, kemudian dibangunlah UML Consortium dengan beberapa organisasi yang akan menyumbangkan sumber dayanya untuk bekerja, mengembangkan, dan melengkapi UML. Di sini beberapa partner yang berkontribusi pada UML 1.0,

diantaranya Digital Equipment Corporation, Hewlett-Packard, I-Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle,


(59)

15

Relational, Texas Instruments dan Unisys. Dari kolaborasi ini dihasilkan UML 1.0 yang merupakan bahasa pemodelan yang ditetapkan secara baik, expressive, kuat,

dan cocok untuk lingkungan masalah yang luas. UML 1.0 ditawarkan menjadi standarisasi dari Object Management Group (OMG) dan pada Januari 1997 dijadikan sebagai standar bahasa pemodelan.

Antara Januari–Juli 1997 gabungan group tersebut memperluas kontribusinya sebagai hasil respon dari OMG dengan memasukkan Adersen Consulting, Ericsson, Object Time Limeted, Platinum Technology, Ptech, Reich Technologies, Softeam, Sterling Software dan Taskon. Revisi dari versi UML (versi 1.1) ditawarkan kepada OMG sebagai standarisasi pada bulan Juli 1997. Dan pada bulan September 1997,versi ini dierima oleh OMG Analysis dan Design

Task Force (ADTF) dan OMG Architecture Board dan Akhirnya pada Juli 1997

UML versi 1.1 menjadi standarisasi.

Pemeliharaan UML terus dipegang oleh OMG Revision Task Force (RTF)

yang dipimpin oleh Cris Kobryn. RTP merilis editorial dari UML 1.2 pada Juni 1998 dan pada tahun 1998 RTF juga merilis UML 1.3 disertai dengan user guide

dan memberikan technical cleanup [3].

2.2.2.2Tipe-Tipe Diagram UML

UML memiliki tipe-tipe diagram, diantaranya yaitu sebagai berikut : a. Use Case Diagram

Use Case Diagram digunakan untuk menggambarkan konteks sistem yang


(60)

16

Case Diagram juga menggambarkan siapa (atau apa) berinteraksi dengan sistem. Di dalam sistem hanya terdapat satu user.

Gambar 2. 4 Use Case Diagram

b. Class Diagram

Class diagram digunakan untuk menunjukan hubungan dan eksistensi

sebuah class dari sudut pandang logis dalam sistem. Sebuah Class Diagram merepresentasikan struktur class yang membentuk arsitektur dan perilaku sistem dalam proses desain dan analisis. Class diagram

memberikan gambaran secara menyeluruh tentang object dan class serta relasinya pada arsitektur sistem yang dibangun. Class diagram

menyediakan fasilitas berbagi model sehingga model yang telah dibangun bisa digunakan kembali (reusable) untuk pemodelan yang lebih rinci pada perilaku dinamis. Notasi pada class diagram bisa digunakan untuk

menjelaskan Object Oriented Programming, sehingga semua konsep

Object Oriented Programming bisa di jelaskan menggunakan notasi Class


(61)

17

Gambar 2. 5 Class Diagram

1. Nama Kelas/Stereotype.

2. Atribut, yaitu variabel-variabel yang dimiliki suatu kelas. 3. Metode, yaitu fungsi-fungsi yang dimiliki oleh suatu kelas.

Class Diagram menggambarkan struktur sistem dari segi

pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem.

Class Diagram mempunyai 3 macam hubungan, sebagai berikut :

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


(62)

18

2. Aggregation

Aggregation adalah association dimana salah satu kelasnya merupakan

bagian dari suatu kumpulan. Aggregation memiliki titik pusat yang

mencakup keseluruhan bagian.

Gambar 2. 7 Aggregation

3. Composition

Composition adalah 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.

Gambar 2. 8 Composition

4. Depedency

Depedency adalah hubungan antar-class di mana sebuah class memiliki


(63)

19

Gambar 2. 9 Depedency

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

c. Statechart Diagram

Statechart Diagram menggambarkan semua state yang dimiliki oleh suatu

objek dari suatu class dan keadaan yang menyebabkan state berubah. d. Sequence Diagram

Sequence diagram merupakan suatu diagram yang menggambarkan

interaksi antar objek dan mengindikasikan komunikasi diantara objek-objek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh objek-objek yang melakukan suatu tugas atau aksi tertentu. Objek-objek tersebut kemudian diurutkan dari kiri ke kanan, aktor


(64)

20

yang menginisialisasi interaksi biasanya disimpan di paling kiri dari diagram.

Gambar 2. 11 Sequence Diagram

e. Collaboration Diagram

Collaboration Diagram menggambarkan kolaborasi dinamis seperti

sequence diagram. Dalam menunjukan pertukaran pesan, collaboration

diagram menggambarkan objek dan hubungannya. f. Activity Diagram

Activity diagram merupakan cara menggambarkan proses bisnis dan

urutan aktivitas dalam sebuah proses yang dipakai pada business modeling

untuk memperlihatkan urutan aktifitas proses bisnis. Struktur diagram ini mirip flowchart atau Data Flow Diagram (DFD) pada perancangan

terstruktur. Activity diagram sangat bermanfaat apabila kita membuat

diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan.


(65)

21

Gambar 2. 12 Activity Diagram

g. Component Diagram

Menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan diantaranya. Komponen dapat juga berupa

interface, yaitu kumpulan layanan yang disediakan sebuah komponen

untuk komponen lainnya [3]. h. Package 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


(66)

22

class diagram bisa dibangun secara terpisah dengan menggunakan

Package diagram untuk mewakili hubungan yang antar class pada

package yang berbeda.

Gambar 2. 13 Package Diagram

i. Deployment Diagram

Deployment diagram digunakan untuk menunjukan alokasi artefak pada

node dalam desain fisik sebuah sistem. Sebuah deployment diagram

mewakili sebuah gambaran ke dalam struktur artefak suatu sistem.

Deployment diagram lebih berfokus pada aspek fisik dari object-oriented

system. Dengan menggunakan deployment diagram, gambaran mengenai

distribusi komponen dan relasinya dengan sistem maupun platform tempat

sistem berjalan bisa digambarkan dengan lebih jelas, sehingga dengan menggunakan deployment diagram, gambaran akan interaksi antara


(67)

23

Gambar 2. 14 Deployment Diagram 2.2.2.3Tujuan Penggunaan UML

Terdapat dua tujuan penggunaan UML, diantaranya yaitu :

1. Memodelkan suatu sistem (bukan hanya perangkat lunak) yang menggunakan konsep berorientasi objek.

2. Menciptakan suatu bahasa pemodelan yang dapat digunakan baik oleh manusia maupun mesin [3].

2.2.3Image Processing (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. Kita dapat menganggap suatu citra digital sebagai suatu matriks, dimana indeks baris dan kolomnya menyatakan koordinat sebuah titik pada citra tersebut dan nilai masing-masing elemennya menyatakan intensitas cahaya pada titik tersebut. Suatu titik


(68)

24

pada sebuah citra digital sering disebut sebagai elemen citra, elemen gambar, dan piksel. Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer menjadi citra yang kualitasnya lebih baik.

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 “a

picture is more than a thousand words” (sebuah gambar akan lebih bermakna dari

seribu kata). Maksudnya tentu sebuah gambar dapat memberikan informasi yang lebih banyak dari pada informasi tersebut disajikan dalam bentuk kata-kata (tekstual). Beberapa jenis operasi pengolahan citra adalah sebagai berikut :

1. Modifikasi Kecemerlangan(Brightness Modification)

Mengubah nilai keabuan/warna dari gelap menuju terang atau sebaliknya mengubah citra yang terlalu cemerlang/pucat menjadi gelap.

2. Peningkatan Kontras (Contast Enhancement)

Dengan peningkatan kontras maka titik yang cenderung gelap menjadi lebih gelap dan yang cenderung terang menjadi lebih cemerlang.

3. Negasi


(69)

25

4. Pengabuan (Grayscale)

Merupakan proses konversi citra dengan warna sebenarnya (true color)

menjadi citra keabuan (grayscale).

5. Pengambangan (Thresholding)

Operasi pengambangan digunakan untuk mengubah citra dengan format skala keabuan, yang mempunyai kemungkinan nilai lebih dari 2 ke citra biner yang memiliki 2 buah nilai (yaitu 0 dan 1).

6. Pencerminan (Flipping)

Pencerminan merupakan proses menggambar citra ke bentuk kebalikannya seperti ketika sedang bercermin.

7. Rotasi (Rotating)

Rotasi yaitu proses memutar koordinat citra sesuai derajat yang ditentukan.

8. Pemotongan (Cropping)

Memotong satu bagian dari citra sesuai kebutuhan. 9. Penskalaan (Scaling)

Mengubah ukuran citra menjadi lebih besar atau lebih kecil. 10.Deteksi Tepi (Edge Detection)

Deteksi tepi (edge detection) pada suatu citra adalah suatu proses yang

menghasilkan tepi-tepi dari obyek-obyek citra.

2.2.4Augmented Reality

Saat perkembangan teknologi semakin meningkat, hal ini juga erpengaruh terhadap bidang computer vision. Definisi computer vision secara umun adalah


(70)

26

merupakan ilmu dan teknologi bagaimana suatu machine/system melihat sesuatu.

Masukan untuk suatu system berbasis computer vision adalah citra atau image.

Data citra dapat berbentuk urutan video, citra dari kamera, dan lain-lain.

Beberapa hal yang dikerjakan oleh computer vision adalah recognition,

motion, scene reconstruction, dan image restoration. Berikut beberapa contoh

penerapan computer vision, yaitu controlling process, detecting events, organizing

information, modeling object or environtments, dan interaction (human-computer

interaction) [7].

Augmented Reality (AR) adalah sebuah bidang penelitian komputer yang

berhubungan dengan kombinasi antara dunia nyata dengan data hasil rekayasa komputer. AR juga salah satu tenologi yang mengunakan teknik computer vision

dalam menentukan pesesuaian antara citra dan dunia nyata, menghitung pose,

projection matrix, homografi dari persesuaian-persesuaian ini.

Kunci kesuksesan dari system AR adalah meniru semirip mungin kehidupan dunia nyata. Dengan kata lain, dari sudut pandang pengguna, pengguna tidak perlu belajar terlalu lama dalam menggunakan system AR, sebaliknya dengan cepat mampu mengoperasikan system tersebut berdasarkan pengalaman dalam dunia nyata.

Untuk menjalankan sistem AR, minimal terdiri atas kamera, perangkat monitor, dan dalam kasus-kasus tertentu memerukan perangkat khusus untuk beriteraksi dengan objek virtual.


(71)

27

Gambar 2. 15 Perangkat Pendukung Augmented Reality

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.


(72)

28

Gambar 2. 17 Face Tracking

Macam-macam teknik yang digunakan pada augmented reality diantaranya, yaitu :

1. Teknik Marker Tracking

Teknik ini menggunakan marker untuk mendeteksi posisi tampilnya objek. Marker adalah pola yang dibuat dalam bentuk gambar yang telah dicetak dengan printer yang akan dikenali oleh kamera. Marker yang dapat dideteksi hanya yang berwarna hitam putih seperti gambar di bawah ini :

Gambar 2. 18 Marker Tracking

SDK atau Engine yang dapat digunakan untuk teknik ini adalah :

a. ARToolkit b. FLARToolkit c. SLARToolkit


(73)

29

2. Teknik Markerless Tracking

Teknik masih menggunakan marker sebagai alat untuk mendeteksi. Namun marker yang digunakan dapat berbentuk apa saja, misalnya foto atau bahkan benda. SDK atau Engine yang dapat digunakan untuk teknik ini adalah :

a. osgART b. Layar

c. D’Fusion Studio

d. IN2AR

3. Teknik GPS Tracking

Teknik GPS Tracking memanfaatkan lokasi longitude dan latitude sebagai

alat untuk mendeteksi. Biasanya teknik ini digunakan di perangkat lunak untuk smartphone. SDK atau Engine yang dapat digunakan untuk teknik

ini adalah : a. Layar b. Junaio c. Mixare d. KHARMA 4. Teknik Face Tracking

Teknik ini menggunakan wajah manusia untuk dideteksi dan pemanfaatannya bisa untuk hanya untuk face tracking maupun face

recognition. SDK atau Engine yang dapat digunakan untuk teknik ini


(74)

30

a. Beyond Reality Face b. Viewdle

c. SHORE

2.2.5Cara Kerja Algoritma Haar Cascade Classifier

Proses deteksi adanya citra wajah dalam sebuah gambar dapat menggunakan sebuah metode yang dipublikasikan oleh Paul Viola dan Michael Jones tahun 2001. Umumnya disebut algoritma Haar Cascade Classifier. Metode ini merupakan metode yang menggunakan statistik model (classifier). Di bawah ini

merupakan proses terjadinya deteksi wajah.

2.2.5.1Penskalaan ukuran gambar

Scaling atau penskalaan merupakan proses mengubah ukuran gambar digital

menjadi lebih besar ataupun lebih kecil. Untuk sistem akan memanfaatkan

package display object yang merupakan package class milik Flash. Scaling dapat

dilakukan dengan memanipulasi ukuran tampilan objek dalam dua cara, menggunakan salah satu properti ( width and height ) atau properti method skala

yaitu scalex dan scaley. Properti skala mewakili ukuran relatif dari tampilan objek

dibandingkan dengan ukuran aslinya.

Pada awalnya harus ditentukan dahulu faktor skala untuk membuat layar menampilkan dan memproses gambar dari kamera sesuai dengan ukuran yang diinginkan. Tahap Scaling ini membutuhkan skala yang tepat, karena tahap

scaling dilakukan pada beberapa proses dan semua nilai skala harus konsisten. Skala yang tepat dan umum digunakan adalah empat karena menyesuaikan


(75)

31

dengan panjang dan lebar layar yang umum digunakan yaitu 500x450, akan tetapi bisa bersifat dinamis dengan mengubah nilai dari variabel faktor skala. Jika faktor skala terlalu besar tidak hanya mempengaruhi terhadap tampilan tetapi juga proses akan menjadi lebih lama. Jika faktor skala terlalu kecil maka penampilan stage di

flash akan tidak jelas. Fungsi skala dapat dilihat pada kelas HaarCascade di bawah ini.

public function set scale(s:Number):void {

if( s == _scale ){ return; } _scale = s;

// update rect's width, height, weight var feature:FeatureBase;

inv_window_area = 1 / ( base_window_w * base_window_h * s * s );

var tree:FeatureTree = firstTree; while ( tree != null )

{

feature = tree.firstFeature; while( feature != null ) {

feature.setScaleAndWeight( s, inv_window_area );

feature = feature.next; }

tree = tree.next; }

}

2.2.5.2Haar Feature

Haar Feature adalah fitur yang digunakan oleh Viola dan Jones didasarkan

pada Wavelet Haar. Wavelet Haar adalah gelombang tunggal bujur 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:


(76)

32

a. Tipe two-rectangle feature (horisontal/vertikal)

b. Tipe three-rectangle feature

c. Tipe four-rectangle feature

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

Gambar 2. 20 Contoh Penerapan Haar Feature

Di dalam library Marilena haar like feature berada di kelas FeatureBase

dimana kelas tersebut merupakan template yang dapat diturunkan sesuai dengan

jenis fitur yang digunakan. Misalnya dalam sistem ini akan menggunakan fitur dengan jenis b pada gambar 2.21. Maka kelas featureBase dapat diturunkan menjadi kelas Feature2Rects yang memiliki dua variabel HaarRect. Begitu juga jika menggunakan tiga haar maka dapat dibuat kelas Feature3Rect yang memiliki


(77)

33

tiga variabel Haarrect. Berikut ini adalah kelas FeatureBase yang digunakan pada

library Marilena :

public class FeatureBase{

public var threshold :Number; public var left_val :Number; public var right_val :Number; public var next:FeatureBase;

public function FeatureBase( _th:Number, _lv:Number, _rv:Number)

{

threshold = _th; left_val = _lv; right_val = _rv; }

public function getSum( targetImage:TargetImage, x:int, y:int ):Number{

return 0; }

public function

setScaleAndWeight(s:Number,w:Number):void{ }

}

Nilai dari Haar Feature adalah perbedaan antara jumlah nilai-nilai piksel

gray level dalam daerah kotak hitam dan daerah kotak putih. Kotak Haar Feature

dapat dihitung secara cepat menggunakan integral image.

2.2.5.3Integral Image

Integral Image digunakan untuk menentukan ada atau tidak 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


(78)

34

dijumlahkan dengan beberapa operasi bilangan bulat per piksel. Berikut contoh gambar yang dapat dijadikan perhitungan integral image.

Gambar 2. 21 Contoh Bagian Dari Haar Feature

Sedangkan di bawah ini merupakan contoh perhitungan piksel wajah dari kiri atas sampai kanan bawah. Nilai integral image dari kolom kesatu baris kesatu

tetap, sedangkan integral image kolom kedua baris kesatu merupakan jumlah nilai

piksel wajah di sebelah kirinya. Kolom kesatu baris kedua memperoleh nilai integral image dari jumlah nilai piksel kolom kesatu baris kesatu. Di bawah ini perhitungan lengkapnya :

Dar i per

hitungan integral image diatas, maka diperolah nilai integral fitur putih =

{3,8,15} dan nilai integral fitur hitam = {7,17,25}. Maka nilai haar feature

tersebut adalah :

f(x) = (7 + 17 + 25) - (3 + 8 + 15) = 23

1 2 3 2 3 4 4 5 1

1 1+2 1+2+3

1+2 1+2+2+3 1+2+3+2+3+4

1+2+4 1+2+2+3+4+5 1+2+3+2+3+4+4+5+1

1 3 6 3 8 15


(79)

35

Proses perhitungan integral image di dalam sistem ini terdapat pada kelas

TargetImage dalam library Marilena.

2.2.5.4Cascade Classifier

Cascade classifier adalah sebuah rantai stage classifier, dimana setiap stage

classifier digunakan untuk mendeteksi apakah didalam image sub window

terdapat obyek yang diinginkan (object of interest). Pada proses ini menggunakan

klasifikasi bertingkat. Filter pada masing-masing level mengklasifikasikan gambar yang sebelumnya telah difilter. Ketika filter berhasil melewatkan image region,

image region kemudian masuk pada filter yang selanjutnya. Image region yang

telah melalui semua filter akan dianggap sebagai “Wajah” dan jika filter tersebut

gagal, maka daerah tersebut dianggap sebagai “Bukan Wajah”.

Citra Filter 1 Filter 2 Filter n Wajah

Bukan Wajah

T T T T

F F

F

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

Training ini memiliki isi yang berbeda baik dari segi jumlah stage, jumlah

tree, model segi empat dari fitur (rectangle) maupun nilai treshold nya. Stage


(80)

36

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 tingkatanterdiri

dari beberapa tree, biasanya semakin tinggi tingkatan maka tree yangterdapat di

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. Di bawah ini merupakan capture dari

stage 0 tingkatan tree pada kelas HaarCascade untuk proses deteksi wajah.

tree = firstTree = new FeatureTree(0.822689414024353);

feature = tree.firstFeature = new Feature2Rects(0.004014195874333382,0.0337941907346249,0.8378106951 713562,[3,7,14,4,-1],[3,9,14,2,2]);

feature = feature.next = new Feature2Rects(0.0151513395830989,0.1514132022857666,0.748881220817 5659,[1,2,18,4,-1],[7,2,6,4,3]);

feature.next = new Feature2Rects(0.004210993181914091,0.0900492817163467,0.6374819874 763489,[1,7,15,9,-1],[1,10,15,3,3]);

Dari 22 tingkatan tree di atas, proses deteksi wajah dapat diketahui melalui

pseudo code dari algoritma Haar Cascade Classifier di bawah ini.

1. function run (r: Rectangle, tree: FeatureTree)  integer

2. (I.S : nilai rectangle dari strong classifier dan tree telah terdefinisi)

3. (F.S : menghasilkan classifier terbaik) 4.

5. Kamus :

6. x,y,w,h : integer 7. mean : real

8. variance_norm_factor, inv_window_area : real 9. features : array of real


(81)

37

11.i,j : integer

12.feature : FeatureBase 13.tree : FeatureTree 14.

15.Algoritma : 16.

17.x  r .x 18.y  r .y 19.w  r .width 20.h  r .height 21.val  0

22.sum  0 23.i  0 24.j  0 25.st_th  0 26.

27.mean  targetImage.getSum(x,y,w,h) * inv_window_area 28.variance_norm_factor  targetImage.getSum2(x,y,w,h)*

inv_window_area - mean*mean 29.

30.if(variance_norm_factor >= 0) then

31. variance_norm_factor  Math.sqrt(variance_norm_factor) 32.else

33. variance_norm_factor  1 34.endif

35.

36.while (tree ≠ nil) do

37. feature  tree.firstFeature 38. val  0

39. st_th  tree.stage_threshold 40.

41. while (feature ≠ nil) do

42. sum  feature.getSum(targetImage, x, y) 43.

44. if (sum < feature.threshold * variance_norm_factor) then

45. val = val + feature.left_val 46. else

47. val = val + feature.right_val 48. endif

49.

50. if (val > st_th) then 51. break

52. endif

53. feature  feature.next 54. endwhile

55.

56. if (val < st_th) then 57. return 0

58. endif

59. tree  tree.next 60.endwhile

61.return 1 62.endfunction


(82)

38

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. Di bawan ini gambar wajah terdeteksi dari hasil Haar training.

Gambar 2. 23 Wajah Terdeteksi 2.2.6Library Marilena

Library Marilena merupakan library yang mendukung deteksi wajah pada

flash dengan menggunakan ActionScript. Marilena merupakan library yang telah

berjalan baik untuk mendeteksi wajah atau benda lain yang berdasarkan algoritma Haar . Hanya saja kekurangan dari Haar 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


(83)

39

Marilena versi aslinya. Untuk mengunduh Marilena dapat menggunakan svn dengan memasukkan alamat http://www.libspark.org/svn/as3/Marilena/trunk/.

Pada aplikasi virtual aksesories ini menggunakan empat library object

detection dalam marilena yaitu ObjectDetector, ObjectDetectorEvent,

ObjectDetectorOptions, dan CameraBitmap. Keempat library tersebut dipanggil

dalam kelas FaceDetector_Camera yang berfungsi untuk menampilkan wajah dan menampilkan objek virtual pada layar kamera webcam. Di bawah ini ActionScript dari empat library yang digunakan diantaranya, yaitu :

1. ObjectDetector

Berfungi sebagai kelas pertama untuk mendeteksi sebuah objek. 2. ObjectDetectorEvent

Berfungsi sebagai event atau kejadian jika terdapat objek yang terdeteksi. 3. ObjectDetectorOptions

Berfungsi sebagai pilihan objek yang akan dipilih. Pada marilena objek yang dipilh yaitu pada area wajah, jadi pada kelas ini objek wajah yang akan terdeteksi.

4. CameraBitmap

Berfungsi untuk mengatur ukuran dari kamera yang akan ditampilkan di layar dan juga berfungsi untuk mengaktifkan kamera.

2.2.7StarUML

StarUML adalah software permodelan yang mendukung UML (UnifiedModeling Language). Berdasarkan pada UML version 1.4 dan dilengkapi 11 macam diagram yang berbeda, mendukung notasi UML 2.0 dan juga


(84)

40

mendukung pendekatan MDA (Model Driven Architecture) dengan dukungan konsep UML.StarUML dapat memaksimalkan pruduktivitas dan kualitas dari suatu software project. Berikut ini merupakan konsep dasar dari StarUml :

2.2.7.1Model, View, dan Diagram

StarUML membuat perbedaan konseptual yang lebih jelas antara models, views and diagrams. Model adalah elemen yang memuat informasi untuk model software. View adalah suatu ekpresi visual dari informasi di dalam model dan Diagram adalah suatu koleksi dari elemen yang memberikan pemikiran user didalam mendesaian secara spesifik.

Gambar 2. 24 Model, View, dan Diagram

2.2.7.2Project 1. Project

Project adalah unit manajemen dasar didalam StarUML. Suatu project


(85)

top-41

level package yang selalu ada di dalam beberapa model software. Secara

umum, satu project disimpan dalam satu file.

2. File Project

File project disimpan kedalam format XML dengan extension “.UML” . Semua model,view dan diagram yang dibuat dengan StarUML disimpan dalam satu file project. File project berisikan informasi sebagai berikut :

a. UML profiles used in the project

b. Unit files referenced by the project

c. Information for all models contained in the project

d. Information for all diagrams and views contained in the project

3. Module

Modul adalah suatu package yang menyediakan fungsi – fungsi baru dan feature sebagai perluasan dari StarUML. Modul dapat dibuat sebagai kombinasi dari beberapa elemen – elemen extension dan juga membuat beberapa jenis elemen – elemen didalam suatu modul.

2.2.8Adobe 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


(86)

42

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.

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


(87)

43

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

Gambar 2. 25 Logo Adobe Flash 2.2.9Action Script

ActionScript merupakan bahasa pemrograman yang bekerja di dalam

platform Adobe Flash. ActionScript adalah menunjukkan koleksi set dari action,

function, event, dan event handler yang memungkinkan dikembangkan oleh para


(88)

44

ActionScript merupakan bahasa pemrograman berorientasi objek didasarkan pada ECMAScript‐standar yang sama yang menjadi dasar JavaScript dan ditujukan untuk berjalan di atas sebuah runtime environment (seperti Flash Player, Adobe AIR, atau Flash Lite). Mirip seperti prinsipnya Java, Flash pada dasarnya berjalan diatas sebuah AVM (ActionScript Virtual Machine).

ActionScript sendiri telah memiliki beberapa versi dari satu sampai kini ada versi tiga. ActionScript 2 yaitu versi ActionScript yang telah digunakan dalam Flash Player 8 dan sebelumnya, tetap didukung dalam Flash Player 9 dan Flash Player 10. Pada akhirnya tahun 2006 Adobe merilis Action Script versi 3.0, yang merupakan bahasa pemprograman yang bisa didapatkan di Adobe Flash CS3 ke atas beda halnya dengan Macromedia Flash 8 dan sebelumnya, yang hanya mendukung action script 2.

Di dalam Flex framework, antarmuka pengguna dibuat menggunakan file

MXML, sedangkan ActionScript 3 digunakan hanya untuk menciptakan file akhir SWF. Oleh karena itu ActionScript 3.0 memiliki beberapa keuntungan dibandingkan versi pendahulunya diantaranya yaitu :

a. Memiliki lebih banyak laporan detail error yang ada. Hal tersebut dikarenakan ActionScript 3.0 mewajibkan penulisan tipe data dari variabel, argument, fungsi, dan yang lainnya. Berbeda dengan ActionScript 2 yang menjadikan hal tersebut sebagai optional. Perubahan


(89)

45

b. Perubahan sintak yang terjadi ActionScript 3.0 seperti pada nama properti yang di awali underscores pada ActionScript 2.0 dan tidak perlu lagi

digunakan pada ActionScript 3.0.

c. Tampilan Arsitektur yang baru. Banyak metode sebelumnya untuk menambahkan sesuatu secara dinamis, sekarang memiliki proses yang lebih sederhana dan juga lebih mudah.

Gambar 2. 26 Contoh ActionScript 3 Mouse Event 2.2.10 Adobe Photoshop CS

Photoshop adalah software yang digunakan untuk memodifikasi gambar atau foto secara profesional baik meliputi modifikasi obyek yang sederhana maupun yang sulit sekalipun. Photoshop merupakan salah satu software yang

berguna untuk mengolah gambar berbasis bitmap, yang mempunyai tool dan efek yang lengkap, sehingga dapat menghasilkan gambar atau foto yang berkwalitas


(90)

46

tinggi (jika ingin lebih jauh mengetahui tentang gambar berbasis bitmap silakan

download dokumennya di sini) [6].

Kelengkapan fitur yang ada di dalam Photoshop inilah yang akhirnya membuat software ini banyak digunakan oleh desainer grafis profesional. Dan mungkin juga sampai saat ini masih belum ada software desain grafis lain yang

bisa menyamai kelengkapan fitur dalam Photoshop.

2.2.10.1 Bagian-Bagian Adobe Photoshop CS

Gambar 2.35 dibawah ini merupakan gambar dari bagian-bagian yang ada pada Adobe Photoshop CS [6].

Gambar 2. 27 Bagian-bagian Adobe Photoshop CS

Keterangan : a. Menu Bar


(91)

47

Menu bar adalah menu pulldown yang berisi perintah-perintah dalam

Photoshop seperti menu File, Edit, Image, Layer, Select, Filter, View,

Window, dan Help. Baris menu ini terkelompok berdasarkan topiknya. b. Toolbox

Toolbox adalah alat-alat yang digunakan untuk memodifikasi image

(gambar atau foto). Alat-alat ini juga dikelompokkan menurut jenisnya. c. Canvas

Canvas adalah bidang yang digunakan sebagai tempat untuk meletakkan

image. Biasanya ukuran canvas akan sama dengan ukuran image, tetapi

dalam Photoshop kita dapat merubah ukuran canvas dan image sesuai

dengan kebutuhan. Kalau kita memunculkan canvas baru biasanya ada tiga pilihan yaitu canvas yang putih, berwarna dan transparan.

d. Window Pallete

Window pallete adalah window yang berguna untuk memilih atau

mengatur berbagai parameter pada saat menyunting image dalam

Photoshop. Untuk menampilkan Window Pallete dapat kita lakukan

dengan cara memilih menu Window kemudian pilih pallete yang

dimunculkan [6].

2.2.10.2 Toolbox Pada Adobe Photoshop CS

Gambar 2.36 pada halaman berikutnya ini merupakan bagian-bagian dari


(92)

48

Gambar 2. 28 Toolbox

Keterangan :

a. Rectangular Marquee Tool

Digunakan untuk menyeleksi atau mem-blok bagian dari suatu image

dengan bentuk seleksi persegi. Di dalamnya ada Elliptical Marquee Tool,

Single Row, Marquee Tool, dan Single Column Marquee Tool.

b. Lasso Tool

Digunakan untuk menyeleksi atau mem-blok bagian dari suatu image dengan bentuk bebas dengan cara mendrag bagian image yang akan diseleksi. Di dalamnya ada Poligonal Lasso Tool, dan Magnetic Lasso


(93)

49

c. Crop

Digunakan untuk menyeleksi bagian dari suatu image dengan bentuk seleksi persegi dan membuang bagian yang tidak diinginkan.

d. Clone Stamp Tool

Digunakan untuk mengambil contoh dari suatu image dan membuat kopinya dimanapun.

e. Eraser Tool

Digunakan untuk menghapus image. Ini juga dapat digunakan untuk

mengembalikan sebuah image menjadi sebuah daerah awal.

f. Blur Tool

Digunakan untuk mengaburkan bagian dari suatu image.

g. Path Selection Tool

Digunakan untuk mempercerah bagian dari suatu image.

h. Pen Tool

Digunakan untuk merancang atau mengedit path.

i. Notes Tool

Digunakan untuk membuat catatan pada suatu bagian image.

j. Hand Tool

Digunakan untuk menggeser image jika lebar image melebihi ukuran

window.

k. Set Foreground Color


(1)

147

3. Apakah Anda setuju bahwa aplikasi ini mudah untuk digunakan ?

Pertanyaan No Keterangan Responden Skor

Persentase (%)

3

1. Sangat Setuju 5 25

(45/50)*100=90

2. Setuju 5 20

3. Cukup Setuju 0 0

4. Kurang Setuju 0 0

5. Tidak Setuju 0 0

Jumlah 10 45

Hasil persentase pada soal nomor tiga ini adalah 90%. Dengan demikian pengguna setuju bahwa aplikasi ini sangat mudah untuk digunakan.

4. Apakah Anda setuju bahwa kualitas gambar virtual yang muncul pada aplikasi ini sesuai dengan aksesories yang ada pada e-commerce di Distro Heaven Skateboards Bandung?

Pertanyaan No Keterangan Responden Skor

Persentase (%)

4

1. Sangat Setuju 0 0

(38/50)*100=76

2. Setuju 8 32

3. Cukup Setuju 2 6

4. Kurang Setuju 0 0


(2)

Jumlah 10 38

Hasil persentase pada soal nomor tiga ini adalah 90%. Dengan demikian pengguna setuju mengenai kualitas gambar virtual yang muncul pada aplikasi ini sesuai dengan aksesories yang ada pada e-commerce di Distro Heaven Skateboards Bandung.

5. Apakah Anda setuju bahwa Anda jadi lebih tertarik untuk membeli aksesories setelah menggunakan aplikasi virtual aksesories ini ?

Pertanyaan No Keterangan Responden Skor

Persentase (%)

5

1. Sangat Setuju 0 0

(34/50)*100=68

2. Setuju 8 32

3. Cukup Setuju 1 1

4. Kurang Setuju 1 1

5. Tidak Setuju 0 0

Jumlah 10 34

Hasil persentase pada soal nomor tiga ini adalah 68%. Dengan demikian pengguna setuju bahwa pengguna jadi lebih tertarik untuk membeli aksesories setelah menggunakan aplikasi virtual aksesories ini.


(3)

149

BAB 5

KESIMPULAN DAN SARAN

5.1Kesimpulan

Kesimpulan merupakan suatu proposisi (kalimat yang disampaikan) yang diambil dari beberapa premis (ide pemikiran) dengan aturan-aturan inferensi (yang berlaku). Dari hasil penelitian pada penulisan skripsi dan tugas akhir ini, dapat diambil kesimpulan bahwa algoritma Haar Cascade Classifier dengan menggunakan Library Marilena cocok untuk mengimplementasi face tracking

berbasis website yang diterapkan pada e-commerce di Distro Heaven Skateboards Bandung, karena dari hasil pengujian yang didapatkan menghasilkan kebutuhan dari tujuan dibuatnya aplikasi ini sesuai dengan apa yang diinginkan. Akan tetapi, jarak antara wajah dengan aksesories virtual harus tetap saling menyesuaikan ketika kita menggunakan aplikasi ini.

5.2Saran

Saran merupakan pendapat, usulan, atau anjuran yang dikemukakan untuk dipertimbangkan. Saran dikemukakan agar terjadi perbaikan atau peningkatan dari keadaan semula. Pada aplikasi ini terdapat saran pengembangan agar aplikasi dapat ditingkatkan menjadi lebih baik lagi, yaitu mengembangkan aplikasi dengan menggunakan motion tracking agar terdapat virtual button pada setiap menu, sehingga technology augmented reality pada aplikasi ini menjadi semakin modern.


(4)

151

[1] Sommerville, I. (2007). Software Engineering, ed. 8th . USA: Addison-Wesley.

[2] Hidayat (2011). Menyusun Skripsi dan Tesis. Bandung: Informatika. [3] Virtual Think Team. Virtual Think Team [Online].

http://vthink.web.id/index.php/content/post/169/Unified-Modeling-Language-UML-Part-1

[4] Digital Library - Perpustakaan Pusat Unikom - Knowledge Center [Online]

http://elib.unikom.ac.id/

[5] ITS Digital Repository [Online]. http://digilib.its.ac.id/

[6] Purwanto, Edi. (2007). Tutorial Adobe Photoshop CS. edipsw.wordpress.com

[7] Furht, Borko. (2011). Handbook Of Augmented Reality. Florida:

Department of Computer and Electrical Engineering and Computer Science.

[8] Rekayasa Perangkat Lunak Proses Pembangunan Perangkat Lunak.

Modul Perkuliahan Rekayasa Perangkat Lunak Teknik Informatika. Universitas Komputer Indonesia, Bandung.

[9] Paul Viola and Michael Jones. "Robust Real-time Object Detection". p. 19, July 2001.


(5)

152

http://staruml.com

[11] Ahmad, Usman. 2005. Pengolahan Citra Digital & Teknik Pemrogramannya. Yogyakarta : Penerbit Graha Ilmu


(6)

Data Pribadi :

NIM : 10108218

Kelas : IF-5

Nama : Arief Rachman Maulana

Tempat, Tanggal Lahir : Karawang, 25 Agustus 1990 Jenis Kelamin : Laki-Laki

Agama : Islam

Kewarganegaraan : Indonesia

Alamat : Jatirasa Barat, Karawang

Data Pendidikan :

1996-2002 : SDN Karawang Kulon 1

2002-2005 : SLTP Negeri 1 Karawang

2005-2008 ` : SMA Negeri 3 Karawang

2008-2012 : Program S1, Jurusan Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia,