• Tidak ada hasil yang ditemukan

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

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.

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

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.

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)

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

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.

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.

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

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

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

Operasi logika dapat digunakan pada dua atau lebih citra. Beberapa operasi logika yang sering digunakan adalah (Ahmad, 2005).:

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

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.

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

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.

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,

BM = bitmap, CP = color pointer, PT = pointer

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

(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

Format .JPG adalah format yang mampu mengkompres objek dengan kualitas sesuai dengan pilihan yang disediakan. Format file ini

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

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.

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

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

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)

x:=x + a[k]; O(1) + O(1) + O(1) = O(1) writeln(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 eksponensial faktorial

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  Citra hasil  nggab ngan  nggu kan  operasi  erbasis Citra   model   rambut pe u me na b   frame  Citra   frame Citra   waja Citra  hasil  pengga bungan mengg unakan  operasi  h   logika   

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 :

Dokumen terkait