ANALISIS ALGORITMA BACKPROPAGATION
LEVENBERG MARQUARDT UNTUK PENGENALAN
MOTIF KAIN BATIK
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
RONI AHDIAT
10111977
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
iii
Assalamu’alaikum Wr. Wb.
Dengan memanjatkan puji syukur kehadirat Allah SWT, atas rahmat dan
karunia-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul
“ANALISIS ALGORITMA BACKPROPAGATION LEVENBERG
MARQUARDT UNTUK PENGENALAN MOTIF KAIN BATIK” untuk
memenuhi salah satu syarat dalam menyelesaikan studi jenjang strata satu (S1) di
Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer,
Universitas Komputer Indonesia.
Sehubungan dengan telah selesainya skripsi ini, penulis yakin bahwa skripsi
ini tidak akan berhasil tanpa doa, bimbingan, petunjuk dan dukungan dari
berbagai pihak yang terlibat dalam pembuatan skripsi ini. Untuk itu melalui kata
pengantar ini, penulis ingin menyampaikan terimakasih yang sebesar-besarnya
kepada:
1. Allah SWT atas segala nikmat yang telah diberikan sehingga penulis dapat
menyelesaikan skripsi ini.
2. Kedua orang tua beserta adik-adik yang telah memberikan kasih sayang, doa
dan dukungan baik moril maupun materi sehingga penulis dapat
menyelesaikan skripsi ini tepat pada waktunya.
3. Anike Dwi Putri Jefany yang selalu memberikan dukungan, doa, motivasi,
serta telah meluangkan waktunya untuk melakukan refreshing.
4. Bapak Galih Hermawan S.Kom., M.T., selaku dosen pembimbing penulis.
Terimakasih karena telah banyak meluangkan waktu untuk memberikan
bimbingan, saran, dan nasehatnya selama proses penyusunan skripsi ini.
5. Ibu Ken Kinanti Purnamasari S.Kom., selaku reviewer dan Ibu Nelly Indriani W, S.Si., M.T., selaku penguji.Terimakasih karena telah banyak meluangkan
waktu untuk memberikan pengarahan dan memberikan masukan selama
proses penyusunan skripsi ini.
6. Terimakasih kepada Theresia Sagala, Sri Susanti, Fitri Antriyanti, Faras
iv
pikiran, memberikan semangat, motivasi, dan membantu untuk berjalannya
penyusunan skripsi ini.
7. Bapak dan ibu dosen serta seluruh staf pegawai Program Studi Teknik
Informatika Universitas Komputer Indonesia yang telah membantu penulis
selama proses perkuliahan.
8. Teman-teman seperjuangan IF-17K/2011 yang sedang menyusun skripsi juga
yang selalu ada jika penulis membutuhkan bantuan dan selalu memberikan
dukungan kepada penulis selama penyusunan skripsi ini. 9. Rekan-rekan
kelas IF-17K /2011 yang selama empat tahun setengah ini menjadi teman
berbagi ilmu, tawa dan cerita.
9. Serta seluruh pihak yang tidak dapat penulis sebutkan satu persatu,
terimakasih atas segala bentuk dukungan untuk menyelesaikan skripsi ini.
Penulis menyadari bahwa penulisan skripsi ini masih jauh dari sempurna.
Oleh karena itu, penulis mengharapkan saran dan masukan yang bersifat
membangun untuk perbaikan dan pengembangan skripsi ini. Akhir kata,
semoga penulisan skripsi ini dapat bermanfaat bagi penulis khususnya dan
bagi pembaca umumnya.
Wassalamualaikum Wr.Wb.
Bandung, 1 Februari 2016
v
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... x
DAFTAR SIMBOL ... xi
DAFTAR LAMPIRAN ... xiv
BAB 1 ... 1
1.1. Latar Belakang Masalah ... 1
1.2. Rumusan Masalah ... 2
1.3. Maksud dan Tujuan ... 2
1.4. Batasan Masalah... 3
1.5. Metodologi Penelitian ... 3
1.5.1 Metode Pengumpulan Data ... 3
1.5.2 Metode Pembangunan Perangkat Lunak ... 4
1.6. Sistematika Penulisan ... 5
BAB 2 ... 7
2.1. Batik ... 7
2.2. Pengolahan Citra ... 12
2.3. Kecerdasan Buatan ... 15
2.4. Jaringan Syaraf Tiruan ... 17
2.5. Algoritma Levenberg Marquardt ... 24
2.6. Inisialisasi Bobot Awal Dengan Metode Nguyen Widrow ... 25
2.7. Pengujian JST ... 26
2.8. Diagram Arus Data (Data Flow Diagram) ... 26
2.9. MATLAB ... 27
2.10. Cross Validation ... 30
BAB 3 ... 33
vi
3.2.1. Analisis Arsitektur Sistem ... 34
3.2.2. Analisis Pemrosesan ... 34
3.2.3. Analisis Data Masukan ... 37
3.2.4. Analisis Pra Proses ... 38
3.2.4.1. Resizing ... 38
3.2.4.2. Grayscale ... 39
3.2.4.3. Histogram Equalization ... 40
3.2.5. Analisis Pelatihan ... 44
3.2.5.1. Inisialisasi Bobot Menggunakan Nguyen Widrow ... 44
3.2.5.2. Pembentukan Jaringan Syaraf Tiruan ... 47
3.2.6. Analisis Pengujian ... 55
3.3. Analisis Kebutuhan Non Fungsional ... 57
3.3.1. Analisis Kebutuhan Perangkat Keras ... 58
3.3.2. Analisis Kebutuhan Perangkat Lunak ... 58
3.4. Analisis Kebutuhan Fungsional ... 58
3.4.1. Diagram Konteks ... 59
3.4.2. Data Flow Diagram (DFD) ... 59
3.4.3. Spesifikasi Proses ... 61
3.5. Perancangan ... 65
3.5.1. Perancangan Antarmuka ... 65
3.5.2. Perancangan Jaringan Semantik ... 68
BAB 4 ... 69
4.1. Implementasi ... 69
4.1.1. Implementasi Perangkat Keras ... 69
4.1.2. Implementasi Perangkat Lunak ... 69
4.1.3. Implementasi Antarmuka ... 70
4.2. Pengujian Metode... 70
4.2.1. Skenario Pengujian ... 71
4.3. Kesimpulan Pengujian ... 78
BAB 5 ... 79
81
[1] Anas, B. 1997. Indonesia Indah “Batik”. Jakarta: Yayasan Harapan
Kita/BP 3 TMII.
[2] Ariesto Hadi Sutopo. 2002. Analisis dan Desain Berorientasi Objek.
Penerbit J & J Learning : Yogyakarta.
[3] Bernardius Arisandi. 2011. Pengenalan Motif Batik Dengan Rotated Wavelet Filter dan Neural Network. Tugas Akhir periode Juli 2011. Surabaya: Jurusan Teknik Informatika, Fakultas Teknologi Informasi,
Institut Teknologi Sepuluh Nopember.
[4] Doellah, S. 2008. Batik “Pengaruh Zaman dan Lingkungan”. Bandung:
Danar Hadi.
[5] E. Alpaydin. 2010. Introduction to Machine Learning, The MIT Press. [6] Johanes Widagdho Yodha. 2014. Pengenalan Motif Batik menggunakan
Deteksi Tepi Canny dan K-Nearest Neighbor. Proceddings. Techno.COM, Vol. 13, No. 4, November 2014: 251-262. Semarang: Universitas Dian
Nuswantoro.
[7] Mohammed Alwakeel. 2010. Face Recognition Based on Haar Wavelet Transform and Principal Component Analysis via Levenberg-Marquardt Backpropagation Neural Network. Proceddings. European Journal of Scientific Research, vol 42(1), 25-31
[8] Nurhayati, John Adler, Sri Supatmi. 2013. Pengelompokkan Citra Warna Menggunakan Jaringan Syaraf Tiruan Dengan Software Matlab. Tugas Akhir. Bandung: Teknik Komputer Universitas Komputer Indonesia
[9] Nazarudin Ahmad dan Arifyanto Hadinegoro. 2012. Metode Histogram Equalization untuk Perbaikan Citra Digital. Proceddings. Seminar Nasional Teknologi Informasi & Komunikasi Terapan 2012 (Semantik 2012).
Semarang : Teknik Informatika Universitas Atma Jaya Yogyakarta.
Proceddings. Seminar Nasional Informatika 2012 (semnasIF 2012) UPN ”Veteran” Yogyakarta, 30 Juni 2012 Yogyakarta: Universitas Amikom. [11] Rinaldi Munir. 2004. Pengolahan Citra Digital dengan Pendekatan
Algoritmik. Penerbit Informatika : Bandung.
[12] Rosa A.S dan M. Shalahuddin. 2013. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Penerbit Informatika: Bandung.
[13] Siswanto. 2005. Kecerdasan Tiruan. Penerbit Graha Ilmu : Yogyakarta [14] Sri Kusumadewi, 2004. Membangun Jaringan Syaraf Tiruan Menggunakan
MATLAB & Exel Link. Penerbit Graha Ilmu : Yogyakarta
[15] Sunda Ariana, Margareta Andriani, dan Andri. 2013. Prototipe Perangkat Lunak Analisis Kesalahan Berbahasa Dalam Karya Ilmiah Berbahasa Indonesia. Proceddings. Seminar Nasional Pendidikan “Mewujudkan
Pendidikan Berkualitas Melalui Kerangka Kualifikasi Nasional Indonesia.
Palembang : Universitas PGRI.
[16] Muhammad Arhami dan Anita Desiani. 2005. Pemrograman MATLAB.
Penerbit Andi : Yogyakarta.
[17] Tulus Bangkit Pratama, John Adler. 2013. Identifikasi Pola Warna Citra Google Maps Menggunakan Jaringan Syaraf Tiruan Metode Levenberg Marquardt Dengan Matlab Versi 7.8. Tugas Akhir Tahun 2013. Bandung : Jurusan Teknik Informatika, Fakultas Teknik dan Ilmu Komputer,
Universitas Komputer Indonesia.
[18] Wilamowski, Bogdan M., dan Yu, Hao. 2011. Levenberg-Marquardt Training. Industrial Electronics Handbook, 2nd Edition 5, 12-1 s/d 12-15. [19] Witten, Ian. H. 2011. Data Mining Practical Machine Learning Tools and
1
PENDAHULUAN
1.1.Latar Belakang Masalah
Batik merupakan budaya yang telah lama berkembang dan dikenal oleh
masyarakat Indonesia. Secara etimologi kata batik berasal dari bahasa Jawa, yaitu ”tik” yang berarti titik / matik (kata kerja, membuat titik) yang kemudian berkembang menjadi istilah ”batik” [1]. Motif batik di setiap daerah memiliki keunikan dan ciri khas masing-masing, baik dalam ragam hias maupun tata warna
batik itu sendiri. Salah satu cara untuk mengidentifikasi motif pada kain batik
yaitu melalui pengenalan pola. Penelitian mengenai pengenalan pola pada kain
batik sudah pernah dilakukan oleh Bernadinus Arisandi [3] dengan menggunakan
metode Rotated Wavelet Filter dan Neural Network Filter dengan hasil pada
penggunaan data training yang berbeda dengan data testing diperoleh akurasi tertinggi 78,26%. Selain itu juga sudah pernah dilakukan penelitian mengenai
pengenalan motif batik oleh Johanes Widagdho Yodha [6] dengan menggunakan
Deteksi Tepi Canny dan K-Nearest Neighbor dengan hasil pada penggunaan data
training yang berbeda dengan data testing diperoleh akurasi tertinggi 66,67%. Namun kedua penelitian tersebut hanya mengidentifikasi motif batik dasar, belum
mengidentifikasi motif batik campuran. Motif batik dasar merupakan batik klasik
yang tercipta sejak awal mula ada pembuatan batik. Motif batik campuran
merupakan gabungan antara dua motif batik dasar atau lebih.
Algoritma Levenberg Marquadt merupakan pengembangan dari algoritma
backpropagation. Algoritma ini dibangun untuk mengatasi beberapa kekurangan yang ada pada algoritma backpropagation dengan memanfaatkan teknik optimisasi numerik standar yaitu menggunakan pendekatan matriks Jacobian.
Tujuan dari Levenberg Marquadtadalah meminimalkan total error [8]. Algoritma Levenberg Marquardt telah diterapkan pada pengenalan pola wajah yang
dilakukan oleh Mohammed Alwakeel [7] dengan membandingkan algoritma
Levenberg Marquardt dengan algoritma Haar Wavelet Transform dan algoritma
Levenberg Marquardt lebih akurat, cepat, dan stabil dalam pengenalan pola wajah
dibandingkan algoritma Haar Wavelet Transform dan algoritma Principal
Component Analysis. Pada penelitian lain dilakukan oleh Tulus Bangkit Pratama
mengenai pengenalan pola warna citra google maps menggunakan algoritma Levenberg Marquardt [17] dengan hasil algoritma ini telah berhasil membuat pola
citra baru yang diidentifikasikan sebagai daerah daratan dan bukan daratan.
Dengan latar belakang masalah ini, maka akan dilakukan penelitian mengenai
algoritma Levenberg Marquardt yang akan diimplementasikan untuk
mengidentifikasi motif batik tidak hanya motif batik dasar, dapat juga
mengidentifikasi motif batik khusus atau campuran. Pada penelitian ini juga akan
diketahui tingkat akurasi penerapan algoritma Levenberg Marquardt terhadap
pengenalan motif batik.
1.2.Rumusan Masalah
Berdasarkan uraian latar belakang diatas maka dapat
dirumuskan permasalahan yang ada. Diantaranya adalah :
1. Bagaimana menerapkan algoritma Levenberg Marquardt dalam pengenalan
motif batik dasar dan campuran.
2. Bagaimana mengetahui tingkat keakuratan dalam pengenalan motif batik
dengan menggunakan algoritma Levenberg Marquardt.
1.3.Maksud dan Tujuan
Maksud dari penelitian ini yaitu untuk menganalisis tingkat keakuratan motif
batik pada kain batik dasar maupun motif khusus atau campuran. Adapun tujuan
dari penelitian ini adalah sebagai berikut :
1. Dapat mengidentifikasi motif dasar dan motif campuran dari batik dengan
menggunakan algoritma Levenberg Marquardt.
2. Untuk mengetahui tingkat keakuratan dalam pengenalan motif batik setelah
1.4.Batasan Masalah
Adapun batasan masalah dari tugas akhir ini antara lain adalah sebagai
berikut.
1. Metode pengenalan pola yang digunakan adalah metode Levenberg
Marquardt.
2. Jenis batik yang akan diidentifikasi sudah dalam bentuk citra berekstensi
*.jpg.
3. Ukuran batik yang digunakan yaitu semua ukuran, namun pada aplikasi akan
di-resize menjadi 25 x 25 piksel.
4. Motif batik yang akan digunakan dalam pengujian adalah batik parang,
ceplok, semen, lunglungan, dan buketan [4]. Adapun motif batik campuran
yang terdiri dari campuran dari dua motif batik saja. Motif tersebut antara lain
buketan ceplok, buketan lunglungan, buketan parang, buketan semen, ceplok
lunglungan, ceplok parang, ceplok semen, lunglungan parang, dan lunglungan
semen.
1.5.Metodologi Penelitian
Metode yang digunakan dalam penelitian ini adalah penelitian analisis
deskriptif, yaitu suatu jenis penelitian yang hanya menggambarkan fakta-fakta dan
informasi dalam situasi atau kejadian secara sistematis, faktual, dan akurat.
1.5.1 Metode Pengumpulan Data
Untuk mendapatkan data-data yang dibutuhkan dalam penelitian dilakukan
pengumpulan data dengan memakai metode deskriptif yaitu suatu metode dalam
meneliti status sekelompok manusia, suatu objek, suatu set kondisi, suatu sistem
pemikiran ataupun suatu kelas peristiwa pada masa sekarang. Tujuan dari
penelitian deskriptif ini adalah untuk membuat deskripsi, gambaran atau lukisan
secara sistematis, aktual dan akurat mengenai fakta-fakta, sifat-sifat serta
hubungan antar fenomena yang diselidiki. Metode pengumpulan data dilakukan
buku-buku, artikel, paper, jurnal, makalah, dan situs internet mengenai proses pengenalan pola dengan algoritma Levenberg Marquardt.
1.5.2 Metode Pembangunan Perangkat Lunak
Dalam penelitian ini metode pembangunan perangkat lunak yang akan
digunakan yaitu Prototype karena metode ini cocok untuk pengembangan perangkat lunak. Prototype adalah pengembangan yang cepat dan pengujian terhadap model kerja dari aplikasi baru melalui proses interaksi dan
berulang-ulang. Alur dari metode prototype dapat dilihat pada gambar dibawah ini.
Gambar 1. 1 Alur Metode Prototype [14]
Penjelasan dari alur metode prototype diatas adalah: a. Analisis Kebutuhan
Tahapan ini dilakukan untuk mengidentifikasi kebutuhan yang ada dalam
perangkat lunak yang akan dibangun. Identifikasi kebutuhan diperoleh
dari buku-buku, artikel, paper, jurnal, makalah, dan situs internet
mengenai algoritma Levenberg Marquardt dalam pengenalan pola.
b. Desain
Tahapan ini membuat rancangan proses perangkat lunak pengenalan motif
c. Prototipe
Pada tahapan ini dilakukan pembangunan perangkat lunak pengenalan
motif batik berdasarkan rancangan sebelumnya dengan menggunakan
bahasa pemrograman Matlab.
d. Pengujian
Tahapan ini melakukan pengujian perangkat lunak yang telah dibangun.
e. Evaluasi
Pada tahapan ini akan diperiksa output yang dihasilkan apakah sudah sesuai dengan rancangan atau belum. Jika belum, maka akan dilakukan
perbaikan sampai perangkat lunak sesuai dengan rancangan. Output yang diharapkan yaitu memperlihatkan akurasi dalam pengenalan motif batik
menggunakan algoritma Levenberg Marquardt
f. Penyesuaian
Tahapan ini dilakukan dengan menyesuaikan perbaikan-perbaikan yang
ada dari hasil evaluasi.
1.6.Sistematika Penulisan
Sistematika penulisan ini terdiri dari lima bab. Adapun susunannya adalah
sebagai berikut:
BAB I PENDAHULUAN
Bab ini membahas tentang latar belakang masalah, identifikasi masalah,
batasan masalah, maksud dan tujuan penelitian, kegunaan penelitian, serta
sistematika penelitian.
BAB II LANDASAN TEORI
Bab ini menjelaskan mengenai definisi teori-teori yang berkaitan dengan
makna tentang batik, motif batik, pengolahan citra, pengenalan pola, dan
pengertian mengenai algoritma Levenberg Marquardt.
BAB III ANALISIS DAN KEBUTUHAN ALGORITMA
Bab ini mencakup secara rinci menjelaskan mengenai analisis algoritma
BAB IV IMPLEMENTASI DAN PENGUJIAN
Bab ini menjelaskan tentang implementasi dan pengujian dari hasil analisis
dan perancangan dari bab sebelumnya.
BAB V KESIMPULAN DAN SARAN
Bab ini mengurai kesimpulan dari hasil analisis penelitian dan memaparkan
7
LANDASAN TEORI
2.1.Batik
Batik merupakan budaya yang telah lama berkembang dan dikenal oleh
masyarakat Indonesia. Secara etimologi kata batik berasal dari bahasa Jawa, yaitu
”tik” yang berarti titik / matik (kata kerja, membuat titik) yang kemudian
berkembang menjadi istilah ”batik” [1]. Motif batik di setiap daerah memiliki
keunikan dan ciri khas masing-masing, baik dalam ragam hias maupun tata warna
batik itu sendiri. Tradisi membatik awalnya merupakan tradisi turun menurun,
sehingga motif batikannya pun dapat dikenali dan menjadi motif khas di daerah
tertentu. Perkembangan batik di Indonesia memuncak pada tanggal 2 Oktober
2009 UNESCO saat ditetapkan bahwa batik adalah hak kebudayaan bangsa
Indonesia. Sehingga sampai sekarang batik bisa dikatakan sudah mendarah
daging, karena sering dipakai hampir dalam kegiatan Salah satu sarana bagi
kalangan muda Indonesia dalam mengenal budaya batik dapat berkunjung ke
Museum Tekstil yang berlokasi di Tanah Abang, Jakarta Pusat, sebagai lembaga
edukatif kultural untuk melestarikan budaya tekstil tradisional, salah satunya yaitu
batik.
Menurut H. Santosa Doellah [4] dalam bukunya yang berjudul “Batik:
Pengaruh Zaman Dan Lingkungan” motif batik terbagi menjadi dua bagian besar,
yaitu motif geometri dan non geometri. Pada motif geometri terbagi menjadi tiga
jenis yaitu motif parang, motif ceplok, dan motif lereng. Motif batik geometri
yang pertama yaitu motif parang. Motif parang merupakan motif yang memiliki
pola yang terdiri atas satu atau lebih ragam hias yang tersusun membentuk
Gambar 2.1 Motif Batik Parang
Jenis motif geometri yang kedua adalah motif ceplok. Motif batik ceplok
memiliki ciri-ciri dimana didalam batik tersebut terdapat gambar-gambar segi
empat, lingkaran dan segala variasinya dalam membuat sebuah pola yang teratur.
Jenis motif geometri yang ketiga adalah motif lereng (liris). Pada dasarnya
motif lereng sama dengan motif parang tetapi memiliki perbedaan pada tidak
adanya hias mlinjon dan hias gareng.
Gambar 2.3 Motif Batik Lereng
Selain itu pada motif non geometri dibagi menjadi empat jenis yaitu motif
semen, motif lung lungan, motif buketan dan motif khusus. Motif non geometri
yang pertama yaitu motif semen. Motif semen memiliki ragam hias utama yang
merupakan ciri pola semen yaitu meru.
Motif non geometri yang kedua yaitu motif lung lungan. Sebagian besar motif
lung lungan memiliki ragam hias utama serupa dengan motif semen. Yang
membedakan motif lung-lungan dengan motif semen adalah ragam hias utama
Gambar 2.4 Motif Batik Lung Lungan
Motif non geometri yang ketiga yaitu motif buketan. Pola buketan mudah
dikenali melalui rangkaian bunga atau kelopak bunga dengan kupu-kupu, burung,
atau berbagai satwa kecil mengelilinginya.
Gambar 2.5 Motif Batik Buketan
Motif non geometri yang terakhir yaitu motif khusus. Motif khusus memuat
motif yang tidak dapat dimasukkan ke dalam kelas yang lain. Motif ini banyak
Gambar 2.6 Motif Batik Campuran (1)
2.2.Pengolahan Citra
Citra merupakan istilah lain untuk gambar, sebagai salah satu komponen
multimedia memegang peranan sangat penting sebagai bentuk informasi visual.
Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya
dengan informasi. Ada sebuah peribahasa yang berbunyi “sebuah gambar
bermakna lebih dari seribu kata” (a picture is more than a thousand words) [10].
Secara harfiah, citra adalah gambar pada bidang dwimatra (dua
dimensi). Meskipun sebuah citra kaya informasi, namun seringkali citra yang
dimiliki 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. Agar citra
yang mengalami gangguan mudah diinterpretasi (baik oleh manusia maupun
mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya
lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra(image processing).
Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan
komputer, menjadi citra yang kualitasnya lebih baik. Sebagai contoh, citra burung
nuri pada Gambar 2.8 (a) tampak agak gelap, lalu dengan operasi pengolahan
citra kontrasnya diperbaiki sehingga menjadi lebih terang dan tajam (b).
Di dalam bidang komputer, sebenarnya ada tiga bidang studi yang berkaitan
dengan data citra, namun tujuan ketiganya berbeda, yaitu:
1. Grafika Komputer (computer graphics). 2. Pengolahan Citra (image processing).
3. Pengenalan Pola (pattern recognition/image interpretation).
Hubungan antara ketiga bidang (grafika komputer, pengolahan citra, pengenalan
pola) ditunjukkan pada gambar 2.9.
Gambar 2.9 Tiga Bidang Studi Yang Berkaitan Dengan Citra
Grafika Komputer bertujuan menghasilkan citra (lebih tepat disebut grafik
atau picture) dengan primitif-primitif geometri seperti garis, lingkaran, dan sebagainya. Primitif-primitif geometri tersebut memerlukan data deskriptif untuk
melukis elemen-elemen gambar. Contoh data deskriptif adalah koordinat titik,
panjang garis, jari-jari lingkaran, tebal garis, warna, dan sebagainya. Grafika
komputer memainkan peranan penting dalam visualisasi dan virtual reality.
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).
Pengenalan Pola mengelompokkan data numerik dan simbolik (termasuk
citra) secara otomatis oleh mesin (dalam hal ini komputer). Tujuan
pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa
mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek
dengan objek lainnya. Kemampuan sistem visual manusia inilah yang dicoba
ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan
diidentifikasi, memproses citra tersebut, dan memberikan keluaran berupa
deskripsi objek di dalam citra.
2.2.1. Grayscale
Untuk mengkonversi citra RGB ke grayscale dapat dilakukan dengan persamaan berikut.
X = (R+G+B)/3 (2.1)
R = warna merah pada suatu piksel
G = warna hijau pada suatu piksel
B = warna biru pada suatu piksel
Di setiap pikselnya terdapat masing-masing nilai pada R (merah), G (hijau), dan B
(biru), sehingga ketika digunakan persamaan tersebut piksel-piksel akan hanya
akan memiliki warna gradasi dari warna putih sampai hitam.
2.2.2. Histogram Equalization
Histogram didefinisikan sebagai probabilitas statistik distribusi setiap tingkat abu-abu dalam gambar digital. Persamaan histogram (HE) adalah teknik yang sangat populer untuk peningkatan kontras gambar.
(2.2)
Sk = output HE
k = nilai yang muncul dalam citra
L = derajat keabuan
n = jumlah seluruh piksel dalam citra
2.3.Kecerdasan Buatan
2.3.1. Pengertian Kecerdasan Buatan
Kecerdasan Buatan atau AI (Artificial Intelligence) merupakan suatu ilmu yang mempelajari bagaimana membuat komputer melakukan sesuatu pada suatu
kejadian atau peristiwa yang mana orang melakukannya dengan baik. AI
merupakan proses di mana peralatan mekanik dapat melaksanakan kejadian
kejadian dengan menggunakan pemikiran atau kecerdasan seperti manusia [11]. AI adalah sub bagian dari ilmu komputer yang merupakan suatu teknik
perangkat lunak yang pemrogramannya dengan cara menyatakan data,
pemrosesan data dan penyelesaian masalah secara simbolik, dari pada secara
numerik. Masalah-masalah dalam bentuk simbolik ini adalah masalah-masalah
yang sering dijumpai dalam kehidupan sehari-hari. Masalah-masalah ini lebih
berhubungan dengan simbol dan konsep simbol dari pada dengan angka-angka. Di
sini dengan kecerdasan buatan diusahakan untuk membuat komputer seakan dapat
berpikir secara cerdas.
2.3.2. Kategori Dasar AI
Teknik pemrograman dengan kecerdasan buatan melakukan prosesnya sama
dengan apa yang dilakukan oleh otak manusia. Kecerdasan buatan juga meniru
proses belajar manusia di mana informasi yang baru diserap dan dimungkinkan
untuk digunakan sebagai referensi pada waktu yang akan datang. Di sini informasi
yang baru dapat disimpan tanpa harus mengubah cara kerja pikiran atau
mengganggu seluruh fakta-fakta yang sudah ada. Sehingga dengan kecerdasan
buatan dimungkinkan untuk membuat program di mana setiap bagian dari
program benar-benar independen. Di sini setiap bagian dari program seperti
potongan-potongan informasi dalam otak manusia. Secara umum kecerdasan
buatan dibagi menjadi tiga kategori dasar, yaitu:
2. Sistem bahasa alami (Natural Language System), yaitu pemrograman yang mengerti bahasa manusia.
3. Sistem dengan kemampuan memahami (Perception System), yaitu sistem untuk penglihatan, pembicaraan atau sentuhan.
2.3.3. Implementasi AI
AI dapat diimplementasikan ke dalam berbagai bidang, yaitu :
1. Machine Vision : Bertujuan pada pengenalan pola dalam beberapa jalan yang sama sebagai kegiatan sistem visual/indera manusia.
2. Robotics : Difokuskan pada produksi alat-alat mekanik yang dapat mengendalikan gerak. Sebagai contoh: sebuah robot sederhana dapat bergerak
atau berpindah ke depan, belakang, kanan atau kiri atau berpindah tempat ke
ruangan berbeda. Sebuah robot sebenarnya buta akan bentuk urutan dari aksi
bila tanpa usaha untuk mengganti komponennya atau bisa mendeteksi dan
memperbaiki kesalahan dalam rencananya akan menjadi sulit bila tanpa
kecerdasan. Sering sebuah robot akan diformulasikan pada sebuah rencana
dasar pada informasi yang tidak lengkap dan benar dalam menjalankan
sebuah rencana.
3. Speech Processing : Bertujuan pada pengenalan dan sintesa pembicaraan manusia.
4. Theorem Proving : Usaha untuk membuktikan secara otomatis masalah-masalah dalam matematika dan logika.
5. General Problem Solving : Bertujuan pada pemecahan kelas-kelas dari masalah-masalah yang ditekankan dalam sebuah bahasa formal.
6. Pattern Recognation: Difokuskan pada pengenalan dan klasifikasi dari pola-pola.
7. Game Playing: Pembuatan program-program bermain permainan.
8. Machine Learning : Bertujuan pada produksi mesin-mesin yang mengakumulasi pengetahuan dengan contoh-contoh observasi.
kemampuan untuk mempelajari komponen terpenting dari jalan kecerdasan.
Sebuah sistem pakar harus berkemampuan ekstensif dan dapat menghitung
kerugian dalam memecahkan sebuah persoalan.
10. Planning adalah aspek terpenting pendukung untuk mendesain atau merancang robot-robot dengan kemampuan menyelesaikan tugasnya dengan
tingkat fleksibelitas dan tanggap terhadap dunia luar.
11. Neural Network atau Parallel Distributed : teknik-teknik terbaik untuk merepresentasikan pengetahuan dan merancang algoritma pencarian yang
hati-hati untuk implementasi kecerdasan.
2.4.Jaringan Syaraf Tiruan
2.4.1. Pengertian Jaringan Syaraf Tiruan
Jaringan syaraf tiruan, bersama sistem pakar dan perangkat lunak, ternyata
memberikan solusi persoalan dunia industri, telekomunikasi dan informasi dengan
berbagai aplikasi masa kini maupun masa depan. Dalam bidang ilmu pengetahuan
jaringan syaraf tiruan sudah sejak lama dibicarakan banyak orang. Mulai dikenal
akhir tahun 1940-an, jaringan syaraf masuk dalam blok perkembangan teknologi
komputer. Meski begitu, anehnya perkembangan teknologi komputer itu pulalah
yang jadi penghambat berkembangnya ilmu jaringan syaraf. Meski riset dan
pengembangan teknologi komputer terus berjalan, jaringan syaraf kurang begitu
mendapat perhatian.
Ternyata kini jaringan syaraf tiruan dapat menjawab beberapa persoalan
dunia telekomunikasi, industri maupun informasi, yang tak terlintas sebelumnya.
Dan melihat prospeknya di masa depan, para ahli yang sangat fanatik pada model
komputer digital konvensional, boleh jadi berbalik menyesali diri.
Jaringan syaraf tiruan (JST) adalah sistem pengolahan informasi yang
didasari fisolofi struktur perilaku syaraf makhluk hidup [13]. Dengan begitu,
jaringan syaraf tiruan tak diprogram selayaknya mekanisme pada komputer digital
konvensional. Begitu juga dari segi arsitekturnya. Dalam arsitekturnya, jaringan
syaraf mempelajari bagaimana menghasilkan keluaran yang diinginkan pada saat
memerintahkan sistem untuk mengidentifikasikan hubungan antar masukan
kemudian mempelajari respon tersebut. Dengan metoda pensintesisan hubungan,
jaringan syaraf dapat mengenal situasi yang sedang dan telah dijumpai
sebelumnya. Berbeda dengan proses internal, proses eksternal lebih tergantung
pada aplikasinya. Sistem bisa menggunakan umpan balik eksternal atau sinyal
tanggapan yang diinginkan, untuk membentuk prilaku jaringan. Ini disebut
sebagai supervised learning. Dengan cara lain, jaringan dapat membangkitkan sinyal tanggapan yang diinginkan sendiri dalam skenario unsupervised learning.
Latar belakang dikembangkannya JST karena pada pemrograman beberapa
aplikasi seperti image recognition (pengenalan citra), speech recognition
(pengenalan suara), weather forecasting (peramalan cuaca) ataupun permodelan tiga dimensi, tak dapat dengan mudah dan akurat diterapkan pada set instruksi
komputer biasa. Atas dasar itu, maka diterapkan arsitektur komputer khusus yang
dimodel berdasar otak manusia.
2.4.2. Model Sel Syaraf (Neuron)
Satu sel syaraf terdiri dari tiga bagian, yaitu: fungsi penjumlah (summing function), fungsi aktivasi (activation function), dan keluaran (output). Secara matematis dapat digambarkan sebuah neuron k dengan menuliskan pasangan persamaan sebagai berikut :
(2.3)
dan
(2.4)
Dimana x1, x2, …, xp adalah sinyal input ; wk1, wk2, …, wkp adalah bobot
-bobot sinaptik dari neuron k; uk adalah linear combiner output; θk adalah threshold; µ(.) adalah fungsi aktivasi; dan yk adalah sinyal output dari neuron. Penggunaan threshold memberikan pengaruh adanya affine transformation
Gambar 2.10 Model Matematis Nonlinier Dari Suatu Neuron
2.4.3. Arsitektur Jaringan
Pola dimana neuron-neuron pada JST disusun berhubungan erat dengan algoritma pembelajaran yang digunakan untuk melatih jaringan.
1. Single-Layer Feedforward Networks
2. Multi-Layer Feedforward Networks
Gambar 2.12 Feedforward Network dengan lebih dari satu lapisan neurons
3. Recurrent Networks
4. Lattice Structure
Gambar 2.14 Lattice satu dimensi dengan 3 neuron
Gambar 2.15 Lattice dua dimensi dengan 3 kali 3 neuron
2.4.4. Proses Pembelajaran
Proses pembelajaran pada JST adalah suatu proses dimana
berkelanjutan oleh lingkungan dimana jaringan berada. Definisi proses
pembelajaran ini menyebabkan urutan kejadian sebagai berikut:
1. JST dirangsang oleh lingkungan.
2. JST mengubah dirinya sebagai hasil rangsangan ini.
3. JST memberikan respon dengan cara yang baru kepada lingkungan,
disebabkan perubahan yang terjadi dalam struktur internalnya sendiri.
2.4.5. Algoritma Pembentukan JST
Tahap-tahap pembentukan JST dapat dilakukan dengan cara berikut [14].
1. Inisialisasi bobot = 0.
2. Menetapkan maksimum epoh, target error, dan learning rate
3. Inisialisasi Epoh = 0, MSE = 1.
4. Kerjakan langkah-langkah berikut selama (Epoh < maksimum epoh) dan
(MSE > target error):
a. Epoh = Epoh + 1 (2.5)
b. Untuk tiap-tiap pasangan elemen yang akan dilakukan pembelajaran,
kerjakan:
- Tiap-tiap unit input (xi, i=1,2,3…,n) menerima sinyal xi dan
meneruskan sinyal tersebut ke semua unit pada lapisan yang ada di
atasnya (lapisan tersembuyi)
- Tiap-tiap unit pada suatu lapisan tersembunyi (zj, j=1,2,3…,p)
menjumlahkan sinyal-sinyal input terbobot:
(2.6)
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
zj = f(z_inj) (2.7)
dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya
(unit-unit output)
- Tiap-tiap unit output (yk, k=1,2,3,…,m) menjumlahkan sinyal-sinyal
(2.8)
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
yk = f(y_ink) (2.9)
dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya
(unit-unit output)
- Tiap-tiap unit output (yk, k=1,2,3,…,m) menerima target pola yang
berhubungan dengan pola input pembelajaran, hitung informasi
errornya:
ẟ2k = (t k– y k) f’(y_in k) (2.10)
φ2 jk = k zj (2.11)
β2 k = ẟ k (2.12)
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk
memperbaiki nilai wjk):
Δwk = αφ2jk (2.13)
hitung juga koreksi bias (yang nantinya akan digunakan untuk
memperbaiki nilai b2k):
Δb2k= αβ2k (2.14)
Langkah di atas juga dilakukan sebanyak jumlah lapisan tersembunyi,
yaitu menghitung informasi error dan suatu laposan tersembunyi ke
lapisan tersembunyi sebelumnya.
- Tiap-tiap unit tersembunyi (zj, j=1,2,3,…,p) menjumlahkan delta
inputnya (dari unit-unit berada pada lapisan di atasnya):
(2.15)
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk
menghitung informasi error:
ẟ1j = ẟ_inj f’(z_inj) (2.16)
φ1ij= φ1j xj (2.17)
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk
memperbaiki nilai vij):
Δvij= α φ1ij (2.19)
Hitung juga koreksi bias (yang nantinya akan digunakan untuk
memperbaiki nilai b1j):
Δb1j= αβ1j (2.20)
- Tiap-tiap unit output (Yk, k = 1,2,3,…,m) memperbaiki bias dan
bobotnya (j=0,1,2,…,p):
wjk(baru) = wjk(lama) + Δwjk (2.21)
b2k(baru) = b2k(lama) + Δb2k (2.22)
tiap-tiap unit tersembunyi (zj, j=1,2,3,…,p) memperbaiki bias dan
bobotnya (i=0,1,2,…,n):
vij(baru) = vij(lama) + Δ vij (2.23)
b1j(baru) = b1j (lama) + Δ b1j (2.24)
c. Hitung MSE
2.5.Algoritma Levenberg Marquardt
Algoritma Levenberg Marquardt dikembangkan oleh Kenneth Levenberg dan
Donald Marquardt, memberikan solusi numerik untuk masalah meminimalkan
fungsi nonlinear [16]. Di bidang jaringan syaraf tiruan, algoritma ini cocok untuk
pelatihan kecil dan menengah.
Algoritma Levenberg Marquadt merupakan pengembangan dari algoritma
backpropagation. Algoritma ini dibangun untuk mengatasi beberapa kekurangan yang ada pada algoritma backpropagation dengan memanfaatkan teknik optimisasi numerik standar yaitu menggunakan pendekatan matriks Jacobian.
Tujuan dari Levenberg Marquadt adalah meminimalkan total error. Pada algoritma backpropagation proses update bobot dan bias menggunakan negative gradient descent secara langsung, sedangkan algoritma Levenberg Marquardt menggunakan pendekatan matrik Hesian (H) yang dapat dihitung dengan:
Sedangkan gradient dapat dihitung dengan:
g = JT e (2.26)
Dalam hal ini J merupakan sebuah matrik jacobian yang berisikan turunan pertama dari error jaringan terhadap bobot dan bias jaringan. Perubahan pembobot dapat dihitung dengan:
ΔW= [JT J + µI] - JT e (2.27)
Sehingga perbaikan pembobot dapat ditentukan dengan:
W = W + ΔW (2.28)
W = W + [JT J + µI] - JT e (2.29)
Keterangan :
W = fungsi bobot-bobot jaringan dan bias
e = vektor yang menyatakan semua error pada output jaringan
µ = konstanta learning
I = matrik identitas
2.6.Inisialisasi Bobot Awal Dengan Metode Nguyen Widrow
Pemilihan bobot awal sangat mempengaruhi jaringan syaraf dalam mencapai
minimum global terhadap nilai error, serta cepat tidaknya proses pelatihan menuju kekonvergenan. Jikai nilai bobot awal terlalu besar, maka input ke setiap
lapisan tersembunyi atau lapisan output akan jatuh pada daerah dimana turunan
fungsi sigmoidnya akan sangat kecil. Jika nilai bobot awal awal terlalu kecil,
maka input ke setiap lapisan tersembunyi atau lapisan output akan sangan kecil
yang akan mengakibatkan proses pelatihan akan berjalan sangat lambat. Biasanya
bobot awal diinisialisasi secara random dengan nilai antara -0,5 sampai 0,5. Nguyen Widrow merupakan modifikasi sederhana bobot-bobot dan bias ke
unit tersembunyi yang mampu meningkatkan kecepatan jaringan dalam proses
pelatihan jaringan. Metode ini secara sederhana dapat diimplementasikan dengan
prosedur sebagai berikut.
1. Tetapkan :
dimana
n = jumlah neuron pada lapisan input
p = jumlah neuron pada lapisan tersembunyi
β = faktor penskalaan
2. Kerjakan untuk setiap unit pada lapisan tersembunyi (j = 1, 2…., p).
a. Inisialisasi bobot-bobot dari lapisan input ke lapisan tersembunyi:
b. Hitung: | | Vj | |
c. Set bias :
b1j = bilangan random antara -β sampai β.
2.7.Pengujian JST
Pada proses pengujian, tahap yang dilakukan hanya sampai
tahap maju saja, tidak ada tahap mundur dan tahap modifikasi bobot.
Seluruh bobot input diambil dari nilai bobot terakhir yang diperoleh dari proses pelatihan. Pada tahap pengujian ini, jaringan diharapkan dapat
mengenali pola berdasarkan data baru yang diberikan (generalisasi).
2.8.Diagram Arus Data (Data Flow Diagram)
Data flow diagram adalah suatu gambaran secara logika, data flow diagram
biasa digunakan untuk membuat sebuah model sistem informasi dalam bentuk
proses-proses yang saling berhubungan yang disebut dengan aliran data.
1. Arus Data (Data Flow)
Arus data ini menunjukan arus dari data yang dapat berupa masukan untuk
sistem atau hasil dari proses sistem. Pada DFD, arus data digambarkan dengan
tanda panah.
2. Proses
Proses adalah kegiatan yang dilakukan oleh orang, mesin atau komputer dari
hasil arus data yang masuk ke dalam proses untuk dihasilkan arus data yang akan
3. Kesatuan Luar (External Entity)
Kesatuan luar merupakan kesatuan di lingkungan luar sistem yang dapat
berupa orang, organisasi atau sistem lain yang akan memberikan masukan (input) atau menerima keluaran (output) dari sistem. Kesatuan luar digambarkan dengan simbol kotak persegi panjang.
4. File
File digambarkan dengan dua garis horizontal.
Konsep dasar DFD dapat dilakukan dengan analisa Top Down, yaitu pemecahan sistem yang besar menjadi beberapa sub-sub sistem yang lebih kecil
DFD terdiri dari :
1. Diagram Konteks
Diagram Konteks adalah diagram arus data yang berfungsi untuk
menggambarkan yang dirancang disuatu objek, diagram konteks ini
menggambarkan secara global atau menyeluruh dari suatu sistem informasi
keterkaitan aliran-aliran data antara system dengan bagian-bagian luar. Kesatuan
luar ini merupakan sumber arus data atau tujuan data yang berhubungan dengan
sistem informasi tersebut.
2. Middle Level
Merupakan pemecahan dari tiap-tiap proses yang mempunyai fungsi sama.
Pada middle level diagaram 0 dipecah menjadi diagram 1,2,3 dan seterusnya yang merupakan penguraian dari diagram konteks.
3. Lowest Level
Merupakan pemecahan dari data flow yang ada pada middle level. Pemecahan tersebut masih tetap mempunyai fungsi yang sama dari level sebelumnya. Untuk
Lowest Level, pemberian nomor diagram terdiri dari bagian middle level.
2.9.MATLAB
MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan komputasi numerik, merupakan suatu bahasa pemrograman matematika lanjutan
yang dibentuk dengan dasar pemikiran menggunakan sifat dan bentuk matriks
numerik proyek LINPACK dan EISPACK, dikembangkan menggunakan bahasan
FORTRAN. Namun sekarang, program ini merupakan produk komersial dari
perusahaan Mathworks, Inc. yang dalam perkembangan selanjutnya
dikembangkan menggunakan bahasa C++ dan assembler ( terutama untuk
fungsi-fungsi dasar MATLAB).
MATLAB telah berkembang menjadi sebuah environment pemrograman yang canggih dan berisi fungsi-fungsi built-in untuk melakukan tugas pengolahan sinyal, aljabar linier, dan kalkulasi matematis lainnya. MATLAB juga berisi
toolbox yang berisi fungsi-fungsi tambahan untuk aplikasi khusus. MATLAB bersifat extensible, dalam arti bahwa seorang pengguna dapat menulis fungsi baru untuk ditambahkan di library jika fungsi-fungsi built-in yang tersedia tidak dapat melakukan tugas tertentu. MATLAB dapat menggunakan teknik berorientasi
objek dalam desain program. Teknik berorientasi objek dapat menyederhanakan
pemrograman tugas yang melibatkan struktur data khusus atau sejumlah besar
fungsi yang berinteraksi dengan jenis data khusus.
Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat
standar untuk memperkenalkan dan mengembangkan penyajian materi
matematika, rekayasa dan kelimuan. Di industri, Matlab merupakan perangkat
pilihan untuk penelitian dengan produktifitas yang tinggi, pengembangan dan
analisanya. Fitur-fitur Matlab sudah banyak dikembangkan, dan lebih dikenal
dengan nama toolbox. Toolbox ini merupakan kumpulan dari fungsi -fungsi Matlab (M-files) yang telah dikembangkan ke suatu lingkungan kerja Matlab untuk memecahkan masalah dalam kelas particular. Area-area yang sudah bisa dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal, sistem kontrol,
neural networks, fuzzy logic, wavelets, dan lain-lain.
Kelengkapan pada Sistem Matlab sebagai sebuah sistem, Matlab tersusun dari
5 bagian utama:
1. Development Environment.
Development Environment merupakan sekumpulan perangkat dan fasilitas yang membantu anda untuk menggunakan fungsi-fungsi dan file-file Matlab.
Termasuk didalamnya adalah Matlab desktop dan command window,
command history, sebuah editor dan debugger, dan browsers untuk melihat
help, workspace, files, dan search path. 2. Matlab Mathematical Function Library.
Merupakan sekumpulan algoritma komputasi mulai dari fungsi-fungsi dasar
seperti sum, sin, cos, complex arithmetic, sampai dengan fungsi-fungsi yang lebih kompeks seperti matrix inverse, matrix eigenvalues, bessel functions, dan fast fourier transforms.
3. Matlab Language.
Merupakan suatu high-level matrix/array language dengan control flow statements, functions, data structures, input/output, dan fitur-fitur object-oriented programming. Ini dimungkinkan untuk melakukan kedua hal baik "pemrograman dalam lingkup sederhana" untuk mendapatkan hasil yang
cepat, dan "pemrograman dalam lingkup yang lebih besar" untuk memperoleh
hasil-hasil dan aplikasi yang komplek.
4. Graphics.
Matlab memiliki fasilitas untuk menampilkan vector dan matrices sebagai suatu grafik. Didalamnya melibatkan high-level functions (fungsi-fungsi level tinggi) untuk visualisasi data dua dikensi dan data tiga dimensi, image processing, animation, dan presentation graphics. Ini juga melibatkan fungsi level rendah yang dimungkinkan untuk memunculkan grafik mulai dari benutk
yang sederhana sampai dengan tingkatan graphical user interfaces pada aplikasi Matlab.
5. Matlab Application Program Interface (API).
Merupakan suatu library yang memungkinkan program yang telah ditulis dalam bahasa C dan Fortran mampu berinterakasi dengan Matlab. Ini
MATLAB banyak digunakan pada :
1. Matematika dan Komputasi
2. Pengembangan dan Algoritma
3. Pemrograman Modeling, simulasi, dan pembuatan prototipe
4. Analisa data, eksplorasi, dan visualisasi
5. Analisis numerik dan statistik
6. Pengembangan aplikasi teknik
2.10. Cross Validation
Untuk tujuan replikasi, yang dibutuhkan adalah mendapatkan jumlah dari
data latih dan pasangan data tes dari dataset X (setelah lebih dahulu memisahkan
sebagian data sebagai data uji). Untuk mendapatkannya, jika sampel X cukup
besar, dapat dibagi secara acak ke dalam K bagian, lalu secara acak memisahkan
masing-masing bagian ke dalam 2 kelompok dan menggunakan setengah data
pertama untuk data latih dan setengah data lainnya untuk data uji. Pengujian ini
dilakukan berulang dengan menggunakan data split yang berbeda, dinamakan
cross validation.
K-fold cross-validation adalah sebuah pengujian dimana dataset X dibagi secara acak kedalam K bagian dengan ukuran yang sama, Xi, i=1,...,K. Untuk
memproses setiap pasangnya diambil terlebih dahulu salah satu bagian dari K
bagian sebagai data tes, dan mengkombinasikan sisanya sebanyak K-1 bagian
sebagai data latih. Proses pengujian dilakukan sebanyak K kali [5].
Dalam contoh kasus yang memiliki banyak prediksi, hasil pada data uji
sering ditampilkan sebagai confusion matrix dua dimensi dengan baris dan kolom
untuk setiap kelas. Setiap elemen matrix menunjukkan jumlah data uji. Pada
bagian baris adalah kelas data uji yang sebenarnya dan pada bagian kolom adalah
Tabel 2.1 Contoh Confusion Matrix
Hasil Identifikasi
Target Identifikasi a b c d
A 4 0 0 0
B 1 3 0 0
c 1 0 2 1
d 0 0 0 4
Berikut ini adalah penjelasan pada tabel 2.1
Target a teridentifikasi menjadi a sebanyak 4
teridentifikasi menjadi b sebanyak 0
teridentifikasi menjadi c sebanyak 0
teridentifikasi menjadi d sebanyak 0
Target b teridentifikasi menjadi a sebanyak 1
teridentifikasi menjadi b sebanyak 3
teridentifikasi menjadi c sebanyak 0
teridentifikasi menjadi d sebanyak 0
Target c teridentifikasi menjadi a sebanyak 1
teridentifikasi menjadi b sebanyak 0
teridentifikasi menjadi c sebanyak 2
teridentifikasi menjadi d sebanyak 1
Target d teridentifikasi menjadi a sebanyak 0
teridentifikasi menjadi b sebanyak 0
teridentifikasi menjadi c sebanyak 0
Contents
BAB 2 ... 7
2.1. Batik ... 7
2.2. Pengolahan Citra ... 12
2.3. Kecerdasan Buatan ... 15
2.4. Jaringan Syaraf Tiruan... 17
2.5. Algoritma Levenberg Marquardt ... 24
2.6. Inisialisasi Bobot Awal Dengan Metode Nguyen Widrow ... 25
2.7. Pengujian JST ... 26
2.8. Diagram Arus Data (Data Flow Diagram)... 26
2.9. MATLAB ... 27
2.10. Cross Validation ... 30
Gambar 2.1 Motif Batik Parang ... 8
Gambar 2.2 Motif Batik Ceplok ... 8
Gambar 2.3 Motif Batik Lereng ... 9
Gambar 2.4 Motif Batik Lung Lungan ... 10
Gambar 2.5 Motif Batik Buketan ... 10
Gambar 2.6 Motif Batik Campuran (1) ... 11
Gambar 2.7 Motif Batik Campuran (2) ... 11
Gambar 2.8 Perbaikan Kontras Citra ... 12
Gambar 2.9 Tiga Bidang Studi Yang Berkaitan Dengan Citra ... 13
Gambar 2.10 Model Matematis Nonlinier Dari Suatu Neuron ... 19
Gambar 2.11 Feedforward Network dengan satu lapisan neurons ... 19
Gambar 2.12 Feedforward Network dengan lebih dari satu lapisan neurons ... 20
Gambar 2.13 Recurrent network ... 20
Gambar 2.14 Lattice satu dimensi dengan 3 neuron ... 21
79
serta saran untuk perbaikan dan pengembangan penelitian lebih lanjut.
5.1.Kesimpulan
Dari hasil penelitian yang telah dilakukan dapat diperoleh kesimpulan sebagai
berikut.
1. Algoritma Levenberg Marquardt dapat diterapkan untuk pengenalan motif
kain batik dasar dan motif campuran.
2. Pengenalan motif kain batik dasar dan campuran menggunakan algoritma
Levenberg Marquardt memiliki akurasi tertinggi sebesar 62.5% dengan
akurasi pada batik motif dasar sebesar 80% dan akurasi pada batik motif
campuran sebesar 15.79%. Akurasi ini didapatkan dari susunan variabel yang
memiliki jumlah neuron pada hidden layer sebanyak 3 neuron atau 4 neuron, learning rate yang bernilai 0.01, batas epoh sebesar 7000, dan target error
sebesar 0.035. Sedangkan sampel data yang diuji pada penelitian ini
berjumlah 137 buah. Sampel data yang digunakan pada proses pelatihan
berjumlah 50 buah motif dasar dengan masing-masing motif 10 buah dan 45
buah motif campuran dengan masing-masing motif 5 buah. Jumlah motif
yang dilakukan pengujian yaitu 42 buah, dengan masing-masing motif 3
buah.
5.2.Saran
Dari hasil penelitian ini dapat diberikan saran-saran yaitu untuk
mengidentifikasi motif batik dasar atau campuran dapat menggunakan algoritma
lain sehingga bisa mendapatkan algoritma yang cocok untuk pengenalan motif
1. Data Pribadi
Nama : Roni Ahdiat
Tempat/Tanggal Lahir : Garut, 6 November 1989
Jenis Kelamin : Laki-laki
Warga Negara : Indonesia
Agama : Islam
Status : Belum Menikah
Alamat : Jl. Rajawali Timur Gg. Barnas 2 Rt. 06 Rw. 05
No.56 B/77 Bandung
Email : roni.ibex@gmail.com
No. Handphone : 085624622448
2. Pendidikan Formal
1996 – 2002 SD BPMD Taruna Bandung
2002 – 2005 SMP Negeri 25 Bandung
2005 – 2009 SMK Negeri 1 Cimahi
2011 – 2016 Universitas Komputer Indonesia (UNIKOM)
MOTIF KAIN BATIK
Roni Ahdiat1
1 Teknik Informatika - Universitas Komputer Indonesia
Jl. Dipatiukur 112-114 Bandung E-mail : roni.ibex@gmail.com1
ABSTRAK
Batik merupakan budaya yang telah lama berkembang dan dikenal oleh masyarakat Indonesia. Motif batik di setiap daerah memiliki keunikan dan ciri khas masing-masing, baik dalam ragam hias maupun tata warna batik itu sendiri. Salah satu cara untuk mengidentifikasi motif pada kain batik yaitu melalui pengenalan pola.
Algoritma Levenberg Marquadt merupakan pengembangan dari algoritma backpropagation. Algoritma ini dibangun untuk mengatasi beberapa kekurangan yang ada pada algoritma
backpropagation dengan memanfaatkan teknik
optimisasi numerik standar yaitu menggunakan pendekatan matriks Jacobian. Tujuan dari Levenberg Marquadt adalah meminimalkan total
error.
Pengujian dari algoritma Levenberg Marquardt dilakukan dengan metode cross validation. Data yang digunakan pada proses pelatihan berjumlah 50 buah motif dasar dengan masing-masing motif 10 buah dan 45 buah motif campuran dengan masing-masing motif 5 buah. Sedangkan jumlah motif yang akan dilakukan pengujian yaitu 42 buah, dengan masing-masing motif 3 buah. Dari 4 skenario pengujian yaitu menggunakan 1 sampai 4 hidden
layer, hasil pengujian menunjukkan akurasi tertinggi
sebesar 62.5% dengan akurasi pada batik motif dasar sebesar 80% dan akurasi pada batik motif campuran sebesar 15.79%. Akurasi ini didapatkan dari susunan variabel yang memiliki jumlah neuron pada hidden
layer sebanyak 3 neuron dan 4 neuron, learning rate
yang bernilai 0.01, batas epoh sebesar 7000, dan target error sebesar 0.035.
Kata Kunci : backpropagation, levenberg marquardt, batik, pattern recognition
1. PENDAHULUAN
Batik merupakan budaya yang telah lama berkembang dan dikenal oleh masyarakat Indonesia. Secara etimologi kata batik berasal dari bahasa Jawa, yaitu ”tik” yang berarti titik / matik (kata kerja, membuat titik) yang kemudian berkembang
menjadi istilah ”batik” [1]. Motif batik di setiap daerah memiliki keunikan dan ciri khas masing-masing, baik dalam ragam hias maupun tata warna batik itu sendiri. Salah satu cara untuk mengidentifikasi motif pada kain batik yaitu melalui pengenalan pola.
Algoritma Levenberg Marquadt merupakan pengembangan dari algoritma backpropagation. Algoritma ini dibangun untuk mengatasi beberapa kekurangan yang ada pada algoritma
backpropagation dengan memanfaatkan teknik
optimisasi numerik standar yaitu menggunakan pendekatan matriks Jacobian. Tujuan dari Levenberg Marquadt adalah meminimalkan total
error [8]. Algoritma Levenberg Marquardt telah
diterapkan pada pengenalan pola wajah yang dilakukan oleh Mohammed Alwakeel [7] dengan membandingkan algoritma Levenberg Marquardt dengan algoritma Haar Wavelet Transform dan algoritma Principal Component Analysis. Dari penelitian tersebut terbukti algoritma Levenberg Marquardt lebih akurat, cepat, dan stabil dalam pengenalan pola wajah dibandingkan algoritma Haar Wavelet Transform dan algoritma Principal Component Analysis. Pada penelitian lain dilakukan oleh Tulus Bangkit Pratama mengenai pengenalan pola warna citra google maps menggunakan algoritma Levenberg Marquardt [17] dengan hasil algoritma ini telah berhasil membuat pola citra baru yang diidentifikasikan sebagai daerah daratan dan bukan daratan.
Dengan latar belakang masalah ini, maka akan dilakukan penelitian mengenai algoritma Levenberg Marquardt yang akan diimplementasikan untuk mengidentifikasi motif batik tidak hanya motif batik dasar, dapat juga mengidentifikasi motif batik khusus atau campuran. Pada penelitian ini juga akan diketahui tingkat akurasi penerapan algoritma Levenberg Marquardt terhadap pengenalan motif batik.
1.1 Kecerdasan Buatan
Kecerdasan Buatan atau AI (Artificial
Intelligence) merupakan suatu ilmu yang
Jurnal Ilmiah Komputer dan Informatika (KOMPUTA)
Edisi. .. Volume. .., Bulan 20.. ISSN : 2089-9033
melakukan sesuatu pada suatu kejadian atau peristiwa yang mana orang melakukannya dengan baik. AI merupakan proses di mana peralatan mekanik dapat melaksanakan kejadian kejadian dengan menggunakan pemikiran atau kecerdasan seperti manusia [11].
1.2 Jaringan Syaraf Tiruan
Jaringan syaraf tiruan (JST) adalah sistem pengolahan informasi yang didasari fisolofi struktur perilaku syaraf makhluk hidup [13]. Dengan begitu, jaringan syaraf tiruan tak diprogram selayaknya mekanisme pada komputer digital konvensional. Begitu juga dari segi arsitekturnya. Dalam arsitekturnya, jaringan syaraf mempelajari bagaimana menghasilkan keluaran yang diinginkan pada saat diberikan sekumpulan masukan. Proses ini dilakukan secara internal, yaitu dengan memerintahkan sistem untuk mengidentifikasikan hubungan antar masukan kemudian mempelajari respon tersebut. Dengan metoda pensintesisan hubungan, jaringan syaraf dapat mengenal situasi yang sedang dan telah dijumpai sebelumnya. Berbeda dengan proses internal, proses eksternal lebih tergantung pada aplikasinya. Sistem bisa menggunakan umpan balik eksternal atau sinyal tanggapan yang diinginkan, untuk membentuk prilaku jaringan. Ini disebut sebagai supervised
learning. Dengan cara lain, jaringan dapat
membangkitkan sinyal tanggapan yang diinginkan sendiri dalam skenario unsupervised learning.
1.3 Algoritma Levenberg Marquardt
Algoritma Levenberg Marquardt dikembangkan oleh Kenneth Levenberg dan Donald Marquardt, memberikan solusi numerik untuk masalah meminimalkan fungsi nonlinear [16]. Di bidang jaringan syaraf tiruan, algoritma ini cocok untuk pelatihan kecil dan menengah.
Algoritma Levenberg Marquadt merupakan pengembangan dari algoritma backpropagation. Algoritma ini dibangun untuk mengatasi beberapa kekurangan yang ada pada algoritma
backpropagation dengan memanfaatkan teknik
optimisasi numerik standar yaitu menggunakan pendekatan matriks Jacobian. Tujuan dari Levenberg Marquadt adalah meminimalkan total
error.
2. ISI PENELITIAN
2.1 Analisis Masalah
Pada penelitian ini akan dilakukan pengenalan motif kain batik menggunakan algoritma Levenberg Marquardt. Berdasarkan hasil studi literatur mengenai penggunaan algoritma Levenberg Marquardt terhadap pengenalan pola wajah pada jurnal Muhammed Alwakeel dan Zyad Shaaban [7]. Pada jurnal ini membahas tentang pengenalan pola wajah menggunakan algoritma Levenberg
Marquardt dan menghasilkan output yang lebih akurat dibandingkan algoritma Haar Wavelet Transform dan Principal Component Analysis. Selain itu, algoritma Levenberg Marquardt belum pernah dilakukan penelitian untuk pengenalan motif batik. Dengan alasan ini, maka penelitian mengenai algoritma Levenberg Marquardt akan diimplementasikan terhadap pengenalan motif kain batik.
2.2 Analisis Sistem
Analisis adalah aktivitas yang memuat sejumlah kegiatan seperti menguraikan sebuah pembahasan. Dalam hal ini pembahasan mengenai pengenalan motif kain batik menggunakan algoritma Levenberg Marquardt
2.3 Analisis Arsitektur Sistem
Arsitektur yang diterapkan terdiri dari data masukan berupa file citra berekstensi *jpg, pra proses, proses pelatihan menggunakan algoritma Levenberg Marquardt, pengujian motif batik menggunakan Levenberg Marquardt, lalu menghasilkan output berupa akurasi. Arsitektur sistem yang digunakan dapat dilihat pada gambar
Gambar 2.1 Arsitektur Umum Sistem
Langkah-langkahnya yaitu :
1. Input data citra merupakan tahapan bahwa data yang dimasukkan adalah berupa file berekstensi *jpg.
2. Pada tahap pra proses, sistem melakukan tahapan yang terdiri dari perubahan warna citra
ke grayscale untuk memudahkan dalam proses
binerisasi. Pada tahap ini pun dilakukan
histogram equalization untuk memperjelas
citra batik sehingga pada proses binerisasi dapat lebih terlihat motif dari citra batik tersebut.
3. Pada tahapan pelatihan, sistem akan melakukan pelatihan untuk pembentukan jaringan syaraf tiruan sebagai data sumber ketika melakukan identifikasi terhadap motif batik yang nantinya akan diuji.
4. Pengujian motif batik, motif kain batik dilakukan pengujian untuk mengetahui jenis batik berdasarkan motifnya.
pengecekan data masukan. Data masukan yang diperbolehkan merupakan data citra berformat *.jpg. Data masukan ini terdiri atas file citra berupa motif batik yang akan digunakan untuk pembentukan jaringan syaraf tiruan (JST) dan pengujian untuk mengidentifikasi motif batik yang diinput. Kemudian sistem akan menyediakan pilihan menu, yaitu Pelatihan dan Pengujian.
Pada menu pelatihan, data citra yang diinput akan dilakukan tahap pra proses, yaitu mengkonversi data citra ke dalam bentuk grayscale. Lalu untuk memperjelas pola atau motif dari data citra yang sudah berwarna grayscale, maka data citra tersebut dilakukan histogram equalization. Setelah itu data citra dikonversikan kembali ke dalam bentuk biner sehingga data citra akan menghasilkan matriks bernilai 1 dan 0. Pada tahapan selanjutnya yaitu pembentukan JST menggunakan algoritma Levenberg Marquardt. Setelah itu data disimpan sebagai basis pengetahuan.
Selanjutnya pada menu pengujian prosesnya hampir sama dengan pelatihan, yaitu melakukan konversi data citra ke dalam bentuk grayscale, melakukan
histogram equalization untuk memperjelas pola atau
motif citra, selanjutnya pembentukan JST menggunakan algoritma Levenberg Marquardt. Setelah JST terbentuk, maka data untuk pengujian akan dibandingkan dengan data yang ada pada basis pengetahuan sehingga dapat menghasilkan output berupa jenis batik beserta tingkat akurasinya.
Secara garis besar, flowchart aplikasi pengenalan motif kain batik ini adalah sebagai
Gambar 2.2 Flowchart Sistem
masukan dan tata cara penulisan data yang diperbolehkan sistem. Data masukan yang diperbolehkan merupakan data citra berformat *.jpg. Data masukan ini terdiri atas file citra berupa motif batik yang akan digunakan untuk pembentukan JST dan pengujian untuk mengidentifikasi motif batik yang diinput
2.6 Analisis Pra Proses
2.6.1. Resizing
Untuk merubah ukuran citra batik, dapat menggunakan fungsi resize() pada matlab. Pada contoh ini, data citra batik dirubah ke dalam ukuran 7 x 5 piksel. Jika dilihat ke dalam bentuk matriks akan menghasilkan 3 dimensi, yaitu 7 x 5 x 3 karena data citra masih berbentuk RGB (Red Green Blue).
2.6.2. Grayscale
Pada proses ini matriks citra RGB akan dikonversi ke dalam bentuk grayscale. Untuk mengkonversi matriks citra RGB ke grayscale dapat dilakukan dengan persamaan berikut.
Grayscale = (R+G+B)/3 (2.1)
2.6.3. Histogram Equalization
Konsep dasar dari histogram equalization
adalah dengan men-strecth histogram, sehingga perbedaan piksel menjadi lebih besar atau dengan kata lain informasi menjadi lebih kuat sehingga mata dapat menangkap informasi yang disampaikan. Persamaan yang digunakan untuk HE yaitu persamaan (2.2).
(2.2)
Sk = output HE
k = nilai yang muncul dalam citra L = derajat keabuan
n = jumlah seluruh piksel dalam citra nj = jumlah yang muncul di setiap nilai k
2.7 Analisis Pelatihan
2.7.1. Inisialisasi Bobot Menggunakan Nguyen Widrow
Nguyen Widrow merupakan modifikasi sederhana bobot-bobot dan bias ke unit tersembunyi yang mampu meningkatkan kecepatan jaringan dalam proses pelatihan jaringan. Metode ini secara sederhana dapat diimplementasikan dengan prosedur sebagai berikut.
1. Tetapkan :
β = 0.7(p)1/n (2.3)
dimana
n = jumlah neuron pada lapisan input p = jumlah neuron pada lapisan tersembunyi