RERANKING GOOGLE IMAGE DENGAN METODE BAG BASED
Laporan Tugas Akhir
Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
oleh: Muhammad Iqbal 08560151
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG MEI 2014
i
LEMBAR PERSETUJUAN
RERANKING GOOGLE IMAGE DENGAN METODE BAG BASED
Muhammad Iqbal 08560151
Telah direkomendasikan untuk diajukan sebagai Judul Tugas Akhir Di Teknik Informatika Universitas Muhammadiyah Malang
Menyetujui,
Dosen I
Dosen II
YUDA MUNARKO, S.Kom, M.Sc
SETIO BASUKI, S.T
ii
LEMBAR PENGESAHAN RERANKING GOOGLE IMAGE DENGAN METODE BAG BASED
TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Disusun Oleh : MUHAMMAD IQBAL NIM : 08560151
Tugas Akhir ini telah diuji dan dinyatakan lulus melalui sidang majelis penguji pada tanggal 21 Maret Tahun 2014
Menyetujui, Penguji I
Penguji II
Luqman Hakim, S.Kom
Ir. Hj. Lailis Syafa'ah, MT
Mengetahui, Ketua Jurusan Teknik Informatika
Yuda Munarko, S.Kom, M.Sc
iii
LEMBAR PERNYATAAN
Yang bertanda tangan dibawah ini :
NAMA
: MUHAMMAD IQBAL
NIM
: 08560151
FAK./JUR.
: TEKNIK / TEKNIK INFORMATIKA
Dengan
ini
saya
menyatakan
bahwa
Tugas
Akhir
dengan
berjudul
“RERANKING GOOGLE IMAGE DENGAN METODE BAG BASED” beserta seluruh isinya adalah karya saya sendiri dan bukan merupakan karya tulis orang lain, baik sebagian maupun seluruhnya, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya.
Demikian surat pernyataan ini saya buat dengan sebenar-benarnya.
Apabila
kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya siap menanggung segala bentuk resiko atau sanksi yang berlaku.
Mengetahui, Dosen Pembimbing
Malang, 21 Maret 2014 Yang Membuat Pernyataan
(Yuda Munarko, S.Kom, M.Sc)
(Muhammad Iqbal)
iv
LEMBAR PERSEMBAHAN Puji syukur kepada Allah SWT atas rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan Tugas Akhir ini. Serta shalawat dan salam selalu tercurahkan kepada junjungan Nabi besar Muhammad SAW beserta sahabat, keluarga dan ummatnya. Tugas akhir ini adalah satu syarat untuk menyelesaikan studi pada jurusan Teknik Informatika Universitas Muhammadiyah Malang. Untuk memenuhi persyaratan tersebut dalam penyusunan hasil penelitian yang dilaksanakan dalam bentuk laporan yaitu “Reranking Google Image Dengan Metode Bag Based” Sebagai tugas akhir untuk mendapatkan gelar Sarjana. Penulis menyampaikan ucapan terima kasih yang tak terhingga kepada : 1. Allah SWT. 2. Bapak Yuda Munarko, S.Kom, M.Sc dan Bapak Setio Basuki, S.T selaku dosen pembimbing tugas akhir. 3. Bapak Dekan Fakultas Teknik Universitas Muhammadiyah Malang. 4. Bapak Ketua Jurusan Teknik Informatika Universitas Muhammadiyah Malang. 5. Seluruh dosen dan staf pengajar jurusan teknik informatika, Universitas Muhammadiyah Malang. 6. Sahabat-sahabat tercinta Basecamp ITC, Wiwid Cmd, Mas Rizza, Aryo, Bambang, Mas Pan, Rafi, Kipli, Ganang, dll yang selalu menemani saya mengorek ilmu selama di UMM. 7. Sahabat-sahabat tercinta Wisma Sri Rejeki tepat dibelakang kampus UMM, Eka, Maulana, Eky, Andre, Rizky, Angga, Fendi, Novi, Tri, Gamar, Rudy, Wahyu, Afif, Sisi, dan tak lupa Bapak Ibu Kost tercinta. 8. Sahabat-sahabat seperjuangan tercinta Rudi Romadloni, Aris, Hadi, Shoni, Afri yang telah menemani pahit manisnya kehidupan di Malang.
v
Terima kasih untuk Ibu dan Ayah tercinta Ibu Maria Amini dan Bapak Mohammad Thohir yang telah mendidik, membesarkan saya dan selalu mendoakan saya dengan keikhlasan dan kasih sayang yang tak terhingga, semua kakak adik tersayang Mbak Ina, Mbak Nia, Adek Farhan ”Uph-uph” terima kasih atas kasih sayang yang telah kalian berikan selama ini. Masih banyak kekurangan dalam penulisan Tugas Akhir ini. Oleh karena itu, kritik dan saran yang bersifat membangun akan sagat penting untuk kemajuan di masa depan. Semoga Tugas Akhir ini dapat memberi manfaat bagi kita semua.
Malang, 21 Maret 2014
Muhammad Iqbal
vi
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Allah SWT yang telah memberikan rahmat serta karunia-Nya sehingga penulis berhasil menyelesaikan Tugas Akhir ini dengan judul “RERANGKING GOOGLE IMAGE DENGAN METODE BAG BASED”. Tugas akhir ini berisikan tentang bagaimana membangun aplikasi search engine yang lebih khususnya membahas reranking image dengan metode bag based menggunakan bahasa pemrogrman PHP. Diharapkan tugas akhir ini dapat memberikan informasi kepada kita semua tentang sistem image reranking. Penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu kritik dan saran dari semua pihak yang bersifat membangun selalu kami harapkan demi kesempurnaan penulisan tugas akhir ini. Akhir kata, kami sampaikan terima kasih kepada semua pihak yang telah berperan serta dalam penyusunan tugas akhir ini dari awal sampai akhir. Semoga Allah SWT senantiasa meridhai segala usaha kita. Amin.
Malang, 21 Maret 2014
Muhammad Iqbal
vii
DAFTAR ISI
LEMBAR PERSETUJUAN ............................................................................. i LEMBAR PENGESAHAN .............................................................................. ii LEMBAR PERNYATAAN KEASLIAN ......................................................... iii ABSTRAK ......................................................................................................... iv ABSTRACT ....................................................................................................... v LEMBAR PERSEMBAHAN ........................................................................... vi KATA PENGANTAR ........................................................................................ viii DAFTAR ISI ...................................................................................................... ix DAFTAR GAMBAR ......................................................................................... xii DAFTAR TABEL .............................................................................................. xiv DAFTAR LAMPIRAN ..................................................................................... xv BAB I
PENDAHULUAN .............................................................................. 1 1.1 Latar Belakang ............................................................................ 1 1.2 Rumusan Masalah ....................................................................... 2 1.3 Batasan Masalah ......................................................................... 2 1.4 Tujuan Penelitian ........................................................................ 2 1.5 Metodologi Pengerjaan ............................................................... 2 1.6 Metodologi Penulisan ................................................................. 3
BAB II LANDASAN TEORI ......................................................................... 5 2.1 Image Retrieval ........................................................................... 5 2.1.1 Pengertian Image Retrieval ................................................ 5 2.1.2 Metode Image Retrieval .................................................... 5 2.1.2.1 Text Based Image Retrieval .................................. 5 2.1.2.2 Content Based Image Retrieval ............................. 6 2.2 Image Reranking ......................................................................... 8 2.2.1 System Image Reranking ................................................... 8 2.2.2 Tahapan Image Reranking ................................................. 8 2.2.3 Metode Bag Based Reranking............................................ 9
viii
2.3 Image ........................................................................................... 10 2.3.1 Definisi Image .................................................................... 10 2.3.2 Jenis Image ......................................................................... 10 2.3.3 Istilah Image ....................................................................... 10 2.4 Search Engine.............................................................................. 11 2.4.1 Definisi Search Engine....................................................... 11 2.4.2 Jenis - jenis Search Engine................................................. 11 2.4.3 Cara Kerja Search Engine .................................................. 14 BAB III ANALISA DAN PERANCANGAN SISTEM ................................. 17 3.1 Deskripsi Sistem ......................................................................... 17 3.2 Analisa Kebutuhan Sistem .......................................................... 17 3.2.1 Kebutuhan Fungsional ....................................................... 18 3.2.2 Kebutuhan Non-Fungsional ............................................... 18 3.3 Perancangan Sistem ..................................................................... 18 3.3.1 Data Yang Digunakan ......................................................... 18 3.3.2 Arsitektur Sistem ................................................................ 19 3.3.3 Use Case Diagram .............................................................. 20 3.3.4 Activity Diagram ................................................................ 23 3.4 Desain Database .......................................................................... 25 3.4.1 Conceptual Data Model ...................................................... 25 3.4.2 Physical Data Model........................................................... 26 3.5 Desain Interface .......................................................................... 27 BAB IV IMPLEMENTASI DAN PENGUJIAN ............................................ 29 4.1 Implementasi Sistem ................................................................... 29 4.1.1 Form Utama ....................................................................... 29 4.1.2 Menu Pencarian Gambar .................................................... 30 4.1.3 Menu Reranking Image ...................................................... 30 4.2 Implementasi Fungsional Sistem Image Reranking.................... 30 4.2.1 Proses Pencarian Image ..................................................... 31 4.2.2 Proses Image Compare....................................................... 31
ix
4.2.3 Proses Reranking Image..................................................... 35 4.3 Pengujian Aplikasi .................................................................... 37 4.3.1 Pengujian Pencarian Image ................................................ 37 4.3.2 Pengujian Komparasi Image .............................................. 38 4.3.3 Pengujian Reranking Image ............................................... 45 BAB V PENUTUP .......................................................................................... 49 5.1 Kesimpulan ................................................................................. 49 5.2 Saran ............................................................................................ 50 DAFTAR PUSTAKA......................................................................................... 51 LAMPIRAN ....................................................................................................... 52
x
DAFTAR GAMBAR Gambar 2.1 Desain System CBIR....................................................................
7
Gambar 2.2 Tahapan Proses Rerangking Image ..............................................
9
Gambar 2.3 Search Engine Yahoo.com ...........................................................
12
Gambar 2.4 Search Engine About.com ............................................................
12
Gambar 2.5 Search Engine Webcrawler.com ..................................................
13
Gambar 2.6 Search Engine Excite.com............................................................
13
Gambar 2.7 Search Engine Google.com ..........................................................
13
Gambar 2.8 Search Engine Lycos.com ............................................................
14
Gambar 2.9 Search Engine Search.com ...........................................................
14
Gambar 2.10 Proses Indexing ..........................................................................
16
Gambar 3.1 Arsitektur Sistem ..........................................................................
19
Gambar 3.2 Use Case Diagram ........................................................................
20
Gambar 3.3 Activity Diagram Menginputkan query & Menampilkan Image .
23
Gambar 3.4 Activity Diagram Mengkomparasi Image ....................................
24
Gambar 3.5 Activity Diagram Menampilkan Hasil Reranking Image ............
24
Gambar 3.6 Conceptual Data Model ................................................................
25
Gambar 3.7 Physical Data Model ....................................................................
26
Gambar 3.8 Tampilan Awal Sistem .................................................................
28
Gambar 3.9 Tampilan Hasil Pencarian Image .................................................
28
Gambar 3.10 Tampilan Hasil Reranking Image ..............................................
28
Gambar 4.1 Tampilan Form Utama .................................................................
29
Gambar 4.2 Menu Pencarian Image .................................................................
30
Gambar 4.3 Menu Reranking Image ................................................................
30
Gambar 4.4 Pengujian Proses Pencarian Image ...............................................
37
Gambar 4.5 Hasil Pengujian Proses Pencarian Image .....................................
37
Gambar 4.6 Output Image Reranking Negative Bag (Repsol Honda Motogp Bike) ...................................................... Gambar 4.7 Output Image Reranking Positive Bag xi
45
(Repsol Honda Motogp Bike) ......................................................
46
Gambar 4.8 Output Image Reranking Negative Bag (Minyak Goreng Bimoli) .............................................................
47
Gambar 4.9 Output Image Reranking Positive Bag (Minyak Goreng Bimoli) .............................................................
xii
47
DAFTAR TABEL
Tabel 3.1 Skenario Menginputkan Query.........................................................
21
Tabel 3.2 Skenario Menampilkan Image ..........................................................
21
Tabel 3.3 Skenario Mengkomparasi Image ......................................................
22
Tabel 3.4 Skenario Menampilkan Hasil Reranking Image ..............................
23
Tabel 4.1 Data Image .......................................................................................
38
Tabel 4.2 Data Score Image .............................................................................
41
xiii
DAFTAR LAMPIRAN
Lampiran 1.1 Source Code Proses Pencarian Image........................................
52
Lampiran 1.2 Source Code Proses Komparasi Image ......................................
52
Lampiran 1.3 Source Code Proses Image Reranking.......................................
53
xiv
DAFTAR PUSTAKA 1. S.Keerthana, S.Keerthana, K.Krishnamoorthy, ” Efficient Re-Ranking of Images from the Web using Bag based Method”, International Journal of Computer Applications (0975 – 8887), Volume 42– No.21, March 2012. 2. John Eakins, Margaret Graham, “Content-based Image Retrieval”, JISC Technology Applications Programme Report 39, 1999. 3. Syafiudin,
Cara
Kerja
Search
Engine
Mesin
Pencari,
http://syafiudin101192.wordpress.com/2013/04/28/cara-kerja-search-enginemesin-pencari/, diakses pada tanggal 17 Juli 2013. 4. Indra
Prasetya,
Cara
Kerja
Dari
Sistem
Search
Engine
Google,
http://blog.unud.ac.id/indraprasetya/2013/05/12/cara-kerja-dari-sistem-searchengine-google/, diakses pada tanggal 18 Juli 2013. 5. Irawan Hermawan, http://elib.unikom.ac.id/download.php?id=91486, diakses pada tanggal 16 Juli 2013. 6. Raymond Z. O., Definisi Image, http://id.scribd.com/doc/79001371/DefinisiImage, diakses pada tanggal 21 Juli 2013. 7. Google
Powered
Site
Search,
http://tutorialzine.com/2010/09/google-
powered-site-search-ajax-jquery/, diakses pada tanggal 15 September 2013. 8. Hanif Al Fatta, ” Konversi Format Citra RGB Ke Format Grayscale Menggunakan Visual Basic”, Seminar Nasional Teknologi 2007 (SNT 2007), Yogyakarta, 24 November 2007. 9. http://www.phpclasses.org/package/8255-PHP-Compare-two-images-to-findif-they-are-similar.html, diakses pada tanggal 27 November 2013.
xv
LAMPIRAN
$mime = $this->mimeType($i); if($mime[2] == 'jpg'){ return imagecreatefromjpeg
1.1 Proses Pencarian Image
($i); } else if ($mime[2] == 'png') { return imagecreatefrompng ($i); } else { return false; }
if ($cari<>""){ $sql=mysql_query("select * from tbl_gambar where nama_file like '%$cari%'"); ?>
} private function resizeImage($i, $source){ $mime = $this>mimeType($source); $t = imagecreatetruecolor(8, 8); $source = $this>createImage ($source);
"; } } ?>
imagecopyresized($t, $source, 0,0, 0, 0, 8, 8, $mime[0], $mime[1]); return $t; } private function colorMeanValue($i){ $colorList = array(); $colorSum = 0; for($a = 0;$a<8;$a++){ for($b = 0;$b<8;$b++){ $rgb = imagecolorat($i, $a, $b); $colorList[] = $rgb & 0xFF; $colorSum += $rgb & 0xFF;
1.2 Proses Komparasi Image class compareImages { private function mimeType($i){ $mime = getimagesize($i); $return =array($mime[0],$mime[1]);
} } Return array($colorSum/64 ,$colorList);
switch ($mime['mime']){ case 'image/jpeg': $return[] = 'jpg'; return $return; case 'image/png': $return[] = 'png'; return $return; default: return false; }
} private function bits($colorMean){ $bits = array(); foreach($colorMean[1] as $color) {$bits[]= ($color>=$colorMean [0])?1:0;} return $bits; }
} private function createImage($i){
public function compare($a,$b){
xvi
$i1 = $this->createImage($a); $i2 = $this->createImage($b);
$nilai=$class->compare ($datapositif[url],$data[url]);
if(!$i1 || !$i2){return false;} $sqlcompare=mysql_query("insert into tbl_compare (nama_file, url, distance) values ('$data[nama_file]', '$data [url]', '$nilai')"); }
$i1 = $this>resizeImage($i1,$a); $i2 = $this>resizeImage($i2,$b); }
imagefilter($i1, IMG_FILTER_GRAY SCALE); imagefilter($i2, IMG_FILTER_GRAY SCALE);
$total=mysql_query("select url, nama_file, sum(distance) as jumlah, count(url) as konter from tbl_compare GROUP BY url"); while($data_1=mysql_fetch_array($total) ){ $bagi=$data_1[jumlah]/$data_1 [konter];
$colorMean1 = $this> colorMeanValue($i1); $colorMean2 = $this> colorMeanValue($i2);
if($bagi<30){ mysql_query("insert into tbl_ positif (nama_file, url, distance) values ('$data_1 [nama_file]', '$data_1[url]', '$bagi')"); } else{ mysql_query("insert into tbl_negatif (nama_file, url, distance) values ('$data_1 [nama_file]', '$data_1[url]', '$bagi')"); }
$bits1 = $this>bits($colorMean1); $bits2 = $this>bits($colorMean2); $hammeringDistance = 0; for($a = 0;$a<64;$a++){ if($bits1[$a] != $bits2[$a]){ $hammeringDistance++; } } return $hammeringDistance; } }
} ?>
1.3 Proses Image Reranking
while($datarelevan=mysql _fetch_array($sqlrelevan)){ ?>
Nilai Rasio Perbedaan : %
$sqldata=mysql_query("select * from tbl_gambar where nama_file like' %$cari%'"); while($data=mysql_fetch_array($sqldata) ){ $sqlpositif=mysql_query("select * from tbl_image_selection where nama_file like '%$cari%'"); while($datapositif=mysql_fetch_ array($sqlpositif)){ $class = new compareImages;
ii
Nilai Rasio Perbedaan : %
while($datairrelevan=mysql_ fetch_array($sqlirrelevan)){ ?>
iii