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

IMPLEMENTASI OPERASI LOGIKA AND DAN OPERASI …repository.usd.ac.id/32480/2/065314003_Full.pdfdigital dan PC (Personal Computer). Aplikasi ini akan mengolah citra wajah pelanggan yang

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

  • 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

  • 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

  • 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

  • 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

  • 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

  • Sebuah kegagalan akan menjadikan kita mengerti akan arti keberhasilan

    vii

  • 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

  • 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

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

  • 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

  • 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

  • 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

  • xv 

     

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

    LAMPIRAN

  • 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

  • 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

  • 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

  • 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

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

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

  • 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

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

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

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

  • 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

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

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

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

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

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

  • 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

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

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

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

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

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

  • 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

  • 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

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

    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

  • 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

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

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

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

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

  • 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:

  • 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

  • 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

  • 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

     

  • 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

     

  • 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 

     

  • 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

     

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

     

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

     

  • 36  

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

    i

  • 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

     

  • 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

     

  • 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

     

  • 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

     

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

     

  • 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 : 

     

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

     

  • 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

     

  • 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

     

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

  • 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

  • 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

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

  • 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 :

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

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

  • 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:

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

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

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

  • 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

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

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

  • 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 :

  • 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

  • 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

     

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

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

  • 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

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

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

  • 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

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

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

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

  • 72  

    3.2 Saran

    Untuk kepentingan dan pengembangan lebih lanjut terhadap

    program “Hair Styling Simulator” maka penu