implementasi operasi logika and dan operasi berbasis … · aplikasi ini akan mengolah citra wajah...

113
IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS FRAME DALAM SEBUAH APLIKASI HAIR STYLING SIMULATOR SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika Disusun Oleh : Martinus Prima Yustanto 06 5314 003 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2010

Upload: others

Post on 09-Nov-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS

FRAME DALAM SEBUAH APLIKASI HAIR STYLING SIMULATOR SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika

Disusun Oleh : Martinus Prima Yustanto

06 5314 003

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA

YOGYAKARTA 2010

Page 2: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI

BERBASIS FRAME DALAM SEBUAH APLIKASI HAIR

STYLING SIMULATOR SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika

Disusun Oleh :

Martinus Prima Yustanto 06 5314 003

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA

YOGYAKARTA 2010

i

Page 3: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

THE IMPLEMENTATION OF AND LOGIC OPERARTION

AND FRAME-BASED OPERATION IN AN APPLICATION

NAMED HAIRSTYLING SIMULATOR A THESIS

Presented as Partial Fulfilment of The Requirements to Obtain The Sarjana

Teknik Degree In Informatics Engineering Study Program

By : Martinus Prima Yustanto

06 5314 003

INFORMATIC ENGINEERING STUDY PROGRAM INFORMATIC ENGINEERING DEPARTMENT FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA

2010

ii

Page 4: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan
Page 5: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan
Page 6: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

ABSTRAKSI

Pemilihan model rambut dalam sebuah salon selama ini hanya dilakukan dengan cara melihat foto atau gambar yang disediakan oleh salon, kemudian pelanggan berkonsultasi dengan pegawai salon apakah model tersebut pantas atau tidak dengan wajah pelanggan. Karena pelanggan hanya dapat membayangkan tanpa dapat melakukan simulasi, maka sering terjadi kesalahan pemilihan model rambut dan menyebabkan menurunnya nilai kepuasan pelanggan terhadap salon tersebut.

Tugas akhir ini bertujuan untuk melakukan perancangan dan pembuatan aplikasi salon potong rambut. Aplikasi ini digunakan untuk membantu pelanggan salon dalam menentukan atau memilih model rambut yang sesuai dengan citra wajah. Hal ini diaplikasikan dalam sebuah Aplikasi Hair Styling Simulator, dimana pada aplikasi Hair Styling Simulator ini menggunakan dua komponen utama, yaitu camera digital dan PC (Personal Computer). Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan tersebut akan diproses menggunakan operasi logika and serta operasi berbasis frame untuk melakukan manipulasi data piksel antara citra rambut dan citra wajah pelanggan.

Operasi logika and dan operasi berbasis frame ini dipilih karena dapat digunakan untuk melakukan manipulasi atau perubahan data piksel antara citra rambut dan citra wajah. Simulasi pemilihan model rambut dilakukan dengan cara melakukan pergantian model rambut pada citra wajah pelanggan sesuai dengan model yang diinginkan, sehingga pelanggan dapat melakukan pemilihan model rambut terhadap citra wajah dan dapat melihat apakah model rambut yang dipilihnya sesuai dengan citra wajah. Untuk pengujian dilakukan dengan pembagian kuisioner kepada 30 responden yang terdiri dari pelanggan salon, pegawai salon, dan mahasiswa USD. Dari 30 responden tersebut dapat diketahui bahwa dari segi tampilan aplikasi 70% responden menyatakan cukup menarik dan 30% responden menyatakan sangat menarik. Dari segi pemakaian aplikasi, 50% responden menyatakan mudah, dan 50% responden menyatakan sangat mudah. Dari segi waktu pemrosesan 46,67% responden menyatakan cepat, 55,33% menyatakan sangat cepat. Dari segi hasil penggabungan rambut 3,3% responden menyatakan kurang memuaskan, 3,3% menyatakan tidak memuaskan, 80% responden menyatakan cukup memuaskan, serta 13,3% responden menyatakan sangat memuaskan. Dari segi manfaat aplikasi 63,3% responden menyatakan aplikasi bermanfaat, dan 36,6% responden menyatakan bahwa apliasi sangat bermanfaat.

v

Page 7: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

ABSTRACT

In choosing a model of hairstyle in a salon is only conducting by seeing a photos sample or pictures that are available in that salon. The next step is that customer consults the intended hairstyle to the hairdresser whether the style is suitable or not. Since the customer could only imagine what the hairstyle look like without being able to conduct any simulation, there is always mistake in choosing the suitable hairstyle. It causes the decrease of satisfaction of the customer.

This research aimed to design and create an application that could help any salon. This application is used to help the customer in determining or choosing the hairstyle that is suitable to the shape of the customer’s face. This application is called Hair Styling Simulator. There are two main components that are going to be used in this application. They are digital camera and PC (Personal Computer). The face of the customer would be captured by digital camera, and then the image would be processed by using logic operation and frame-based operation to manipulate the pixel data between the hairstyle and the shape of customer’s face.

And logic operation and frame-based operation are chosen because they can be used to conduct manipulation or change of pixel data between hairstyle and the face shape, so that the hairstyle choice simulation can be conducted by making a change of intended hairstyle model on customer’s head. By conducting this simulation, customer can see whether the intended hairstyle is suitable for him or not.

This application has been tested to 30 respondents that consist of hairdressers and students of Sanata Dharma University. 70% of the respondents stated the appearance of this application is attractive enough, while the rest stated that the appearance is very attractive. Based on the use of this application aspect, 50% of respondents claimed that it is easy to use, and the rest claimed that it is very easy. Based on time efficiency aspect, 46.67% of the respondents said that this application process is fast, while the rest said that it is very fast. From the hairstyle matching aspect, there are 3.3% of respondents who said that it is not very satisfying, 3.3% of them said that it is not satisfying, 80% of them said that it is satisfying enough, and the rest (13.3% of respondents) said that it is very satisfying. Based on the benefit aspect of this application, 63.3% of the respondents exclaimed that this application is useful, and the rest exclaimed that it is very useful.

vi

Page 8: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

Sebuah kegagalan akan menjadikan kita mengerti akan arti keberhasilan

vii

Page 9: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan
Page 10: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan
Page 11: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

KATA PENGANTAR

Puji syukur kepada Tuhan Yesus Kristus, yang telah memberikan karunia,

kesempatan, waktu, dan berkat, sehingga penulis dapat menyelesaikan tugas akhir

yang berjudul “Implementasi operasi logika and dan operasi berbasis frame dalam

sebuah aplikasi hair styling simulator”, ini dengan baik.

Dalam penulisan tugas akhir ini penulis tidak lepas dari bantuan sejumlah

pihak, oleh karena itu penulis ingin mengucapkan terimakasih kepada :

1. Ayah di surga, terima kasih atas kepercayaan dan kesempatan yang

diberikan.

2. Ibu tercinta, terima kasih atas segala perjuangan yang ibu lakukan.

3. Anastasia Rita Widiarti, S.Si., M.Kom., selaku dosen pembimbing

tugas akhir, atas kesabarannya dalam membimbing penulis,

memberikan waktunya, dukungan, serta saran yang sangat membantu

penulis.

4. Keluarga besar penulis terima kasih atas segala dukungan yang sudah

diberikan.

5. Sahabat dan teman–teman yang selalu ada disaat penulis

membutuhkan bantuan dan dukungan.

x

Page 12: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

xi

Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada

laporan tugas akhir ini. Saran dan kritik sangat penulis harapkan untuk perbaikan-

perbaikan dimasa yang akan datang. Akhir kata, penulis berharap tulisan ini

bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan serta berbagai

pengguna pada umumnya.

Yogyakarta, 2 November 2010

Penulis

Page 13: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

HALAMAN PERSEMBAHAN

Ku persembahkanTugas Akhir ini ke pada :

Tuhan Yesus Kristusyang mengijinkan semua ini ,serta telah memberikan kehidupan

beserta seluruh warnanya.

Ayah dan Ibu tercinta, serta adikku

Ketulusan cinta kasih yang kalian berikan begitu besar tidak akan pudar sampai selama-

lamanya, so that the time can not erase.

Almamater dan junior-juniorku,

Semoga skripsi ini bias jadi salah satu referensi bagi kalian.

Dosen-dosen Univesitas Sanata Dharma

Yang telah menempaku menjadi seperti sekarang.

Teman-temanku yang slalu memberikan dukunganya.

Teman-teman kontrakanku tempat berbagi suka dan duka

We are brother...

Page 14: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

xii 

 

DAFTAR ISI

LEMBAR JUDUL………………………………………………… i

HALAMAN PERSETUJUAN PEMBIMBING………………... iii

HALAMAN PENGESAHAN…………………………............... iv

ABSTRAK………………………………………………………... v

ABSTRACT…………………………………………………….... vi

MOTTO………………………………………………………….. vii

PERNYATAAN KEASLIAN KARYA……………………….... viii

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

UNTUK KEPENTINGAN AKADEMIS……………….. ix

KATA PENGANTAR…………………………………………… x

DAFTAR ISI……………………………………………………... xii

DAFTAR GAMBAR…………………………………………..... xvi

DAFTAR TABEL……………………………………………….. xix

BAB I : PENDAHULUAN……………………………………… 1

1.1 Latar Belakang Masalah………………………….. 1

1.2 Rumusan Masalah………………………………... 2

1.3 Tujuan…………………………………………...... 3

1.4 Batasan Masalah………………………………….. 3

1.5 Metodologi Penelitian……………………………. 3

1.6 Sistematika Penulisan…………………………….. 5

BAB II : LANDASAN TEORI…………………………………. 7

2.1 Citra………………………………………………... 7

2.2 Pemrosesan Citra………………………………….. 7

2.3 Format Citra Digital………………………………. 9

2.4 Pengertian Frame dan Background………………. 12

2.5 Pengolahan Citra.................................................. 13

2.6 Operasi Berbasis Bingkai..................................... 15

Page 15: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

xiii 

 

2.7 Operasi Logika.................................................... 16

2.7.1 Operasi logika and.................................... 17

2.7.2 Operasi logika Or...................................... 17

2.7.3 Operasi logika XOR.................................. 18

2.7.4 Operasi logika NOT.................................. 18

2.8 Format Citra BMP............................................... 19

2.9 Format Citra JPG................................................ 21

2.10 Kuesioner........................................................... 22

2.11 Kompleksitas waktu............................................ 23

2.11.1 Kompleksitas Waktu Asimpotik............... 24

BAB III : ANALISA DAN PERANCANGAN SISTEM……….. 30

3.1 Rancangan Umum...........………………………... 30

3.2 Analisa Kebutuhan Proses.................................... 31

3.2.1 Proses Binerisasi………………………. 32

3.2.2 Proses Penggabungan Dengan Menggunakan

Operasi logika and............................... 33

3.2.3 Proses Penggabungan Dengan Menggunakan

Operasi berbasis frame......................... 35

3.2.4 Pengujian Sistem dengan Pengamatan Visual.37

3.3 Ukuran Piksel Citra.......…………………………... 39

3.4 Perancangan Tampilan Antarmuka………………. 39

3.4.1 Halaman Utama………………………. 39

3.4.2 Halaman Kreator……………………... 42

3.4.3 Halaman Bantuan…………………….. 42

3.4.4 Halaman Buka Foto..…………………. 43

3.4.5 Halaman Model Rambut……………… 43

3.4.6 Halaman Simpan.............……………. 44

3.4.7 Form Pesan........................................ 45

3.4.8 Form Dialog....................................... 45

3.5 Kebutuhan Perangkat Lunak Keras……………… 46

Page 16: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

xiv 

 

3.6 Data.................................................................... 46

BAB IV : IMPLEMENTASI…………………………………… 47

4.1 Implementasi Binerisasi...................................... 47

4.2 Implementasi Operasi logika And......................... 47

4.3 Implementasi Operasi berbasis frame................... 49

4.4 Implementasi Pengujian Sistem dengan Pengamatan

Visual................................................................. 50

4.5 Implementasi Ukuran Piksel Citra....................... 53

4.6 Implementasi tampilan........................................ 54

4.6.1 Tampilan Awal dan Tampilan Utama.......... 57

4.6.2 Tampilan Buka Foto................................... 57

4.6.3 Tampilan Model Rambut............................. 58

4.6.4 Tampilan Simpan....................................... 58

4.6.5 Tampilan Kreator....................................... 59

4.6.6 Tampilan Bantuan...................................... 60

4.6.7 Tampilan Form Dialog................................ 60

BAB V: ANALISA............................………………………….. 63

5.1. Uji coba program dan Analisa Sistem.................... 63

5.1.1. Uji coba program................................ 63

5.1.2. Analisa Sistem.................................... 65

5.1.3. Analisa Waktu Asimtotik.................... 66

5.2. Analisa Kuesioner………………………………….. 68

5.3. Kekurangan dan Kelebihan Program....................... 69

5.3.1 Kelebihan Program....................................... 69

5.3.2 Kekurangan Program..................................... 70

BAB VI : PENUTUP…………………………………………...... 71

6.1 Kesimpulan………………………………………... 71

6.2 Saran……………………………………………….. 72

Page 17: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

xv 

 

DAFTAR PUSTAKA………………………………………… 73

LAMPIRAN

Page 18: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

Daftar Gambar

Gambar 1.1 Model waterfall............................................................ 4

Gambar 2.1 Gambar Croping........................................................... 8

Gambar 2.2 Komposisi Citra Warna................................................ 10

Gambar 2.3 Contoh Gambar Citra Grayscale................................... 11

Gambar 2.4 Contoh Citra Warna, Grayscale, dan Biner................... 11

Gambar 2.5 Perbaikan Kualitas Citra................................................ 15

Gambar 2.6 Contoh Penggabungan Menggunakan Operasi Berbasis

Frame............................................................................... 16

Gambar 2.7 Citra Hasil Operasi Logika AND...................................... 17

Gambar 2.8 Citra Hasil Operasi Logika OR......................................... 17

Gambar 2.9 Citra Hasil Operasi Logika XOR....................................... 18

Gambar 2.10 Citra Hasil Operasi Logika NOT....................................... 18

Gambar 2.11 Format Berkas Bitmap....................................................... 19

Gambar 2.12 Format Citra BMP 24-bit................................................... 21

Gambar 3.1 Diagram Konteks............................................................... 31`

Gambar 3.2 DFD level 1........................................................................ 32

Gambar 3.3 Proses Binerisasi................................................................ 33

Gambar 3.4 Proses Penggabungan Citra Wajah dan Model Rambut

Menggunakan Operasi Logika And.................................... 34

xvi

Page 19: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

Gambar 3.5 Algoritma Penggabungan Citra Wajah dan Model Rambut

Menggunakan Operasi Berbasis Frame............................... 35

Gambar 3.6 Halaman Utama..................................................................... 39

Gambar 3.7 Halaman Kreator.................................................................... 42

Gambar 3.8 Halaman bantuan.................................................................. 42

Gambar 3.9 Tampilan Buka Foto.............................................................. 43

Gambar 3.10 Halaman Model Rambut....................................................... 44

Gambar 3.11 Halaman Simpan................................................................... 44

Gambar 3.12 Form Pesan............................................................................ 45

Gambar 3.13 Form Dialog........................................................................... 45

Gambar 4.1 Hasil Operasi Logika AND.................................................... 48

Gambar 4.2 Hasil Penggabungan Menggunakan Operasi

Berbasis Frame....................................................................... 50

Gambar 4.3 Tampilan Utama..................................................................... 57

Gambar 4.4 Tampilan Buka Foto.............................................................. 57

Gambar 4.5 Tampilan Model Rambut....................................................... 58

Gambar 4.6 Tampilan Simpan................................................................... 58

Gambar 4.7 Tampilan Kreator................................................................... 59

Gambar 4.8 Form Dialog Inputan Jika Ukuran Sama............................... 61

Gambar 4.9 Form Dialog Inputan Jika Ukuran Tidak Sama..................... 61

Gambar 4.10 Form Dialog Penyimpanan Berhasil Dilakukan.................... 61

xvii

Page 20: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

xviii

Gambar 4.11 Form Dialog Pernyataan Untuk Melakukan Clear............... 62

Gambar 4.12 Form Dialog Pernyataan ketika Sudah Melakukan Clear... 62

Gambar 5.1 Tampilan Operasi Berbasis Bingkai.................................... 63

Gambar 5.2 Tampilan Hasil Dengan Operasi Logika AND.................... 64

Page 21: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

DAFTAR TABEL

Tabel 2.1 Tabel isi header berkas bitmap............................................. 19

Tabel 2.2 Tabel isi header bitmap......................................................... 20

Tabel 2.3 Tabel isi data gambar............................................................ 21

Tabel 4.1 Hasil kuesioner segi tampilan............................................... 51

Tabel 4.2 Hasil kuesioner segi pemakaian............................................ 51

Tabel 4.3 Hasil kuesioner segi waktu pemrosesan................................ 52

Tabel 4.4 Hasil kuesioner segi hasil penggabungan rambut.................. 52

Tabel 4.5 Hasil kuesioner segi manfaat.................................................. 53

Tabel 4.6 kecepatan proses berdasarkan ukuran piksel......................... 54

xix

Page 22: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

1

Bab I.

Pendahuluan

1.1 Latar Belakang

Salon potong rambut adalah sebuah bidang usaha yang bergerak di

bidang jasa. Karena bergerak di bidang jasa maka nilai kepuasan seorang

pelanggan menjadi faktor penting dalam kemajuan usaha tersebut. Banyak

faktor yang dapat mempengaruhi nilai kepuasan pelanggan, misalnya

pelayanan, sarana dan prasarana. Salah satu bentuk layanan adalah layanan

konsultasi pemilihan model rambut, yang selama ini terjadi dengan

melakukan tanya jawab dengan bantuan gambar model rambut atau foto

model dengan potongan rambut tertentu, yang belum tentu cocok dengan

karakteristik wajah pelanggan.

Disisi lain kemajuan teknologi bidang pengolahan citra atau

gambar berkembang dengan pesat, sejalan dengan munculnya berbagai

kebutuhan baru misal perbaikan kualitas citra foto, penggabungan

berbagai foto, serta mudah dan murahnya teknologi komputer. Kemajuan

bidang-bidang tersebut ternyata dapat dimanfaatkan. Salah satunya untuk

membantu pelanggan melakukan simulasi pemilihan model rambut

menggunakan foto wajah pelanggan, sebelum pelanggan melakukan

proses pemotongan rambut. Dalam hal ini citra atau gambar diproses

dengan operasi logika dan operasi berbasis frame. Operasi logika adalah

sebuah metode pemrosesan citra yang dapat di gunakan untuk melakukan

manipulasi terhadap data piksel yang ada dalam sebuah citra digital.

Page 23: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

2

Sehingga dapat dilakukan perubahan terhadap citra sesuai dengan

kebutuhan dan keinginan. Sedangkan operasi berbasis frame adalah

penambahan bingkai pada citra sehingga citra akan memiliki bentuk atau

model yang sesuai dengan yang diinginkan. Salah satunya adalah

melakukan simulasi pemilihan model rambut.

1.2 Rumusan Masalah

Berdasarkan latar belakang seperti yang telah disebutkan sebelumnya,

maka dapat dirumuskan permasalahan sebagai berikut :

1. Bagaimana melakukan pemrosesan citra wajah dan model rambut

dengan menggunakan operasi logika and dan operasi berbasis frame.

Sehingga dapat digunakan untuk melakukan simulasi pemilihan model

rambut berdasarkan citra wajah.

2. Bagaimana melakukan perancangan dan pembuatan sebuah aplikasi

yang dapat digunakan untuk melakukan simulasi pemilihan model rambut

dengan menggunakan input berupa citra wajah yang ditangkap

menggunakan digital camera dan dilakukan pemrosesan dengan pc

(personal computer).

3. Bagaimana melakukan pengujian terhadap penelitian dan aplikasi yang

dibuat, sehingga dapat diketahui bahwa aplikasi dapat bermanfaat

serta dapat mengimplementasikan operasi berbasis frame dan operasi

logika didalam aplikasi tersebut.

Page 24: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

3

1.3 Tujuan

Adapun tujuan dari penelitian dan pembuatan aplikasi ini adalah

dapat mengimplementasikan operasi logika dan operasi berbasis frame,

dalam sebuah aplikasi yang dapat digunkan dengan mudah, cepat,

bermanfaat, serta menarik bagi pelanggan salon.

1.4 Batasan Masalah

Dalam perancangan dan pembuatan aplikasi ini, terdapat beberapa

pembatasan masalah, antara lain :

1. Format file yang dapat diproses adalah citra dengan format .jpg atau

.bmp.

2. Program hanya melakukan proses pengolahan citra wajah dan

penggabungannya saja.

3. Ukuran citra inputan adalah 1200 x1600 piksel, ukuran ini merupakan

ukuran yang bisa dijadikan default ukuran kamera digital.

4. Program dibuat dengan meggunakan bahasa pemrograman MatLab

untuk melakukan pemrosesan citran dan GUI MatLab untuk membuat

user interface.

1.5 Metodologi Penelitian

Metodologi penelitian dilakukan sebagai berikut:

1. Studi pustaka yang bertujuan untuk mempelajari teori citra dan proses

pengolahan citra digital dalam hal ini adalah operasi logika dan operasi

Page 25: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

4

berbasis frame.

2. Analisis data bertujuan untuk mengetahui bagaimana data yang

digunkan dalam penelitian diperoleh.

3. Pengembangaan program aplikasi menggunakan model Waterfall

(Pressman, 1997).

Gambar 1.1: Model Waterfall

Tahapan:

System Engineering

Analisa Desain

Implementasi

Pengujiaan

- System Enginering

System Enginering adalah tahap untuk mengumpulkan dan

menentukan semua kebutuhan elemen sistem.

- Analisis

Analisis adalah tahap untuk menentukan analisis terhadap

permasalahan yang dihadapi dan menentukan kebutuhan software.

- Desain

Desain adalah proses menterjemahkan kebutuhan sistem ke dalam

sebuah gambaran program.

- Implementasi

Implementasi merupakan proses penterjemahan desain ke dalam

bentuk yang dapat dieksekusi.

Page 26: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

5

- Pengujian

Pengujian memastikan apakah semua fungsi-fungsi program berjalan

dengan baik dan menghasilkan output yang sesuai dengan yang

dibutuhkan.

4. Menganalisa hasil yang diperoleh dari kuesioner yang diberikan

kepada responden meliputi segi tampilan, segi pemakaian, waktu

pemrosesan, hasil penggabungan dan manfaat.

1.6 Sistematika Penulisan

Sistematika penulisan laporan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Berisi latar belakang masalah, rumusan masalah, batasan masalah, tujuan

sistem, manfaat sistem dan metode penelitian serta sistematika penulisan

laporan.

BAB II DASAR TEORI

Bab ini berisi landasan teori yang dipakai untuk pembahasan laporan tugas

akhir.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang analisis dan perancangan sistem yang akan

diimplementasikan.

BAB IV IMPLEMENTASI SISTEM

Bab ini berisi tentang proses implementasi sesuai dengan rancangan sistem

yang dibuat.

Page 27: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

6

BAB V ANALISIS HASIL

Bab ini berisi tentang analisis hasil implementasi sistem.

BAB VI PENUTUP

Bab ini berisi tentang kesimpulan dan saran untuk sistem.

Page 28: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

7

BAB II

LANDASAN TEORI

2.1 Citra

Citra adalah sebuah representasi informasi yang diciptakan dalam

bentuk dua dimensi. Dimana representasi tersebut merupakan susunan

array dari bilangan real atau bilangan kompleks yang terwakilkan dalam

bilangan-bilangan bit terhingga. citra adalah gambar pada bidang dua

dimensi (munir, 2004).

Citra tersusun dari titik-titik atau kumpulan elemen-elemen gambar

yang disebut piksel (picture element). Piksel adalah element terkecil dari

sebuah citra digital. Dengan jumlah total piksel adalah M x N. Dimana M

merupakan nilai hight atau nilai tinggi citra digital dan N adalah nilai

width atau nilai lebar citra digital.

2.2 Pemrosesan citra

Pemrosesan citra atau pengolahan citra merupakan proses mengolah

piksel-piksel dalam citra digital untuk satu tujuan tertentu (Sutoyo, 2009).

Beberapa alasan pengolahan citra digital antara lain:

1. Untuk mendapatkan citra asli dari suatu citra yang sudah buruk karena

pengaruh derau. Proses pengolahan bertujuan mendapatkan citra yang

diperkirakan mendekati citra yang sesungguhnya.

2. Untuk mendapatkan citra dengan karakteristik tertentu dan cocok

secara visual yang dibutuhkan untuk tahap lebih lanjut dalam

Page 29: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

8

pemrosesan analisis citra seperti croping. Croping dilakukan untuk

mendapatkan bagian tertentu dalam sebuah citra dengan menggunakan

ordinat piksel yang ada dalam sebuah citra, seperti pada gambar 2.1.

Gambar 2.1 Gambar croping

(sumber help matlab)

Dalam proses akuisisi, citra yang akan diolah ditransformasikan dalam suatu

representasi numerik. Pada proses selanjutnya representasi numerik itulah

yang akan diolah secara digital oleh komputer. Sehingga dapat dilakukan

manipulasi pada data-data yang berupa piksel dalam citra tersebut.

Page 30: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

9

2.3 Format Citra Digital

Menurut intensitas warna format citra digital dapat dikategorikan

sebagai berikut :

1. Citra RGB (True Color)

Citra RGB merupakan citra yang memiliki tiga komponen

channel yaitu red, green, dan blue. Setiap channel memiliki nilai

intensitas yang berbeda, tergantung warna yang dipresentasikan.

Untuk monitor komputer, nilai rentang paling kecil = 0 dan paling

besar = 255 ini didasarkan pada cara mengungkap 8 digit bilangan

biner yang digunakan oleh mesin komputer. Dengan cara ini,

akan diperoleh warna campuran sebanyak 256 x 256 x 256

=1677726 jenis warna. Sebuah jenis warna bisa dibayangkan

sebagai sebuah fektor dalam ruang 3 dimensi yang biasanya

dipakai dalam matematika, kordinatnya dinyatakan dalam bentuk

3 bilangan, yaitu komponen-x, komponen-y, dan komponen-z.

Misalkan sebuah vektor dituliskan sebagai r = (x,y,z). Untuk

warna, komponen – komponen tersebut digantikan oleh R(red),

G(green), dan B(blue). Jadi sebuah jenis warna dapat dituliskan

sebagai berikut: warna = RGB(30,75,255), Putih = (255,255,255),

dan hitam = (0,0,0).

Page 31: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

10

Gambar 2.2 : komposisi citra warna

(Sumber : ittelkom.ac.id)

2. Citra Grayscale

Citra grayscale merupakan citra menggunakan fungsi

intensitas untuk menentukan warna. Fungsi intensitas yang digunakan

adalah fungsi intensitas warna keabuan ( hitam putih). Fungsi intensitas

warna yang digunakan pada citra grayscale memiliki kedalaman piksel

yang berbeda-beda. Namun dalam kebanyakan aplikasi, citra grayscale

dikuantisasi pada level 256. Dan membutuhkan 1 byte (8 bit) untuk

mempresentasikan setiap pikselnya.

Page 32: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

11

Gambar 2.3 contoh gambar citra Grayscale

(Sumber : ittelkom.ac.id)

3. Citra Biner

Citra biner atau citra monokrom merupakan citra yang memiliki 2

kemungkinan warna pada setiap pikselnya. Citra biner hanya

dikuantisasikan pada 2 level yaitu 0 dan 1, sehingga setiap piksel pada

citra cukup dipresentasikan dengan 1 bit (0 dan 1).

Gambar 2.4 : Contoh citra warna, citra grayscale dan citra biner

(Sumber : ittelkom.ac.id)

Page 33: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

12

Jika a1 = 0 dan a2 = 1, maka operasi ini akan mentransformasikan suatu

citra menjadi citra biner. Misal suatu citra memiliki gray level 256,

dipetakan menjadi citra biner, maka fungsi trasformasinya adalah sebagai

berikut:

Piksel – piksel yang nilai intensitasnya dibawah 128 diubah menjadi hitam

(nilai intensitas = 0), sedangkan piksel-piksel yang nilai intensitasnya diatas

128 diubah menjadi putih (nilai intensitas =1)

2.4 Pengertian Frame dan Background

Pengertian frame dan background adalah, frame adalah bingkai

yang mengelilingi sebuah citra sehingga akan memberikan tampilan citra

lain sesuai dengan yang diinginkan. Namun frame yang digunakan harus

sesuai dengan bentuk yang diinginkan sehingga dapat menghasilkan citra

yang diharapkan. Sedangkan pengertian background adalah, latar atau

dasar yang berupa citra dengan corak atau motif tertentu sehingga jika

citra masukan, frame dan background digabungkan akan menghasilkan

sebuah citra baru yang sesuai dengan yang diinginkan.

Page 34: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

13

2.5 Pengolahan citra

Pengolahan citra digital (digital image procesing) adalah proses

manipulasi data citra digital dengan tujuan meningkatkan kualitas citra

tersebut atau menghasilkan sebuah citra luaran sesuai dengan yang

diinginkan.

Pengolahan citra pada dasarnya dilakukan dengan cara

memodifikasi setiap titik dalam citra tersebut. Secara garis besar,

modifikasi citra dikelompokkan menjadi:

1. Operasi temporal / berbasis bingkai adalah operasi

pengkombinasian dua buah citra atau lebih dengan menggunakan

operasi matematis. Operasi ini dilakukan titik per titik dengan

lokasi yang bersesuaian pada citra-citra tersebut. Operasi temporal

/ berbasis bingkai diantaranya meliputi pengurangan derau,

penggabungan citra (image blending), deteksi gerakan, dll.

2. Operasi titik adalah operasi pengolahan citra dimana setiap titik

diolah tidak berpengaruh antara satu titik dengan titik yang lain.

Setiap titik pada suatu citra mempunyai 2 karakteristik, yaitu

koordinat yang menunjukkan lokasi dari titik tersebut dalam citra

dan nilai piksel. Beberapa operasi pengolahan citra yang termasuk

dalam kelompok operasi titik adalah operasi modifikasi

kecemerlangan (brightness modification), peningkatan kontras

Page 35: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

14

(contrast enhancement), negasi (negation), dan operasi

pengambangan (thresholding).

3. Operasi geometri adalah operasi terhadap koordinat piksel dalam

citra yang memungkinkan terjadinya perubahan bentuk, ukuran,

atau orientasi. Operasi geometri di antaranya meliputi pencerminan

(flipping), rotasi / pemutaran (rorating), penskalaan (scaling /

zooming), dan pembengkokan (warping).

4. Operasi titik bertetangga adalah operasi dimana data dari titik yang

bersebelahan (bertetangga) dengan titik yang ditinjau ikut berperan

dalam mengubah nilai. Operasi bertetangga pada dasarnya

konvolusi antara citra dengan sebuah filter atau mask. Operasi titik

bertetangga di antaranya meliputi penghalusan citra (smoothing),

eliminasi derau, pendeteksi tepi, penajaman citra (sharping).

5. Operasi morfologi adalah operasi yang didasarkan pada segmen

atau region dalam citra yang menjadi perhatian. Operasi morfologi

di antaranya meliputi operasi pencarian batas, dilasi (dilation),

erosi (erosion), penutupan (closing), pembukaan (opening),

pengisian (filling).

Operasi citra pada pengolahan citra pada umumnya diterapkan bila:

i. Perbaikan kualitas penampakan atau untuk menonjolkan

beberapa aspek informasi yang terkandung dalam citra

tersebut.

Page 36: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

15

ii. Elemen-elemen dalam citra perlu dikelompokkan atau

dicocokkan untuk diukur.

iii. Sebagian citra perlu digabung dengan citra yang lain.

Contoh perbaikan kualitas citra :

Gambar 2.5 (a) Citra burung nuri yang gelap, (b) Citra burung yang telah

diperbaiki kontrasnya sehingga tampak lebih jelas dan tajam

Sumber (Lussiana ETP)

2.6 Operasi berbasis bingkai

Operasi berbasis bingkai adalah operasi yang melibatkan lebih dari

satu citra dan menghasilkan sebuah citra luaran yang merupakan hasil

oprasi matematis (achmad, 2005).

Operasi berbasis bingkai antara citra A dan citra B akan menghasilkan citra

C, yang persamaannya dapat dituliskan sebagai berikut:

C(x,y) = A(x,y) op B(x,y)

Page 37: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

16

dimana op adalah operator yang menghubungkan kedua citra

tersebut. Operasi berbasis bingkai juga dapat melibatkan N buah citra A1

sampai dengan AN yang persamaannya dapat dituliskan sebagai berikut:

C(x,y) = A1(x,y) op A2(x,y) op A3(x,y) ... op AN(x,y)

Berdasarkan operator yang dipakai, operasi berbasis bingkai

meliputi operasi aritmatik dan operasi logika.

Seperti pada penggabungan citra foto dan frame berikut :

(a) (b) (c)

Gambar 2.6

Citra (a) adalah foto, citra (b) adalah frame, dan citra (c) adalah citra hasil

penggabungan citra foto dan citra frame dengan menggunakan operasi

berbasis frame

2.7 Operasi Logika

Operasi logika dapat digunakan pada dua atau lebih citra. Beberapa

operasi logika yang sering digunakan adalah (Ahmad, 2005).:

Page 38: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

17

2.7.1 Operasi Logika AND

Persamaan yang digunakan adalah:

C(x,y) = A(x,y) AND B(x,y)

AND(A) AND (B)

BA

Gambar 2.7. Citra hasil operasi logika AND

Jika A adalah citra dengan gambar persegi panjang dan B adalah citra

dengan gambar persegi maka setelah kedua citra tersebut dioperasikan dengan

menggunakan operasi logika AND maka citra hasil operasi yang didapat adalah

citra persegi panjang yang merupakan perpotongan kedua citra tersebut.

2.7.2 Operasi Logika OR

Persamaan yang digunakan adalah:

C(x,y) = A(x,y) OR B(x,y)

B OR (A) OR (B)A

Gambar 2.8. Citra hasil operasi logika OR

Jika A adalah citra dengan gambar persegi panjang dan B adalah citra

dengan gambar persegi maka setelah kedua citra tersebut dioperasikan dengan

menggunakan operasi logika OR maka citra hasil operasi yang didapat adalah citra

poligon yang merupakan perpaduan kedua citra tersebut.

Page 39: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

18

2.7.3 Operasi Logika XOR

Persamaan yang digunakan adalah:

C(x,y) = A(x,y) XOR B(x,y)

BA XOR (A) XOR (B)

Gambar 2.9. Citra hasil operasi logika XOR

Jika A adalah citra dengan gambar persegi panjang dan B adalah citra

dengan gambar persegi maka setelah kedua citra tersebut dioperasikan dengan

menggunakan operasi logika XOR maka citra hasil operasi yang didapat adalah

citra poligon yang berlubang dibagian tengah yang merupakan hasil perpaduan

kedua citra tersebut.

2.7.4Operasi Logika NOT

Persamaan yang digunakan adalah:

C(x,y) = NOT A(x,y)

A NOT NOT (A)

Gambar 2.10. Citra hasil operasi logika NOT

Jika A adalah citra dengan gambar persegi panjang maka setelah citra

tersebut dioperasikan dengan menggunakan operasi logika NOT maka citra hasil

operasi yang didapat adalah sebuah citra yang berlubang di bagian persegi

panjang. Hasil yang terbentuk merupakan komplemen dari citra awal.

Page 40: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

19

2.8 Format Citra .BMP

Sistem Operasi Windows mempunyai standar untuk format berkas citra yaitu

*.BMP (bitmap) yang dapat dipanggil langsung untuk dimanipulasi dan

ditampilkan karena sistem operasi Windows memiliki perintah API (Aplication

Programming Interface).

Citra bitmap ini dipetakan ke dalam sejumlah bit tertentu dengan nilai

intensitas piksel. Jumlah bit yang dipetakan ini mempresentasikan derajat keabuan

(graylevel) yang akan mempengaruhi kedalaman warna dari citra bitmap.

Setiap berkas bitmap terdiri atas header berkas (BitmapFileHeader), header

bitmap (bitmapinfoheader), informasi palet, dan data bitmap. (Sutoyo,2009)

Header berkas Informasi palet Data bitmapHeader bitmap

14 byte 12 s/d 64 byte 0 s/d 1024 bytes N byte

Gambar 2.11 Format berkas bitmap

Header berkas akan menentukan tipe, ukuran dan layout dari file bitmap.

Stuktur header file dijelaskan pada tabel 2.1.

Tabel 2.1. Tabel isi header berkas bitmap

Byte ke- Panjang (byte) Nama Keterangan

1 – 2 2 BmpType TipeberkasBitmap:

BA = bitmap array,

CI = icon,

BM = bitmap,

CP = color pointer,

PT = pointer

Page 41: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

20

3 – 6 4 BmpSize Ukuran berkas bitmap

7 – 8 2 XhotSpot X hotspot untuk kursor

9 – 10 2 YhotSpot Y hotspot untuk kursor

11 – 14 4 OffBits Ofset keawal data bitmap (dalam byte)

Header bitmap akan menentukan dimensi, tipe pemampatan dan format

warna untuk bitmap. Stuktur header bitmap dijelaskan pada tabel 2.2.

Tabel 2.2. Tabel isi header bitmap

Byte ke- Panjang (byte) Nama Keterangan

1 – 4 4 HdrSize Ukuran header dalam satuan byte

5 – 8 4 Width Lebar bitmap dalam satuan piksel

9 – 12 4 Height Tinggi bitmap dalam satuan piksel

13 – 14 2 Planes Jumlah plane (umumnya selalu satu)

15 – 16 2 BitCount Jumlah bit per piksel

17 – 20 4 Compression 0 = takdimampatkan,

1 = dimampatkan

21 – 24 4 ImgSize Ukuranbitmapdalambyte

25 – 28 4 HorzRes Resolusi horizontal

29 – 32 4 VertRes Resolusivertikal

33 – 36 4 ClsrUsed Jumlahwarna yang digunakan

37 – 40 4 ClrImportant Jumlahwarna yang penting

Informasi palet warna berisi struktur RGBQuad yang berisi elemen warna

yang ada pada bitmap. Setiap entry pada tabel terdiri atas tiga buah field, yaitu R

Page 42: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

21

(red), G (green), dan B (blue). Struktur informasi palet warna dijelaskan pada

tabel 2.3.

Tabel 2.3. Tabel isi data gambar

Ofset Nama Keterangan

0 RgbBlue Nilai warna biru

1 RgbGreen Nilai warna hijau

2 RgbRed Nilai warna merah

3 RgbReserved Selalu 0

Data bitmap diletakkan sesudah informasi palet.Penyimpanan data bitmap

di dalam berkas disusun terbalik dari bawah keatas dalam bentuk matrik yang

berukuran height × width. Baris ke-0 pada matrik data bitmap menyatakan data

piksel di citra baris terbawah, sedangkan baris terakhir pada matrik menyatakan

data piksel di citra baris teratas. Stuktur informasi data bitmap dijelaskan pada

Gambar 2.12. <header bitmap>

<data bitmap>

220 56 256 255 255 255 10 120 120

0 0 25 152 25 47 25 215 255

Gambar 2.12. Format citra BMP 24-bit

2.9 Format Citra .JPG

Format .JPG adalah format yang mampu mengkompres objek

dengan kualitas sesuai dengan pilihan yang disediakan. Format file ini

Page 43: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

22

sering digunakan untuk menyimpan gambar yang akan digunakan untuk

keperluan halaman web. Format JPG ini memiliki ukuran yang lebih kecil

jika dibandingkan dengan format lainya, hal ini terjadi karena format JPG

bertujuan untuk publikasi.

2.10 Kuesioner

Kuesioner merupakan alat pengumpulan informasi dengan

menyampaikan sejumlah pertanyaan tertulis, untuk dijawab secara tertulis

pula oleh responden (Gilbert, 2005)

2.10.1 Kuesioner Terstruktur Yang Terbuka

Tingkat struktur dalam kuesioner adalah tingkat

standarisasi yang diterapkan pada suatu kuesioner. Pada kuesioner

terstruktur yang terbuka dimana pertanyaanpertanyaan diajukan

dengan susunan kata-kata dan urutan yang sama kepada semua

responden ketika mengumpulkan data. Contoh:

Apakah anda merasa bahwa negara kita membutuhkan lebih

banyak atau lebih sedikit peraturan perundang-undangan mengenai

antipolusi?

o Membutuhkan lebih banyak

o Membutuhkan lebih sedikit

o Tidak lebih maupun kurang

o Tidak memberikan pendapat

Page 44: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

23

Pertanyaan diatas merupakan contoh yang baik tentang pertanyaan

terstruktur yang terbuka, karena: pertama, tujuannya jelas,

pertanyaan diatas berusaha untuk menentukan sikap subjek

terhadap peraturan perundang-undangan antipolusi dengan cara

yang langsung. Kedua, pertanyaan diatas menggunakan format

yang sangat terstruktur, para responden dibatasi untuk memilih

salah satu diantara empat jawaban.

2.11 Kompleksitas Waktu

Kompleksitas waktu diperlukan dalam menganalisis algoritma, hal ini

dilakukan agar sebuah algoritma tidak hanya diukur dari kemampuan

melakukan proses tetapi juga diketahui tingkat efektifitasnya. Dalam hal ini

algoritma diukur dari jumlah waktu dan ruang (space) memori yang

dibutuhkan untuk menjalankannya.

Algoritma dikatakan efisien jika suatu algoritma mampu

meminimumkan kebutuhan waktu dan ruang. Kebutuhan waktu dan ruang

suatu algoritma bergantung pada ukuran masukan (n), yang menyatakan

jumlah data yang diproses. Dalam praktik, dapat diukur waktu yang

diperlukan oleh sebuah algoritma dengan menghitung banyaknya

operasi/instruksi yang dieksekusi. Jika mengetahui besaran waktu (dalam

satuan detik) untuk melaksanakan sebuah operasi tertentu, maka dapat

dihitung berapa waktu sesungguhnya untuk melaksanakan algoritma tersebut.

Page 45: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

24

Dalam melakukan perhitungan perlu diperhatikan model abstrak

pengukuran waktu/ruang yang harus independen dari pertimbangan mesin

dan compiler apapun. Besaran yang dipakai untuk menerangkan model abstrak

pengukuran waktu/ruang ini adalah kompleksitas algoritma. Ada dua macam

kompleksitas algoritma, yaitu: kompleksitas waktu dan kompleksitas ruang.

Kompleksitas waktu, T(n), diukur dari jumlah tahapan komputasi yang

dibutuhkan untuk menjalankan algoritma sebagai fungsi dari ukuran masukan

n. Kompleksitas ruang S(n), diukur dari memori yang digunakan oleh struktur

data yang terdapat di dalam algoritma sebagai fungsi dari ukuran masukan n.

Dengan menggunakan besaran kompleksitas waktu/ruang algoritma, kita dapat

menentukan laju peningkatan waktu (ruang) yang diperlukan algoritma

dengan meningkatnya ukuran masukan n.

Dalam praktek, kompleksitas waktu dihitung berdasarkan jumlah

operasi abstrak yang mendasari suatu algoritma, dan memisahkan analisis dari

implementasi.

2.11.1.1 Kompleksitas Waktu Asimptotik

Kompleksitas waktu detail dari sebuah algoritma, terkadang

tidak terlalu diperlukan yang diperlukan adalah besaran dari kompleksitas

waktu yang mendekati besarnya kompleksitas waktu yang sebenarnya.

Kompleksitas waktu yang demikian disebut dengan kompleksitas waktu

asimtotik yang dinotasikan dengan notasi “O” disebut notasi “O-Besar”

(Big-O).

Page 46: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

25

Aturan Untuk Menentukan Kompleksitas Waktu Asimptotik

adalah sebagai berikut:

1. Jika kompleksitas waktu T(n) dari algoritma diketahui,

Contoh: (i) pada algoritma cari_maksimum

T(n) = n – 1 = O(n)

(ii) pada algoritma pencarian_beruntun

Tmin(n) = 1 = O(1)

Tmax(n) = n = O(n)

Tavg(n) = (n + 1)/2 = O(n),

(iii) pada algoritma pencarian_biner,

Tmin(n) = 1 = O(1)

Tmax(n) = 2log n = O(2log n)

(iv) pada algoritma selection_sort

……….. (2.1)

……….. (2.2)

……….. (2.3)

)(2

)1()( 2nOnnnT =−

=

(v) T(n) = (n + 2) log(n2 + 1) + 5n2 = O(n2)

Penjelasannya adalah sebagai berikut:

T(n) = (n + 2) log(n2 + 1) + 5n2

= f(n)g(n) + h(n),

Kita rinci satu per satu:

⇒ f(n) = (n + 2) = O(n)

……….. (2.4)

Page 47: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

26

⇒ g(n) = log(n2 + 1) = O(log n), karena

log(n2 + 1) ≤ log(2n2) = log 2 + log n2

= log 2 + 2 log n ≤ 3 log n untuk n > 2

⇒ h(n) = 5n2 = O(n2)

maka

T(n) = (n + 2) log(n2 + 1) + 5n2

= O(n)O(log n) + O(n2)

=O(n log n)+O(n2)=O(max(n log n, n2)) = O(n2)

…….. (2.5)

2. Menghitung O-Besar untuk setiap instruksi di dalam algoritma

dengan panduan di bawah ini, kemudian menerapkan teorema O-

Besar.

(a) Pengisian nilai (assignment), perbandingan, operasi aritmetik,

read, write membutuhkan waktu O(1).

(b) Pengaksesan elemen larik atau memilih field tertentu dari sebuah

record membutuhkan waktu O(1).

Contoh:

read(x); O(1)

x:=x + a[k]; O(1) + O(1) + O(1) = O(1)

writeln(x); O(1)

Page 48: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

27

Kompleksitas waktu asimptotik = O(1) + O(1) + O(1) = O(1)

Penjelasan: O(1) + O(1) + O(1) = O(max(1,1)) + O(1) ……….. (2.6)

= O(1) + O(1) = O(max(1,1)) = O(1)

(c) if C then S1 else S2; membutuhkan waktu

TC + max(TS1,TS2)

Contoh:

read(x); O(1)

if x mod 2 = 0 then O(1)

begin

x:=x+1; O(1)

writeln(x); O(1)

end

else

writeln(x); O(1)

Kompleksitas waktu asimptotik:

= O(1) + O(1) + max(O(1)+O(1), O(1))

= O(1) + max(O(1),O(1)) ……….. (2.7)

= O(1) + O(1)

= O(1)

(d) Kalang for. Kompleksitas waktu kalang for adalah jumlah

pengulangan dikali dengan kompleksitas waktu badan (body)

kalang.

Contoh:

Page 49: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

28

for i:=1 to n do

jumlah:=jumlah + a[i]; O(1)

Kompleksitas waktu asimptotik = n . O(1)

……….. (2.8) = O(n .1)

= O(n)

Contoh: kalang bersarang

for i:=1 to n do

for j:=1 to n do

a[I,j]:=0; O(1)

Kompleksitas waktu asimptotik:

……….. (2.9) nO(n) = O(n.n) = O(n2)

(e) While C do S; dan repeat S until C; Untuk kedua buah kalang,

kompleksitas waktunya adalah jumlah pengulangan dikali

dengan kompleksitas waktu badan C dan S.

Contoh: kalang tunggal sebanyak n-1 putaran

i:=2; O(1)

while I <= n do O(1)

begin

jumlah:=jumlah + a[i]; O(1)

i:=i+1; O(1)

end;

Kompleksitas waktu asimptotiknya adalah

Page 50: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

29

= O(1) + (n-1) { O(1) + O(1) + O(1) }

= O(1) + (n-1) O(1)

= O(1) + O(n-1) ……….. (2.10)

= O(1) + O(n)

= O(n)

Pengelompokan Algoritma Berdasarkan Notasi O-Besar

Tabel 2.4: Pengelompokan Algoritma

Berdasarkan Notasi O-Besar

Kelompok Algoritma Nama O(1) O(log n) O(n) O(n log n) O(n2) O(n3) O(2n) O(n!)

konstan logaritmik lanjar n log n kuadratik kubik eksponensial faktorial

Page 51: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

30  

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Analisa dan perancangan sistem digunakan untuk menggambarkan sistem

yang akan dibangun, dalam hal ini adalah proses-proses yang dibutuhkan dalam

penelitian, perangkat lunak yang dibutuhkan dalam pengerjaan program,

informasi perangkat keras yang digunakan untuk melakukan penelitian, serta

rancangan interface yang akan di bangun dalam sistem.

3.1 Rancangan Umum

Secara umum, program tugas akhir ini menitik beratkan pada

pemrosesan citra digital. Meskipun tujuan akhirnya adalah melakukan

pembuatan aplikasi salon potong rambut untuk melakukan simulasi

pemilihan model rambut. Aplikasi salon kecantikan ini bertujuan untuk

melakukan simulasi pemilihan model rambut dengan menggunakan citra

wajah pelanggan. Aplikasi salon ini menggunakan konsep-konsep serta

algoritma pemrosesan citra digital.

Dalam aplikasi salon ini citra yang digunakan adalah citra wajah

pelanggan dan citra model rambut. Citra wajah pelanggan diambil

menggunakan kamera digital sedangkan citra model rambut sudah

disiapkan terlebih dahulu. Citra wajah yang diambil dengan menggunakan

kamera digital akan diolah terlebih dahulu untuk mendapatkan citra wajah

yang bisa digunakan untuk proses selanjutnya. Setelah didapat hasil citra

wajah yang dibutuhkan selanjutnya dilakukan proses penggabungan citra

 

Page 52: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

31  

wajah dan citra model rambut sehingga dapat dilakukan simulasi

pemilihan model rambut oleh pelanggan.

Aktivitas yang dilakukan oleh sistem ditunjukan pada Gambar 3.1

Citra hasil penggabungan operasi logika and 

Citra wajah

Citra model rambut dan frame 

Citra hasil penggabungan Operasi berbasis frame 

Sistem penggabungan citra menggunakan 

operasi berbasis frame, dan Oeprasi logika and 

User 

 

Gambar 3.1 Diagram konteks

3.2 Analisa kebutuhan Proses

Dari Uraian mengenai gambaran umum sistem pada Gambar 3.1

terdapat beberapa proses yang harus dilakukan oleh sistem yaitu proses

penggabungan citra dengan menggunakan operasi logika and dan proses

penggabungan citra dengan menggunakan operasi berbasis frame. Pada

penggabungan citra menggunakan operasi logika and citra masukan

dirubah menjadi biner terlebih dahulu. Hal ini dilakukan karena operasi

logika and hanya dapat dilakukan pada citra biner.

Dari penjelasan proses pada Gambar 3.1 maka di dapat Data Flow

Diagram (DFD) level 1yang ditunjukkan pada Gambar 3.2

 

Page 53: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

32  

Citra wajah 

Citra model ram

but

Gambar 3.2 DFD level 1

3.2.1 Proses binerisasi

Proses binerisasi adalah proses yang harus dilakukan. Hal ini

dikarenakan untuk melakukan proses penggabungan citra dengan

menggunakan operasi logika and citra masukan yang diperlukan adalah

citra biner (bernilai 0 dan 1 dalam piksel gambar). Proses binerisasi yang

dirancang dapat dilihat pada Gambar 3.3

Citra model rambut biner 

Citra wajah biner 

1  Binerisasi 

2.penggabungan menggunakan operasi 

logika and

3.penggabungan menggunakan operasi 

berbasis frame

 

User 

Citra hasil nggabngan nggukan 

operasi erbasis

Citra model ram

butpe u

me na

b  frame 

Citra frame

Citra waja Citra 

hasil penggabunganmenggunakan operasi 

h

 

logika 

 

Page 54: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

33  

Mulai 

Citra asli 

Image_biner = im2bw(originalimage) 

Selesai 

Gambar 3.3 Proses binerisasi

Keterangan

• Proses binerisasi dilakukan pada citra asli menggunakan perintah

yang sudah ada di dalam matlab yaitu im2bw yang digunakan

untuk melakukan proses binerisasi atau merubah piksel citra asli

menjadi 0 dan 1. Sebelum proses binerisasi proses graythresh

dilakukan lebih dahulu. Graythresh adalah perintah yang sudah ada

didalam matlab, yang dapat digunakan untuk menentukan nilai

ambang piksel citra untuk dirubah menjadi 0 dan 1.

3.2.2 Proses penggabungan menggunakan operasi logika and

Proses penggabungan citra menggunakan operasi logika and

merupakan proses utama yang dilakukan. Dalam hal ini penggabungan

 

Page 55: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

34  

citra wajah dan citra model rambut dilakukan dengan menggunakan

operasi logika and. Proses ini dimulai dengan melakukan operasi logika

and pada setiap piksel citra wajah dan model rambut. Sehingga didapat

sebuah citra luaran berupa citra hasil penggabungan citra wajah dan citra

model rambut.

Proses ini dapat dilihat pada Gambar 3.4. proses penggabungan

citra wajah dan model rambut menggunakan operasi logika and.

A = gambar wajah B = gambar rambut 

C = im2bw (a) 

D = im2bw (b) 

E = c & d 

Selesai 

Mulai 

Gambar 3.4. Proses penggabungan citra wajah dan

model rambut menggunakan operasi logika and.

 

Page 56: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

35  

Keterangan :

• Pada proses ini yang pertama dilakukan adalah merubah kedua

buah citra masukan (citra wajah dan citra model rambut) dari

format citra warna atau RGB menjadi citra biner.

• Setelah kedua buah citra masukan menjadi biner maka dilakukan

operasi logika and, sehingga hasil dari operasi logika tersebut

adalah citra hasil penggabungan antara citra wajah dan citra model

rambut dalam format citra biner.

3.2.3 Proses penggabungan menggunakan operasi berbasis frame

Proses penggabungan citra menggunakan operasi berbasis

frame merupakan proses utama yang dilakukan. Dimana dalam

proses penggabungan ini dilakukan berdasarkan citra frame yang

digunakan, dengan cara melakukan perubahan pada piksel citra

frame, dimana apabila piksel pada citra frame bernilai 0 atau hitam

maka piksel tersebut akan diganti dengan piksel citra wajah.

Sedangkan apabila pada piksel citra frame bernilai 1 atau putih

maka pada piksel frame tersebut akan diganti dengan nilai piksel

dari citra model rambut. Sehigga didapat hasil penggabungan citra

wajah dan model dalam format citra warna.

 

Page 57: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

36  

Imread(gambar_wajah) Imread(frame) Imread(rambut)

i<tinggi?

j<lebar?

Frame==255

Hasil=rambut Hasil=wajah

selesai

benar

benar

benar 

Sala

Salah

i++ j++

i = 1; j=1

(tinggi, lebar = Ukuran Citra wajah)

Sala

Mulai

Gambar 3.5 Algoritma penggabungan citra wajah dan rambut

menggunakan operasi berbasis frame

Keterangan :

• Pada proses ini yang pertama dilakukan adalah melakukan

pengecekan terhadap ketiga ukuran citra masukan. Jika ketiga

 

Page 58: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

37  

• Setelah dilakukan pengecekan pada ukuran citra masukan, proses

selanjutnya adalah melakukan penggabungan citra wajah dan citra

model rambut berdasarkan citra frame. Hal ini dilakukan dengan

cara merubah nilai piksel dalam citra frame. Dimana citra frame

sendiri berupa citra biner. Perubahan nilai ini dilakukan dengan

cara, apabila pada piksel citra frame bernilai 0 atau hitam maka

pada ordinat piksel tersebut nilainya akan di ganti dengan nilai

piksel citra wajah pada ordinat yang sama. Sedangkan apabila pada

piksel citra frame bernilai 1 atau putih maka pada ordinat piksel

tersebut nilainya akan di ganti dengan nilai piksel citra model

rambut pada ordinat yang sama juga.

3.2.4 Pengujian sistem dengan pengamatan visual

Pengujian dengan pengamatan visual dilakukan dengan

membagi 30 kuesioner berisikan pertanyaan mengenai: segi

tampilan aplikasi, segi penggunaan aplikasi, segi waktu

pemrosesan, segi hasil pemrosesan, dan dari segi manfaat

aplikasi.Kelima pertanyaan ini digunakan untuk mengetahui

pendapat pengguna terhadap tampilan, penggunaan, waktu, hasil

dan manfaat dari aplikasi, sehingga dapat dikethui kemampuan

 

Page 59: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

38  

serta kelebihan dan kekurangan dari aplikasi. Kuesioner dibagikan

kepada 30 responden yang terdiri dari pelanggan salon, pegawai

salon, dan mahasiswa USD. Ketiga kalangan responden tersebut

dipilih supaya dapat mewakili semua kalangan pengguna aplikasi

ketika aplikasi diterapkan. Dari hasil 30 responden ini dilakukan

perhitungan terhadap jawaban dari kelima pertanyaan yang ada

dalam kuesioner tersebut. Rancangankuesioner yang akan

digunakan, adalah sebagai berikut :

KUISIONER IMPLEMENTASI OPERASI LOGIKA DAN OPERASI BERBASIS FRAME DALAM SEBUAH HAIR STYLING SIMULATOR

Cara pengisian : Berilah jawaban pada semua pertanyaan yang ada dengan cara memberikan tanda silang (x), pada jawaban yang anda yakini benar.

1. Dilihat dari segi tampilan apakah aplikasi ini : a. Kurang menarik d. Sangat menarik b. Tidak menarik c. Cukup menarik

2. Dilihat dari segi pemakaian atau pengoperasian :

a. Sulit d. Sangat Mudah b. Sangat sulit c. Mudah

3. Dilihat dari waktu pemrosesan yang dibutuhkan :

a. Lambat d. Sangat Cepat b. Sangat lambat c. Cepat

4. Dilihat dari hasil penggabungan wajah dan model rambut :

a. Kurang Memuaskan d. Sangat memuaskan b. Tidak Memuaskan c. Cukup memuaskan

 

Page 60: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

39  

5. Dilihat dari segi manfaat : a. Kurang bermanfaat d. Sangat bermanfaat b. Tidak bermanfaat c. Bermanfaat

3.3 Ukuran Piksel Citra

Dalam menggunakan aplikasi ini, citra yang digunakan memiliki

ukuran yang sudah ditentukan, yaitu berukuran 1600x1200 piksel. Ukuran

ini dipilih dikarenakan pada sejumlah camera digital merupakan ukuran

default.

3.4 Perancangan tampilan antar muka

Rancangan tampilan antar muka dalam aplikasi ini adalah sebagai

berikut :

3.4.1 Halaman utama

Gambar 3.6 Halaman utama

Bantuan  kreator  Keluar 

Waktu proses

Model rambutBuka foto 

Proses Simpan

Waktu proses

Clear

 

Page 61: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

40  

Pada program ini tampilan awal dan tampilan utama menjadi satu.

Hal ini diterapkan supaya tampilan akan dapat di akses dengan lebih cepat

dan lebih mudah, sehingga dapat mengurangi kesalahan dalam

menjalankan program yang dilakukan oleh user.

Pada rancangan tampilan awal diatas terdapat dua tombol fungsi

yaitu :

Tombol bantuan

Tombol bantuan berisi sebuah video cara

penggunakan aplikasi.

Tombol kreator

Tombol kreator berisi tentang informasi pembuat

aplikasi

Tombol keluar

Tombol keluar adalah tombol yang memiliki

fungsi exitatau keluar ketika program telah selesai

dijalankan.

Pada rancangan tampilan utama diatas juga terdapat beberapa

tombol yaitu :

Tombol buka foto

Tombol buka foto berfungsi untuk membuka dan

menampilkan direktori dimana foto wajah

pengguna yang akan digunakan disimpan.

Tombol model rambut

 

Page 62: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

41  

Tombol model rambut berfungsi untuk membuka

dan menampilkan direktori dimana foto model

rambut disimpan.

Tombol proses

Tombol proses berfungsi untuk melakukan

penggabungan antara foto wajah dan model

rambut pengguna yang sudah dipilih.

Tombol simpan

Tombol simpan berfungsi untuk melakukan

penyimpanan terhadap hasil dari penggabungan

foto wajah dan model rambut.

Tombol clear

Tombol clear berfungsi untuk mengosongkan

jendela buka wajah, model rambut, dan hasil

penggabungan setelah program slesai dijalankan.

 

Page 63: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

42  

3.4.2 Halaman kreator

Rancangan halaman kreator dapat dilihat pada Gambar 3.7

Dosen Pembimbing : Anastasia Rita Widiarti, S.Si. , M.Kom 

Email   : [email protected] 

Nim    : 06 5314 003 

Nama : Martinus Prima Yustanto 

Kreator 

Gambar 3.7 halaman kreator.

Pada halaman kreator ini digunakan untuk memberikan informasi

tentang pembuat program dan kontak yang dapat dihubungi. Pada halaman

ini hanya berisi inforasi mengenai pembuat program.

3.4.3 Haman Bantuan

Gambar 3.8 halaman bantuan

Bantuan 

 

5. Tekan tombol clear untuk memulai proses baru. 4. Simpan hasil proses jika diinginkan 3. Tekan tombol proses 2. Pilih model  rambut yang diinginkan 1. Masukan foto wajah 

Cara penggunaan Aplikasi : 

 

Page 64: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

43  

Pada halaman bantuan ini akan ditampilkan informasi mengenai

penggunaan aplikasi hair styling simulator.

3.4.4 Buka Foto

Buka foto merupakan tampilan open picture dialog, yaitu

form yang digunakan untuk membuka file foto wajah dari

pengguna yang akan di proses. File citra yang akan diproses

adalah file citra dengan ukuran 1200 x 1600 piksel.

LOOK UP 

File Name 

File Type 

Open 

Cancel 

Gambar 3.9 tampilan buka foto

3.4.5 Model Rambut

Model rambut merupakan tampilan open picture dialog ,

yaitu form yang digunakan untuk membuka file citra model

rambut dengan exstensi .bmp dan dengan ukuran 1200x1600

piksel.

 

Page 65: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

44  

LOOK UP 

File Name  Open

File Type Cancel

Gambar 3.10 halaman model rambut

3.4.6 Simpan

Simpan adalah tampilan untuk menampilkan letak

direktori atau folder yang akan digunakan untuk menyimpan

data hasil penggabungan citra wajah dan model rambut.

Gambar 3.10 tampilan simpan

LOOK UP 

File Name 

File Type 

Open 

Cancel 

Gambar 3.11 halaman simpan

 

Page 66: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

45  

3.4.7 Form pesan

Form pesan ini berisi pemberitahuan kepada user tentang pesan-

pesan yang berasal dari program. Seperti proses berhasil dilakukan dan

lain sebagainya.

 

 

 

 

Pesan 

Pesan................................................. 

Ok 

Gamabr 3.12 gambar pesan program

3.4.8 Form dialog

Form dialog ini berfungsi untuk memberikan pesan yang

membutuhkan konfirmasi kepada user.

 

 

 

X

Apakah anda akan keluar dari aplikasi ini?? 

Ok 

Gambar 3.13 gambar form dialog

 

Page 67: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

46  

 

3.5 Kebutuhan perangkat keras dan perangkat lunak

Spesifikasi yang digunakan untuk membuat tugas akhir

ini adalah sebagai berikut:

• Processor : Intel Cor2Dua 1,8 GHz

• Memory : RAM 4 GB DDR 3

• Oprating System : Windows 7 profesional

• Software : Matlab 2009

3.6 Data

Data yang akan digunakan dalam pembuatan aplikasi ini

didapat dari gambar model rambut yang di download dari

internet atau gambar model rambut yang dibuat dengan

menggunakan aplikasi photoshop.

Page 68: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

47  

BAB IV

IMPLEMENTASI SISTEM

Program yang dibuat pada tugas akhir ini adalah program yang digunakan

untuk melakukan simulasi pemilihan model rambut dengan menggunakan operasi

berbasis bingkai dan operasi logika and. Pada bab ini akan dijelaskan mengenai

implementasi sistem. Dan akan dilakukan analisis terhadap hasil dari

implementasi sistem tesebut.

4.1 Implementasi Binerisasi

Implementasi Binerisasi: 1. Inputkan citra asli 2. Gunakan im2bw yang merupakan sintak asli matlab 3. selesai

Keterangan :

Proses binerisasi ini digunakan untuk merubah format citra masukan dari

citra RGB menjadi citra biner. Hal ini merupakan bagian dari proses

penggabungan citra menggunakan operasi logika and. Dalam melakukan

binerisasi citra masukan, proses ini menggunakan fungsi dari matlab yaitu

fungsi im2bw.

4.2 Implementasi Operasi Logika And

Implementasi Operasi Logika And

1. Inputkan citra wajah

Page 69: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

48  

2. Inputkan citra rambut

3. Binerkan citra wajah dengan im2bw

4. Binerkan citra rambut dengan im2bw

5. Lakukan proses logika andpada citra biner wajah dan citra biner

rambut

6. Selesai

Keterangan :

Implementasi operasi logika and ini dimulai dengan memasukan

citra wajah dan citra model rambut. Selanjutnya kedua citra masukan akan

dilakukan proses binerisasi menggunakan fungsi matlab yaitu im2bw.

Setalah kedua citra masukan menjadi citra biner selanjutnya dilakukan

proses penggabungan citra menggunakan operasi logika and. Hasil dari

proses ini dapat dilihat pada: Gambar 4.1 hasil operasi logika and

Gambar 4.1 hasil operasi logika and

Page 70: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

49  

4.3 Implementasi Operasi Berbasis Frame

Implementasi Operasi Berbasis Frame:

1. Inputkan citra wajah

2. Inputkan citra frame

3. Inputkan citra rambut

4. Dapatkan ukuran citra wajah

5. Jika nilai variabel i kurang dari tinggi ukuran citra wajah lakukan

langkah 6, jika tidak lakukan langkah 8.

6. Jika nilai variabel j kurang dari lebar ukuran citra wajah lakukan

langkah 7, jika tidak lakukan langkah 5.

7. Jika nilai piksel citra frame 255 lakukan langkah 7.1, jika tidak

lakukan langkah 7.2.

7.1 isi citra hasil dengan citra rambut

7.2 isikan citra hasil dengan citra wajah

8. Selesai

Keterangan :

Pada proses ini akan dilakukan penggabungan citra wajah dan

model rambut menggunakan operasi berbasis frame. Pertama yang

dilakukan proses adalah memasukan citra wajah, citra model rambut, dan

citra frame. Kemudian akan dilakukan proses penghitungan ukuran piksel

citra wajah dengan menggunakan variabel i untuk mengetahui tinggi citra

wajah. Dan varfiabel j untuk mengetahui ukuran lebar citra wajah. Setelah

didapat ukuran piksel citra maka akan dilanjutkan proses selanjutnya.

Page 71: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

50  

Dimana jika nilai piksel citra frame adalah 255 maka pada citra hasil akan

diisis dengan nilai piksel dari citra model rambut. Sedangkan jika piksel

pada citra frame bernilai 0 maka pada citra hasil akan diisi dengan nilai

piksel dari citra wajah. Sehingga dapat menghasilkan penggabungan citra

wajah dan model rambut dalam format citra warna atau RGB. Hasil dari

proses ini dapat dilihat pada Gambar 4.2 hasil penggabungan

menggunakan operasi berbasis frame.

Gambar 4.2 hasil penggabungan

menggunakan operasi berbasis frame.

4.4 Implementasi Pengujian Sistem Dengan Pengamatan Visual

Dalam implementasi pengujian dengan pengamatan visual, dilakukan

dengan cara membagikan kuesioner kepada 30 responden yang terdiri dari

pegawai salon, pelanggan salon, dan mahasiswa USD. Dari hasil pembagian

kuesioner tersebut didapatkan data sebagai berikut :

Page 72: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

51  

Tabel 4.1: Hasil Kuesioner Segi Tampilan

No. Kurang Menarik Tidak

Menarik

Cukup

Menarik

Sangat

Menarik

1. 0% 0% 70% 30%

Dari hasil 30 responden kuesioner diketahui bahwa, 70%

responden memberikan respon, dari segi tampilan menyatakan cukup

menarik. Sedangkan 30% responden menyatakan bahwa tampilan program

sangat menarik.

Pertanyaan :

Dilihat dari segi pemakaian atau pengoperasian :

Tabel 4.2 Hasil Kuesioner Segi Pemakaian/Pengoperasian

No. Sulit Sangat Sulit Mudah Sangat

Mudah

1. 0% 0% 50% 50%

Dari hasil 30 responden kuesioner diketahui bahwa, 50%

responden memberikan respon, dari segi pemakian menyatakan mudah,

sedangkan 50% responden menyatakan bahwa segi pemakian program

sangat mudah.

Page 73: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

52  

Pertanyaan :

Dilihat dari waktu pemrosesan yang dibutuhkan:

Tabel 4.3: Hasil Kuesioner Segi Waktu Pemrosesan

No. Lambat Sangat

Lambat

Cepat Sangat Cepat

1. 0% 0% 46,67% 55.33%

Dari hasil 30 responden kuesioner diketahui bahwa, 46,67%

responden memberikan respon, dari segi waktu pemrosesan menyatakan

cepat, sedangkan 53,33% responden menyatakan bahwa waktu pemrosesan

sangat cepat.

Pertanyaan :

Dilihat dari hasil penggabungan citra :

Tabel 4.4: Hasil Kuesioner Segi Hasil Penggabungan Rambut

No. Kurang

Memuaskan

Tidak

Memuaskan

Cukup

Memuaskan

Sangat

Memuaskan

1. 3.3% 3.3% 80% 13.3%

Dari hasil 30 responden kuesioner diketahui bahwa, 3,3%

responden memberikan respon, dari segi hasil penggabungan rambut

kurang memuaskan, 3,3% tidak memuaskan, 80% cukup memuaskan dan.

Page 74: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

53  

13,3% responden menyatakan bahwa hasil penggabungan citra wajah dan

model rambut sangat memuaskan

Pertanyaan :

Dilihat dari segi manfaat :

Tabel 4.5 Hasil Kuesioner Segi Manfaat

No. Kurang

Bermanfaat

Tidak

Bermanfaat

Bermanfaat Sangat

Bermanfaat

1. 0% 0% 63.3% 36.7%

Dari hasil 30 responden kuesioner diketahui bahwa, 63,3%

responden memberikan respon, dari segi manfaat menyatakan bermanfaat.

Sedangkan 36,7% responden menyatakan bahwa tampilan program sangat

bermanfaat.

4.5 Implementasi Ukuran Piksel Citra

Pada implementasi ukuran piksel citra ini ukuran citra yang

digunakan adalah 1200 x 1600 hal. Ukuran ini merupakan ukuran yang

dapat di jadikan default ukuran kamera digital. Dengan menggunakan

ukuran 1200 x 1600 piksel ini proses dapat berjalan dengan cepat. Hal ini

dapat dilihat pada Tabel 4.6 tabel kecepatan proses berdasarkan ukuran

piksel:

Page 75: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

54  

Tabel 4.6 Tabel kecepatan proses berdasarkan ukuran piksel

Ukuran piksel

Waktu yang dibutuhkan

Operasi berbasis

frame

Operasi logika and

1200 x 1600 0.712233 s 0.236697 s

2200 x 3200 3.90618 s 0.714414 s

4200 x 6200 32.5422 s 4.21352 s

4.6 Implementasi Tampilan

Tampilan awal dan tampilan utama yang diimplementasikan adalah

sebagai berikut :

4.6.1 Tampilan Awal dan Tampilan Utama

Pada Tampilan awal dan tampilan utama ini terdapat lima

buah tombol, yaitu:

1. Tombol buka foto, tombol ini berfungsi untuk

memasukan foto wajah yang akan digunakan dalam

proses penggabungan.

2. Tombol model rambut, tombol ini berfungsi untuk

memilih dan memasukan model rambut yang akan

digunakan dalam proses penggabunga.

Page 76: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

55  

3. Tombol proses, tombol ini digunakan untuk

melakukan proses penggabungan citra wajah dan

cotra model rambut.

4. Tombol simpan, tombol ini digunakan untuk

menyimpan hasil dari proses penggabungan citra

wajah dan citra model rambut.

5. Tombol clear, tombol ini berfungsi untuk

mengosongkan enam jendela pada aplikasi setelah

proses selesai dilakukan.

Pada tampilan awal dan tampilan utama aplikasi ini juga

terdapat enam buah jendela yaitu :

1. Jendela buka foto, jendela ini berfungsi untuk

menampilkan foto yang akan digunakan dalam

proses penggabungan.

2. Jendela model rambut, jendela ini berfungsi untuk

menampilkan model rambut yang sudah dipilh dan

akan digunakan proses penggabungan

3. Jendela hasil proses penggabungan menggunakan

operasi berbasis frame, jendela ini berfungsi untuk

menampilkan hasil proses penggabungan

menggaunakan operasi berbasis frame.

Page 77: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

56  

4. Jendela hasil proses menggunakan operasi logika

and, jendela ini berfungsi untuk menampilkan hasil

proses penggabungan menggunakan operasi logika

and.

5. Jendela waktu proses menggunakan operasi berbasis

frame, jendela ini berfungsi untuk menampilkan

waktu yang dibutuhkan proses penggabungan

dengan menggunakan operasi berbasis frame.

6. Jendela waktu proses menggunakan operasi logika,

jendela ini berfungsi untuk menampilkan waktu

yang dibutuhkan proses penggabungan dengan

menggunakan operasi logika and

.

Pada Tampilan awal dan tampilan utama ini terdapat tiga

buah tombol fungsi, yaitu:

1. Tombol fungsi kreator, tombol fungsi kreator ini

berfungsi untuk menampilkan profil pembuat

aplikasi

2. Tombol fungsi bantuan, tombol fungsi bantuan ini

berfungsi untuk menampilkan video cara

penggunaan aplikasi.

3. Tombol fungsi EXIT, tombol fungsi ini berfungsi

untuk keluar dari program.

Page 78: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

57  

Tampilan awal dan tampilan utama ini ditunjukan pada Gambar

4.3 tampilan utama

Gambar 4.3 tampilan utama

4.6.2 Tampilan Buka Foto

Tampilan buka foto adalah tampilan yang digunakan untuk

memasukan foto wajah yang akan digunakan untuk proses

penggabungan. Tampilan ini ditunjukan pada Gambar 4.4

tampilan buka foto

Gambar4.4 tampilan buka foto

Page 79: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

58  

4.6.3 Tampilan Model Rambut

Tampilan model rambut adalah tampilan yang digunakan

untuk memasukan model rambut yang akan digunakan untuk

proses penggabungan. Tampilan ini ditunjukan pada Gambar 4.5

tampilan model rambut.

Gambar4.5 tampilan model rambut.

4.6.4 Tampilan Simpan

Tampilan simpan adalah tampilan yang digunakan untuk

melakukan penyimpanan terhadap citra hasil proses penggabungan.

Tampilan ini dapat dilihat pada Gambar 4.6 tampilan simpan.

Page 80: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

59  

Gambar 4.6 tampilan simpan

4.6.5 Tampilan Kreator

Pada tampilan ini akan ditampilkan informasi tetang

pembuat program. Tampilan ini ditunjukan pada Gambar 4.7

tampilan kreator.

 

 

 

 

 

 

Gambar 4.7 tampilan kreator.

Page 81: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

60  

4.6.6 Tampilan Bantuan

Tampilan ini berfungsi menampilkan video cara

penggunaan aplikasi hair styling simulator.

4.6.7 Tampilan Form Dialog

Form dialog ini akan tampil jika program membutuhkan

persetujuan kepada user untuk menjalankan beberapa proses.

Selain itu tampilan ini akan keluar ketika program menyampaikan

beberapa pesan kepada pengguna mengenai hasil dari eksekusi

program atau mengenai kesalahan program yang terjadi. Berikut

adalah tampilan form dialog yang digunakan dalam program

simulasi pemilihan model rambut.

1. Peringatan ukuran piksel

Form dialog ini digunakan untuk memberikan informasi

kepada pengguna mengenai informasi ukuran piksel citra yang

akan digunakan. Jika ukuran piksel citra yang akan digunakan

sudah sesuai dengan aturan yang ada maka sistem akan

menampilkan form dialog berupa :

Page 82: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

61  

Gambar 4.8 form dialog data inputan jika ukuran sama

Tetapi jika ukuran piksel citra yang akan digunakan tidak sesuai dengan aturan yang ada maka sistem akan menampilkan form dialog berupa :

Gambar 4.9 form dialog data inputan jika ukuran tidak sama

2. Form dialog Save Form dialog ini digunakan untuk melakukan pemberitahuan kepada pengguna bahwa proses penyimpanan telah berhasil dilakukan.

Gambar 4.10 form dialog penyimpanan berhasil dilakukan

Page 83: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

62  

3 Form dialog Clear

Form dialog ini digunakan untuk meyakinkan pengguna bahwa

pengguna akan melakukan perintah clear, dan akan menghapus

seluruh data yang ada dalam jendela aplikasi.

Gambar 4.11 form dialog Pernyataan ketika melakukan clear

Dan setelah perintah clear berhasil dilakukan maka sistem

akan menampilkan form dialog berupa Clear sukses kepda

pengguna, sebagai pemberitahuan bahwa perintah clear telah

berhasil dilakukan.

Gambar 4.12 form dialog Pernyataan ketika sudah

Melakukan clear

 

Page 84: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

63  

BAB V

ANALISA HASIL

5.1 Uji Coba Program Dan Analisa Sistem

5.1.1 Uji Coba Program

Hasil penggabungan citra wajah dan citra model rambut

menggunakan pemrosesan citra berbasis frame, tidak mengalami

perubahan warna, karena operasi ini tidak bepengaruh terhadap jenis citra.

Pada proses penggabungan menggunakan opeasi berbasis frame ini,

digunakan tiga buah citra masukan dan menghasilkan sebuah citra luaran.

Citra yang digunakan adalah citra wajah, citra model rambut, dan citra

frame sedangkan citra luaran yang dihasilkan adalah citra hasil

penggabungan citra wajah dan model rambut menggunakan operasi

berbasis frame dalam bentuk citra warna seperti pada Gambar 5.1.

(a) (b) (c) (d)

Gambar 5.1. (a) citra wajah, (b) citra model rambut, (c) citra frame, dan

(d) citra hasil penggabungan.

Page 85: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

64  

Sementara operasi kedua yaitu, operasi penggabungan citra wajah

dan model rambut menggunakan operasi logika and. Pada operasi ini citra

wajah dan citra model rambut akan dirubah terlebih dahulu menjadi citra

biner, yang selanjutnya akan dilakukan operasi logika and untuk

melakukan penggabungannya. Pada proses penggabungan menggunakan

operasi logika and ini, digunakan dua buah citra masukan dan sebuah citra

luaran yang berupa citra biner. Citra masukan yang digunakan adalah citra

wajah dan citra model rambut. Sedangkan citra luaran yang dihasilkan

adalah citra hasil penggabungan antara citra wajah dan citra model rambut

dalam bentuk citra biner. Seperti pada Gambar 5.2.

(a) (b) (c)

Gambar 5.2.(a) citra wajah, (b) citra model rambut, (c) citra hasil

penggabungan.

Page 86: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

65  

5.1.2 Analisa Sistem

Proses penggabungan dengan menggunakan operasi berbasis frame

dan operasi logika ini dipengaruhi oleh ukuran piksel citra yang

digunakan. Dimana apabila ukuran piksel citra yang digunakan semakin

besar maka waktu yang dibutuhkan proses juga semakin lama. Selain itu

proses penggabungan dengan menggunakan operasi berbasis frame

membutuhkan waktu yang lebih lama dibandingkan dengan proses

penggabungan dengan menggunakan operasi logika and. Hal ini

disebabkan proses peubahan nilai piksel pada penggabungan dengan

menggunakan operasi berbasis frame dilakukan dengan cara melakukan

prubahan piksel-perpiksel. Sedangkan proses penggabungan dengan

menggunakan operasi logika dilakukan dengan cara melakukan operasi

logika and pada seluruh piksel citra yang akan digabung. Hal ini bisa

dilihat pada data berikut:

1. Citra dengan ukuran 1200 x 1600 piksel membutuhkan

waktu 0,712233s untuk proses penggabungan dengan

meggunakan operasi berbasis frame, sedangkan proses

penggabungan dengan menggunakan operasi logika

membutuhkan waktu 0,236697s.

2. Citra dengan ukuran 2200 x 3200 piksel membutuhkan

waktu 3,90618s untuk proses penggabungan dengan

meggunakan operasi berbasis frame, sedangkan proses

Page 87: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

66  

penggabungan dengan menggunakan operasi logika

membutuhkan waktu 0,714414s.

3. Citra dengan ukuran 4200 x 6200 piksel membutuhkan

waktu 32,5422 s untuk proses penggabungan dengan

meggunakan operasi berbasis frame, sedangkan proses

penggabungan dengan menggunakan operasi logika

membutuhkan waktu 4,21352s.

5.1.3 Kompleksitas Waktu Asimtotik

Kompleksitas waktu asimtotik digunakan untuk mengetahui apakah

operasi berbasis frame dan operasi logika and merupakan operasi yang

efektif. Untuk menentukan kompleksitas waktu asimtotik dihitung

berdasarkan operasi-operasi yang mendasari operasi berbasis frame dan

operasi logika and, langkah-langkah penyelesaian kompleksitas waktu

adalah sebagai berikut, berdasarkan tabel  Pengelompokan Algoritma

Notasi O-Besar pada bab 2 maka:

fr1 = imread('temp2a.bmp');

rambut = imread('temp2.bmp');

hasil1=fr1;

[tinggi,lebar]= size(im1);

for(i=1: tinggi-

1)................................O(n-1)

Page 88: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

67  

for(j=1:lebar-

1)..............................O(n-1)

if(fr1(i,j)==255)........................O(1)

hasil1(i,j)=rambut(i,j);..........O(1)

else

hasil1(i,j)=im1(i,j);.............O(1)

end

end

end

 

=O(n‐1)*((O(n‐1)+(O(1)+O(1)+O(1))) 

=O(n‐1)*((O(n‐1)+(O(1))) 

=O(n‐1)*O(n‐1) 

=O(n*n) 

=O(n2)  Termasuk algoritma polinomial atau termasuk algoritma mangkus

 

c = im2bw(a); .................O(1)

d = im2bw(b); .................O(1)

e = c&d; .................O(1)

Page 89: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

68  

O(1)+O(1)+O(1)=O(1) Termasuk algoritma polinomial atau termasuk

algoritma mangkus

Dari perhitungan di atas di dapatkan bahwa kompleksitas waktu

asimtotik operasi berbasis frame adalah O(n2). Menurut urutan spektrum

kompleksitas waktu algoritma, kompleksitas waktu operasi berbasis frame

sebesar O(n2) termasuk dalam kategori algoritma polinomial, dengan

demikian algoritma ini tergolong algoritma yang mangkus.  

Sedangkan hasil perhitungan kompleksitas waktu asimotik operasi

logika and adalah O(1). Menurut urutan spektrum kompleksitas waktu

algoritma, kompleksitas operasi logika and sebesar O(1) termasuk dalam

kategori algoritma polinominal, dengan demikian algoritma ini termasuk

algoritma yang mangkus.

5.2 Analisa Kuesioner

Dari hasil 30 responden kuisioner yang terdiri dari pegawai salon,

pelanggan salon, dan mahasiswa USD diketahui bahwa :

1. Untuk pertanyaan “dilihat dari segi tampilan aplikasi?”

70% responden menyatakan bahwa aplikasi memiliki

tampilan yang cukup menarik, dan 30% responden

Page 90: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

69  

menyatakan bahwa aplikasi memiliki tampilang yang

sangat menarik.

2. Untuk pertanyaan “dilihat dari segi pemakaian atau

pengoprasian?” 50% responden menyatakan bahwa

aplikasi mudah untuk digunakan, dan 50% responden

menyatakan bahwa aplikasi sangat mudah digunakan.

3. Untuk pertanyaan “dilihat dari waktu pemrosesan yang

dibutuhkan?” 46,67% responden menyatakan bahwa

aplikasi memiliki waktu pemrosesan yang cepat, dan

53,33% responden menyatakan aplikasi memiliki waktu

pemrosesan yang sangat cepat.

4. Untuk pertanyaan “dilihat dari hasil penggabungan wajah

dan model rambut ?” 3,3% responden menyatakan bahwa

hasil penggabungan citra wajah dan model rambut kurang

memuaskan, serta 3,3% responden menyatakan bahwa

hasil penggabungan citra wajah dan model rambut 3,3%

tidak memuaskan, 80% responden menyatakan cukup

memuaskan, dan 13,3% menyatakan sangat memuaskan.

5. Untuk pertanyaan “dilihat dari segi manfaat ?” 63,3%

respoden menyatakan bahwa aplikasi bermanfaat dan

36,7% responden menyatakan bahwa aplikasi sangat

bermanfaat.

Page 91: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

70  

Berdasarkan hasil pengolahan data diatas dapat diketahui

bahwa aplikasi memiliki tampilan yang menarik, mudah untuk

digunakan, cepat dalam melakukan proses penggabungan citra,

memiliki citra hasil penggabungan yang memuaskan, dan

bermanfaat bagi pengguna.

5.3 Kelebihan dan Kekurangan Program

5.3.1 Kelebihan Sistem

• Pengguna dapat menyedian model rambut dan frame sendiri

sehingga hasil yang akan didapat dapat lebih bervariasi.

• Sistem dapat melakukan penggabungan citra dengan format yang

berbeda, serta sistem dapat melakukan proses penggabungan

terhadap beberapa format file citra seperti, .bmp, .jpg, .gif, dan

.png.

5.3.2. Kekurangan Sistem

• Ukuran piksel kedua buah citra masukan harus sama yakni

1200x1600 piksel. Jika pada citra masukan tidak berukuran

1200x1600 piksesl maka proses selanjutnya tidak bisa dijalankan.

Sehingga harus dilakukan proses persiapan citra terlebih dahulu,

untuk merubah ukuran citra masukan menjadi 1200 x 1600 piksel.

Page 92: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

71  

BAB VI

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Berdasarkan perancangan dan implementasi program yang dibuat

dan dari hasil analisa yang telah dilakukan maka dapat disimpulkan :

1. Program “hair styling simulator” telah berhasil melakukan proses

penggabungan antara citra wajah dan citra model rambut

menggunakan operasi berbasis frame dan operasi logika and.

2. Program “hair styling simulator” telah berhasil melakukan

simulasi pemilihan model rambut dengan menggunakan citra

wajah pelanggan.

3. Berdasarkan pengolahan data kuesioner dengan sistem kategorisasi

data sejenis maka dapat di ketahui bahwa program ini memiliki

tampilan yang cukup menarik, dapat digunakan dengan mudah,

cukup cepat dalam melakukan proses penggabungan citra wajah

dan model rambut, dengan hasil proses penggabungan yang cukup

memuaskan, serta dapat bermanfaat bagi pengguna.

Page 93: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

72  

3.2 Saran

Untuk kepentingan dan pengembangan lebih lanjut terhadap

program “Hair Styling Simulator” maka penulis menyarankan beberapa

saran sebagai berikut :

1. Ditambahkan fungsi yang dapat melakukan rezise terhadap citra

wajah, sehingga dapat digunakan untuk menyamakan ukuran

piksel wajah dan piksel model rambut.

2. Tampilan program lebih dipercantik, mengingat program

digunakan untuk salon potong rambut wanita.

Page 94: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

LAMPIRAN

Page 95: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

Lampiran Contoh Hasil Program

Foto

Wajah

Model

Rambut

Hasil

Page 96: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

Foto

Wajah

Model

Rambut

Hasil

Page 97: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

Foto

Wajah

Model

Rambut

Hasil

Page 98: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

Nama :

Alamat :

Nim :

KUESIONER IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS FRAME DALAM SEBUAH APLIKASI SALON

Cara pengisian :

Berilah jawaban pada semua pertanyaan yang ada dengan cara memberikan tanda silang (x), pada jawaban yang anda yakini benar.

1. Dilihat dari segi tampilan apakah aplikasi ini : a. Kurang menarik d. Sangat menarik b. Tidak menarik c. Cukup menarik

2. Dilihat dari segi pemakaian atau pengoprasian :

a. Sulit d. Sangat Mudah b. Sangat sulit c. Mudah

3. Dilihat dari waktu pemrosesan yang dibutuhkan :

a. Lambat d. Sangat Cepat b. Sangat lambat c. Cepat

4. Dilihat dari hasil penggabungan rambut dan backgraound :

a. Kurang Memuaskan d. Sangat memuaskan b. Tidak Memuaskan c. Cukup memuaskan

5. Dilihat dari segi manfaat :

a. Kurang bermanfaat d. Sangat bermanfaat b. Tidak bermanfaat c. Bermanfaat

Page 99: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan
Page 100: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

Langkah – langkah penggunaan aplikasi digital hair simulator :

1. Ambil citra wajah dengan menggunakan digital kamera.

2. Pindahkan data gambar pada memori digital kamera menggunakan kabel data atau

card reader, simpan pada direktori yang sudah ditentukan misal (data e / wajah) beri

nama sesuai keinginan anda.

3. Ubah ukuran citra wajah pada citra digital menjadi 1200 x 1600 piksesl. Perubahan ini

dapat dilakukan menggunakan aplikasi photoshop atau acdc. Simpan hasil perubahan

pada folder yang sama dan nama yang sama.

4. Jalankan aplikasi hair styling simulator.

5. Tekan tombol buka foto, pilih foto yang akan anda gunakan.

6. Tekan tombol model rambut, pilih model rambut yang ada inginkan

7. Tekan tombol proses lihat hasil penggabungan wajah anda dengan model rambut yang

telah anda pilih.

8. Unutk mengulangi tekan tombol clear ulangi langkah 5 dan selanjutnya.

Page 101: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

Lampiran Listing Program function varargout = Digital_Hair_Simulator(varargin) % DIGITAL_HAIR_SIMULATOR M-file for Digital_Hair_Simulator.fig % DIGITAL_HAIR_SIMULATOR, by itself, creates a new DIGITAL_HAIR_SIMULATOR or raises the existing % singleton*. % % H = DIGITAL_HAIR_SIMULATOR returns the handle to a new DIGITAL_HAIR_SIMULATOR or the handle to % the existing singleton*. % % DIGITAL_HAIR_SIMULATOR('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in DIGITAL_HAIR_SIMULATOR.M with the given input arguments. % % DIGITAL_HAIR_SIMULATOR('Property','Value',...) creates a new DIGITAL_HAIR_SIMULATOR or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Digital_Hair_Simulator_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to Digital_Hair_Simulator_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help Digital_Hair_Simulator % Last Modified by GUIDE v2.5 27-Oct-2010 15:29:55 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Digital_Hair_Simulator_OpeningFcn, .. . 'gui_OutputFcn', @Digital_Hair_Simulator_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

Page 102: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

% --- Executes just before Digital_Hair_Simulator is made visible. function Digital_Hair_Simulator_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Digital_Hair_Simulator (see VARARGIN) % Choose default command line output for Digital_Hair_Simulator handles.output = hObject; set(handles.modelrambut, 'enable', 'off'); set(handles.proses, 'enable', 'off'); set(handles.simpan, 'enable', 'off'); % Update handles structure guidata(hObject, handles); backgroundImage = importdata('a.jpg');%menampilkan latar berisi nama gambar axes(handles.axes5);%nama axis di gui image(backgroundImage);% backgroundImage2 = importdata('a.jpg'); axes(handles.axes6); image(backgroundImage2); backgroundImage2 = importdata('a.jpg'); axes(handles.axes7); image(backgroundImage2); backgroundImage2 = importdata('a.jpg'); axes(handles.axes8); image(backgroundImage2); backgroundImage2 = importdata('a.jpg'); axes(handles.axes9); image(backgroundImage2); backgroundImage2 = importdata('a.jpg'); axes(handles.axes15); image(backgroundImage2); backgroundImage2 = importdata('b.jpg'); axes(handles.axes12); image(backgroundImage2); backgroundImage2 = importdata('a.jpg'); axes(handles.axes13); image(backgroundImage2); backgroundImage2 = importdata('a.jpg'); axes(handles.axes14);

Page 103: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

image(backgroundImage2); % UIWAIT makes Digital_Hair_Simulator wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = Digital_Hair_Simulator_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in bukafoto. function bukafoto_Callback(hObject, eventdata, handles) % hObject handle to bukafoto (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [namafile, lokasipath] = uigetfile({'*.jpg;*.tif;*.png;*.gif;*.bmp','All Image Files';... '*.*','All Files' },'Input Image'); if ~isequal(namafile, 0) handles.datacitra=imread(fullfile(lokasipath, namafile)); guidata(hObject, handles); handles.current_datacitra=handles.datacitra; axes(handles.foto); imshow(handles.current_datacitra); ukuran=size(handles.datacitra); a=handles.current_datacitra; imwrite(a,'temp.bmp'); if ukuran(2) == 3 histg1=imhist(handles.current_datacitra(:,:,1)); histg2=imhist(handles.current_datacitra(:,:,2)); histg3=imhist(handles.current_datacitra(:,:,3)); histrgb(:,:)=[histg1 histg2 histg3]; else histgray=imhist(handles.current_datacitra(:,:,1)); end reset=255; axes(handles.rambut); imshow(reset); set(handles.modelrambut, 'enable', 'on'); set(handles.proses, 'enable', 'off'); set(handles.simpan, 'enable', 'off');

Page 104: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

time=0; set(handles.waktu, 'String',time); set(handles.waktu2, 'String',time) reset=255; axes(handles.biner); imshow(reset); reset=255; axes(handles.hasil); imshow(reset); else return; end % --- Executes on button press in modelrambut. function modelrambut_Callback(hObject, eventdata, handles) % hObject handle to modelrambut (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [namafile, lokasipath] = uigetfile({'*.jpg;*.tif;*.png;*.gif;*.bmp','All Image Files';... '*.*','All Files' },'Input Image'); if ~isequal(namafile, 0) handles.datacitra=imread(fullfile(lokasipath, namafile)); guidata(hObject, handles); handles.current_datacitra=handles.datacitra; axes(handles.rambut); imshow(handles.current_datacitra); ukuran=size(handles.datacitra); a=handles.current_datacitra; imwrite(a,'temp2.bmp'); lokasipath2='E:\Digital Hair simulator 1.0\bahan\frame'; %untuk mendapatkan lokasi frame dengan nama yang sama dengan nama rambut handles.datacitra2=imread(fullfile(lokasipath2, namafile)); guidata(hObject, handles); handles.current_datacitra2=handles.datacitra2; a2=handles.current_datacitra2; imwrite(a,'temp2.bmp'); imwrite(a2,'temp2a.bmp'); if ukuran(2) == 3 histg1=imhist(handles.current_datacitra(:,:,1)); histg2=imhist(handles.current_datacitra(:,:,2)); histg3=imhist(handles.current_datacitra(:,:,3)); histrgb(:,:)=[histg1 histg2 histg3];

Page 105: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

else histgray=imhist(handles.current_datacitra(:,:,1)); end reset=255; axes(handles.hasil); imshow(reset); reset=255; axes(handles.biner); imshow(reset); set(handles.proses, 'enable', 'on'); set(handles.simpan, 'enable', 'off'); time=0; set(handles.waktu, 'String',time); set(handles.waktu2, 'String',time) %=============== %=============== im1a = imread('temp.bmp');%varibel mengambil gambar wajah [tinggi1, lebar1]=size(im1a); dimensi1a=tinggi1; dimensi1b=lebar1; im1b = imread('temp2.bmp');%varibel mengambil gambar wajah [tinggi2, lebar2]=size(im1b); dimensi2a=tinggi2; dimensi2b=lebar2; if(dimensi1a == dimensi2a) && (dimensi1b==dimensi2b) warndlg('ukuran piksel sama','!! ukuran Piksel !!'); else warndlg(sprintf(' ukuran piksel tidak sama! \n silahkan tekan tombol clear dan ulangi proses pengambilan gambar','!! Warning !!')); time=0; set(handles.waktu, 'String',time); set(handles.waktu2, 'String',time); set(handles.proses, 'enable', 'off'); set(handles.simpan, 'enable', 'off'); end %=============== else return; end

Page 106: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

% --- Executes on button press in proses. function proses_Callback(hObject, eventdata, handles) % hObject handle to proses (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) tic im1 = imread('temp.bmp');%varibel mengambil gambar wajah [tinggi, lebar]=size('im1'); fr1 = imread('temp2a.bmp');%variabel mengambil gambar frame rambut = imread('temp2.bmp'); %variabel mengambil gambar rambut hasil1=fr1; [tinggi,lebar]= size(im1); for(i=1: tinggi-1) for(j=1:lebar-1) if(fr1(i,j)==255) hasil1(i,j)=rambut(i,j); else hasil1(i,j)=im1(i,j); end end end toc waktu=toc; set(handles.waktu, 'String', waktu); datacitra=hasil1; axes(handles.hasil); imshow(datacitra); a = im1; %varibel mengambil gambar wajah b = rambut; %variabel mengambil gambar rambut %c = im2bw(a); %d = im2bw(b); %e = c&d; [gambar,time] = Logika(a,b); axes(handles.biner); imshow(gambar); set(handles.waktu2, 'String',time); imwrite(datacitra,'temp3.bmp'); %hasil penggabungan rambut wajah dan from set(handles.simpan, 'enable', 'on'); % --- Executes on button press in simpan.

Page 107: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

function simpan_Callback(hObject, eventdata, handles) % hObject handle to simpan (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) [filename, pathname, filterindex] = uiputfile( ... {'*.jpg', 'Jpeg-Files (*.jpg)';... '*.bmp','Bitmap-Files (*.bmp)';... '*.gif','Gif-File (*.fig)';... '*.png','Web Image Files (*.png)';... '*.*', 'All Files (*.*)'},... 'Save Image'); if isequal(filename,0) || isequal(pathname,0) %disp('User selected Cancel') %return question1='Are You Sure Not Save this Image?'; reponse1=questdlg(question1,'Save?', 'Yes', 'No',2); if strcmp(reponse1,'Yes') warndlg('File Image Not Save!','!! Warning !!') return else if strcmp(reponse1,'No') [filename, pathname, filterindex] = uiputfile( ... {'*.jpg', 'Jpeg-Files (*.jpg)';... '*.bmp','Bitmap-Files (*.bmp)';... '*.gif','Gif-File (*.fig)';... '*.png','Web Image Files (*.png)';... '*.*', 'All Files (*.*)'},... 'Save Image'); orimage=imread('temp3.bmp'); delete('temp2.bmp'); delete('temp2a.bmp'); datatowrite=uint8(orimage); imwrite(datatowrite, filename,'jpg'); msgbox ('Save Succes!','Save Success'); return end end else orimage=imread('temp3.bmp'); delete('temp2.bmp'); delete('temp2a.bmp'); datatowrite=uint8(orimage); imwrite(datatowrite, filename,'jpg'); msgbox ('Save Succes!','Save Success'); return end % --- Executes on button press in clear. function clear_Callback(hObject, eventdata, handles)

Page 108: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

% hObject handle to clear (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) question1='Are You Sure to Clear?'; reponse1=questdlg(question1,'Clear?', 'Yes', 'No',2); if strcmp(reponse1,'Yes') time=0; set(handles.waktu, 'String',time); set(handles.waktu2, 'String',time) reset=255; axes(handles.foto); imshow(reset); reset=255; axes(handles.rambut); imshow(reset); reset=255; axes(handles.biner); imshow(reset); reset=255; axes(handles.hasil); imshow(reset); delete('temp1.bmp'); delete('temp2.bmp'); delete('temp2a.bmp'); delete('temp3.bmp'); delete('temp.bmp'); set(handles.modelrambut, 'enable', 'off'); set(handles.proses, 'enable', 'off'); set(handles.simpan, 'enable', 'off'); msgbox ('Clear Succes','Clear'); else if strcmp(reponse1,'No') warndlg('Clear Cancel','Cancel'); return end end % -------------------------------------------------------------------- function Untitled_1_Callback(hObject, eventdata, handles) % hObject handle to Untitled_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Untitled_2_Callback(hObject, eventdata, handles)

Page 109: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

% hObject handle to Untitled_2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Untitled_5_Callback(hObject, eventdata, handles) % hObject handle to Untitled_5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Exit_Callback(hObject, eventdata, handles) % hObject handle to Exit (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) question1='Apakah Anda Ingin Keluar dari Sistem?'; reponse1=questdlg(question1,'Exit?', 'Ya', 'Tidak',2); if strcmp(reponse1,'Ya') delete('temp1.bmp'); delete('temp2.bmp'); delete('temp2a.bmp') ; delete('temp3.bmp'); delete('temp.bmp'); close else if strcmp(reponse1,'Tidak') msgbox ('Silahkan Memilih Rambut lagi'); return end end % -------------------------------------------------------------------- function Bantuan_Callback(hObject, eventdata, handles) HelpPath = which('prima.html'); web(HelpPath); % hObject handle to Bantuan (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Kreator_Callback(hObject, eventdata, handles) % hObject handle to Kreator (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) HelpPath = which('Profile.html'); web(HelpPath); % --- Executes during object creation, after setting all properties. function axes5_CreateFcn(hObject, eventdata, handles) % hObject handle to axes5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

Page 110: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

% Hint: place code in OpeningFcn to populate axes5 function waktu_Callback(hObject, eventdata, handles) % hObject handle to waktu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of waktu as text % str2double(get(hObject,'String')) returns contents of waktu as a double % --- Executes during object creation, after setting all properties. function waktu_CreateFcn(hObject, eventdata, handles) % hObject handle to waktu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function waktu2_Callback(hObject, eventdata, handles) % hObject handle to waktu2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of waktu2 as text % str2double(get(hObject,'String')) returns contents of waktu2 as a double % --- Executes during object creation, after setting all properties. function waktu2_CreateFcn(hObject, eventdata, handles) % hObject handle to waktu2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

Page 111: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

function [gambar,time]=Logika(a,b)%funsgsi proses penggabungan tic c = im2bw(a); d = im2bw(b); e = c&d; toc time=toc; gambar=e; function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of edit3 as a double % --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit4_Callback(hObject, eventdata, handles) % hObject handle to edit4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit4 as text % str2double(get(hObject,'String')) returns contents of edit4 as a double % --- Executes during object creation, after setting all properties. function edit4_CreateFcn(hObject, eventdata, handles) % hObject handle to edit4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

Page 112: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit5_Callback(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit5 as text % str2double(get(hObject,'String')) returns contents of edit5 as a double % --- Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit6_Callback(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit6 as text % str2double(get(hObject,'String')) returns contents of edit6 as a double % --- Executes during object creation, after setting all properties. function edit6_CreateFcn(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

Page 113: IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI BERBASIS … · Aplikasi ini akan mengolah citra wajah pelanggan yang ditangkap melalui camera digital, kemudian citra wajah pelanggan

set(hObject,'BackgroundColor','white'); end function edit7_Callback(hObject, eventdata, handles) % hObject handle to edit7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit7 as text % str2double(get(hObject,'String')) returns contents of edit7 as a double % --- Executes during object creation, after setting all properties. function edit7_CreateFcn(hObject, eventdata, handles) % hObject handle to edit7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end