101
PROYEK AKHIR IMAGE DATABASE MENGGUNAKAN SISTEM CONTENT BASED IMAGE RETRIEVAL DENGAN EKSTRAKSI FITUR TERSTRUKTUR Oleh : Bayu Bagus NRP: 7404.030.055 Dosen Pembimbing : Nana Ramadijanti, S.Kom, M.kom NIP: 132.206.161 Rengga Asmara, S.Kom, OCA NIP: 132.310.244 JURUSAN TEKNOLOGI INFORMASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2007

Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Embed Size (px)

Citation preview

Page 1: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

PROYEK AKHIR

IMAGE DATABASE MENGGUNAKAN SISTEM CONTENT BASED IMAGE RETRIEVAL DENGAN

EKSTRAKSI FITUR TERSTRUKTUR

Oleh :

Bayu Bagus

NRP: 7404.030.055

Dosen Pembimbing :

Nana Ramadijanti, S.Kom, M.kom NIP: 132.206.161

Rengga Asmara, S.Kom, OCA NIP: 132.310.244

JURUSAN TEKNOLOGI INFORMASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA

2007

Page 2: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

PROYEK AKHIR

IMAGE DATABASE MENGGUNAKAN

SISTEM CONTENT BASED IMAGE RETRIEVAL DENGAN EKSTRAKSI FITUR

TERSTRUKTUR

Oleh :

Bayu Bagus NRP: 7404.030.055

JURUSAN TEKNOLOGI INFORMASI

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER

SURABAYA 2007

Page 3: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

IMAGE DATABASE MENGGUNAKAN SISTEM CONTENT BASED IMAGE RETRIEVAL DENGAN EKSTRAKSI FITUR TERSTRUKTUR

Oleh :

Bayu Bagus 7404.030.055

Diajukan sebagai salah satu syarat untuk menyelesaikan Studi pada

Program Pendidikan Diploma III Politeknik Elektronika Negeri Surabaya-ITS

Surabaya, Juli 2007 Disetujui oleh :

Tim Penguji Proyek Akhir : Dosen Pembimbing : Dosen Penguji I Dosen Pembimbing I Arif Basofi S.Kom Nana Ramadijanti, S.Kom, M.Kom NIP: 132.303.872 NIP: 132.206.161 Dosen Penguji II Dosen Pembimbing II Wiratmoko Yuwono S.T Rengga Asmara, S.Kom, OCA NIP: 132.316.238 NIP: 132.310.244 Dosen Penguji III Setiawardhana S.T NIP: 132.310.243

Mengetahui, Ketua Jurusan Teknologi Informasi

Iwan Syarif, S.Kom, M.Kom NIP: 132.134.725

Page 4: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

ABSTRAK Content Based Image Retrieval System (CBIR) adalah teknik untuk mencari gambar yang berhubungan dan mempunyai karakteristik dari sebuah sekumpulan gambar. Pada proyek akhir ini digunakan Shape (bentuk) sebagai ekstraksi fitur dari gambar baik gambar query maupun gambar yang ada pada sekumpulan gambar. Kemudian untuk proses matching antara gambar query dengan gambar target yang ada pada sekumpulan gambar dilakukan perhitungan jarak (Euclidean distance) dari gambar query dengan gambar target pada sekumpulan gambar. Nilai jarak yang paling minimal merupakan gambar yang memiliki kemiripan dengan gambar query. CBIR dengan metode shape ini lebih cocok digunakan pada gambar-gambar yang memiliki background atau latar belakang yang polos yang komplek serta ukuran gambar yang tidak terlalu jauh. Kata kunci : content based image retrieval system, bentuk, metode euclidean distance.

i

Page 5: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

ABSTRACT

Content Based Image Retrieval System (CBIR) is the set of techniques for retrieving relevant images from an image database based on automatically-derived image feature. In this final project, shape is used to extracting the feature from image, wheter it is a query image or a target image on database. Afterwards, by calculating the Euclidean distance value of image query and target image on database does the matching process between query image and target image. The distance that smallest value is the image that has similar characteristic with image query. CBIR with shape feature more suitable for used to pictures have simple background and the pictures must have small different size each other. Key Words : content based image retrieval system, shape, euclidean distance.

ii

Page 6: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

KATA PENGANTAR

Dengan mengucap puji syukur kepada Allah SWT, atas limpahan rahmat dan hidayahNya, serta perlindungan, pertolongan dan ridho-Nya kepada kami sehingga kami dapat menyelesaikan Proyek Akhir ini tepat pada waktunya, serta tak terlupakan iringan salam dan sholawat bagi junjungan kami Nabi Muhammad SAW.

Dengan pengerahan segenap usaha kami akhirnya kami dapat menyelesaikan proyek akhir kami yang berjudul :

IMAGE DATABASE MENGGUNAKAN SISTEM CONTENT BASED IMAGE RETRIEVAL DENGAN

EKSTRAKSI FITUR TERSTRUKTUR

Buku proyek akhir ini diajukan guna memenuhi persyaratan

kurikulum pada tahap akhir semester VI di Politeknik Elektronika Negeri Surabaya. Penulis telah bersikeras sekuat tenaga dan pikiran dengan harapan hasil yang sebaik mungkin, namun penulis menyadari sepenuhnya bahwa buku ini masih banyak kekurangannya. Untuk itu penulis mohon maaf yang sebesar-besarnya dan sangat mengharapkan saran dan kritik dari semua pembaca agar kekurangan dan kesalahan dapat diperbaiki demi sempurnanya buku ini.

Demikian uraian singkat ini, besar harapan buku proyek akhir ini bermanfaat bagi penulis serta bagi pembaca pada umumnya untuk menambah pengetahuan.

Surabaya, Juli 2007

Penulis

iii

Page 7: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

UCAPAN TERIMA KASIH

Melalui kesempatan ini, penulis ingin menyampaikan ucapan terima kasih dari dalam hati atas selesainya tugas akhir ini. Khususnya rasa syukur kepada Allah SWT yang telah banyak memberikan kekuatan dan rahmat-Nya kepada penulis. Dan tanpa menghilangkan rasa hormat yang mendalam saya mengucapkan terima kasih kepada pihak-pihak yang telah membantu saya antara lain :

1. Ayah dan Bunda tercinta, atas do’a dan dukungannya yang selalu diberikan kepadaku.

2. Semua adik ‘adik’ku yang telah menyemangatiku. 3. Para Alim Ulama yang secara tidak langsung telah

mendo’akanku dengan tulus. 4. Bapak Dr Ir Titon Dutono M.Eng, selaku Direktur Politeknik

Elektronika Negeri Surabaya. 5. Bapak Iwan Syarif, selaku Ketua Jurusan Teknologi

Informasi Politeknik Elektronika Negeri Surabaya. 6. Ibu Nana Ramadijanti S.Kom M.Kom, selaku dosen

pembimbing I, terima kasih atas bantuan dan kesabarannya dalam memberikan bimbingan, dan masukan-masukan disetiap kesempatan selama mengerjakan tugas akhir.

7. Bapak Rengga Asmara S.Kom, OCA selaku dosen pembimbing II, yang juga banyak memberikan bimbingan, masukan dan pandangan-pandangan dalam menyelesaikan tugas akhir ini.

8. Seluruh Dosen dan karyawan di Politeknik Elektronika Negeri Surabaya atas fasilitas dan waktu yang diberikan.

9. Nescafe, Kopi kemasan sachet yang setia menemani dan banyak membantu dalam menemukan ide-ide maupun logika yang cemerlang.

10. Temanku Rizal Mashuri yang telah membuatku merasa senasib-sepenanggungan.

11. Rekanku Teknisi Laboratorium Sun Training Center PENS-ITS (ferry/vanfier, andy/vesa, fatikh/conman, satria/ubul) yang setiap harinya selalu menghiburku dan mendukungku.

12. Seluruh rekan yang telah banyak membantu saya dalam menyelasaikan Proyek Akhir ini.

Sekali lagi penulis mengucapkan banyak terima kasih yang tak

terhingga semoga Allah SWT membalas atas semua kebaikan dan bantuan dari kalian semua.

iv

Page 8: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

DAFTAR ISI

HALAMAN DEPAN

LEMBAR PENGESAHAN

ABSTRAK ................................................................................................ i

ABSTRACT.............................................................................................. ii

KATA PENGANTAR.............................................................................. iii

UCAPAN TERIMA KASIH.................................................................... iv

DAFTAR ISI............................................................................................. v

DAFTAR GAMBAR................................................................................ viii

DAFTAR TABEL .................................................................................... x

BAB I PENDAHULUAN

1.1. Latar belakang .................................................................................... 1

1.2. Maksud dan Tujuan............................................................................. 2

1.3. Permasalahan ...................................................................................... 2

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

1.5. Metodologi ......................................................................................... 3

1.6. Sistematika Studi................................................................................. 5

BAB II TEORI PENUNJANG

2.1. Pengolahan Gambar Digital ................................................................ 7

2.2. Mode Warna........................................................................................ 8

2.3. Piksel .................................................................................................. 9

2.4. Garis .................................................................................................. 9

2.5. Grayscale............................................................................................. 10

2.6. Segmentasi .......................................................................................... 10

2.7. Deteksi Tepi ........................................................................................ 11

2.8. Content Based Image Retrieval System .............................................. 13

v

Page 9: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

2.9. Perangkat Lunak Pemrograman VISUAL C++ dengan MFC............. 15

BAB III PERENCANAAN DAN PEMBUATAN

3.1. Algoritma System ............................................................................... 43

3.2. Blok Diagram ..................................................................................... 44

3.3. Freeman Code ..................................................................................... 44

3.4. First Different Code ............................................................................ 47

3.5. Normalisasi Data................................................................................. 48

3.6. Euclidean Distance.............................................................................. 49

3.7. Gambar Query..................................................................................... 51

3.8. Graphical User Interface ..................................................................... 52

BAB IV PENGUJIAN PROGRAM

4.1. Hasil Pengujian Pada Gambar Primitif ............................................... 54

4.1.1. Pengujian pada gambar bujur sangkar ...................................... 54

4.1.2. Pengujian pada gambar persegi panjang................................... 55

4.1.3. Pengujian pada gambar segitiga................................................ 56

4.1.4. Pengujian pada gambar lingkaran............................................. 57

4.2. Hasil Pengujian Pada pengujian sistem ¼ luas gambar ...................... 58

4.2.1. Pengujian pada gambar ikan glodok ......................................... 58

4.2.1.1. Hasil data yang didapat pada pengujian ikan glodok......... 58

4.2.1.2 Analisa pada hasil pengujian dengan ikan glodok............. 59

4.2.2. Pengujian pada gambar ikan nila .............................................. 60

4.2.2.1. Hasil data yang didapat pada pengujian ikan nila.............. 61

4.2.2.2. Analisa pada hasil pengujian dengan ikan nila .................. 62

4.2.3. Pengujian pada gambar ikan manggasius ................................. 63

4.2.3.1 Hasil data yang didapat pada pengujian ikan manggasius .. 64

4.2.3.2. Analisa pada hasil pengujian dengan ikan manggasius ..... 65

4.2.4. Pengujian pada gambar ikan mujaer ......................................... 66

vi

Page 10: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

4.2.4.1. Hasil data yang didapat pada pengujian ikan mujaer............. 67

4.2.4.2. Analisa pada hasil pengujian dengan ikan mujaer ................ 68

4.3. Hasil Pengujian Pada pengujian sistem keseluruhan luas gambar ...... 71

4.3.1 Pengujian pada gambar ikan glodok ......................................... 71

4.3.1.1 Hasil data yang didapat pada pengujian ikan glodok .......... 71

4.3.1.2 Analisa pada hasil pengujian dengan ikan glodok .............. 72

4.3.2 Pengujian pada gambar ikan nila .............................................. 74

4.3.2.1 Hasil data yang didapat pada pengujian ikan nila ............... 74

4.3.2.2 Analisa pada hasil pengujian dengan ikan nila ................... 75

4.3.3 Pengujian pada gambar ikan manggasius.................................. 77

4.3.3.1 Hasil data yang didapat pada pengujian ikan manggasius .. 77

4.3.3.2 Analisa pada hasil pengujian dengan ikan manggasius....... 78

4.3.4 Pengujian pada gambar ikan mujaer ......................................... 79

4.3.4.1 Hasil data yang didapat pada pengujian ikan mujaer.............. 79

4.3.4.2 Analisa pada hasil pengujian dengan ikan mujaer ................. 81

BAB V KESIMPULAN DAN SARAN

5.1. Kesimpulan ......................................................................................... 84

5.2. Saran .................................................................................................. 84

DAFTAR PUSTAKA

vii

Page 11: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

DAFTAR GAMBAR Gambar 1.1 Marine Sketch Image ........................................................ 3 Gambar 1.2 Sistem CBIR ..................................................................... 4 Gambar 2.1 Memberi nama program.................................................... 16 Gambar 2.2 Memilih isi program.......................................................... 17 Gambar 2.3 Membuat Menu................................................................. 18 Gambar 2.4 Menghapus dan menambah menu..................................... 19 Gambar 2.5 Mengaktifkan menu .......................................................... 20 Gambar 2.6 Membuka file gambar ....................................................... 22 Gambar 2.7 Memproses gambar ........................................................... 24 Gambar 2.8 Memilih aplikasi dialog based .......................................... 25 Gambar 2.9 Tampilan dialog box ......................................................... 26 Gambar 2.10 ClassWizard dengan Member Variables ........................... 26 Gambar 2.11 Hasil proses gambar dengan dialog box............................ 29 Gambar 2.12 Mengubah Citra Berwarna Menjadi Gray-Scale ............... 31 Gambar 2.13 ThresHolding dengan nilai 128......................................... 34 Gambar 3.1 Diagram System................................................................ 44 Gambar 3.2 Ilustrasi Freeman code ...................................................... 45 Gambar 3.3 Perbedaan dalam penelusuran diagram arah ..................... 46 Gambar 3.4 Kalkulasi First Different Code.......................................... 48 Gambar 3.5 Diagram alir matching ...................................................... 51 Gambar 3.6 Contoh Image Query......................................................... 51 Gambar 3.7 Jendela Kerja CBIR.......................................................... 52 Gambar 4.1 Gambar query bujur sangkar............................................. 54 Gambar 4.2 hasil pada thresholding 35% gambar bujur sangkar ........ 54 Gambar 4.3 pada thresholding 55% keatas gambar bujur sangkar ....... 55 Gambar 4.4 Gambar query persegi panjang ......................................... 55 Gambar 4.5 hasil pada thresholding 35% gambar persegi panjang ..... 55 Gambar 4.6 hasil pada thresholding 55% keatas gambar persegi

panjang ............................................................................. 56 Gambar 4.7 Gambar query segitiga...................................................... 56 Gambar 4.8 hasil pada thresholding 75% keatas gambar segitiga ...... 56 Gambar 4.9 Gambar query lingkaran....... ........................................... 57 Gambar 4.10 hasil pada thresholding 75% keatas gambar lingkaran.... 57 Gambar 4.11 Gambar query ikan glodok............................................... 58 Gambar 4.12 hasil pada thresholding 35% dari gambar query .............. 58

viii

Page 12: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Gambar 4.13 hasil pada thresholding 55% dari gambar query .............. 58 Gambar 4.14 hasil pada thresholding 75% dari gambar query .............. 59 Gambar 4.15 hasil pada thresholding 95% dari gambar query .............. 59 Gambar 4.16 Grafik tingkat ketelitian dengan gambar ikan glodok ...... 60 Gambar 4.17 Gambar query ikan Nila ..............................................… 61 Gambar 4.18 hasil pada thresholding 35% dari gambar query .............. 61 Gambar 4.19 hasil pada thresholding 55% dari gambar query .............. 61 Gambar 4.20 hasil pada thresholding 75% dari gambar query .............. 62 Gambar 4.21 hasil pada thresholding 95% dari gambar query .............. 62 Gambar 4.22 Grafik tingkat ketelitian dengan gambar ikan nila ........... 63 Gambar 4.23 Gambar query ikan Manggasius....................................... 64 Gambar 4.24 hasil pada thresholding 35% dari gambar query .............. 64 Gambar 4.25 hasil pada thresholding 55% dari gambar query .............. 64 Gambar 4.26 hasil pada thresholding 75% dari gambar query .............. 64 Gambar 4.27 hasil pada thresholding 95% dari gambar query .........… 65 Gambar 4.28 Grafik tingkat ketelitian dengan gambar ikan

manggasius....................................................................... 66 Gambar 4.29 Gambar query ikan Mujaer .............................................. 66 Gambar 4.30 hasil pada thresholding 35% dari gambar query .............. 67 Gambar 4.31 hasil pada thresholding 55% dari gambar query .............. 67 Gambar 4.32 hasil pada thresholding 75% dari gambar query .............. 67 Gambar 4.33 hasil pada thresholding 95% dari gambar query .............. 67 Gambar 4.34 Grafik tingkat ketelitian dengan gambar ikan mujaer ...... 69 Gambar 4.35 Rata-rata prosentase ketelitian gambar berdasarkan

tingkat thresholding ¼ luas gambar ................................ 69 Gambar 4.36 Gambar query ikan glodok............................................... 71 Gambar 4.37 hasil pada thresholding 35% dari gambar query .............. 72 Gambar 4.38 hasil pada thresholding 55% dari gambar query .............. 72 Gambar 4.39 hasil pada thresholding 75% dari gambar query .............. 72 Gambar 4.40 hasil pada thresholding 95% dari gambar query .............. 72 Gambar 4.41 Grafik tingkat ketelitian dengan gambar ikan glodok ...... 73 Gambar 4.42 Gambar query ikan Nila ..............................................… 74 Gambar 4.43 hasil pada thresholding 35% dari gambar query .............. 75 Gambar 4.44 hasil pada thresholding 55% dari gambar query .............. 75 Gambar 4.45 hasil pada thresholding 75% dari gambar query .............. 75 Gambar 4.46 hasil pada thresholding 95% dari gambar query .............. 75 Gambar 4.47 Grafik tingkat ketelitian dengan gambar ikan nila ........... 76 Gambar 4.48 Gambar query ikan Manggasius....................................... 77 Gambar 4.49 hasil pada thresholding 35% dari gambar query .............. 78 Gambar 4.50 hasil pada thresholding 55% dari gambar query .............. 78

ix

Page 13: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Gambar 4.51 hasil pada thresholding 75% dari gambar query .............. 78 Gambar 4.52 hasil pada thresholding 95% dari gambar query .........… 78 Gambar 4.53 Grafik tingkat ketelitian dengan gambar ikanmanggasius 79 Gambar 4.54 Gambar query ikan Mujaer .............................................. 79 Gambar 4.55 hasil pada thresholding 35% dari gambar query .............. 80 Gambar 4.56 hasil pada thresholding 55% dari gambar query .............. 80 Gambar 4.57 hasil pada thresholding 75% dari gambar query .............. 80 Gambar 4.58 hasil pada thresholding 95% dari gambar query .............. 80 Gambar 4.59 Grafik tingkat ketelitian dengan gambar ikan mujaer ...... 81 Gambar 4.60 Rata-rata prosentase ketelitian gambar berdasarkan

tingkat thresholding seluruh luas gambar......................... 82 Gambar 4.61 Rata-rata prosentase ketelitian gambar berdasarkan

tingkat thresholding ¼ luas gambar ................................. 83

x

Page 14: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

DAFTAR TABEL

Tabel 3.1 Keterangan Graphical User Interface.................................... 53 Tabel 4.1 prosentase ketelitian dengan gambar ikan glodok................. 59 Tabel 4.2 prosentase ketelitian dengan gambar ikan nila...................... 62 Tabel 4.3 prosentase ketelitian dengan gambar ikan manggasius ......... 65 Tabel 4.4 prosentase ketelitian dengan gambar ikan mujaer................. 68 Tabel 4.5 Rata rata prosentase Ketelitian gambar berdasarkan tingkat

thresholding ......................................................................... 69 Tabel 4.6 prosentase ketelitian dengan gambar ikan glodok................. 73 Tabel 4.7 prosentase ketelitian dengan gambar ikan nila...................... 76 Tabel 4.8 prosentase ketelitian dengan gambar ikan manggasius ......... 78 Tabel 4.9 prosentase ketelitian dengan gambar ikan mujaer................. 81 Tabel 4.10 Rata rata prosentase Ketelitian gambar berdasarkan tingkat

thresholding seluruh luas gambar ........................................ 82 Tabel 4.11 Rata rata prosentase Ketelitian gambar berdasarkan tingkat

thresholding ¼ luas gambar ................................................. 83

xi

Page 15: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

BAB I PENDAHULUAN

1.1 LATAR BELAKANG

Di berbagai bidang seperti hiburan, perdagangan, pendidikan, biomedicine, dan kepolisian, data gambar dari berbagai bidang tersebut semakin bertambah dengan cepat, dimana hal ini didasarkan pada kebutuhan manusia yang cenderung semakin hari semakin meningkat. Sedangkan sistem penyimpanan dari berbagai macam informasi digital tersebut semakin meningkat sehingga membuat masalah dalam pencarian dan pengolahannya. Content Based Image Retrieval System ini bertujuan untuk mempermudah dan mempercepat pencarian dari gambar-gambar mirip dengan kriteria gambar tertentu yang diinginkan dari sekumpulan gambar yang ada. Dimana karakteristik atau kriteria dari gambar yang dihasilkan ini seperti bentuk, warna, dan tekstur dan lain-lain yang sesuai dengan gambar yang diinginkan. Hubungan antar gambar-gambar yang diinginkan dengan gambar hasil dikelompokkan berdasarkan kemiripan karakteristik secara komputasi.

Teknik pencarian berbasis teks yang sudah ada pada saat ini menjadi tidak bisa digunakan karena nama dari sebuah file tidak dapat mempresentasikan isinya. Disamping itu jika kita menggunakan input yang berupa teks, maka kita harus mengetahui kata kunci yang benar-benar tepat agar gambar yang kita inginkan dapat ditampilkan. Sedangkan suatu gambar itu mempunyai interest yang sangat bervariasi. Sebagai contoh bila kita ingin mencari gambar kuda, dimana gambar kuda itu mempunyai banyak informasi antara lain mungkin yang akan dihasilkan adalah makanan kuda, atau area pacuan kuda, atau informasi yang lain yang ada unsur kuda dan yang pasti suatu gambar itu bisa berbicara seribu kata.

Seperti yang kita lihat pada Google image searching, yang bahwasanya tidak dapat menemukan hasil optimal dan tidak bersesuaian dengan apa yang kita harapkan, dimana hal tersebut dikarenakan teknik pencariannya hanya didasarkan pada nama file. Hal ini bisa saja jadi berantakan bila ada seseorang yang memodifikasi nama file tersebut dengan tidak memperhitungkan

1

Page 16: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pendahuluan

melihat isi atau informasi dari file gambar tersebut, dan tentunya hal yang seperti ini dapat merugikan orang banyak.

Untuk menghindari teknik tersebut, maka digunakan pendekatan alternative yaitu : Content Based Image Retrieval System yang mencari gambar hanya berdasarkan informasi yang ada pada gambar. Informasi dari gambar yang didapatkan merupakan ciri dari gambar, pada level primitif dapat berupa warna, bentuk, tekstur. Dari ketiga feature tersebut sudah tampak jelas bahwa setidaknya suatu gambar itu memiliki ciri, misal gambar bebek yang memiliki ciri bentuk yang sebagaimana bebek, dan memiliki ciri warna dimana bebek memiliki warna putih serta memiliki tektur bulu. Dengan hal yang seperti ini (CBIR), meskipun kita memodifikasi atau merubah nama filenya, tidaklah membuat image searching menjadi rancu karena hal ini tidak didasarkan atas teks atau nama dari sebuah file melainkan berdasrkan ciri baik bentuk, warna maupun tektur.

Dengan demikian, penulis berusaha untuk membuat sistem Content Based Image Retrieval pada primitif level khususnya dengan menggunakan ciri bentuk untuk melengkapi sistem yang sudah ada.

Aplikasi lebih lanjut dari Content Based Image Retrieval System (CBIR) ini dapat digunakan untuk kepentingan pencarian (image searching), video content, image registration, dan lain-lain.

1.2 Maksud dan Tujuan

Tujuan dari proyek akhir ini adalah untuk membangun sistem Content Based Image Retrieval (CBIR) berdasarkan identifikasi pola bentuk menggunakan ekstraksi fitur terstruktur (metode Freeman Code dan First Different Code) dengan metode Euclidean distance (pencocokan gambar) untuk mendapatkan gambar yang mempunyai fitur dan isi yang sama atau mirip dengan gambar kueri.

1.3 PERMASALAHAN Permasalahan yang dibahas dalam proyek akhir ini adalah :

1. Bagaimana menggunakan metode Freeman Code untuk mendapatkan data numerik dari gambar (chain code).

2

Page 17: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pendahuluan

2. Bagaimana cara mendapatkan nilai bobot dari chaincode

dengan menggunakan metode First Different Code. 3. Bagaimana menyederhanakan data numerik dengan

menggunakan metode Normalisasi Data. 4. Bagaimana membandingkan bentuk obyek (image matching)

dengan data numerik yang didapat berdasarkan metode pencarian nilai jarak yaitu Euclidean Distance.

1.4 BATASAN MASALAH

Agar tidak terjadi kesalahan persepsi dan tidak meluasnya pokok pembahasan, maka saya memberikan batasan-batasan masalah sebagai berikut: 1. Dalam proyek akhir ini, image database diartikan sebagai

sekumpulan gambar dalam sebuah direktori, dimana semua gambar adalah berbentuk sketsa hewan laut atau Marine Sketch Image. (Total berjumlah 632 gambar) Contoh gambar :

Gambar 1.1 Marine Sketch Image

2. File gambar menggunakan format BMP, masing masing dengan ukuran yang berbeda.

3. Penamaan file tidak merujuk pada jenis gambar, tetapi diberi index. Misalnya kk1, kk2, … dst.

4. Fitur yang digunakan sebagai model yang menyatakan content gambar adalah fitur bentuk.

3

Page 18: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pendahuluan

1.5 METODOLOGI

Dalam mengerjakan proyek akhir ini, metode yang dipergunakan adalah sebagai berikut :

1. Studi literatur Pada tahap pertama dilakukan pendalaman literatur yang

berhubungan dengan CBIR, ekstraksi fitur menggunakan Freeman Code dan First Different Code dengan Euclidean Distance (proses pencocokan) dan pemrograman GUI MFC pada Microsoft Visual C++.

2. Pengumpulan data Suatu kegiatan mencari, mengumpulkan data-data yang

digunakan dalam pembuatan sistem pada Aplikasi Image Database . Data-data yang digunakan untuk proyek akhir ini berupa beberapa referensi materi dan image database (gambar sketsa ikan atau Marine Sketch Image berjumlah 632 gambar) yang diperoleh dari alamat :

http://www.ee.surrey.ac.uk/Research/VSSP/imagedb3. Perancangan sistem pada bagian software

Tahap ini bertujuan untuk mencari bentuk yang optimal dari sistem yang akan dibuat dengan mempertimbangkan berbagai faktor-faktor permasalahan dan kebutuhan yang telah ditentukan. Perancangan arsitektur sistem

Arsitektur sistem pada aplikasi ini akan dibangun menggunakan metode dan algoritma yang sudah dijelaskan diatas untuk menganalisa fitur fitur yang dimiliki oleh query image kemudian dibandingkan satu persatu dengan gambar yang ada pada image database.

4

Page 19: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pendahuluan

Gambar 1.2 Sistem CBIR

Metode yang akan digunakan untuk pendekatan masalah adalah terdiri dari :

1. Mendapatkan data numerik yang menjadi ciri bentuk dari gambar dengan Structural Feature Extraction menggunakan metode Freeman Code.

2. Penghitungan nilai Normalisasi pada data numerik yang dihasilkan sehingga mendapatkan nilai yang mewakili ciri dari query image dan image database.

3. Membandingkan fitur dari query image dan fitur gambar dalam image database dengan metode Euclidean Distance.

4. Perancangan GUI MFC Microsoft Visual C++ yang berfungsi untuk menampilkan gambar hasil.

4. Pembuatan dan pengujian sistem Dari hasil perancangan dilakukan realisasi pembuatan aplikasi

seleksi gambar pada image database. Pengujian aplikasi ini dilakukan pada beberapa gambar dalam sebuah direktori yaitu dengan cara mengoperasikan aplikasi GUI yang sudah dibuat.

1.6. SISTEMATIKA STUDI Sistematika pembahasan dari proyek akhir ini direncanakan sebagai

berikut:

5

Page 20: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pendahuluan

BAB 1 PENDAHULUAN

Menguraikan tentang latar belakang, tujuan, permasalahan, batasan masalah dan sistematika pembahasan masalah yang digunakan dalam pembuatan proyek akhir ini.

BAB II TEORI PENUNJANG Teori-teori yang digunakan dalam penyelesaian proyek akhir

akan dibahas dalam bab ini sesuai dengan kaitannya proses content based image retrieval system berdasarkan identifikasi pola bentuk menggunakan ekstraksi fitur terstruktur.

BAB III PERENCANAAN DAN PEMBUATAN Membahas secara detail dari perencanaan dan pembuatan system.

BAB IV PENGUJIAN DAN ANALISA Membahas tentang pengujian dari system yang telah dibuat

beserta analisanya. BAB V KESIMPULAN DAN SARAN Bab ini berisi kesimpulan dari pembahasan pada perancangan

awal serta analisa yang diperoleh. Untuk lebih meningkatkan mutu dari system yang telah dibuat maka saya memberikan saran-saran untuk perbaikan dan penyempurnaan system.

DAFTAR PUSTAKA Berisi referensi-referensi yang telah digunakan sebagai acuan

selama pembuatan proyek akhir.

6

Page 21: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

BAB II TEORI PENUNJANG

2.1. PENGOLAHAN GAMBAR DIGITAL

Proses pengolahan gambar digital dengan menggunakan komputer digital adalah terlebih dahulu mentransformasikan gambar ke dalam bentuk besaran-besaran diskrit dari nilai tingkat keabuan pada titik-titik elemen gambar. Bentuk gambar ini disebut gambar digital.Elemen-elemen gambar digital apabila ditampilkan dalam layar monitor akan menempati sebuah ruang yang disebut dengan pixel (picture elemen/pixel).

Pada proses transformasi yang menghasilkan gambar dari bentuk tiga dimensi ke bentuk dua dimensi akan dipengaruhi oleh bermacam-macam faktor yang mengakibatkan penampilan gambar suatu benda tidak identik dengan bentuk fisik nyatanya. Faktor-faktor tersebut merupakan efek degradasi atau penurunan kualitas yang dapat berupa rentang kontras benda yang terlalu sempit atau terlalu lebar, distorsi geometri (geometric distortion), kekaburan (blur), kekaburan akibat obyek gambar yang bergerak (motion blur), noise atau gangguan yang disebabkan oleh interferensi peralatan pembuat gambar, baik itu berupa tranduser, peralatan elektronik ataupun peralatan optik Teknik dan proses untuk mengurangi atau menghilangkan efek degradasi pada gambar digital meliputi perbaikan citra (image enhancement), restorasi citra (image restoration), dan transformasi spasial (spatial transformation). Subyek lain dari pengolahan gambar digital diantaranya adalah pengkodean gambar (image coding), segmentasi gambar (image segmentation), representasi dan diskripsi gambar (image representation and description ). Pengolahan gambar digital memiliki banyak aplikasi seperti pada bidang penginderaan jarak jauh, robotik, pemetaan, biomedis, dan sebagainya. Perlengkapan pengolahan gambar digital minimal terdiri atas alat pemasukan data gambar berupa digitizer atau scanner, komputer digital, alat penyimpanan data dengan kapasitas yang besar.

7

Page 22: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

2.2 MODE WARNA

Gambar yang tidak berwarna atau hitam putih dikenal juga sebagai gambar dengan derajat keabuan (gambar gray level).

Derajat keabuan yang dimiliki ini bisa beragam mulai dari 2 derajat keabuan (yaitu 0 dan 1) yang dikenal juga sebagai gambar monochrome, 16 derajat keabuan dan 256 derajat keabuan. Semakin besar jumlah derajat keabuan yang dimiliki maka semakin halus citra tersebut

Dalam sebuah gambar monochrome, sebuah pixel diwakili oleh 1 bit data yang berisikan data tentang derajat keabuan yang dimiliki pixel tersebut. Data akan berisi 1 bila pixel tersebut berwarna putih dan data akan berisi nilai 0 bila pixel tersebut berwarna hitam

Untuk gambar berwarna, jumlah warna bisa beragam mulai dari 16, 256, 65536 atau 16 juta warna, yang masing-masing direpresentasikan oleh 4, 8, 16, atau 24 bit data untuk setiap pixelnya. Warna yang ada terdiri dari 3 komponen utama yaitu nilai merah (red), nilai hijau (green), dan nilai biru (blue). Paduan ketiga komponen utama pembentuk warna ini dikenal sebagai RGB color.

Gambar berwarna Suatu gambar berwarna selalu memiliki 3 unsur yaitu unsure red, unsur green, dan unsure blue atau hal ini sering disebut dengan unsur RGB

GREEN

RED

Color

BLUE

8

Page 23: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

2.3 PIKSEL Piksel merupakan salah satu komponen dari gambar yang

menentukan resolusi dari gambar tersebut, misal, sebuah gambar dikatakan resolusinya sebesar 400 x 500 maka artinya yaitu panjang pixel horizontalnya 400 dan panjang pixel vertikalnya 500 dan jumlah total keseluruhan pixel dari gambar tersebut yaitu 480000 atau dapat dikatakan bahwa dalam gambar tersebut terdiri dari 20000 pixel.

Dalam penolahannya, piksel memiliki hubungan antara yang satu dengan yang lainnya. Sebuah piksel p pada koordinat (x,y) mempunyai tetangga horisontal dan vertikal yang koordinatnya sebagai berikut :

N4(p) : 4 tetangga dari p x (x+1,y), (x-1,y),(x,y+1),(x,y-1) x p x x Kumpulan dari piksel-piksel diatas yang disebut 4-neighbours

of p dapat dinyatakan sebagai N4(p), kecuali jika p(x,y) posisinya terletak pada garis batas gambar, sehingga jumlah piksel tetangga tidak terdiri dari tetangga. Selain 4 tetangga diatas, p juga memiliki 4 tetangga diagonal, yaitu:

ND(p):4 –diagonal tetangga dari p x x

(x+1,y+1), (x+1,y-1),(x-1,y+1),(x-1,y-1) p x x

Gabungan dari N4(p) dan ND(p) didefinisikan sebagai 8-neighbours of pdan dinyatakan sebagai N8(p).

x x x N8(p): 8 –neighbours of p x p x x x x

2.4 GARIS Mengapa dalam bidang seni ada karya yang khusus, yang

populer dinamai Sketsa? Padahal, jika dilihat secara kasat mata, bentuk gambar yang disebut sketsa itu hanya berupa goresan-goresan garis yang seolah merupakan rangka-rangka dati suatu bentuk benda.

9

Page 24: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Garis merupakan sekumpulan titik yang berderet. Adapun

deretannya berwujud melingkar, segitiga, persegi panjang, berkelok-kelok, melengkung, bahkan lurus. Sekumpulan titik yang disebut garis dan ujudnya beraneka ragam itu, ternyata setiap bentuk ragamnya membawa karakter sendiri-sendiri. Garis yang visualnya tegak lurus misalnya, punya karakter visual yang kaku dan statis. Sedangkan yang horisontal membawa karakter datar. Adapun yang berkelok membawa karakter yang dinamis[9].

2.5 GRAYSCALE

Variabel gambar gray scale adalah matrik yang dinyatakan:

[ ] nnjiaA ×= ),(

Untuk gambar yang berwarna, nilai A terdiri dari 3 matrik layer yaitu: 1 matrik untuk layer warna RED, 1 matrik untuk layer warna GREEN dan 1 matrik untuk layer warna BLUE 2.6 SEGMENTASI

Tujuan dari sementasi gambar adalah untuk menentukan daerah atau bagian yang merepresentasikan objek dengan kata lain memisahkan objek dengan latar belakangnya. Tetapi ini salah satu keulitan dalam pemrosesan citra digital.

Algoritma segmentasi berdasarkan pada satu atau dua sifat nilai intensitas yaitu diskontinu dan similaritas. Kategori pertama membagi sebuah gambar berdasarkan perubahan yang tiba-tiba dari intensitas, misal tepi dari sebuah gambar. Kategori kedua berdasarkan pembagian gambar kedalam daerah-daerah yang mirip menurut kriteria yang sudah didefinisikan sebelumnya. Pendekatan Histogram Thresholding berada pada kategori ini.

Dasar-dasar thresholding Anggaplah histogram dari gambar grayscale, f(x,y),

tersusun atas obyek gelap didalam latar belakang yang terang, dengan cara ini piksel-piksel untuk objek dan latar belakangnya mempunyai kelompok gray level yang dibagi dalam dua mode. Salah satu untuk dilihat untuk mengekstraksi objek dari latar belakangnya

10

Page 25: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

adalah memilih sebuah threshold ‘T’ yang akan memisahkan 2 mode ini. Kemudian semua piksel (x,y) yang nilai f(x,y)> T disebut sebagai piksel dari objek, selain itu, disebut sebagai piksel latar belakang.

Jika ada dua mode yang dominan dari karakteristik histogram, disebut sebagai bimodal histogram. Hanya satu threhold sudah cukup untuk membagi gambar.

Jika contoh gambar dibangun dengan dua tipe obyek obyek terang pada latar belakang gelap, tiga atau lebih mode karakteristik histogram yang dominan.

2.7 DETEKSI TEPI Latar belakang:

• untuk Deteksi tepi dikembangkan menggunakan konsep filter pada gambar.

• Untuk mereduksi noise pada hasil deteksi tepi diperlukan pengaturan nilai pada filter kernel, seperti pada prewitt dan sobel.

Deteksi tepi merupakan salah satu proses penting di dalam image processing. Tepi suatu gambar dapat dijadikan salah satu ciri atau fitur yang dapat digunakan dalam proses pengenalan (identifikasi dan recognition), klasifikasi dan penjabaran informasi dari suatu gambar. Mengingat pentingnya informasi tepi ini, diperlukan suatu proses deteksi tepi yang benar-benar handal dalam menyajikan informasi tepi.

Permasalahan di dalam proses deteksi tepi adalah bagaimana menghasilkan informasi tepi yang benar-benar tepi dan menghilangkan noise. Proses deteksi tepi pada dasarnya adalah proses filter pada frekuensi tinggi dimana pada frekuensi ini sukar dibedakan mana informasi tepi dan mana yang noise.

Beberapa deteksi tepi yang mencoba mengurangi noise mempunyai efek samping hilangnya beberapa informasi tepi, seperti pada Robert dan sobel. Metode deteksi Prewitt menghasilkan banyak informasi tepi tetapi noise yang dihasilkan juga banyak. Untuk itu muncul pemikiran bagaimana menghasilkan matrik filter kernel

11

Page 26: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

deteksi tepi yang dapat mengurangi noise sebanyak-banyaknya tanpa kehilangan informasi tepi.

Tepi suatu obyek gambar dinyatakan sebagai titik yang intensitasnya berubah dengan jelas, dengan demikian proses deteksi tepi dilakukan dengan memperhatikan perubahan nilai intensitas setiap titik dengan delapan titik tetangganya. Sehingga matrik filter kernel yang dikembangkan merupakan nilai differensial dari suatu titik dengan titik-titik tetangganya.

Perhitungan konvolusi antara matrik kernel H dan matrik gambar X, hasilnya Y adalah informasi tepi.

Y = H ⊗ X

Filter Kernel Prewitt dan Sobel [1]. Filter Kernel Prewitt Horisontal dan Vertikal

o Deteksi Tepi Prewitt merupakan pengembangan dari deteksi tepi Robert dengan memanfaatkan nilai tetangga dari dua arah yang berbeda. Beberapa matrik kernel dari metode deteksi tepi Prewitt adalah sebagai berikut

⎥⎥⎥

⎢⎢⎢

−−−

=101101101

H⎥⎥⎥

⎢⎢⎢

−−−=

111000111

H

• Filter Kernel Sobel Horisontal dan Vertikal

o Deteksi Tepi Sobel merupakan pengembangan dari deteksi tepi Prewitt dengan menambahkan unsur gaussian di dalam matrik filter kernel yang menyatakan arah dari proses konvolusi.

H= H=

⎥⎥⎥

⎢⎢⎢

⎡ −−−

121000121

⎥⎥⎥

⎢⎢⎢

−−−

101202101

12

Page 27: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Filter kernel laplacian

H= atau H=

⎥⎥⎥

⎢⎢⎢

−−−

010141

010

⎥⎥⎥

⎢⎢⎢

−−−−−−−−

111181111

2.8 CONTENT BASED IMAGE RETRIEVAL SYSTEM Content Based Image Retrieval System (CBIR) merupakan suatu teknik pencarian kembali gambar yang mempunyai kemiripan karakteristik atau content dari sebuah sekumpulan gambar. Proses secara umum dari CBIR adalah gambar yang menjadi query dilakukan proses ekstraksi feature, begitu halnya dengan gambar yang ada pada sekumpulan gambar juga dilakukan proses seperti pada gambar query. Parameter feature gambar yang dapat digunakan untuk retrieval pada system ini seperti histogram, susunan warna, teksture, dan shape, tipe spesifik dari obyek, tipe event tertentu, nama individu, lokasi, emosi. gambar query yang digunakan mempunyai beberapa level, yaitu:

• Level 1: retrieval dengan primitive feature, seperti color, shape, teksture,

• Level 2: retrieval dengan logical feature, seperti tipe obyek, individu obyek atau orang.

• Level 3: retrieval dengan abstrak feature, seperti nama even, tipe aktifitas, emotional, religius.

Penelitian dan pembangunan dalam CBIR mencakup keseluruhan topik. Beberapa pokok persoalan yang terjadi dalam pembangunan CBIR dapat diuraikan sebagai berikut:

• Pemahaman gambar yang dibutuhkan oleh user dan pencarian informasi.

• Pengidentifikasian cara yang sesuai dalam penggambaran content atau karakteristik dari gambar.

• Proses ekstraksi feature dari gambar.

13

Page 28: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Ekstrasi feature merupakan proses penting pada sistem CBIR. Karena hasil dari proses ini, perbedaan pada setiap gambar dapat diketahui berdasarkan cirinya seperti ciri bentuk, ciri warna, ciri tekstur dan lain – lain. Beberapa teknik yang dapat digunakan untuk ekstrasi feature antara lain : teknik analisis komponen utama, besaran statistik , histogram warna, wavelet transform dan lain – lain.

• Penyediaan tempat penyimpanan untuk sekumpulan gambar. • Proses matching antara gambar query dan gambar yang ada

pada sekumpulan gambar.. Proses matching merupakan proses pencocokan gambar untuk memperoleh gambar yang mempunyai kemiripan dengan gambar query. Proses matching dilakukan dengan menghitung jarak antara dua gambar yaitu gambar query dan gambar target pada sekumpulan gambar. Parameter yang digunakan dalam perhitungan jarak berdasarkan pada hasil ekstrasi ciri.

• Penyediaan human interface dari CBIR system. Nilai normalisasi Nilai normalisasi digunakan untuk mengecilkan data, dimana data nilai piksel dari sebuah gambar tersebut cenderung sangat besar, dengan demikian butuh adanya normalisasi. Dengan normalisasi ini maka data tersebut hanya memiliki range antara nol sampai satu. X= {i0, i1, i2, ....in}

Maka |X| = iiii n

22

2

2

1

2

0 ...++++

|X|=xx X=(i0/xx, i1/xx, ....,xn/xx) Mean dan Standard Deviasi Dalam ilmu statistik, perhitungan nilai rata-rata (mean) dan standard deviasi untuk mengetahui besarnya simpangan cenderung banyak digunakan karena hal tersebut dapat mempengaruhi probabilitas hasil kerja.

14

Page 29: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Rumus Jarak Euclidean Distance Jarak Euclidean dapat dianggap sebagai jarak yang paling pendek antar dua poin poin, maka dari itu dalam proyek akhir ini digunakan fungsi jarak Euclidean dan pada dasarnya sama halnya dengan persamaan Pythagoras ketika digunakan di dalam dua dimensi. Secara matematis dapat dituliskan di dalam persamaan berikut :

d(i,j)= 2222

211 ||.....|||| jpipjiji xxxxxx −++−+−

Ket : d(i,j) = nilai jarak xi = nilai nilai pada fitur 1 xj = nilai nilai pada fitur 2 Gambaran CBIR

2.9 PERANGKAT LUNAK BAHASA PEMROGRAMAN

VISUAL C++ DENGAN MFC

15

Page 30: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Menjalankan Visual C++ dengan MFC

1. Membuka Visual C++ 6.0 • Pilih menu : Start->Programs->Microsoft Visual Studio

6.0->Microsoft Visual C++ 6.0 2. Memberi nama program

• Pilih menu : File->New->Projects->MFC AppWizard(exe) • Isi Project name misalnya dengan: Test (lihat gambar 1) • Tekan tombol OK

Gambar 2.1 Memberi nama program

3. Memilih isi program

• What tipe of application would you like to create (aplikasi apa yang ingin dibuat) pilih Multiple documents untuk pilihan standar. Tekan tombol Next

• What database support would you like include (database apa yang ingin dibuat) pilih None untuk pilihan standar. Tekan tombol Next

• What compound document support would you like include (dokumen apa yang ingin dibuat) pilih None untuk pilihan standar. Tekan tombol Next

• What features would you like include

16

Page 31: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

(tampilan apa yang ingin dibuat) pilih Docking toolbar, Initial status bar, printing and print preview, 3D control untuk pilihan standar. Tekan tombol Next

• What style of project would you like (gaya program apa yang ingin dibuat) pilih MFC standard untuk pilihan standar. Tekan tombol Next

• AppWizard creates the following classes for you (AppWizard akan membuat class seperti dibawah ini) CtestView CtestApp CmainFrame CchildFrame CtestDoc Lihat gambar 2

Gambar 2.2 Memilih isi program

• Tekan tombol Finish kemudian tombol OK 4. Cara menjalankan program

• Pilih menu : Build->Execute (!) • Tekan tombol Yes

Cara membuat menu dengan MFC

1. Cara membuat menu • Buat aplikasi AppWizard seperti pada praktikum 1 dan

beri nama project dengan Menus

17

Page 32: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

• Pilih ResourceView pada workspace • Pilih folder paling atas dengan cara klik pada tanda + • Pilih folder menu dengan cara klik pada tanda + • Klik 2 kali IDR_MENUSTYPES[English[U.S.]] seperti

gambar 3

Gambar 2.3 Membuat Menu

2. Menghapus dan menambah menu

• Untuk menghapus menu : Pilih menu Edit kemudian tekan keyboard Delete kemudian tekan tombol OK

• Untuk Menambah menu: Tekan tombol keyboard Insert dan ketik misalnya Test kemudian dibawahnya ketik Hello seperti gambar 4

18

Page 33: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Gambar 2.4 Menghapus dan menambah menu

3. Mengaktifkan menu

• Pilih menu Hello dan klik kanan • Pilih menu ClassWizard dan klik kiri • Pilih message dengan COMMOND dan klik kiri dua kali

seperti gambar 5 kemudian tekan tombol OK • Untuk mengedit isi program tekan tombol Edit Code

19

Page 34: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Gambar 2.5 Mengaktifkan menu

4. Menampilkan fungsi

• Tambahkan program untuk menampilkan pesan seperti dibawah ini

///////////////////////////////////////////////////////////////////////////// // CMenusView message handlers void CMenusView::OnTestHello() { // TODO: Add your command handler code here // Menampilkan pesan untuk pemakai MessageBox(“Hello”); } • Jalankan program dengan memilih menu Build->Execute

(!) Menampilkan File Gambar

1. Cara membuka file • Buat aplikasi AppWizard seperti pada praktikum 1 dan

beri nama project dengan OpenFile • Buat Menu seperti pada praktikum 2 dengan tambahan

Test dan submenunya OpenFile

20

Page 35: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

• Untuk mengedit isi program tekan tombol Edit Code atau

buka file OpeFileView.cpp • Tambahkan program untuk membuka file seperti dibawah

ini ///////////////////////////////////////////////////////////////////////////// // COpenFileView message handlers // Menampilkan file yang akan dibuka void COpenFileView::OnTestOpenfile() { // TODO: Add your command handler code here static char BASED_CODE szFilter[]="Bitmap Files (*.bmp)|*.bmp||";

CFileDialog m_ldFile(TRUE, "*.bmp", name, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter);

if(m_ldFile.DoModal()==IDOK) { name=m_ldFile.GetPathName(); LoadGambar(); } } // Menampilkan gambar hasil dari open file void COpenFileView::LoadGambar(void) { CDC* pDC = GetDC(); CDC dcMem;

HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(), name, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);

if(hBitmap) { if(m_bmpBitmap.DeleteObject()) m_bmpBitmap.Detach(); m_bmpBitmap.Attach(hBitmap); } dcMem.CreateCompatibleDC(pDC); dcMem.SelectObject(&m_bmpBitmap); pDC->BitBlt(0,0,250,210,&dcMem,0,0,SRCCOPY); }

2. Menambah header file • Buka file OpenFileView.h • Tambahkan program seperti dibawah ini

21

Page 36: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

// Attributes public: COpenFileDoc* GetDocument(); CString name; CBitmap m_bmpBitmap; // Operations public: void LoadGambar(void);

3. Cara menjalankan program

• Pilih menu : Build->Execute (!) • Pilih menu : Test->OpenFile ->pilih salah satu gambar

misalnya gambar.bmp • Hasilnya seperti gambar 6

Gambar 2.6 Membuka file gambar Cara Memproses Gambar

1. Cara memproses gambar • Buat aplikasi AppWizard seperti pada praktikum 1 dan

beri nama project dengan Proses • Buat Menu seperti pada praktikum 2 dengan tambahan

Test sedangkan submenunya OpenFile dan Proses • Untuk mengedit isi program tekan tombol Edit Code atau

buka file ProsesView.cpp • Tambahkan program untuk memproses gambar seperti

dibawah ini ///////////////////////////////////////////////////////////////////////////// // CProsesView message handlers

22

Page 37: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

void CProsesView::OnTestOpenfile() {

// TODO: Add your command handler code here static char BASED_CODE szFilter[]="Bitmap Files (*.bmp)|*.bmp||";

CFileDialog m_ldFile(TRUE, "*.bmp", name, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter);

if(m_ldFile.DoModal()==IDOK) {

name=m_ldFile.GetPathName(); LoadGambar();

} }

// Menampilkan gambar hasil dari open file void CProsesView::LoadGambar(void) {

CDC* pDC = GetDC(); CDC dcMem;

HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(), name, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);

if(hBitmap) {

if(m_bmpBitmap.DeleteObject()) m_bmpBitmap.Detach(); m_bmpBitmap.Attach(hBitmap); }

dcMem.CreateCompatibleDC(pDC); dcMem.SelectObject(&m_bmpBitmap);

pDC->BitBlt(0,0,250,210,&dcMem,0,0,SRCCOPY); } void CProsesView::OnTestProses() { // TODO: Add your command handler code here CDC* pDC = GetDC(); CDC dcMem; int i,j; long int warna; char str[5]; dcMem.CreateCompatibleDC(pDC); dcMem.SelectObject(&m_bmpBitmap); for(i=0;i<210;i++) for(j=0;j<250;j++) {

23

Page 38: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

// memberi warna pada titik

dcMem.SetPixel(j,i,0x000000ff); }

pDC->BitBlt(0,0,250,210,&dcMem,0,0,SRCCOPY); // membaca warna pada titik warna=dcMem.GetPixel(5,5); sprintf(str,"%ld",warna); pDC->TextOut(10,10,str); }

2. Menambah header file • Buka file ProsesView.h • Tambahkan program seperti dibawah ini // Attributes public: CProsesDoc* GetDocument(); CString name; CBitmap m_bmpBitmap; // Operations public: void LoadGambar(void);

3. Cara menjalankan program

• Pilih menu : Build->Execute (!) • Pilih menu : Test->OpenFile -> pilih salah satu gambar

misalnya gambar.bmp • Pilih menu: Test->Proses hasilnya seperti gambar 7

24

Page 39: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Gambar 2.7 Memproses gambar

Cara Memproses Gambar dengan Dialog Box

1. Cara memproses gambar dengan dialog box • Buat aplikasi AppWizard seperti pada praktikum 1 dan

beri nama project dengan ProsesDialog • Buat Dialog Box dengan memilih tipe aplikasi dialog

based seperti pada gambar 8 kemudian pilih Finish.

Gambar 2.8 Memilih aplikasi dialog based

• Buatlah tampilan dengan bantuan control panel sehingga

menghasilkan tampilan seperti gambar 9 dibawah ini

25

Page 40: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Gambar 2.9 Tampilan dialog box

• Tambahkan ID control dan member variables dengan cara

clik kanan pada dialog dan pilih properties, kemudian clik kanan dan pilih ClassWizard kemudian pilih member variables, isi member sehingga menghasilkan seperti gambar 10 dibawah ini

Gambar 2.10 ClassWizard dengan Member Variables

26

Page 41: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

• Tekan dua kali tombol LoadGambar dan pilih OK, tambahkan program seperti di bawah ini void CProsesDialogDlg::OnLoadgambar() { // TODO: Add your control notification handler code here static char BASED_CODE szFilter[]="Bitmap Files (*.bmp)|*.bmp||"; CFileDialog m_ldFile(TRUE, "*.bmp", name,

OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter); if(m_ldFile.DoModal()==IDOK) { name=m_ldFile.GetPathName(); LoadGambar(); } } // Menampilkan gambar hasil dari open file void CProsesDialogDlg::LoadGambar(void) { CDC* pDC = m_pic.GetDC(); CDC dcMem; HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(), name,

IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION); if(hBitmap) { if(m_bmpBitmap.DeleteObject()) m_bmpBitmap.Detach(); m_bmpBitmap.Attach(hBitmap); } CRect rect; BITMAP bm; m_pic.GetClientRect(rect); m_bmpBitmap.GetBitmap(&bm); dcMem.CreateCompatibleDC(pDC); dcMem.SelectObject(&m_bmpBitmap); pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bm.bmWidth

,bm.bmHeight,SRCCOPY); }

• Tekan dua kali tombol Proses dan pilih OK, tambahkan program seperti di bawah ini void CProsesDialogDlg::OnProses() { // TODO: Add your control notification handler code here

27

Page 42: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

CDC* pDC = m_pic.GetDC(); CDC dcMem; int i,j; long int warna; char str[5]; CRect rect; BITMAP bm; m_pic.GetClientRect(rect); m_bmpBitmap.GetBitmap(&bm); dcMem.CreateCompatibleDC(pDC); dcMem.SelectObject(&m_bmpBitmap); for(i=0;i<rect.Height();i++) for(j=0;j<rect.Width();j++) { // memberi warna pada titik dcMem.SetPixel(j,i,0x000000ff); } pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bm.bmWidth

,bm.bmHeight,SRCCOPY); // membaca warna pada titik warna=dcMem.GetPixel(5,5); sprintf(str,"%ld",warna); pDC->TextOut(10,10,str); }

2. Menambah header file • Buka file ProsesDialogDlg.h • Tambahkan program seperti dibawah ini

// Construction public: CProsesDialogDlg(CWnd* pParent = NULL); // standard constructor // Attributes public: CString name; CBitmap m_bmpBitmap; // Operations public: void LoadGambar(void);

3. Cara menjalankan program

• Pilih menu : Build->Execute (!) • Pilih tombol LoadGambar -> pilih salah satu gambar

misalnya harimau.bmp • Pilih tombol Proses-> hasilnya seperti gambar 11

28

Page 43: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Gambar 2.11 Hasil proses gambar dengan dialog box

Mengubah Citra Berwarna Menjadi Gray-Scale

1. Cara mengubah citra warna menjadi gray-scale • Buat aplikasi AppWizard seperti pada praktikum 1 dan

beri nama project dengan GrayScale • Buat Menu seperti pada praktikum 2 dengan tambahan

Test sedangkan submenunya OpenFile dan GrayScale • Untuk mengedit isi program tekan tombol Edit Code atau

buka file GrayScaleView.cpp • Tambahkan program untuk mengubah citra warna menjadi

gray-scale seperti dibawah ini ///////////////////////////////////////////////////////////////////////////// // CGrayScaleView message handlers void CGrayScaleView::OnTestLoadgambar() { // TODO: Add your command handler code here static char BASED_CODE szFilter[]="Bitmap Files (*.bmp)|*.bmp||";

CFileDialog m_ldFile(TRUE, "*.bmp", name, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter);

if(m_ldFile.DoModal()==IDOK) { name=m_ldFile.GetPathName(); LoadGambar();

29

Page 44: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

} } // Menampilkan gambar hasil dari open file void CGrayScaleView::LoadGambar(void) { CDC* pDC = GetDC(); CDC dcMem;

HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(), name, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);

if(hBitmap) { if(m_bmpBitmap.DeleteObject()) m_bmpBitmap.Detach(); m_bmpBitmap.Attach(hBitmap); } dcMem.CreateCompatibleDC(pDC); dcMem.SelectObject(&m_bmpBitmap); pDC->BitBlt(0,0,150,100,&dcMem,0,0,SRCCOPY); } // merubah data pixel ke RGB void WarnaToRGB(long int warna,int *Red, int *Green, int *Blue) { *Red = warna & 0x000000FF; *Green = (warna & 0x0000FF00) >> 8; *Blue = (warna & 0x00FF0000) >> 16; } //merubah RGB ke data pixel long int RGBToWarna(int Red, int Green, int Blue) { return(Red+(Green<<8)+(Blue<<16)); } void CGrayScaleView::OnTestGrayscale() { // TODO: Add your command handler code here long int warna; int j,k,red,green,blue,gray; CDC* pDC = GetDC(); CDC dcMem; dcMem.CreateCompatibleDC(pDC); dcMem.SelectObject(&m_bmpBitmap); for(j=0;j<100;j++) for(k=0;k<150;k++) {

30

Page 45: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

warna=dcMem.GetPixel(k,j); // merubah data pixel ke RGB WarnaToRGB(warna,&red,&green,&blue); // mengubah warna menjadi Gray-Scale gray=(red+green+blue)/3; //merubah RGB ke data pixel warna=RGBToWarna(gray,gray,gray); dcMem.SetPixel(k,j,warna); } pDC->BitBlt(150,0,300,100,&dcMem,0,0,SRCCOPY); }

2. Menambah header file • Buka file GrayScaleView.h • Tambahkan program seperti dibawah ini // Attributes public: CGrayScaleDoc* GetDocument(); CString name; CBitmap m_bmpBitmap; // Operations public: void LoadGambar(void);

3. Cara menjalankan program • Pilih menu : Build->Execute (!) • Pilih menu : Test->OpenFile -> pilih salah satu gambar

misalnya gambar.bmp • Pilih menu: Test->GrayScale hasilnya seperti gambar 12

Gambar 2.12 Mengubah Citra Berwarna Menjadi Gray-Scale

31

Page 46: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Thresholding 1. Cara mengubah gambar menjadi Thresholding 2 warna

• Buat aplikasi AppWizard seperti pada praktikum 1 dan beri nama project dengan ThresHold

• Buat Menu seperti pada praktikum 2 dengan tambahan Test sedangkan submenunya OpenFile dan ThresHold

• Untuk mengedit isi program tekan tombol Edit Code atau buka file ThresHoldView.cpp

• Tambahkan program untuk Thresholding seperti dibawah ini

///////////////////////////////////////////////////////////////////////////// // CThresHoldView message handlers void CThresHoldView::OnTestOpenfile() { // TODO: Add your command handler code here static char BASED_CODE szFilter[]="Bitmap Files (*.bmp)|*.bmp||"; CFileDialog m_ldFile(TRUE, "*.bmp", name,

OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter);

if(m_ldFile.DoModal()==IDOK) { name=m_ldFile.GetPathName(); LoadGambar(); } } // Menampilkan gambar hasil dari open file void CThresHoldView::LoadGambar(void) { CDC* pDC = GetDC(); CDC dcMem;

HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(), name, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);

if(hBitmap) { if(m_bmpBitmap.DeleteObject()) m_bmpBitmap.Detach(); m_bmpBitmap.Attach(hBitmap); } dcMem.CreateCompatibleDC(pDC);

32

Page 47: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

dcMem.SelectObject(&m_bmpBitmap); pDC->BitBlt(0,0,200,200,&dcMem,0,0,SRCCOPY); } // merubah data pixel ke RGB void WarnaToRGB(long int warna,int *Red, int *Green, int *Blue) { *Red = warna & 0x000000FF; *Green = (warna & 0x0000FF00) >> 8; *Blue = (warna & 0x00FF0000) >> 16; } //merubah RGB ke data pixel long int RGBToWarna(int Red, int Green, int Blue) { return(Red+(Green<<8)+(Blue<<16)); } void CThresHoldView::OnTestThreshold() { // TODO: Add your command handler code here long int warna; int j,k,red,green,blue,gray; CDC* pDC = GetDC(); CDC dcMem; dcMem.CreateCompatibleDC(pDC); dcMem.SelectObject(&m_bmpBitmap); for(j=0;j<100;j++) for(k=0;k<150;k++) { warna=dcMem.GetPixel(k,j); // merubah data pixel ke RGB WarnaToRGB(warna,&red,&green,&blue); // mengubah warna menjadi Gray-Scale gray=(red+green+blue)/3; if(gray<128) warna=RGBToWarna(0,0,0); else warna=RGBToWarna(255,255,255); dcMem.SetPixel(k,j,warna); } pDC->BitBlt(150,0,300,100,&dcMem,0,0,SRCCOPY); }

2. Menambah header file

33

Page 48: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

• Buka file ThresHoldView.h • Tambahkan program seperti dibawah ini // Attributes public: CThresHoldDoc* GetDocument();

CString name; CBitmap m_bmpBitmap; // Operations public: void LoadGambar(void);

3. Cara menjalankan program • Pilih menu : Build->Execute (!) • Pilih menu : Test->OpenFile -> pilih salah satu gambar

misalnya gambar.bmp • Pilih menu : Test->ThresHolding -> hasilnya seperti

gambar 13

Gambar 2.13 ThresHolding dengan nilai 128

Menampilkan Gambar Berformat DIB

Format berkas DIB (Device Independent Bitmap) merupakan format yang menjadi standar bagi Windows. Format atau Struktur penyusunnya terdiri atas tiga bagian utama :

• Data Judul (spesifikasi bitmap) • Data Palet (daftar warna) • Data Piksel (byte gambar / piksel)

Format seperti itu perlu diketahui mengingat Visual C++

belum menyediakan fungsi yang ditujukan untuk membuka berkas

34

Page 49: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

DIB atau format format yang lainnya. Oleh karena itu perlu diimplementasikan langkah langkah sebagai berikut :

1. Menambahkan Kelas CDib pada aplikasi Yaitu membuat file Header Dib.h yang berisikan kode : class CDib : public CObject { private: char* dataDIB; BITMAPINFOHEADER* judulInfo; BITMAPINFO* info; RGBQUAD* quad; BYTE* piksel; int warna; int lebar, tinggi; public: CDib(); CDib(char* namaBerkas); ~CDib(); int perolehLebar() { return lebar; } int perolehTinggi() { return tinggi; } BITMAPINFO* perolehInfo() { return info; } BYTE* perolehBit() { return piksel; } RGBQUAD* perolehInfoRGB() { return quad; } int perolehWarna() { return warna; } void muatBerkas(char* namaBerkas); int status; };

Kode diatas mendefinisikan kelas Cdib yang dipakai untuk menangani pembacaan data dari berkas DIB. Kelas tersebut melibatkan sejumlah variabel anggota bersifat privat dan sebuah variabel anggota status yang bersifat publik. Variabel publik ini, yaitu status, digunakan untuk menyatakan status pemuatan terhadap berkas DIB. Kemungkinan nilainya :

• -1, belum ada berkas yang dimuat. • 0, berkas berhasil dimuat. • 1, berkas tidak ditemukan. • 2, berkas tidak berformat DIB.

Sejumlah fungsi anggota yang bersifat publik didefinisikan sekaligus dalam berkas Dib.h :

• perolehLebar() digunakan untuk memperoleh lebar bitmap. • perolehTinggi() digunakan untuk memperoleh tinggi bitmap. • perolehInfo() memperoleh posisi info bitmap.

35

Page 50: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

• perolehBit() digunakan untuk memperoleh data piksel. • perolehInfoRGB() digunakan untuk memperoleh data warna. • perolehWarna() digunakan untuk memperoleh jumlah warna. • muatBerkas() digunakan untuk membuka berkas bitmap.

2. Menambahkan Definisi fungsi Kelas CDib pada aplikasi Yaitu membuat file dib.cpp yang berisikan kode : #include "stdafx.h" #include "fstream.h" #include "Dib.h" CDib::CDib() { status=-1; dataDIB=0; } CDib::CDib(char* namaBerkas) { dataDIB=0; muatBerkas(namaBerkas); } CDib::~CDib() { delete [] dataDIB; } void CDib::muatBerkas(char* namaBerkas) { delete [] dataDIB; dataDIB=0; status=0; BITMAPFILEHEADER tmpJudulBerkas; BITMAPINFOHEADER tmpJudulInfo; ifstream berkasBmp(namaBerkas, ios::binary); if (!berkasBmp.is_open()) { status=1; return; } berkasBmp.read((char*)&tmpJudulBerkas, sizeof(tmpJudulBerkas)); berkasBmp.read((char*)&tmpJudulInfo, sizeof(tmpJudulInfo)); char* ptr=(char*)&tmpJudulBerkas.bfType;

36

Page 51: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

if (*ptr != 'B' || *(++ptr) != 'M') { status=2; return; } if (tmpJudulInfo.biClrUsed == 0 && tmpJudulInfo.biBitCount <= 8) warna = (1 << tmpJudulInfo.biBitCount); else warna = tmpJudulInfo.biClrUsed; int byteWarna = sizeof(RGBQUAD)*warna; int bytePiksel = ((tmpJudulInfo.biWidth+3)&~3)*tmpJudulInfo.biHeight; int byteTotal = sizeof(BITMAPINFOHEADER)+byteWarna+bytePiksel; tinggi = tmpJudulInfo.biHeight; lebar = tmpJudulInfo.biWidth; dataDIB = new char[byteTotal]; judulInfo = (BITMAPINFOHEADER*)dataDIB; info = (BITMAPINFO*)dataDIB; quad = (RGBQUAD*) (dataDIB + sizeof(BITMAPINFOHEADER)); piksel = (BYTE*)quad + byteWarna; memcpy(judulInfo, &tmpJudulInfo, sizeof(tmpJudulInfo)); berkasBmp.read((char*)quad, byteWarna); berkasBmp.read((char*)piksel, bytePiksel); }

Pada kode diatas : CDib::CDib() { status=-1; dataDIB=0; } adalah definisi konstruktor yang tidak melibatkan argumen. status=-1 berarti berkas belum pernah dimuat. dataDib=0 dataDib tidak menunjuk kemana mana. Konstruktor : CDib::CDib(char* namaBerkas) { dataDIB=0;

37

Page 52: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

muatBerkas(namaBerkas); } adalah konstruktor yang melibatkan argumen berupa nama berkas. Kode : CDib::~CDib() { delete [] dataDIB; } adalah destruktor kelas Cdib. Adapun penjelasan kode pada fungsi muatBerkas() : • delete [ ] dataDib; digunakan untuk membebaskan

memori yang ditunjuk oleh dataDib sebelum berkas dimuat.

• dataDib=0; digunakan untuk menyatakan dataDib tidak menunjuk kemana mana.

• status=0; operasi pemuatan berkas berhasil dilakukan. • BITMAPFILEHEADER tmpJudulBerkas; variabel yang

berisi data judul berkas bitmap. • BITMAPINFOHEADER tmpJudulInfo; berisi data seperti

tinggi dan lebar berkas. • Ifstream berkasBmp(namaBerkas, ios::binary);

digunakan untuk membuka berkas yang namanya tersimpan pada namaBerkas dengan mode biner.

• If(!berkasBmp.is_open()) { status=1; return; } digunakan untuk memberi pesan bahwa berkas tidak ada, dan keluar dari fungsi muatBerkas();.

• berkasBmp.read((char*)&tmpJudulBerkas, sizeof

(tmpJudulBerkas)); digunakan untuk membaca isi berkas bitmap sebanyak ukuran tmpJudulBerkas dan diletakkan ke tmpJudulBerkas.

• berkasBmp.read((char*)&tmpJudulInfo, sizeof

(tmpJudulInfo)); digunakan untuk membaca isi berkas bitmap sebanyak ukuran tmpJudulInfo dan diletakkan ke tmpJudulInfo.

38

Page 53: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

• char* ptr=(char*) &tmpJudulBerkas.bfType;

digunakan untuk mendeklarasikan pointer ptr yang menunjuk ke tipe char dan ptr dibuat menunjuk anggota data bfType milik tmpJudulBerkas.

• if (*ptr != 'B' || *(++ptr) != 'M') { status=2; return; } digunakan untuk memastikan apakah tanda “BM” ada pada data bfType.

• if (tmpJudulInfo.biClrUsed == 0 && tmpJudulInfo .biBitCount <= 8) warna = (1 <<tmpJudulInfo.biBitCount); else

warna = tmpJudulInfo.biClrUsed; digunakan untuk menentukan jumlah warna yang

digunakan. biClrUsed(jumlah warna yang digunakan bitmap), jika bernilai 0 maka pada data biBitCount rumusnya . biBitCount2

• int byteWarna = sizeof(RGBQUAD)*warna; dipakai untuk menghitung jumlah byte yang digunakan untuk menyimpan informasi warna.

• int bytePiksel = ((tmpJudulInfo. biWidth+3)&~3 )*tmpJudulInfo.biHeight; digunakan untuk menghitung jumlah byte yang digunakan untuk data piksel yang menyusun bitmap.

• int byteTotal = sizeof(BITMAPINFOHEADER) +byteWarna+bytePiksel; digunakan untuk menghitung jumlah total byte yang digunakan oleh bitmap.

• tinggi = tmpJudulInfo.biHeight; digunakan untuk mengisi variabel anggota tinggi dengan data dari anggota data biheight.

• lebar = tmpJudulInfo.biWidth; digunakan untuk variabel anggota lebar dengan data dari anggota data biwidth.

• dataDIB = new char[byteTotal]; digunakan untuk mengalokasikan memori sebesar nilai yang terdapat bytetotal dan kemudian ditunjuk oleh dataDib.

39

Page 54: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

• judulInfo = (BITMAPINFOHEADER*) dataDIB;

digunakan agar variabel anggota judulinfo menunjuk ke lokasi yang ditunjuk oleh dataDib.

• info = (BITMAPINFO*)dataDIB; digunakan agar variabel anggota info menunjuk ke lokasi yang ditunjuk oleh dataDib.

• quad = (RGBQUAD*) (dataDIB + sizeof

(BITMAPINFOHEADER)); digunakan untuk membuat variabel anggota squad menunjuk ke lokasi palet.

• piksel = (BYTE*)quad + byteWarna; digunakan untuk membuat variabel anggota piksel menunjuk ke lokasi piksel.

• memcpy(judulInfo, &tmpJudulInfo, sizeof

(tmpJudulInfo)); digunakan untuk menyalin data pada tmpJudulInfo ke lokasi yang ditunjuk oleh judulInfo.

• berkasBmp.read((char*)quad, byteWarna); berkasBmp.read((char*)piksel, bytePiksel); digunakan untuk membaca data warna dan piksel dan meletakkannya ke lokasi yang ditunjuk oleh quad dan piksel. Dengan demikian data yang ditunjuk oleh dataDib berisi seluruh data yang berasal dari berkas bitmap.

3. Menambahkan Variabel Anggota pada Aplikasi. Caranya adalah membuka file ....Dlg.h dari aplikasi, lalu tepat dibawah : class Dlg : public Cdialog { tambahkan : private: CDib m_Dib; Kemudian tambahkan : #include ”dib.h” dibawah #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000

4. Menambahkan Kode untuk Kejadian BN_CLICKED Milik Tombol.

40

Page 55: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Tambahkan Kode berikut pada fungsi Button : void ...Dlg::OnButton() { m_Dib.muatBerkas(”c:\\windows\\Setup.bmp”); if(m_Dib.status!=0)

{ MessageBox(“Error”);

return; } Invalidate();

} 5. Menambahkan Kode pada kejadian WM_PAINT.

Tambahkan Kode berikut pada fungsi OnPaint() pada file Dlg.cpp : void CStructuralFeatureExtractionDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting

………………………………………………….. dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); if(m_Dib1.status==0) { CClientDC dc(this); StretchDIBits(dc.m_hDC,

40, 350, 125, 75, 0, 0, m_Dib1.perolehLebar(), m_Dib1.perolehTinggi(), m_Dib1.perolehBit(), m_Dib1.perolehInfo(), DIB_RGB_COLORS, SRCCOPY);

} } }

41

Page 56: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Teori Penunjang

Penjelasan Kode :

• CClientDC dc(this); dipakai untuk memperoleh device context dari bagian kotak dialog yang terletak di bawah judul kotak doalog.

• Pernyataan StretchDIBits() dipakai untuk menggambar bitmap. Perlu diketahui :

1. Parameter 1 : peletakan layar. 2. Parameter 2 : posisi X layar. 3. Parameter 3 : posisi Y layar. 4. Parameter 4 : lebar area layar. 5. Parameter 5 : tinggi area layar. 6. Parameter 6 : posisi X bitmap. 7. Parameter 7 : posisi Y bitmap. 8. Parameter 8 : lebar area bitmap. 9. Parameter 9 : tinggi area bitmap. 10. Parameter 10 : point to pixels in bitmap. 11. Parameter 11 : point to infoBitmap in

bitmap. 12. Parameter 12 : menyatakan tabel warna

yang digunakan untuk menampilkan bitmap.

13. Parameter 13 : menyatakan operasi penyalinan dari sumber ke tujuan.

42

Page 57: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

BAB III PERENCANAAN DAN PEMBUATAN

Pada bab ini pembahasan materi difokuskan pada perencanaan dan pembuatan sistem yang merupakan pokok pembahasan dari Tugas Akhir. 3.1 ALGORITMA SISTEM

Pada pembangunan system untuk Content Based Image

Retrieval ini dilakukan ekstraksi fitur terstruktur dengan menggunakan metode Freeman Code dengan proses pencocokan menggunakan metode Euclidean Distance. Proses pertama adalah metode Freeman Code dengan melakukan pencarian titik hitam pertama pada gambar query maupun pada kumpulan gambar, dimana tiap tiap gambar hanya ¼ bagian yang diproses. Setelah itu, akan ditelusuri titik hitam tetangga sampai sejumlah data yang diinginkan. Pada penelusuran titik hitam tetangga ini, proses pemilihan diutamakan pada titik yang mempunyai nilai greyscale paling kecil (paling hitam). Hasil dari proses Freeman Code adalah berupa sekumpulan data arah yang selanjutnya akan dilakukan proses kedua yaitu First Different Code sehingga dari data arah berubah menjadi nilai perputaran arah (bobot arah). Bobot arah inilah yang disebut hasil dari proses ekstraksi fitur terstruktur.

Dari proses ekstraksi fitur bentuk diatas, secara otomatis akan didapatkan data vektor dari tiap gambar. Dan untuk mengecilkan data tersebut dibutuhkan proses yang disebut sebagai proses normalisasi, dimana proses ini akan menghasilkan data dengan range antara 0 (nol) sampai dengan 1 (satu).

Proses-proses diatas dilakukan baik pada gambar query maupun pada gambar yang ada pada sekumpulan gambar. Kemudian dilakukan proses pencocokan (matching) antara gambar query dengan gambar yang ada pada sekumpulan gambar menggunakan metode pencarian nilai jarak yaitu Euclidean Distance. Proses ini bertujuan untuk mencari gambar yang mempunyai content yang sama dengan gambar query. Sebagai hasil dari sistem maka pada dialog aplikasi menampilkan 10 gambar terurut mulai dari yang paling mirip sampai

43

Page 58: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Perencanaan dan Pembuatan

yang tidak mirip tapi juga tergantung pada nilai threshold yang dimasukkan. 3.2 BLOK DIAGRAM

Blok diagram dari system dapat dilihat pada gambar 3.1

Freeman Code

First Different Code

Matching (Euclidean Distance)

Output

Fitur Normalisasi

Freeman Code

First Different Code

Fitur Normalisasi

Gambar query Sekumpulan Gambar

Gambar 3.1 Diagram System 3.3 FREEMAN CODE

Metode sederhana untuk merepresentasikan nilai dari sebuah tepi kontur adalah Freeman code (chain code), sebuah metode penelusuran titik hitam terdekat dengan perkiraan tepi kontur bersambung menjadi sederetan angka, masing-masing angka mewakili sebuah arah kontur. Freeman Code biasanya digunakan dalam 4 titik

44

Page 59: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Perencanaan dan Pembuatan

tetangga(4 arah) atau 8 titik tetangga(8 arah). Ilustrasi dari Freeman code terdapat pada gambar 2.

Gambar 3.2 Ilustrasi Freeman code

Dari konsep diatas, dapat dikatakan bahwa Freeman Code

dapat digunakan pada garis tepi obyek yang berlekuk lekuk dan tertutup (membentuk bangun lingkar). Pada dasarnya, ada 3 parameter untuk melakukan metode Freeman code. Parameter itu adalah : titik hitam pertama (Po), tahap (L) pencarian titik hitam tetangga (menggunakan diagram arah), terakhir adalah mendapatkan Jalur (T4) sebagai fitur berupa sederetan angka(arah Jalur bisa searah jarum jam atau sebaliknya).

Digunakan : {Po,L,T4} dalam menyatakan parameter-parameter dari Freeman coding. Selanjutnya melihat bagaimana masing-masing parameter menentukan hasil proses dari penelusuran tepi kontur. Memilih titik hitam pertama (Po) dengan cara scanning piksel terhadap warna hitam, diharapkan bisa mendapatkan hasil penelusuran tepi kontur yang sama.

L adalah jarak antara titik asal dengan titik tetangga terpilih yang membentuk kontur. Dalam percobaan, nilai L=1 agar representasi bentuk mendapatkan fitur yang akurat.

45

Page 60: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Perencanaan dan Pembuatan

Perbedaan hasil dari penelusuran diagram arah pada sistem

adalah jelas, apabila {0,1,2,3,4,5,6,7} dibandingkan dengan {4,5,6,7,0,1,2,3} bentuk obyek jelas akan berbeda. Misal :

Gambar 3.3 Perbedaan dalam penelusuran diagram arah

Nilai sederetan angka dalam metode Freeman code adalah mewakili arah jalur. Dimana perbedaan nilai dalam Freeman code mencerminkan ciri atau keunikan bentuk obyek pada setiap gambar.

Berikut ini adalah implementasi program dari proses metode Freeman Code :

1. Inisialisasi Area gambar yang akan diproses. Untuk meningkatkan performa sistem, maka tidak semua area gambar akan diproses tetapi hanya ¼ bagian dari gambar. Maka dari itu perlu dilakukan langkah membagi 2 lebar dan tinggi area gambar. Listing Program : //Inisialisasi 1/4 lebar gambar int width=(bm.bmWidth)/2,height=(bm.bmHeight)/2;

2. Pencarian Titik Hitam Pertama

Pada langkah kali ini adalah dilakukan scanning titik hitam pertama sebagai acuan penentuan titik hitam berikutnya. Potongan Listing Program : //Proses Pencarian Titik hitam pertama for(aa=0;aa<width;aa++) { for(bb=0;bb<height;bb++) { w=dcMem.GetPixel(aa,bb); WarnaToRGB(w,&r,&g,&b); s=(r+g+b)/3;

46

Page 61: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Perencanaan dan Pembuatan

if(s<=50) { goto cetak; } } } cetak:

3. Penelusuran Titik Hitam Tetangga

Setelah ditemukan titik hitam pertama, maka langkah selanjutnya adalah menelusuri titik hitam berikutnya sampai sejumlah data arah yang telah ditentukan. Potongan Listing Program : //Titik Hitam Tetangga mat[0][0]=dcMem.GetPixel(i-rd,j+rd); mat[0][1]=dcMem.GetPixel(i,j+rd); mat[0][2]=dcMem.GetPixel(i+rd,j+rd); mat[1][0]=dcMem.GetPixel(i-rd,j); mat[1][1]=dcMem.GetPixel(i,j); mat[1][2]=dcMem.GetPixel(i+rd,j); mat[2][0]=dcMem.GetPixel(i-rd,j-rd); mat[2][1]=dcMem.GetPixel(i,j-rd); mat[2][2]=dcMem.GetPixel(i+rd,j-rd);

4. Penyimpanan Data Arah

Langkah terakhir dari metode ini adalah mendapatkan sekumpulan data arah dari kontur (chain code). Potongan Listing Program : //Simpan Hasil chaincode data[inc]=arah;

3.4 FIRST DIFFERENT CODE Setelah mendapatkan kumpulan data arah dari metode FREEMAN CODE, selanjutnya perlu dilakukan pembobotan nilai arah atau dinamakan First Different Code. Proses ini mengacu pada diagram arah dengan berputar berlawanan arah jarum jam.

47

Page 62: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Perencanaan dan Pembuatan

Gambar 3.4 Kalkulasi First Different Code

Misal : chaincode : {1 0 1 0 3 3 2 2} firstdifferent : {3 3 1 3 3 0 3 0} Penjelasan : 2 berputar ke 1 = 3 1 berputar ke 0 = 3 0 berputar ke 1 = 1 1 berputar ke 0 = 3 0 berputar ke 3 = 3 3 berputar ke 3 = 0 3 berputar ke 2 = 3 2 berputar ke 2 = 0 Potongan Listing Program :

if(data[itr]==dir[0] && data[itr+1]==dir[0]) {fdcode[itr]=0;} else if(data[itr]==dir[0] && data[itr+1]==dir[1]) {fdcode[itr]=7;} - - - - - - - - - - - - - - else if(data[itr]==dir[7] && data[itr+1]==dir[6]) {fdcode[itr]=1;} else if(data[itr]==dir[7] && data[itr+1]==dir[7]) {fdcode[itr]=0;}

3.5 NORMALISASI DATA

Dari proses ekstraksi fitur diatas, secara otomatis akan didapatkan data yang besar. Dan untuk mengecilkan data tersebut dibutuhkan proses yang disebut sebagai proses NormalisasiData. Dimana proses normalisasi ini akan menghasilkan data dengan range antara 0(nol) sampai dengan 1(satu), misal:

48

Page 63: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Perencanaan dan Pembuatan

A={1,3,5}

Maka |A|= 222 531 ++ |A|= 5,9 A ={1/5,9; 3/5,9; 5/5,9}

Potongan Listing Program : //Normalisasi Fitur double normal[20], dive=0, vect=0, mean=0; for(int k=0;k<20;k++){ dive=dive+pow(fitur[k],2); } vect=sqrt(dive); //Menghindari hasil tak hingga if(vect==0.00000){ vect=0.00001; } for(int c=0;c<20;c++){ normal[c]=fitur[c]/vect; }

3.6 EUCLIDEAN DISTANCE (Matching) Jarak Euclidean dapat dianggap sebagai jarak yang paling

pendek antar dua poin poin, maka dari itu dalam proyek akhir ini digunakan fungsi jarak Euclidean dan pada dasarnya sama halnya dengan persamaan Pythagoras ketika digunakan di dalam dua dimensi. Secara matematis dapat dituliskan di dalam persamaan berikut :

d(i,j)= 2222

211 ||.....|||| jpipjiji xxxxxx −++−+−

Ket : d(i,j) = nilai jarak xi = nilai nilai pada fitur 1 xj = nilai nilai pada fitur 2

49

Page 64: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Perencanaan dan Pembuatan

Potongan Listing Program :

//Euclidean Distance double euc[632]; for(int fh=0;fh<632;fh++){ euc[fh]=sqrt(

pow(fabs(fit0[file-1]-fit0[fh]),2) +pow(fabs(fit1[file-1]-fit1[fh]),2)+

pow(fabs(fit2[file-1]-fit2[fh]),2) +pow(fabs(fit3[file-1]-fit3[fh]),2)+

pow(fabs(fit4[file-1]-fit4[fh]),2) +pow(fabs(fit5[file-1]-fit5[fh]),2)+

pow(fabs(fit6[file-1]-fit6[fh]),2) +pow(fabs(fit7[file-1]-fit7[fh]),2)+

pow(fabs(fit8[file-1]-fit8[fh]),2) +pow(fabs(fit9[file-1]-fit9[fh]),2)+

pow(fabs(fit10[file-1]-fit10[fh]),2) +pow(fabs(fit11[file-1]-fit11[fh]),2)+

pow(fabs(fit12[file-1]-fit12[fh]),2) +pow(fabs(fit13[file-1]-fit13[fh]),2)+

pow(fabs(fit14[file-1]-fit14[fh]),2) +pow(fabs(fit15[file-1]-fit15[fh]),2)+

pow(fabs(fit16[file-1]-fit16[fh]),2) +pow(fabs(fit17[file-1]-fit17[fh]),2)+

pow(fabs(fit18[file-1]-fit18[fh]),2) +pow(fabs(fit19[file-1]-fit19[fh]),2) ); }

Setelah kita mengkalkulasi perhitungan-perhitungan diatas,

dalam proyek akhir ini diperlukan suatu inputan yang disebut dengan nilai ‘Threshold’, dimana nilai threshold ini yang bisa di inputkan mulai dari 0% sampai dengan 100%, tetapi untuk mendapatkan hasil yang diinginkan maksimal, hanya berkisar 75% hingga 100% terhadap nilai kemiripan.

50

Page 65: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Perencanaan dan Pembuatan

Diagram alir proses matching dapat dilihat pada gambar 3.8

Gambar 3.5 Diagram alir matching Nilai tershold dapat ditentukan antara 70% s/d 95%. 3.7 GAMBAR QUERY

Dibawah ini gambar 3.10 adalah contoh-contoh gambar yang dijadikan query dan merupakan sampling dari semua gambar yang ada sekumpulan gambar, yaitu:

n

diterima

y

ditolakIf(dist>threshold)

Input nilai threshold

dist

Gambar 3.6 Contoh Image Query

51

Page 66: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Perencanaan dan Pembuatan

3.8 GRAPHIC USER INTERFACE

Dibawah ini gambar 3.11 merupakan tampilan jendela kerja CBIR yang perlu anda ketahui :

Gambar 3.7 Jendela Kerja CBIR

Tabel 3.1 Keterangan GUI

Tombol Keterangan

Tombal Minimize (Minimize Button), untuk memperkecil jendela hingga membentuk icon aktif pada Taskbar.

Tombol Maximize (Maximize Button), untuk memperbesar ukuran jendela hingga menjadi satu layar penuh. (disabled)

Tombal Close (Close Button), untuk menutup jendela dan mengakhiri program aplikasi.

InputBox threshold, pada kotak kecil tersebut harus diberi input dengan angka kisaran 75 sampai 95 (untuk mendapatkan hasil yang diharapkan)

52

Page 67: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Perencanaan dan Pembuatan

Tombol Image Query, untuk mengambil salah satu ImageQuery dari ImageDatabase.

Tombol Search Process, digunakan untuk melakukan proses pencarian gambar berdasarkan ImageQuery yang sudah dipilih.

Tombol Exit, digunakan untuk keluar dari program aplikasi Content Based Image Retrieval.

Item disamping memberikan informasi mengenai gambar ke berapa yang sudah dipilih untuk menjadi ImageQuery.

Item disamping memberikan informasi mengenai gambar hasil (lulus uji Threshold dengan urutan ke-8) sekaligus nilai jarak dengan ImageQuery.

Item disamping memberikan informasi mengenai gambar hasil (tidak lulus uji Threshold dengan urutan ke-9) sekaligus nilai jarak dengan ImageQuery.

53

Page 68: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

BAB IV PENGUJIAN DAN ANALISA

Tujuan dari Content Based Image Retrieval System ini adalah untuk mendapatkan kembali gambar yang mempunyai karakteristik yang mirip dengan gambar query. Misalnya gambar query yang berupa gambar ikan pari, maka hasil dari proses tersebut diharapkan semua gambar ikan pari akan tampil. Hal ini bukan berarti gambar yang sama dengan gambar query yang akan tampil, melainkan semua gambar yang mempunyai content atau karakteristik yang sama dengan gambar query yang akan tampil. Sistem CBIR ini dibangun pada spesifikasi PC Pentium IV 1.7 GHz dengan memori 256MB, dan jumlah gambar yang tersedia sebanyak 632 buah. 4.1 HASIL PENGUJIAN PADA GAMBAR PRIMITIF

Berikut ini merupakan hasil pengujian dari gambar primitive dengan nilai thresholding 35%, 55%, 75%, 95% antara lain :

4.1.1 Pengujian pada gambar bujur sangkar Hasil pengujian yang disajikan pada thresholding dengan

menggunakan query gambar 4.1. dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar.

Gambar 4.1 Gambar query bujur sangkar

54

Page 69: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.2. hasil pada thresholding 35% gambar bujur sangkar

Gambar 4.3. pada thresholding 55% keatas gambar bujur sangkar

Dari hasil diatas dapat disimpulkan bahwa antara gambar bujursangkar dan persegi panjang merupakan memiliki pola yang sama, hanya saja dari keduanya memiliki perbedaan panjang. 4.1.2 Pengujian pada gambar persegi panjang Hasil pengujian yang disajikan pada thresholding dengan

menggunakan query gambar 4.5. dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar

Gambar 4.4 Gambar query persegi panjang

Gambar 4.5. hasil pada thresholding 35% gambar persegi panjang

55

Page 70: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.6. hasil pada thresholding 55% keatas gambar persegi

panjang

Dari hasil yang telah dihasilkan berdasarkan gambar query persegi panjang bahwa antara gambar persegi panjang dan bujursangkar memiliki pola yang sama hanya memiliki perbedaan ukuran pada sisi panjangnya saja. 4.1.3 Pengujian pada gambar segitiga Hasil pengujian yang disajikan pada thresholding dengan

menggunakan query gambar 4.9. dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar

Gambar 4.7 Gambar query segitiga

Gambar 4.8. hasil pada thresholding 75% keatas gambar segitiga

56

Page 71: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Dari hasil yang didapat, kita dapat melihat antara persegipanjang, bujursangkar, dan lingkaran jelas tidak memiliki pola yang sama dengan bangun segitiga. 4.1.4 Pengujian pada gambar lingkaran Hasil pengujian yang disajikan pada thresholding dengan

menggunakan query gambar 4.11. dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar

Gambar 4.9 Gambar query lingkaran

Gambar 4.10. hasil pada thresholding 75% keatas gambar lingkaran

Dari sini kita dapat simpulkan bahwasanya antara gambar segitiga, persegi panjang dan bujursangkar tidaklah memiliki pola yang sama. 4.2 HASIL DAN ANALISA PADA PENGUJIAN SISTEM DENGAN PROSES PADA 1/4 BAGIAN GAMBAR

Pengujian dilakukan pada empat query., yang masing-masing query akan diuji pada beberapa thresholding yaitu thresholding 35%, 55%, 75%, 95%. Kemudian dari hasil yang didapat tersebut dihitung

57

Page 72: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

prosentase ketelitiannya pada tiap-tiap thresholding dan dicari rata-rata thresholding yang mempunyai prosentase ketelitian terbesar.

4.2.1 Pengujian Pada Gambar Query Ikan Glodok 4.2.1.1 Hasil Data Yang Didapat Pada Pengujian Query Ikan

Glodok Hasil pengujian yang disajikan pada thresholding

dengan menggunakan query gambar 4.11 dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar.

Gambar 4.11 Gambar query ikan glodok

Gambar 4.12. hasil pada thresholding 35% dari gambar query

Gambar 4.13. hasil pada thresholding 55% dari gambar query

58

Page 73: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.14. hasil pada thresholding 75% dari gambar query

Gambar 4.15. hasil pada thresholding 95% dari gambar query

4.2.1.2 Analisa Pada Hasil Pengujian Dengan Query Ikan Glodok Dari hasil pengujian pada masing-masing thresholding diatas, dihitung prosentase ketelitiannya dengan cara menghitung jumlah gambar yang benar/mirip kemudian dibandingkan dengan jumlah gambar yang seharusnya ada dalam sekumpulan gambar dikalikan seratus persen. Tabel 4.1 dan gambar 4.16 yang merupakan tabel dan grafik dari prosentase ketelitian dari gambar query ikan glodok berdasarkan thresholdingnya.

Tabel 4.1 prosentase ketelitian dengan gambar ikan glodok Query Dengan threshold prosentase ketelitiannya(K) adalah

T=35% T=55% T=75% T=95%

K=33.3%

K=22,2%

K=5,5%

K=5,5%

59

Page 74: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Jml gmb yg mpy content sama

6

4

1

1

Jml gmb yg salah

4

4

0

0

Jml gb ikan

glodok yg ada pada sekumpulan gambar

18

Gambar 4.16. Grafik tingkat ketelitian dengan gambar ikan glodok Berdasarkan grafik dan tabel diatas terjadi penurunan tingkat ketelitian yang begitu drastis yaitu antara thresholding 55% dan 75%. Hal ini dikarenakan kecenderungan dari pola obyek suatu gambar yang begitu kompleks, dan tingkat ketelitian mulai stabil pada tingkat thresholding 75% dan 95%. 4.2.2 Pengujian Pada Gambar Query Ikan Nila 4.2.2.1 Hasil Data Yang Didapat Pada Pengujian Query Ikan

Nila

60

Page 75: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Hasil pengujian yang disajikan pada thresholding

dengan menggunakan query gambar 4.17 dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar.

Gambar 4.17 Gambar query ikan Nila

Gambar 4.18. hasil pada thresholding 35% dari gambar query

Gambar 4.19. hasil pada thresholding 55% dari gambar query

61

Page 76: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.20. hasil pada thresholding 75% dari gambar query

Gambar 4.21. hasil pada thresholding 95% dari gambar query

4.2.2.2 Analisa Pada Hasil Pengujian Dengan Query Ikan Nila Dari hasil pengujian gambar query ikan nila pada masing-masing thresholding diatas, dihitung prosentase ketelitiannya dengan cara menghitung jumlah gambar yang benar/mirip kemudian dibandingkan dengan jumlah gambar yang seharusnya ada dalam sekumpulan gambar dikalikan seratus persen. Tabel 4.2 dan gambar 4.22 yang merupakan tabel dan grafik dari prosentase ketelitian dari gambar query ikan nila berdasarkan thresholdingnya

Tabel 4.2 prosentase ketelitian dengan gambar ikan nila Query Dengan threshold prosentase ketelitiannya(K) adalah

T=35% T=55% T=75% T=95%

K=50%

K=33,3%

K=8,3%

K=8,3%

62

Page 77: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Jml gmb yg mpy content sama

6

4

1

1

Jml gmb yg salah

4

0

0

0

Jml gb ikan nila yg ada pada

sekumpulan gambar

12

Gambar4.22. Grafik tingkat ketelitian dengan gambar ikan nila

Berdasarkan data tabel dan grafik diatas, terjadi penurunan tingkat ketelitian hampir dua kali lipat yaitu pada thresholding 35% dan 55%. Karena gambar ikan nila itu sendiri memiliki pola yang begitu banyak artinya memiliki kontur yang beragam dan kemungkinan juga dipengaruhi oleh noise. 4.2.3 Pengujian Pada Gambar Query Ikan Manggasius 4.2.3.1 Hasil Data Yang Didapat Pada Pengujian Query Ikan

Manggasius

63

Page 78: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Hasil pengujian yang disajikan pada thresholding dengan

menggunakan query gambar 4.23 dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar.

Gambar 4.23 Gambar query ikan manggasius

Gambar 4.24. hasil pada thresholding 35% dari gambar query

Gambar 4.25. hasil pada thresholding 55% dari gambar query

Gambar 4.26. hasil pada thresholding 75% dari gambar query

64

Page 79: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.27. hasil pada thresholding 95% dari gambar query

4.2.3.2 Analisa Hasil Pengujian Dengan Query Ikan Manggasius Dari hasil pengujian pada masing-masing thresholding diatas, dihitung prosentase ketelitiannya dengan cara menghitung jumlah gambar yang benar/mirip kemudian dibandingkan dengan jumlah gambar yang seharusnya ada dalam sekumpulan gambar dikalikan seratus persen. Berikut ini tabel 4.3 dan gambar 4.28 yang merupakan tabel dan grafik dari prosentase ketelitian dari gambar query ikan manggasius berdasarkan thresholdingnya.

Tabel 4.3 prosentase ketelitian dengan gambar ikan manggasius Query Dengan threshold prosentase ketelitiannya(K) adalah

T=35% T=55% T=75% T=95%

K=25%

K=25%

K=18,7%

K=18,7%

Jml gmb yg mpy content sama

4

4

3

3

Jml gmb yg salah

6

6

2

2

Jml gb ikan nila yg ada pd sekumpulan gambar

16

65

Page 80: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.28. Grafik tingkat ketelitian dengan gambar query ikan manggasius

Dari sini disimpulkan bahwa pola yang dimiliki oleh gambar ikan manggasius dan ikan glodok cenderung hampir sama yaitu berekor cabang memanjang, sehingga pada penyeleksian queri gambar ikan manggasius, maka gambar ikan glodok juga dapat terseleksi. Untuk gambar hasil 1-5 mempunyai jarak 0 dengan gambar query, ini disebabkan oleh terjadinya error dalam penelusuran chaincode (proses Freeman code). Bentuk error bisa berupa kontur obyek terputus atau terdapat banyak noise pada gambar. 4.2.4 Pengujian Pada Gambar Query Ikan Mujaer 4.2.4.1 Hasil Data Yang Didapat Pada Pengujian Query Ikan

Mujaer Hasil pengujian yang disajikan pada thresholding dengan

menggunakan query gambar 4.29 dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar.

Gambar 4.29 Gambar query Ikan Mujaer

66

Page 81: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar4.30. hasil pada thresholding 35% dari gambar query

Gambar4.31. hasil pada thresholding 55% dari gambar query

Gambar4.32. hasil pada thresholding 75% dari gambar query

Gambar4.33. hasil pada thresholding 95% dari gambar query

67

Page 82: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

4.2.4.2 Analisa Pada Hasil Pengujian Dengan Query Ikan Mujaer Dari hasil pengujian pada masing-masing thresholding diatas, dihitung prosentase ketelitiannya dengan cara menghitung jumlah gambar yang benar/mirip kemudian dibandingkan dengan jumlah gambar yang seharusnya ada dalam sekumpulan gambar dikalikan seratus persen. Berikut ini tabel 4.4 dan gambar 4.34 yang merupakan tabel dan grafik dari prosentase ketelitian dari gambar query berdasarkan thresholdingnya.

Tabel 4.4 prosentase ketelitian dengan gambar ikan mujaer Query Dengan threshold prosentase ketelitiannya(K) adalah

T=35% T=55% T=75% T=95%

K=53,3%

K=26,6%

K=6,6%

K=6,6%

Jml gmb yg mpy content sama

8

4

1

1

Jml gmb yg salah

6

6

2

2

Jml gb ikan

mujaer yg ada pd

sekumpulan gambar

15

68

Page 83: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar4.34. Grafik tingkat ketelitian dengan gambar query ikan mujaer

Dari hasil yang didapat dengan gambar query ikan mujaer,

terdapat output gambar ikan hiu. Ini dikarenakan pola kontur ikan hiu yang mulutnya mirip dengan ekor ikan mujaer. Hal yang sama ada pada ikan mas yang mempunyai ekor mirip dengan ekor ikan mujaer.

Tabel 4.5 Rata-rata prosentase ketelitian gambar berdasarkan tingkat thresholding

Tingkat Thresholding

35% 55% 75% 95%

Rata–rata Ketelitian

40,4% 26.7% 9,7% 9,7%

Gambar 4.35. Rata-rata posentase ketelitian gambar berdasarkan tingkat thresholding

69

Page 84: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Dari beberapa pengujian tersebut, juga dapat diketahui bahwa semakin besar tingkat nilai thresholding maka semakin sedikit gambar yang dihasilkan, sehingga menyebabkan gambar yang sesuai dengan gambar query semakin sedikit pula. Hal ini dapat dilihat pada thresholding kira-kira 95% keatas, rata-rata gambar yang sesuai dengan gambar query jumlahnya satu yaitu query itu sendiri. Sehingga nilai prosentase ketelitiannya pun kecil. Bila yang dihasilkan hanya gambar query itu sendiri, sebenarnya gambar yang dihasilkan tersebut itu salah, karena tujuan dari CBIR adalah untuk mendapatkan gambar yang mempunyai content sama, bukan gambar query itu sendiri. Begitu juga sebaliknya, semakin kecil tingkat thresholding maka semakin banyak gambar yang dihasilkan. Hal ini dapat menyebabkan jumlah gambar yang sesuai juga semakin banyak.

70

Page 85: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

4.3 HASIL DAN ANALISA PADA PENGUJIAN SISTEM DENGAN PROSES PADA SELURUH BAGIAN GAMBAR

Pengujian dilakukan pada empat query, yang masing-masing query akan diuji pada beberapa thresholding yaitu thresholding 35%, 55%, 75%, 95%. Kemudian dari hasil yang didapat tersebut dihitung prosentase ketelitiannya pada tiap-tiap thresholding dan dicari rata-rata thresholding yang mempunyai prosentase ketelitian terbesar.

4.3.1 Pengujian Pada Gambar Query Ikan Glodok 4.3.1.1 Hasil Data Didapat Pada Pengujian Query Ikan Glodok

Hasil pengujian yang disajikan pada thresholding dengan menggunakan query gambar dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar.

Gambar 4.36 query ikan glodok

Gambar 4.37 hasil pada thresholding 35% dari gambar query

71

Page 86: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.38 hasil pada thresholding 55% dari gambar query

Gambar 4.39 hasil pada thresholding 75% dari gambar query

Gambar 4.40 hasil pada thresholding 95% dari gambar query

4.3.1.2 Analisa Pada Hasil Pengujian Dengan Query Ikan Glodok Dari hasil pengujian pada masing-masing thresholding diatas, dihitung prosentase ketelitiannya dengan cara menghitung jumlah gambar yang benar/mirip kemudian dibandingkan dengan jumlah gambar yang seharusnya ada dalam sekumpulan gambar dikalikan seratus persen. Tabel dari prosentase ketelitian dari gambar query ikan glodok berdasarkan thresholdingnya.

72

Page 87: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Tabel 4.6 prosentase ketelitian dengan gambar ikan glodok

Query Dengan threshold prosentase ketelitiannya(K) adalah T=35% T=55% T=75% T=95%

K=27.7%

K=22,2%

K=5,5%

K=5,5%

Jml gmb yg mpy content sama

5

4

1

1

Jml gmb yg salah

5

0

0

0

Jml gb ikan

glodok yg ada pada sekumpulan gambar

18

Gambar 4.41 Grafik tingkat ketelitian dengan gambar ikan glodok Berdasarkan Tabel dan Grafik diatas terjadi penurunan tingkat ketelitian yang begitu drastis yaitu antara thresholding 55% dan 75%. Hal ini dikarenakan kecenderungan dari pola obyek suatu gambar yang begitu kompleks, dan tingkat ketelitian mulai stabil pada tingkat thresholding 75% dan 95%.

73

Page 88: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

4.3.2 Pengujian Pada Gambar Query Ikan Nila 4.3.2.1 Hasil Data Yang Didapat Pada Pengujian Query Ikan Nila

Hasil pengujian yang disajikan pada thresholding dengan menggunakan query gambar dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar.

Gambar 4.42 query ikan Nila

Gambar 4.43 hasil pada thresholding 35% dari gambar query

Gambar 4.44 hasil pada thresholding 55% dari gambar query

74

Page 89: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.45 hasil pada thresholding 75% dari gambar query

Gambar 4.46 hasil pada thresholding 95% dari gambar query

4.3.2.2 Analisa Pada Hasil Pengujian Dengan Query Ikan Nila Dari hasil pengujian gambar query ikan nila pada masing-masing thresholding diatas, dihitung prosentase ketelitiannya dengan cara menghitung jumlah gambar yang benar/mirip kemudian dibandingkan dengan jumlah gambar yang seharusnya ada dalam sekumpulan gambar dikalikan seratus persen. Tabel dari prosentase ketelitian dari gambar query ikan nila berdasarkan thresholdingnya

Tabel 4.7 prosentase ketelitian dengan gambar ikan nila Query Dengan threshold prosentase ketelitiannya(K) adalah

T=35% T=55% T=75% T=95%

K=16,6%

K=8,3%

K=8,3%

K=8,3%

75

Page 90: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Jml gmb yg mpy content sama

2

1

1

1

Jml gmb yg salah

4

0

0

0

Jml gb ikan nila yg ada pada

sekumpulan gambar

12

Gambar 4.47 Grafik tingkat ketelitian dengan gambar ikan nila

Berdasarkan tabel dan grafik diatas, terjadi penurunan tingkat ketelitian dua kali lipat yaitu pada thresholding 35% dan 55%. Karena gambar ikan nila itu sendiri memiliki pola yang begitu banyak artinya memiliki kontur yang beragam dan kemungkinan juga dipengaruhi oleh noise. Sehingga menyebabkan tingkat ketelitian yang diperoleh dari percobaan juga masih sangat kecil. 4.3.3 Pengujian Pada Gambar Query Ikan Manggasius

76

Page 91: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

4.3.3.1 Hasil Data Yang Didapat Pada Pengujian Query Ikan

Manggasius

Hasil pengujian yang disajikan pada thresholding dengan menggunakan query gambar dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar.

Gambar 4.48 query ikan manggasius

Gambar 4.49 hasil pada thresholding 35% dari gambar query

Gambar 4.50 hasil pada thresholding 55% dari gambar query

77

Page 92: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.51 hasil pada thresholding 75% dari gambar query

Gambar 4.52 hasil pada thresholding 95% dari gambar query

4.3.3.2 Analisa Hasil Pengujian Dengan Query Ikan Manggasius Dari hasil pengujian pada masing-masing thresholding diatas, dihitung prosentase ketelitiannya dengan cara menghitung jumlah gambar yang benar/mirip kemudian dibandingkan dengan jumlah gambar yang seharusnya ada dalam sekumpulan gambar dikalikan seratus persen. Tabel dari prosentase ketelitian dari gambar query ikan manggasius berdasarkan thresholdingnya.

Tabel 4.8 prosentase ketelitian dengan gambar ikan manggasius Query Dengan threshold prosentase ketelitiannya(K) adalah

T=35% T=55% T=75% T=95%

K=37,5%

K=37,5%

K=18,7%

K=18,7%

Jml gmb yg mpy content sama

6

6

3

3

Jml gmb yg salah

4

4

2

2

Jml gb ikan nila yg ada pd sekumpulan gambar

16

78

Page 93: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.53 Grafik tingkat ketelitian dengan gambar query ikan manggasius

Dari percobaan diatas diketahui bahwa pola yang dimiliki oleh gambar ikan manggasius dan ikan glodok cenderung hampir sama yaitu berekor cabang memanjang, sehingga pada penyeleksian queri gambar ikan manggasius, maka gambar ikan glodok juga dapat terseleksi. Untuk gambar hasil 1-5 mempunyai jarak 0 dengan gambar query, ini disebabkan oleh terjadinya error dalam penelusuran chaincode (proses Freeman code). Bentuk error bisa berupa kontur obyek terputus atau terdapat banyak noise pada gambar. 4.3.4 Pengujian Pada Gambar Query Ikan Mujaer 4.3.4.1 Hasil Data Didapat Pada Pengujian Query Ikan Mujaer

Hasil pengujian yang disajikan pada thresholding dengan menggunakan query gambar dibawah ini, serta nilai dibawah gambar menunjukkan nilai jarak pada masing- masing gambar.

Gambar 4.54 query Ikan Mujaer

79

Page 94: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.55 hasil pada thresholding 35% dari gambar query

Gambar 4.56 hasil pada thresholding 55% dari gambar query

Gambar 4.57 hasil pada thresholding 75% dari gambar query

Gambar 4.58 hasil pada thresholding 95% dari gambar query

80

Page 95: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

4.3.4.2 Analisa Pada Hasil Pengujian Dengan Query Ikan Mujaer Dari hasil pengujian pada masing-masing thresholding diatas, dihitung prosentase ketelitiannya dengan cara menghitung jumlah gambar yang benar/mirip kemudian dibandingkan dengan jumlah gambar yang seharusnya ada dalam sekumpulan gambar dikalikan seratus persen. Tabel dari prosentase ketelitian dari gambar query berdasarkan thresholdingnya.

Tabel 4.9 prosentase ketelitian dengan gambar ikan mujaer Query Dengan threshold prosentase ketelitiannya(K) adalah

T=35% T=55% T=75% T=95%

K=40%

K=20%

K=6,6%

K=6,6%

Jml gmb yg mpy content sama

6

3

1

1

Jml gmb yg salah

4

0

0

0

Jml gb ikan

mujaer yg ada pd

sekumpulan gambar

15

81

Page 96: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Gambar 4.59 Grafik tingkat ketelitian dengan gambar query ikan

mujaer

Dari hasil yang didapat dengan gambar query ikan mujaer, terdapat output gambar ikan hiu. Ini dikarenakan pola kontur ikan hiu yang mulutnya mirip dengan ekor ikan mujaer. Hal yang sama ada pada ikan mas yang mempunyai ekor mirip dengan ekor ikan mujaer.

Tabel 4.10 Rata-rata prosentase ketelitian gambar berdasarkan tingkat thresholding pada proses keseluruhan luas gambar

Tingkat Thresholding

35% 55% 75% 95%

Rata–rata Ketelitian

30,45% 22% 9,7% 9,7%

Gambar 4.60 Rata-rata posentase ketelitian gambar berdasarkan tingkat thresholding pada proses keseluruhan luas gambar

82

Page 97: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

Pengujian dan Analisa

Tabel 4.11 Rata-rata prosentase ketelitian gambar berdasarkan tingkat

thresholding pada proses ¼ luas gambar

Tingkat Thresholding

35% 55% 75% 95%

Rata–rata Ketelitian

40,4% 26.7% 9,7% 9,7%

Gambar 4.61 Rata-rata posentase ketelitian gambar berdasarkan tingkat thresholding pada proses ¼ luas gambar

Dari kedua tabel diatas, terdapat selisih nilai persentase kemiripan, dimana proses CBIR pada ¼ luas gambar menghasilkan nilai prosentase ketelitian lebih tinggi daripada proses keseluruhan luas gambar. Ini menunjukkan bahwa tidak memproses keseluruhan luas gambar mempunyai beberapa keuntungan yaitu adanya starting point yang jelas dan dapat meningkatkan performa kerja sistem.

83

Page 98: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

BAB V KESIMPULAN DAN SARAN

5.1 KESIMPULAN Berdasarkan hasil pengujian yang dilakukan pada proyek akhir ini, maka disimpulkan bahwa: 1. Pada pengujian yang dilakukan, nilai rata-rata prosentase ketelitian

terbesar berada pada tingkat thresholding 35%. 2. Retrieval berdasarkan shape feature atau fitur bentuk hanya dapat

mengenali gambar yang mempunyai kemiripan pola bentuknya saja. Hal ini dapat dilihat pada query ikan mujaer, dimana memiliki pola yang hampir sama dengan ikan hiu tepatnya posisi antara bagian ekor mujaer dan bagian mulut ikan hiu.

3. Langkah langkah yang telah ditambahkan untuk meningkatkan performa sistem CBIR ini yaitu dengan memproses ¼ bagian dari gambar, selalu mengambil titik paling hitam dalam penelusuran chaincode dan mengambil 20 data penelusuran kontur (panjang chaincode).

5.2 SARAN • Hasil yang dicapai dari proyek akhir ini jauh dari sempurna, karena

hanya menggunakan fitur bentuk berupa kode rantai (chaincode) yang dihasilkan oleh metode Freeman Code dan First Different Code. Sehingga nilai prosentase ketelitian dari data yang dihasilkan kecil. Oleh karena itu untuk meningkatkan hasil yang dicapai, maka diperlukan tambahan metode lain yang membuat hasil lebih akurat seperti teknik Shape Feature Generations (untuk menghilangkan noise dan melakukan transformasi bentuk obyek pada gambar).

• Gambar yang dipakai pada proyek akhir ini menggunakan gambar sketsa obyek, maka untuk selanjutnya dapat dilakukan penelitian pada gambar obyek nyata sehingga perlu dilakukan langkah preprocessing pada gambar.

84

Page 99: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

DAFTAR PUSTAKA

[1]. Bach, J.R., Fuller, C., Gupta, A., Hampapur, A., Horowitz, B.,

Humphrey, R., Jain, R., and Shu, C.F.“The Virage Image Search Engine: An Open Framework for Image Management”, In Proc. Storage and Retrieval for Still Image and Video Databases IV, SPIE, San Diego, CA, 1996, Vol. 2670, 76-87.

[2]. Flickner, M., et al. “Query by Image and Video Content: The QBIC System.” Computer, September1995.

[3]. Howarth Peter, Yavlinsky Alexei, Heesch Daniel, Rüger Stefan “Visual Features for Content-based Medical Image Retrieval”, Imperial college London, 2004 http://km.doc.ic.ac.uk

[4]. Jähne, B. “Digital Image Processing - Concepts, Algorithms, and Scientific Applications”. 4th Edition, Springer, 1997.

[5]. Khoshafian, S., and Baker, A.B. “Multimedia and imaging databases”, Morgan Kaufmann, San Francisco, California, 1996.

[6]. Li Dalong, Simske Steven “Shape retrieval with flat contour segments”, Intelligent Enterprise Technologies Lab HP Laboratories Palo Alto, 2002

[7]. Nastar, C., Mitschke, M., Meilhac, C., and Boujemaa, N. “Surfimage: a Flexible Content-Based ImageRetrieval System”. The 6th ACM Int'l Multimedia Conf. (MM'98), Bristol, England, September 1998, 339-344.

[8]. Pentland, A., Picard, R.W., and Sclaroff, S. “Photobook: Tools for Content-Based Manipulation of Image Databases”, Proc. Storage and Retrieval for Image and Video Databases, SPIE, Bellingham,Washington, 1994, Vol. 2, 34-47.

[9]. Rui, Y., Huang, T.S., Mehrotra, S., and Ortega, M. “A Relevance Feedback Architecture in Content-Based Multimedia Information Retrieval Systems”, Proc. IEEE Workshop Content-Based Access of Image and Video Libraries, IEEE, 1997.

[10]. Kadir, Abdul. “Panduan Pemrograman Visual C++”, ANDI Yogyakarta, 2004.

[11]. Smith, J.R., and Chang, S.F. “VisualSEEK: a fully automated content-based image query system”,ACM Multimedia'96, November 1996.

[12]. Sigit, Riyanto. “Modul Praktikum Image Processing VC++ dengan MFC”, PENS-ITS Surabaya.

Page 100: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

CURRICULUM VITAE

Name :BAYU BAGUS

Address :Jl Supriadi 01

Ngoro Jombang

Gender :Male

Telephone :(0321) 711383

Nationality :Indonesian

Birth :Jombang, August 16th 1985

Email :[email protected]

Education

No Dates School / Course Status

1 2002 -

2004

SMU Negeri 2

Jombang formal

2 2004 -

2007

EEPIS – ITS

Surabaya (D III

Information

Technology)

formal

3 2002 -

2003

LEC (living English

Course) Jombang informal

Qualifications

Page 101: Image Database Menggunakan Sistem Content Based Image Retrieval Dengan Ekstraksi Fitur Terstruktur

1 2003 Java Bali Agritech English

Debate

2 2006

Web Designer Workshop

(using Ulead Photo Impact

10)

3 2007 English Presentation

Competition and Fun 2 Working Experience

No Dates Description Position

1 2005 -

2007

Training center

of EEPIS - ITS

Technician

2 2005 ITC 2005 of

EEPIS - ITS

Technical

Support

3 2006

Monitoring

Application

System in PT

PJB Surabaya

Software

Developer