D-1
Tempat dan Tanggal Lahir : Bandung, 4 Desember 1993
Jenis Kelamin : Wanita
Agama : Katolik
Status : Belum Menikah
Pekerjaan : Mahasiswa
Golongan Darah : O
Kontak : 081394341734
Alamat : Kp. Patrol RT 04 RW 09 No. 54 Desa Gandasari Kec. Katapang Kab. Bandung 40971
E-mail : barbaraxchristie@gmail.com
Riwayat Pendidikan Formal
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
BARBARA CHRISTIE
10112188
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
iii
Pengolahan Citra dan Algoritma Levenberg-Marquardt pada Content Based
Image Retrieval tepat pada waktunya.
Penyusunan skripsi ini tidak akan terwujud tanpa mendapat dukungan, bantuan dan masukan dari berbagai pihak. Untuk itu, penulis ingin menyampaikan terima kasih yang sebesar-besarnya kepada :
1. Yang saya hormati dan sangat saya sayangi, kedua orang tua saya, Antonius W dan Fransina W.
2. Dosen pembimbing saya selama satu semester ini, Ibu Nelly Indriani W, S.Si., M.T.
3. Kepala Program Studi Teknik Informatika sekaligus wali dosen saya, Bapak Irawan Afrianto, S.T., M.T.
4. My best sisters ever, kesayangan, Elizabeth Priscillia dan Sesilia Chaterine.
5. Semua teman-teman terbaik yang pernah saya punya sepanjang kuliah, anak-anak IF-5 dan 2 orang anak-anak IK yang pernah di IF-5.
6. My besties, teman-teman dari jaman SMA.
7. Yang selalu saling mendukung, teman-teman cewek di IF yang sangat langka dan semuanya beda kelas.
8. Keluarga saya di kampus, anak-anak KMK UNIKOM.
9. Semua orang yang memberi semangat dan dukungan yang tidak bisa saya sebutkan satu per satu.
Akhir kata, semoga skripsi ini dapat bermanfaat bagi para pembaca.
iv
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... iv
DAFTAR TABEL ... vi
DAFTAR GAMBAR ... viii
DAFTAR SIMBOL ... x
DAFTAR LAMPIRAN ... xii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Maksud dan Tujuan ... 2
1.4 Batasan Masalah ... 2
1.5 Metode Penelitian ... 3
1.6 Sistematika Penulisan ... 6
BAB 2 LANDASAN TEORI ... 9
2.1 Citra ... 9
2.2 Pengolahan Citra ... 9
2.3 Ekstraksi Ciri ... 12
2.4 Ekstraksi Ciri Statistik ... 13
2.5 Deteksi Tepi ... 15
2.6 Content Based Image Retrieval (CBIR) ... 16
v
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 29
3.1 Analisis Masalah ... 29
3.2 Analisis Data Masukan ... 29
3.3 Analisis Sistem ... 30
3.4 Analisis Metode ... 31
3.5 Analisis Kebutuhan Non-Fungsional ... 47
3.6 Pemodelan Sistem ... 49
3.7 Perancangan Sistem ... 57
BAB IV IMPLEMENTASI DAN PEMBAHASAN ... 61
4.1 Implementasi Sistem ... 61
4.2 Pengujian Sistem ... 63
4.3 Kesimpulan Pengujian ... 68
BAB V KESIMPULAN DAN SARAN ... 69
5.1 Kesimpulan ... 69
5.2 Saran ... 69
71
Metode Gradient Vector Flow Snake. Surabaya : Institut Teknologi Sepuluh Nopember.
[2] Purnamasari, Fitria. Ramadijanti, Nana. Setiawardhana. 2010, System Online CBIR Menggunakan Identifikasi Dominan Warna Pada
Foreground Objek. Surabaya : Politeknik Elektronika Negeri Surabaya
Institut Teknologi Sepuluh Nopember
[3] Munir, Rinaldi. Pengolahan Citra Digital. Bandung : Departemen Teknik Informatika Institut Teknologi Bandung
[4] Purnomo, Mauridhi Hery. Muntasa Arif. 2010, Konsep Pengolahan
Citra dan Ekstraksi Fitur. Yogyakarta : Graha Ilmu
[5] Munir, Rinaldi. 2004, Pengolahan Citra Digital dengan Pendekatan
Algoritma. Bandung : Informatika
[6] Long, Fahui. Zhang Honjiang. Feng, David Dagan. 2003,
Fundamentals of Content Based Image Retrieval. Microsoft
Corporation Research
[7] Hermawan, A. 2006, Jaringan Syaraf Tiruan Teori dan Aplikasi.
Yogyakarta : Penerbit Andi
[8] Suyanto. 2002, Intelijensia Buatan. Bandung : Sekolah Tinggi Teknologi Telkom
[9] Kusumadewi, Sri. 2003, Artificial Intelligence Teknik dan Aplikasinya.
Yogyakarta : Graha Ilmu
[10] Setiawan, K. 2003, Paradigma Sistem Cerdas. Malang : Bayumedia Publishing
[11] Siang, Jong Jek. 2005, Jaringan Syaraf Tiruan dan Pemogramannya
Menggunakan Matlab. Yogyakarta : Andi Offset
Share Rates Forecasting. International Journal of Computer, Electrical, Automation, Control and Information Engineering, Vol. 2, No. 4
[13] Hagan, Martin T. Menhaj, Mohammad B. 1994, Training Feedforward
Network with the Marquardt Algorithm. IEEE Transactions on Neural
Networks, Vol. 5, No. 6
[14] Sari, Erlis Ardila. 2013, Peramalan Tinggi Muka Air Sungai Bengawan Solo Menggunakan Jaringan Syaraf Tiruan Backpropagation dengan
Algoritma Levenberg-Marquardt dan Modified Levenberg-Marquardt.
Surakarta : Universitas Sebelas Maret
[15] Permadi, Yuda. Murinto. 2015, Aplikasi Pengolahan Citra Untuk Identifikasi Kematangan Mentimun Berdasarkan Tekstur Kulit Buah
Menggunakan Metode Ekstraksi Ciri Statistik. Yogyakarta : Universitas
Ahmad Dahlan
[16] Wuryandari, Maharani Dessy. Afrianto, Irawan. 2012, Perbandingan Metode Jaringan Syaraf Tiruan Backpropagation dan Learning Vector
Quantization pada Pengenalan Wajah. Bandung : Universitas
Komputer Indonesia
[17] Rahmat. Setiawan, Rachmad. Purnomo, Mauridhi Hery. 2006,
Perbandingan Algoritma Levenberg-Marquardt dengan Metoda Backpropagation pada Proses Learning Jaringan Saraf Tiruan untuk
Pengenalan Pola Sinyal Elektrokardiograf. Surabaya : Institut
1
Content Based Image Retrieval (CBIR) merupakan salah satu bentuk
implementasi dari pengolahan citra. CBIR sendiri merupakan teknik pencarian kembali image yang mempunyai kemiripan karakteristik atau content dari sekumpulan image [1]. Secara umum, proses dalam CBIR dilakukan dengan proses ekstraksi fitur. Parameter fitur yang dapat digunakan untuk retrieval dapat berupa histogram, susunan warna, tekstur, bentuk, tipe spesifik dari obyek, dan lain-lain.
Pengembangan sistem CBIR yang sudah pernah dilakukan sebelumnya [1][2] masih menghasilkan gambar hasil retrieval yang kurang sesuai dengan gambar masukan. Hal ini dikarenakan sistem yang dikembangkan tersebut hanya menggunakan kemiripan fitur warna dalam ekstraksi cirinya dan tanpa menerapkan metode pengelompokan. Fitur warna seringkali mengalami kesalahan karena intensitas cahaya dari gambar. Sedangkan pengelompokan gambar sendiri diajukan peneliti sebelumnya untuk dapat mengembangkan sistem CBIR agar lebih baik [2].
Menggunakan penelitian-penelitian sebelumnya, pengembangan CBIR dalam penelitian ini akan mencoba menggunakan fitur bentuk dan karakteristik histogram dengan ekstraksi ciri statistik. Metode ini dipilih karena melihat dari penelitian mengenai ekstraksi ciri statistik sebelumnya [15], metode ini cukup mudah diimplementasikan sehingga tidak memakan banyak waktu. Selain itu, dalam penelitian ini, akan diimplementasikan metode klasifikasi untuk dapat mengelompokan gambar-gambar dalam sistem. Metode yang digunakan adalah algoritma Levenberg-Marquardt. Algoritma tersebut diajukan dengan pertimbangan bahwa algoritma Levenberg-Marquardt merupakan pengembangan dari algoritma backpropagation yang terbukti dapat melakukan klasifikasi dengan baik [16] dan menghasilkan akurasi yang lebih baik dibandingkan algoritma
1.2Rumusan Masalah
Adapun masalah yang telah diidentifikasi untuk penelitian ini adalah bagaimana cara mengoptimalkan pencarian gambar dalam sistem Content Based
Image Retrieval (CBIR) dan bagaimana pengaruh penerapan ekstraksi ciri statistik
orde I dan algoritma Levenberg-Marquardt di dalamnya.
1.3Maksud dan Tujuan
Maksud dilakukannya penelitian ini adalah untuk menerapkan Content Based
Image Retrieval (CBIR) dalam kasus pencarian gambar dengan
mengimplementasikan ekstraksi ciri statistik dan algoritma Levenberg-Marquardt. Sedangkan tujuan penelitian ini adalah untuk mengetahui hasil akurasi penerapan ekstraksi ciri statistik dan algoritma Levenberg-Marquardt pada sistem CBIR.
1.4Batasan Masalah
Berikut merupakan beberapa batasan masalah dalam penelitian ini : 1) Kemiripan gambar dilihat dari kemiripan warna dan bentuk.
2) Metode ekstraksi ciri yang digunakan merupakan ekstraksi ciri statistik orde 1.
1.5Metode Penelitian
Metode penelitian yang digunakan dapat dilihat dari alur di bawah ini :
Gambar 1.1Alur Metode Penelitian
Berikut merupakan penjelasan mengenai metode yang digunakan : 1) Pengumpulan data
Pada tahap ini, akan dilakukan pengumpulan data referensi – referensi mengenai Content Based Image Retrieval (CBIR), algoritma
Levenberg-Marquardt, dan berbagai teori pendukung lain.
2) Identifikasi masalah
Tahap ini merupakan tahap menganalis masalah Content Based Image
Retrieval (CBIR) yang akan dijadikan sebagai bahan penelitian.
Pada tahap ini, masalah yang sudah diidentifikasi sebelumnya dan akan dijadikan bahan penelitian diberi batasan – batasan sehingga permasalahan
Content Based Image Retrieval (CBIR) yang akan dibangun tidak semakin
meluas. Selain itu, akan dilakukan analisis mengenai metode yang akan digunakan dalam sistem seperti metode ekstraksi ciri statistik, deteksi tepi, dan algoritma Levenberg-Marquardt.
4) Implementasi
Pada tahap ini, permasalahan Content Based Image Retrieval (CBIR) dalam penelitian dirancang untuk diimplementasikan ke perangkat lunak. Setelah itu, rancangan perangkat lunak yang sudah dibuat dan semua metode yang diteliti diimplementasikan ke dalam bahasa pemograman. 5) Pengujian
Setelah perangkat lunak selesai dibangun, untuk mengetahui hasil akhir dari penelitian Content Based Image Retrieval (CBIR) ini, maka dilakukan uji coba aplikasi atau simulasi. Pengujian meliputi pengujian terhadap metode pengolahan citra dan algoritma yang digunakan serta pengujian dari fungsi CBIR itu sendiri.
6) Penarikan Kesimpulan
Setelah dilakukan pengujian, tahap akhir dari penelitian ini adalah penarikan kesimpulan dari masalah Content Based Image Retrieval
(CBIR) dengan menggunakan algoritma Levenberg-Marquardt.
1.5.1 Metode Pengumpulan Data
Metode yang digunakan dalam pengumpulan data adalah studi kepustakaan, dengan mengumpulkan literatur berupa buku, jurnal-jurnal, dan bahan-bahan materi kuliah, serta berbagai sumber dari internet.
1.5.2 Metode Pembangunan Perangkat Lunak
Metode pembangunan perangkat lunak yang digunakan merupakan metode
Gambar 1.2 Metode Pembangunan Perangkat Lunak
Berikut merupakan penjelasan mengenai metode pembangunan perangkat lunak yang digunakan :
1) Requirements Analysis
Pada tahap ini, dilakukan analisa kebutuhan apa saja yang dibutuhkan untuk pembangunan sistem Content Based Image Retrieval (CBIR) yang akan dijadikan sebagai bahan penelitian.
2) System Design
Pada tahap ini, hasil analisa kebutuhan lebih dispesifikasikan menjadi sebuah desain yang nantinya akan dikembangkan nantinya.
3) Implementation
Pada tahap ini, permasalahan Content Based Image Retrieval (CBIR) dalam penelitian dirancang untuk diimplementasikan ke perangkat lunak. Setelah itu, rancangan perangkat lunak yang sudah dibuat dan semua metode yang diteliti diimplementasikan ke dalam bahasa pemograman.
4) Integration and testing
Setelah perangkat lunak selesai dibuat, maka selanjutnya, sistem diujicobakan.
5) Deployment
6) Maintenance
Selanjutnya adalah tahap pemeliharaan dan pengembangan. Pengembangan dilakukan pada bagian – bagian yang dirasa tidak sesuai dengan apa yang diharapkan.
1.6Sistematika Penulisan
Susunan bab dari penelitian ini adalah :
BAB I PENDAHULUAN
Bab ini akan berisi latar belakang dari masalah, rumusan masalah, maksud dan tujuan penelitian, batasan masalah, metodologi penelitian, dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini akan berisi berbagai teori-teori yang digunakan dalam penyelesaian penelitian seperti teori mengenai : citra, pengolahan citra, ekstraksi ciri, deteksi tepi, Content Based Image Retrieval (CBIR), kecerdasan buatan, Jaringan Syaraf Tiruan (JST), algoritma Backpropagation, dan algoritma
Levenberg-Marquardt
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini akan berisi tentang deskripsi masalah Content Based Image Retrieval
(CBIR) yang akan diselesaikan dengan pengimplementasian algoritma
Levenberg-Marquardt, data – data yang akan digunakan dalam penelitian,
perancangan tentang sistem CBIR yang akan dibangun untuk mensimulasikan permasalahan dalam penelitian.
BAB IV IMPLEMENTASI DAN PEMBAHASAN
Bab ini akan berisi pengimplementasian sistem Content Based Image
Retrieval (CBIR) yang sudah dirancang pada bab sebelumnya ke dalam
BAB V KESIMPULAN DAN SARAN
9
Secara harafiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus
(continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya
menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh oleh alat-alat optik, misalnya mata pada manusia, kamera, pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam.
Citra dapat berupa citra diam dan citra bergerak. Citra diam adalah citra tunggal yang tidak bergerak. Citra bergerak (moving images) adalah rangkaian citra diam yang ditampilkan secara beruntun (sekuensial) sehingga memberi kesan pada mata kita sebagai gambar yang bergerak. Setiap citra di dalam rangkaian itu disebut frame. Gambar-gambar yang tampak pada film layar lebar atau televisi pada hakikatnya terdiri atas ratusan sampai ribuan frame. [3]
2.2Pengolahan Citra
Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita miliki mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau
(noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya.
Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi berkurang.
1) Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra.
2) Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur. 3) Sebagian citra perlu digabung dengan bagian citra yang lain.
Di dalam bidang komputer, sebenarnya ada tiga bidang studi yang berkaitan dengan data citra yakni grafika komputer (computer graphics), pengolahan citra
(image processing), dan pengenalan pola (pattern recognition/image
interpretation), namun ketiganya memiliki tujuan yang berbeda.
Pengolahan Citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra, namun citra keluaran mempunyai kualitas lebih baik daripada citra masukan. Termasuk ke dalam bidang ini juga adalah pemampatan citra (image compression).
Secara umum, operasi pengolahan citra dapat diklasifikasikan menjadi : 1) Perbaikan kualitas citra (image enhancement)
Operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri khusus dalam citra dapat lebih ditonjolkan. Contoh-contoh operasi dalam perbaikan kualitas citra adalah perbaikan kontras gelap / terang, perbaikan tepian objek (edge enhancement), penajaman (sharpening), pemberian warna semu (pseudocoloring), dan penapisan derau (noise). 2) Pemugaran citra (image restoration)
Hampir sama dengan operasi perbaikan kualitas citra, operasi ini bertujuan untuk menghilangkan / meminimumkan cacat pada citra. Contoh-contoh operasi dalam pemugaran citra antara lain penghilangan kesamaran (deblurring) dan penghilangan derau (noise)
3) Pemampatan citra (image compression)
diperhatikan dalam pemampatan citra, citra yang dimampatkan harus tetap memiliki kualitas yang baik.
4) Segmentasi citra (image segmentation)
Operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini erat kaitannya dengan pengenalan pola.
5) Pengorakan citra (image analysis)
Operasi ini bertujuan untuk menghitung besaran kumulatif dari citra untuk menghasilkan deskripsinya. Teknik pengorakan citra mengekstraksi ciri-ciri tertentu yang membantu dalam identifikasi objek. Contoh-contoh operasi pengorakan citra antara lain pendeteksian tepian objek (edge detection), ekstraksi batas (boundary), dan representasi daerah (region).
6) Rekonstruksi citra (image reconstruction)
Operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra hasil proyeksi. Operasi ini banyak digunakan dalam bidang medis seperti pada foto rontgen dengan sinar X yang digunakan untuk membentuk ulang gambar organ tubuh.
Pengolahan citra telah dimanfaatkan dalam berbagai bidang, beberapa di antaranya adalah [3] :
1) Bidang perdagangan
a. Pembacaan kode batang (bar code) yang tertera pada barang (umum digunakan di pasar swalayan/supermarket).
b. Mengenali huruf/angka pada suatu formulir secara otomatis. 2) Bidang militer
a. Mengenali sasaran peluru kendali mela lui sensor visual. b. Mengidentifikasi jenis pesawat musuh.
3) Bidang kedokteran
a. Pengolahan citra sinar X untuk mammografi (deteksi kanker payudara)
c. Mendeteksi kelainan tubuh dari foto sinar X. d. Rekonstruksi foto janin hasil USG
4) Bidang biologi
Pengenalan jenis kromosom melalui gambar mikroskopik 5) Bidang komunikasi data
Pemampatan citra yang ditransmisi. 6) Bidang hiburan
Pemampatan video (MPEG) 7) Bidang robotika
Visualy-guided autonomous navigation
8) Bidang pemetaan
Klasifikasi penggunaan tanah melalui foto udara/LANDSAT 9) Bidang geologi
Mengenali jenis batu-batuan melalui foto udara/LANDSAT 10)Bidang hukum
a. Pengenalan sidik jari
b. Pengenalan foto narapidana.
2.3Ekstraksi Ciri
Ekstraksi ciri adalah proses untuk mengubah tiap gambar yang terdapat dalam file gambar menjadi susunan kode biner (angka 0 dan 1). Suatu ekstraksi ciri dapat meminimumkan dimensi data dengan mempertahankan informasi penting yang terkandung di dalam sebuah objek.
Ekstraksi ciri merupakan langkah awal dalam melakukan klasifikasi dan interpretasi citra. Proses ini berkaitan dengan kuantisasi karakteristis citra ke dalam sekelompok nilai ciri yang sesuai.
Tujuan dari pemilihan ciri khas (feature selection) citra adalah untuk : 1) Mencari ciri yang paling optimum dari suatu objek yang dapat digunakan
untuk membedakan objek tersebut dengan objek lainnya.
Beberapa metode yang dapat digunakan untuk melakukan ekstraksi ciri antara lain :
1) Metode statistik
Metode statistik menggunakan perhitungan statistik distribusi derajat keabuan (histogram) dengan mengukur tingkat kekontrasan, granularitas, dan kekasaran suatu daerah dari hubungan ketetanggaan antar piksel di dalam citra.
2) Metode spektral
Metode spektral berdasarkan pada fungsi autokorelasi suatu daerah atau power distribution pada domain transformasi Fourier dalam mendeteksi periodisitas tekstur.
3) Metode struktural
Analisis dengan metode ini menggunakan deskripsi primitif tekstur dan aturan sintaktik. Metode struktural banyak digunakan untuk pola-pola makrostruktur. [4]
2.4Ekstraksi Ciri Statistik
Ekstraksi ciri statistik merupakan metode pengambilan ciri yang didasarkan pada karakteristik histogram citra. Histogram menunjukkan probabilitas kemunculan nilai derajat keabuan piksel pada suatu citra. Ekstraksi ciri statistik terbagi menjadi dua metode yaitu [5] :
1) Ekstraksi ciri orde pertama
Parameter ciri yang dihasilkan dari ekstraksi ciri orde pertama yakni : a. Mean
Menunjukkan ukuran dispersi dari suatu citra.
� = (2.1)
dengan
fn : nilai skala keabuan
P(fn) : probabilitas kemunculan skala keabuan
b. Variance
� = − � ( ) (2.2)
c. Skewness
Menunjukkan tigkat kemencengan relatif kurva histogram dari suatu citra.
� =
� − � ( ) (2.3)
d. Kurtosis
Menunjukkan tingkat keruncingan realatif kurva histogram dari suatu citra.
� =
� − � − (2.4)
e. Entrophy
Menunjukkan ukuran ketidakteraturan bentuk dari suatu citra.
= − ∙ � � ( ) (2.5) 2) Ekstraksi ciri orde kedua
Ekstraksi ciri orde kedua digunakan bila ekstraksi ciri orde pertama tidak dapat lagi digunakna untuk mengenali perbedaan antar citra. Parameter ciri yang dihasilkan dari ekstraksi ciri orde kedua yakni :
a. Angular Second Moment
Menunjukkan ukuran sifat homogenitas citra.
= ( , ) (2.6)
b. Contrast
Menunjukkan ukuran penyebaran (momen inersaia) elemen-elemen matriks citra. Jika letaknya jauh dari diagonal utama, maka nilai kekontrasan besar. Nilai kekontrasan adalah ukuran variasi antar derajat keabuan suatu daerah citra.
�� �= ( − ) ( , ) (2.7)
c. Correlation
�= , −� �
� � (2.8)
d. Inverse Different Moment (IDM)
Menunjukkan kehomogenan citra yang berderajat keabuan sejenis. Citra homogen akan memiliki harga IDM yang besar.
=
+ − ( , ) (2.9)
e. Entrophy
Menunjukkan ukuran ketidakteraturan bentuk. Harga ENT besar untuk citra dengan transisi derajat keabuan merata dan bernilai kecil jika struktur citra tidak teratur (bervariasi).
�= − ( , )� �( ( , )) (2.10)
2.5Deteksi Tepi
Faktor kunci dalam mengekstraksi ciri adalah kemampuan mendeteksi keberadaan tepi (edge) dari objek di dalam citra. Yang dimaksud dengan tepi di sini adalah perubahan nilai intensitas derajat keabuan yang mendadak (besar) dalam jarak yang singkat. Perbedaan intensitas inilah yang menampakkan rincian pada gambar. Tepi biasanya terdapat pada batas antara dua daerah berbeda pada suatu citra. Tepi dapat diorientasikan dengan suatu arah, dan arah ini berbeda-beda pada bergantung pada perubahan intensitas.
Ada tiga macam tepi yang terdapat di dalam citra digital yakni : 1) Tepi curam
Tepi dengan perubahan intensitas yang tajam. Arah tepi berkisar 90°. 2) Tepi landai
Disebut juga tepi lebar, yaitu tepi dengan sudut arah yang kecil. Tepi landai dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya berdekatan.
3) Tepi yang mengandung derau (noise)
Gambar 2.1 Jenis-Jenis Tepi Citra Digital (dari kiri ke kanan) Tepi Curam, Tepi Landai, Tepi yang Mengandung Derau
Tujuan operasi pendeteksian tepi adalah untuk meningkatkan penampakan garis batas suatu daerah atau objek di dalam citra. Karena tepi termasuk ke dalam komponen berfrekuensi tinggi, maka pendeteksian tepi dapat dilakukan dengan penapis lolos-tinggi. Terdapat beberapa teknik yang digunakan untuk mendeteksi tepi, antara lain [3] :
1) Operator gradien pertama (differential gradient) 2) Operator turunan kedua (Laplacian)
3) Operator kompas (compass operator)
2.6Content Based Image Retrieval (CBIR)
Content Based Image Retrieval System (CBIR) merupakan teknik pencarian
kembali gambar yang mempunyai kemiripan karakteristik atau content dari sekumpulan gambar. Proses secara umum dari CBIR pada image query dilakukan proses ekstraksi fitur. Parameter fitur gambar yang dapat digunakan untuk retrieval pada sistem ini seperti histogram, susunan warna, tekstur, bentuk, tipe spesifik dari obyek, tipe event tertentu, nama individu, lokasi, emosi. Image query terdiri atas 3 level, yaitu:
1) Level 1
Retrieval dengan primitive feature, seperti color, shape, teksture. 2) Level 2
3) Level 3
Retrieval dengan abstract feature, seperti nama even, tipe aktifitas, emotional, religius.
Beberapa pokok persoalan yang sering terjadi dalam pembangunan CBIR dapat diuraikan sebagai berikut:
1) Pemahaman gambar yang dibutuhkan oleh user dan pencarian informasi. 2) Pengidentifikasian cara yang sesuai dalam image content atau karakteristik
dari gambar.
3) Proses ekstraksi fitur dari gambar.
Ekstraksi fitur merupakan proses penting pada sistem CBIR karena hasil dari proses ini perbedaan pada setiap gambar dapat diketahui berdasarkan cirinya seperti ciri bentuk, warna, tekstur dan lain – lain. Beberapa teknik yang dapat digunakan untuk ekstraksi fitur antara lain : teknik analisis komponen utama, besaran statistik , histogram warna, wavelet transform dan lain – lain. [6]
2.7Kecerdasan Buatan
Kecerdasan buatan atau Artificial Intelligence merupakan cabang dari ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) agar dapat melakukan pekerjaan dengan baik seperti apa yang dilakukan manusia atau bahkan lebih baik.
Agar mesin bisa menjadi cerdas, maka mesin harus diberi bekal pengetahuan dan kemampuan untuk menalar. Cerdas yang dimaksud di sini adalah memilki pengetahuan dan pengalaman yang dapat digunakan untuk mengambil suatu keputusan atau suatu tindakan dengan baik. Terdapat dua bagian utama yang dibutuhkan dalam pengembangan aplikasi kecerdasan buatan, yakni [7] :
1) Basis pengetahuan (Knowledge base)
Basis pengetahuan berisi fakta-fakta, teori, pemikiran, dan hubungan antara satu dengan yang lainnya.
2) Motor inferensi (Inference agent)
Definisi – definisi kecerdasan buatan, diorganisasikan ke dalam empat kategori yakni [8] :
1) Thinking humanly (The cognitive modelling approach)
Pendekatan ini mencoba menangkap pemikiran – pemikiran melalui introspeksi dan melalui eksperimen – eksperimen psikologi.
2) Acting humanly (The Turing test approach)
Seperti eksperimen yang dilakukan Alan Turing (1950), dirancang suatu ujian bagi komputer yang menggunakan kecerdasan buatan, apakah mampu mengelabui seorang manuasi yang menginterogasi komputer tersebut melalui teletype. Jika interrogator tidak dapat membedakan apakah yang diinterogasi adalah manusia atau komputer, maka komputer tersebut lolos dari Turing test. Komputer tersebut perlu memiliki kemampuan: Natural Language Processing, Knowledge Representation,
Automated Reasoning, Machine Learning, Computer Vision, Robotics.
Turing Test sengaja menghindari interaksi fisik antara interrogator dan komputer karenasimulasi fisik manusia tidak memerlukan kecerdasan.
3) Thinking rationally (The laws of thought approach)
Terdapat dua masalah dalam pendekatan ini, yang pertama tidak mudah untuk membuat pengetahuan informal dan menyatakannya dalam formal
term yang diperlukan oleh notasi logika, khususnya ketika pengetahuan
tersebut memiliki kepastian kurang dari 100%. Selain itu, masalah yang kedua adalah terdapat perbedaan besar antara dapat memecahkan masalah “dalam prinsip” dan juga memecahkannya dalam praktek.
4) Acting rationally (The rational agent approach)
2.8Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan (JST) atau yang disebut juga dengan neural network
merupakan salah satu cabang dari kecerdasan buatan. JST adalah simulasi perangkat lunak dengan arsitektur dan operasi yang diilhami dari pengetahuan tentang sel syaraf biologis di dalam otak (neuron). JST merupakan salah satu representasi buatan dari otak manusia yang bekerja dengan menstimulasi proses pembelajaran yang diterima otak manusia tersebut. Ide dari ilmu tentang neural network ini pertama kali ditemukan oleh seorang ahli psikologi, William James, pada tahun 1890 yang kemudian dilakukan pengembangan model neuron secara matematik oleh McCulloch dan Pitts pada tahun 1943. JST menyerupai otak manusia dalam dua hal, yaitu:
1) Pengetahuan diperoleh jaringan melalui proses belajar.
2) Kekuatan hubungan antar sel syaraf (neuron) yang dikenal sebagai bobot- bobot sinaptik digunakan untuk menyimpan pengetahuan.
JST mempunyai sifat dan kemampuan: 1) Nonlinieritas (Nonlinearity)
2) Pemetaan Input-Output (Input-Output Mapping) 3) Adaptivitas (Adaptivity)
4) Respon Yang Jelas (Evidential Response)
5) Informasi Yang Sesuai Dengan Keadaan (Contextual Information) 6) Toleransi Kesalahan (Fault Tolerance)
7) Kemampuan Implementasi Pada VLSI (VLSI Implementability)
8) Keseragaman Analisis Dan Perancangan (Unifomity of Analysis and Design)
9) Analogi Sel Syaraf Biologi (Neurobiological Analogy)
1) Pemrosesan informasi terjadi pada elemen - elemen sederhana yang disebut neuron.
2) Sinyal – sinyal merambat di antara neuran melalui suatu sambungan penghubung.
3) Setiap sambungan penghubung memiliki bobot yang bersesuaian yang berfungsi untuk menggandakan / mengalikan sinyal yang dikirim. 4) Setiap neuron menerapkan fungsi aktifasi terhadap sinyal hasil
penjumlahan berbobot yang masuk untuk menentukan sinyal keluaran. Pada dasarnya karakteristik JST ditentukan oleh [9] :
1) Pola hubungan antar neuron (disebut arsitektur jaringan).
2) Metode penentuan bobot-bobot sambungan (disebut dengan pelatihan atau proses belajar jaringan).
3) Fungsi aktivasi.
Pada JST, neuron-neuron akan dikumpulkan dalam lapisan-lapisan (layer) yang disebut dengan lapisan neuron (neuron layers). Neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya. Informasi yang diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai dari lapisan masukan sampai ke lapisan keluaran melalui lapisan tersembunyi (hidden layer). Faktor terpenting dalam menentukan kelakuan suatu neuron adalah fungsi aktivasi dan pola bobotnya. Umumnya neuron-neuron yang terletak pada lapisan yang sama akan memiliki keadaan yang sama sehingga pada setiap lapisan yang sama neuron-neuron memiliki fungsi aktivasi yang sama. Bila neuron-neuron pada suatu lapisan (misal lapisan tersembunyi) akan dihubungkan dengan neuron-neuron pada lapisan lain (misal lapisan keluaran) maka setiap neuron pada lapisan tersebut (lapisan tersembunyi) juga harus dihubungkan dengan setiap neuron pada lapisan lainnya (lapisan keluaran). Terdapat 3 macam arsitektur JST, yakni:
1) Jaringan dengan lapisan tunggal (single layer net)
Seberapa besar hubungan antara 2 neuron ditentukan oleh bobot yang bersesuaian. Semua unit masukan akan dihubungkan dengan setiap unit keluaran.
Gambar 2.2 JST dengan Lapisan Tunggal
2) Jaringan dengan banyak lapisan (multilayer net)
Gambar 2.3 JST dengan Banyak Lapisan
3) Jaringan dengan lapisan kompetitif (competitive layer net)
Pada jaringan ini sekumpulan neuron bersaing untuk mendapatkan hak menjadi aktif. Umumnya hubungan antar neuron pada lapisan kompetitif ini tidak diperlihatkan pada diagram arsitektur.
JST dapat belajar dari pengalaman, melakukan generalisasi atas contoh – contoh yang diperolehnya dan mengabstraksi karakteristik esensial masukan bahkan untuk data yang tidak relevan. Algoritma untuk JST beroperasi secara langsung dengan angka sehingga data yang tidak numerik harus diubah menjadi data numerik. JST tidak diprogram untuk menghasilkan keluaran tertentu. Semua keluaran atau kesimpulan yang ditarik oleh jaringan didasarkan pada pengalamannya selama mengikuti proses pembelajaran. Pada proses pembelajaran, ke dalam JST dimasukkan pola-pola masukan (dan keluaran) lalu jaringan akan diajari untuk memberikan jawaban yang bisa diterima. [8]
Pelatihan Jaringan Syaraf bertujuan untuk mencari bobot-bobot yang terdapat pada setiap layer. Terdapat dua jenis pelatihan dalam sistem JST, yakni [11] :
1) Supervised Learning
Dalam proses pelatihan ini, jaringan dilatih dengan cara diberikan data-data yang disebut training data yang terdiri atas pasangan input-output
yang diharapkan dan disebut associative memory. Setelah jaringan dilatih,
associative memory dapat mengingat suatu pola. Jika jaringan diberi input
baru, jaringan dapat menghasilkan output seperti yang diharapkan berdasarkan pola yang sudah ada.
2) Unsupervised Learning
Dalam proses pelatihan ini, jaringan dilatih hanya dengan diberi data input
yang memiliki kesamaan sifat tanpa disertai output.
2.9Algoritma Backpropagation
lewat suara, pendeteksi penyakit dan masih banyak lagi penerapan algoritma
backpropagation ini.
Backpropagation digunakan oleh perceptron dengan banyak lapisan untuk
mengubah bobot-bobot yang terhubung dengan neuron-neuron yang terdapat pada lapisan tersembunyi. Algoritma propagasi balik menggunakan error output agar dapat mengubah nilai bobot – bobotnya dalam proses mundur (backward) untuk mendapatkan error ini, tahap perambatan maju, neuron – neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid, sedangkan dalam melakukan sebuah proses perambatan maju dan mundur disebut epoch atau iterasi. [12]
Berikut merupakan tahapan pada proses pelatihan algoritma
backpropagation :
2.10Algoritma Levenberg-Marquardt
Algoritma Levenberg-Marquardt pengembangan algoritma backpropagation
standar yang secara umum prosesnya masih seperti algoritma backpropagation. Bila pada algoritma backpropagation, proses update bobot dan bias menggunakan
negative gradient descent secara langsung, algoritma Levenberg-Marquardt
menggunakan pendekatan matriks Hesian (H) yang dapat dihitung dengan persamaan 2.11 :
= �J (2.11)
sedangkan gradient dapat dihitung dengan persamaan 2.12 :
= � (2.12)
J merupakan sebuah matrik jacobian yang berisikan turunan pertama dari error
jaringan terhadap bobot dan bias jaringan. Matriks Jacobian dapat dihitung dengan persamaan 2.13 [12] :
= �� (2.13)
Perubahan pembobot dapat dihitung dengan persamaan 2.14 [13] :
∆�= � + � − � (2.14)
di mana μ merupakan konstanta learning, I merupakan matrik identitas dan � merupakan vektor yang menyatakan semua error pada output jaringan
Berikut tahapan pada proses pelatihan algoritma Levenberg-Marquardt : Langkah 1 : Inisialisasi bobot dan parameter.
Langkah 2 : Hitung input setiap node pada hidden layer
_ = = × (2.15)
di mana :
z_inj : jumlah total input untuk node ke-j
n : jumlah node pada hidden layer sebelumnya, untuk hidden layer yang pertama n adalah jumlah
node input
sebelumnya, untuk hidden layer yang pertama xi adalah input yang diterima oleh sistem
wij : bobot yang menghubungkan antara node ke-i dan
node ke-j
Hitung output setiap node pada hidden layer dengan fungsi aktivasi
= ( _ ) (2.16) di mana :
zj : output dari node ke-j
=
+�� (− ) (2.17)
Langkah 3 : Hitung input setiap node pada output layer
_ = = × (2.18)
dimana :
y_ink : jumlah total input untuk node ke-k
n : jumlah node pada hidden layer sebelum output layer
wjk : bobot yang menghubungkan antara node ke-j dan
node ke-k
Hitung output pada setiap node pada output layer
= ( _ ) (2.19)
dimana :
yk : output dari node ke-k
Langkah 4 : Hitung error setiap node pada output layer = [� − ]� (2.20)
dimana :
k : banyaknya unit pada output layer
Langkah 6 : Hitung selisih bobot dengan persamaan 2.14
Langkah 7 : Update error dengan persamaan :
= � (2.21)
Langkah 8 : Update bobot pada setiap node pada output layer
dan hidden layer dengan persamaan :
= + ∆ (2.22)
= + ∆ (2.23)
dimana ∆� dan ∆� berasal dari matriks ∆�
Jika iterasi masih berlanjut (epoch < max epoch dan error > max error), terdapat 2 kemungkinan [14] :
29
Pengembangan penelitian mengenai Content Based Image Retrieval sudah pernah dilakukan sebelumnya. Sistem yang dikembangkan sebelumnya lebih banyak berfokus pada fitur warna juga tanpa menggunakan metode pengelompokan khusus.
Masalah muncul karena dengan menggunakan fitur warna, seringkali dipengaruhi oleh seberapa intensitas cahaya yang dimiliki suatu citra. Selain itu, tanpa metode pengelompokan gambar, sistem CBIR belum dapat menghasilkan hasil yang baik.
Dalam penelitian ini, metode yang diajukan untuk sistem CBIR adalah metode ekstraksi ciri statistik. Metode ini dipilih dengan pertimbangan bahwa metode ini cukup mudah diimplementasikan dan dapat menghasilkan hasil ekstraksi yang cukup baik [15].
Selain itu, dengan harapan untuk dapat meningkatkan akurasi sistem, maka akan diterapkan metode klasifikasi dengan algoritma Levenberg-Marquardt. Alasan penggunaan metode ini adalah karena metode ini merupakan pengembangan metode backpropagation yang mampu melakukan klasifikasi citra dengan baik [16].
3.2Analisis Data Masukan
Data yang digunakan sebagai data masukan dalam sistem Content Based
Image Retrieval (CBIR) ini adalah gambar dengan format .bmp, .jpg, .jpeg,
gambar masukan yang akan digunakan 120 data yang berasal dari 8 kategori klasifikasi yang berbeda. Setiap kategori menggunakan 15 data. Adapun kategori yang digunakan yakni bunga matahari, bunga mawar, harimau, daun, bis, burung, anjing, dan bumi. Berikut merupakan kategori gambar yang akan digunakan beserta dengan nilai target outputnya :
Tabel 3.1 Target Klasifikasi
Nilai Target
(Y1,Y2,Y3) Klasifikasi
000 Harimau 001 Bunga mawar 010 Daun 011 Bunga matahari
100 Bis
101 Burung 110 Anjing 111 Bumi
3.3Analisis Sistem
Sistem Content Based Image Retrieval (CBIR) dengan algoritma
Levenberg-Marquardt secara umum dapat dilihat dari skema berikut :
Berikut penjelasan umum sistem :
1) Gambar masukan diambil dari 120 data gambar yang sudah disiapkan untuk penelitian. Gambar yang masuk sistem akan melalui tahap pre-processing yakni proses resize dan grayscale.
2) Gambar yang telah melalui tahap pre-processing tersebut kemudian
digunakan untuk proses ekstraksi ciri statistik yang akan menghasilkan nilai mean, variance, skewness, kurtosis, dan entrophy.
3) Nilai – nilai tersebut akan digunakan sebagai variabel dalam input layer
pada jaringan Levenberg-Marquardt.
4) Dilakukan proses pelatihan Levenberg-Marquardt yang akan
menghasilkan bobot-bobot baru untuk proses pengujian dan hasil klasifikasi citra latih yang akan digunakan untuk pencocokan gambar. Hasil klasifikasi ini akan disimpan dalam database.
5) Dengan menggunakan beberapa citra uji, dilakukan proses pengujian
Levenberg-Marquardt. Pengujian ini akan menghasilkan klasifikasi citra
yang akan dicocokkan dengan data hasil latih dalam database untuk mendapatkan hasil retrieval.
6) Hasil retrieval yang didapat akan ditampilkan secara urut dengan melihat nilai error yang paling kecil.
3.4Analisis Metode
Dalam penelitian ini metode yang digunakan adalah metode pengolahan citra dan metode kecerdasan buatan yang meliputi tahap pre-processing ekstraksi ciri, dan algoritma Levenberg-Marquardt.
3.4.1 Pre-processing
Pre-processing yang akan dilakukan pada penelitian ini adalah proses
resizegambar masukan menjadi ukuran 150 x 150 piksel. Hal ini ditujukan untuk
Berikut merupakan contoh dengan menggunakan citra bumi :
Gambar 3.2 Citra Bumi (1)
Citra masukan di atas memiliki ukuran asli 750 x 750 piksel, yang kemudian
diresize menjadi citra 150 x 150 piksel. Tahap selanjutnya adalah mengubah citra
berwarna menjadi citra grayscale. Adapun persamaan yang digunakan untuk mengubah citra berwarna menjadi grayscale yang digunakan adalah :
� � = �+ + (3.1)
dengan :
R : nilai Red piksel G : nilai Green piksel B : nilai Blue piksel
Gambar 3.3 Citra Bumi Grayscale 150 x 150 piksel
3.4.2 Ekstraksi Ciri
Dengan citra yang sudah diolah menjadi citra grayscale berukuran 150 x 150 piksel, maka kita lakukan proses ekstraksi ciri. Proses ekstraksi ciri dimulai dengan mengambil nilai keabuan dari setiap piksel citra.
Gambar 3.4 Nilai Keabuan Citra Bumi
Selanjutnya, hitung total dan probabilitas kemunculan piksel dengan skala keabuan yang sama. Probabilitas atau nilai histogram dihitung dengan
persamaan :
= (3.2)
dengan
ni : jumlah piksel yang memiliki skala keabuan i
n : jumlah seluruh piksel citra
Tabel yang menunjukan skala keabuan beserta jumlah piksel dan probabilitas atau nilai histogramnya dapat dilihat pada lampiran E.
Setelah itu dilakukan perhitungan ekstraksi ciri statistik orde 1 untuk semua skala keabuan.
1) Mean
Mean dihitung dengan persamaan 2.1 yakni :
�=
dengan :
fn : skala keabuan
P(fn) : probabilitas skala keabuan (lampiran E) maka,
� = × , + × , + + × = ,
0 0
⋱
2) Variance
Variance dihitung dengan persamaan 2.2 yakni :
� = − � ( )
dengan :
� : nilai mean
maka,
� = − , × , + − , × , + +
− , × = ,
3) Skewness
Skewness dihitung dengan persamaan 2.3 yakni :
� =
� − � ( )
dengan :
� : standar deviasi skala keabuan maka,
� =
, − , × , + − , × ,
+ + − , × = ,
4) Kurtosis
Kurtosis dihitung dengan persamaan 2.4 yakni :
� =
� − � −
� =
, × − , × , − + − , ×
, − + + − , × − = 4,513
5) Entrophy
Entrophy dihitung dengan persamaan 2.5 yakni :
= − ∙ � � ( )
=−( , × � � , + , × � � , +
Nilai mean, variance, skewness, kurtosis, dan entrophy inilah yang akan menjadi input layer pada algoritma Levenberg-Marquardt. Untuk perhitungan ekstraksi ciri statistik semua data dapat dilihat pada lampiran F.
3.4.3 Algoritma Levenberg-Marquardt
Algoritma Levenberg-Marquardt yang digunakan terdiri dari proses pelatihan dan proses pengujian. Berikut merupakan beberapa parameter yang harus ditentukan sebelum proses pelatihan :
1) Maximum epoch
Epoch merupakan perulangan atau iterasi dari proses yang dilakukan
untuk mencapai target yang ditentukan. Maximum epoch adalah jumlah maksimal yang akan dilakukan selama proses pelatihan. Iterasi akan dihentikan bila nilai epoch sudah melebihi maximum epoch
2) Maximum error
Maximum error merupakan nilai toleransi error yang juga akan digunakan
untuk kondisi penghentian iterasi. Iterasi akan dihentikan bila nilai error
lebih kecil atau sama dengan maximum error.
3) Learning rate / parameter Marquardt
Learning rate atau disebut juga parameter Marquardt � merupakan laju
pembelajaran yang berupa perkalian negatif dari gradien untuk menentukan perubahan nilai bobot dan bias. Semakin besarnya learning rate akan berpengaruh pada semakin besarnya langkah pembelajaran. Penentuan nilai learning rate perlu diperhatikan karena jika nilai learning rate diatur terlalu besar, maka algoritma akan menjadi tidak stabil. Namun jika nilai learning rate diatur terlalu kecil, maka algoritma akan mencapai target dalam jangka waktu yang lama.
4) Faktor beta
Dengan 5 input yang dimasukkan antara lain mean, variance, skewness, kurtosis, dan entrophy, dan 3 output yang ingin dihasilkan, maka jumlah hidden
layer ditentukan dengan :
= × (3.3) dengan :
NH : jumlah node hidden
NI : jumlah node input
NO : jumlah node output
maka,
�� = 5 × 3
= 3,873 ≈4
Sesuai dengan perhitungan di atas, maka ditentukan bahwa hidden layer yang digunakan adalah 2. Berikut merupakan gambaran rancangan arsitektur yang digunakan :
Gambar 3.5 Arsitektur Levenberg-Marquardt
Berikut merupakan tahap – tahap dalam proses pelatihan Levenberg-
Marquardt (diterapkan pada contoh citra bumi yang sudah diekstraksi ciri) :
1) Inisialisasi parameter awal yakni maximum epoch, maximum error,
learning rate, dan faktor beta. Untuk simulasi ini, dipilih maximum epoch
= 10, maximum error = 0,01, � = 0,01, dan β = 2.
Inisialisasi bobot awal. Bobot awal merupakan bilangan acak antara 0 sampai 1. Berikut merupakan bobot yang digunakan sebagai contoh :
� =
2) Hitung input setiap node pada hidden layer dengan persamaan 2.15
_ = ×
=
dengan :
xi : input sistem berupa nilai mean, variance, skewness, kurtosis, dan
entrophy yang dinormalisasi dengan range yang didapat dari
perhitungan pada lampiran H, seperti berikut :
Tabel 3.2 Range Mean
Tabel 3.3 Range Variance
5520,269 – 6594,69 0,75 6594,691 – 7669,112 0,875 7669,113 – 8743,534 1
Tabel 3.4 Range Skewness
Skewness Representasi
Tabel 3.5 Range Kurtosis
Kurtosis Representasi
Tabel 3.6 Range Entrophy
Entrophy Representasi
wij : bobot acak awal yang diinisialisasi pada langkah 1
_�
Hitung output setiap node pada hidden layer dengan persamaan 2.16 dan 2.17
3) Hitung input setiap node output layer dengan persamaan 2.18
_ = ×
Hitung output setiap node output layer dengan persamaan 2.19
=
4) Hitung error setiap node output layer dengan persamaan 2.20. Tahap ini merupakan awal tahap propagasi balik.
= [� − ]�
5) Hitung matriks Jacobian dengan persamaan 2.13
=
0,647 0,809 1,294 1,078 2,699 3,235 … 0,809 1,044 0,602 0,752 1,203 1,003 2,507 3,009 … 0,752 0,971 0,488 0,611 0,977 0,814 2,035 2,443 … 0,611 0,788
6) Hitung selisih bobot dengan persamaan 2.14
∆� = � + � − �
Berikut merupakan hasil selisih bobot yang didapat :
∆�=
7) Update error dengan persamaan 2.21
8) Update bobot setiap node output layer dengan persamaan 2.22
Update bobot setiap node hidden layer dengan persamaan 2.23
= + ∆
error. Iterasi baru dihentikan setelah mencapai maximum epoch yakni 1000. Nilai
bobot baru yang didapat adalah :
� =
Selanjutnya akan dilakukan proses pengujian. Pengujian algoritma
Levenberg-Marquardt yang menggunakan tahap yang sama dengan pelatihan namun tanpa
proses propagasi balik. Bobot yang digunakan bukan bilangan acak melainkan bobot baru dari proses pelatihan.
1) Inisialisasi bobot. Bobot yang digunakan diambil dari proses pelatihan.
�_�
Hitung output setiap node output layer
= ( _ )
� ≥0,5 maka �= 1 selain itu 0. Hasil klasifikasi output yang diharapkan dapat dilihat kembali pada tabel 3.1.
Dengan contoh perhitungan di atas, hasil Y1, Y2, Y3 yang didapat sebesar 0,639, 0,656, dan 0,702
Tabel 3.7 Hasil Klasifikasi Citra Latih
Y1 Y2 Y3
0,639 0,656 0,702
Nilai Target 1 1 1
Sebagai contoh, pengujian akan dilakukan pada citra bumi baru seperti berikut :
Gambar 3.6 Citra Bumi (2)
Citra di atas memiliki nilai ekstraksi ciri statistik mean : 45,661, variance : 3444,463, skewness : 1,140, kurtosis : 3,369, dan entrophy : 3,708. Maka, berikut proses pengujian Levenberg-Marquardt untuk mengetahui hasil klasifikasi citra tersebut :
_�4 = 0,25 × 0,132 + 0,5 × 0,305 +
Hitung output setiap node output layer
�2 =
Melihat dari hasil perhitungan di atas, nilai Y1, Y2, Y3 yang didapat sebesar 0,674, 0,696, dan 0,751
Tabel 3.8 Hasil Klasifikasi Citra Uji
Y1 Y2 Y3
0,674 0,696 0,751
Nilai Target 1 1 1
Nilai target yang didapat adalah 1 1 1, maka gambar tersebut masuk klasifikasi citra bumi.
Dengan menggunakan contoh perhitungan sebelumnya, setiap citra dengan hasil target 1 1 1 akan disimpan ke database dengan hasil klasifikasi citra bumi, kemudian ketika pengguna memasukan citra bumi baru ke sistem retrieval, sistem akan mencocokan semua citra dengan nilai yang sama dalam database, yang kemudian akan ditampilkan sebagai hasil retrieval citra bumi. Begitupun berlaku untuk semua citra lain.
Sebagai contoh, ketika mengujikan citra bumi kedua, jika pengguna ingin mendapatkan hasil retrieval, maka sistem akan menampilkan citra bumi pertama yang sudah dilatih dan diujikan sebagai citra yang sudah terdapat dalam database.
3.5Analisis Kebutuhan Non-Fungsional
Untuk dapat membangun dan mengimplementasikan sistem, terdapat beberapa spesifikasi komponen-komponen yang dibutuhkan. Berikut analisis kebutuhan non-fungsional sistem :
3.5.1 Analisis Kebutuhan Perangkat Keras
Spesifikasi perangkat keras yang dibutuhkan untuk membangun sistem antara lain :
2) Processor : Intel Core i3 CPU @ 2,10 GHz 3) RAM : 2 GB
4) Keyboard
5) Mouse
3.5.2 Analisis Kebutuhan Perangkat Lunak Berikut perangkat lunak yang digunakan : 1) Sistem operasi : Windows 7 Ultimate 2) Microsoft Visual Studio 2010
3) XAMPP Server 4) SQLYog Community
3.5.3 Analisis Kebutuhan Pengguna
Adapun kriteria pengguna yang dapat menggunakan sistem ini adalah : 1) Pengguna memahami cara mengoperasikan komputer.
2) Pengguna memahami cara kerja sistem CBIR dengan proses klasifikasi
3.5.4 Analisis Basis Data
1) Entity Relationship Diagram (ERD)
Untuk dapat melihat hubungan antar entitas dalam sistem, dapat dilihat dari diagram berikut :
2) Kamus Data
Secara lebih rinci, atribut setiap entitas dapat dilihat dalam tabel berikut :
Tabel 3.9 Kamus Data
3.6Pemodelan Sistem
3.6.1 Use Case Diagram
Untuk mengetahui interaksi yang dapat dilakukan pengguna dalam sistem, dapat dilihat dari diagram berikut :
Gambar 3.8 Use Case Diagram
Entitas Atribut Keterangan
t_masukan id_gambar int (4) not null, gambar longblob
Primary key
t_hasil mean double, variance double,
id_gambar int (4) not null Foreign key, primary key t_analisis id_gambar int (4) not null,
3.6.1.1Definisi Aktor
Tabel 3.10 Definisi Aktor
Aktor Deskripsi
Pengguna Aktor ini memiliki hak untuk memasukkan data, melakukan pengolahan citra, melakukan pelatihan algoritma Levenberg-Marquardt, melakukan pengujian, dan mendapatkan hasil retrieval citra dan akurasi algoritma.
3.6.1.2Definisi Use Case
Tabel 3.11 Definisi Use Case
Use Case Deskripsi
Ekstraksi ciri statistik
Fungsi ini digunakan untuk melakukan proses perhitungan ekstraksi ciri statistik
Pelatihan Levenberg-Marquardt
Fungsi ini dapat digunakan oleh aktor untuk melakukan proses pelatihan algoritma Levenberg-Marquardt
Pengujian Levenberg-Marquardt
Fungsi ini dapat digunakan oleh aktor untuk melakukan proses pengujian algoritma Levenberg-Marquardt untuk mengetahui hasil klasifikasi citra masukan.
Retrieval
Fungsi ini dapat digunakan oleh aktor untuk mendapatkan hasil retrieval dari sistem berdasarkan citra masukan dan mendapatkan hasil analisisnya
3.6.2 Use Case Scenario
Untuk lebih memahami setiap use case dapat dilihat dari skenario di bawah :
Tabel 3.12 Use Case Scenario Ekstraksi Ciri Statistik
Use Case Name Ekstraksi Ciri Statistik
Related
Requirements -
Goal in Context Pengguna dapat melakukan perhitungan ekstraksi ciri statistik
Preconditions Pengguna memiliki data berupa gambar
Successful End
Condition Didapatkan nilai-nilai keluaran ekstraksi ciri statistik Failed End
Condition
Tidak berhasil didapatkan nilai-nilai keluaran ekstraksi ciri statistik
Primary Actor Pengguna
Trigger Sistem mendapatkan hasil ekstraksi ciri statistik
Main Flow
3 Melakukan pre-processing
4 Melakukan kalkulasi ekstraksi ciri statistik
5 Menampilkan hasil ekstraksi
-
Tabel 3.13 Use Case Scenario Pelatihan Levenberg-Marquardt
Use Case Name Pelatihan Levenberg-Marquardt
Related
Requirements -
Goal in Context Pengguna dapat menggunakan proses pelatihan algoritma
Levenberg-Marquardt
Preconditions Pengguna memiliki data latih di dalam database
Successful End Condition
Proses kalkulasi pelatihan menghasilkan hasil klasifikasi yang akan disimpan dalam database
Failed End
Condition Proses kalkulasi tidak berhasil diselesaikan
Primary Actor Pengguna
Trigger Sistem menyimpan hasil klasifikasi di database
Main Flow
Step Action
Pengguna Sistem 1 Memilih menu
pelatihan
2 Melakukan pre-processing 3 Melakukan ekstraksi ciri statistik
4 Melakukan kalkulasi pelatihan Levenberg-Marquardt
5 Menyimpan hasil klasifikasi ke database
Extensions Step Branching Action
-
Tabel 3.14 Use Case Scenario Pengujian Levenberg-Marquardt
Use Case Name Pengujian Levenberg-Marquardt
Related
Requirements Pelatihan Levenberg-Marquardt, ekstraksi ciri statistik
Goal in Context Pengguna dapat proses pengujian algoritma Levenberg-Marquardt
dan mendapatkan hasil klasifikasi citra
Preconditions Sudah dilakukan proses pelatihan sebelumnya dan terdapat hasil
klasifikasi data latih dalam database
Successful End
Condition Citra masukan dapat diklasifikasikan Failed End
Condition Citra masukan tidak dapat diklasifikasikan
Primary Actor Pengguna
Trigger Sistem menampilkan hasil klasifikasi citra masukan
Main Flow
Step Action
Pengguna Sistem
1 Memilih menu uji
2 Melakukan kalkulasi pengujian Levenberg-Marquardt
3 Menampilkan hasil klasifikasi citra uji
Extensions Step Branching Action
Tabel 3.15 Use Case Scenario Retrieval
Use Case Name Retrieval
Related
Requirements Pengujian Levenberg-Marquardt
Goal in Context Pengguna bisa mendapatkan gambar-gambar serupa dengan citra
masukan
Preconditions Proses pelatihan dan pengujian sudah dilakukan sebelumnya dan
sudah terdapat hasil klasifikasi di database
Successful End Condition
Dapat menampilkan beberapa citra dengan hasil klasifikasi yang sama
Failed End
Condition Tidak dapat menampilkan citra
Primary Actor
Pengguna
Trigger
Sistem menampilkan hasil retrieval berupa gambar-gambar dengan hasil klasifikasi yang sama dengan masukan
2 Mencocokan hasil klasifikasi ke database
3 Menampilkan hasil retrieval
Extensions Step Branching Action
3.1 Menampilkan hasil analisis data
3.6.3 Activity Diagram
Berikut merupakan aktivitas dari setiap use case yang dapat lebih jelas dilihat pada activity diagram di bawah :
Gambar 3.10 Activity Diagram Pelatihan Levenberg-Marquardt
Gambar 3.12 Activity Diagram Retrieval
3.6.4 Class Diagram
Untuk mendefinisikan kelas-kelas yang terdapat di dalam sistem, dapat dilihat dari diagram berikut :
3.6.5 Sequence Diagram
Sequence diagram menggambarkan perilaku objek pada setiap use case
dengan mendeskripsikan waktu hidup dan pesan objek. Sequence diagram sistem yang dibangun dapat dilihat di bawah ini :
Gambar 3.14 Sequence Diagram Ekstraksi Ciri Statistik
Gambar 3.16 Sequence Diagram Pengujian Levenberg-Marquardt
3.7Perancangan Sistem
3.7.1 Perancangan Struktur Menu
Untuk lebih memahami menu yang akan diimplementasikan dalam sistem, berikut merupakan perancangan struktur menu yang digunakan :
Gambar 3.18 Perancangan Struktur Menu
3.7.2 Perancangan Antarmuka
Perancangan antarmuka sistem CBIR yang dibuat dapat dilihat berikut ini :
Tabel 3.16 Perancangan Antarmuka Utama
menampilkan hasil retrieval
Bila belum melakukan pelatihan, muncul P01 Bila belum memasukkan gambar, muncul P02 Bila belum melakukan ekstraksi, muncul P03 Bila belum melakukan pengujian, muncul P04 Bila hasil retrieve tidak ditemukan, muncul P06
Klik “X” untuk keluar
3.7.3 Perancangan Pesan
Berikut merupakan beberapa pesan yang akan muncul sebagai informasi atas aksi yang dilakukan pengguna :
1) Pesan Lakukan Pelatihan (P01)
Pesan akan muncul ketika pengguna memilih tombol “Cari Gambar” atau “Ekstraksi” atau “Uji” atau “Retrieve” sebelum melakukan pelatihan Levenberg-Marquardt.
Gambar 3.19 Pesan Lakukan Pelatihan (P01)
2) Pesan Masukkan Gambar (P02)
Pesan akan muncul ketika pengguna memilih tombol “Ekstraksi” atau “Uji” atau “Retrieve” sebelum memasukkan gambar.
3) Pesan Lakukan Ekstraksi (P03)
Pesan akan muncul ketika pengguna memilih tombol “Uji” atau “Retrieve” sebelum melakukan ekstraksi ciri.
Gambar 3.21 Pesan Lakukan Ekstraksi (P03)
4) Pesan Lakukan Pengujian (P04)
Pesan akan muncul ketika pengguna memilih tombol “Retrieve” sebelum melakukan pengujian Levenberg-Marquardt.
Gambar 3.22 Pesan Lakukan Pengujian (P04)
5) Pesan Pelatihan Berhasil (P05)
Pesan akan muncul ketika proses pelatihan Levenberg-Marquardt
selesai dilakukan.
Gambar 3.23 Pesan Pelatihan Berhasil (P05)
6) Pesan Data Tidak Ditemukan (P06)
Gambar 3.24 Pesan Data Tidak Ditemukan (P06)
3.7.4 Jaringan Semantik
Berikut merupakan jaringan semantik sistem :
Gambar 3.25 Jaringan Semantik
Keterangan :
61
Pada sub bab implementasi sistem ini, akan dijelaskan bagaimana penerapan dari sistem yang meliputi implementasi perangkat keras, perangkat lunak, basis data, dan proses.
4.1.1 Implementasi Perangkat Keras
Berikut merupakan perangkat keras yang digunakan untuk membangun sistem :
1) Monitor : 14 inch 64-bit
2) Processor : Intel Core i3 CPU @ 2,10 GHz
3) RAM : 2 GB
4) Keyboard
5) Mouse
4.1.2 Implementasi Perangkat Lunak
Berikut merupakan perangkat lunak yang digunakan untuk membangun sistem :
1) Sistem operasi : Windows 7 Ultimate 2) Microsoft Visual Studio 2010
3) XAMPP Server 4) SQLYog Community
4.1.3 Implementasi Basis Data
Implementasi basis data dari sistem CBIR yang dibuat meliputi proses pembuatan database dan tabel. Berikut merupakan implementasi basis data sistem yang dibangun :
Tabel 4.1 Implementasi Basis Data Pembuatan
database
CREATE DATABASE `db_cbir_lm`;
tabel t_masukan
`id_gambar` int(4) NOT NULL auto_increment, `gambar` longblob,
PRIMARY KEY (`id_gambar`), KEY `id_gambar` (`id_gambar`)
) ENGINE=InnoDB AUTO_INCREMENT=121 DEFAULT CHA RSET=latin1 COLLATE=latin1_general_ci
Pembuatan tabel t_hasil
CREATE TABLE `t_hasil` ( `id_gambar` int(4) NOT NULL, `mean` double default NULL, `variance` double default NULL, `skewness` double default NULL, `kurtosis` double default NULL, `entrophy` double default NULL, `y1` int(2) default NULL, `y2` int(2) default NULL, `y3` int(2) default NULL, `error` double default NULL, PRIMARY KEY (`id_gambar`),
CONSTRAINT `t_hasil_ibfk_1` FOREIGN KEY (`id_gambar`) REFERENCES `t_masukan` (`id_gambar`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=lat in1_general_ci
Pembuatan
t_analisis CREATE TABLE `t_analisis` ( `id_gambar` int(4) NOT NULL,
`mean` double default NULL,
`variance` double default NULL, `skewness` double default NULL, `kurtosis` double default NULL, `entrophy` double default NULL, `y1` int(2) default NULL, `y2` int(2) default NULL, `y3` int(2) default NULL, `error` double default NULL, PRIMARY KEY (`id_gambar`)
4.1.4 Implementasi Antarmuka
Berikut merupakan tampilan antarmuka sistem yang dibangun :
Gambar 4.1 Antarmuka Utama
4.2Pengujian Sistem
4.2.1 Pengujian Black Box
Untuk mengetahui fungsionalitas dari sistem CBIR yang dibuat, maka dilakukan pengujian black box.
4.2.1.1Pelatihan Levenberg-Marquardt
Tabel 4.2 Pengujian Pelatihan Levenberg-Marquardt
Kasus dan Hasil Uji Kasus
Data Masukan Hasil yang Diharapkan Hasil Sesuai Uji Kasus
120 data gambar latih
Tabel 4.3 Pengujian Input Data
Kasus dan Hasil Uji Kasus
Data Masukan Hasil yang Diharapkan Hasil Sesuai Uji Kasus
4.2.1.3Ekstraksi Ciri Statistik
Tabel 4.4 Pengujian Ekstraksi Ciri Statistik
Kasus dan Hasil Uji Kasus
Data Masukan Hasil yang Diharapkan Hasil Sesuai Uji Kasus
Gambar uji yang akan diretrieve
Melakukan perhitungan ekstraksi ciri statistik dan menampilkan hasilnya pada antarmuka
Sesuai dengan yang diharapkan
4.2.1.4Pengujian Levenberg-Marquardt
Tabel 4.5 Pengujian Pengujian Levenberg-Marquardt
Kasus dan Hasil Uji Kasus
Data Masukan Hasil yang Diharapkan Hasil Sesuai Uji Kasus
Gambar uji yang akan
Tabel 4.6 Pengujian Retrieval
Kasus dan Hasil Uji Kasus
Data Masukan Hasil yang Diharapkan Hasil Sesuai Uji Kasus
Gambar uji yang akan diretrieve
Membandingkan hasil klasifikasi gambar uji dengan hasil klasifikasi seluruh data latih di database, menampilkan keluaran gambar yang memiliki hasil klasifikasi sama, dan menampilkan analisis data
Sesuai dengan yang diharapkan
4.2.2 Pengujian Metode
Pengujian metode merupakan tahap pengujian performansi metode – metode yang diimplementasikan untuk membangun sistem CBIR. Metode yang akan diujikan adalah metode ekstraksi ciri statistik serta algoritma
Levenberg-Marquardt. Metode diujikan dengan menggunakan 120 data dari 8 kategori yang