BAB 2 LANDASAN TEORI 2.1 Citra Digital 2.1.1 Pengertian Citra Digital Citra digital didefinisikan sebagai matriks berukuran N baris dan M kolom di mana elemen dari matriks merupakan suatu nilai yang menyatakan intensitas citra pada posisi nilai tersebut. Elemen pada citra digital sering disebut sebagai piksel. Terdapat banyak model dalam merepresentasikan warna piksel. Beberapa yang paling umum adalah RGB (Red-Green-Blue), CMYK (Cyan-Magenta-Yellow-Black), dan HSL (Hue-Saturation-Lightness). 2.1.2 Jenis Citra Digital Citra digital dapat dibedakan menjadi 2 jenis, yaitu: a. Tipe Raster Citra raster merupakan suatu citra yang terdiri atas persegi-persegi kecil yang memiliki warna tersendiri. Citra raster sering disebut sebagai bitmap. Beberapa format raster antara lain adalah jpg, gif, bmp, png, dan ico.
6 b. Tipe Vektor Citra vektor merupakan citra yang terbentuk dari bangun-bangun geometri sederhana seperti titik, garis lurus, garis lengkung, dan polygon (segi banyak). Beberapa format vektor antara lain adalah cgm, svg, dan swf. 2.1.3 Pengolahan Citra Digital Pengolahan citra merupakan proses manipulasi citra menjadi citra lain yang kualitasnya lebih baik. Tujuan pengolahan citra adalah memperbaiki kualitas citra agar lebih mudah diinterpretasi oleh manusia ataupun mesin. Jadi, kualitas citra yang lebih baik bukan hanya berarti bahwa lebih menarik bagi manusia, akan tetapi dapat juga berarti lebih mudah diinterpretasikan oleh mesin. Terdapat banyak operasi yang dilakukan di dalam pengolahan citra. Secara umum, operasi pengolahan citra dapat diklasifikasikan sebagai berikut: 1. Perbaikan kualitas citra Operasi ini bertujuan untuk meningkatkan kualitas citra di mata manusia dengan mengubah parameter-parameter pada suatu citra. Parameter-parameter citra yang diubah antara lain: a. Perbaikan kontras warna b. Perbaikan eksposure / tingkat pencahayaan citra c. Perubahan warna
7 2. Pemulihan kualitas citra Operasi ini bertujuan untuk memperbaiki kualitas citra yang telah berubah karena berbagai sebab seperti: a. Adanya noise / gangguan b. Citra yang mengalami perubahan warna karena waktu 3. Pengkompresan citra Operasi ini bertujuan untuk mengecilkan ukuran citra. Terdapat banyak sekali algoritma kompresi citra yang digunakan saat ini. Beberapa yang paling umum antara lain adalah JPEG (yang melakukan kompresi dengan algoritma Discrete Cosine Transform) dan JPEG2000 (yang melakukan kompresi dengan algoritma Discrete Wavelet Transform). 4. Segmentasi citra Operasi ini bertujuan untuk mengelompokkan citra menjadi beberapa region berdasarkan kriteria tertentu. Segmentasi citra bertujuan untuk menemukan karakteristik yang dimiliki oleh citra sehingga sering juga digunakan untuk pengenalan pola citra. 5. Analisis citra Operasi ini bertujuan untuk mengenali citra yang ada. Pengenalan citra yang dimaskud berupa pengidentifikasian objek pada citra. Untuk melakukan pengidentifikasian citra, terdapat banyak proses yang perlu dilakukan, antara lain:
8 a. Pendeteksian batas objek b. Pendeteksian daerah objek 2.2 Fitur 2.2.1 Pengertian fitur Suatu citra biasanya memiliki ukuran yang besar. Di dalam citra yang besar tersebut, terdapat informasi yang esensial yang jumlahnya lebih kecil daripada ukuran keseluruhan citra tersebut. Informasi-informasi esensial ini disebut fitur dari suatu citra. 2.2.2 Ekstraksi fitur Fitur dari suatu gambar memiliki ukuran yang jauh lebih kecil daripada citra aslinya. Untuk memperoleh fitur dari suatu gambar dilakukan transformasi terhadap citra yang akan mengecilkan ukuran dari citra. Proses transformasi ini disebut sebagai ekstraksi fitur. 2.3 Retrival Citra 2.3.1 Pengertian Retrival Citra Retrival citra berarti pencarian citra dari suatu basis data citra dengan menggunakan cara-cara tertentu. Secara umum terdapat 2 retrival citra yang sekarang dilakukan, yaitu retrival citra dengan menggunakan teks dan retrival citra menggunakan citra lain. Retrival citra berbasis teks lebih
9 umum digunakan pada saat ini. Contoh yang paling umum adalah mesin pencarian google yang menggunakan teks untuk mencari citra. 2.3.2 Retrival Citra Berbasis Teks Retrival citra berbasis teks merupakan suatu sistem pencarian citra di dalam basis data citra dengan menggunakan informasi teks yang diberikan sebagai input / kuerinya. 2.3.3 Retrival Citra Berbasis Konten Retrival citra berbasis konten merupakan suatu sistem pencarian citra di dalam basis data citra dengan menggunakan informasi citra, seperti warna, bentuk, dan tekstur sebagai input / kuerinya. 2.4 Rata-rata Rata-rata merupakan nilai tengah dari sekumpulan nilai. Secara matematik, ratarata dapat dirumuskan sebagai berikut: 2.5 Transformasi Walsh-Hadamard 2.5.1 Pengertian Transformasi Walsh-Hadamard Transformasi Walsh-Hadamard merupakan suatu transformasi orthogonal yang menjadikan suatu signal menjadi suatu himpunan
10 gelombang yang berbentuk tegak lurus (orthogonal) dan segi empat (rectangular). Transformasi Walsh-Hadamard dapat didefinisikan dengan dua cara, yaitu: Representasi rekursif Menurut Jörg Arndt (2005, p463), secara rekursif, transformasi Walsh-Hadamard dapat dinyatakan dengan: Kondisi basis Untuk m=0 H m merupakan matriks 1x1 berupa (1) Kondisi rekursif Untuk m>0 H m merupakan matriks dengan bentuk: H m = 1 H 2 H m 1 m 1 H H m 1 m 1 Representasi biner Dengan representasi biner, transformasi Walsh-Hadamard dapat dinyatakan dengan cara: ( H m ) = ( 1 k, n m / 2 ) 2 1 j k j n j
11 Kedua cara tersebut akan menghasilkan matiks yang sama. Apabila dari matriks tersebut diambil dua baris secara acak, maka dua baris matriks tersebut akan bersifat saling orthogonal. 2.5.2 Jenis-Jenis Transformasi Walsh-Hadamard Berdasarkan waktu prosesnya, terdapat dua jenis transformasi Walsh- Hadamard, yaitu: Transformasi Walsh-Hadamard Transformasi Fast Walsh-Hadamard Perbedaan kedua transformasi ini terdapat pada kecepatan transformasinya, di mana transformasi Walsh-Hadamard memiliki kompleksitas O(n 2 ), sedangkan transformasi Fast Walsh-Hadamard memiliki kompleksitas O(n ln n). 2.5.3 Kegunaan Transformasi Walsh-Hadamard Terdapat banyak kegunaan transformasi Walsh-Hadamard. Beberapa yang sudah umum diterapkan adalah: Memproses signal Transformasi Walsh-Hadamard banyak digunakan untuk pemulihan data (error-correcting). Hal ini disebabkan karena sifat khusus dari matriks tranformasi Hadamard yang bersifat orthogonal dan memiliki perbedaan banyaknya angka antar baris sebanyak n/2 untuk matriks berukuran nxn. Algoritma kompresi data
12 Karena kecepatan proses dari transformasi Fast Walsh-Hadamard yang memiliki kompleksitas O(n ln n) dan sifatnya yang orthogonal, banyak kompresi video yang menggunakan tranformasi Fast Walsh- Hadamard sebagai dasar algoritmanya. 2.5.4 Kelebihan Transformasi Walsh-Hadamard Success of image retrieval depends on performance and speed of the retrieval technique used. (Kekre, H. B., Thepade, S. D., Athawale, A., Shah, A., Verlekar, P. & Shirke, S. 2010. Energy Compaction and Image Splitting for Image Retrieval using Kekre Transform over Row and Column Feature Vectors. IJCSNS International Journal of Computer Science and Network Security. (Online), Vol. 10, No. 1.) Transformasi Walsh-Hadamard memiliki kelebihan dari segi kecepatan pemrosesannya. Dengan menggunakan matriks biner (0 dan 1), maka kecepatan pengindeksan gambar dan juga kecepatan pencarian gambar akan lebih cepat dibandingkan metode lainnya. 2.6 Jarak Kemiripan Kemiripan antara dua buah citra dapat dihitung dengan jarak. Semakin kecil perbedaan antara dua buah citra, maka jaraknya akan semakin kecil. Begitu juga sebaliknya, semakin besar perbedaan antara dua buah citra, maka jaraknya juga akan menjadi semakin besar. Terdapat banyak cara untuk menghitung jarak antara dua fitur vektor. Beberapa cara dalam menghitung jarak kemiripan adalah sebagai berikut: Jarak Minkowski
13 Jarak minkowski merupakan generalisasi dari jarak Manhattan dan jarak Euclidean. Jarak Minkowski orde p antara dua fitur vektor adalah: d n p ( h, g) = h() i g() i i= 1 p Jarak Manhattan Jarak Manhattan antara dua fitur vektor adalah: d n ( h, g) = h() i g() i i= 1 Jarak Euclidean Jarak Euclidean antara dua fitur vektor adalah: d n 2 ( h, g) = h( i) g( i) i= 1 2 2.7 Evaluasi Kualitas Retrival Citra Metode retrival memiliki kualitas yang baik apabila mengandung error sesedikit mungkin. Secara umum, terdapat dua jenis error yang terdapat dalam sistem retrival berbasis citra, yaitu: 1. False Positive Citra yang terambil bukan merupakan citra yang relevan dengan kueri. 2. False Negative Citra yang tidak terambil merupakan citra yang relevan dengan kueri.
14 Metode retrival yang baik harus dapat meminimalkan kedua jenis error tersebut. Evaluasi terhadap suatu metode retrival dapat dilakukan dengan menghitung nilai recall dan precision. Rumus Recall: Recall = Jumlah citra relevan yang terambil / Jumlah citra relevan dalam database Rumus Precision: Precision = Jumlah citra relevan yang terambil / Jumlah total citra yang terambil Nilai recall yang tinggi berarti terjadi sedikit kesalahan false negative, sedangkan nilai precision yang tinggi berarti terjadi sedikit kesalahan false positive.
15 2.7 Perancangan Program Komputer Perancangan program komputer memiliki nilai penting dalam pembuatan program. Program yang tidak dirancang dengan baik akan memiliki kualitas yang tidak baik juga. Terdapat banyak model dalam perancangan program komputer. Untuk pembuatan skripsi ini, model perancangan program yang akan digunakan adalah model waterfall. Gambar 2.1 Model Waterfall Model waterfall memiliki urutan yang teratur. Setiap tahapan proses yang akan dilakukan memerlukan kesiapan dari tahapan proses sebelumnya. Prosesproses dalam tahapan model waterfall: 1. Komunikasi Merupakan tahapan di mana dilakukan pengumpulan kebutuhan dari pengguna.
16 2. Perencanaan Merupakan tahapan di mana waktu dan jadwal penyelesaian program dibuat. 3. Pemodelan Merupakaan tahapan analisis di mana program dianalisa dan dibuat designnya. 4. Konstruksi Merupakan tahapan di mana program dibuat. 5. Pendistribusian Merupakan tahapan di mana program yang telah selesai dibuat didistribusikan kepada para pengguna program. 2.8 Bahasa Pemrograman Java Java adalah bahasa pemrograman yang berbasis pada Object Oriented Programming. Java memiliki sintaks yang mirip dengan bahasa C++. Java memiliki beberapa ciri-ciri, antara lain: 1. Merupakan teknologi yang open source 2. Merupakan bahasa yang berorientasi objek 3. Java tidak mendukung multi-inheritance. 4. Setiap elemen dalam program Java harus berada di dalam class.
17 5. Java bersifat multi platform sehingga dapat berjalan di berbagai operating system. 2.9 Interaksi Manusia Komputer (IMK) Interaksi Manusia dan Komputer merupakan bidang yang mempelajari hubungan antara pengguna komputer dan komputer sehingga pengguna dapat lebih mudah dan nyaman dalam menggunakan komputer. Interaksi antara manusia dan komputer biasanya terjadi pada saat penginputan data dan penyajian data oleh komputer. Dalam pembuatan program, IMK diterapkan pada pembuatan antarmuka program. Menurut Ben Schneiderman, untuk meningkatkan kenyamanan pengguna dalam menggunakan suatu aplikasi, diperlukan perancangan antarmuka yang baik. Scheiderman mengajukan Eight Golden Rules of Interface Design sebagai panduan dalam merancang sistem interaksi yang baik, yaitu: 1) Strive for consistency (berusaha untuk konsisten) 2) Enable frequent users to use shortcuts (memungkinkan pengguna menggunakan shortcuts) 3) Offer informative feedback (memberikan umpan balik yang informatif) 4) Design dialog to yield closure (merancang aplikasi yang memungkinkan pengguna menyadari awal dan akhir dari suatu proses) 5) Offer simple error handling (memberikan penanganan kesalahan yang bersifat sederhana)
18 6) Permit easy reversal of actions (memungkinkan pengguna membatalkan aksi dan kembali ke kondisi sebelumnya) 7) Support internal locus of control (membantu pengguna dalam menguasai dan mengontrol sistem) 8) Reduce short-term memory load (mengurangi beban ingatan jangka pendek) 2.10 Penggunaan Program Retrival Citra Terdapat banyak perusahaan yang dapat memanfaatkan program image retrieval. Beberapa di antaranya adalah sebagai berikut: 1. Perusahaan pembuatan semikonduktor Di dalam pembuatan semikonduktor program retrival citra dapat digunakan untuk mendeteksi permasalahan yang ada dalam proses pembuatan semikonduktor. Dengan menggunakan citra-citra yang ada, perusahaan dapat melihat tren produksi, kerusakan mesin, dan lain sebagainya. 2. Rumah sakit Dengan menggunakan retrival citra berbasis konten, rumah sakit dapat meneliti mengenai wabah. Wabah yang serupa akan mengakibatkan perubahan yang serupa pada bagian tubuh manusia, seperti sel kulit, sel darah, ataupun lainnya. Dengan menggunakan retrival citra berbasis konten, gambar sel orang yang terkena wabah dapat dibandingkan dengan gambar sel-sel lainnya untuk melihat penularan wabah.
19 Selain itu, retrival citra berbasis konten juga dapat dimanfaatkan oleh radiologists untuk mengamati permasalahan organ dalam tubuh. Radiologist dapat membandingkan citra organ dalam tubuh pasien yang sedang diperiksa dengan citra organ dalam pasien-pasien sebelumnya sehingga dapat menentukan kelainan yang dialami oleh organ dalam tubuh pasien dengan lebih tepat. Apabila dikembangkan lebih lanjut dengan menggunakan sistem pakar, maka dapat dibuat sistem terotomatisasi yang dapat melakukan pendeteksian awal terhadap kelainan organ dalam tubuh pasien.