Pembangunan Virtual Accessories Room Pada E-Commerce Di Distro Heaven Skateboards Bandung
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,