Pembangunan aplikasi image retrieval dengan menggunakan metode histogram euclidean distance berdasarkan warna

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

ADHADIAT SATYA NUGRAHA

10109403

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2015


(2)

iii

1 KATA PENGANTAR

Assalamua’alaikum Wr. Wb.

Segala puji dan syukur penulis panjatkan kehadirat ALLAH SWT yang telah memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul “Pembangunan Aplikasi Image Retrieval dengan menggunakan metode Histogram Euclidean Distance berdasarkanwarna”. Dalam kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Allah S.W.T yang telah memberikan kelancaran, atas izin-Nya lah penulis dapat menyelesaikan tugas akhir ini.

2. Kedua orang tua dan keluarga yang selalu dengan tulus memberikan dukungan moril maupun materi, serta perhatian, kesabaran dan doa yang selalu mengiringi sehingga dapat terselesaikannya penulisan laporan tugas akhir ini. 3. Ibu Nelly Indriani W, S.Si., M.T. selaku Dosen Pembimbing yang telah memberikan arahan kepada penulis selama proses penyusunan laporan tugas akhir ini.

4. Ibu Utami Dewi Widianti, S.Kom., M.Kom. selaku Dosen Penguji 1 yang telah menguji serta memberikan arahan kepada penulis selama proses penyusunan laporan tugas akhir ini.

5. Bapak Alif Finandhita, S.Kom., M.T. selaku Dosen Penguji 2 yang telah menguji serta memberikan arahan kepada penulis selama proses penyusunan laporan tugas akhir ini.

6. Bapak Irawan Afrianto, S.T., M.T. selaku Ketua Program Studi Informatika Universitas Komputer Indonesia.

7. Seluruh dosen Teknik Informatika yang telah memberikan ilmu yang berharga untuk penulis.

8. Sahabat-sahabatku yang telah membantu dan mensupport penulis dalam menyelesaikan tugas akhir.


(3)

iv

Penulis menyadari bahwa hasil penelitian ini masih banyak kekurangan. Oleh karena itu saran dan kritik yang sifatnya membangun akan penulis terima dengan senang hati. Akhir kata, penulis berharap laporan ini dapat berguna dan bermanfaat umumnya bagi pembaca dan khususnya bagi penulis.

Wassalamu’alaikum Wr.Wb. Bandung, 23 Februari 2015


(4)

v

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... ix

DAFTAR SIMBOL ... x

DAFTAR LAMPIRAN ... xii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 3

1.3 Maksud dan Tujuan ... 3

1.4 Batasan Masalah... 3

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 6

BAB 2 LANDASAN TEORI ... 9

2.1 Temu Kembali Informasi (Information Retrieval) ... 9

2.2 Temu Kembali Citra (Image Retrieval) ... 9

2.3 Pengolahan Citra (Image Processing) ... 11

2.3.1 Dasar Pengolahan Citra ... 11

2.3.2 Jenis-jenis Citra [7] ... 12

2.3.3 Pembentukan citra ... 13

2.3.4 Sistem Koordinat Warna ... 13

2.3.5 Format File Citra ... 16


(5)

vi

2.5 Tools yang digunakan ... 20

2.5.1 OOP (Object Oriented Programming) ... 20

2.5.2 UML (Unified Modeling Language) ... 22

2.5.3 Netbeans 8.0 ... 25

2.5.4 JDK 8 ... 26

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 27

3.1 Analisis Masalah ... 27

3.2 Analisis Sistem ... 27

3.2.1 Analisis Prosedur yang Sedang Berjalan ... 28

3.2.2 Analisis Sistem yang Akan Dibangun... 28

3.3 Analisis Metode Histogram Euclidean Distance pada Aplikasi Image Retrieval ... 30

3.3.1 Analisis Matrik RGB (Red, Green, Blue) ... 30

3.3.2 Analisis Histogram Warna ... 31

3.3.3 Analisis Euclidean Distance ... 33

3.3.4 Analisis Kebutuhan Non-Fungsional ... 47

3.3.5 Analisis Kebutuhan Fungsional ... 49

3.3.6 Perancangan Antarmuka ... 63

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 65

4.1 Implementasi Sistem ... 65

4.1.1 Implementasi Perangkat Keras ... 65

4.1.2 Implementasi Perangkat Lunak ... 65

4.2 Pengujian Sistem ... 67

4.2.1 Rencana Pengujian ... 67

4.2.2 Hasil Pengujian ... 67

4.2.3 Kesimpulan Pengujian ... 80


(6)

vii

5.2 Saran ... 87 DAFTAR PUSTAKA ... 89


(7)

89

DAFTAR PUSTAKA

[1] S.-f. C. John R. Smith, “Automated Image Retrieval Using Color and texture,” Electronic Imaging : Science and technology-storage~ Retrieval for image and video database IV. San Jose: IS&T/SPIE, 1996.

[2] M. H. I. K. E. P. Ida Hastuti, “CONTENT BASED IMAGE RETRIEVAL BERDASARKAN FITUR BENTUK MENGGUNAKAN METODE GRADIENT VECTOR FLOW SNAKE,” Seminar Nasional Informatika 2009, ISSN: 1979-2328, 2009.

[3] S. Jeong, “Histogram-Based Color Image Retrieval,” Psych221/EE362 Project Report, 2001.

[4] I. Sommerville, Software Engineering (Rekayasa Perangkat Lunak), Jakarta: Erlangga, 2011.

[5] P. R. H. S. Christopher D. Manning, Introduction to Information Retrieval, United Kingdom: Cambridge University Press, 2008.

[6] T. S. H. S.-F. C. Yong Rui, “Image Retrieval: Current Techniques, promising directions, and open issues,” Journal Of Visual Communication and Image Representation, 1999.

[7] D. Putra, Pengolahan Citra Digital, Yogyakarta: ANDI, 2010.

[8] D. RUSJDI, “KUANTISASI OPTIMAL CITRA WARNA DIGITAL PADA MODEL KERUCUT HEKSA GANDA,” ISSN: 1979-6412, 2008. [9] M. s. Rosa A. S, Rekayasa Perangkat Lunak, Bandung: Informatika, 2013. [10] K. J. Cios, "Data Mining a Knowledge Discovery Approach," Springer,

2007.

[11] R. E. W. Rafael C. Gonzales, Digital Image Processing Third Edition, Prentice Hall, 2008.

[12] D. Ritandra, “Image retrieval : Ideas, Influences, and Trends of the New age,” 2008.


(8)

90

[14] X. M. Rishav Chakravarti, “A Study of Color Histogram Based Image Retrieval,” Bucknell University, 2009.

[15] R. Jimmy Eduard, “Analisis Ekstraksi Fitur Menggunakan Color Histogram, Moment Gray Level Difference Vector,” Telkom University,


(9)

1

1.1 Latar Belakang Masalah

Image retrieval merupakan teknik yang digunakan untuk mencari citra-citra yang memiliki kemiripan karakteristik dari citra acuan. Setiap citra memiliki informasi fitur yang unik. Pada penelitian sebelumnya R. Smith dan Chuang menggunakan metode pembagian daerah warna pada citra kueri dan citra yang berada pada database. Dimana metode ini memanfaatkan warna dengan terlebih dahulu dibagi kedalam beberapa daerah kemudian dilakukan proses pengindeksan warna. Setelah itu komputasi dilakukan dengan membandingkan daerah-daerah warna antar citra. Hasil pengujian menunjukkan bahwa metode ini cenderung lebih sulit jika terdapat perbedaan ukuran pada citra karena terbatas oleh pembagian daerah dari warna tersebut dan juga sedikit lebih lama dalam komputasinya [1].

Teknik pencarian citra di sebagian besar sistem operasi pada komputer adalah berbasis kueri teks contohnya nama dari citra. teknik pencarian ini dapat digunakan jika pengguna hanya mengingat nama file atau keterangan pada citra, namun tidak dapat digunakan jika pengguna hanya mengingat gambar dari citra[2]. Untuk mengatasi masalah pencarian citra tersebut, salah satu solusinya adalah dengan menggunakan pencarian citra atau image retrieval berdasarkan konten dari citra tersebut. seperti warna, tekstur, ataupun bentuk. Dimana aplikasi ini akan menampilkan citra-citra yang sama ataupun mirip dengan citra kueri yang pengguna pilih. Suatu sistem Image Retrieval adalah sebuah sistem komputer untuk melakukan pencarian, penjelajahan, dan mendapatkan kembali citra yang tersimpan dalam suatu basis data citra yang berukuran besar.


(10)

Metode Histogram Euclidean Distance digunakan untuk melakukan perhitungan jarak antar 2 histogram untuk dibandingkan tingkat kemiripan antar citra. Metode ini dipilih karena implementasinya yang lebih efisien dan mudah dalam memproses informasi konten dari citra [3] dan mudahnya melakukan komputasi dengan membentuk histogram warna terlebih dahulu, dengan begitu distribusi warna dari tiap citra bisa terlihat dari histogramnya dan menggunakan formula Euclidean distance untuk menghitung jaraknya. Fitur warna ini di representasikan ke dalam histogram warna. Keuntungan dari fitur warna ini adalah dapat di aplikasikan pada semua citra berwarna.

Berdasarkan masalah yang telah dipaparkan, maka akan dibangunlah aplikasi image retrieval menggunakan metode histogram Euclidean distance


(11)

1.2 Rumusan Masalah

Berdasarkan uraian pada latar belakang masalah, maka rumusan masalah dari penelitian ini adalah bagaimana membangun Aplikasi image retrieval dengan menggunakan metode histogram Euclidean distance berdasarkan warna.

1.3 Maksud dan Tujuan

Maksud dari penulisan skripsi ini adalah untuk Membuat sebuah aplikasi pencarian berbasis citra digital/image berdasarkan konten warna.

Tujuan yang akan dicapai dalam penulisan skripsi ini adalah :

1. Mengetahui apakah sistem mampu menampilkan hasil pencarian yang bersesuaian dengan gambar kueri dengan menggunakan Metode Histogram Euclidean Distance pada Aplikasi Image Retrieval berdasarkan warna.

1.4 Batasan Masalah

Penelitian yang dilakukan memiliki batasan masalah sebagai berikut : 1. Output : 20 gambar yang diurutkan berdasarkan tingkat kemiripannya. 2. Format gambar .PNG, .JPG, .BMP, dan .Gif.

3. Ukuran citra minimal 200x200 piksel (input dan output).

4. Menggunakan metode histogram Euclidean distance berdasarkan warna. 5. Citra masukan hanya berupa 1 citra.

6. Keyword pencarian berupa piksel.


(12)

1.5 Metodologi Penelitian

Metode penelitian yang digunakan adalah metode deskriptif dengan pendekatan kuantitatif. Penelitian ini terbagi menjadi dua tahap yaitu pengumpulan data dan pembangunan perangkat lunak.

1. Metode Pengumpulan Data.

Metode pengumpulan data yang digunakan adalah studi literatur, yaitu Pengumpulan data dengan cara mengumpulkan literatur, jurnal, makalah dan bacaan-bacaan yang ada kaitannya dengan penelitian yang dilakukan.

2. Metode pembangunan perangkat lunak

Aplikasi ini dibangun menggunakan paradigma model waterfall, yang meliputi beberapa proses diantaranya:

a. Requirements definition

tahap ini dilakukan untuk analisis kebutuhan pengguna dan tahap analisis kebutuhan pengembang dalam membangun aplikasi image retrieval

berdasarkan warna. Setelah itu, kita definisikan kebutuhan-kebutuhan

yang mungkin dalam aplikasi yang akan dibangun yaitu “Pembangunan aplikasi image retrieval menggunakan metode histogram euclidean distance berdasarkan warna”.

b. System and software design

Tahap ini berisi dimana pengembang melakukan desain perancangan aplikasi image retrieval ini. Jika ditemui kesulitan, prototype dibangun (spike solution) maka dilakukan refactoring, yaitu mengembangkan desain dari pembangunan aplikasi image retrieval ini setelah ditulis. Tahap perencanaan disini dilakukan dengan pemodelan menggunakan metode pemrograman berorientasi object dengan Tool Unified Modeling Language (UML).

c. Implementation and unit testing

Pengujian aplikasi image retrieval ini dilakukan untuk memastikan bahwa

software yang dibuat telah sesuai dengan desainnya serta sesuai dengan kebutuhan yang diinginkan pengguna dimana semua fungsi dapat


(13)

dipergunakan dengan baik tanpa ada kesalahan dan berguna sesuai kebutuhan pengguna.

d. Integration and system testing

Tahap ini merupakan tahap Pengujian aplikasi image retrieval sebelum aplikasi diserahkan kepada pengguna. Pada tahap ini dilakukan penyatuan terhadap program-program yang telah diuji pada tahap sebelumnya. Semua program disatukan kedalam suatu sistem yang lengkap. Setelah itu, dilakukan uji coba terakhir terhadap sistem yang telah lengkap. Setelah uji coba selesai dilakukan, maka sistem siap untuk diserahkan kepada pengguna.

e. Operation and maintenance

tahap ini merupakan tahap yang membutuhkan waktu paling lama diantara semua tahapan. Tahap ini merupakan tahap penggunaan aplikasi image retrieval oleh pengguna. Pengguna akan mengetahui hasil dari sistem yang telah diinginkan. Setelah itu, dilakukan tahap perawatan atau maintenance. Pemeliharaan suatu software diperlukan agar aplikasi image retrieval ini berjalan sebagaimana mestinya, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada permasalahan yang tidak ditemukan sebelumnya seperti bug, atau ada penambahan fitur-fitur yang belum ada pada software tersebut.


(14)

Gambar 1.1 Model Pengembangan Sistem Waterfall [4]

1.6 Sistematika Penulisan

Sistematika penulisan proposal penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan skripsi ini adalah sebagai berikut :

BAB I. PENDAHULUAN

Pendahuluan merupakan Bab yang menguraikan latar belakang masalah, rumusan masalah, maksud dan tujuan, metodologi penelitian, batasan masalah dan sistematika penulisan.

BAB II. LANDASAN TEORI

Bab ini berisi membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan. Membahas tentang konsep dasar serta teori-teori tentang

image retrieval, information retrieval, pengolajan citra, metode, dan tools yang berkaitan dengan topik.


(15)

BAB III. ANALISIS DAN PERANCANGAN

Bab ini menguraikan tentang analisis sistem, analisis masalah, analisis aplikasi yang akan dibangun, analisis dan metode algoritma, analisis kebutuhan non-fungsional, analisis sistem, perancangan antar muka, jaringan semantik.

BAB IV. IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi tentang tahapan-tahapan yang dilakukan untuk menerapkan sistem yang telah dirancang serta melakukan pengujian pada sistem.

BAB V. KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan yang didapatkan selama penulisan laporan tugas akhir dari pembatasan masalah, selain itu juga berisi saran untuk perbaikan dan menindak lanjuti hasil penelitian.


(16)

(17)

9

BAB 2

LANDASAN TEORI

2.1 Temu Kembali Informasi (Information Retrieval)

Information Retrieval (Temu kembali Informasi) atau sering dikenal juga dengan Information Retrieval system (IRS) merupakan media layanan yang dapat digunakan oleh pengguna untuk mendapatkan informasi atau sumber informasi sesuai dengan pencarían yang dilakukan. Hasil informasi yang diperoleh dengan menggunakan kata kunci (keyword) bisa sesuai atau tidak sesuai dengan keinginan pengguna [5].

ISO 2382/1 mendefinisikan Information Retrieval (IR) sebagai tindakan, metode dan prosedur untuk menemukan kembali data yang tersimpan, kemudian menyediakan informasi mengenai subyek yang dibutuhkan. Tindakan tersebut mencakup text indexing, inquiry analysis, dan relevance analysis. Data mencakup teks, tabel, gambar, ucapan, dan video.

2.2 Temu Kembali Citra (Image Retrieval)

Image retrieval merupakan teknik yang digunakan untuk mencari citra-citra yang memiliki kemiripan karakteristik dari citra acuan. Setiap citra memiliki informasi fitur yang unik. Dalam hal ini, image retrieval dapat diimplementasikan dengan membandingkan fitur-fitur yang diekstraksi dari suatu citra. Kriteria untuk kemiripan antar citra dapat didasarkan pada fitur – fitur seperti warna, tekstur, bentuk, topologi citra, dan sebagainya. Terdapat dua teknik image retrieval yang berkembang saat ini, yaitu tekstual (manual) dan berdasarkan isi (otomatis).

Teknik image retrieval yang pertama, yaitu tekstual, merupakan teknik yang sangat sederhana, yaitu berdasarkan kata kunci yang diberikan untuk tiap citra. Permasalahan dengan teknik ini adalah lamanya waktu pencarian dan adanya ketergantungan terhadap manusia yang sangat tinggi untuk


(18)

mendeskripsikan suatu citra. Hal ini menyebabkan terjadinya pendeskripsian yang tidak konsisten. Teknik image retrieval yang kedua, berdasarkan isi, adalah teknik yang mengindekskan suatu citra berdasarkan isinya seperti warna, sisi, bentuk, tekstur, informasi spasial, dan sebagainya. Teknik ini sering disebut dengan Content Based Image Retrieval (CBIR). CBIR merupakan jenis image retrieval yang paling populer saat ini.


(19)

2.3 Pengolahan Citra (Image Processing)

Pengolahan citra merupakan proses pengolahan dan analisis citra yang banyak melibatkan persepsi visual. Proses ini mempunyai ciri data masukan dan informasi keluaran yang berbentuk citra. Istilah pengolahan citra digital secara umum didefinisikan sebagai pemrosesan citra dua dimensi dengan komputer. Dalam definisi yang lebih luas, pengolahan citra digital juga mencakup semua data dua dimensi. Sesuai dengan perkembangan komputer itu sendiri, pengolahan citra mempunyai dua tujuan utama, yaitu sebagai berikut:

1. Memperbaiki kualitas citra, dimana citra yang dihasilkan dapat menampilkan informasi secara jelas. Hal ini berarti manusia sebagai pengolah informasi (human perception).

2. Mengekstraksi informasi ciri yang menonjol pada suatu citra, dimana hasilnya adalah informasi citra dimana manusia mendapatkan informasi ciri dari citra secara numerik atau dengan kata lain computer (mesin) melakukan interprestasi terhadap informasi yang ada pada citra melalui besaran-besaran data yang dapat dibedakan secara jelas (berupa besaran-besaran numerik).

2.3.1 Dasar Pengolahan Citra

Suatu Citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial dan amplitude f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x, y, dan nilai amplitude f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital. Nilai pada suatu irisan antara baris dan kolom (pada posisi x,y) disebut dengan picture elements, pels, image elements, atau pixels. Makin tinggi nomor piksel maka makin gelap (hitam) piksel tersebut. Begitu juga sebaliknya makin rendah nilai piksel tersebut maka makin terang. Sistem yang umum memiliki 256 tingkat kecerahan untuk setiap piksel, yang paling terang adalah 255 dan yang paling gelap adalah 0 [7].


(20)

2.3.2 Jenis-jenis Citra [7]

a. Citra Biner

Citra biner adalah citra yang hanya memiliki dua kemungkinan nilai pixel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and white) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap pixel dari citra biner. Citra biner sering kali muncul sebagai hasil dai proses pengolahan seperti segmentasi, pengembangan morfologi, ataupun dithering.

b. Citra Grayscale

Citra grayscale merupakan citra digital yag hanya memiliki satu nilai kanal pada setiap pixelnya, dengan kata lain nilai bagian RED = GREEN = BLUE.

Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih. Tingkatan keabuan disini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih.

c. Citra berwarna

Citra berwarna adalah citra digital yang setiap pixelnya mengandung informasi warna. Informasi warna ini biasanya dibentuk dari paling sedikit


(21)

3 sampel (saluran warna). Saluran warna yang paling umum digunakan adalah RGB.

2.3.3 Pembentukan citra

Pembentukan citra digital (diskrit) melalui beberapa tahapan, yaitu akuisisi citra, sampling, dan kuantisasi [7].

1. Akuisisi citra

Proses akuisisi citra adalah pemetaan suatu pandangan menjadi citra kontinu dengan menggunakan sensor.

2. Sampling

Sampling merupakan proses pengambilan nilai diskrit koordinat (x.y) dengan melewatkan citra melalui grid (celah).

3. Kuantisasi

Kuantisasi warna merupakan proses untuk melakukan pengurangan jumlah warna dengan mengambil beberapa perwakilan warna yang dapat

membedakan satu bagian dengan bagian yang lain pada citra.

2.3.4 Sistem Koordinat Warna

Ada berbagai jenis sistem koordinat warna atau sistem ruang warna yang diciptakan untuk memeuhi tujuan tertentu atau yang diciptakan untuk platform

perangkat keras tertentu. Berikut adalah beberapa sistem koordinat warna yang ada :

1. RGB

Model warna RGB adalah model warna berdasarkan konsep penambahan kuat cahaya primer yaitu Red, Green dan Blue. Dalam suatu ruang yang sama sekali tidak ada cahaya, maka ruangan tersebut adalah gelap total. Tidak ada signal gelombang cahaya yang diserap oleh mata kita atau RGB (0,0,0). Apabila menambahkan cahaya merah pada ruangan tersebut, maka ruangan akan berubah warna menjadi merah misalnya RGB (255,0,0), semua benda dalam ruangan tersebut hanya dapat terlihat berwarna merah. Demikian apabila cahaya kita ganti dengan hijau atau biru.


(22)

2. HSV

Model HSV (Hue Saturatuion Value) menunjukkan ruang warna dalam bentuk tiga komponen utama, yaitu hue, saturation dan value (atau disebut juga brightness). Hue adalah sudut dari 0 sampai 360 derajat. Biasanya 0 adalah merah, 60 derajat adalah kuning, 120 derajat adalah hijau, 180 derajat adalah cyan, 240 derajat adalah biru dan 300 derajat adalah magenta.

Hue menunjukkan jenis warna (seperti merah, biru atau kuning) atau corak warna, yaitu tempat warna tersebut ditemukan dalam spektrum warna. Merah, kuning dan ungu (purple) adalah kata-kata yang menunjukkan hue. Saturasi (saturation) suatu warna adalah ukuran seberapa besar kemurnian dari warna tersebut. Sebagai contoh, suatu warna yang semuanya merah tanpa putih adalah saturasi penuh. Jika ditambahkan putih ke merah, hasilnya lebih berwarna-warni dan warna bergeser dari merah ke merah muda (pink). Hue masih tetap merah tetapi nilai saturasinya berkurang.

Saturasi biasanya bernilai 0 sampai 1 (atau 0% sampai 100%) dan menunjukkan nilai keabu-abuan warna dimana 0 menunjukkan abu-abu dan 1 menunjukkan warna primer murni. Komponen ketiga dari HSV adalah value atau disebut juga intensitas (intensity), yaitu ukuran seberapa besar kecerahan suatu warna atau seberapa besar cahaya datang dari suatu warna. Nilai value dari 0% sampai 100%.

Gambar 2.3 Nilai Hue, Saturation, Value [3]


(23)

Perhitungan konversi RGB menjadi HSV dapat dirumuskan sebagai berikut.

� = tan⁡[

�−� + �+�−

]

� = 1 −⁡

i ⁡ �,�,

� =⁡

�+�+

Namun pada rumus di atas, apabila S = 0 maka H tidak dapat ditentukan. Untuk itu diperlukan normalisasi RGB terlebih dahulu dengan rumus berikut.

� = ⁡

�+�+

� = ⁡

�+�+

= ⁡

�+�+

3. Ruang Warna YCbCr

Ruang warna YCbCr disebut juga ruang warna CCIR601 (International Radio Consultative Committe). Model warna ini dikembangkan untuk mengantisipasi perkembangan informasi berbasiskan video, sehingga model ini banyak digunakan pada video digital. Secara umum dapat dikatakan bahwa model warna ini merupakan bagian dari ruang transmisi video dan televisi. Model warna lain yang mirip dengan YCbCr adalah YUV dan YIQ, perbedaannya terletak bahwa YCbCr adalah system warna digital sedangkan yang lain adalah system warna analog. Model warna YCbCr memisahkan nilai RGB menjadi informasi luminance

dan chrominance. Formulasi konversi RGB - YCbCr ditunjukan sebagai berikut: Y = 0.299900R + 0.58700G + 0.11400B

Cb = -0.16874R – 0.33126G + 0.50000B Cr = 0.50000R – 0.41869G – 0.08131B

(2.1) (2.2) (2.3) (2.4) (2.5) (2.6) (2.7)


(24)

matrix diatas adalah merupakan formulasi yang digunakan untuk mengkonversi nilai RGB menjadi informasi luminance dan chrominance, pada proses pengkonversian ini terjadi sebuah perkalian matrix antara nilai dari setiap komponen warna RGB dengan formula yang tersebut diatas sehingga menjadi sebuah ruang warna baru yaitu Ycbcr.

2.3.5 Format File Citra

Format file standar yang digunakan saat ini terdiri dari beberapa jenis. Format-format ini digunakan dalam menyimpan citra dalam sebuah file. Setiap format memiliki karakteristik masing-masing. Berikut adalah penjelesan beberapa format umum digunakan saat ini [7] :

1. Bitmap (.bmp)

Format .bmp adalah format penyimpanan standar tanpa kompresi yang umum dapat digunakan untuk menyimpan citra biner hingga citra warna. Format ini terdiri dari beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang digunakan untuk menyimpan sebuah nilai pixel. 2. Tagged image format (.tiff, .tiff)

Format .tif merupakan format penyimpanan citra yang dapat digunakan untuk menyimpan citra bitmap hingga citra dengan warna palet

terkompresi. Format ini dapat digunakan untuk menyimpan citra yang tidak terkompresi dan juga citra terkompresi.

3. Portable network Graphics (.png)

Format .png adalah format penyimpanan citra terkompresi. Format ini dapat digunakan pada citra grayscale, citra dengan palet warna, dan juga citra fullcolor. Format .png juga mampu menyimpan informasi hingga kanal alpha dengan penyimpanan sebesar 1 hingga 16 bit per kanal.

4. JPEG (.,jpg)

.jpg adalah format yang sangat umum digunakan saat ini khususnya untuk transmisi citra. Format ini digunakan untuk menyimpan citra hasil

kompresi dengan metode JPEG.


(25)

Format ini digunakan di dunia internet dan diperuntukkan sebagai format penyimpanan citra bergerak (video). Format ini mendukung video dengan kompresi ber-rugi.

6. Graphic Interchange Format (.gif)

Format ini dapat digunakan pada citra warna dengan palet 8 bit. Penggunaan umumnya pada aplikasi web. Kualitas yang rendah meyebabkan format ini tidak terlalu popular di kalangan peneliti pengolahan citra digital.

2.4 Histogram Warna

Histogram Warna adalah suatu proses untuk meratakan histogram agar derajat keabuan dari yang paling rendah (0) sampai dengan yang paling tinggi (255) mempunyai kemunculan yang rata. Histogram Warna suatu citra dibangun dengan menghitung jumlah piksel setiap warna. Perkembangan dalam algoritma ekstraksi masih mengikuti perkembangan yang sama [3]:

1. Pemilihan ruang warna. 2. Kuantisasi ruang warna. 3. Perhitungan histogram.

Setiap langkah ini penting untuk menuju pengembangan algoritma.

2.4.1 Definisi Histogram Warna

Sebuah histogram citra mengacu pada probabilitas fungsi dari intensitas gambar. Hal ini memperluas citra warna untuk menangkap probabilitas bersama dari intensitas tiga ruang warna. Histogram warna didefinisikan sebagai berikut[3].

, ,

, ,

= �⁡ ∙ ���

= , = , =

Dimana A, B, dan C merepresentasikan 3 ruang warna (R,G,B atau HSV) dan N adalah nilai pixel dari suatu citra. Secara komputasi, histogram warna dibentuk berdasarkan diskretisasi warna dalam suatu citra dan menghitung jumlah

pixel setiap warna.


(26)

Karena beberapa komputer mewakili citra berwarna mencapai 224 warna, proses ini biasanya membutuhkan kuantisasi ruang warna yang besar. Isu-isu utama tentang penggunaan histogram warna untuk pengindeksan melibatkan pemilihan ruang warna dan kuantisasi dari ruang warna. Ketika ruang warna perseptual yang seragam dipilih, kuantisasi seragam mungkin tepat. Namun jika ruang warna non-seragam yang dipilih, maka kuantisasi non-non-seragam mungkin diperlukan.

2.4.2 Kuantisasi Warna

Kuantisasi warna merupakan proses untuk melakukan pengurangan jumlah warna dengan mengambil beberapa perwakilan warna yang dapat membedakan satu bagian dengan bagian yang lain pada citra. Proses ini dibutuhkan dikarenakan pada citra 24 bit dengan ruang warna RGB yang mempunyai range warna 0-255 akan memiliki kombinasi warna sebanyak 16.777.216. Dan jika jumlah warna ini dipaksakan untuk dilakukan proses ekstraksi fitur ciri maka akan menghabiskan waktu komputasi (time consuming) dan menimbulkan kesulitan ketika melakukan ekstraksi dan pencocokan vektor cirinya. Masalah tersebut dapat diatasi dengan

color quantization (kuantisasi warna), yaitu suatu prosedur untuk mengurangi kemungkinan jumlah warna. Dengan cara ini, jumlah warna yang besar tadi bisa dikurangi, sehingga proses yang dibutuhkan akan semakin mudah. [8]

2.4.2.1 Jenis-jenis Kuantisasi [8]

1. Kuantisasi Uniform : mempunyai interval pengelompokan tingkat keabuan yang sama (misal: intensitas 1 s/d 10 diberi nilai 1, intensitas 11 s/d 20 diberi nilai 2, dan seterusnya).

2. Kuantisasi Non-uniform: Kuantisasi yang lebih halus diperlukan terutama pada bagian citra yang menggambarkan detil atau tekstur atau batas suatu wilayah obyek, dan kuantisasi yang lebih kasar diberlakukan pada wilayah yang sama pada bagian obyek.

3. Kuantisasi Tapered: bila ada daerah tingkat keabuan yang sering muncul sebaiknya dikuantisasi secara lebih halus dan diluar batas daerah tersebut dapat dikuantisasi secara lebih kasar.


(27)

2.4.3 Normalisasi Histogram

Normalisasi Histogram berguna untuk melihat statistika dari image sehingga Dilakukan agar tampilan histogram pada layar tidak melebihi batas layar, dikarenakan jumlah piksel pada citra sangat besar (hingga ribuan piksel). Cara kerja dari normalisasi histogram adalah membagi setiap nilai dari histogram dengan jumlah pixel dari image.

2.4.4 Histogram Euclidean Distance

Ada beberapa rumus jarak untuk mengukur kemiripan histogram warna. Secara umum, teknik untuk membandingkan distribusi probabilitas, seperti tes kolmogoroff-smirnov tidak sesuai untuk histogram warna. Hal ini karena persepsi visual menentukan kesamaan daripada kedekatan distribusi probabilitas. Pada dasarnya, rumus jarak warna sampai pada ukuran kesamaan antara gambar berdasarkan persepsi konten warna. Untuk itu digunakanlah Histogram Euclidean Distance untuk menghitung jarak histogram warnanya.

Misal h dan g mewakili 2 histogram warna. Euclidean distance antara histogram warna h dan g dapat dihitung seperti ini [3]:

ℎ, � = ∑ ⁡ ∑ ⁡ ∑ ⁡ (ℎ , , − � , , )⁡

Dalam rumus jarak ini, hanya ada perbandingan antara bins identik dalam histogram masing-masing. Dua bins yang berbeda dapat mewakili perseptual warna yang sama tetapi tidak dibandingkan. Semua bins memiliki kontribusi yang sama pada jarak.


(28)

2.5 Tools yang digunakan

2.5.1 OOP (Object Oriented Programming)

Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientasi objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi onjek meliputi rangkaian aktivitas analisis berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi objek.

Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi lama banyak menimbulkan masalah seperti adanya kesulitan pada saat mentransformasi hasil dari satu tahap pengembangan ke tahap berikutnya, misalnya pada metode pendekatan terstruktur, jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan saat ini sangat beragam (aplikasi bisnis, real-time, utility, dan sebagainya) dengan platform yang berbeda-beda, sehingga menimbulkan tuntutan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi tersebut.[9]

Keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut[9]:

a. Meningkatkan produktivitas

Karena kelas dan objek yang ditemukan dalam suatu masalahmasih dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut (reusable).

b. Kecepatan pengembangan

Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.


(29)

Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat dipisahkan dan pola-pola yang mungkin sering diubah-ubah.

d. Adanya konsistensi

Karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan maupun pengkodean.

e. Meningkatkan kualitas perangkat lunak

Karena adanya pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat pengambangannya, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.

Berikut beberapa contoh bahasa pemrograman yang mendukung pemrograman berorientasi objek[9] :

a. Smalltalk

Smalltalk merupakan salah satu bahasa pemrogramanyang dikembangkan untuk mendukung pemrograman berorientasi objek mulai tahun 1978. b. Bahasa Pemrograman Eiffel

Eiffel merupakan bahasa pemrograman yang dikembangkan untuk mendukung pemrograman berorientasi objek mulai tahun 1985 oleh Bertrand Meyer dan compiler Eiffel selesai pada tahun 1987.

c. Bahasa Pemrograman C++

C++ merupakan pengembangan lebih lanjut bahasa pemrograman C untuk mendukung pemrograman berorientasi objek.

d. Bahasa Pemrograman (web) PHP

PHP dibuat pertama kali oleh seorang perekayasa perangkat (software engineering) yang bernama Rasmus Lerdoff.

e. Bahasa Pemrograman Java

Java dikembangkan oleh perusahaan Sun Microsystem. Java menurut definisi dari Sun Microsystem adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer


(30)

2.5.1.1 Konsep Dasar Berorientasi Objek [9]

a. Objek (Object)

Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda, manusia, satuan organisasi, tempat, kejadian, struktur,status, atau hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu menyimpan informasi(status) dan mempunyai operasi yang dapat diterapkan atau dapat berpengaruh pada status objeknya.

b. Kelas (class)

Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statik dan himpunan objek yang sama yang mungkin lahir atau diciptakan dalam kelas tersebut.

c. Pembungkusan (Encapsulation)

Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya.

d. Pewarisan (Inheritance) dan Generalisasi/Spesialisasi

Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dirinya.

e. Metode

Operasi atau metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural.

f. Polimorfisme

Kemampuan suatu objek untuk digunakan dibanyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.

2.5.2 UML (Unified Modeling Language)

Unified Modelling Language (UML) adalah sekumpulan spesifikasi yang

dikeluarkan oleh OMG. UML terbaru adalah UML 2.3 yang terdiri dari 4 macam spesifikasi, yaitu Diagram Interchange Specification, UML, Infrastructure, UML Superstructure, dan Object Constraint Language (OCL). Pada UML 2.3 terdisi 13 macam diagram yang dikelompokkan pada 3 kategori, yaitu [9]:


(31)

A. Structure Diagram, yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.

1. Diagram Kelas

Diagram kelas menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut attribut dan metode atau operasi.

2. Diagram Objek

Diagram objek menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem.

3. Diagram Komponen

Diagram komponen dibuat untuk menunjukan organisasi dan ketergantungan diantara kumpulan komponen dalam sebuah sistem. 4. Composite Structure Diagram

Composite structure diagram baru mulai ada pada UML versi 2.0. Diagram ini dapat digunakan untuk menggambarkan struktur dari bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan (runtime).

5. Package Diagram

Package diagram menyediakan cara mengumpulkan elemen-elemen yang saling terkait dalam diagram UML. Hampir semua diagram dalam UML dapat dikelompokkan menggunakan package diagram.

6. Deployment Diagram

Deployment menunjukan konfigurasi komponen dalam proses eksekusi aplikasi.

B. Behavior Diagram, yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.

1. Use Case Diagram

Use case diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah


(32)

interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat.

2. Activity Diagram

Activity diagram menggambarkan workflow atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. 3. State Machine Diagram

State machine diagram digunakan untuk menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem atau objek. C. Interactions Diagram, yaitu kumpulan diagram yang digunakan untuk

menggambarkan interaksi antar subsistem pada suatu sistem. 1. Sequence Diagram

Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek.

2. Diagram Komunikasi

Diagram komunikasi menggambarkan interaksi antar objek/bagian dalam bentuk urutan pengiriman pesan. Diagram komunikasi merepresentasikan informasi yang diperoleh dari diagram kelas, diagram sekuen, dan diagram use case untuk mendeskripsikan gabungan antara struktur statis dan tingkah laku dinamis dari suatu sistem.

3. Timing Diagram

Timing diagram merupakan diagram yang fokus pada penggambaran terkait batasan waktu.

4. Interaction Overview Diagram

Interaction overview diagram mirip dengan diagram aktivitas yang berfungsi untuk menggambarkan sekumpulan urutan aktivitas, diagram ini adalah bentuk aktivitas diagram yang setiap titik merepresentasikan diagram interaksi.


(33)

2.5.3 Netbeans 8.0

Netbeans merupakan sebuah aplikasi Integrated Development Environment

(IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing.

Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu

debugger.

Netbeans juga digunakan oleh sang programmer untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman java namun selain itu dapat juga mendukung bahasa pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk membuat professional desktop, enterprise, web, dan mobile applications dengan Java language, C/C++, dan bahkan dynamic languages seperti PHP, JavaScript, Groovy, dan Ruby. NetBeans merupakan sebuah proyek open source yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek

open source NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan aplikasi desktop dan Platform NetBeans juga menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi.

Netbeans IDE merupakan sebuah IDE open source yang ditulis sepenuhnya dengan bahasa pemrograman java menggunakan platform netbeans. NetBeans IDE mendukung pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan aplikasi mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi, dan refactoring.


(34)

Versi terbaru saat ini adalah NetBeans IDE 8.0 yang dirilis 18 maret 2014. NetBeans IDE 8.0 menyediakan kode analisis yang benar-benar canggih dan editor untuk bekerja dengan teknologi terbaru Java 8. Java SE 8, Java SE Embedded 8, dan Java ME Embedded 8. IDE ini juga memiliki berbagai perangkat tambahan baru yang lebih meningkatkan dukungan untuk Maven dan Java EE dengan PrimeFaces, alat-alat baru untuk HTML5, khususnya untuk AngularJS, dan perbaikan PHP dan C / C + + support.

2.5.4 JDK 8

JDK adalah singkatan dari Java Development Kit yaitu software yang digunakan untuk membangun aplikasi-aplikasi java. Tanpa JDK kita tidak akan bisa membangun atau membuat berbagai macam aplikasi java. JDK ini berguna saat menulis code program. Seperti halnya JRE, JDK juga memiliki JVM di dalamnya. JDK inilah yang merupakan kompiler dari JAVA sendiri, dimana source code (kode sumber) dari Java akan dikompilasi menjadi Byte Code, yaitu bit code (biner) yang dapat dimengerti oleh mesin. JDK juga akan membentuk sebuah Objek Code dari


(35)

27

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

1.1 Analisis Masalah

Pada umumnya fitur pencarian di kebanyakan sistem operasi pada komputer berbasis teks. Fitur tersebut mungkin efektif jika pengguna ingat nama file yang ingin dicari. Namun untuk pencarian citra pada khususnya fitur pencarian berbasis teks dinilai kurang efektif pada saat merepresentasikan citra yang dicari di dalam sebuah database, sehingga seringkali diperoleh pencarian citra yang tidak sesuai dengan yang diinginkan. Hal tersebut bisa terjadi dikarenakan keterbatasan user

dalam mengingat kata kunci atau nama file citra yang diinginkan. Oleh karena itu dibuat aplikasi image retrieval untuk melakukan proses pencarian citra. Tujuan utamanya untuk mempermudah user dalam melakukan pencarian citra.

Metode yang digunakan untuk melakukan pencarian citra ini adalah

Histogram Euclidean Distance, yaitu metode yang dapat melakukan pencarian berdasarkan fitur warna pada suatu citra. Cara kerja metode ini adalah dengan membuat histogram warna dari citra masukan dan citra yang terdapat pada gallery komputer lalu membandingkan jarak antar citra tersebut. dimana semakin kecil nilai komputasinya, maka semakin mirip citra tersebut.

1.2 Analisis Sistem

Analisis sistem merupakan suatu cara yang digunakan dalam mengidentifikasi dan mengevaluasi suatu permasalahan, hambatan yang dihadapi dan kebutuhan yang diharapkan dalam sebuah sistem. Analisa ini diperlukan sebagai dasar untuk tahapan perancangan sistem. Hasil dari proses analisis sistem ini akan menghasilkan berbagai kesimpulan dan saran yang dapat digunakan untuk dijadikan dasar perancangan aplikasi yang akan dibangun. Analisis sistem yang dilakukan untuk membangun aplikasi ini sebagai berikut :


(36)

1.2.1 Analisis Prosedur yang Sedang Berjalan

Berdasarkan hasil pengamatan, maka dapat diambil kesimpulan mengenai prosedur bagaimana seseorang melakukan proses pencarian citra. Penjelasannya sebagai berikut :

Gambar 3.1 Analisis Prosedur yang sedang berjalan

Adapun penjelasan dari gambar diatas sebagai berikut :

1. Pengguna melakukan pencarian citra dengan cara menggunakan fitur pencarian berbasis teks yang tersedia di komputer pengguna atau dengan cara manual menelusuri tiap folder yang terdapat di komputernya.

2. Pengguna dapat melihat hasil pencarian gambar menggunakan cara yang dia pilih tersebut.

1.2.2 Analisis Sistem yang Akan Dibangun

Sistem yang akan di bangun adalah sistem pencarian citra berdasarkan konten warna pada suatu citra. Sistem ini bisa membandingkan tingkat kemiripan dari suatu citra. Adapun gambaran umum tentang sistem yang akan dibangun dapat dilihat pada gambar 3.5 dibawah ini.


(37)

Berikut penjelasan alur proses sistem yang akan dibangun : 1. Pengguna memasukan citra/gambar yang akan dicari. 2. Citra diubah kedalam bentuk matrik-matrik RGB.

3. Kuantisasi warna merupakan proses untuk melakukan pengurangan jumlah warna dengan mengambil beberapa perwakilan warna yang dapat membedakan satu bagian dengan bagian yang lain pada citra. 4. Histogram warna, pada tahap ini sistem membuat array of RGB pada

tiap channelnya dari citra query dan citra gallery.

5. setelah membuat histogram warna dari suatu citra maka selanjutnya adalah menghitung jarak antar histogram warna dari citra masukan dan citra-citra yang dicari dengan menggunakan Euclidean Distance.

6. Outputnya citra yang sama atau mirip dengan citra masukan. Gambar 3.2 Alur Proses Kerja Sistem yang Akan Dibangun


(38)

1.3 Analisis Metode Histogram Euclidean Distance pada Aplikasi Image Retrieval

Analisis metode digunakan untuk mengetahui alur proses dari sebuah metode yang digunakan dapat diterapkan ke dalam aplikasi yang dibangun. Pembangunan aplikasi image retrieval ini menggunakan metode Histogram Euclidean Distance

membandingkan warna pada citra dan menghitung jarak antar histogram warnanya. Sehingga mendapatkan kondisi dimana jarak antar kedua citra tersebut bernilai 0 atau kecil yang menyatakan tingkat kemiripan antar citra tersebut.

1.3.1 Analisis Matrik RGB (Red, Green, Blue)

Pada tahap ini suatu citra dikonversi menjadi matrik atau citra dalam bentuk piksel-piksel RGB. Setelah citra menjadi piksel-piksel matrik RGB, maka dipisah lagi matrik RGB tadi menjadi 3 channel warna menjadi Matrik R, Matrik G, dan matrik B. Penjelasannya adalah sebagai berikut :

Contoh apabila citra berukuran 5 x 5

Gambar 3.3 Konversi Matrik

Nilai tiap piksel yang ada dicitra akan di konversi ke nilai piksel ke matrik R, matrik G, dan matrik B. Jumlah kolom dan baris harus sama dan apabila pada posisi (0,0) pada image maka pada matrik R, G, dan B pun harus pada posisi (0,0).


(39)

1.3.2 Analisis Histogram Warna

Histogram warna merupakan distribusi warna dalam sebuah gambar yang didapatkan dengan menghitung jumlah pixel dari setiap bagian range warna, secara tipikal dalam dua atau tiga dimensi. Di dalam histogram ini terdapat bins atau intensitas kemunculan nilai warna pada suatu gambar.

Dalam pembuatan histogram, nilai RGB yang punya range dari 0-255 akan memiliki kemungkinan kombinasi warna sebesar 16.777.216 (didapat dari 256 x 256 x 256). Pada proses komputasi, tentu saja proses ini menghabiskan banyak waktu.

Masalah tersebut dapat diatasi dengan kuantisasi warna, yaitu suatu prosedur untuk mengurangi kemungkinan jumlah warna. Dengan cara ini, jumlah warna yang besar tadi bisa dkurangi, sehingga proses yang dibutuhkan akan semakin mudah. Pada penelitian ini digunakan kuantisasi pada nilai-nilai warna seperti yang terlihat pada tabel dibawah ini.

Tabel 3.1 Tabel Kuantisasi

Nilai RGB Nilai Kuantisasi

0 - 31 0

32 – 63 32

64 - 95 64

96 - 127 96

128 - 159 128

160 – 191 160

192 - 223 192


(40)

Misalnya terdapat suatu citra berukuran 4x4 piksel yang telah dibentuk menjadi Matrik R, matrik G, dan matrik B seperti terlihat pada gambar 3.7 ini.

Tahap selanjutnya adalah membuat histogram warna dari masing-masing

channel matrik diatas dengan terlebih dahulu di kuantisasi, sehingga menjadi seperti berikut:

Gambar 3.5 Histogram Warna RGB Gambar 3.4 Matrik R,G,B


(41)

Pembuatan histogram warna dilakukan pada citra input maupun citra yang berada dalam gallery, sehingga dapat dilakukan penghitungan jarak antar histogram citra input dan citra yang berada dalam gallery.

1.3.3 Analisis Euclidean Distance

Pada tahapan ini Euclidean distance digunakan untuk menghitung jarak antar histogram warna. Dimana tahapan ini dapat menentukan tingkat kemiripan dari citra-citra tersebut.

Secara matematis HistogramEuclidean Distance dituliskan sebagai berikut:

Dimana h dan g mewakili 2 histogram warna, dan a, b, c adalah channel

warnanya.

Sebelum menghitung jarak antar histogramnya, terlebih dahulu dilakukan normalisasi histogram untuk mengatasi lebarnya histogram yang terbentuk akibat jumlah piksel yang besar dan juga untuk perhitungan citra-citra yang memiliki perbedaan ukuran piksel. misal terdapat histogram warna dari suatu citra input dan citra gallery berukuran 4x4 piksel, penjelasannya adalah sebagai berikut:


(42)

Terlihat pada gambar 3.9 Adalah matrik-matrik RGB dari citra masukan dan juga citra gallery, maka tahap selanjutnya adalah buatlah histogram warna dari tiap-tiap matrik tadi dengan terlebih dahulu dikuantisasi sehingga histogramnya terlihat seperti gambar berikut:

Gambar 3.7 Histogram Warna Citra Masukan

Setelah itu tahap selanjutnya adalah normalisasi histogram seperti terlihat pada tabel berikut ini :

Tabel 3.2 Normalisasi Histogram Citra Masukan

Normalisasi Histogram Matrik R

Color 0 32 64 96 128 224

Occurences (y) 5 1 2 1 6 1

N 5 6 8 9 15 16

� 0,3125 0,0625 0.125 0,0625 0,375 0,0625 Normalisasi Histogram Matrik G


(43)

Occurences (y) 2 3 2 4 5

N 2 5 7 11 16

� 0,125 0,1875 0,125 0,25 0,3125

Normalisasi Histogram Matrik B

Color 32 64 96 128 160 224

Occurences (y) 4 3 2 1 5 1

N 4 7 9 10 15 16

� 0,25 0,1875 0,125 0,0625 0,3125 0,0625

Pada citra gallery juga dilakukan tahap yang sama yaitu terlebih dahulu dibuat histogram warna dari tiap-tiap matriknya dengan dikuantisasi terlebih dahulu sehingga hasilnya tampak seperti gambar berikut ini :


(44)

Setelah itu tahap selanjutnya adalah normalisasi histogram seperti terlihat pada tabel 3.3 berikut ini ;

Tabel 3.3 Normalisasi Histogram Citra Gallery

Normalisasi Histogram Matrik R

Color 0 32 64 128 224

Occurences (y) 5 3 3 3 2

N 5 8 11 14 16

� 0,3125 0,1875 0.1875 0,1875 0,125

Normalisasi Histogram Matrik G

Color 0 32 96 128 160 224

Occurences (y) 4 3 1 1 4 3

N 4 7 8 9 13 16

� 0,25 0,1875 0,0625 0,0625 0,25 0,1875

Normalisasi Histogram Matrik B

Color 0 32 64 96 128 160 224

Occurences (y) 1 2 3 1 2 6 1

N 1 3 6 7 9 15 16


(45)

Setelah masing-masing histogram dari citra tersebut dinormalisasi maka histogram warnanya masing-masing akan menjadi seperti gambar berikut:

Gambar 3.9 Hasil Normalisasi (a) Histogram Citra Masukan, (b) Histogram Citra gallery

Tahap selanjutnya adalah menghitung jarak antar histogram untuk mengetahui seberapa mirip citra masukan dengan citra gallery berdasarkan jarak antar histogramnya. Pada tiap occurrences nilai citra input maupun citra gallery dilakukan pengurangan. Seperti yang dijelaskan pada tabel-tabel dibawah ini:


(46)

Tabel 3.4 Perhitungan jarak matrik R

Citra Input Citra Gallery

Hasil

Nilai Occurences Nilai Occurences

0 0,3125 0 0.3125 0

32 0,0625 32 0.1875 0,125

64 0,125 64 0.1875 0,0625

96 0,0625 96 0 0,0625

128 0,375 128 0.1875 0,1875

224 0,0625 224 0.125 0,0625

Total 0,5

Tabel 3.5 Perhitungan jarak matrik G

Citra Input Citra Gallery

Hasil Nilai Occurences Nilai Occurences

0 0.125 0 0.25 0,125

32 0.1875 32 0.1875 0

96 0.125 96 0.0625 0,0625

128 0 128 0.0625 0,0625

160 0.25 160 0.25 0

224 0.3125 224 0.1875 0,125


(47)

Tabel 3.6 Perhitungan jarak matrik B

Citra Input Citra Gallery

Hasil

Nilai Occurences Nilai Occurences

0 0 0 0.0625 0

32 0.25 32 0.125 0,125

64 0.1875 64 0.1875 0

96 0.125 96 0.0625 0,0625

128 0.0625 128 0.125 0,0625

160 0.3125 160 0.375 0,0625

224 0.0625 224 0.0625 0

Total 0,3125

Tabel-tabel diatas adalah hasil perhitungan jarak antara histogram warna citra input dan citra gallery pada channel warna R, G, dan B dimana hasil haruslah bernilai absolute.

Dari tabel-tabel diatas, diketahui channel R bernilai 0,5, channel G bernilai 0,37 5 dan channel B bernilai 0,3125, maka total jarak Euclidean Distance RGB nya adalah 0,5 + 0,375 + 0,3125 = 1,1875. Dimana Semakin kecil jaraknya, maka semakin tinggi pula tingkat kemiripannya.


(48)

Sedangkan untuk citra yang berbeda ukuran pikselnya, misal akan membandingkan citra masukan sebelumnya yang berukuran 4x4 piksel dengan citra

gallery berukuran 6x4 piksel. dijelaskan sebagai berikut :


(49)

Pada gambar 3.14 Adalah matrik-matrik RGB dari citra masukan dan juga citra gallery, maka tahap selanjutnya adalah buatlah histogram warna dari tiap-tiap matrik tadi dengan terlebih dahulu dikuantisasi sehingga histogramnya terlihat seperti gambar berikut:

Gambar 3.11 Histogram Warna Citra Masukan

Setelah itu tahap selanjutnya adalah normalisasi histogram seperti terlihat pada tabel 3.7 berikut ini :

Tabel 3.7 Normalisasi Histogram Citra masukan

Normalisasi Histogram Matrik R

Color 0 32 64 96 128 224

Occurences (y) 5 1 2 1 6 1

N 5 6 8 9 15 16

� 0,3125 0,0625 0.125 0,0625 0,375 0,0625 Normalisasi Histogram Matrik G


(50)

Occurences (y) 2 3 2 4 5

N 2 5 7 11 16

� 0,125 0,1875 0,125 0,25 0,3125

Normalisasi Histogram Matrik B

Color 32 64 96 128 160 224

Occurences (y) 4 3 2 1 5 1

N 4 7 9 10 15 16

� 0,25 0,1875 0,125 0,0625 0,3125 0,0625

Pada citra gallery juga dilakukan tahap yang sama yaitu terlebih dahulu dibuat histogram warna dari tiap-tiap matriknya dengan dikuantisasi terlebih dahulu sehingga hasilnya tampak seperti gambar berikut ini :


(51)

Setelah itu tahap selanjutnya adalah normalisasi histogram warna dari citra gallery

seperti terlihat pada tabel 3.8 berikut ini :

Tabel 3.8 Normalisasi Histogram Warna Citra Gallery

Normalisasi Histogram Matrik R

Color 0 32 64 128 224

Occurences (y) 5 3 2 10 4

N 5 8 10 20 24

� 0,2083 0,125 0.0833 0,4166 0,1666

Normalisasi Histogram Matrik G

Color 0 32 96 160 224

Occurences (y) 4 6 4 4 6

N 4 10 14 18 24

� 0,1666 0,25 0,1666 0,1666 0,25

Normalisasi Histogram Matrik B

Color 32 64 96 128 160 224

Occurences (y) 5 6 4 1 4 4

N 5 11 15 16 20 24


(52)

Setelah masing-masing histogram dari citra tersebut dinormalisasi maka histogram warnanya masing-masing akan menjadi seperti gambar berikut:

Gambar 3.13 Hasil Normalisasi (a) Histogram Citra Masukan, (b) Histogram Citra gallery

Tahap selanjutnya adalah menghitung jarak antar histogram untuk mengetahui seberapa mirip citra masukan dengan citra gallery berdasarkan jarak antar histogramnya. Pada tiap occurrences nilai citra input maupun citra gallery dilakukan pengurangan. Seperti yang dijelaskan pada tabel-tabel dibawah ini:


(53)

Tabel 3.9 Perhitungan Jarak Matrik R

Citra Input Citra Gallery

Hasil

Nilai Occurences Nilai Occurences

0 0,3125 0 0,2083 0,1042

32 0,0625 32 0,125 0,0625

64 0,125 64 0.0833 0,0417

96 0,0625 96 0 0,0625

128 0,375 128 0,4166 0,0416

224 0,0625 224 0,1666 0,1041

Total 0,4166

Tabel 3.10 Perhitungan Jarak Matrik G

Citra Input Citra Gallery

Hasil

Nilai Occurences Nilai Occurences

0 0.125 0 0,1666 0,0416

32 0.1875 32 0.25 0,0625

96 0.125 96 0,1666 0,0416

160 0.25 160 0,1666 0,0834

224 0.3125 224 0.25 0,0625


(54)

Tabel 3.11 Perhitungan Jarak Matrik B

Citra Input Citra Gallery

Hasil

Nilai Occurences Nilai Occurences

32 0.25 32 0,2083 0,0417

64 0.1875 64 0.25 0,0625

96 0.125 96 0,1666 0,0416

128 0.0625 128 0,0416 0,0209

160 0.3125 160 0,1666 0,1459

224 0.0625 224 0,1666 0,1041

Total 0,4167

Tabel-tabel diatas adalah hasil perhitungan jarak antara histogram warna citra input dan citra gallery yang berbeda ukuran pada channel warna R, G, dan B dimana hasil haruslah bernilai absolute.

Dari tabel-tabel diatas, diketahui channel R bernilai 0,4166, channel G bernilai 0,2916 dan channel B bernilai 0,4167, maka total jarak Euclidean Distance RGB nya adalah 0,4166 + 0,2916 + 0,4167 = 1,1249. Hasil ini lebih kecil dibandingkan dengan hasil perbandingan pertama yang bernilai 1.1875. maka pada citra gallery kedua ini dianggap lebih mirip dengan citra masukannya.


(55)

1.3.4 Analisis Kebutuhan Non-Fungsional

Analisis kebutuhan non fungsional merupakan analisis yang dibutuhkan untuk menentukan spesifikasi kebutuhan yang di perlukan oleh Aplikasi. Kebutuhan non fungsional terdiri dari analisis perangkat keras, analisis perangkat lunak dan analisis pengguna (user). Analisis non fungsional bertujuan agar aplikasi yang dibangun dapat digunakan sesuai dengan kebutuhan pengguna aplikasi dalam mencari inforamsi yang dibutuhkan.

1.3.4.1 Analisis Kebutuhan Perangkat Lunak

Perangkat lunak digunakan dalam sebuah sistem merupakan perintah-perintah yang diberikan kepada perangkat keras agar bisa dapat berinteraksi diantara keduanya. Adapun perangkat lunak yang dibutuhkan dalam membangun aplikasi image retrieval berbasis Desktop ini adalah sebagai berikut :

1. Sistem Operasi Windows 8.1 2. IDE Netbeans 8

3. JDK 8

Perangkat lunak yang digunakan oleh user untuk menjalankan aplikasi

image retrieval berbasis desktop adalah sistem operasi windows (Windows XP, Vista, 7,8 ).

1.3.4.2 Analisis Kebutuhan Perangkat Keras

Komputer terdiri dari perangkat keras dan perangkat lunak yang saling berinteraksi. Perangkat lunak memberikan instruksi-instruksi kepada perangkat keras untuk melakukan suatu tugas tertentu, sehingga dapat menjalankan suatu sistem di dalamnya.

Pada aplikasi image retrieval Berbasis Desktop ini, perangkat yang digunakan adalah sebagai berikut :

1. Spesifikasi minimum perangkat keras yang dibutuhkan oleh pengembang. a. Prosesor dengan kecepatan 1.8 Ghz.


(56)

c. Hardisk 20 Gb. d. VGA Card 256 Mb. e. Monitor.

f. Mouse dan Keyboard.

2. Spesifikasi minimum perangkat keras yang dibutuhkan oleh pengguna. a. Prosesor dengan kecepatan 1.8 Ghz ke atas.

b. RAM 2 Gb. c. Hardisk 500 Mb. d. VGA Card 256 Mb. e. Monitor.

f. Mouse dan Keyboard.

Maka dengan spesifikasi tersebut aplikasidapat dijalankan dengan baik dan tidak akan terjadi masalah yang dapat menghambat berjalannya aplikasi.

1.3.4.3 Analisis Pengguna Aplikasi (User)

Analisis pengguna aplikasi ditujukan untuk seluruh masyarakat atau seluruh orang yang ingin mendapatkan kemudahan dalam melakukan pencarian gambar pada gallery mereka. Karakteristik user untuk menggunakan aplikasi ini adalah:

1. Minimal dapat menjalankan aplikasi (mengoperasikan komputer) 2. Usia 12 tahun keatas.


(57)

1.3.5 Analisis Kebutuhan Fungsional

Analisis kebutuhan fungsional menggambarkan proses kegiatan yang akan diterapkan dalam sebuah sistem dan menjelaskan kebutuhan yang diperlukan sistem agar sistem dapat berjalan dengan baik sesuai kebutuhan. Pada bagian ini akan dibahas tentang use case diagram, activity diagram, class diagram, dan sequence diagram.

1.3.5.1 Use case diagram

Pada sub bab berikut ini dijelaskan bagaimana UseCase yang terjadi dalam pembangunan aplikasi ini yang dimodelkan dalam sekumpulan UseCase dan Actor

dan bagaimana hubungan-hubungannya yang akan dipetakan dalam diagram

UseCase, dilengkapi dengan skenario untuk menjelaskan dari gambaran UseCase

yang ada dengan menggambarkan skenario per UseCase. UseCase diagram dapat dilihat pada Gambar 3.17 berikut ini.

Gambar 3.14 UseCase aplikasi Image Retrieval

1. Actor Definition

Actor Definition berfungsi untuk menjelaskan Actor yang terdapat pada Use case diagram. Actor Definition diterangkan pada Tabel 3.4 di bawah ini.


(58)

Tabel 3.12 Actor Definition

No Actor Deskripsi

1 Pengguna Orang yang menggunakan Aplikasi

2. Use Case Definition

Use Case Definition berfungsi untuk menjelaskan fungsi Use Case yang terdapat pada Use case diagram. Use Case Definition diterangkan pada tabel 3.13 di bawah ini.

Tabel 3.13 Use Case Definition

No Use Case Deskripsi

1 Memilih citra masukan Fungsionalitas untuk memasukkan citra sebagai citra masukan

2 Memilih Lokasi Pencarian Fungsionalitas untuk memilih lokasi pencarian citra pada gallery

3 Membandingkan Citra Proses membandingkan citra masukan dan citra dalam gallery

4 Menampilkan citra yang sama dan mirip

berdasarkan jarak

Fungsionalitas untuk melihat hasil perbandingan citra.

3. Use Case Skenario

Use Case Skenario mendeskripsikan urutan langkah-langkah dalam proses bisnis baik yang dilakukan aktor terhadap sistem maupun yang dilikakukan oleh sistem terhadap aktor. Berdasarkan use case diagram pada Gambar 3.17 diatas maka use case Skenario untuk aplikasi yang dibangun akan dijelaskan sebagai berikut.


(59)

1. Use Case Skenario memilih citra masukan

Use Case Skenario dari Use Case memilih citra masukandijelaskan pada tabel di bawah ini.

Tabel 3.14 Use Case Skenario memilih citra masukan

Identifikasi

Nomor 1

Nama Memilih citra masukan

Tujuan Proses untuk memasukkan citra sebagai

citra query

Aktor Pengguna

Utama

Kondisi Awal Pengguna berada di menu utama

Aksi Aktor Reaksi Sistem

1. Memilih tombol input citra

2. Sistem menampilkan halaman gallery

penyimpanan citra 3. Memilih 1 citra sebagai citra

masukan

Kondisi akhir Sistem menampilkan citra yang dipilih pengguna


(60)

2. Use Case Skenario Memilih lokasi pencarian

Use Case Skenario dari Use Case Memilih lokasi pencarian dijelaskan pada tabel di bawah ini.

Tabel 3.15 Use Case Memilih lokasi pencarian

Identifikasi

Nomor 2

Nama Memilih Lokasi Pencarian

Tujuan Menetapkan Lokasi Pencarian pada

Explorer

Aktor Pengguna

Utama

Kondisi Awal Pengguna berada di halaman utama

Aksi Aktor Reaksi Sistem

1. Memilih tombol browse

2. sistem menampilkan halaman explorer

3. menampilkan lokasi pencarian

3. sistem melakukan proses perbandingan

3. Use Case Skenario Membandingkan Citra

Use Case Skenario dari Use Case Membandingkan Citra dijelaskan pada tabel di bawah ini.

Tabel 3.16 Use Case Membandingkan Citra

Identifikasi

Nomor 2

Nama Membandingkan Citra

Tujuan Proses membandingkan citra masukan


(61)

Aktor Pengguna

Utama

Kondisi Awal Menu utama dengan kondisi citra

masukan dan lokasi pencarian sudah dipilih

Aksi Aktor Reaksi Sistem

1. sistem melakukan proses perbandingan citra masukan dan citra yang terdapat pada

gallery

4. Use Case Skenario Menampilkan citra yang sama dan mirip berdasarkan

jarak

Use Case Skenario dari Use Case Menampilkan citra yang sama dan mirip berdasarkan jarak dijelaskan pada tabel di bawah ini.

Tabel 3.17 Use Case Menampilkan Citra yang sama dan mirip berdasarkan jarak

Identifikasi

Nomor 3

Nama Menampilkan citra yang sama dan mirip

berdasarkan jarak

Tujuan Melihat hasil pencarian citra

Aktor Pengguna

Utama

Kondisi Awal Pengguna berada di halaman utama

Aksi Aktor Reaksi Sistem

1. Memilih tombol browse 2. sistem menampilkan citra-citra yang sama dan dianggap mirip


(62)

1.3.5.2 Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Berikut ini activity diagram pada aplikasiini.

1. Activity Diagram Memilih Citra Masukan.

Berikut ini adalah diagram yang menunjukan alur aksi pada aktivitas memilih citra masukan yang dapat dilihat pada gambar 3.18 berikut ini.


(63)

2. Activity Diagram Memilih Lokasi Pencarian

Berikut ini adalah diagram yang menunjukan alur aksi pada aktivitas Memilih Lokasi Pencarian yang dapat dilihat pada gambar 3.19 berikut ini.


(64)

3. Activity Diagram Membandingkan Citra

Berikut ini adalah diagram yang menunjukan alur aksi pada aktivitas Membandingkan Citra yang dapat dilihat pada gambar 3.20 berikut ini.


(65)

4. Activity Diagram Menampilkan citra yang sama dan mirip berdasarkan jarak

Berikut ini adalah diagram yang menunjukan alur aksi pada aktivitas Menampilkan citra yang sama dan mirip berdasarkan jarak yang dapat dilihat pada gambar 3.21 berikut ini.


(66)

1.3.5.3 Class Diagram

Class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang dibuat untuk membangun sistem. Perancangan struktur sistem yang terdapat pada aplikasi ini dapat dilihat pada Gambar 3.22.


(67)

1.3.5.4 Sequence Diagram

Sequence Diagram menggambarkan interaksi antar masing-masing objek pada setiap use case dalam urutan waktu. Interaksi ini berupa pengiriman serangkaian data antar objek-objek yang saling berinteraksi. Sequence Diagram pada aplikasi ini terdiri dari sequence diagram memilih citra masukan , sequence diagram memilih lokasi pencarian, sequence diagram membandingkan citra, dan

sequence diagram Menampilkan citra yang sama dan mirip berdasarkan jarak. Berikut ini penjelasan dari masing-masing sequence diagram:

1. Sequence Diagram Memilih citra masukan

Sequence diagram Menampilkan level 1 pada game Perjuangan si Pitung ini dapat dilihat pada Gambar 3.23.


(68)

2. sequence diagram memilih lokasi pencarian

Sequence diagram memilih lokasi pencarian pada aplikasi ini dapat dilihat pada Gambar 3.24.


(69)

3. Sequence Diagram Membandingkan Citra

Sequence diagram membandingkan citra pada aplikasi ini dapat dilihat pada Gambar 3.25.


(70)

4. sequence diagram menampilkan citra yang sama dan mirip berdasarkan jarak

Sequence diagram menampilkan citra yang sama dan mirip berdasarkan jarak pada aplikasi ini dapat dilihat pada Gambar 3.26.


(71)

1.3.6 Perancangan Antarmuka

Perancangan antarmuka bertujuan untuk memberikan gambaran tentang aplikasi yang akan dibangun, sehingga akan mempermudah dalam mengimplementasikan aplikasi serta akan memudahkan pembuatan aplikasi. Adapun perancangan antarmuka perangkat lunak image retrieval ini adalah sebagai berikut :


(72)

(73)

65

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

1.1 Implementasi Sistem

Implementasi sistem menjelaskan pengimplementasian dari sistem yang telah dibuat. Implementasi yang dijelaskan berupa implementasi perangkat keras, implemantasi perangkat lunak, dan implementasi proses.

1.1.1 Implementasi Perangkat Keras

Implementasi perangkat keras menjelaskan perangkat keras yang digunakan untuk mengimplementasikan sistem yang telah dibuat. Implementasi perangkat keras yang digunakan pada sistem ini dapat dilihat pada tabel 4.1 berikut :

Tabel 4.1 Implementasi Perangkat Keras

No Perangkat Keras Spesifikasi

1 Processor Intel Celeron

2 Memori RAM 2 GB DDR3

3 Hard Disk 500 GB

4 Monitor Monitor 14 inch

1.1.2 Implementasi Perangkat Lunak

Implementasi perangkat lunak menjelaskan perangkat lunak yang digunakan untuk megimplementasi sistem yang telah dibuat. Implementasi perangkat lunak yang digunakan pada sistem ini dapat dilihat pada tabel 4.2.

Tabel 4.2 Implementasi Perangkat Lunak

No Perangkat Lunak Spesifikasi

1 Sisitem Operasi Windows 8.1 (64-bit) 2 Bahasa Pemograman Java NetBean 8.0


(74)

Implementasi antarmuka dilakukan dengan setiap halaman yang dibuat. Berikut ini tampilan antar muka yang telah di implementasikan.

1.1.2.1 Tampilan Halaman Awal

Tampilan awal merupakan tampilan yang pertama kali muncul ketika aplikasi dijalankan. Tampilan ini merupakan tampilan tahapan proses awal dalam sistem pencarian gambar berdasarkan warna. Tampilan awal aplikasi dapat dilihat pada gambar 4.1.


(75)

1.2 Pengujian Sistem

Pengujian aplikasi merupakan hal yang penting yang bertujuan untuk menemukan kesalahan dan kekurangan pada perangkat lunak ini. Pengujian juga bermaksud untuk mengetahui perangkat lunak yang telah dibuat sudah sesuai dengan tujuan perancangan perangkat lunak tersebut.

1.2.1 Rencana Pengujian

Rencana pengujian aplikasi image retrieval berdasarkan warna menggunakan pengujian black box. Pengujian menggunakan pengujian metode black box berfokus pada persyaratan fungsional perangkat lunak. Rencana pengujian dapat dilihat pada tabel 4.3 yang akan dijalankan pada sistem ini.

Tabel 4.3 Rencana Pengujian Aplikasi

Pengujian Butir Uji Jenis Pengujian

Cari Gambar Proses pemilihan gambar

yang ingin dicari Black Box

Pencarian Gambar

Proses pencarian

berdasarkan warna Black Box

Menampilkan gambar hasil pencarian dilihat dari kecocokan warnanya

Black Box

1.2.2 Hasil Pengujian

Berdasarkan rencana pengujian yang telah disusun, maka dapat dilakukan pengujian sebagai berikut :


(76)

1.2.2.1 Pengujian Pilih Gambar

Tabel 4.4 Pengujian Pilih Gambar

Data Masukan Yang Diharapkan Pengamatan Kesimpulan

Pengguna memilih menu Cari dan memilih 1 gambar

dapat

menampilkan folder

penyimpanan gambar yang akan dicari dan

menampilkan gambar yang telah dipilih Proses dapat melakukan pencarian folder penyimpanan gambar dan menampilkan gambar yang telah dipilih Berhasil

1.2.2.2 Pengujian Proses Pencarian Gambar

Tabel 4.5 Pengujian Proses Pencarian Gambar

Data

Masukan Yang Diharapkan Pengamatan Kesimpulan

Pengguna memilih menu Browse dapat menampilkan Lokasi Folder penyimpanan gambar yang dicari dan menampilkan hasil pencarian Proses dapat melakukan pencarian folder penyimpanan gambar dan menampilkan hasil pencarian Berhasil

Berikut merupakan pengujian yang dilakukan terhadap gambar input yang berbeda. Pengujian yang dilakukan untuk melihat akurasi hasil pencarian gambar input pada gambar-gambar yang berada dalam folder penyimpanan. Gambar input maupun gambar yang berada di folder


(77)

penyimpanan diasumsikan sama yaitu 300x350 px. berikut gambar-gambar yang akan dicari (gambar inputan) :

Gambar 4.2 Gambar Input

Tabel 4.6 Tabel Pengujian Pencarian

No Gambar

Input

Hasil Pencarian Keterangan


(78)

No Gambar Input

Hasil Pencarian Keterangan

2. Berhasil


(79)

No Gambar Input

Hasil Pencarian Keterangan

4. Berhasil


(80)

No Gambar Input

Hasil Pencarian Keterangan

6. Berhasil


(81)

No Gambar Input

Hasil Pencarian Keterangan

8. Berhasil


(82)

No Gambar Input

Hasil Pencarian Keterangan

10. Berhasil

Banyak Pengujian : 10

Jumlah Citra Hasil yang sama dengan Citra Inputan : 10 Persentase keakuratan : 100%

Pengujian berikutnya adalah pengujian pencarian gambar input tetapi gambar input tersebut tidak terdapat pada folder penyimpanan yang akan digunakan untuk pencarian.


(83)

Tabel 4.7 Hasil Pengujian Pencarian Kedua

No Gambar

Input

Hasil Pencarian

1.


(84)

No Gambar Input

Hasil Pencarian

3.


(85)

No Gambar Input

Hasil Pencarian

5.


(86)

No Gambar Input

Hasil Pencarian

7.


(87)

No Gambar Input

Hasil Pencarian

9.


(88)

1.2.3 Kesimpulan Pengujian

Berdasarkan hasil pengujian yang telah dilakukan, dapat disimpulkan bahwa secara fungsional aplikasi image retrieval menggnunakan metode

Histogram Euclidean Distance dapat mendapatkan output yang diharapkan. 1.3 Pengujian

Pengujian beta dilakukan di lingkungan pengguna tanpa kehadiran pihak pembangun aplikasi. Pengujian ini merupakan pengujian yang bersifat langsung di lingkungan yang sebenarnya. Pengguna melakukan penilaian terhadap aplikasi dengan menggunakan media kuesioner. Dari hasil kuesioner tersebut maka dapat ditarik kesimpulan apakah aplikasi yang dibangun telah sesuai dengan tujuan atau tidak.

1.3.1 Pengujian Kuisioner

Pengujian kuisioner merupakan media yang digunakan untuk pengguna Aplikasi information retrieval untuk memberikan penilaian terhadap aplikasi yang dibangun. Kuisioner ini disebarkan menggunakan teknik sampling yaitu Simple Random Sampling yang disebarkan kepada 30 pengguna. Dari hasil kuisioner tersebut akan dilakukan perhitungan agar dapat diambil kesimpulan terhadap penilaian penerapan aplikasi yang dibangun kemudian menghitung masing-masing jawaban dengan menggunakan skala likert.

Tabel 4.8 Poin Penilaian

Kategori Jawaban Bobot

Sangat Setuju 5

Setuju 4

Sedang 3

Tidak Setuju 2


(89)

Berikut ini adalah hasil perhitungan dari masing-masing jawaban yang sudah dihitung nilainya dengan menggunakan perhitungan rumus yaitu jumlah dibagi banyaknya sampel :

1. Pengolahan pertanyaan pertama yaitu : Apakah Aplikasi ini mudah Digunakan ?

Tabel 4.9 Hasil Pengujian Pertanyaan ke-1

Hasil Pengujian Kategori

jawaban

Sangat Setuju

Setuju Sedang Tidak

Setuju

Sangat Tidak setuju

Responden 10 20 0 0 0

Sample 30 30 30 30 30

Jumlah (10 responden x 5) + (20 responden x 4) + (0 responden x 3) + (0 responden x 2) + (0 responden x 1) = 120

Hasil 120 ÷ 30 = 4

Sangat tidak setuju

Tidak setuju

Sedang Setuju Sangat

Setuju

Hasil Observasi pada tabel 4.9, Jika semua responden (30 orang responden) menjawab Sangat Setuju, maka jumlah skor ideal (kriterium) untuk seluruh item adalah 150 (diperoleh dari 5 x 30). Berdasarkan hasil penelitian, jumlah skor yang diperoleh adalah 120. Jadi berdasarkan data tersebut, maka tingkat persetujuan responden terhadap pertanyaan nomor 1 adalah (120:150) x 100% = 80% dari yang diharapkan (100%). Jadi berdasarkan pengolahan data yang diperoleh dari 30 responden, maka rata-rata 120 terletak pada daerah setuju.


(90)

2. Pengolahan Pertanyaan kedua yaitu : apakah aplikasi ini memudahkan anda dalam mencari suatu gambar yang anda inginkan ?

Tabel 4.10 Hasil Pengujian Pertanyaan ke-2

Hasil Pengujian Kategori

jawaban

Sangat Setuju

Setuju Sedang Tidak

Setuju

Sangat Tidak setuju

Responden 0 27 3 0 0

Sample 30 30 30 30 30

Jumlah (0 responden x 5) + (27 responden x 4) + (3 responden x 3) + (0 responden x 2) + (0 responden x 1) = 117

Hasil 117 ÷ 30 = 3,9

Sangat tidak setuju

Tidak setuju

Sedang Setuju Sangat Setuju

Hasil Observasi pada tabel 4.10, Jika semua responden (30 orang responden) menjawab Sangat Setuju, maka jumlah skor ideal (kriterium) untuk seluruh item adalah 150 (diperoleh dari 5 x 30). Berdasarkan hasil penelitian, jumlah skor yang diperoleh adalah 120. Jadi berdasarkan data tersebut, maka tingkat persetujuan responden terhadap pertanyaan nomor 2 adalah (117:150) x 100% = 78% dari yang diharapkan (100%). Jadi berdasarkan pengolahan data yang diperoleh dari 30 responden, maka rata-rata 117 terletak pada daerah setuju.

3. Pengolahan Pertanyaan Ketiga : Menurut anda, apakah hasil pencarian menggunakan aplikasi ini akurat ?


(1)

87

BAB 5

KESIMPULAN DAN SARAN

Pada bab kesimpulan dan saran ini, akan dijelaskan tentang isi dari hasil yang diperoleh setelah dilakukan analisis, desain, dan implementasi dari perancangan sistem yang dibangun dan telah dikembangkan serta saran-saran yang akan diberikan untuk dipergunakan bagi pengembangan sistem selanjutnya. 1.1 Kesimpulan

Kesimpulan dari penelitian yang berjudul : “Pembangunan Aplikasi image retrieval menggunakan histogram euclidean distance berdasarkan warna” adalah sebagai berikut :

1. Metode Histogram Euclidean Distance sudah mampu melakukan pencarian gambar berdasarkan jarak antar histogram warna sehingga mampu melakukan pencarian berdasarkan warna gambar

1.2 Saran

Dalam pembangunan Aplikasi image retrieval meggunakan histogram euclidean distance berdasarkan warna ini masih jauh dari sempurna dan masih banyak kekurangan. Oleh karena itu perlu dilakukan pengembangan dan penyempurnaan lebih lanjut. Adapun saran agar sistem ini bisa berfungsi dengan lebih optimal dan lebih menarik adalah untuk kedepannya dalam pengembangan sistem, sebaiknya aplikasi dapat menggunakan pencarian berdasarkan penggabungan dari konten-konten lain seperti bentuk, tekstur, dan lain sebagainya.


(2)

88

Demikian saran yang dapat penulis berikan, semoga saran tersebut bisa dijadikan sebagai bahan masukkan yang dapat bermanfaat bagi penulis khususnya dan umumnya bagi masyarakat luas.


(3)

DAFTAR RIWAYAT HIDUP

Nama : Adhadiat Satya Nugraha

Email : adhadiatsn@yahoo.co.id

Telp : 081329281366

Line Id : adhadiat

Tempat lahir : Jayapura Tanggal Lahir : 23 Juni 1991 Jenis Kelamin : Pria

Agama : Islam

Kewarganegaraan : Indonesia

Alamat : Jl. Balaikambang IV, Kel. Bantarsoka,

Kec.Purwokerto barat, Purwokerto – Jawa Tengah Pendidikan Formal

1. 1996 2002 : SDN Inpres 6.88 waena - Jayapura 2. 2002 2005 : SMP Negeri 11 Cikupa - Jayapura 3. 2005 2009 : SMA Negeri 1 Jayapura

4. 2009 2015 : Teknik Informatika - Universitas Komputer Indonesia (UNIKOM)


(4)

(5)

(6)

SURAT KETERANGAN

PERSETUJUAN PUBLIKASI