• Tidak ada hasil yang ditemukan

Perangkat Lunak Jilbab Virtual Dengan Augmented Reality Berbasis Web Di Toko Sakinah Kerudung

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perangkat Lunak Jilbab Virtual Dengan Augmented Reality Berbasis Web Di Toko Sakinah Kerudung"

Copied!
163
0
0

Teks penuh

(1)
(2)

PERANGKAT LUNAK JILBAB VIRTUAL

DENGAN AUGMENTED REALITY BERBASIS WEB

DI TOKO SAKINAH KERUDUNG

SKRIPSI

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

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

RIANI AZZAHRA

10108654

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

(3)
(4)
(5)

i

DI TOKO SAKINAH KERUDUNG

Oleh

RIANI AZZAHRA

10108654

Toko Sakinah Kerudung merupakan salah satu toko jilbab di Bandung yang belum merasakan manfaat maksimal penjualan via online. Hal tersebut disebabkan kepercayaan konsumen yang kurang pada toko online Sakinah Kerudung. Masalah lainnya yaitu ketidakpercayaan konsumen pada kecocokan barang yang akan dipilih. Oleh karena itu penelitian ini memanfaatkan teknologi

augmented reality untuk menarik minat pengunjung web Sakinah Kerudung.

Penerapan augmented reality di toko Sakinah Kerudung yaitu berupa jilbab virtual berbasis web.

Pembangunan perangkat lunak ini menggunakan paradigma waterfall dan pemrograman berorientasi objek dengan UML diagram. Perangkat lunak jilbab virtual ini menggunakan metode Haar Cascade Classifier yang diimplementasikan di library Marilena dan bahasa pemrograman ActionScript3. Sebelum membangun jilbab virtual diperlukan analisis sistem terlebih dahulu. Setelah melalui tahap peracangan dan implementasi sistem, pembangunan perangkat lunak jilbab virtual melalui tahap pengujian.

Hasil dari pengujian white box ialah algoritma yang digunakan telah valid dan menghasilkan nilai yang konsisten yaitu tujuh. Berdasarkan performance

testing ialah jilbab virtual ini menghasilkan jarak rata-rata wajah tepat

menggunakan jilbab virtual yaitu 70 centimeter. Sedangkan menurut para responden kuesioner jilbab virtual ini berhasil menarik minat dan membantu memilih jilbab.

(6)

ii

WITH AUGMENTED REALITY WEB BASED

IN SAKINAH KERUDUNG SHOP

BY

RIANI AZZAHRA 10108654

Sakinah Kerudung is one of the hijab shop in Bandung which is feeling maximum benefit from sales via online yet. It is caused by consumers’s trust which are less on online shop. Another problem is consumers’s distrust on the suitability of items to be selected. Therefore, this research takes of augmented reality technology to interest visitors of Sakinah Kerudung online shop. Implementation of augmented reality in Sakinah Kerudung is a virtual hijab web based.

Development of this software uses waterfall paradigm and object oriented programming with UML diagrams. This software uses a Haar Cascade Classifier methods which is implemented in the Marilena library and programming language of actionscript3. Before build a virtual hijab is required system analysis. After virtual hijab through the phase of system design and implementation, development of virtual hijab through the testing phase.

Results of white box testing from the algorithm are valid and have a consistent value is seven. Based of performance testing is the virtual hijab produces an average distance of the right face use virtual hijab which is 70 centimeter. Meanwhile, according to the questionnaire respondents are virtual hijab successfully attracts the interest and help choose the hijab.

(7)

Assalamua’alaikum

Segala puji dan s memberikan rahmat skripsi yang berjudul Berbasis Web Di Tok Dalam kesempa mengucapkan terima 1. Bapak Dr. Ir. Ed

Komputer Indone 2. Bapak Prof. Dr. Ir

Ilmu Komputer Un 3. Ibu Mira Kania Sa

Universitas Kompu 4. Bapak Adam Muk

memberikan doron laporan tugas akhir 5. Ibu Nelly Indriani

Finandhita, S.Kom

iii

m Wr. Wb.

n syukur penulis panjatkan kehadirat ALLAH S at dan karunia-Nya sehingga penulis dapat ul “Perangkat Lunak Jilbab Virtual Dengan Aug

oko Sakinah Kerudung”.

patan ini, dengan segala kerendahan hati a kasih yang sebesar-besarnya kepada : Eddy Soeryanto Soegoto, M.Sc, selaku Rek onesia (UNIKOM).

Denny Kurniadie, M.Sc. selaku Dekan Faku Universitas Komputer Indonesia (UNIKOM). Sabariah, S.T., M.T. selaku Ketua Jurusan Tek

puter Indonesia (UNIKOM).

ukharil Bachtiar, S.Kom. selaku Dosen Pembim rongan dan arahan kepada penulis selama pro

hir ini.

ni W, S.Si., M.T. selaku dosen penguji satu om selaku dosen penguji tiga.

H SWT yang telah at menyelesaikan

Augmented Reality

ati penulis ingin

ektor Universitas

kultas Teknik dan

eknik Informatika

imbing yang telah roses penyusunan

(8)

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

7. Almarhumah mama, papa, ibu, adik, dan keluarga tercinta lainnya, tanpa kalian penulis tidak akan seperti saat ini.

8. Mas Muhammad Miqdad beserta keluarga selaku pemilik toko Sakinah Kerudung.

9. Ochie, eka dan a oki yang tidak pernah bosan memberikan dukungan moril dalam mengerjakan skripsi ini.

10. Alis, Amiq, Arif, Birda, Ceppy, Dika, Fathan, Ghe, Feby, Tanti, Tafta, Yandi, dan seluruh kawan-kawan IF 14 angkatan 2008 yang tidak bisa saya sebutkan satu persatu, terimakasih telah memberikan segala bentuk bantuan untuk menyelesaikan skripsi ini.

11.Arif Rachman, Ilham, Puji, Sandi, Prima, dan teman-teman seperjuangan lainnya yang penulis tidak bisa sebutkan satu persatu.Semoga bantuan serta dukungan diberikan mendapat balasan yang baik oleh Allah SWT.

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. Akhir kata penulis berharap skripsi ini dapat berguna bagi yang membutuhkannya.

Wassalamu’alaikum Wr.Wb.

Bandung, Agustus 2012

Penulis

(9)

v

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... xiv

DAFTAR TABEL ... xvii

DAFTAR SIMBOL ... xix

DAFTAR LAMPIRAN ... xxiii

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

BAB 2 TINJAUAN PUSTAKA ... 9

2.1 Tinjauan Perusahaan ... 9

2.1.1 Sejarah Toko Sakinah Kerudung ... 9

(10)

vi

2.1.3 Misi ... 10

2.1.4 Struktur Organisasi ... 10

2.1.5 Deskripsi Tugas ... 11

2.2 Landasan Teori ... 12

2.2.1 Konsep PBO (Pemrograman Berorientasi Objek) ... 12

2.2.1.1 Kelas (Class) ... 13

2.2.1.2 Objek (object) ... 13

2.2.1.3 Metode (Method) ... 14

2.2.1.4 Atribut (Attribute) ... 14

2.2.1.5 Enkapsulasi (Encapsulation) ... 14

2.2.1.6 Pewarisan (Inheritance) ... 14

2.2.1.7 Antarmuka (interface) ... 15

2.2.1.8 Reusability ... 15

2.2.1.9 Generalisasi dan Spesialisasi ... 15

2.2.1.10 Polimorfisme (Polymorfism) ... 15

2.2.1.11 Package ... 15

2.2.2 Konsep UML (Unified Modeling Language) ... 16

2.2.2.1 Diagram UML ... 17

2.2.2.2 Class Diagram ... 17

2.2.2.3 Package Diagram... 19

2.2.2.4 Deployment Diagram ... 20

2.2.2.5 Use Case Diagram ... 20

(11)

vii

2.2.2.7 Sequence Diagram ... 22

2.2.3 Pengolahan Citra ... 23

2.2.3.1 Modifikasi Kecemerlangan (Brightness Modification) ... 24

2.2.3.2 Peningkatan Kontras (Contast Enhancement) ... 24

2.2.3.3 Negasi ... 24

2.2.3.4 Pengabuan (grayscale) ... 24

2.2.3.5 Pengambangan (Thresholding) ... 24

2.2.3.6 Pencerminan (Flipping) ... 24

2.2.3.7 Rotasi (Rotating) ... 24

2.2.3.8 Pemotongan (Cropping) ... 25

2.2.3.9 Pengskalaan (Scaling) ... 25

2.2.3.10 Deteksi Tepi (Edge Detection) ... 25

2.2.4 Metode Haar Cascade Classifier ... 25

2.2.4.1 Training Data Pada Haar ... 25

2.2.4.2 Sistem Kerja Algoritma Haar Cascade Classifier ... 26

2.2.4.3 Haar Feature ... 27

2.2.4.4 Integral Image ... 28

2.2.4.5 Cascade Classifier ... 29

2.2.5 Virtual Reality ... 30

2.2.5.1 Pengertian Virtual Reality ... 30

2.2.5.2 Sejarah Virtual Reality ... 31

2.2.6 Augmented Reality ... 32

(12)

viii

2.2.6.1.1 Teknik Marker Tracking ... 33

2.2.6.1.2 Teknik Markerless Tracking ... 33

2.2.6.1.3 Teknik GPS Tracking ... 34

2.2.6.1.4 Teknik Face Tracking ... 34

2.2.6.2 Sejarah Augmented Reality ... 34

2.2.7 ActionScript ... 35

2.2.7.1 Sejarah Perkembangan ActionScript ... 36

2.2.7.2 Dasar-dasar Pemrograman ActionScript3 ... 37

2.2.7.2.1 Penggunaan Perintah Trace ... 37

2.2.7.2.2 Pendeklarasian Variabel ... 37

2.2.7.2.3 Tipe‐tipe Data ... 38

2.2.8 Adobe Flash Professional ... 40

2.2.9 Library Marilena ... 42

2.2.10 StarUML ... 42

2.2.10.1 Model, View, dan Diagram... 43

2.2.10.2 Project dan Unit ... 43

2.2.10.2.1 Project ... 43

2.2.10.2.2 File Project ... 43

2.2.10.2.3 Modul ... 43

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 45

3.1 Analisis Sistem ... 45

3.1.1 Analisis Masalah ... 45

(13)

ix

3.1.2.1 Prosedur Pilih Barang ... 46

3.1.3 Analisis Algoritma ... 48

3.1.3.1 Inisialisasi Face Detector, kamera, dan Objek Visual ... 50

3.1.3.2 PreProcessing Image ... 51

3.1.3.2.1 Tahap Scaling ... 51

3.1.3.2.2 Tahap Grayscale ... 52

3.1.3.3 Pendeteksian Metode Haar Cascade Classifier ... 53

3.1.3.3.1 Proses Menentukan Fitur Wajah ... 54

3.1.3.3.2 Proses Menghitung Integral Image ... 56

3.1.3.3.3 Proses Membuat Cascade Classifier ... 57

3.1.3.4 Proses Menampilkan ke Stage ... 61

3.1.4 Analisis Spesifikasi Kebutuhan Perangkat Lunak ... 62

3.1.4.1 Analisis Spesifikasi Kebutuhan Fungsional ... 62

3.1.4.2 Analisis Spesifikasi Kebutuhan Non-Fungsional ... 63

3.1.5 Analisis Kebutuhan Non Fungsional ... 63

3.1.5.1 Analisis Perangkat Keras ... 64

3.1.5.2 Analisis Kebutuhan Perangkat Lunak ... 65

3.1.5.3 Analisis Pengguna ... 66

3.1.6 Analisis Data ... 66

3.1.7 Analisis Kebutuhan Fungsional ... 67

3.1.7.1 Use Case Diagram ... 67

3.1.7.1.1 Skenario Use CaseCapture Image ... 68

(14)

x

3.1.7.1.3 Skenario Use case Menampilkan Hasil AR ... 69

3.1.7.1.4 Skenario Use Case Mengambil Foto ... 70

3.1.7.1.5 Skenario Use Case Memesan Jilbab ... 71

3.1.7.1.6 Skenario Use Case Menambah Model Jilbab ... 71

3.1.7.1.7 Skenario Use Case Menghapus Data Jilbab ... 72

3.1.7.2 Sequence Diagram ... 73

3.1.7.2.1 Sequence Capture Image ... 73

3.1.7.2.2 Sequence Memilih Model Jilbab ... 74

3.1.7.2.3 Sequence Menampilkan Hasil AR ... 75

3.1.7.2.4 Sequence Mengambil Foto ... 75

3.1.7.2.5 Sequence Memesan Jilbab ... 76

3.1.7.2.6 Sequence Menambah Data ... 76

3.1.7.2.7 Sequence Menghapus Data ... 77

3.1.7.3 Activity Diagram ... 78

3.1.7.3.1 Activity Diagram Capture Image ... 78

3.1.7.3.2 Activity Diagram Memilih Model Jilbab ... 79

3.1.7.3.3 Activity Diagram Menampilkan Hasil AR ... 80

3.1.7.3.4 Activity Diagram Mengambil Foto ... 81

3.1.7.3.5 Activity Diagram Memesan Jilbab ... 81

3.1.7.3.6 Activity Diagram Menambah Model Jilbab ... 82

3.1.7.3.7 Activity Diagram Menghapus Model Jilbab ... 82

3.1.7.4 Class Diagram ... 83

(15)

xi

3.1.7.6 Deployment Diagram ... 85

3.2 Perancangan Sistem ... 86

3.2.1 Perancangan Arsitektur Perangkat Lunak ... 87

3.2.2 Perancangan Struktur Menu ... 87

3.2.2.1 Struktur Menu User ... 87

3.2.2.2 Struktur Menu Admin ... 88

3.2.3 Perancangan Antarmuka Perangkat Lunak ... 89

3.2.3.1 Perancangan Antarmuka User ... 89

3.2.3.2 Perancangan Antarmuka Admin ... 89

3.2.3.2.1 Perancangan Antarmuka Menambah Model Jilbab ... 90

3.2.3.2.2 Perancangan Antarmuka Menghapus Model Jilbab ... 90

3.2.4 Perancangan Pesan ... 91

3.2.5 Perancangan Prosedural ... 91

3.2.5.1 Prosedural Penggunaan Jilbab Virtual ... 92

3.2.5.2 Prosedural Menambah Model Jilbab ... 92

3.2.5.3 Prosedural Menghapus Model Jilbab ... 93

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 95

4.1 Implementasi Sistem ... 95

4.1.1 Implementasi File ... 95

4.1.2 Implemantasi Antarmuka ... 96

4.2 Pengujian Sistem ... 97

4.2.1 Rencana Pengujian ... 97

(16)

xii

4.2.2.1 Pengujian White Box ... 98

4.2.2.1.1 Region ... 101

4.2.2.1.2 Cyclometic Complexity ... 101

4.2.2.1.3 Independent Path ... 101

4.2.2.1.4 Graph Matriks ... 102

4.2.2.1.5 Predicate Node ... 102

4.2.2.2 Pengujian Black Box ... 103

4.2.2.2.1 Pengujian Form Menambah Data ... 103

4.2.2.2.2 Pengujian Form Hapus Data ... 104

4.2.2.2.3 Pengujian Form User ... 104

4.2.2.2.4 Pengujian Posisi Jilbab ... 105

4.2.3 Pengujian Beta ... 105

4. 2.3.1 Wawancara Admin ... 105

4.2.3.2 Kuesioner Untuk User ... 106

4.2.4 Kesimpulan Pengujian ... 107

4.2.4.1 Kesimpulan Pengujian WhiteBox ... 107

4.2.4.2 Kesimpulan Pengujian BlackBox ... 107

4.2.4.3 Kesimpulan Pengujian Beta ... 108

4.2.4.3.1 Lingkungan admin ... 108

4.2.4.3.2 Lingkungan Masyarakat Umum ... 108

BAB 5 KESIMPULAN DAN SARAN ... 113

5.1 Kesimpulan ... 113

(17)

xiii

(18)

1

1.1 Latar Belakang Masalah

Di era persaingan global seperti saat ini, semakin ketatnya persaingan dalam dunia bisnis menjadikan banyak perusahaan berlomba-lomba dalam menciptakan strategi penjualan yang inovatif. Pengadaptasian teknologi ke dalam strategi pemasaran telah menjadi salah satu solusi yang menarik bagi para pelaku bisnis. Sekarang ini untuk memperluas pemasaran banyak perusahaan yang memasarkan barangnya dan menerima pemesanan melalui web. Sama halnya dengan yang dilakukan toko Sakinah Kerudung sebagai toko kerudung yang sedang mengembangkan bisnisnya ke berbagai daerah di Indonesia, toko ini juga memasarkan dan melakukan transaksi secara online. Toko Sakinah Kerudung menjual berbagai jenis kerudung, ciput, dan aksesoris kerudung.

(19)

busana yang akan digunakan, bahkan sampai ke bentuk wajah. Tidak seperti membeli baju, membeli kerudung tentu lebih sulit walaupun dilakukan transaksi secara langsung karena jarang sekali disediakan fitting room. Meskipun ada fitting room tentu menjadi kesulitan untuk wanita mencoba kerudung tersebut karena terlalu repot. Ternyata masalah kepercayaan konsumen dalam penjualan online di atas juga dirasakan oleh toko Sakinah Kerudung. Melihat laporan penjualan Toko Sakinah ini, pemilik toko belum merasakan pemanfaatan maksimal penjualan melalui web dibandingkan dengan penjualan di enam cabangnya.

Pemanfaatan maksimal teknologi web harus dilakukan untuk menarik daya beli konsumen. Sekarang ini telah banyak pemanfaatan teknologi Augmented

Reality berbasis web yaitu dalam bentuk creative advertisement. Perpaduan

augmented reality dengan teknologi web akan lebih menambah daya tarik pembeli

karena kemudahan dalam mengakses via web. Seperti yang sekarang ini banyak digunakan oleh beberapa toko online yaitu kacamata virtual, fitting room dress

virtual, dan beberapa aksesoris virtual lainnya. Berdasarkan pengalaman yang dirasakan konsumen ketika mereka bisa terlibat dalam suatu interaksi seperti augmented reality ini dinilai banyak pelaku marketing dapat mendorong timbulnya hubungan emosional yang lebih mendalam antara konsumen dan

brand, sehingga keinginan membeli lebih besar [1].

Maka berdasarkan latar belakang tersebut, dapat disimpulkan bahwa perlu dibangun perangkat lunak yang memanfaatkan teknologi web dan teknologi

(20)

dibangunlah perangkat lunak jilbab virtual dengan augmented reality berbasis web di toko Sakinah Kerudung.

1.2 Perumusan Masalah

Berdasarkan latar belakang yang telah dikemukakan maka rumusan masalah adalah bagaimana membangun perangkat lunak jilbab virtual dengan augmented

reality berbasis web di toko Sakinah Kerudung.

1.3 Maksud dan Tujuan Penelitian

Berdasarkan masalah yang ada maka maksud dari penulisan skripsi ini adalah untuk membangun perangkat lunak jilbab virtual dengan augmented reality

berbasis web di toko Sakinah Kerudung.

Adapun tujuan yang ingin dicapai dari penulisan skripsi ini adalah sebagai berikut:

1. Untuk membangun perangkat lunak yang memaksimalkan teknologi web sehingga dapat membantu meningkatkan penjualan di website Sakinah Kerudung.

2. Untuk membantu meningkatkan kepercayaan konsumen pada website Toko Sakinah Kerudung.

3. Untuk membantu meningkatkan kepercayaan konsumen terhadap kerudung yang akan dibeli di website Sakinah Kerudung, apakah cocok atau tidak.

1.4 Batasan Masalah

(21)

1. Item jilbab hanyalah dibatasi pada produk yang bestseller dan produk terbaru.

2. Teknik augmented reality yang digunakan ialah face tracking. 3. Menggunakan ActionScript 3 sebagai bahasa pemprograman.

4. Input berupa wajah satu orang secara realtime menggunakan webcam.

5. Perangkat lunak hanya dapat mendeteksi wajah dalam posisi lurus menghadap kamera.

6. Output berupa tampilan wajah yang telah menggunakan jilbab virtual

secara realtime dan yang telah difoto menggunakan kamera webcam. 7. Fitur tambahan yang tersedia ialah capture foto dan pesan barang.

8. Pendekatan analisis pembangunan perangkat lunak menggunakann pendekatan analisis berorientasi objek.

1.5 Metodologi Penelitian

(22)

1.5.1Metode Pengumpulan Data

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

a. Observasi

Observasi yang dilakukan yaitu mengamati secara langsung proses jual beli di Toko Sakinah untuk memperoleh gambaran yang jelas mengenai permasalahan yang diteliti.

b. Studi Pustaka

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

c. Wawancara

Wawancara yang dilakukan berupa dialog secara langsung dengan pemilik Toko Sakinah.

1.5.2Metode Pembangunan Perangkat Lunak

(23)

Gambar 1. 1 Metode Waterfall [2]

a) Requirements definition

Requirements definition merupakan tahap mengumpulkan kebutuhan secara

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

b) System and software design

System and software design merupakan tahap desain yang dikerjakan setelah

kebutuhan selesai dikumpulkan secara lengkap.

c) Implementation and unit testing

Implementation and unit testing merupakan tahap desain program yang

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

d) Integration and system testing

Intergration and system testing merupakan tahap penyatuan unit-unit program

kemudian diuji secara keseluruhan (system testing).

(24)

Operation and maintenace merupakan tahap mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.

1.6 Sistematika Penulisan

BAB 1 PENDAHULUAN

Bab ini menguraikan tentang latar belakang permasalahan, perumusan inti permasalahan yang dihadapi, menentukan maksud dan tujuan penelitian, yang kemudian diikuti dengan pembatasan masalah, metodologi penelitian serta sistematika penulisan.

BAB 2 TINJAUAN PUSTAKA

Bab ini terbagi menjadi dua bagian, yaitu tinjauan umum Toko Sakinah dan landasan teori. Tinjauan umum toko berisi tentang sejarah singkat Toko Sakinah, struktur organisasi, dan deskripsi tugas, sedangkan landasan teori berisi teori-teori pendukung dalam membangun perangkat lunak jilbab virtual dengan augmented

reality berbasis web.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

(25)

Bab ini juga berisi tentang perancangan untuk sistem yang meliputi perancangan arsitektural perangkat lunak, perancangan struktur menu, perancangan antarmuka perangkat lunak, dan perancangan prosedural.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi implementasi file dan implementasi antarmuka. Sedangkan untuk pengujian terdapat pengujian alfa dan pengujian beta. Pengujian alfa terdiri dari pengujian white box dan black box. Setelah itu diambil kesimpulan berdasarkan semua pengujian tersebut.

BAB 5 KESIMPULAN DAN SARAN

(26)

9

2.1 Tinjauan Perusahaan

2.1.1Sejarah Toko Sakinah Kerudung

Toko Sakinah Kerudung ini didirikan pada tahun 2007 oleh pasangan suami istri yaitu Bapak Muchammad Mudrik dan Ibu Dian Lestari. Toko ini bergerak dalam bisnis busana muslim dan kerudung. Usaha yang dijalani pasangan suami istri ini berawal dari memiliki konveksi kerudung rumahan pada tahun 2001. Mereka menjual kerudung hasil produksi ke beberapa pedagang eceran, maupun di titip ke toko-toko. Namun yang namanya bisnis pasti ada saatnya di puncak kesuksesan dan ada kalanya di bawah ambang kebangkrutan. Sempat mengalami kebangkrutan karena barang-barang yang tidak dibayar oleh para reseller. Sehingga pada tahun 2004-2005 , sempat berhenti berproduksi dan membangun kembali usahanya dengan melakukan semuanya dari awal.

(27)

menambah lima cabang di berbagai daerah di Bandung. Toko Sakinah Kerudung pada saat ini sudah memiliki enam cabang toko yang di antaranya bertempat di jalan raya Jatinangor nomor 131 (dekat UNPAD Jatinangor) Sumedang, jalan raya Sukamiskin nomor 134 Bandung, jalan Soekarno Hatta nomor 690A Riung Bandung, jalan Gegerkalong Girang nomor 41 Bandung, jalan Ahmad Nasution nomor 83A (dekat UIN Cibiru) Bandung, dan jalan Ahmad Yani nomor 674 Cicadas. Selain itu Toko Sakinah Kerudung juga mengembangkan usahanya melalui web yang telah mendukung transaksi secara online di alamat website www.sakinahkerudung.com.

2.1.2Visi

Visi dari toko ini ialah menjadi agen pembaharuan di dalam masyarakat dan menyediakan produk – produk unggulan yang inovatif dan berorientasi pada pasar.

2.1.3Misi

Toko ini memiliki misi memasyarakatkan kerudung di kalangan masyarakat indonesia dan memfasilitasi para wanita muslim untuk tetap tampil muslimah dan modis.

2.1.4Struktur Organisasi

(28)

Beberapa keuntungan yang dapat diperoleh dari penggunaan bagan organisasi adalah dapat memperlihatkan karakteristik utama dari suatu perusahaan tersebut, tentang 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 Toko Sakinah Kerudung dapat dilihat pada bagan struktur berikut ini :

Gambar 2. 1 Struktur Organisasi

2.1.5Deskripsi Tugas

Deskripsi tugas digunakan untuk mengetahui tugas, wewenang, tanggung jawab dari masing-masing bagian. Deskripsi tugas yang ada di Toko Sakinah Kerudung adalah sebagai berikut :

1. Pemilik Toko

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. Penjaga toko

a. Melayani pembeli secara langsung.

Pemilik

toko

Penjaga

(29)

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. d. Menjadi admin penjualan di web toko.

2.2 Landasan Teori

2.2.1Konsep PBO (Pemrograman Berorientasi Objek)

Object Oriented Programming (OOP) atau Pemrograman Berorientasi

Objek (PBO) adalah konsep pemrograman yang difokuskan pada penciptaan kelas yang merupakan abstraksi/blueprint/prototype dari suatu objek [3]. Sedangkan sistem berorientasi objek merupakan sebuat sistem yang dibangun berdasarkan metode berorientasi objek. Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat dari komponen lainnya, serta dapat berinteraksi satu sama lain.

(30)

pemrograman berorientasi objek seperti Java, C#, C++, Smalltalk, Eiffel dan PHP. Ada banyak cara untuk mengabstraksikan dan memodelkan objek – objek tersebut, mulai dari abstraksi objek, kelas, hubungan antar kelas sampai abstraksi sistem. Pada saat mengabstraksikan dan memodelkan objek, data, dan proses – proses yang dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan.

Dalam rekayasa perangkat lunak sendiri, konsep pendekatan berorientasi objek dapat diterapkan pada tahap analisis, perancangan, pemrograman, dan pengujian perangkat lunak. Ada berbagai teknik yang dapat digunakan pada masing - masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu. Berikut adalah komponen – komponen yang terdapat pada sistem berorientasi objek :

2.2.1.1 Kelas (Class)

Kelas adalah pemodelan dari objek yang berisi informasi (aturan) tentang sifat karakteristik (data) dan tingkah laku (method) yang dimiliki oleh objek tersebut [3]. Kelas merupakan definisi statis dan himpunan objek yang sama yang mungkin lahir atau diciptakan dari kelas tersebut. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (metode), hubungan (relationship) dan arti. Suatu kelas dapat diturunkan dan kelas yang lain, dimana atribut dan kelas semula dapat diwariskan ke kelas yang baru.

2.2.1.2 Objek (object)

(31)

konsep, sesuai dengan deskripsi yang telah didefinisikan oleh kelas [3]. Objek merupakan suatu entitas yang mampu menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya. Objek mempunyai siklus hidup yaitu diciptakan dimanipulasi dan dihancurkan.

2.2.1.3 Metode (Method)

Metode adalah prosedur atau fungsi yang dimiliki oleh sebuah objek. Sebuah kelas boleh memiliki lebih dari satu metode yang berfungsi untuk memanipulasi objek itu sendiri. Metode juga merupakan cara objek untuk berkomunikasi antar objek.

2.2.1.4 Atribut (Attribute)

Atribut adalah sifat karakteristik atau kondisi yang dimiliki oleh suatu objek [3]. Atribut dapat berupa nilai atau elemen – elemen data yang dimiliki oleh objek dalam kelas objek. Contoh manusia memiliki atribut status, berat badan, dan tinggi badan. Di dalam sebuah kelas atribut disebut variabel.

2.2.1.5 Enkapsulasi (Encapsulation)

Enkapsulasi ialah lapisan pelindung yang mencegah kode dan data yang secara acak diakses oleh kode lain yang didefinisikan di luar kelas [4]. Oleh karena itu dibutuhkan acces modifier dalam penggunaannya, yaitu public, private, dan protected.

2.2.1.6 Pewarisan (Inheritance)

(32)

2.2.1.7 Antarmuka (interface)

Antarmuka atau interface sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah

interface dapat diimplementasikan oleh kelas lain.

Sebuah kelas dapat mengimplementasikan lebih dari satu antarmuka dimana kelas ini akan mendeklarasikan metode pada antarmuka yang dibutuhkan oleh kelas itu sekaligus mendefinisikan isinya pada kode program kelas itu. Metode pada antarmuka yang diimplementasikan pada suatu kelas harus sama persis dengan yang ada pada antarmuka.

2.2.1.8 Reusability

Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.

2.2.1.9 Generalisasi dan Spesialisasi

Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususnya (spesialisasi) adalah mobil,motor dan kereta.

2.2.1.10 Polimorfisme (Polymorfism)

Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.

2.2.1.11 Package

Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk

(33)

2.2.2Konsep UML (Unified Modeling Language)

Sebelum melangkah pada proses coding hal yang dilakukan yaitu memodelkan. Permodelan dalam dunia pembangunan perangkat lunak digunakan dalam proses merancang perangkat lunak sebelum melakukan pengkodean

(coding) tujuannya untuk mempermudah langkah berikutnya dari pembangunan

perangkat lunak sehingga lebih terencana dan semua kebutuhan pengguna dapat terpenuhi dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability,

robustness, security, dan sebagainya.

Unified Modelling Language (UML) adalah keluarga notasi grafis yang

didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek [5]. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE

(Object-Oriented Software Engineering).

(34)

UML Super Structure dan Object Constraint Language (OCL). Seluruh spesifikasi tersebut dapat diakses di http://www.omg.org .

2.2.2.1 Diagram UML

Pada UML versi 2.4 terdapat 2 kategori diagram sebagai berikut:

1. Structure Diagram yaitu kumpulan diagram yang digunakan untuk

menggambarkan suatu struktur statis dari sistem yang dimodelkan.

2. Behaviour Diagram yaitu kumpulan diagram yang digunakan untuk

menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.

2.2.2.2 Class Diagram

Class Diagram mendeskripsikan jenis-jenis objek dalam sistem dan berbagai

macam hubungan statis yang terdapat diantara mereka [5]. Class Diagram bersifat statis di dalam class diagram digambarkan relasi dari masing - masing kelas tetapi tidak menggambarkan apa yang terjadi ketika kelas tersebut berelasi. Sebuah Kelas memiliki struktur sebagai gambar berikut:

Gambar 2. 2 Class Diagram[6]

1. Nama Kelas/Stereotype

(35)

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 merupakan sebuah garis solid antara dua kelas ditarik dari kelas

sumber ke kelas target [5]. Dalam notasi UML kita mengenal asosiasi 2 arah (bidirectional) dan 1 arah (undirectional).

Gambar 2. 3 Relasi Association[6]

2. Aggregation

Aggregation adalah association dimana salah satu kelasnya merupakan

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

Gambar 2. 4 Relasi Aggregation [6]

3. Composition

Composition ialah aggregation dengan ikatan yang lebih kuat. Di dalam

composite aggregation, siklus hidup part class sangat bergantung pada whole

class sehingga bila objek instance dari whole class dihapus maka objek

(36)
[image:36.595.276.350.113.186.2]

Gambar 2. 5 Relasi Composition[6]

4. Depedency

Depedency ialah hubungan antar class di mana sebuah class memiliki

ketergantungan pada class lainnya tetapi tidak sebaliknya.

Gambar 2. 6 Relasi Depedency[6]

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. 7 Relasi Generalization[6]

2.2.2.3 Package Diagram

(37)

sebuah bentuk pengelompokkan yang memungkinkan anda untuk mengambil setiap bentuk di UML dan mengelompokkan elemen-elemennya dalam tingkatan unit yang lebih tinggi [5].

2.2.2.4 Deployment Diagram

Deployment diagram menunjukkan susunan fisik sebuah sistem, menunjukkan

bagian perangkat lunak mana yang berjlaan pada perangkat keras mana [5]. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini, berikut ini contoh deployment diagram:

Gambar 2. 8 Contoh Deployment Diagram[6]

2.2.2.5 Use Case Diagram

Use case diagram merupakan teknik untuk merekam persyaratan fungsional

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

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

(38)

2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antarunit atau aktor.

2.2.2.6 Activity Diagram

Activity diagram adalah teknik untuk menggambarkan logika, procedural,

proses bisnis, dan jalur kerja [5]. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, di mana sebagian besar

state adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya (internal processing). Oleh karena itu, activity diagram tidak menggambarkan behaviour internal sebuah sistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.

Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.

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

(39)

Gambar 2. 9 Contoh Activity Diagram[7]

Activity diagram dapat dibagi menjadi beberapa object swimlane untuk

menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. Berikut ini adalah contoh activity diagram dengan swimlane :

Gambar 2. 10 Object Swimelan [7]

2.2.2.7 Sequence Diagram

Sequence diagram secara khusus menjabarkan behavior sebuah skenario

(40)

Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message

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

Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan simbol khusus untuk objek boundary, controller dan persistent entity. Contoh sequence diagram:

Gambar 2. 11 Contoh Sequence Diagram[7]

2.2.3Pengolahan Citra

(41)

Pengolahan citra adalah pemrosesan citra menjadi citra yang lain dengan kualitas yang lebih baik, yaitu pemrosesan pada usaha untuk memanipulasi [8]. Citra yang telah menjadi gambar lain menggunakan algoritma atau teknik tertentu. Beberapa jenis operasi pengolahan citra adalah sebagai berikut :

2.2.3.1 Modifikasi Kecemerlangan (Brightness Modification)

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

2.2.3.2 Peningkatan Kontras (Contast Enhancement)

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

2.2.3.3 Negasi

Operasi untuk mendapatkan citra negatif (negative image)

2.2.3.4 Pengabuan (grayscale)

Merupakan proses konversi citra dengan warna sebenarnya (true color) menjadi citra keabuan (grayscale).

2.2.3.5 Pengambangan (Thresholding)

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

2.2.3.6 Pencerminan (Flipping)

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

2.2.3.7 Rotasi (Rotating)

(42)

2.2.3.8 Pemotongan (Cropping)

Memotong satu bagian dari citra sesuai kebutuhan.

2.2.3.9 Pengskalaan (Scaling)

Mengubah ukuran citra menjadi lebih besar atau lebih kecil.

2.2.3.10 Deteksi Tepi (Edge Detection)

Deteksi tepi pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari obyek-obyek citra.

2.2.4Metode 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 metode Haar Cascade Classifier. Metode ini merupakan metode yang menggunakan statistik model (classifier). Pendekatan untuk mendeteksi wajah dalam gambar menggabungkan empat konsep utama :

1. Training data

2. Fitur segi empat sederhana yang disebut fitur Haar.

3. Integral image untuk pendeteksian fitur secara cepat.

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

2.2.4.1Training Data Pada Haar

(43)

1. Positive samples

Berisi gambar obyek yang ingin dideteksi, apabila ingin mendeteksi mata maka

positive samples ini berisi gambar mata, begitu juga objek lain yang ingin

dikenali.

2. Negative samples

Berisi gambar objek selain objek yang ingin dikenali, umumnya berupa gambar

background (tembok, pemandangan, lantai, dan gambar lainnya). Resolusi untuk

sampel negatif disarankan untuk memiliki resolusi yang sama dengan resolusi kamera.

Training dari Haar menggunakan dua tipe sampel diatas. Informasi dari hasil

training ini lalu dikonversi menjadi sebuah parameter model statistik.

2.2.4.2Sistem Kerja Algoritma Haar Cascade Classifier

Algoritma Haar menggunakan metode statistikal dalam melakukan pengenalan wajah. Metode ini menggunakan simple haar-like features dan juga a

cascade of boosted tree classifier. Classifier ini menggunakan gambar berukuran

tetap. Cara kerja dari algoritma haar dalam mendeteksi wajah adalah menggunakan teknik sliding window pada keseluruhan gambar dan mencari apakah terdapat bagian dari gambar yang berbentuk seperti wajah atau tidak. Haar juga memiliki kemampuan untuk melakukan scaling sehingga dapat mendeteksi adanya mata yang berukuran lebih besar ataupun lebih kecil dari gambar pada

(44)

2.2.4.3Haar 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:

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

3. Tipe four-rectangle feature

Gambar 2. 12 Haar Feature[9]

[image:44.595.280.373.587.701.2]

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.

(45)

Nilai dari Haar-like feature adalah perbedaan antara jumlah nilai-nilai piksel gray level dalam daerah kotak hitam dan daerah kotak putih. Kotak

Haar-like feature dapat dihitung secara cepat menggunakan integral image.

2.2.4.4Integral 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 dijumlahkan dengan beberapa operasi bilangan bulat per piksel. Berikut contoh gambar yang dapat dijadikan perhitungan integral image :

Gambar 2. 14 Contoh Bagian Haar Feature

Di bawah ini ada contoh perhitungan integral image. 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. Berikut ini perhitungan lengkapnya :

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

(46)

2.2.4.5Cascade Classifier

Cascade classifier adalah sebuah rantai stage classifier, dimana setiap stage

classifier digunakan untuk mendeteksi apakah didalam image sub window

terdapat objek yang diinginkan (object of interest).

Stage classifier dibangun dengan menggunakan algoritma adaptive-boost

(AdaBoost). Algoritma tersebut mengkombinasikan performance banyak weak

classifier untuk menghasilkan strong classifier. Weak classifier dalam hal ini adalah nilai dari haar-like feature. Jenis AdaBoost yang digunakan adalah Gentle

AdaBoost.

Gambar 2. 15 Proses Cascade Classifier

(47)

Proses Cascade Classifier dapat diilustrasikan pada contoh gambar 2.20 sebagai berikut :

Gambar 2. 16 Contoh Ilustrasi Cascade Classifier

2.2.5Virtual Reality

2.2.5.1Pengertian Virtual Reality

Virtual reality (VR) atau realitas maya adalah Suatu lingkungan yang

dibangkitkan oleh komputer, bersifat tiga dimensional dan interaktif. Lingkungan-lingkungan ini bisa merupakan model-model dunia nyata ataupun imajiner [10]. Lingkungan virtual reality pada saat ini umumnya menyajikan pengalaman visual, yang ditampilkan pada sebuah layar komputer atau melalui sebuah penampil stereokopik, akan tetapi ada beberapa simulasi mengikutsertakan tambahan informasi hasil pengindraan, seperti suara melalui speaker atau headphone.

Bila diteliti lebih jauh, sebenarnya cara kerja virtual reality itu seperti berikut :

a. Pemakai melihat suatu dunia semu, yang sebenarnya berupa gambar-gambar yang bersifat dinamis.

(48)

c. Melalui headset, glove, dan walker, semua gerakan pemakai dipantau oleh sistem dan sistem diberikan reaksi yang sesuai sehingga pemakai seolah merasakan sedang berada pada situasi yang nyata, baik secara fisik maupun psikologis.

2.2.5.2Sejarah Virtual Reality

Morton Heilig menulis pada tahun 1950 tentang "Teater Pengalaman" yang dapat meliputi semua indera dengan suatu cara efektif, sehingga menarik penonton ke dalam kegiatan di layar. Kemudian Ia membangun suatu prototipe dari visinya yang dinamakan Sensorama pada 1962, bersama dengan lima film pendek untuk dipertunjukkan didalamnya dengan melibatkan berbagai indera (penglihatan, pendengaran, penciuman, dan sentuhan).

Pada tahun 1968, Ivan Shuterland dengan bantuan dari siswanya bernama Bob Sproull menciptakan apa yang secara luas dianggap sebagai pendahulu dari virtual reality dan sistem. Alat itu primitif, baik dalam kaitan dengan alat penghubung pemakai dan realisme, dan HMD untuk dikenakan oleh pemakai sangatlah berat sehingga harus digantungkan

Teknologi virtual reality yang lebih awal adalah Peta Bioskop Aspen, yang diciptakan oleh MIT pada tahun 1977. Programnya adalah suatu simulasi kasar tentang kota Aspen di Colorado. Di sana para pemakai bisa mengembara dalam salah satu dari tiga musim yaitu musim panas, musim dingin, dan musim semi.

(49)

pengujian rancangan, prototipe semu (autocad, 3dmax), analisis ergonomik, simulasi semu dalam perakitan, produksi dan pemeliharaan. Bidang kedua yaitu arsitektur : perancangan gedung. Bidang ketiga yaitu militer : pelatihan (pilot, astronot, pengemudi), Simulasi Peperangan(Cry Engine 3). Bidang ketiga yaitu kedokteran : pelatihan pembedahan, terapi fisik. Bidang keempat yaitu penelitian / pendidikan : studi tentang topan, konfigurasi galaksi, pengujian matematika kompleks. Bidang kelima yaitu dalam hiburan : museum virtual, permainan balap, simulasi pertempuran udara, taman virtual, simulasi ski, dan lain sebagainya.

Gambar 2. 17 Contoh Penerapan Virtual Reality[11]

2.2.6Augmented Reality

Menurut Professor Ronald T. Azuma, “Augmented Reality (AR) is refers to a situation in which the goal is to supplement a user’s perception of the real-world

through the addition of virtual objects” [12]. Paul Milgram dan Fumio Kishino

(50)

2.2.6.1Macam-macam Teknik Augmented Reality

Augmented Reality memiliki berbagai jenis teknik yang semakin

berkembang sampai saat ini. Berikut daftar teknik-teknik di Augmented Reality :

2.2.6.1.1 Teknik Marker Tracking

Teknik ini menggunakan marker untuk mendeteksi posisi tampilnya objek.

Marker merupakan istilah yang dekat dengan dunia augmented reality. Markers

are the black and white squares which enable an application to track and detect

the orientation and adjust the position of the 3D object accordingly [13].

Marker yang dapat dideteksi oleh teknik marker tracking ini hanya yang

berwarna hitam putih seperti gambar di bawah ini :

Gambar 2. 18 Contoh Marker[13]

SDK atau Engine yang dapat digunakan untuk teknik ini ialah : a. ARToolkit

b. FLARToolkit c. SLARToolkit

2.2.6.1.2 Teknik Markerless Tracking

Teknik ini masih menggunakan marker sebagai alat untuk mendeteksi. Namun marker yang digunakan dapat berbentuk apa saja tidak harus berwarna hitam putih, misalnya foto atau bahkan benda. SDK atau Engine yang dapat digunakan untuk teknik ini ialah:

(51)

b. Layar

c. D’Fusion Studio d. IN2AR

2.2.6.1.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 ialah :

a. Layar b. Junaio c. Mixare d. KHARMA

2.2.6.1.4 Teknik Face Tracking

Teknik ini menggunakan wajah manusia untuk dideteksi dan pemanfaatannya bisa untuk face tracking maupun face recognition. SDK atau Engine yang dapat digunakan untuk teknik ini ialah:

a. Beyond Reality Face b. Viewdle

c. SHORE

2.2.6.2Sejarah Augmented Reality

Sejarah tentang Augmented Reality (AR) berasal dari virtual reality

(52)

Fixtures, yang digunakan di Angkatan Udara AS Armstrong Labs, dan menunjukan manfaatnya pada manusia, dan pada tahun 1992 juga, Steven Feiner, Blair Maclntyre dan dorée Seligmann, memperkenalkan untuk pertama kalinya Major Paper untuk perkembangan Prototype AR. Pada tahun 1999, Hirokazu Kato, mengembangkan ArToolkit di HITLab dan didemonstrasikan di SIGGRAPH, pada tahun 2000, Bruce. H. Thomas, mengembangkan ARQuake, sebuah mobile games AR yang ditunjukan di international symposium on wearable komputers. Pada tahun 2008, witiude AR Travel Guide, memperkenalkan Android G1 telephone yang berteknologi AR, tahun 2009, Saqoosha memperkenalkan FLARToolkit yang merupakan perkembangan dari ArToolkit. FLARToolkit memungkinkan kita memasang teknologi AR di sebuah website, karena output yang dihasikan FLARToolkit berbentuk Flash. Ditahun yang sama, wikitude Drive meluncurkan sistem navigasi berteknologi AR di platform android. Tahun 2010 Acrossair menggunakan teknologi AR pada I-Phone 3GS.

2.2.7ActionScript

Adobe 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

developer untuk membuat flash movie yang lebih komplek dan lebih interaktif.

ActionScript merupakan bahasa pemrograman berorientasi objek didasarkan pada

(53)

AIR, atau Flash Lite). Mirip seperti prinsipnya Java, Flash pada dasarnya berjalan diatas sebuah AVM (ActionScript Virtual Machine).

2.2.7.1Sejarah Perkembangan ActionScript

ActionScript sendiri telah memiliki beberapa versi dari satu sampai kini ada versi

tiga. ActionScript2 yaitu versi ActionScript yang telah digunakan dalam Flash Player 8 dan sebelumnya, tetap didukung dalam Flash Player 9 dan Flash Player 10. Hingga akhirnya pada tahun 2006 Adobe merilis ActionScript versi 3.0, yang merupakan bahasa pemprograman yang bisa didapatkan di Flash CS3 ke atas beda halnya dengan flash 8 dan sebelumnya, yang hanya mendukung ActionScript2. Di dalam Flex framework, antarmuka pengguna dibuat menggunakan file MXML, sedangkan ActionScript3 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 ActionScript2 yang

menjadikan hal tersebut sebagai pilihan. Perubahan tersebut tentu dapat mempermudah error checking.

(54)

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

2.2.7.2Dasar-dasar Pemrograman ActionScript3

2.2.7.2.1 Penggunaan Perintah Trace

Perintah Trace digunakan untuk menampilkan informasi pada panel Output. Panel Output hanya digunakan untuk menguji jalannya program saja, bukan sebagai tampilan utama program. Yang menjadi tampilan utama program adalah

Stage, misalnya:

public function Main():void { if (stage) init();

else addEventListener(Event.ADDED_TO_STAGE, init); trace (2 + 5) // akan menampilkan bilangan 7

}

2.2.7.2.2 Pendeklarasian Variabel

Sebuah variabel (misalnya variabel x dalam pelajaran matematika yang menyajikan sebuah bilangan yang bisa diberi dengan suatu nilai) adalah sebuah penampung informasi yang bisa diambil atau pun diganti.

Variabel yang akan digunakan dalam ActionScript harus dideklarasikan terlebih dahulu. Beberapa tipe data/tipe variabel yang sering digunakan antara lain: TextField, Number, String, Array, Sprite, Shape, dan MovieClip. Perintah deklarasi variabel mempunyai bentuk umum:

var namaVariabel:TipeVariabel;

atau cara kedua berikut juga memberikan hasil yang sama:

var namaVariabel:TipeVariabel = new TipeVariabel();

(55)

a. Hanya terdiri dari huruf, angka, karkater garis bawah, dan simbol $. b. Tidak diawali dengan angka.

c. Tidak sama dengan kata khusus yang sudah dipakai oleh ActionScript

(reserved word), seperti var, Sprite, dan lain‐lain. d. Harus unik

Untuk penulisan dalam penamaan variabel, dapat menggunakan mode KataKapital (CamelCase) yang merupakan proses penulisan beberapa kata tanpa tanda spasi namun dengan mengkapitalisasi (menulis dengan huruf besar) setiap kata pembentuknya, misalnya textSaya, radiusBola, dan tinggiAwalStage. Untuk tipe data kompleks (movie Clip, button, textField) yang ada dalam stage yang dibuat dengan Adobe Flash CS3 Profesional, anda dapat mendeklarasikannya dengan menuliskannya pada nama instan (instance name) pada bagian properti objeknya. Flash CS3 akan membuat variabel dengan nama sama dengan nama instan tersebut.

2.2.7.2.3 Tipe‐‐‐‐tipe Data

ActionScript 3.0 mempunyai beberapa tipe data primitif seperti yang diberikan

(56)
[image:56.595.110.515.131.394.2]

Tabel 2. 1 Tipe Data Primitif

Tipe Data Pengertian Contoh

String Sebuah karakter atau

sederet karakter

var textSaya:String =”Hello World”

Boolean Hanya bernilai benar

(true) atau salah (false)

var sudahSelesai:Boolean = true

Number Bilangan riil positif dan negative

var percepatan:Number = 0.01

Int Bilangan bulat positif dan

negatif

( ‐2.147.483.648 s.d. 2.147.483.647)

var radiusBola:int = 10

Uint Bilangan bulat positif

(0 s.d. 4.294.967.295)

var warnaBola: uint = 0xFF00FF

* Tipe data sembarang

(biasanya digunakan untuk menampung data yang belum diketahui tipenya)

[image:56.595.112.516.478.748.2]

var dataBaru: * = dataSembarang

Tabel 2. 2 Tipe Data Kompleks

Tipe Data Pengertian Contoh

MovieClip Sebuah simbol movie clip var tokohSaya:MovieClip = new MovieClip()

Sprite Sebuah Sprite var kotak: Sprite = new

Sprite() TextField Sebuah field teks yang

bertipe dynamic atau field teks yang bertipe input (secara default akan bertipe dynamic)

var tulisan:TextField =new TextField()

tulisan.text=”Tulisan Dinamis”

SimpleButton Sebuah simbol button (tombol)

var

start:SimpleButton=new SimpleButton()

Date Data dalam format

tanggal

var ultah:Date= new Date()

Array Larik atau array yang

dapat memuat lebih dari satu nilai

var arrayBilangan: Array = new Array()

(57)

Tipe Data Pengertian Contoh

Objek Struktur dasar dari setiap entitas ActionScript. Objek juga merupakan suatu bentuk variabel yang bisa diatur sendiri untuk menyimpan berbagai nilai sebagai alternatif dari Array

var gambar:Objek: new Object

gambar.nama =”foto action”

gambar.panjang=600

2.2.8Adobe Flash Professional

Adobe Flash (dahulu bernama Macromedia Flash) adalah salah satu perangkat lunak komputer yang merupakan produk unggulan Adobe Systems. Adobe Flash digunakan untuk membuat gambar vektor maupun animasi gambar tersebut. Berkas yang dihasilkan dari perangkat lunak ini mempunyai file extension .swf dan dapat diputar di penjelajah web yang telah dipasangi Adobe Flash Player. Flash menggunakan bahasa pemrograman bernama ActionScript

yang muncul pertama kalinya pada Flash 5. Sebelum tahun 2005, Flash dirilis oleh Macromedia. Flash 1.0 diluncurkan pada tahun 1996 setelah Macromedia membeli program animasi vektor bernama FutureSplash. Versi terakhir yang diluncurkan di pasaran dengan menggunakan nama 'Macromedia' adalah adalah Macromedia Flash 8. Pada tanggal 3 Desember 2005 Adobe Systems mengakuisisi Macromedia dan seluruh produknya, sehingga nama Macromedia Flash berubah menjadi Adobe Flash.

(58)

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

Movie Flash memiliki ukuran file yang kecil dan dapat ditampilkan dengan

(59)

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

2.2.9Library Marilena

Library Marilena merupakan library yang mendukung deteksi wajah di flash

dengan menggunakan ActionScript. Marilena merupakan library yang telah berjalan baik untuk mendeteksi wajah atau benda lain yang berdasarkan algoritma

haar feature. Hanya saja kekurangan dari haar feature yang digunakan ialah tidak

dapat mendeteksi wajah pada posisi miring atau selain posisi tegak lurus. Sebenarnya Marilena pada dasarnya berasal dari library OpenCV yang digunakan pada bahasa C, yang di konversi ke ActionScript. Seorang pria berkebangsaan Jepang bernama Ohtsuka Masakazu yang telah menciptakan Marilena. Baru-baru ini seorang pria bernama Mario Klingemann dari Quasimondo.com telah membuat beberapa perubahan untuk mengoptimasikan Marilena versi aslinya. Untuk mengunduh Marilena dapat menggunakan svn dengan memasukkan alamat http://www.libspark.org/svn/as3/Marilena/trunk/.

2.2.10 StarUML

StarUML adalah software permodelan yang mendukung UML

(UnifiedModeling Language) [14]. Berdasarkan pada UML version 1.4 telah

mendukung notasi UML 2.0 dan juga mendukung pendekatan MDA (Model

(60)

memaksimalkan pruduktivitas dan kualitas dari suatu software project. Berikut ialah konsep dasar dari StarUml.

2.2.10.1 Model, View, dan Diagram

StarUML membuat perbedaan konseptual yang lebih jelas antara models,

views, dan diagrams. Models adalah elemen yang memuat informasi untuk model

perangkat lunak [15]. View adalah suatu ekpresi visual dari informasi di dalam model [15]. Diagram adalah suatu koleksi dari elemen yang memberikan pemikiran user didalam mendesain secara spesifik [15].

2.2.10.2 Project dan Unit

2.2.10.2.1 Project

Project adalah unit manajemen dasar didalam StarUML [15]. Suatu project

dapat mengatur satu atau lebih model perangkat lunak. Project merupakan

top-level package yang selalu ada didalam beberapa model perangkat lunak. Secara

umum, satu project disimpan dalam satu file.

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

2.2.10.2.3 Modul

(61)
(62)

45

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan proses penguraian konsep ke dalam bagian-bagian yang lebih sederhana, sehingga struktur logisnya menjadi jelas. Tahap analisis sistem adalah tahapan dasar sebelum perancangan untuk memperbaiki sistem yang lama. Dari hasil analisis tersebut dapat dirancang atau diperbaiki menjadi sebuah sistem yang lebih efektif dan efisien. Pada tahap analisis sistem ini dibagi menjadi beberapa bagian, yaitu sebagai berikut :

1. Analisis Masalah.

2. Analisis Sistem yang Sedang Berjalan 3. Analisis Algoritma.

4. Analisis Spesifikasi Kebutuhan Perangkat Lunak 5. Analisis Kebutuhan Non Fungsional

6. Analisis Data

7. Analisis Kebutuhan Fungsional

3.1.1Analisis Masalah

(63)

1. Belum adanya pemanfaatan maksimal web toko Sakinah Kerudung. Hal tersebut terbukti dengan belum maksimalnya penjualan melalui web dibandingkan penjualan secara langsung.

2. Belum adanya fasilitas yang membantu meningkatkan kepercayaan konsumen terhadap toko Sakinah Kerudung, seperti adanya fitting room virtual.

3. Masih kurangnya kepercayaan konsumen terhadap kerudung yang ada di website toko Sakinah Kerudung. Karena keraguan apakah kerudung yang dipilih cocok menurut kriteria konsumen tersebut.

3.1.2Analisis Sistem Yang Sedang Berjalan

Analisis sistem yang sedang berjalan di toko online Sakinah Kerudung terdiri dari prosedur dan flowchart. Adanya analisis sistem sangat penting karena fungsi dari sistem itu sendiri yaitu untuk mengetahui bagaimana sebuah sistem itu berjalan agar sistem yang dibuat menghasilkan keluaran yang diinginkan dan dapat mencapai tujuan yang direncanakan. Prosedur sistem yang sedang berjalan yang terlibat pada sistem yang akan dibangun ialah prosedur pilih barang.

3.1.2.1Prosedur Pilih Barang

Di toko online Sakinah Kerudung untuk melakukan proses pilih barang dijelaskan dalam prosedur sebagai berikut:

(64)

2. Ketika konsumen memilih kerudung yang ada maka sistem yang telah ada akan menampilkan detail barang yang berisi harga, ketersediaan, tanggal,

rating, pilihan warna, diskon, dan field jumlah.

3. Sebelum memasukkan ke keranjang belanja konsumen harus mengisi warna dan jumlah yang ingin dipesan.

4. Jika konsumen memilih untuk memesan barang maka data yang telah disi akan masuk ke keranjang belanja. Dan jika tidak jadi memesan maka konsumen dapat kembali memilih barang lain.

5. Setelah ada data yang terinput ke keranjang belanja, konsumen dapat melihat isi dari keranjang belanja miliknya.

6. Konsumen dapat mengupdate data jumlah pesanan yang jadi dipesan. 7. Jika tidak melakukan update konsumen dapat langsung melakukan

checkout keranjang belanja yang berarti akan mengakhiri proses

pemesanan.

(65)

Gambar 3. 1 FlowChart Pemesanan Barang

3.1.3Analisis Algoritma

Secara umum, augmented reality (AR) adalah penggabungan antara objek virtual dengan objek nyata. Jadi perangkat lunak jilbab virtual yang dirancang dengan teknologi AR ini, seolah-olah menggabungkan objek virtual dengan objek nyata. Dalam kasus ini objek nyatanya berupa pola wajah dan objek virtualnya berupa model jilbab.

[image:65.595.218.381.111.463.2]
(66)

diakuisisi oleh webcam, frame demi frame. Komputer akan mendeteksi pola yang mirip dengan wajah dari setiap frame video tersebut, yang kemudian lokasi wajah dapat ditentukan. Dengan informasi tersebut, objek virtual digabungkan dengan video dari webcam dan merendernya sesuai dengan informasi posisi yang diperoleh dari face detector tersebut. Proses tersebut berlangsung secara real-time sehingga model virtual yang tampil di media display akan mengikuti pergerakan wajah. Gambaran umum sistem ini dapat dilihat dalam flowchart gambar 3.1. Berikut ini juga akan dijelaskan proses-proses yang terlibat di sistem :

[image:66.595.257.371.334.715.2]
(67)

3.1.3.1Inisialisasi Face Detector, kamera, dan Objek Visual

Di dalam sistem perangkat lunak jilbab virtual ini tahap awal yang harus ditentukan ialah face detector yang akan digunakan, sumber masukan videonya, dan objek visual apa saja yang akan di load. Semua hal tersebut tergambar di proses inisialisasi. Inisialisasi ialah proses penentuan awal se

Gambar

Gambar 2. 5 Relasi Composition[6]
Gambar 2. 13 Contoh Penerapan Haar Feature
Tabel 2. 2 Tipe Data Kompleks
Gambar 3. 1 FlowChart Pemesanan Barang
+7

Referensi

Dokumen terkait

(1) Berdasarkan SPdORD sebagaimana dimaksud dalam Pasal 12 ayat (1) Peraturan Daerah ini ditetapkan retribusi terutang dengan menerbitkan SKRD atau dokumen lain yang

Ischialgia yang dirasakan bertolah dari vertebra lumbosacralis atau daerah paravertebralis lumbosacralis dan menjalar sesuai dengan salah satu radiks yang ikut menyusun

Berdasarkan latar belakang tersebut, penulis berusaha melakukan penelitian terhadap proses pemanfaatan kembali klise foto yang dapat dilakukan dengan proses

Dari hasil perbandingan tabel 7 da- pat diketahui bahwa perencanaan tata ru- ang wilayah yang telah ditetapkan oleh Pemerintah Daerah Kota Yogyakarta pada tahun 2010 belum

Yan’s Fruits and Vegetable adalah harga jual yang stabil, posisi tawar dapat meningkat dibandingkan dengan memasarkan sendiri produknya ke pasar tradisional, dan

Citra keinginan ini adalah seperti apa yang ingin dan dicapai oleh pihak internal terhadap perusahaan atau produk yang ditampilkan tersebut lebih dikenal (good

Gambar 3-1 ERD Aplikasi desktop ...III-5 Gambar 3-2 ERD Aplikasi Bank Virtual ...III-7 Gambar 3-3 Relasi antar tabel desktop ...III-8 Gambar 3-4 Relasi antar tabel bank

bahwa kekayaan Negara yang t ert anam pada Proyek MLP-ATA/ 84 di Madiun, Pusdik Madiun, Proyek Worl d Food Program (WFP) di Jawa Tengah, Proyek Perl ebahan bant uan FAO di