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
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
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
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.
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.
Sebuah kegagalan akan menjadikan kita mengerti akan arti keberhasilan
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.
xi
bermanfaat bagi kemajuan dan perkembangan ilmu pengetahuan serta berbagai pengguna pada umumnya.
Yogyakarta, 2 November 2010
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
xii
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
xiii
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
xiv
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
xv
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
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
xviii
Gambar 5.2 Tampilan Hasil Dengan Operasi Logika AND... 64
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
Bab I.
Pendahuluan
1.1 Latar BelakangSalon 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.
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).
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:
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
- 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 V ANALISIS HASIL
Bab ini berisi tentang analisis hasil implementasi sistem. BAB VI PENUTUP
BAB II
LANDASAN TEORI
2.1 CitraCitra 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.
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)
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
Gambar 2.2 : komposisi citra warna (Sumber : ittelkom.ac.id)
2. Citra Grayscale
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).
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.4Pengertian Frame dan Background
2.5Pengolahan 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.
(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:
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.6Operasi 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:
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.7Operasi Logika
2.7.1 Operasi Logika AND
Persamaan yang digunakan adalah: C(x,y) = A(x,y) AND B(x,y)
AND
(A) AND (B)
B
A
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
2.7.3 Operasi Logika XOR
Persamaan yang digunakan adalah: C(x,y) = A(x,y) XOR B(x,y)
B
A
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
2.8Format 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 Header bitmap Informasi palet Data 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,
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
(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 bit m ap>
< dat a bit m ap>
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.9Format Citra .JPG
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?
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.
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.1Kompleksitas Waktu Asimptotik
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 ( )
(n n n O n2 T = − =
(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)
⇒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)
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.
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;
= 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
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
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
Citra wajah Citra model rambut
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
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
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.
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.
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
• 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
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
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 rambut
Buka foto
Proses Simpan
Waktu proses
Clear
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
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.
3.4.2 Halaman kreator
Rancangan halaman kreator dapat dilihat pada Gambar 3.7
Dosen Pembimbing : Anastasia Rita Widiarti, S.Si. , M.Kom Email : Kingprima@gmail.com
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 :
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.
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
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...
X
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
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
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
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
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.1isi citra hasil dengan citra rambut 7.2isikan citra hasil dengan citra wajah 8. Selesai
Keterangan :
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.
Gambar4.2 hasil penggabungan menggunakan operasi berbasis frame.
4.4 Implementasi Pengujian Sistem Dengan Pengamatan Visual
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%
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%
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
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.
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
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.
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
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
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.
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
Gambar 4.8form 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.9form 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.
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.11form 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.12form dialog Pernyataan ketika sudah
Melakukan clear
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)
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)
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.
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:
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
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 :
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