You are on page 1of 105

PROYEK AKHIR

WEB IMAGE RETRIEVAL UNTUK IDENTIFIKASI BUNGA DENGAN PENGELOMPOKAN CONTENT MENGGUNAKAN CIRI WARNA DAN BENTUK

ANDRIANTO SUSILO NRP. 7403 04 0 009

Dosen Pembimbing : Nana Ramadijanti, S.Kom, M.Kom NIP. 132 206 161 Tri Harsono, S.Si, M.Kom NIP. 132 093 224

JURUSAN TEKNOLOGI INFORMASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA 2007

PROYEK AKHIR

WEB IMAGE RETRIEVAL UNTUK IDENTIFIKASI BUNGA DENGAN PENGELOMPOKAN CONTENT MENGGUNAKAN CIRI WARNA DAN BENTUK

ANDRIANTO SUSILO NRP. 7403 040 009

Dosen Pembimbing : Nana Ramadijanti, S.Kom, M.Kom NIP. 132 206 161 Tri Harsono, S.Si, M.Kom NIP. 132 093 224

JURUSAN TEKNOLOGI INFORMASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA 2007

WEB IMAGE RETRIEVAL UNTUK IDENTIFIKASI BUNGA DENGAN PENGELOMPOKAN CONTENT MENGGUNAKAN CIRI WARNA DAN BENTUK Oleh: ANDRIANTO SUSILO NRP. 7403.040.009 Proyek Akhir ini Digunakan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Saint Terapan (SST) di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui oleh Tim Penguji Proyek Akhir Dosen Pembimbing 1.

Arif Basofi, S.Kom NIP. 132 303 872 2.

Nana Ramadijanti, S.Kom M.Kom NIP. 132 206 161

Isbat Uzzin Nadlori, S.Kom NIP. 132 303 873 3.

Tri Harsono, S.Si, M.Kom NIP. 132 093 224

Setia Wardhana, S.T NIP. 132 310 243 Mengetahui Ketua Jurusan Teknologi Informasi

Arna Fariza, S.Kom, M.Kom NIP. 132 233 198 ii

ABSTRAK
Image retrieval adalah teknik untuk mencari gambar yang mempunyai kemiripan dengan kriteria gambar tertentu dari sekumpulan gambar dengan melakukan perbandingan antara citra query dengan citra yang ada dalam database berdasarkan informasi yang ada pada citra tersebut. Proyek akhir ini bertujuan untuk mendapatkan aplikasi web yang dapat mengenali suatu objek bunga sesuai ciri warna dan bentuknya. Untuk menentukan ciri warna dari suatu objek bunga digunakan segmentasi warna dan perhitungan histogram warna dalam hal ini menggunakana histogram interseksi dan untuk menentukan ciri bentuk dari suatu objek bunga digunakan perhitungan integral proyeksi. Uji coba menggunakan 560 gambar training dan 70 gambar tes, hasilnya berupa 20 gambar query. Dengan kedua teknik ini didapatkan prosentase hasil retrieval sebesar 83.33% kemiripan. Kata kunci: Image retrieval, segmentasi warna, histogram interseksi

iii

ABSTRACT
Image retrieval is a technique to look for the picture having looking like with the certain picture criterion from a group of picture by doing comparison between image query with the existing image in database of pursuant to information of exist in the image. this Final project aim to to get the application web which can recognize a flower object according to colour characteristic and shape characteristic. To determine the colour characteristic from a flower object used segmentation of colour and calculation of colour histogram in this case use the histogram intersection and to determine the shape characteristic from a flower object used an integral calculation of projection. TestDrive to use 560 picture training and 70 picture tes, its result in the form of 20 picture Expected with this technique gotten the procentation of retrieval 83.33% . Keyword: Image retrieval, color segmentation, histogram intersection

iv

KATA PENGANTAR

Dengan mengucap puji syukur kepada Allah, atas limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan proyek akhir ini dengan berjudul : WEB IMAGE RETRIEVAL UNTUK IDENTIFIKASI BUNGA DENGAN PENGELOMPOKAN CONTENT MENGGUNAKAN CIRI WARNA DAN BENTUK Proyek Akhir ini adalah kewajiban bagi setiap mahasiswa Politeknik Elektronika Negeri Surabaya ITS dengan tujuan untuk memenuhi persyaratan untuk memperoleh kelulusan pada program Diploma IV Jurusan Teknologi Informasi di Politeknik Elektronika Negeri Surabaya - ITS. Dengan selesainya buku laporan proyek akhir ini, penulis berharap semoga buku ini dapat membawa manfaat pembaca umumnya dan juga bagi penulis pada khususnya serta semua pihak yang berkepentingan. Penulis juga berharap agar proyek akhir ini dapat dikembangkan lebih lanjut sehingga dapat benar-benar digunakan sebaik-baiknya untuk mendukung perkembangan ilmu pengetahuan. Penulis menyadari bahwa penulis adalah manusia biasa yang tidak luput dari kesalahan dan kekurangan. Untuk itu, kritikan dan saran yang bersifat membangun kami harapkan untuk perbaikan selanjutnya.

Surabaya, Januari 2008

Penulis

UCAPAN TERIMA KASIH


Melalui kesempatan ini, penulis ingin menyampaikan ungkapan rasa terima kasih dari dalam hati atas terselesainya tugas akhir ini. Khususnya rasa syukur kepada Allah SWT yang telah banyak memberikan kekuatan dan rahmad-Nya kepada penulis. Serta dengan ditempatkannya posisi penulis dalam lingkungan dimana orang-orang terbaik yang selalu ada di sekeliling penulis. Diantaranya yaitu: 1. Ibu dan Bapak tercinta yang telah memberikan doa dan kasih sayang yang tak cukup diungkapkan hanya dengan ucapan dan perasaan, serta arahan dan bimbingan yang diberikan bagi penulis dalam menjalani hidup. 2. Dr. Ir. Titon Dutono, M.Eng selaku Direktur Politeknik Elektronika Negeri Surabaya (PENS) ITS. 3. Arna Fariza, S.Kom, M.Kom selaku Ketua Jurusan Teknologi Informasi. 4. Nana Ramadijanti S.Kom, M.Kom dan Tri Harsono S.Si, M.kom selaku dosen pembimbing saya, yang telah sabar dan arif dalam membimbing dan mendampingi saya. 5. Para dosen penguji proyek akhir yang turut menyempurnakan proyek akhir ini. 6. Seluruh dosen yang telah menularkan ilmunya pada penulis, dan seluruh karyawan dan teknisi yang telah ikut membantu. 7. Teman-temanku D4-IT yang senantiasa memberikan bantuan dan dukungan. Thanks for all. 8. Teman-temanku Gamasura yang selalu usil menghiburku sekaligus teman seperjuangan. Tetaplah semangat! AJKK 9. Triyuni Cahyaningrum yang turut memberikan semangat dan dukungan dengan sepenuh hati. AJKK 10. Serta semua pihak yang tidak bisa saya sebutkan satu per satu. Terima kasih banyak. Semoga Allah Subhanahu wa taala membalas segala kebaikan yang telah diberikan, Amiin.

vi

DAFTAR ISI
i ii iii iv v vi vii ix xi 1 2 2 2 3 3 5 6 7 7 9 10 12 13 14 15 15 15 17 18 19 19 20 23 33 33

HALAMAN JUDUL HALAMAN PENGESAHAN ABSTRAK ABSTRACT KATA PENGANTAR UCAPAN TERIMA KASIH DAFTAR ISI DAFTAR GAMBAR DAFTAR TABEL BAB I PENDAHULUAN 1.1. Latar Belakang 1.2. Tujuan 1.3. Rumusan Masalah 1.4. Batasan Masalah 1.5. Metodologi 1.6. Sistematika Penulisan

BAB II TEORI PENUNJANG 2.1. Image Processing 2.2. CBIR 2.3. Ciri Gambar 2.4. Konsep Warna 2.5. Segmentasi 2.6. Histogram 2.7. Histogram Interseksi 2.8. Gray-scale 2.9. Edge Detection 2.10. Filter Gaussian 2.11. Integral Proyeksi 2.12. Resampling dan Normalisasi 2.13. Image Matching 2.14. Web Dinamis dengan PHP 2.14.1. Konsep Kerja PHP 2.14.2. Library GD 2.15. MySQL BAB III PERANCANGAN DAN PEMBUATAN SISTEM 3.1. Perancangan Data 3.2. Perancangan Sistem Web 3.2.1. Sitemap

vii

3.3. Blok Diagram 3.4. Ekstraksi Ciri 3.4.1. Ekstraksi Ciri Warna 3.4.2. Ekstraksi Ciri Bentuk 3.5. Image Matching 3.5.1. Kemiripan Gambar Berdasarkan Ciri Warna 3.5.2. Kemiripan Gambar Berdasarkan Ciri Bentuk 3.5.3. Kemiripan Gambar Berdasarkan Komposisi Ciri Warna dan Ciri Bentuk BAB IV ANALISA HASIL SISTEM 4.1. Umum 4.2. Spesifikasi Uji Coba 4.3. Uji Coba Proses Kemiripan 4.3.1. Uji CobaKemiripan Berdasarkan Ciri Warna 4.3.1.1. Uji Coba Retrieval Pada Gambar Bunga Biru 4.3.1.2. Uji Coba Retrieval Pada Gambar Bunga Kuning 4.3.1.3. Uji Coba Retrieval Pada Gambar Bunga Merah 4.3.1.4. Uji Coba Retrieval Pada Gambar Bunga Orange 4.3.1.5. Uji Coba Retrieval Pada Gambar Bunga Pink 4.3.1.6. Uji Coba Retrieval Pada Gambar Bunga Putih 4.3.1.7. Uji Coba Retrieval Pada Gambar Bunga Ungu 4.3.2. Uji Coba Kemiripan Berdasarkan Ciri Bentuk 4.3.3. Uji Coba Kemiripan Berdasarkan Komposisi Ciri 4.4. Uji Coba di Luar Ketentuan 4.4.1. Uji Coba Gambar Bunga Ukuran 60 x 50 Pixel 4.4.2. Uji Coba Gambar Bunga Bertangkai BAB V PENUTUP 5.1. Kesimpulan 5.2. Saran DAFTAR PUSTAKA

40 41 41 49 63 64 65 66

69 70 70 70 71 72 73 74 75 76 77 79 81 83 85

89 89 91

viii

DAFTAR GAMBAR
Gambar 1.1. Contoh query image basis text di Google Gambar 2.1. Konsep warna Gambar 2.2. RGB 24-bit color cube Gambar 2.3. Pemetaan RGB cube dengan sumbu x,y,z Gambar 2.4. Pencampuran warna dasar RGB Gambar 2.5. Region merging Gambar 2.6. Warna pada tiap pixel Gambar 2.7. Grafik histogram warna Gambar 2.8. Grafik probability density function Gambar 2.9. Gambar dan histogram integral proyeksi Gambar 2.10. Contoh penghitungan integral proyeksi Gambar 2.11. Contoh proses resampling Gambar 2.12. 1 Client request Gambar 2.13. Arsitek dari aplikasi Web Gambar 3.1. Tabel Fitur Gambar 3.2. Tabel Vektor Gambar 3.3. Tabel avrg48 fitur warna Gambar 3.4. Tabel hasilcmpr Gambar 3.5. Database Bunga Gambar 3.6. Sitemap pembuatan web dalam proyek akhir ini. Gambar 3.7. Tampilan halaman web index.php Gambar 3.8. Tampilan halaman web search.php Gambar 3.9. Tampilan halaman web warna.php Gambar 3.10. Tampilan halaman web bentuk.php Gambar 3.11. Tampilan halaman web campur.php Gambar 3.12. Tampilan halaman web book.php Gambar 3.13. Tampilan halaman web profile.php Gambar 3.14. Tampilan halaman web admin.php Gambar 3.15. Tampilan halaman web entry.php Gambar 3.16. Tampilan halaman web opentamu.php Gambar 3.17. Blok diagram image searching Gambar 3.18. Flowchart ekstraksi cirri warna Gambar 3.19. Pengambilan RGB 48 warna Gambar 3.20. Distribusi Warna Crayon 48 warna Gambar 3.21. Segmentasi 48 warna Crayon Gambar 3.22. Flowchart proses segmentasi warna Gambar 3.23. Flowchart proses PDF Gambar 3.24. Flowchart proses histogram interseksi Gambar 3.25. Flowchart proses proses ekstraksi cirri bentuk Gambar 3.26. Flowchart proses gray-scale Gambar 3.27. Flowchart proses edge detection 1 8 8 9 9 10 11 11 12 15 16 16 19 21 27 28 31 32 32 33 34 34 35 36 36 37 37 38 39 39 40 42 43 44 45 46 47 48 49 50 53

ix

Gambar 3.28. Flowchart proses integral proyeksi baris Gambar 3.29. Flowchart proses integral proyeksi kolom Gambar 3.30. Contoh vektor baris dan kolom dengan skala 3x3 Gambar 3.31. Flowchart proses resampling Gambar 3.32. Flowchasrt proses normalisasi Gambar 3.33. Proses image searching Gambar 3.34. Hasil image matching terhadap ciri warna Gambar 3.35. Hasil image matching terhadap ciri bentuk Gambar 3.36. Hasil image matching terhadap komposisi ciri Gambar 4.1. Contoh Visualisasi Proses Pencarian Bunga. Gambar 4.2. Analisa retrieval beberapa gambar terhadap gambar Bunga Biru 1.jpg Gambar 4.3. Analisa retrieval beberapa gambar terhadap gambar Bunga Kuning 82.jpg Gambar 4.4. Analisa retrieval beberapa gambar terhadap gambar Bunga Merah 21.jpg Gambar 4.5. Analisa retrieval beberapa gambar terhadap gambar Bunga Orange 31.jpg Gambar 4.6. Analisa retrieval beberapa gambar terhadap gambar Bunga Pink 41.jpg Gambar 4.7. Analisa retrieval beberapa gambar terhadap gambar Bunga Putih 51.jpg Gambar 4.8. Analisa retrieval beberapa gambar terhadap gambar Bunga Ungu 61.jpg Gambar 4.9. (a). Sampel 1 (b). Sampel 2 (c). Sampel 3 Gambar 4.10. Bentuk bunga yang disamakan bentuknya Gambar 4.11. Hasil image retrieval komposisi ciri warna dan ciri bentuk Gambar 4.12 (a) Hasil uji coba dengan komposisi ciri warna-bentuk 70-30 (b) Hasil uji coba dengan komposisi ciri warna-bentuk 90-10 Gambar 4.13. (a) Uji coba berdasarkan ciri warna (b) Uji coba berdasarkan ciri bentuk (c) Uji coba berdasarkan komposisi ciri

55 56 57 59 61 63 64 65 67 70 71 72 73 74 75 76 77 79 81 82 83

85

DAFTAR TABEL
Tabel 3.1 Tabel fitur48. Tabel 3.2 Tabel vektor Tabel 3.3 Tabel avrg48 Tabel 3.4 Tabel hasilcmpr Tabel 3.5 Warna 48 Crayon Tabel 4.1 Hasil uji coba pada Bunga Biru Tabel 4.2 Hasil uji coba pada Bunga Kuning Tabel 4.3 Hasil uji coba pada Bunga Merah Tabel 4.4 Hasil uji coba pada Bunga Orange Tabel 4.5 Hasil uji coba pada Bunga Pink Tabel 4.6 Hasil uji coba pada Bunga Putih Tabel 4.7 Hasil uji coba pada Bunga Ungu Tabel 4.8 Rata-rata prosentase kemiripan image retrieval dan kategorinya Tabel 4.9 Hasil uji coba dengan 3 sampel Tabel 4.10 Hasil uji coba dengan komposisi ciri warna-bentuk 70-30 dengan 3 sampel Tabel 4.11. Image retrieval hasil pengujian gambar bunga dengan ukuran 60 x 50 pixel Tabel 4.12. Hasil uji coba gambar bunga dengan ukuran 60 x 50 pixel sesuai kategori Tabel 4.13. Hasil uji coba gambar bunga dengan background obyek bunga lebih dari satu 24 27 29 32 43 71 72 74 75 76 77 78 78 80 81 84 84 87

xi

BAB I PENDAHULUAN
1.1 LATAR BELAKANG Pada tahun 1970an penelitian awal image retrieval dilakukan dengan menggunakan pendekatan pengindeksan dan informasi citra berbasis text. Teknik pencarian berbasis text menjadi tidak praktis karena dua alasan, yaitu: ukuran basisdata gambar yang besar dan subyektif dalam mengartikan gambar dengan text. Kata kunci yang dikodekan orang adalah terbatas pada beberapa istilah yang dihasilkan untuk masing-masing referensi gambar. Lebih lanjut beberapa gambar yang dihasilkan akan tampak sangat berbeda dibandingkan dengan keinginan user dari otomatisasi pencarian menggunakan kata kunci, contoh perhatikan gambar 1.1 dengan memasukkan kata kunci melati pada Google Search Engine akan dihasilkan gambar yang ada gambar melati, dan gambar yang tidak ada gambar melati.

a) Gambar dengan ada melati

b) Gambar dengan tidak ada melati

Gambar 1.1 Contoh query image basis text di Google

Untuk menghindari teknik tersebut, maka pada tahun 1990an image retrieva dikembangkan lagi menggunakan pendekatan alternative yaitu teknik mencari gambar hanya berdasarkan informasi yang ada pada gambar tersebut. Teknik image retrieval yang dipilih disamping dapat mencapai rata-rata kemampuan retrieval yang tinggi, seringkali memberikan konsekuensi waktu komputasi yang tinggi dikarenakan harus memproses dimensi data gambar yang besar.

Maka strategi yang penulis usulkan adalah sebagai metode pengenalan ciri warnanya menggunakan histogram interseksi dengan distribusi warna yang digunakan sebanyak 48 warna dan integral proyeksi untuk pengenalan ciri bentuknya. Dengan demikian diharapkan dengan strategi ini dapat digunakan untuk menghitung ciri gambar dengan kebenaran retrieval yang tinggi dan mengurangi waktu komputasinya, dengan menggunakan proses matching diantara gambar query dan gambar database.

1.2 TUJUAN Tujuan dari pembuatan proyek akhir ini adalah: 1. Membangun sistem image retrieval pada ciri warna dan bentuk 2. Membangun web untuk aplikasi image retrieval

1.3 RUMUSAN MASALAH Perumusan masalah pada proyek akhir ini diantaranya: a. Bagaimana menerapkan algoritma ciri warna dan bentuk ekstraksi bunga. b. c. Bagaimana melakukan identifikasi dan pengelompokan bunga dengan ciri warna dan bentuk bunga. Bagaimana membangun web untuk menampilkan hasil retrieval dari bunga.

1.4 BATASAN MASALAH Batasan masalah yang akan dikerjakan dalam proyek akhir ini mempunyai karakter sebagai berikut: Jumlah gambar yang tersedia 630 gambar, 560 untuk training dan 70 untuk test. Ukuran semua gambar sama yaitu 100 x 90 pixel. Format file berekstensi JPEG. Output sejumlah 20 gambar.

1.5 METODOLOGI Untuk mencapai penyelesain proyek akhir, diperlukan langkahlangkah berikut ini: 1. Studi pustaka 2. Mengumpulkan data gambar 3. Mendapatkan ciri warna dan mensimulasikan 4. Mendapatkan ciri bentuk dan mensimulasikan 5. Mensimulasikan ciri warna dan ciri bentuk 6. Mengimplementasikan ciri warna 7. Mengimplementasikan ciri bentuk 8. Mengimplementasikan ciri warna dan bentuk 9. Melakukan analisa hasil uji coba.

1.6 SISTEMATIKA PENULISAN Sistematika pada proyek akhir ini direncanakan seperti yang tercantum berikut ini: BAB 1: PENDAHULUAN Dalam bab ini dijelaskan tentang latar belakang, tujuan, rumusan masalah, batasan masalah, metodologi, dan sistematika penulisan. BAB 2: TEORI PENUNJANG Dalam bab ini dijelaskan tentang landasan teori yang akan menunjang dalam pembuatan proyek akhir ini. BAB 3: PERENCANAAN DAN PEMBUATAN SOFTWARE Dalam bab ini dijelaskan tentang perencanaan dan pembuatan program pada proyek akhir. BAB 4: ANALISA HASIL SISTEM Dalam bab ini dijelaskan tentang analisa hasil program yaitu segmentasi warna, histogram interseksi dan integral proyeksi pada image retrieval. BAB 5: PENUTUP Dalam bab ini merupakan penutup, berisi tentang kesimpulan yang dapat diambil berdasarkan data yang ada dan saran yang selayaknya dilakukan bila proyek akhir ini dilanjutkan.

== Halaman ini sengaja dikosongkan ==

BAB II TEORI PENUNJANG


Dalam bab ini akan dibahas mengenai beberapa teori penting yang dapat menunjang dan menjadi acuan dalam pembuatan proyek akhir. 2.1 IMAGE PROCESSING Data atau informasi tidak hanya disajikan dalam bentuk teks, tetapi juga dapat berupa gambar, audio (bunyi, suara, musik), dan video. Keempat macam data atau informasi ini sering disebut multimedia. Era teknologi informasi saat ini tidak dapat dipisahkan dari multimedia. Situs web (website) di Internet dibuat semenarik mungkin dengan menyertakan visualisasi berupa gambar atau video yang dapat diputar. Beberapa waktu lalu istilah SMS begitu populer diantara pengguna telepon genggam (handphone). Tetapi, saat ini orang tidak hanya dapat mengirim pesan dalam bentuk teks tapi juga dalam bentuk gambar maupun video yang dikenal dalam layanan MMS (Multimedia Message Service). Gambar (image) adalah istilah lain untuk gambar sebagai salah satu komponen multimedia memegang peranan sangat penting sebagai bentuk informasi visual. Gambar mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu gambar kaya dengan informasi. Maksudnya sebuah gambar dapat memberikan informasi lebih banyak daripada informasi tersebut disajikan dalam bentuk tekstual. Pengolahan gambar digital atau Digital Image Processing adalah bidang yang berkembang sangat pesat sejalan dengan kemajuan teknologi pada industri saat ini. Fungsi utama dari Digital Image Processing adalah untuk memperbaiki kualitas dari gambar sehingga gambar dapat dilihat lebih jelas tanpa ada ketegangan pada mata, karena informasi penting diekstrak dari gambar yang dihasilkan harus jelas sehingga didapatkan hasil yang terbaik. Selain itu DIP digunakan untuk memproses data yang diperoleh dalam persepsi mesin, yaitu prosedurprosedur yang digunakn untuk mengekstraksi informasi dari gambar informasi dalam bentuk yang cocok untuk proses komputer. Proses pengolahan gambar digital dengan menggunakan computer digital 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). Teknik dan proses untuk mengurangi atau menghilangkan efek degradasi pada gambar digital meliputi perbaikan gambar (image enhancement), restorasi gambar (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.

2.2 CBIR Pada tahun 1970an penelitian awal image retrieval dilakukan dengan menggunakan pendekatan pengindeksan dan informasi gambar berbasis text. Teknik pencarian berbasis text menjadi tidak praktis karena dua alasan, yaitu: ukuran basisdata gambar yang besar dan subyektif dalam mengartikan gambar dengan text. Kata kunci yang dikodekan orang adalah terbatas pada beberapa istilah yang dihasilkan untuk masing-masing referensi gambar. Untuk menghindari teknik tersebut, maka pada tahun 1990an image retrieval dikembangkan lagi menggunakan pendekatan gambar yaitu teknik untuk mencari gambar yang mempunyai kemiripan dengan kriteria gambar dari sekumpulan gambar. Proses secara umum dari image retrieval adalah gambar yang menjadi query dilakukan proses ekstraksi, begitu halnya dengan gambar yang berada pada sekumpulan gambar juga dilakukan proses seperti gambar query. Beberapa gambar database telah dibuat hanya untuk menunjukkan bagaimana secara khusus sistem retrieval bekerja. IBM dengan Query by Image Content (QBIC) database proyek adalah contoh dari sistem CBIR ini. QBIC adalah sebuah sistem penelitian yang menghasilkan produk komersial yang dikembangkan dan dijual oleh IBM. Parameter ciri gambar yang dapat digunakan untuk retrieval pada sistem ini antara lain seperti histogram, susunan warna, tekstur dan bentuk, tipe spesifik dari obyek, tipe event tertentu, nama individu, lokasi, emosi. Gambar query yang digunakan mempunyai beberapa level, yaitu :

Level 1: retrieval dengan ciri primitif, seperti warna, tekstur, bentuk. Level 2: retrieval dengan ciri logis, seperti tipe obyek, individu obyek atau orang. Level 3: retrieval dengan ciri abstrak, seperti nama even, tipe aktifitas, emosional, religius.

2. 3 CIRI GAMBAR Ciri merupakan suatu tanda yang khas, yang membedakan antara satu dengan yang lain. Tidak berbeda dengan sebuah gambar, gambar juga memiliki ciri yang dapat membedakannya dengan gambar yang lain. Masing-masing ciri gambar didapatkan dari proses ekstraksi ciri. Ciri ciri dasar dari gambar: o Warna Ciri warna suatu gambar dapat dinyatakan dalam bentuk histogram dari gambar tersebut yang dituliskan dengan: H(r,g,b), dimana H(r,g,b) adalah jumlah munculnya pasangan warna r (red), g (green) dan b (blue) tertentu. o Bentuk Ciri bentuk suatu gambar dapat ditentukan oleh tepi (sketsa), atau besaran moment dari suatu gambar. Pemakaian besaran moment pada ciri bentuk ini banyak digunakan orang dengan memanfaatkan nilai-nilai transformasi fourier dari gambar. Proses yang dapat digunakan untuk menentukan ciri bentuk adalah deteksi tepi, threshold, segmentasi dan perhitungan moment seperti (mean, median dan standard deviasi dari setiap lokal gambar). o Tekstur Ciri tekstur dari suatu gambar dapat ditentukan dengan menggunakan filter gabor. Ciri tekstur ini sangat handal dalam menentukan informasi suatu gambar bila digabungkan dengan ciri warna gambar. Dari ketiga ciri diatas, dalam tugas akhir ini hanya menggunakan ciri warna dan siri bentuk.

2.4 KONSEP WARNA Warna pokok dalam pengelolaan gambar terdiri dari 3 (tiga) unsur, yaitu merah (R), hijau (H), dan biru (B). Jika warna-warna pokok

tersebut digabungkan, maka akan menghasilkan warna lain. Penggabungan warna tersebut bergantung pada warna pokok dimana tiap-tiap warna memiliki nilai 256 (8 bit).
(255, 0, 0) (255, 255, 0) (255, 255, 255) (0, 255, 0) (0, 0, 255) (128,128,128) (255, 0, 255) (0, 0, 0)

Gambar 2.1. Konsep warna

Konsep ruang warna adalah setiap pixel mempunyai warna yang dinyatakan dalam RGB, sehingga merupakan gabungan nilai R, nilai G, dan nilai B yang tidak bisa dipisahkan satu dengan lainnya. Hal ini dapat dituliskan dengan P(r,g,b).

Gambar 2.2. RGB 24-bit color cube

Warna yang dideskripsikan dengan RGB adalah pemetaan yang mengacu pada panjang gelombang dari RGB. Pemetaan menghasilkan nuansa warna untuk masing-masing R, G, dan B. Masing-masing R, G, dan B didiskritkan dalam skala 256, sehingga RGB akan memiliki indeks antara 0 sampai 255. Jika dilihat dari pemetaan model warna RGB yang berbentuk cube ( kubus ) seperti gambar dibawah ini.

Gambar 2.3. Pemetaan RGB cube dengan sumbu x,y,z

Dengan pemetaan RGB 24-bit color cube maka 3 warna dasar dapat dicampurkan sehingga mendapatkan warna yang baru.

Gambar 2.4. Pencampuran warna dasar RGB

2.5 SEGMENTASI Segmentasi adalah suatu proses yang digunakan untuk mengelompokkan gambar sesuai dengan obyek gambarnya. Segmentasi dapat dilakukan dengan pendekatan region merging dan splitting. Pada gambar 2.4 merupakan contoh teknik region merging. Contoh yang sederhana ini nilai grey level antara 1 dan 10 dan sifat bentuknya adalah menggabungkan jika perbedaan nilai grey level antara daerah sebelahnya adalah 1. Pada gambar 2.5(a) menunjukkan distribusi awal gambar nilai gray level. Kemudian mengidentifikasi semua daerah dengan nilai grey level terpisah dan karenanya terbentuk suatu peta, seperti di gambar 2.5(b). Itu dapat dilihat dengan menggabungkan label 9 dan 10, label 5 dan 6, dan lain-lain.

Semua penggabungan mungkin seperti itu, dimana perbedaan grey level dengan daerah sebelahnya adalah 1, seperti gambar 2.5(c). Ketika semua penggabungan ini sudah berlangsung, maka segmentasi sudah berakhir, pada gambar 2.5(d), menunjukkan daerah putih dan hitam grey level sehingga pemandangannya ditafsirkan seperti dua object.

Gambar 2.5. Region merging

2.6 HISTROGRAM Color histrogram merupakan hubungan dari intensitas tiga macam warna. Dimana setiap gambar mempunyai distribusi warna tertentu. Distribusi warna ini dimodelkan dengan color histogram. Color histogram tersebut didefinisikan sebagai berikut : HR,G,B[r,g,b] = N.Prob { R=r, G=g, B=b } (2.1)

dimana R,G,B merupakan tiga macam warna dan N adalah jumlah pixel pada gambar. Color histogram dihitung dengan cara mendiskretkan warna dalam gambar, dan menghitung jumlah dari tiap-tiap pixel pada gambar. Karena jumlah dari tiap-tiap warna terbatas, maka untuk lebih tepatnya dengan cara menstransform 3 histogram ke dalam single variable histogram. Misalkan pada gambar RGB, salah satu transformnya didefinisikan sebagai berikut : m = r+Nr g+NrNgb(2.2) (2.2)

10

dimana Nr, Ng, dan Nb merupakan jumlah nilai biner dari warna merah, biri, dan hijau secara berturut-turut. Untuk mendapatkan Color histogram menggunakan persamaan sebagai berikut :

H r , g ,b = {(r , g , b) | r I , g I , b I }

(2.3)

Keterangan : R = warna merah G = warna hijau B = warna biru Hr,g,b = Data untuk menampung nilai probabilitas warna RGB Contoh histogram warna :

Gambar 2.6. Warna pada tiap pixel

Gambar diatas menjelaskan bahwa warna merah mempunyai jumlah 5, Kuning = 2, Hijau = 3, Biru = 1, Abu-abu = 1, Pink = 2 dan Putih = 2. Dari jumlah tersebut maka akan ditampilkan dalam bentuk histogram seperti gambar dibawah ini.

Gambar 2.7. Grafik histogram warna

11

Probability Density Function

P( r , g ,b ) =

H ( r , g ,b ) N image

(2.4)

Gambar 2.8. Grafik probability density function

Norm histogram

P( r , g ,b ) =

H ( r , g ,b ) Max( H ( r , g ,b ) )

(2.5)

2.7 HISTOGRAM INTERSEKSI Histogram interseksi melakukan perhitungan jarak dengan membandingkan dua histogram h1 dan h2 dan terhadap n bin dengan mengambil nilai interseksi dari kedua histogram tersebut.

DH (h1,h2) = 1

min(h1 ,h2 )
i i i=1

h1
i=1

(2.6)

Normalisasi diperlukan karena pada saat menggunakan image dengan ukuran yang berbeda, fungsi jarak ini bukanlah sebuah matrik yang seharusnya DH(g,h)DH(g,h). Supaya manjadi sebuah matrik yang valid, pada histogram diperlukan :

12

h1 n=

h1

i= 1 . (2.7) Untuk histogram yang ternormalisasi (jumlah total sama dengan 1), interseksi histogram adalah :
n n n n DH (h1n , h2 n ) = 1 h1 h2 i i=1 i

h1i

(2.8)

Persamaan diatas adalah model matriks jarak Minkowski dengan k=1. Sifat interseksi histogram dapat menghilangkan bagian tertentu (occlusion), dimana apabila sebuah objek dalam suatu image dihilangkan pada bagian tersebut, bagian yang kelihatan masih mempunyai kontribusi untuk kesamaan atau similaritas.

2.8 GRAY-SCALE Proses awal yang banyak dilakukan dalam image processing adalah mengubah gambar berwarna menjadi gambar gray-scale, hal ini digunakan untuk menyederhanakan model gambar. Pada awalnya gambar terdiri dari 3 layer matrik yaitu R-layer, G-layer dan B-layer. Sehingga untuk melakukan proses-proses selanjutnya tetap diperhatikan tiga layer di atas. Bila setiap proses perhitungan dilakukan menggunakan tiga layer, berarti dilakukan tiga perhitungan yang sama. Sehingga konsep itu diubah dengan mengubah 3 layer di atas menjadi 1 layer matrik grayscale dan hasilnya adalah gambar gray-scale. Dalam gambar ini tidak ada lagi warna, yang ada adalah derajat keabuan. Untuk mengubah gambar berwarna yang mempunyai nilai matrik masing-masing r, g dan b menjadi gambar gray scale dengan nilai s, maka konversi dapat dilakukan dengan mengambil rata-rata dari nilai r, g dan b sehingga dapat dituliskan menjadi:

s=

r + g +b 3

(2.9)

Pada penjelasan di atas pengubahan gambar berwarna menjadi gray-scale dilakukan dengan menggunakan rata-rata nilai gray-scale dari setiap layer R, G, dan B. Hal ini bukanlah suatu keharusan. Meskipun hasilnya sudah cukup bagus, pemakaian nilai rata-rata masih belum 13

optimal untuk menunujukkan gambar gray-scale sehingga dilakukan pengubahan komposisi sebagai berikut: Grayscale=R + G + B / ( + + ) (2.10)

Dengan nilai =0.35, =0.25 dan =0.4 sehingga nilai ++ =1 Fungsi dari format warna gray ini adalah untuk memudahkan proses selanjutnya karena kita akan kesulitan apabila kita menjalankan proses selanjutnya dengan menggunakan format gambar berwarna karena nilai r, g, dan b yang dihasilkan dengan format gambar itu akan bervariasi. Dengan format warna gray ini maka dihasilkan nilai R=G=B.

2.9 EDGE DETECTION Bentuk merupakan atribut dari suatu gambar. Ciri bentuk suatu gambar dapat dilakukan dengan deteksi tepi, threshold, segmentasi dan perhitungan moment seperti mean, median, dan standart dari setiap lokal gambar. Deteksi tepi adalah proses yang penting pada preprosessing gambar, karena hasil daripada deteksi tepi ini adalah tepi dari gambar saja yang menunjukkan bentuk spesifik gambar. Proses deteksi tepi ini dilakukan pada gambar biner . Ada beberapa metode yang digunakan untuk mendeteksi tepi salah satu diantaranya adalah metode sobel yang menggunakan filter HighPass-Filter yang diberi satu angka nol penyangga. Kelebihan dari metode sobel ini adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi dan mempunyai kemampuan untuk smoothing. Kernel filter yang digunakan dalam metode Sobel ini adalah: Persamaan untuk kernel y (horizontal)

1 y = 2 1
Persamaan untuk kernel x (vertical)

0 0 0

1 2 1

14

1 2 1 x= 0 0 0 1 2 1
2.10 FILTER GAUSSIAN Filter rata-rata adalah filter dengan nilai pada setiap elemen kernelnya berbentuk fungsi gaussian dan sebagai LPF maka jumlah dari semua nilai kernelnya adalah 1 (satu). Dengan rumus :

(2.11) Filter rata-rata termasuk dalam linier filter dengan menggunakan kernel berupa matrik.

. 2.11 INTEGRAL PROYEKSI Integral Proyeksi adalah suatu teknik yang menjumlahkan nilai setiap kolom atau setiap baris. Integral proyeksi didefinisikan dengan :

Gambar 2.9. Gambar dan histogram integral proyeksi

15

Gambar 2.10. Contoh penghitungan integral proyeksi

2.12 RESAMPLING DAN NORMALISASI Resampling adalah suatu metode yang digunakan untuk pengenalan suatu gambar dengan cara mengambil sampel yang tepat. Sampling pada image adalah resolusi dari image itu sendiri, atau menyatakan banyaknya pixel yang digunakan untuk dapat menyajikan gambar. Semakin besar samplingnya maka semakin besar resolusi sehingga gambar yang diperoleh menjadi lebih halus.

Gambar 2.11. Contoh proses resampling

Menyatakan 3 sampling (64x64, 32x32 dan 16x16) yang berbeda untuk menyatakan suatu image Proses normalisasi dilakukan untuk mengecilkan data yaitu antara nol sampai dengan satu. Hal ini sangat diperlukan, karena bila terjadi matching gambar yang berlainan ukuran, maka otomatis data dari gambar yang dimatching tersebut selalu antara nol sampai dengan satu. Untuk setiap pixel ke-k pada vektor kolom dinormalisasi dengan rumus :

16

(2.12) Sedangkan untuk mencari nilai standar deviasi menggunakan rumus :

(2.13)

2.13 IMAGE MATCHING Image matching adalah metode yang digunakan dalam Tugas Akhir ini yang bertujuan untuk mengetahui kemiripan dua buah gambar. Pertama, gambar query dan gambar database ditentukan. Gambar query disebut juga dengan gambar acuan atau gambar template adalah suatu gambar yang dijadikan acuan informasi (content) dalam proses pencarian. Sedangkan gambar database atau kumpulan gambar target adalah sekumpulan gambar yang akan digunakan sebagai database gambar. Kemudian kedua gambar tersebut dilakukan proses ekstraksi ciri warna dengan menggunakan histogram warna dengan menghitung jarak dari nilai histogram RGB pada masing-masing gambar. Dari jumlah histogram yang mempunyai R, G, dan B yang sama akan dicari jarak antara gambar database dan gambar query. gambar yang mempunyai jarak yang minimal adalah gambar yang paling mirip dengan gambar template. Proses matching ini kami lakukan pada ekstraksi hasil segmentasi warna baik pada gambar database maupun pada gambar query. Persamaan yang digunakan untuk menghitung jarak diatas adalah sebagai berikut :

d = | V (db) V (Q) |

(2.14)

Dimana V ( db ) dan V ( Q ) adalah vektor dari gambar database dan gambar query. Sedangkan untuk menghitung nilai kemiripan data dapat dirumuskan sebagai berikut: S = 1- d (2.15)

S adalah nilai kemiripan dan d adalah nilai image matching.

17

2.14 WEB DINAMIS DENGAN PHP PHP merupakan bahasa berbentuk script yang disertakan dalam dokumen HTML, bekerja di sisi server sehingga script-nya tak tampak di sisi client. PHP dirancang untuk dapat bekerja sama dengan database server dan dibuat sedemikian rupa sehingga pembuatan dokumen HTML yang dapat mengakses database menjadi begitu mudah atau secara umum dokumen yang dihasilkan adalah dokumen WEB Dinamis. PHP bisa berinteraksi dengan hampir semua teknologi web yang sudah ada. Developer bisa menulis sebuah program PHP yang mengeksekusi suatu program CGI di server web lain. Fleksibilitas ini amat bermanfaat bagi pemilik situs-situs web yang besar dan sibuk, karena pemilik masih bisa mempergunakan aplikasi-aplikasi yang sudah terlanjur dibuat di masa lalu dengan CGI, ISAP, atau dengan script seperti perl, Awk atau python selama proses migrasi ke aplikasi baru yang dibuat dengan PHP. Ini mempermudah dan memperhalus peralihan antara teknologi lama den teknologi baru. Perbedaan PHP dengan script-script lain seperti JavaScript atau VBScript adalah pengeksekusian PHP yang dilakukan dilingkungan server, client hanya menerima hasil yang telah dieksekusi tanpa bisa mengetahui kode yang telah digunakan. PHP difokuskan pada scripting server-side. PHP dapat melakukan apa yang bisa dilakukan CGI seperti mengambil data inputan form, menggenerate konten halaman dinamis, mengirim dan menerima cookies dan masih banyak lagi. Kemampuan untuk database juga sangat handal. Pada awalnya, PHP berjalan di lingkungan Linux karena merupakan turunan dari bahasa Perl yang merupakan bahasa pemprograman native di lingkungan Linux. Namun seiring perkembangan dan kebutuhan maka PHP dibuat secara lintas platform. PHP dapat bekerja dilingkungan Windows maupun Linux. PHP mengeksekusi server script lebih cepat dari server script manapun. PHP menempati rangking pertama dalam hal kecepatan eksekusi, diikuti ASP dan JSP. Kelebihan PHP dibanding pemprograman web lainya : Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai IIS sampai dengan apache, dengan konfigurasi yang relatif mudah. Dalam sisi pengembangan lebih mudah, karena banyaknya milismilis dan developer yang siap membantu dalam pengembangan.

18

Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena referensi yang banyak. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (linux, unix, windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.

2.14.1 Konsep Kerja PHP Model kerja HTML diawali dengan permintaan suatu halaman web oleh browser. Berdasarkan URL atau dikenal dengan sebutan alamat internet, browser mendapatkan alamat dari web server, mengidentifikasi halaman yang dikehendaki dan menyampaikan segala informasi yang dibutuhkan oleh web server. Informasi yang disampaikan ke web server antara lain adalah nama browser, versinya dan sistem operasinya. Selanjutnya web server akan mencarikan berkas yang diminta dan memberikan isinya ke browser. Browser yang mendapatkan isinya segera melakukan proses penterjemahan kode HTML dan menampilkan ke layar pemakai. Bagaimana halnya kalau yang diminta adalah sebuah halaman PHP ? Prinsipnya serupa dengan kode HTML, hanya saja ketika berkas PHP dan mesin inilah yang memproses dan memberikan hasilnya (Berupa kode HTML) ke web Server untuk selanjutnya disampaikan ke client yang request. PHP dapat didownload di www.php.net

Gambar 2.12. 1 Client request

19

2. 14. 2 LIBRARY GD PHP memungkinkan programmer membuat gambar seperti garis, kotak, polygon, serta grafik. PHP melalui GD Library memiliki kemampuan untuk membuat dan memanipulasi file gambar (.gif, .png, .jpeg, .wbmp, dan .xmp) baik melalui stream langsung ke browser maupun menulis ke sebuah file baru. Library GD pada awalnya diciptakan oleh Thomas Boutell (www.boutell.com/gd) untuk memanipulasi citra secara dinamis. Bahasa asli pemprogramannya adalah ANSI C, tetapi GD juga mempunyai antar muka untuk bahasa pemprograman lain. Bahasa yang disupport misalnya C, PHP, Perl, OCaml, Tcl, Lua, Pascal, GNU Octave, dan REXX. Ada juga tool yang dinamakan fly yang memungkinkan pengaksesan GD dari bahasa apapun melalui command-line(mode teks). GD dapat membuat bentuk seperti garis, lengkungan, teks, serta citra dengan banyak warna. Pada GD versi 2 ditambahkan dukungan untuk citra truecolor, channel alfa, resampling(merubah ukuran citra truecolor) serta fitur-fitur lain. Library GD yang digunakan dalam tugas akhir ini adalah library GD2 yang terpaket dalam instalasi PHP Apache2Triad. Paket-paket yang dimasukkan dalam Apache2Triad misalnya: - PHP - MySQL - Apache - PHPMyAdmin - dan beberapa modul tambahan Apache2Triad memiliki beberapa kelebihan yaitu paket modul PHP, MySQL, Apache, dan PHPMyAdmin lebih terupdate, karena pengembangnya masih aktif. Paket modulnya juga dilengkapi dengan manual/ petunjuk. Juga terdapat beberapa paket tambahan seperti PHPsFTPd (phpsftpd.sourceforge.net), PHPXMail (phpxmail.sourceforge.net), UebiMiau, dan Awstat (awstats.sourceforge.net). Juga modulmodul perl, tcl, phyton beserta manualnya. Download dulu Apache2Triad di http://apache2triad.sourceforge.net

2.15 MySQL MySQL (My Structure Query Language) adalah salah satu database dari sekian banyak database lain seperti Oracle, MS SQL, PostgresSQL dan banyak lagi. Kesemuanya itu mempunyai fungsi dan

20

manfaat yang hampir sama namun dalam pengerjaanya sedikit berbeda tetapi MySQL adalah penggunaan yang paling mudah. MySQL adalah database manajemen sistem (DBMS). DBMS (Database Manajemen System) merupakan salah satu system dalam mengakses database yang menggunakan bahasa SQL, MySQL menggunakan bahasa SQL dan dapat dikatakan sebagai DBMS. MySQL software open source. Open source artinya memungkinkan untuk semua orang untuk menggunakan dan memodifikasi software. Setiap orang dapat men-download MySQL dari internet dan menggunakannya tanpa membayar apapun. Database MySQL sangat cepat, reliable, dan mudah untuk digunakan, selain itu MySQL telah banyak menangani pembuatan software besar. Bagaimana MySQL diimplementasikan pada WEB? Karena dalam praktikum basisdata ini kita juga mempelajari PHP, maka berikut juga dijelaskan secara singkat bagaimana mempresentasikan bentuk hubungan yang dilakukan bahasa pemrograman dengan database.

Gambar 2.13. Arsitek dari aplikasi Web

Dari gambar tersebut terlihat adanya hubungan antara Web server, Bahasa Pemrograman dan database. Secara teknis database-lah yang menyimpan hampir semua data dan data tersebut diolah oleh bahasa pemrograman yang kemudian ditampilkan ke internet dengan menggunakan web server, anda dapat melihat data-data tersebut dengan mengunjugi URL dengan menggunakan browser seperti Konqueor, opera atau IE.

21

== Halaman ini sengaja dikosongkan ==

22

BAB III PERENCANAAN DAN PEMBUATAN SOFTWARE


Dalam bab ini akan dibahas mengenai perancangan dan pembuatan sistem web yang digunakan sebagai user interface untuk menangkap gambar bunga, mengolahnya dan menampilkan hasilnya. Pengaturan keseluruhan sistem web dengan integrasinya terhadap database untuk melakukan penyimpanan data, serta pengaturan sistem agar dapat melakukan pengolahan gambar sehingga didapatkan output yang diinginkan. Dalam pembuatan sistem ini melibatkan kombinasi tiga teknologi besar yaitu Image Processing menggunakan bahasa pemrograman PHP, Aplikasi Web menggunakan Apache2Triad dan Sistem Database menggunakan MySQL. 3.1. PERANCANGAN DATA Pada tahap awal yang dikerjakan pada perencanaan data gambar yang digunakan, yang meliputi: Jumlah gambar yang dipakai Ukuran gambar Objek gambar Format file gambar Direktori test dan training Perencanaan sistem ini menggunakan format file gambar dengan ekstensi JPG. Selanjutnya file gambar tersebut diubah ukuran filenya sehingga menjadi ukuran yang kecil supaya dalam proses tidak memperlama kinerja sistem yang dibuat. Pengubahan file gambar disesuaikan dengan ukuran 100 x 90 beserta penamaan file secara berurutan dengan tujuan untuk mempermudah proses pencarian. Jumlah gambar yang digunakan adalah 630. Gambar tersebut dibagi menjadi dua direktori yaitu test dan training. Direktori test berisi 70 gambar yang nanti akan digunakan sebagai gambar query. Pada direktori training terdiri dari 560 gambar yang akan digunakan sebagai gambar database. Adapun objek gambar yang digunakan adalah kategori bunga yaitu bunga biru, bunga kuning, bunga merah, bunga orange, bunga pink, bunga putih, dan bunga ungu. Gambar query disebut juga dengan gambar acuan atau gambar template adalah suatu gambar yang dijadikan acuan informasi (content)

23

dalam proses pencarian. Sedangkan gambar database atau kumpulan gambar target adalah sekumpulan gambar yang akan digunakan sebagai database gambar. Pada proyek akhir ini menggunakan database MySQL. Ada satu database yang digunakan dan didalam database tersebut berisi 4 tabel antara lain: 1. Tabel fitur48 Tabel ini digunakan untuk menyimpan fitur warna (x1-x48) pada 48 warna crayon. Berikut ini adalah struktur tabel fitur48 yang digunakan dalam menyimpan nilai fitur warna obyek bunga : Tabel 3.1. Tabel fitur48
Nama Field namafile obyek w1 w2 w3 w4 w5 w6 w7 w8 w9 w10 w11 w12 w13 Tipe Data Varchar Varchar Float Float Float Float Float Float Float Float Float Float Float Float Float Ukuran 50 50 Keterangan Menyimpan nama file Menyimpan kategori bunga Menyimpan nilai pdf pada segmentasi 1 Menyimpan nilai pdf pada segmentasi 2 Menyimpan nilai pdf pada segmentasi 3 Menyimpan nilai pdf pada segmentasi 4 Menyimpan nilai pdf pada segmentasi 5 Menyimpan nilai pdf pada segmentasi 6 Menyimpan nilai pdf pada segmentasi 7 Menyimpan nilai pdf pada segmentasi 8 Menyimpan nilai pdf pada segmentasi 9 Menyimpan nilai pdf pada segmentasi 10 Menyimpan nilai pdf pada segmentasi 11 Menyimpan nilai pdf pada segmentasi 12 Menyimpan nilai pdf pada segmentasi 13

24

Nama Field w14 w15 w16 w17 w18 w19 w20 w21 w22 w23 w24 w25 w26 w27 w28 w29 w30 w31 w32 w33 w34

Tipe Data Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float

Ukuran -

Keterangan Menyimpan nilai segmentasi 14 Menyimpan nilai segmentasi 15 Menyimpan nilai segmentasi 16 Menyimpan nilai segmentasi 17 Menyimpan nilai segmentasi 18 Menyimpan nilai segmentasi 19 Menyimpan nilai segmentasi 20 Menyimpan nilai segmentasi 21 Menyimpan nilai segmentasi 22 Menyimpan nilai segmentasi 23 Menyimpan nilai segmentasi 24 Menyimpan nilai segmentasi 25 Menyimpan nilai segmentasi 26 Menyimpan nilai segmentasi 27 Menyimpan nilai segmentasi 28 Menyimpan nilai segmentasi 29 Menyimpan nilai segmentasi 30 Menyimpan nilai segmentasi 31 Menyimpan nilai segmentasi 32 Menyimpan nilai segmentasi 33 Menyimpan nilai segmentasi 34 pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada

25

Nama Field w35 w36 w37 w38 w39 w40 w41 w42 w43 w44 w45 w46 w47 w48 error persenerror

Tipe Data Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Int

Ukuran 11

Keterangan Menyimpan nilai pdf pada segmentasi 35 Menyimpan nilai pdf pada segmentasi 36 Menyimpan nilai pdf pada segmentasi 37 Menyimpan nilai pdf pada segmentasi 38 Menyimpan nilai pdf pada segmentasi 39 Menyimpan nilai pdf pada segmentasi 40 Menyimpan nilai pdf pada segmentasi 41 Menyimpan nilai pdf pada segmentasi 42 Menyimpan nilai pdf pada segmentasi 43 Menyimpan nilai pdf pada segmentasi 44 Menyimpan nilai pdf pada segmentasi 45 Menyimpan nilai pdf pada segmentasi 46 Menyimpan nilai pdf pada segmentasi 47 Menyimpan nilai pdf pada segmentasi 48 Menyimpan nilai error hasil histogram interseksi Menyimpan prosentase nilai error.

26

Gambar 3.1. Tabel fitur48

2.

Tabel vektor Tabel ini digunakan untuk menyimpan nilai vektor dari fitur bentuk. Berikut ini adalah struktur tabel fitur48 yang digunakan dalam menyimpan nilai fitur bentuk obyek bunga : Tabel 3.2. Tabel vektor
Nama Field namafile obyek v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 Tipe Data Varchar Varchar Float Float Float Float Float Float Float Float Float Float Ukuran 50 50 Keterangan Menyimpan nama file Menyimpan kategori bunga Menyimpan nilai normalisasi indek 1 Menyimpan nilai normalisasi indek 2 Menyimpan nilai normalisasi indek 3 Menyimpan nilai normalisasi indek 4 Menyimpan nilai normalisasi indek 5 Menyimpan nilai normalisasi indek 6 Menyimpan nilai normalisasi indek 7 Menyimpan nilai normalisasi indek 8 Menyimpan nilai normalisasi indek 9 Menyimpan nilai normalisasi indek 10

27

Nama Field v11 v12 v13 v14 v15 v16 v17 v18 v19 jarak error

Tipe Data Float Float Float Float Float Float Float Float Float Float Float

Ukuran -

Keterangan Menyimpan nilai normalisasi indek 11 Menyimpan nilai normalisasi indek 12 Menyimpan nilai normalisasi indek 13 Menyimpan nilai normalisasi indek 14 Menyimpan nilai normalisasi indek 15 Menyimpan nilai normalisasi indek 16 Menyimpan nilai normalisasi indek 17 Menyimpan nilai normalisasi indek 18 Menyimpan nilai normalisasi indek 19 Menyimpan jarak kedekatan gambar query dengan gambar database Menyimpan nilai error

Gambar 3.2. Tabel vektor

28

3.

Tabel avrg48 Tabel ini digunakan untuk menyimpan rata-rata nilai fitur warna sesuai dengan kategori gambar bunga. Berikut ini adalah struktur tabel fitur48 yang digunakan dalam menyimpan nilai fitur rata-rata kategori warna obyek bunga : Tabel 3.3. Tabel avrg48
Nama Field obyek av1 av2 av3 av4 av5 av6 av7 av8 av9 av10 av11 av12 av13 av14 av15 av16 Tipe Data Varchar Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Ukuran 50 Keterangan Menyimpan kategori bunga Menyimpan nilai pdf pada segmentasi 1 Menyimpan nilai pdf pada segmentasi 2 Menyimpan nilai pdf pada segmentasi 3 Menyimpan nilai pdf pada segmentasi 4 Menyimpan nilai pdf pada segmentasi 5 Menyimpan nilai pdf pada segmentasi 6 Menyimpan nilai pdf pada segmentasi 7 Menyimpan nilai pdf pada segmentasi 8 Menyimpan nilai pdf pada segmentasi 9 Menyimpan nilai pdf pada segmentasi 10 Menyimpan nilai pdf pada segmentasi 11 Menyimpan nilai pdf pada segmentasi 12 Menyimpan nilai pdf pada segmentasi 13 Menyimpan nilai pdf pada segmentasi 14 Menyimpan nilai pdf pada segmentasi 15 Menyimpan nilai pdf pada segmentasi 16

29

Nama Field av17 av18 av19 av20 av21 av22 av23 av24 av25 av26 av27 av28 av29 av30 av31 av32 av33 av34 av35 av36 av37

Tipe Data Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float Float

Ukuran -

Keterangan Menyimpan nilai segmentasi 17 Menyimpan nilai segmentasi 18 Menyimpan nilai segmentasi 19 Menyimpan nilai segmentasi 20 Menyimpan nilai segmentasi 21 Menyimpan nilai segmentasi 22 Menyimpan nilai segmentasi 23 Menyimpan nilai segmentasi 24 Menyimpan nilai segmentasi 25 Menyimpan nilai segmentasi 26 Menyimpan nilai segmentasi 27 Menyimpan nilai segmentasi 28 Menyimpan nilai segmentasi 29 Menyimpan nilai segmentasi 30 Menyimpan nilai segmentasi 31 Menyimpan nilai segmentasi 32 Menyimpan nilai segmentasi 33 Menyimpan nilai segmentasi34 Menyimpan nilai segmentasi 35 Menyimpan nilai segmentasi 36 Menyimpan nilai segmentasi 37 pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada pdf pada

30

Nama Field av38 av39 av40 av41 av42 av43 av44 av45 av46 av47 av48 error

Tipe Data Float Float Float Float Float Float Float Float Float Float Float Float

Ukuran -

Keterangan Menyimpan nilai pdf pada segmentasi 38 Menyimpan nilai pdf pada segmentasi 39 Menyimpan nilai pdf pada segmentasi 40 Menyimpan nilai pdf pada segmentasi 41 Menyimpan nilai pdf pada segmentasi 42 Menyimpan nilai pdf pada segmentasi 43 Menyimpan nilai pdf pada segmentasi 44 Menyimpan nilai pdf pada segmentasi 45 Menyimpan nilai pdf pada segmentasi 46 Menyimpan nilai pdf pada segmentasi 47 Menyimpan nilai pdf pada segmentasi 48 Menyimpan nilai error hasil histogram interseksi

Gambar 3.3. Tabel avrg48 fitur warna

31

4.

Tabel hasilcmpr Tabel ini digunakan untuk menampung nilai gabungan fitur warna dan bentuk. Berikut ini adalah struktur tabel fitur48 yang digunakan dalam menyimpan gabungan nilai fitur warna dan bentuk dari obyek bunga : Tabel 3.4. Tabel hasilcmpr
Nama Field namafile Obyek Erwarna Erbentuk errortot Tipe Data Varchar Varchar int Float int Ukuran 50 50 10 10 Keterangan Menyimpan nama file Menyimpan kategori bunga Menyimpan nilai error dari proses ekstraksi ciri warna Menyimpan nilai error dari proses ekstraksi ciri bentuk Menyimpan gabungan nilai error dari proses ekstraksi ciri warna dan ciri bentuk

Gambar 3.4. Tabel hasilcmpr

Gambar 3.5. Database bunga

32

3.2. PERANCANGAN SISTEM WEB Seperti halnya pembuatan situs web pada umumnya, pembuatan web untuk tugas akhir ini membutuhkan perencanaan yang optimal, terutama mengenai proses berjalannya sistem. Secara keseluruhan, pengguna sistem ini dibagi menjadi dua yaitu Administrator dan User biasa. Diantara keduanya akan terdapat perbedaan terhadap kegiatan dalam melakukan sistem ini. Administrator memiliki halaman khusus yang digunakan untuk melakukan audit data-data yang berkaitan dengan sistem. User dapat menikmati layanan pencarian bunga yang menjadi inti dari sistem ini. User tidak akan dapat mengakses data yang tidak berhak untuk diakses. 3.2.1 SITEMAP Pembuatan web untuk tugas akhir ini memiliki peta situs sebagai berikut: Web.Bunga.com

Home index.php

Search search.php

Guestbook book.php

Profile profile.php

Admin admin.php

Warna warna.php

Bentuk bentuk.php

Campur campur.php

Saran
opentamu.php

Entry entry.php

Gambar 3.6. Sitemap pembuatan web dalam proyek akhir ini.

Dalam sitemap proyek akhir ini terdiri dari 10 halaman web yang akan dibuat. Halaman web tersebut adalah: 1. Index.php Digunakan untuk menampilkan maksud dan tujuan web ini dibuat dan juga merupakan halaman pertama yang muncul jika seorang pengunjung mengetikkan alamat http://localhost/flowers pada browsernya. Halaman ini hanya berisi informasi tentang layanan yang akan disediakan oleh situs ini dan link-link ke halaman yang lain.

33

Gambar 3.7. Tampilan halaman web index.php

2.

Search.php Digunakan untuk melalukan proses pencarian gambar bunga. Halaman web ini berisikan tiga pilihan kategori dalam pencarian gambar bunga, dimana masing-masing kategori menampilkan hasil sesuai dengan fiturnya.

Gambar 3.8. Tampilan halaman web search.php

34

Tiga kategori yang disediakan adalah : By Color Halaman web ini digunakan untuk mencari gambar bunga yang disesuaikan dengan fitur warnanya. Dalam halaman web ini menyediakan dua tombol untuk membantu user melakukan proses pencarian gambar bunga diantaranya tombol browse untuk input gambar bunga dan tombol search untuk memulai pencarian gambar bunga sekaligus untuk menampilkan 20 gambar bunga yang sesuai dengan fitur ciri warna dan kategorinya. Dalam proyek akhir ini halaman web ini bernama warna.php.

Gambar 3.9. Tampilan halaman web warna.php

By Shape Sama halnya dengan halaman web warna.php halaman web ini digunakan untuk mencari gambar bunga yang disesuaikan dengan fitur bentuknya. Dalam halaman web ini menyediakan dua tombol untuk membantu user melakukan proses pencarian gambar bunga diantaranya tombol browse untuk input gambar bunga dan tombol search untuk memulai pencarian gambar bunga sekaligus untuk menampilkan 20 gambar bunga yang sesuai dengan fitur ciri bentuk dan kategorinya. Dalam proyek akhir ini halaman web ini bernama bentuk.php.

35

Gambar 3.10. Tampilan halaman web bentuk.php

By Color And Shape Halaman web ini digunakan untuk mencari gambar bunga yang disesuaikan dengan gabungan fitur warna dan bentuk. Dalam halaman web ini menyediakan dua tombol untuk membantu user melakukan proses pencarian gambar bunga diantaranya tombol browse untuk input gambar bunga dan tombol search untuk memulai pencarian gambar bunga sekaligus untuk menampilkan 20 gambar bunga yang sesuai dengan fitur ciri warna dan bentuknya serta kategorinya. Dalam proyek akhir ini halaman web ini bernama campur.php.

Gambar 3.11. Tampilan halaman web campur.php

36

3.

Book.php Merupakan halaman yang disediakan bagi para pengunjung untuk memberikan komentar dan saran bagi situs ini. Ikuti petunjuk sesuai aturan dalam pengisian data.

Gambar 3.12. Tampilan halaman web book.php

4.

Profile.php Merupakan halaman web yang berisikan informasi singkat tentang profile penulis.

Gambar 3.13. Tampilan halaman web profile.php

37

5.

Admin.php Merupakan halaman khusus yang hanya diakses oleh administrator situs ini. Melalui halaman ini admin dapat melakukan maintenance data dalam database. Admin dapat melakukan apa saja terhadap data-data yang terdapat dalam database, misalnya melakukan pengeditan data tentang nilai fitur bunga agar selalu terupdate. Berikut adalah beberapa hak akses seorang admin yang dapat ia lakukan melalui halaman AdminPage ini : 1. Entry data fitur-fitur bunga Admin dapat melakukan entry data dengan memasukkan nilai fitur dari gambar bunga yang ada dalam folder training. 2. Mengedit dan Menghapus Data Guest Book Admin dapat melakukan pengeditan isi Guest Book apabila terdapat salah satu isinya yang juga tidak layak untuk ditampilkan, dan dapat pula menghapus isinya apabila sudah terlalu banyak isi dari Guest Book. Beberapa halaman yang terdapat dalam AdminPage antara lain : 1. Admin.php Sebelum memasuki halaman utama, admin harus login terlebih dahulu. Dibutuhkan dua inputan yang harus dimasukkan yaitu User name dan Password admin.

Gambar 3.14. Tampilan halaman web admin.php

38

2. Entry.php Halaman web ini digunakan untuk memasukkan nilai dari fiturfitur warna dan bentuk dari gambar database dalam folder training. Nilai fitur-fitur ini akan disimpan sebagai nilai database atau disimpan dalam database untuk digunakan sebagai proses pencocokan terhadap nilai fitur dari gambar query.

Gambar 3.15. Tampilan halaman web entry.php

3. Opentamu.php Halaman web ini digunakan oleh admin untuk melihat semua kritik dan saran dari user yang telah mengisikan komentarnya pada saat masuk pada halaman web book.php.

Gambar 3.16. Tampilan halaman web opentamu.php

39

3.3. BLOK DIAGRAM Disini diterangkan bagaimana merencanakan program untuk identifikasi bunga. Langkah pembuatannya seperti pada blok diagram berikut : Gambar Training Ekstraksi Fitur Fitur database dari gambar bunga dan informasi bunga

Gambar Query

Ekstraksi Fitur

Match & retrieval

Informasi dan gambar retrieval (urutan error terkecil)

Gambar 3.17. Blok diagram image searching

Secara garis besar blok diagram gambar 3.17 merupakan acuan untuk perancangan proses. Langkah dalam perancangan proses seperti dalam blok diagram adalah sebagai berikut: Membuat direktori test dan training. Direktori test digunakan untuk gambar query. Gambar query merupakan suatu gambar yang dija-

40

dikan acuan informasi dalam proses pencarian. Direktori training digunakan untuk gambar database. Selanjutnya mengekstrak dua gambar yang telah ditentukan yaitu gambar query dan gambar database. Proses ekstraksi terdiri dari ekstraksi ciri warna dan ciri bentuk. Selanjutnya dilakukan proses pengambilan fitur warna dan bentuk pada gambar query dan gambar database. Nilai fitur warna dan bentuk pada gambar database akan disimpan dalam database.. Langkah terakhir dalam perencanaan proses ini adalah mencari nilai minimum sebagai nilai kedekatan antara gambar query dengan gambar database sehingga akan didapatkan keserupaan antara gambar query dan gambar database yang ditunjukkan dengan nilai prosentase.

3.4 EKSTRAKSI CIRI 3.4.1 Ekstraksi Ciri Warna Ada beberapa metode untuk ekstraksi ciri warna yang sudah digunakan dalam tugas akhir antara lain metode euclidian distance, manhattan distance dan histogram interseksi. Ternyata dalam kenyataannya metode histogram interseksi merupakan metode yang sesuai dalam ekstraksi ciri warna dari suatu gambar. Untuk itu metode yang digunakan untuk ekstraksi ciri warna dalam proyek akhir ini adalah metode histogram interseksi. Akan tetapi sebelum menggunakan metode ini terlebih dahulu dilakukan beberapa tahapan proses diantaranya: Distribusi Warna Segmentasi Warna Histogram Warna Histogram Interseksi Untuk lebih jelasnya langkah-langkah dalam proses ekstraksi ciri warna akan di gambarkan dalam suatu diagram alir. Berikut ini flowchart proses ekstraksi ciri warna:

41

START

Distribusi warna

Segmentasi warna

Histogram warna

Histogram interseksi

FINISH
Gambar 3.18. Flowchart ekstraksi ciri warna

Flowchart pada gambar 3.18 menunjukkan proses ekstraksi ciri warna dengan beberapa proses, antara lain seperti yang dijelaskan berikut ini: a. Distribusi Warna Distribusi warna yang digunakan pada program tugas akhir ini 48 warna crayon. Untuk mendapatkan nilai warna 48 crayon dengan menggunakan Adobe Photoshop. Buka file gambar crayon 48 warna pada Adope Photoshop lalu gunakan Eyedropper Tool, klik tiap crayon dan lihat nilai RGB pada window color yang ada disebelah kanan atas form. Untuk lebih jelasnya, berikut ini ditampilkan gambar dan tabel 48 warna crayon:

42

Gambar 3.19 Pengambilan RGB 48 warna Tabel 3.5 Warna 48 Crayon R G B 188 138 33 42 40 113 53 48 55 158 63 131 26 28 41 28 130 44 91 48 42 2 111 69 170 189 193 61 79 79 0 155 96 150 169 186 24 83 87 1 93 134 188 177 1 42 74 87 64 46 46 40 93 68 31 127 100 193 61 110 198 99 145 230 201 157 209 74 19 96 118 53 95 164 221

No 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

43

No 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

R 33 203 10 76 123 150 62 190 230 14 227 117 179 114 66 171 117 21 149 255 217 145 14

G 24 47 88 117 227 141 56 161 143 98 246 121 161 49 34 36 28 154 91 201 215 124 122

B 141 22 188 222 216 222 154 197 14 98 252 130 111 47 99 51 58 89 87 101 70 41 213

Tabel 3.5 diatas merupakan tabel nilai RGB pada 48 warna crayon (x1-x48). Dari tabel warna diatas maka dapat ditampilkan pada program akan seperti gambar dibawah ini.

Gambar 3.20. Distribusi Warna Crayon 48 warna

b. Segmentasi Warna Segmentasi adalah suatu proses yang digunakan untuk mengelompokkan gambar sesuai dengan obyek gambarnya. Setelah menentukan berapa banyak distribusi warna yang digunakan maka tiap gambar yang ada dilakukan segmentasi warna. Gambar database terlebih dahulu di segmentasi sebelum disimpan di database. Gambar query juga di segmentasi terlebih dahulu sebelum dibandingkan dengan gambar database.

44

Gambar 3.21. Segmentasi 48 warna Crayon

Warna acuan:
W1 (r1,g1,b1) W2 (r2,g2,b2) W3 (r3,g3,b3) ........ Wn (rn,gn,bn) e1 e2 e3 ...... en

W (r,g,b)

ei =

((r r )
i

+ (g i g )2 + (bi b )2

(3.1)

Adapun source code dari rumusan diatas sebagai berikut :


$emin = sqrt(pow(($r - $wr[0]),2) + pow(($g - $wg[0]),2) + pow(($b $wb[0]),2)); for($k=1;$k<48;$k++) { $e = sqrt(pow(($r - $wr[$k]),2) + pow(($g - $wg[$k]),2) + pow(($b $wb[$k]),2)); if ($e < $emin) { $n = $k; $emin = $e; } }

Berikut ini ditampilkan flowchart untuk proses segmentasi warna:

45

Gambar 3.22. Flowchart proses segmentasi warna.

46

c.

Histogram Pada tahap ini menghitung nilai Probability Density Function dari hasil proses segmentasi

P( r , g ,b ) =

H ( r , g ,b ) N image

(3.2)

Probability Density Function adalah fungsi probabilits p(x) dimana x adalah kejadian dan p(x) adalah kemunculan dari suatu kejadian. Berikut ini adalah penggalan program untuk mengubah mencari nilai PDF.
$tothis=0; for($i=0;$i<48;$i++) { //to get total value image $tothis = $tothis + $his[$i]; } for($i=0;$i<48;$i++) { //to get PDF $his[$i] = $his[$i] / $tothis; }

Berikut ini flowchart proses PDF.

Gambar 3.23. Flowchart proses PDF.

47

d. Histogram Interseksi Histogram interseksi digunakan untuk menentukan jarak antara dua histogram yaitu histogram dari gambar query dengan gambar database. Jarak minimum ini menentukan kedekatan antara dua obyek. Berikut ini adalah penggalan program untuk menentukan nilai histogram interseksi.
$totmin=array(),$n=0; $hasil=mysql_query("SELECT * FROM fitur48"); while($row=mysql_fetch_array($hasil)) { for($i=0;$i<48;$i++) { $min = min($row[$i+2],$his[$i]); $totmin[$n] = $totmin[$n] + $min; } $D = abs((1 - ($totmin[$n] / $tothis))); $err=abs(100*(1-$D)) + 1; $sql=mysql_query("update fitur48 set error='$D' where namafile='$row[0]'"); $sql1=mysql_query("update fitur48 set persenerror='$err' where namafile='$row[0]'"); $n = $n + 1; }

Berikut ini flowchart proses histogram interseksi.

Gambar 3.24 Flowchart proses histogram interseksi

48

3.4.2 Ektraksi Ciri Bentuk Selain menggunakan ekstraksi ciri warna, metode yang digunakan untuk mengidentifikasi gambar adalah dengan ekstraksi ciri berdasarkan bentuk. Adapun flowchart untuk ekstraksi ciri berdasarkan bentuk sebagai berikut :

.
Gambar 3. 25. Flowchart proses ekstraksi ciri bentuk

Penjelasan dari flowchart di atas adalah : a. Proses grayscale, prinsip dari metode grayscale adalah mengubah warna gambar yang semula terdiri dari merah, hijau dan biru menjadi warna dengan intensitas 0 sampai 255 dan proses ini disebut juga dengan proses perhitungan derajat keabuan, untuk perhitungannya adalah sebagai berikut :

49

(3.3) Dimana,s : Nilai derajat keabuan r : Nilai warna merah g : Nilai warna hijau b : Nilai warna biru Berikut ini ditampilkan flowchart untuk proses gray-scale.

Gambar 3.26. Flowchart proses gray-scale

50

Berikut ini adalah penggalan program untuk mengubah gambar R,G,B menjadi gambar gray.
//gray $n1 = 0; $ratabiner = 0; $batasbiner = 0; $tempgray = array(); for ($i=0; $i<$imgw; $i++){ $n1=$n1+1; $n2=0; for ($j=0; $j<$imgh; $j++){ //simpan rbg pada pixel gambar $rgb = ImageColorAt($imtes, $i, $j); // ekstrak nilai tiap2 chanel r, g, b $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; //biner bentuk $n2 = $n2 + 1; $gray =($r + $g + $b) / 3; $tempgray[$n1][$n2] = $gray; $batasbiner = $batasbiner + $tempgray[$n1][$n2]; } } $ratabiner = $batasbiner / ($n1 * $n2); for($i=0; $i<=$n1; $i++){ for($j=0; $j<=$n2; $j++){ if($tempgray[$i][$j] < $ratabiner) { $tempgray[$i][$j] = 0; } else { $tempgray[$i][$j] = 255; } } }

Proses dimulai dengan pengidentifikasian secara vertikal kemudian dilanjutkan secara horisontal. Tiap pixel dicari nilai derajat keabuan kemudian data disimpan di variabel array dua dimensi, dalam hal ini adalah tempgray(i,j).

51

b.

Proses Bluring yaitu proses yang digunakan untuk menghaluskan mengaburkan gambar. Berikut ini penggalan program dari proses bluring.
//blur filter for ($i=0;$i<$n1;$i++) { $x1 = $i - 2; if($x1 < 0) { $x1 = 0; } $x2 = $i + 2; for($j=0;$j<$n2;$j++) { $y1 = $j - 2 ; if($y1 < 0) { $y1 = 0; } $y2 = $j + 2; $z = 0; for($k1=$x1;$k1<=$x2;$k1++) { for($k2=$y1;$k2<=$y2;$k2++) { $z = $z + $tempgray[$k1][$k2]; } } $z = (int)($z / 25); if($z > 255) { $z = 255; } $z = 255 - $z; $tempgray[$i][$j]=$z; } }

c.

Proses deteksi tepi (Edge Detection), metode yang digunakan dalam proyek akhir ini adalah metode Sobel. Metode Sobel merupakan pengembangan metode Robert yang menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai fungsi untuk membangkitkan HPF. Kelebihan dari metode sobel ini adalah kemampuan untuk mengurangi noise sebelum melakukan

52

perhitungan deteksi tepi. Kernel filter yang digunakan dalam metode sobel ini adalah:

Sebelum melakukan proses edge detection, warna gambar di-binerkan. Jika intensitas warna kurang dari rata-rata pixel keseluruhan, maka intensitas warna diubah menjadi 0, selain kondisi tersebut, intensitas warna diubah menjadi 255. Data ini menjadi data acuan untuk proses selanjutnya. Berikut ini flowchart untuk proses edge detection.

Gambar 3.27. Flowchart proses edge detection

53

Berikut ini ditampilkan penggalan program untuk mencari deteksi tepi menggunakan metode sobel.
//proses filter sobel $tempedge=array(); for($i=0;$i<$n1;$i++){ for($j=0;$j<$n2;$j++){ $z1 = $tempgray[$i-1][$j+1] - $tempgray[$i-1][$j-1]; $z2 = 2*($tempgray[$i][$j+1] - $tempgray[$i][$j-1]); $z3 = $tempgray[$i+1][$j+1] - $tempgray[$i+1][$j-1]; $z4 = $tempgray[$i+1][$j-1] - $tempgray[$i-1][$j-1]; $z5 = 2*($tempgray[$i+1][$j] - $tempgray[$i-1][$j]); $z6 = $tempgray[$i+1][$j+1] - $tempgray[$i-1][$j+1]; $z = abs($z1+$z2+$z3) + abs($z4+$z5+$z6); $tempedge[$i-1][$j-1] = $z; if( $z > 255) { $z = 255; } $tempedge[$i][$j] = $z ; } }

d.

Proses selanjutnya adalah proses integral proyeksi, suatu teknik yang menjumlahkan nilai setiap kolom atau setiap baris. Integral proyeksi didefinisikan dengan :

Berikut ini adalah penggalan program dari proses integral proyeksi:


// integral proyeksi $ipv=array(); $iph=array(); $iptot=array(); //horizontal for($i=0;$i<100;$i++) { $iph[$i]=0; }

54

for($i=0;$i<$imgw;$i++) { for($j=0;$j<$imgh;$j++) { $iph[$i]=$iph[$i] + $tempedge[$i][$j]; } } //vetikal for($i=0;$i<90;$i++) { $ipv[$i]=0; } for($i=0;$i<$imgh;$i++) { for($j=0;$j<$imgw;$j++) { $ipv[$i]=$ipv[$i] + $tempedge[$j][$i]; } }

Berikut ini flowchart untuk proses integral proyeksi untuk mendapatkan nilai baris.

Gambar 3.28. Flowchart proses integral proyeksi baris

55

Berikut ini flowchart untuk proses integral proyeksi untuk mendapatkan nilai kolom.

Gambar 3.29. Flowchart proses integral proyeksi kolom

e.

Proses Resampling dari nilai integral proyeksi dengan cara mengambil nilai rata-rata atau nilai vektor kuantisasinya pada setiap vektor m + n dari setiap nilai integral proyeksi dengan skala 10 x 10, dan hasilnya berupa nilai vektor, dapat dituliskan sebagai berikut:

56

(3.4) Keterangan, V(i) : merupakan nilai vektor m + n : merupakan jumlah vektor yang terdapat pada vektor m + n X : merupakan nilai dari setiap vektor integral proyeksi Skala = k

(a) Contoh vector baris

Skala = k

(b) Contoh vector kolom


Gambar 3.30. Contoh vektor baris dan kolom dengan skala 3x3

Contoh perhitungan dari vektor diatas menggunakan proses vector kuantisasi, dimana nilai vector baris dan kolom diatas untuk skala 3x3 untuk perhitungann adalah sama, maka dihitung salah satu saja, yaitu : o Kita jumlah kan nilai vektor dibawah ini yang kita ambil dalam skala 3x3.

57

X = 123 + 123 + 123 X =369 Hasil dari penjumlahan matrik diatas adalah : 369 Kemudian kita rata-rata dari hasil penjumlahan di atas X rata-rata = 369 / 3 = 123 Maka Hasil kuantisasi dari vector diatas menjadi :

Berikut ini adalah penggalan program program fungsi kuantisasi vektor 10 x 10 terhadap gambar berukuran 100 x 90 pixel.
//resampling $hit=0; $index=0; $tempkuin=0; $sumkuin=0; $vektorTemp=array(); $smpl=10; $tempkuina=array(); for($i=0; $i<100; $i++) { $tempkuin = $tempkuin + $iph[$i-1]; if($i % $smpl == 0) { $tempkuin = $tempkuin / $smpl; $tempkuina[$index]=$tempkuin; $index = $index + 1; $tempkuin = 0; } } $index=0; $tempkuin=0; $tempkuinb=array(); for($i=0; $i<90; $i++) { $tempkuin = $tempkuin + $ipv[$i-1]; if($i % $smpl == 0) { $tempkuin = $tempkuin / $smpl; $tempkuinb[$index] = $tempkuin; $index = $index + 1; $tempkuin = 0; } }

58

Berikut ini flowchart untuk proses resampling.

Gambar 3.31. Flowchart proses resampling

59

f.

Proses selanjutnya yaitu Normalisasi dengan membagi hasil nilai dari resampling dengan nilai terbesar sehingga di dapat nilai antara 0 sampai 1,dari nilai inilah digunakan sebagai vektor ciri dari setiap image. Berikut ini adalah penggalan program program mencari normalisasi dan vector ciri.
//proses cari nilai terbesar zbaris $tempkuin = 0; for($i=0; $i<10; $i++) { if($tempkuina[$i] > $tempkuin) { $tempkuin = $tempkuina[$i]; } } for($i=0; $i<10; $i++) { $tempkuina[$i] = $tempkuina[$i] / $tempkuin; } //proses cari nilai terbesar zkolom $tempkuin = 0; for($i=0; $i<9; $i++) { if($tempkuinb[$i] > $tempkuin) { $tempkuin = $tempkuinb[$i]; } } for($i=0; $i<9; $i++) { $tempkuinb[$i] = $tempkuinb[$i] / $tempkuin; } //vektor to vektor ciri for($i=0; $i<10; $i++) { $vektorTemp[$i] = $tempkuina[$i]; } for($i=0; $i<9; $i++) { $vektorTemp[$i + 10] = $tempkuinb[$i]; }

60

Berikut ini flowchart untuk proses normalisasi.

61

Gambar 3.32. Flowchart proses normalisasi

62

3.5 Image Matching Image Matching adalah metode yang bertujuan untuk mengetahui kemiripan dua gambar atau dengan beberapa gambar. Berikut ini ditampilkan blok diagram proses kemiripan gambar menggunakan image matching.
Gambar Database Ekstraksi Image Matching Gambar Query Ekstraksi

Hasil Kemiripan

Gambar 3.33. Proses image matching

Proses pertama yaitu gambar database dan gambar query ditentukan, kemudian dilakukan proses ekstraksi ciri warna, bentuk atau komposisi keduanya. Data hasil berupa data vektor kecuali ekstraksi ciri warna dengan skala 10 * 10. Kemudian nilai vektor gambar database dibandingkan dengan vektor gambar query sehingga diperoleh nilai jarak atau selisih vektor. Untuk menghitung jarak antara kedua vektor dapat dituliskan sebagai berikut: (3.5) d = | V ( db ) V ( Q ) | Dimana V ( db ) dan V ( Q ) adalah vektor dari gambar database dan gambar query. Sedangkan untuk menghitung nilai kemiripan data dapat dirumuskan sebagai berikut: S = 1- d (3.6) S adalah nilai kemiripan dan d adalah nilai image matching.

63

3.5.1 Kemiripan Gambar Berdasarkan Ciri Warna Untuk mendapatkan nilai kemiripan gambar, data ciri warna gambar database dan data ciri gambar query dibandingkan mengunakan metode Histogram Interseksi. Berikut ini adalah penggalan program fungsi perhitungan kemiripan gambar berdasarkan ciri warna.
$totmin=array(),$n=0; $hasil=mysql_query("SELECT * FROM fitur48"); while($row=mysql_fetch_array($hasil)) { for($i=0;$i<48;$i++) { $min = min($row[$i+2],$his[$i]); $totmin[$n] = $totmin[$n] + $min; } $D = abs((1 - ($totmin[$n] / $tothis))); $err=abs(100*(1-$D)) + 1; $sql=mysql_query("update fitur48 set error='$D' where namafile='$row[0]'"); $sql1=mysql_query("update fitur48 set persenerror='$err' where namafile='$row[0]'"); $n = $n + 1; }

Gambar 3.34. Hasil image matching terhadap ciri warna

3.5.2 Kemiripan Gambar Berdasarkan Ciri Bentuk

64

Untuk mendapatkan nilai kemiripan gambar berdasarkan ciri bentuk, metode yang digunakan sama, tetapi data yang dibandingkan berupa vektor. Berikut ini adalah penggalan program fungsi perhitungan kemiripan gambar berdasarkan ciri bentuk:
doubleval($err),doubleval($total),$total=array(),$n=0; $hasil=mysql_query("SELECT * FROM vektor"); while($row=mysql_fetch_array($hasil)) { for($i=0;$i<19;$i++) { $d=abs(($row[$i+2] - $vektorTemp[$i])); $total[$n] = $total[$n] + $d; } $err = abs(100 * (1 - ($total[$n] / (100 * 19)))); $sql=mysql_query("update vektor set jarak='$total[$n]wherenamafile='$row[0]'"); $sql1=mysql_query("update vektor set error='$err' where namafile='$row[0]'"); $n = $n + 1; }

Gambar 3.35. Hasil image matching terhadap ciri bentuk

65

3.5.3 Kemiripan Gambar Berdasarkan Komposisi Ciri Warna dan Ciri Bentuk Untuk mendapatkan nilai kemiripan gambar berdasarkan komposisi ciri adalah membandingkan data ciri warna dan bentuk. Sedangkan untuk mendapatkan nilai kemiripan menggunakan rumus sebagai berikut: erTotal = [%warna] x erWarna + [%bentuk] x erBentuk (3.7)

Berikut ini adalah penggalan program fungsi perhitungan kemiripan gambar berdasarkan komposisi ciri:
$totmin=array(), $jm=0; $hasil1=mysql_query("SELECT * FROM fitur48"); while($row=mysql_fetch_array($hasil1)) { for($i=0;$i<48;$i++) { $min = min($row[$i+2],$his[$i]); $totmin[$jm] = $totmin[$jm] + $min; } $err = abs((1 - ($totmin[$jm] / $tothis))); $erwarna=abs(100*(1-$err)) + 1; $sql=mysql_query("update fitur48 set error='$err' where namafile='$row[0]'"); $sql1=mysql_query("update fitur48 set persenerror='$erwarna'where namafile='$row[0]'"); $sql2=mysql_query("update hasilcmpr set erwarna='$erwarna' where namafile='$row[0]'"); $jm = $jm + 1; } doubleval($erbentuk),doubleval($total),$total=array(),$num=0; $hasil2=mysql_query("SELECT * FROM vektor"); while($row=mysql_fetch_array($hasil2)) { for($i=0;$i<90;$i++) { $d=abs(($row[$i+2] - $vektorCamp[$i])); $total[$num] = $total[$num] + $d; } $erbentuk = abs(100 * (1 - ($total[$num] / (100 * 90)))); $sql=mysql_query("update vektor set jarak='$total[$num]' where namafile='$row[0]'"); $sql1=mysql_query("update vektor set error='$erbentuk' where namafile='$row[0]'"); $sql2=mysql_query("update hasilcmpr set erbentuk='$erbentuk' where namafile='$row[0]'"); $num = $num + 1; }

66

$hasil3=mysql_query("SELECT * FROM hasilcmpr"); while($row=mysql_fetch_array($hasil3)) { $erTotal =((70 * $row[2]) / 100) + ((30 * $row[3]) / 100); $sql3=mysql_query("update hasilcmpr set errortot='$erTotal' where namafile='$row[0]'"); }

Untuk membandingkan gambar query dengan semua gambar yang ada pada database gambar, digunakan proses perulangan sebanyak data gambar yang ada pada database gambar. Kemudian data yang memiliki kemiripan fitur disorting secara ascending dan ditampilkan sebanyak 20 gambar.

Gambar 3.36. Hasil image matching terhadap komposisi ciri

67

== Halaman ini sengaja dikosongkan ==

68

BAB IV ANALISA HASIL SISTEM


4.1. UMUM Lingkup uji coba aplikasi web ini adalah pada komputer yang terdapat web server Apache menggunakan PHP4-PHP5 dengan Apache2Triad sebagai tool. Pada bab ini terdapat beberapa hal yang dapat dianalisa berdasarkan hasil dari sistem dan menampilkan kembali kumpulan gambar database yang mempunyai kemiripan dengan gambar query untuk mendapatkan penyelesaian terbaik berupa gambar-gambar dengan nilai error terendah dengan gambar query. Dalam uji coba jumlah gambar yang digunakan sebanyak 20 gambar yang ditampilkan dalam retrieval. Untuk mendapatkan nilai prosentase kemiripan hasil retrieval menggunakan rumus : % Kemiripan = Keterangan: % Kemiripan

jumlah _ yang _ keluar 100% jumlah _ gambar

(4.1)

: nilai prosentase kemiripan antara gambar query dan gambar database. Jumlah yang keluar : jumlah gambar query yang keluar dalam proses searching. Jumlah gambar : 20 gambar yang ditampilkan. nilai rata-rata dari tiap kategori digunakan rumusan sebagai berikut : Hasil Rata-rata Fitur = Jumlah gambar Untuk mencari prosentase kemiripan berdasarkan kategorinya dilakukan dengan mengambil jumlah gambar yang tampil pada nomor urut 1 dari masing-masing kategori. Sehingga didapatkan perumusan prosentase kemiripan berdasarkan kategori sebagai berikut : (4.2)

69

Jumlah gambar yang muncul pada urutan 1 x 100 Jumlah gambar pada kategori (4.3)

4.2. SPESIFIKASI UJI COBA Proses pengujian berupa semua gambar yang diletakkan pada direktori test dan training yaitu 70 gambar pada direktori test dan 560 gambar pada direktori training. Proses pengujian dilakukan dengan menguji kemiripan gambar database dan gambar query berdasarkan ciri warna, bentuk dan komposisi keduanya.

Gambar 4.1 Contoh visualisasi proses pencarian bunga.

4.3. UJI COBA PROSES KEMIRIPAN 4.3.1. Uji Coba Kemiripan Berdasarkan Ciri Warna Analisa terhadap image retrieval dengan menggunakan segmentasi warna 48 warna dilanjutkan dengan histogram interseksi. Gambar yang diuji yaitu gambar acuan dan gambar database. Semakin besar prosentase kemiripan diantara gambar database dan gambar acuan akan didapat gambar yang sesuai.

70

4.3.1.1. Uji coba retrieval pada gambar Bunga Biru Uji coba yang dilakukan terhadap 10 gambar bunga biru yang ada pada direktori test dan hasil yang ditampilkan adalah 20 gambar dengan urutan nilai prosentase kemiripan dimulai dari yang terbesar sampai yang terkecil. Juga ditampilkan hasil pengelompokan content dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai prosentase kemiripan.

Gambar 4.2. Analisa retrieval beberapa gambar terhadap gambar Bunga Biru 1.jpg Tabel 4.1. Hasil uji coba pada Bunga Biru Gambar Jumlah yang Urutan kemunculan % kemiripan Query keluar kategori bunga biru 1.jpg 20 100 1 2.jpg 18 90 1 3.jpg 12 60 1 4.jpg 20 100 1 5.jpg 11 55 1 6.jpg 20 100 1 7.jpg 12 60 1 8.jpg 20 100 1 9.jpg 14 70 1 10.jpg 7 35 2 % Rata-rata kemiripan 78 90

71

Pada Tabel 4.1 hasil retrieval gambar Bunga Biru rata-rata prosentase kemiripan sebesar 78% sedangkan rata-rata prosentase kemiripan kategori sebesar 90%.

4.3.1.2. Uji coba retrieval pada gambar Bunga Kuning Uji coba yang dilakukan terhadap 10 gambar bunga kuning yang ada pada direktori test dan hasil yang ditampilkan adalah 20 gambar dengan urutan nilai prosentase kemiripan dimulai dari yang terbesar sampai yang terkecil. Juga ditampilkan hasil pengelompokan content dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai prosentase kemiripan.

Gambar 4.3. Analisa retrieval beberapa gambar terhadap gambar Bunga Kuning 15.jpg Gambar Query 11.jpg 12.jpg 13.jpg 14.jpg 15.jpg 16.jpg Tabel 4.2. Hasil uji coba pada Bunga Kuning Jumlah yang Urutan kemunculan % kemiripan keluar kategori bunga kuning 12 60 1 20 100 1 20 100 1 18 90 1 20 100 1 20 100 1

72

Gambar Jumlah yang Query keluar 17.jpg 20 18.jpg 20 19.jpg 20 20.jpg 20 % Rata-rata kemiripan

% kemiripan 100 100 100 100 95

Urutan kemunculan kategori bunga kuning 1 1 1 1 100

Pada Tabel 4.2 hasil retrievel gambar Bunga Kuning menunjukkan rata-rata prosentase kemiripan sebesar 95% sedangkan rata-rata prosentase kemiripan kategori sebesar 100%.

4.3.1.3. Uji coba retrieval pada gambar Bunga Merah Uji coba yang dilakukan terhadap 10 gambar bunga merah yang ada pada direktori test dan hasil yang ditampilkan adalah 20 gambar dengan urutan nilai prosentase kemiripan dimulai dari yang terbesar sampai yang terkecil. Juga ditampilkan hasil pengelompokan content dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai prosentase kemiripan.

Gambar 4.4. Analisa retrieval beberapa gambar terhadap gambar Bunga Merah 21.jpg

73

Tabel 4.3. Hasil uji coba pada Bunga Merah Gambar Jumlah yang Urutan kemunculan % kemiripan Query keluar kategori bunga merah 21.jpg 19 95 1 22.jpg 19 95 1 23.jpg 18 90 1 24.jpg 18 90 1 25.jpg 18 90 1 26.jpg 19 95 1 27.jpg 16 80 1 28.jpg 9 45 2 29.jpg 19 95 1 30.jpg 20 100 1 % Rata-rata kemiripan 87,5 90

Pada Tabel 4.3 hasil retrievel gambar Bunga Merah rata-rata prosentase kemiripan sebesar 87,5% sedangkan rata-rata prosentase kemiripan kategori sebesar 90%.

4.3.1.4. Uji coba retrieval pada gambar Bunga Orange Uji coba yang dilakukan terhadap 10 gambar bunga orange yang ada pada direktori test dan hasil yang ditampilkan adalah 20 gambar dengan urutan nilai prosentase kemiripan dimulai dari yang terbesar sampai yang terkecil. Juga ditampilkan hasil pengelompokan content dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai prosentase kemiripan.

Gambar 4.5. Analisa retrieval beberapa gambar terhadap gambar Bunga Orange 31.jpg

74

Tabel 4.4. Hasil uji coba pada Bunga Orange Gambar Jumlah yang Urutan kemunculan % kemiripan Query keluar kategori bunga orange 31.jpg 20 100 1 32.jpg 20 100 1 33.jpg 20 100 1 34.jpg 20 100 1 35.jpg 20 100 1 36.jpg 20 100 1 37.jpg 12 60 1 38.jpg 20 100 1 39.jpg 20 100 1 40.jpg 20 100 1 % Rata-rata kemiripan 96 100

Pada Tabel 4.4 hasil retrievel gambar Bunga Orange menunjukan rata-rata prosentase kemiripan sebesar 96% sedangkan ratarata prosentase kemiripan kategori sebesar 100%. 4.3.1.5. Uji coba retrieval 3pada gambar Bunga Pink Uji coba yang dilakukan terhadap 10 gambar bunga pink yang ada pada direktori test dan hasil yang ditampilkan adalah 20 gambar dengan urutan nilai prosentase kemiripan dimulai dari yang terbesar sampai yang terkecil. Juga ditampilkan hasil pengelompokan content dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai prosentase kemiripan.

Gambar 4.6. Analisa retrieval beberapa gambar terhadap gambar Bunga Pink 41.jpg

75

Tabel 4.5. Hasil uji coba pada Bunga Pink Gambar Jumlah yang Urutan kemunculan % kemiripan Query keluar kategori bunga pink 41.jpg 20 100 1 42.jpg 18 90 1 43.jpg 20 100 1 44.jpg 16 80 1 45.jpg 19 95 1 46.jpg 18 90 1 47.jpg 20 100 1 48.jpg 20 100 1 49.jpg 20 100 1 50.jpg 19 95 1 % Rata-rata kemiripan 95 100

Pada Tabel 4.5 hasil retrievel gambar Bunga Pink menunjukkan rata-rata prosentase kemiripan sebesar 95% sedangkan rata-rata prosentase kemiripan kategori sebesar 100%.

4.3.1.6. Uji coba Retrieval pada gambar Bunga Putih Uji coba yang dilakukan terhadap 10 gambar bunga putih yang ada pada direktori test dan hasil yang ditampilkan adalah 20 gambar dengan urutan nilai prosentase kemiripan dimulai dari yang terbesar sampai yang terkecil. Juga ditampilkan hasil pengelompokan content dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai prosentase kemiripan.

Gambar 4.7. Analisa retrieval beberapa gambar terhadap gambar Bunga Putih 52.jpg

76

Tabel 4.6. Hasil uji coba pada Bunga Putih Gambar Jumlah yang Urutan kemunculan % kemiripan Query keluar kategori bunga putih 51.jpg 20 100 1 52.jpg 20 100 1 53.jpg 19 95 1 54.jpg 20 100 1 55.jpg 17 85 1 56.jpg 19 95 1 57.jpg 19 95 1 58.jpg 20 100 1 59.jpg 20 100 1 60.jpg 19 95 1 % Rata-rata kemiripan 96,5 100

Pada Tabel 4.6 hasil retrievel gambar Bunga Putih menunjukkan rata-rata prosentase kemiripan sebesar pada 96,5% sedangkan rata-rata prosentase kemiripan kategori sebesar 100%.

4.3.1.7. Uji coba retrieval pada gambar Bunga Ungu Uji coba yang dilakukan terhadap 10 gambar bunga ungu yang ada pada direktori test dan hasil yang ditampilkan adalah 20 gambar dengan urutan nilai prosentase kemiripan dimulai dari yang terbesar sampai yang terkecil. Juga ditampilkan hasil pengelompokan content dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai prosentase kemiripan.

Gambar 4.8. Analisa retrieval beberapa gambar terhadap gambar Bunga Ungu 61.jpg

77

Tabel 4.7. Hasil uji coba pada Bunga Ungu Gambar Jumlah yang Urutan kemunculan % kemiripan Query keluar kategori bunga ungu 61.jpg 19 95 1 62.jpg 19 95 1 63.jpg 18 90 1 64.jpg 15 75 1 65.jpg 14 70 1 66.jpg 16 80 1 67.jpg 13 65 1 68.jpg 19 95 1 69.jpg 20 100 1 70.jpg 20 100 1 % Rata-rata kemiripan 86,5 100

Pada Tabel 4.7 hasil retrievel gambar Bunga Ungu menunjukkan rata-rata prosentase kemiripan sebesar 86,5%. sedangkan ratarata prosentase kemiripan kategori sebesar 100%. Hasil dari uji coba pada 7 kategori gambar di atas dapat disiimpulkan rata-rata prosentase hasil retrieval dan kategori gambar bunga pada tabel 4.8 berikut ini:
Tabel 4.8. Rata-rata prosentase kemiripan image retrieval dan kategorinya % rata-rata % rata-rata kemiripan hasil kemiripan hasil Kategori Gambar retrieval kategori Bungabiru 78 90 Bungakuning 95 100 Bungamerah 87,5 90 Bungaorange 96 100 Bungapink 95 100 Bungaputih 96,5 100 Bungaungu 86,5 100 % rata-rata kemiripan 90.64 97,142

Berdasarkan hasil dari tabel 4.8 di atas, maka dapat diketahui ratarata prosentase kemiripan/kesesuaian berdasarkan ciri warna untuk sampel di atas sebesar 90,64% dengan 97,142% kesesuaian content atau kategorinya. Hasil tersebut menunjukkan bahwa ciri warna sudah dapat membedakan gambar dengan baik.

78

4.3.2. Uji Coba Kemiripan Berdasarkan Ciri Bentuk Proses pengujian dilakukan pada sampel gambar yang berbedabeda. Sampel yang diambil sebanyak 3 sampel dari gambar query. Diambil 3 sampel yang dapat mewakili dari bentuk suatu gambar. Dalam database bunga hanya terdiri dari 3 bentuk yang disamakan yaitu bulat, bintang, dan mawar.

(a)

(b)

79

(c) Gambar 4.9. (a). Sampel bentuk mawar (c). Sampel bentuk bintang (b). Sampel bentuk bulat Tabel 4.9. Hasil uji coba dengan 3 sampel Jumlah yang Gambar Query % kemiripan Urutan kategori keluar 16 80 Mawar Bulat Bintang Bulat Mawar Bintang Bintang Mawar Bulat 100

17

85

14

60

% Rata-rata kemiripan

75

80

Berdasarkan hasil dari tabel 4.8 di atas, maka dapat diketahui ratarata prosentase kemiripan/kesesuaian berdasarkan ciri bentuk untuk sampel di atas sebesar 75% sedangkan kesesuaian kategorinya sudah mendekati 100%. Hasil tersebut menunjukkan bahwa ciri bentuk sudah dapat membedakan gambar dengan baik. Pada setiap gambar bunga rata-rata mempunyai tekstur yang rumit maksudnya antara bentuk bunga satu dengan yang lainnya hampir sama, seperti pada gambar 4.10 sehingga untuk memudahkan proses pengenalan maka gambar tersebut disamakan bentuknya

.
Gambar 4.10. Bentuk bunga yang disamakan bentuknya

4.3.3. Uji Coba Kemiripan Berdasarkan Komposisi Ciri Proses pengujian dilakukan pada sampel gambar yang berbedabeda. Sampel yang diambil sebanyak 3 sampel dengan komposisi ciri warna 70% dan ciri bentuk 30%. Komposisi ciri warna lebih besar daripada komposisi ciri bentuk karena ciri warna merupakan ciri dominan dari suatu gambar.
Tabel 4.10 Hasil uji coba dengan komposisi ciri warna-bentuk 70-30 dengan 3 sampel Gambar Query Jumlah yang % Kemiripan Urutan kategori keluar 17 85 bungakuningbintang

18

90

bungaungubulat

15 % Rata-rata kemiripan

75 83,333

bungapinkmawar

81

Berdasarkan hasil dari tabel 4.10 di atas, maka dapat diketahui prosentase kemiripan/kesesuaian berdasarkan komposisi ciri warna dan ciri bentuk untuk sampel di atas sebesar 83.33%. Hal tersebut menunjukkan bahwa komposisi ciri warna dan ciri bentuk dapat membedakan dengan baik. Sebenarnya output dari program menunjukkan ciri warna yang sesuai yaitu 20 gambar dengan warna yang sama karena digabung dengan ciri bentuk sehingga ada beberapa gambar yang bentuknya tidak sesuai. Hal ini dapat dilihat pada gambar 4.11

Gambar 4.11. Hasil image retrieval komposisi ciri warna dan ciri bentuk

Dalam proyek akhir ini untuk komposisi ciri warna dan ciri bentuk dimana kombinasi warna lebih dominan dari pada ciri bentuknya, setelah dilakukan uji coba dengan komposisi ciri warna antara 70%-90% dan ciri bentuk antara 10%-30% didapat hasil yang relatif sama hanya beda urutan prosentase kemiripan. Hal ini karena dominasi warna besar seandainya dibalik komposisi ciri warna antara 10%-20% dan ciri bentuk 70%-90% didapat hasil kurang lebih sama tetapi masih akurat yang dominasi warna. Hal ini bisa dilihat pada gambar 4.12.

82

(a)

(b) Gambar 4.12. (a) Hasil uji coba dengan komposisi ciri warna-bentuk 70-30 (b) Hasil uji coba dengan komposisi ciri warna-bentuk 90-10

4.4. UJI COBA DI LUAR KETENTUAN Pengujian ini dilakukan dengan menggunakan 3 sampel data gambar bunga query di luar batas yang ditentukan. Hal ini dilakukan dengan maksud mengetahui kemungkinan yang terjadi. Sehingga didapat koreksi dari pembuatan aplikasi web pada proyek akhir ini yang nantinya bisa dikembangkan lebih lanjut.

83

4.4.1. Uji Coba Gambar Bunga Ukuran 60 x 50 Pixel Hasil pengujian dengan gambar bunga pink, kuning dan ungu adalah sebagai berikut :
Tabel 4.11. Image retrieval hasil uji coba gambar bunga dengan ukuran 60 x 50 pixel Gambar % kemiripan ciri % kemiripan % kemiripan Query warna ciri bentuk komposisi 100 10 70

100

70

50

100

30

65

Tabel 4.12. Hasil uji coba gambar bunga dengan ukuran 60 x 50 pixel sesuai kategori Gambar Kategori ciri Kategori ciri Kategori komposisi Query warna bentuk bungakuning mawar bungakuningbintang

bungaungu

bulat

bungaungubulat

bungapink

bulat

bungapinkmawar

Dari tabel 4.11 diperoleh hasil image retrieval untuk kemiripan berdasarkan ciri warna gambar bunga antara gambar query dengan gambar database diperoleh hasil rata-rata mendekati 100% kemiripan hal ini disebabkan karena warna gambar bunga sangat dominan dibanding dengan warna latar belakang gambar. Untuk kemiripan berdasarkan ciri bentuknya dari 3 sampel prosentase hasil image retrievalnya cenderung kecil. Untuk kemiripan berdasarkan kom-

84

posisi ciri dari 3 sampel prosentase hasil image retrievalnya melebihi 50%. Sehingga walaupun ukuran gambar bunga query lebih kecil dari gambar bunga database tidak begitu mempengaruhi hasil image retrievalnya. Sedangkan pada tabel 4.12 hasil uji cobanya menunjukkan bahwa untuk kategori ciri warna dan komposisi sudah mendekati yang sesuai tetapi untuk kategori ciri bentuk jauh dari kesesuaian. Hal ini karena untuk kategori ciri warna dan komposisi warna lebih dominan sedangkan untuk kategori ciri bentuk adanya penskalaan (10 x 10) gambar yang tidak sama antara gambar query dengan gambar database sehingga menghasilkan hasil yang jauh dari kesesuaian. Untuk uji coba pada gambar bunga yang ukuran pixelnya jauh lebih besar dari ukuran yang sebenarnya (100 x 90 pixel) ternyata di dapat hasil yang kurang lebih sama halnya dengan uji coba pada gambar bunga ukuran yang jauh lebih kecil (uji coba gambar bunga ukuran 60 x 50 pixel) dari ukuran sebenarnya.

4.4.2. Uji Coba Gambar Bunga Bertangkai Berikut ini dilakukan uji coba terhadap gambar bunga yang terdiri dari gambar dengan obyek background gambar bunga bertangkai dan lebih dari satu obyek.

(a) 85

(b)

(c)
Gambar 4.13. (a) Uji coba berdasarkan ciri warna (b) Uji coba berdasarkan ciri bentuk (c) Uji coba berdasarkan komposisi ciri

Dari hasil uji coba di atas dapat kita tampilkan dalam bentuk tabel sebagai berikut:

86

Tabel 4.13. Hasil uji coba gambar bunga dengan background obyek bunga lebih dari satu Gambar Query Keterangan

% kemiripan ciri warna % kemiripan ciri bentuk % kemiripan komposisi Urutan 1 kategori ciri warna Urutan 1 kategori ciri bentuk Urutan 1 kategori komposisi

100 55 35 bungakuning bulat bungakuningmawar

benar salah salah

Tampak bahwa untuk hasil retrieval dari hasil uji coba ini menghasilkan image retrieval yang masih baik lebih dari 50 % akurasi kesesuaiannya. Untuk hasil berdasarkan kategori dalam menentukan kategori bunga berdasarkan ciri warnanya masih sesuai tetapi untuk menentukan kategori bunga berdasarkan bentuk dan komposisi terjadi kesalahan dalam menentukan kategori. Hal ini terjadi karena tidak sesuainya bidang gambar bunga dalam database dengan gambar bunga query sehingga dalam menentukan perhitungan data untuk melakukan ekstraksi ciri berbeda dan menghasilkan data yang tidak akurat.

87

== Halaman ini sengaja dikosongkan ==

88

BAB V PENUTUP
5.1 KESIMPULAN Pada bagian ini akan diulas tentang kesimpulan dari seluruh percobaan dan pengujian software image retrieval. Berikut beberapa kesimpulan yang dapat diambil dari percobaan dan pengujian software adalah sebagai berikut: 1. Image retrieval menggunakan 48 warna crayon dilanjutkan dengan ekstraksi ciri warna menggunakan Metode Histogram Interseksi menghasilkan gambar yang sesuai lebih bagus dengan prosentase kemiripan sebesar 90,6% dengan prosentase kesesuaian kategori sebesar 97,142% 2. Image retrieval hasil dari ekstraksi ciri bentuk dengan menggunakan Integral Proyeksi dilanjutkan dengan resampling dan normalisasi menghasilkan gambar yang sesuai dengan prosentase kesesuaian sebesar 75% dengan prosentase kesesuaian kategori mendekati 100%. 3. Image retrieval hasil dari komposisi ciri dari ciri warna dan bentuk menghasilkan gambar yang sesuai dengan prosentase kemiripan/kesesuaian sebesar 83.33% dengan prosentase kesesuaian kategori mendekati 100%. 4. Jumlah data dan atribut gambar seperti latar belakang gambar, kecerahan gambar, ukuran gambar dan bentuk gambar mempengaruhi akurasi pada sistem image retrieval. 5.2 SARAN SARAN Saran-saran yang dapat diambil dari kesimpulan di atas antara lain: 1. Untuk pengembangan lebih lanjut, diharapkan untuk ukuran gambar bisa fleksibel,format file tidak hanya berekstensi JPEG tetapi ekstensi yang lain seperti BMP, GIF, dll 2. Digunakan suatu metode untuk memisahkan gambar dengan backgroundnya untuk menentukan ciri bentuknya. 3. Dalam pengembangannya proyek akhir ini bisa dibuat dengan sistem online dan lebih komplek lagi.

89

== Halaman ini sengaja dikosongkan ==

90

DAFTAR PUSTAKA
[1] Uminsah Wahyuni, Ramadijanti Nana, Wasista Sigit, Content based image retrieval System menggunakan identifikasi pola bentuk menggunakan teknik analisis komponen utama ,Surabaya: PENSITS, [2] Kadir, Abdul,Dasar Pemrograman WEB Dinamis Menggunakan PHP, ANDI, Yogyakarta, 2002. [3] Basuki, Acmad; Ramadijanti, Nana. "Workshop CBIR Menggunakan Matlab", File PPT, 2003 [4] Pramadihanto, Dadet. "Content Based Image/Video Retrieval". File PPT. [5] Asyharuddin, 2004. Content based image retrieval dengan ciri warna dan bentuk, Surabaya: PENS-ITS, [6] Achmad Basuki, Jozua F.Palandi, Fatchurrochman,Pengolahan Citra Digital menggunakan Visual Basic, GRAHA ILMU, Yogyakarta, 2005. [7] MADCOMS,Membuat Aplikasi Database Keryawan Online Berbasis Web dengan PHP dan MySQL, ANDI, Yogyakarta, 2005. [8] Nurhadi, Arifin, Pelabelan Gambar Berdasarkan Content Dalam Sebuah Database Gambar Menggunakan Klasifikasi Ciri Warna Dan Kuantisasi Vektor, Proyek Akhir D3 Jurusan Teknologi Informasi, 2005 [9] Harsono, Tri; Basuki, Achmad & Wahyudi Agung. "Image Retrieval Berdasarkan Warna Menggunakan Histogram Warna dan Metode Pencocokan Histogram Interseksi", RETII. Yogyakarta, Juli 2006. [10]Firmansyah, Eko W. Semantic Image Mining Berdasarkan Warna, Proyek Akhir D4-LJ Jurusan Teknologi Informasi,2007 [11]Astikapuri, Deni. Image Retrieval Menggunakan Segmentasi Warna, Proyek Akhir D4-LJ Jurusan Teknologi Informasi, 2007

91

== Halaman ini sengaja dikosongkan ==

92

BIODATA
Nama Tempat tanggal lahir Orang Tua Alamat Telepon Hobi Cita-cita Motto Riwayat Pendidikan : - SDN 02 Sobontoro, tahun 1991-1997 - SLTP Negeri 2 Tulungagung, tahun 1997-2000 - SMU Negeri 1 Kedungwaru, tahun 2000-2003 - Politeknik Elektronika Negeri Surabaya-ITS, tahun 2003-2008 : Andrianto Susilo : Tulungagung, 18 November 1984 : Tri Santoso dan Sumiani : Ds. Sobontoro No 17 RT 03/RW 03, Kec. Tulungagung 66232 : - 0355-335949 - 085-257-457-556 : futsal, sepak bola, browsing internet : be teacher of the world : Hidup Mulia, Mati Masuk Surga

Penulis telah mengikuti Seminar Proyek Akhir pada tanggal 11 Desember 2007, sebagai salah satu persyaratan untuk memperoleh Gelar Sarjana Saint Terapan (SST).

Be Teacher of The World

93