Upload
awaldp
View
139
Download
0
Embed Size (px)
Citation preview
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
i
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
ii
WEB IMAGE RETRIEVAL UNTUK IDENTIFIKASI BUNGA
DENGAN PENGELOMPOKAN CONTENT MENGGUNAKAN
CIRI WARNA DAN BENTUK
Oleh:
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
Nana Ramadijanti, S.Kom M.Kom NIP. 132 303 872 NIP. 132 206 161
2. Isbat Uzzin Nadlori, S.Kom
Tri Harsono, S.Si, M.Kom NIP. 132 303 873 NIP. 132 093 224
3.
Setia Wardhana, S.T
NIP. 132 310 243 Mengetahui
Ketua Jurusan Teknologi Informasi
Arna Fariza, S.Kom, M.Kom NIP. 132 233 198
ANDRIANTO SUSILO NRP. 7403.040.009
iii
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
iv
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. Test-Drive 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
v
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
vi
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.
vii
DAFTAR ISI
HALAMAN JUDUL i HALAMAN PENGESAHAN ii ABSTRAK iii ABSTRACT iv KATA PENGANTAR v UCAPAN TERIMA KASIH vi DAFTAR ISI vii DAFTAR GAMBAR ix DAFTAR TABEL xi BAB I PENDAHULUAN
1.1. Latar Belakang 1 1.2. Tujuan 2 1.3. Rumusan Masalah 2 1.4. Batasan Masalah 2 1.5. Metodologi 3 1.6. Sistematika Penulisan 3
BAB II TEORI PENUNJANG
2.1. Image Processing 5 2.2. CBIR 6 2.3. Ciri Gambar 7 2.4. Konsep Warna 7 2.5. Segmentasi 9 2.6. Histogram 10 2.7. Histogram Interseksi 12 2.8. Gray-scale 13 2.9. Edge Detection 14 2.10. Filter Gaussian 15 2.11. Integral Proyeksi 15 2.12. Resampling dan Normalisasi 15 2.13. Image Matching 17 2.14. Web Dinamis dengan PHP 18
2.14.1. Konsep Kerja PHP 19 2.14.2. Library GD 19
2.15. MySQL 20 BAB III PERANCANGAN DAN PEMBUATAN SISTEM
3.1. Perancangan Data 23 3.2. Perancangan Sistem Web 33
3.2.1. Sitemap 33
viii
3.3. Blok Diagram 40 3.4. Ekstraksi Ciri 41
3.4.1. Ekstraksi Ciri Warna 41 3.4.2. Ekstraksi Ciri Bentuk 49
3.5. Image Matching 63 3.5.1. Kemiripan Gambar Berdasarkan Ciri Warna 64 3.5.2. Kemiripan Gambar Berdasarkan Ciri Bentuk 65 3.5.3. Kemiripan Gambar Berdasarkan Komposisi Ciri Warna dan Ciri Bentuk 66
BAB IV ANALISA HASIL SISTEM
4.1. Umum 69 4.2. Spesifikasi Uji Coba 70
4.3. Uji Coba Proses Kemiripan 70 4.3.1. Uji CobaKemiripan Berdasarkan Ciri Warna 70
4.3.1.1. Uji Coba Retrieval Pada Gambar Bunga Biru 71
4.3.1.2. Uji Coba Retrieval Pada Gambar Bunga Kuning 72
4.3.1.3. Uji Coba Retrieval Pada Gambar Bunga Merah 73
4.3.1.4. Uji Coba Retrieval Pada Gambar Bunga Orange 74
4.3.1.5. Uji Coba Retrieval Pada Gambar Bunga Pink 75
4.3.1.6. Uji Coba Retrieval Pada Gambar Bunga Putih
76
4.3.1.7. Uji Coba Retrieval Pada Gambar Bunga Ungu 77
4.3.2. Uji Coba Kemiripan Berdasarkan Ciri Bentuk 79 4.3.3. Uji Coba Kemiripan Berdasarkan Komposisi Ciri 81
4.4. Uji Coba di Luar Ketentuan 83 4.4.1. Uji Coba Gambar Bunga Ukuran 60 x 50 Pixel 85 4.4.2. Uji Coba Gambar Bunga Bertangkai BAB V PENUTUP
5.1. Kesimpulan 89 5.2. Saran 89
DAFTAR PUSTAKA 91
ix
DAFTAR GAMBAR Gambar 1.1. Contoh query image basis text di Google 1 Gambar 2.1. Konsep warna 8 Gambar 2.2. RGB 24-bit color cube 8 Gambar 2.3. Pemetaan RGB cube dengan sumbu x,y,z 9 Gambar 2.4. Pencampuran warna dasar RGB 9 Gambar 2.5. Region merging 10 Gambar 2.6. Warna pada tiap pixel 11 Gambar 2.7. Grafik histogram warna 11 Gambar 2.8. Grafik probability density function 12 Gambar 2.9. Gambar dan histogram integral proyeksi 15 Gambar 2.10. Contoh penghitungan integral proyeksi 16 Gambar 2.11. Contoh proses resampling 16 Gambar 2.12. 1 Client request 19 Gambar 2.13. Arsitek dari aplikasi Web 21 Gambar 3.1. Tabel Fitur 27 Gambar 3.2. Tabel Vektor 28 Gambar 3.3. Tabel avrg48 fitur warna 31 Gambar 3.4. Tabel hasilcmpr 32 Gambar 3.5. Database Bunga 32 Gambar 3.6. Sitemap pembuatan web dalam proyek akhir ini. 33 Gambar 3.7. Tampilan halaman web index.php 34 Gambar 3.8. Tampilan halaman web search.php 34 Gambar 3.9. Tampilan halaman web warna.php 35 Gambar 3.10. Tampilan halaman web bentuk.php 36 Gambar 3.11. Tampilan halaman web campur.php 36 Gambar 3.12. Tampilan halaman web book.php 37 Gambar 3.13. Tampilan halaman web profile.php 37 Gambar 3.14. Tampilan halaman web admin.php 38 Gambar 3.15. Tampilan halaman web entry.php 39 Gambar 3.16. Tampilan halaman web opentamu.php 39 Gambar 3.17. Blok diagram image searching 40 Gambar 3.18. Flowchart ekstraksi cirri warna 42 Gambar 3.19. Pengambilan RGB 48 warna 43 Gambar 3.20. Distribusi Warna Crayon 48 warna 44 Gambar 3.21. Segmentasi 48 warna Crayon 45 Gambar 3.22. Flowchart proses segmentasi warna 46 Gambar 3.23. Flowchart proses PDF 47 Gambar 3.24. Flowchart proses histogram interseksi 48 Gambar 3.25. Flowchart proses proses ekstraksi cirri bentuk 49 Gambar 3.26. Flowchart proses gray-scale 50 Gambar 3.27. Flowchart proses edge detection 53
x
Gambar 3.28. Flowchart proses integral proyeksi baris 55 Gambar 3.29. Flowchart proses integral proyeksi kolom 56 Gambar 3.30. Contoh vektor baris dan kolom dengan skala 3x3 57 Gambar 3.31. Flowchart proses resampling 59 Gambar 3.32. Flowchasrt proses normalisasi 61 Gambar 3.33. Proses image searching 63 Gambar 3.34. Hasil image matching terhadap ciri warna 64 Gambar 3.35. Hasil image matching terhadap ciri bentuk 65 Gambar 3.36. Hasil image matching terhadap komposisi ciri 67 Gambar 4.1. Contoh Visualisasi Proses Pencarian Bunga. 70 Gambar 4.2. Analisa retrieval beberapa gambar terhadap gambar Bunga Biru 1.jpg 71
Gambar 4.3. Analisa retrieval beberapa gambar terhadap gambar Bunga Kuning 82.jpg 72
Gambar 4.4. Analisa retrieval beberapa gambar terhadap gambar Bunga Merah 21.jpg 73
Gambar 4.5. Analisa retrieval beberapa gambar terhadap gambar Bunga Orange 31.jpg 74
Gambar 4.6. Analisa retrieval beberapa gambar terhadap gambar Bunga Pink 41.jpg 75
Gambar 4.7. Analisa retrieval beberapa gambar terhadap gambar Bunga Putih 51.jpg 76
Gambar 4.8. Analisa retrieval beberapa gambar terhadap gambar Bunga Ungu 61.jpg 77
Gambar 4.9. (a). Sampel 1 (b). Sampel 2 (c). Sampel 3 79 Gambar 4.10. Bentuk bunga yang disamakan bentuknya 81 Gambar 4.11. Hasil image retrieval komposisi ciri warna dan ciri bentuk 82 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
83
Gambar 4.13. (a) Uji coba berdasarkan ciri warna (b) Uji coba berdasarkan ciri bentuk (c) Uji coba berdasarkan komposisi ciri
85
xi
DAFTAR TABEL Tabel 3.1 Tabel fitur48. 24 Tabel 3.2 Tabel vektor 27 Tabel 3.3 Tabel avrg48 29 Tabel 3.4 Tabel hasilcmpr 32 Tabel 3.5 Warna 48 Crayon 43 Tabel 4.1 Hasil uji coba pada Bunga Biru 71 Tabel 4.2 Hasil uji coba pada Bunga Kuning 72 Tabel 4.3 Hasil uji coba pada Bunga Merah 74 Tabel 4.4 Hasil uji coba pada Bunga Orange 75 Tabel 4.5 Hasil uji coba pada Bunga Pink 76 Tabel 4.6 Hasil uji coba pada Bunga Putih 77 Tabel 4.7 Hasil uji coba pada Bunga Ungu 78 Tabel 4.8 Rata-rata prosentase kemiripan image retrieval dan kategorinya 78 Tabel 4.9 Hasil uji coba dengan 3 sampel 80 Tabel 4.10 Hasil uji coba dengan komposisi ciri warna-bentuk 70-30 dengan 3 sampel 81
Tabel 4.11. Image retrieval hasil pengujian gambar bunga dengan ukuran 60 x 50 pixel 84
Tabel 4.12. Hasil uji coba gambar bunga dengan ukuran 60 x 50 pixel sesuai kategori 84
Tabel 4.13. Hasil uji coba gambar bunga dengan background obyek bungalebih dari satu
87
1
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 membe-rikan konsekuensi waktu komputasi yang tinggi dikarenakan harus memproses dimensi data gambar yang besar.
2
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 komputa-sinya, 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 eks-
traksi bunga.
b. Bagaimana melakukan identifikasi dan pengelompokan bunga dengan ciri warna dan bentuk bunga.
c. 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.
3
1.5 METODOLOGI Untuk mencapai penyelesain proyek akhir, diperlukan langkah-
langkah 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.
4
== Halaman ini sengaja dikosongkan ==
5
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 tekno-logi 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 mempro-ses 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
6
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), resto-rasi gambar (image restoration), dan transformasi spasial (spatial transformation). Subyek lain dari pengolahan gambar digital dianta-ranya adalah pengkodean gambar (image coding), segmentasi gambar (image segmentation), representasi dan diskripsi gambar (image repre-sentation 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, kompu-ter 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 kare-na 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 :
7
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
8
tersebut digabungkan, maka akan menghasilkan warna lain. Penggabu-ngan warna tersebut bergantung pada warna pokok dimana tiap-tiap warna memiliki nilai 256 (8 bit).
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.
(255, 0, 0)
(255, 255, 0)
(255, 255, 255)
(0, 255, 0)
(0, 0, 255)
(128,128,128)
(255, 0, 255)
(0, 0, 0)
9
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 sebe-lahnya adalah 1. Pada gambar 2.5(a) menunjukkan distribusi awal gam-bar 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.
10
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 histo-gram 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 histo-gram. Misalkan pada gambar RGB, salah satu transformnya didefini-sikan sebagai berikut :
m = r+Nr g+NrNgb(2.2) (2.2)
11
dimana Nr, Ng, dan Nb merupakan jumlah nilai biner dari warna merah, biri, dan hijau secara berturut-turut. Untuk mendapatkan Color histo-gram menggunakan persamaan sebagai berikut :
},,|),,{(,, IbIgIrbgrH bgr = (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
12
Probability Density Function
image
bgrbgr N
HP ),,(),,( = (2.4)
Gambar 2.8. Grafik probability density function
Norm histogram
)( ),,(),,(
),,(bgr
bgrbgr HMax
HP = (2.5)
2.7 HISTOGRAM INTERSEKSI Histogram interseksi melakukan perhitungan jarak dengan mem-
bandingkan dua histogram h1 dan h2 dan terhadap n bin dengan meng-ambil nilai interseksi dari kedua histogram tersebut.
n
=ii
n
=iii
H
h1
)h2,(h1=h2)(h1,D
1
1min
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 :
13
h1n= h1
i= 1
n
h1i. (2.7)
Untuk histogram yang ternormalisasi (jumlah total sama dengan 1), interseksi histogram adalah :
n
=i
nnnH i
nh2
in
h1=)h2,(h1D1
1 (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 dihilang-kan 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:
3
bgrs ++= (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
14
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 High-Pass-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)
=101202101
y
Persamaan untuk kernel x (vertical)
15
=
121000121
x
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
16
Gambar 2.10. Contoh penghitungan integral proyeksi
2.12 RESAMPLING DAN NORMALISASI Resampling adalah suatu metode yang digunakan untuk penge-
nalan suatu gambar dengan cara mengambil sampel yang tepat. Sam-pling pada image adalah resolusi dari image itu sendiri, atau menyatakan banyaknya pixel yang digunakan untuk dapat menyajikan gambar. Se-makin 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 gam-bar yang dimatching tersebut selalu antara nol sampai dengan satu.
Untuk setiap pixel ke-k pada vektor kolom dinormalisasi dengan rumus :
17
(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 pen-carian. 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 :
|| )()( Qdb VVd = (2.14) Dimana )(dbV dan )(QV 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.
18
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 meng-eksekusi 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 terlan-jur dibuat di masa lalu dengan CGI, ISAP, atau dengan script seperti perl, Awk atau python selama proses migrasi ke aplikasi baru yang di-buat 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 ser-ver, 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 coo-kies dan masih banyak lagi. Kemampuan untuk database juga sangat handal.
Pada awalnya, PHP berjalan di lingkungan Linux karena merupa-kan turunan dari bahasa Perl yang merupakan bahasa pemprograman native di lingkungan Linux. Namun seiring perkembangan dan kebutu-han maka PHP dibuat secara lintas platform. PHP dapat bekerja diling-kungan 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 milis-milis dan developer yang siap membantu dalam pengembangan.
19
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 se-gera 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
20
2. 14. 2 LIBRARY GD PHP memungkinkan programmer membuat gambar seperti garis,
kotak, polygon, serta grafik. PHP melalui GD Library memiliki kemam-puan 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 misal-nya 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 un-tuk citra truecolor, channel alfa, resampling(merubah ukuran citra true-color) 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.sourcefor-ge.net), UebiMiau, dan Awstat (awstats.sourceforge.net). Juga modul-modul perl, tcl, phyton beserta manualnya. Download dulu Apache2-Triad 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
21
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 meng-gunakan 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 da-pat men-download MySQL dari internet dan menggunakannya tanpa membayar apapun.
Database MySQL sangat cepat, reliable, dan mudah untuk digu-nakan, 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 mempresen-tasikan 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 meng-gunakan web server, anda dapat melihat data-data tersebut dengan mengunjugi URL dengan menggunakan browser seperti Konqueor, opera atau IE.
22
== Halaman ini sengaja dikosongkan ==
23
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 ke-seluruhan sistem web dengan integrasinya terhadap database untuk me-lakukan penyimpanan data, serta pengaturan sistem agar dapat mela-kukan 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 meng-gunakan 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 se-hingga menjadi ukuran yang kecil supaya dalam proses tidak memper-lama 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 diba-gi menjadi dua direktori yaitu test dan training. Direktori test berisi 70 gambar yang nanti akan digunakan sebagai gambar query. Pada di-rektori training terdiri dari 560 gambar yang akan digunakan sebagai gambar database. Adapun objek gambar yang digunakan adalah katego-ri 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)
24
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 di-gunakan dalam menyimpan nilai fitur warna obyek bunga :
Tabel 3.1. Tabel fitur48 Nama Field Tipe Data Ukuran Keterangan
namafile Varchar 50 Menyimpan nama file obyek Varchar 50 Menyimpan kategori bunga
w1 Float - Menyimpan nilai pdf pada segmentasi 1
w2 Float - Menyimpan nilai pdf pada segmentasi 2
w3 Float - Menyimpan nilai pdf pada segmentasi 3
w4 Float - Menyimpan nilai pdf pada segmentasi 4
w5 Float - Menyimpan nilai pdf pada segmentasi 5
w6 Float - Menyimpan nilai pdf pada segmentasi 6
w7 Float - Menyimpan nilai pdf pada segmentasi 7
w8 Float - Menyimpan nilai pdf pada segmentasi 8
w9 Float - Menyimpan nilai pdf pada segmentasi 9
w10 Float - Menyimpan nilai pdf pada segmentasi 10
w11 Float - Menyimpan nilai pdf pada segmentasi 11
w12 Float - Menyimpan nilai pdf pada segmentasi 12
w13 Float - Menyimpan nilai pdf pada segmentasi 13
25
Nama Field Tipe Data Ukuran Keterangan
w14 Float - Menyimpan nilai pdf pada segmentasi 14
w15 Float - Menyimpan nilai pdf pada segmentasi 15
w16 Float - Menyimpan nilai pdf pada segmentasi 16
w17 Float - Menyimpan nilai pdf pada segmentasi 17
w18 Float - Menyimpan nilai pdf pada segmentasi 18
w19 Float - Menyimpan nilai pdf pada segmentasi 19
w20 Float - Menyimpan nilai pdf pada segmentasi 20
w21 Float - Menyimpan nilai pdf pada segmentasi 21
w22 Float - Menyimpan nilai pdf pada segmentasi 22
w23 Float - Menyimpan nilai pdf pada segmentasi 23
w24 Float - Menyimpan nilai pdf pada segmentasi 24
w25 Float - Menyimpan nilai pdf pada segmentasi 25
w26 Float - Menyimpan nilai pdf pada segmentasi 26
w27 Float - Menyimpan nilai pdf pada segmentasi 27
w28 Float - Menyimpan nilai pdf pada segmentasi 28
w29 Float - Menyimpan nilai pdf pada segmentasi 29
w30 Float - Menyimpan nilai pdf pada segmentasi 30
w31 Float - Menyimpan nilai pdf pada segmentasi 31
w32 Float - Menyimpan nilai pdf pada segmentasi 32
w33 Float - Menyimpan nilai pdf pada segmentasi 33
w34 Float - Menyimpan nilai pdf pada segmentasi 34
26
Nama Field Tipe Data Ukuran Keterangan
w35 Float - Menyimpan nilai pdf pada segmentasi 35
w36 Float - Menyimpan nilai pdf pada segmentasi 36
w37 Float - Menyimpan nilai pdf pada segmentasi 37
w38 Float - Menyimpan nilai pdf pada segmentasi 38
w39 Float - Menyimpan nilai pdf pada segmentasi 39
w40 Float - Menyimpan nilai pdf pada segmentasi 40
w41 Float - Menyimpan nilai pdf pada segmentasi 41
w42 Float - Menyimpan nilai pdf pada segmentasi 42
w43 Float - Menyimpan nilai pdf pada segmentasi 43
w44 Float - Menyimpan nilai pdf pada segmentasi 44
w45 Float - Menyimpan nilai pdf pada segmentasi 45
w46 Float - Menyimpan nilai pdf pada segmentasi 46
w47 Float - Menyimpan nilai pdf pada segmentasi 47
w48 Float - Menyimpan nilai pdf pada segmentasi 48
error Float - Menyimpan nilai error hasil histogram interseksi
persenerror Int 11 Menyimpan prosentase nilai error.
27
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 Tipe Data Ukuran Keterangan
namafile Varchar 50 Menyimpan nama file obyek Varchar 50 Menyimpan kategori bunga
v1 Float - Menyimpan nilai normalisasi indek 1
v2 Float - Menyimpan nilai normalisasi indek 2
v3 Float - Menyimpan nilai normalisasi indek 3
v4 Float - Menyimpan nilai normalisasi indek 4
v5 Float - Menyimpan nilai normalisasi indek 5
v6 Float - Menyimpan nilai normalisasi indek 6
v7 Float - Menyimpan nilai normalisasi indek 7
v8 Float - Menyimpan nilai normalisasi indek 8
v9 Float - Menyimpan nilai normalisasi indek 9
v10 Float - Menyimpan nilai normalisasi indek 10
28
Nama Field Tipe Data Ukuran Keterangan
v11 Float - Menyimpan nilai normalisasi indek 11
v12 Float - Menyimpan nilai normalisasi indek 12
v13 Float - Menyimpan nilai normalisasi indek 13
v14 Float - Menyimpan nilai normalisasi indek 14
v15 Float - Menyimpan nilai normalisasi indek 15
v16 Float - Menyimpan nilai normalisasi indek 16
v17 Float - Menyimpan nilai normalisasi indek 17
v18 Float - Menyimpan nilai normalisasi indek 18
v19 Float - Menyimpan nilai normalisasi indek 19
jarak Float - Menyimpan jarak kedekatan gambar query dengan gambar database
error Float - Menyimpan nilai error
Gambar 3.2. Tabel vektor
29
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 Tipe Data Ukuran Keterangan
obyek Varchar 50 Menyimpan kategori bunga
av1 Float - Menyimpan nilai pdf pada segmentasi 1
av2 Float - Menyimpan nilai pdf pada segmentasi 2
av3 Float - Menyimpan nilai pdf pada segmentasi 3
av4 Float - Menyimpan nilai pdf pada segmentasi 4
av5 Float - Menyimpan nilai pdf pada segmentasi 5
av6 Float - Menyimpan nilai pdf pada segmentasi 6
av7 Float - Menyimpan nilai pdf pada segmentasi 7
av8 Float - Menyimpan nilai pdf pada segmentasi 8
av9 Float - Menyimpan nilai pdf pada segmentasi 9
av10 Float - Menyimpan nilai pdf pada segmentasi 10
av11 Float - Menyimpan nilai pdf pada segmentasi 11
av12 Float - Menyimpan nilai pdf pada segmentasi 12
av13 Float - Menyimpan nilai pdf pada segmentasi 13
av14 Float - Menyimpan nilai pdf pada segmentasi 14
av15 Float - Menyimpan nilai pdf pada segmentasi 15
av16 Float - Menyimpan nilai pdf pada segmentasi 16
30
Nama Field Tipe Data Ukuran Keterangan
av17 Float - Menyimpan nilai pdf pada segmentasi 17
av18 Float - Menyimpan nilai pdf pada segmentasi 18
av19 Float - Menyimpan nilai pdf pada segmentasi 19
av20 Float - Menyimpan nilai pdf pada segmentasi 20
av21 Float - Menyimpan nilai pdf pada segmentasi 21
av22 Float - Menyimpan nilai pdf pada segmentasi 22
av23 Float - Menyimpan nilai pdf pada segmentasi 23
av24 Float - Menyimpan nilai pdf pada segmentasi 24
av25 Float - Menyimpan nilai pdf pada segmentasi 25
av26 Float - Menyimpan nilai pdf pada segmentasi 26
av27 Float - Menyimpan nilai pdf pada segmentasi 27
av28 Float - Menyimpan nilai pdf pada segmentasi 28
av29 Float - Menyimpan nilai pdf pada segmentasi 29
av30 Float - Menyimpan nilai pdf pada segmentasi 30
av31 Float - Menyimpan nilai pdf pada segmentasi 31
av32 Float - Menyimpan nilai pdf pada segmentasi 32
av33 Float - Menyimpan nilai pdf pada segmentasi 33
av34 Float - Menyimpan nilai pdf pada segmentasi34
av35 Float - Menyimpan nilai pdf pada segmentasi 35
av36 Float - Menyimpan nilai pdf pada segmentasi 36
av37 Float - Menyimpan nilai pdf pada segmentasi 37
31
Nama Field Tipe Data Ukuran Keterangan
av38 Float - Menyimpan nilai pdf pada segmentasi 38
av39 Float - Menyimpan nilai pdf pada segmentasi 39
av40 Float - Menyimpan nilai pdf pada segmentasi 40
av41 Float - Menyimpan nilai pdf pada segmentasi 41
av42 Float - Menyimpan nilai pdf pada segmentasi 42
av43 Float - Menyimpan nilai pdf pada segmentasi 43
av44 Float - Menyimpan nilai pdf pada segmentasi 44
av45 Float - Menyimpan nilai pdf pada segmentasi 45
av46 Float - Menyimpan nilai pdf pada segmentasi 46
av47 Float - Menyimpan nilai pdf pada segmentasi 47
av48 Float - Menyimpan nilai pdf pada segmentasi 48
error Float - Menyimpan nilai error hasil histogram interseksi
Gambar 3.3. Tabel avrg48 fitur warna
32
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
Tipe Data Ukuran Keterangan
namafile Varchar 50 Menyimpan nama file Obyek Varchar 50 Menyimpan kategori bunga
Erwarna int 10 Menyimpan nilai error dari proses ekstraksi ciri warna
Erbentuk Float - Menyimpan nilai error dari proses ekstraksi ciri bentuk
errortot int 10 Menyimpan gabungan nilai error dari proses ekstraksi ciri warna dan ciri bentuk
Gambar 3.4. Tabel hasilcmpr
Gambar 3.5. Database bunga
33
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 perbe-daan terhadap kegiatan dalam melakukan sistem ini. Administrator me-miliki 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 meng-akses data yang tidak berhak untuk diakses. 3.2.1 SITEMAP
Pembuatan web untuk tugas akhir ini memiliki peta situs sebagai berikut:
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 brow-sernya. Halaman ini hanya berisi informasi tentang layanan yang akan disediakan oleh situs ini dan link-link ke halaman yang lain.
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
34
Gambar 3.7. Tampilan halaman web index.php
2. Search.php
Digunakan untuk melalukan proses pencarian gambar bunga. Hala-man 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
35
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 pro-ses pencarian gambar bunga diantaranya tombol browse untuk input gambar bunga dan tombol search untuk memulai penca-rian gambar bunga sekaligus untuk menampilkan 20 gambar bunga yang sesuai dengan fitur ciri warna dan kategorinya. Da-lam 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.
36
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 me-nampilkan 20 gambar bunga yang sesuai dengan fitur ciri war-na dan bentuknya serta kategorinya. Dalam proyek akhir ini halaman web ini bernama campur.php.
Gambar 3.11. Tampilan halaman web campur.php
37
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
38
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 pe-ngeditan 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 ni-lai 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 ditam-pilkan, dan dapat pula menghapus isinya apabila sudah ter-lalu 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
39
2. Entry.php Halaman web ini digunakan untuk memasukkan nilai dari fitur- fitur warna dan bentuk dari gambar database dalam folder training. Nilai fitur-fitur ini akan disimpan sebagai nilai data-base 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
40
Gambar Query
3.3. BLOK DIAGRAM Disini diterangkan bagaimana merencanakan program untuk
identifikasi bunga. Langkah pembuatannya seperti pada blok diagram berikut :
Gambar Training
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-
Ekstraksi Fitur
Ekstraksi Fitur
Fitur database dari gambar bunga dan informasi bunga
Match &
retrieval
Informasi dan gambar retrieval (urutan error
terkecil)
41
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 gam-bar query dan gambar database yang ditunjukkan dengan nilai pro-sentase.
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 kenya-taannya 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:
42
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:
START
Segmentasi warna
Histogram warna
Histogram interseksi
Distribusi warna
FINISH
43
Gambar 3.19 Pengambilan RGB 48 warna
Tabel 3.5 Warna 48 Crayon
No R G B 0 188 138 33 1 42 40 113 2 53 48 55 3 158 63 131 4 26 28 41 5 28 130 44 6 91 48 42 7 2 111 69 8 170 189 193 9 61 79 79
10 0 155 96 11 150 169 186 12 24 83 87 13 1 93 134 14 188 177 1 15 42 74 87 16 64 46 46 17 40 93 68 18 31 127 100 19 193 61 110 20 198 99 145 21 230 201 157 22 209 74 19 23 96 118 53 24 95 164 221
44
No R G B 25 33 24 141 26 203 47 22 27 10 88 188 28 76 117 222 29 123 227 216 30 150 141 222 31 62 56 154 32 190 161 197 33 230 143 14 34 14 98 98 35 227 246 252 36 117 121 130 37 179 161 111 38 114 49 47 39 66 34 99 40 171 36 51 41 117 28 58 42 21 154 89 43 149 91 87 44 255 201 101 45 217 215 70 46 145 124 41 47 14 122 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 mengelom-pokkan gambar sesuai dengan obyek gambarnya. Setelah menentu-kan berapa banyak distribusi warna yang digunakan maka tiap gambar yang ada dilakukan segmentasi warna. Gambar database terlebih dahulu di segmentasi sebelum disimpan di database. Gam-bar query juga di segmentasi terlebih dahulu sebelum dibandingkan dengan gambar database.
45
Gambar 3.21. Segmentasi 48 warna Crayon
Warna acuan:
( ) ( ) ( )( )222 bbggrre iiii ++= (3.1)
Adapun source code dari rumusan diatas sebagai berikut :
Berikut ini ditampilkan flowchart untuk proses segmentasi warna:
$emin = sqrt(pow(($r - $wr[0]),2) + pow(($g - $wg[0]),2) + pow(($b - $wb[0]),2)); for($k=1;$k
46
Gambar 3.22. Flowchart proses segmentasi warna.
47
c. Histogram Pada tahap ini menghitung nilai Probability Density Function dari hasil proses segmentasi
image
bgrbgr N
HP ),,(),,( = (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.
Berikut ini flowchart proses PDF.
Gambar 3.23. Flowchart proses PDF.
$tothis=0; for($i=0;$i
48
d. Histogram Interseksi Histogram interseksi digunakan untuk menentukan jarak antara dua histogram yaitu histogram dari gambar query dengan gambar data-base. Jarak minimum ini menentukan kedekatan antara dua obyek. Berikut ini adalah penggalan program untuk menentukan nilai histogram interseksi.
Berikut ini flowchart proses histogram interseksi.
Gambar 3.24 Flowchart proses histogram interseksi
$totmin=array(),$n=0; $hasil=mysql_query("SELECT * FROM fitur48"); while($row=mysql_fetch_array($hasil)) {
for($i=0;$i
49
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 men-jadi warna dengan intensitas 0 sampai 255 dan proses ini disebut juga dengan proses perhitungan derajat keabuan, untuk perhitu-ngannya adalah sebagai berikut :
50
(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
51
Berikut ini adalah penggalan program untuk mengubah gambar R,G,B menjadi gambar gray.
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).
//gray $n1 = 0; $ratabiner = 0; $batasbiner = 0; $tempgray = array(); for ($i=0; $i 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
52
b. Proses Bluring yaitu proses yang digunakan untuk menghaluskan mengaburkan gambar. Berikut ini penggalan program dari proses bluring.
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
//blur filter for ($i=0;$i
53
perhitungan deteksi tepi. Kernel filter yang digunakan dalam metode sobel ini adalah:
Sebelum melakukan proses edge detection, warna gambar di-biner-kan. 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
54
Berikut ini ditampilkan penggalan program untuk mencari deteksi tepi menggunakan metode sobel.
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:
//proses filter sobel $tempedge=array(); for($i=0;$i
55
Berikut ini flowchart untuk proses integral proyeksi untuk menda-patkan nilai baris.
Gambar 3.28. Flowchart proses integral proyeksi baris
for($i=0;$i
56
Berikut ini flowchart untuk proses integral proyeksi untuk menda-patkan nilai kolom.
Gambar 3.29. Flowchart proses integral proyeksi kolom
e. Proses Resampling dari nilai integral proyeksi dengan cara meng-
ambil 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:
57
(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
(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.
Skala = k
58
X = 123 + 123 + 123 X =369 Hasil dari penjumlahan matrik diatas adalah : 369
o 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
59
Berikut ini flowchart untuk proses resampling.
Gambar 3.31. Flowchart proses resampling
60
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 $tempkuin) { $tempkuin = $tempkuina[$i];
} } for($i=0; $i
61
Berikut ini flowchart untuk proses normalisasi.
62
Gambar 3.32. Flowchart proses normalisasi
63
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 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:
|| )()( Qdb VVd = (3.5) Dimana )(dbV dan )(QV 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.
Gambar Database
Gambar Query
Ekstraksi
Ekstraksi
Image Matching
Hasil Kemiripan
64
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.
Gambar 3.34. Hasil image matching terhadap ciri warna
3.5.2 Kemiripan Gambar Berdasarkan Ciri Bentuk
$totmin=array(),$n=0; $hasil=mysql_query("SELECT * FROM fitur48"); while($row=mysql_fetch_array($hasil)) { for($i=0;$i
65
Untuk mendapatkan nilai kemiripan gambar berdasarkan ciri ben-tuk, metode yang digunakan sama, tetapi data yang dibandingkan berupa vektor. Berikut ini adalah penggalan program fungsi perhitungan kemiripan gambar berdasarkan ciri bentuk:
Gambar 3.35. Hasil image matching terhadap 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
66
3.5.3 Kemiripan Gambar Berdasarkan Komposisi Ciri Warna dan Ciri Bentuk
Untuk mendapatkan nilai kemiripan gambar berdasarkan kom-posisi ciri adalah membandingkan data ciri warna dan bentuk. Sedang-kan 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
67
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
$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]'"); }
68
== Halaman ini sengaja dikosongkan ==
69
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 Apa-che2Triad 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 = %100_
__ gambarjumlah
keluaryangjumlah (4.1)
Keterangan: % Kemiripan : 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 = (4.2) 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 :
70
Jumlah gambar yang muncul pada urutan 1 x 100 (4.3)
Jumlah gambar pada kategori
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 pro-sentase kemiripan diantara gambar database dan gambar acuan akan didapat gambar yang sesuai.
71
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 con-tent dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai pro-sentase kemiripan.
Gambar 4.2. Analisa retrieval beberapa gambar terhadap gambar Bunga
Biru 1.jpg
Tabel 4.1. Hasil uji coba pada Bunga Biru Gambar Query
Jumlah yang keluar % kemiripan
Urutan kemunculan 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
72
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 pengelom-pokan 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
Tabel 4.2. Hasil uji coba pada Bunga Kuning Gambar Query
Jumlah yang keluar % kemiripan
Urutan kemunculan kategori bunga kuning
11.jpg 12 60 1 12.jpg 20 100 1 13.jpg 20 100 1 14.jpg 18 90 1 15.jpg 20 100 1 16.jpg 20 100 1
73
Gambar Query
Jumlah yang keluar % kemiripan
Urutan kemunculan kategori bunga kuning
17.jpg 20 100 1 18.jpg 20 100 1 19.jpg 20 100 1 20.jpg 20 100 1
% Rata-rata kemiripan 95 100
Pada Tabel 4.2 hasil retrievel gambar Bunga Kuning me-nunjukkan 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 pengelom-pokan 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
74
Tabel 4.3. Hasil uji coba pada Bunga Merah Gambar Query
Jumlah yang keluar % kemiripan
Urutan kemunculan 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 pengelom-pokan 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
75
Tabel 4.4. Hasil uji coba pada Bunga Orange Gambar Query
Jumlah yang keluar % kemiripan
Urutan kemunculan 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 menun-
jukan rata-rata prosentase kemiripan sebesar 96% sedangkan rata-rata 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 con-tent dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai pro-sentase kemiripan.
Gambar 4.6. Analisa retrieval beberapa gambar terhadap gambar
Bunga Pink 41.jpg
76
Tabel 4.5. Hasil uji coba pada Bunga Pink Gambar Query
Jumlah yang keluar % kemiripan
Urutan kemunculan 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 menunjuk-
kan 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 con-tent dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai pro-sentase kemiripan.
Gambar 4.7. Analisa retrieval beberapa gambar terhadap gambar Bunga
Putih 52.jpg
77
Tabel 4.6. Hasil uji coba pada Bunga Putih Gambar Query
Jumlah yang keluar % kemiripan
Urutan kemunculan 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 menunjuk-kan 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 con-tent dimana urutan pertama menunjukkan kategori dari gambar bunga yang dicari. Keterangan dibawah gambar adalah nilai pro-sentase kemiripan.
Gambar 4.8. Analisa retrieval beberapa gambar terhadap gambar Bunga
Ungu 61.jpg
78
Tabel 4.7. Hasil uji coba pada Bunga Ungu Gambar Query
Jumlah yang keluar % kemiripan
Urutan kemunculan 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 menunjuk-kan rata-rata prosentase kemiripan sebesar 86,5%. sedangkan rata-rata 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
Kategori Gambar % rata-rata
kemiripan hasil retrieval
% rata-rata kemiripan hasil
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 rata-
rata prosentase kemiripan/kesesuaian berdasarkan ciri warna untuk sam-pel di atas sebesar 90,64% dengan 97,142% kesesuaian content atau kategorinya. Hasil tersebut menunjukkan bahwa ciri warna sudah dapat membedakan gambar dengan baik.
79
4.3.2. Uji Coba Kemiripan Berdasarkan Ciri Bentuk Proses pengujian dilakukan pada sampel gambar yang berbeda-
beda. Sampel yang diambil sebanyak 3 sampel dari gambar query. Di-ambil 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)
80
(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
Gambar Query Jumlah yang keluar % kemiripan Urutan kategori
16 80 Mawar Bulat
Bintang
17 85 Bulat
Mawar Bintang
14 60 Bintang Mawar Bulat
% Rata-rata kemiripan 75 100
81
Berdasarkan hasil dari tabel 4.8 di atas, maka dapat diketahui rata-rata 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 penge-nalan maka gambar tersebut disamakan bentuknya
. Gambar 4.10. Bentu