Analisis Algoritma Backpropagation Levenberg Marquardit Untuk Pengenalan Motif Kain Batik
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
UNIVERSITAS KOMPUTER INDONESIA
2016
(2)
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 Wahyudipraja, Rudi Yusuf, yang selalu menyempatkan waktu untuk bertukar
(3)
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
(4)
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
(5)
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
(6)
(7)
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.
[10] Rocky Yefrenes Dillak. 2012. Pemanfaatan Algoritma Jaringan Syaraf Tiruan Levenberg Marquardt Untuk Mendeteksi Penyakit Alzheimer.
(8)
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
(9)
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 Principal Component Analysis. Dari penelitian tersebut terbukti algoritma
(10)
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 diterapkan metode Levenberg Marquardt.
(11)
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 dengan studi literatur. Metode ini dilakukan dengan pembelajaran literatur dari
(12)
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 batik dengan menggunakan diagram Unified Modelling Language (UML).
(13)
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 Levenberg Marquardt dalam pengenalan motif batik.
(14)
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 saran dari permasalahan yang ada.
(15)
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 garis-garis sejajar dengan sudut miring 45o.
(16)
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.
(17)
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 lung-lungan tidak selalu mengandung ragam hias meru.
(18)
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 mempertemukan dua atau lebih motif lain yang digabung menjadi satu motif baru.
(19)
Gambar 2.6 Motif Batik Campuran (1)
(20)
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).
(21)
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 mengenali objek yang dilihatnya karena otak manusia telah belajar
(22)
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 nrj = jumlah yang muncul di setiap nilai k
(23)
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:
1. Sistem Berbasis Pengetahuan atau sistem pakar (Expert System/Knowledge Based System), yaitu program komputer yang berisi pengetahuan manusia yang digunakan untuk menyelesaikan masalah dalam domain tertentu.
(24)
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.
9. Learning merupakan sebuah persoalan sulit untuk program AI, dalam mencapai kesuksesan diperlukan dalam pemecahan persoalan. Bagian
(25)
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 diberikan sekumpulan masukan. Proses ini dilakukan secara internal, yaitu dengan
(26)
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
terhadap output uk dari linear combiner seperti yang ditunjukkan pada gambar 2.10.
(27)
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
(28)
2. Multi-Layer Feedforward Networks
Gambar 2.12 Feedforward Network dengan lebih dari satu lapisan neurons
3. Recurrent Networks
(29)
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 parameter-parameter bebas JST diadaptasikan melalui suatu proses perangsangan
(30)
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
(31)
(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)
(32)
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:
(33)
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 :
(34)
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 keluar dari proses. Pada DFD, proses digambarkan dalam simbol lingkaran.
(35)
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 [15]. Pada awalnya, program ini merupakan interface untuk koleksi rutin-rutin
(36)
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. Beberapa perangkat ini merupakan sebuah graphical user interfaces (GUI).
(37)
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 melibatkan fasilitas untuk pemanggilan routines dari Matlab (dynamic linking), pemanggilan Matlab sebagai sebuah computational engine, dan untuk membaca dan menuliskan MAT-files.
(38)
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 kelas prediksi[20]. Contoh confusion matrix pada dapat dilihat pada tabel berikut.
(39)
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 teridentifikasi menjadi d sebanyak 4
(40)
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
(41)
(42)
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 batik dasar maupun campuran.
(43)
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 : [email protected]
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) Bandung
(44)
(45)
(46)
MOTIF KAIN BATIK
Roni Ahdiat1
1 Teknik Informatika - Universitas Komputer Indonesia
Jl. Dipatiukur 112-114 Bandung E-mail : [email protected]
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
(47)
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 3.1 di bawah ini.
Input Data Citra
Pra Proses Pelatihan
Pengujian Motif Batik Output
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.
Output akan dihasilkan berupa akurasi dalam pengujian pengenalan motif batik menggunakan algoritma Levenberg Marquardt.
(1)
Pensintesisan relationship with the method, the neural network can recognize situations that are and have been seen before. In contrast to internal processes, external processes more depending on the application. The system can use external feedback or signals the desired response, to form a network behavior. This is called supervised learning. In another way, the network can generate the desired response signal itself in the scenario of unsupervised learning.
1.3 Levenberg Marquardt Algorithm
Levenberg Marquardt algorithm developed by Kenneth and Donald Levenberg Marquardt, gives a numerical solution to the problem of minimizing nonlinear functions [16]. In the field of artificial neural networks, this algorithm is suitable for small and medium-sized training.
Marquadt Levenberg algorithm is an enhancement of the back propagation algorithm. These algorithms are built to address some of the weaknesses in the backpropagation algorithm by using standard numerical optimization techniques is to use Jacobian matrix approach. The purpose of Levenberg Marquadt is to minimize the total error.
2.
RESEARCH
2.1 Analisis Masalah
This research will be conducted using the batik fabric pattern recognition algorithm Levenberg Marquardt. Based on the results of a study of the literature on the use of the algorithm Levenberg Marquardt against facial pattern recognition in journals and Zyad Shaaban Mohammed Alwakeel [7]. In this paper discusses the use of facial pattern recognition algorithm Levenberg Marquardt and produce output that is more accurate than algorithm Haar Wavelet Transform and Principal Component Analysis. In addition, the algorithm Levenberg Marquardt has never done research for the introduction of the pattern. For this reason, the research on the Levenberg Marquardt algorithm will be implemented against the introduction of batik pattern.
2.2 System Analysis
Analysis is an activity that includes a number of activities such as outlining a discussion. In this case the discussion on the introduction of batik pattern using Levenberg Marquardt algorithm
2.3 Architecture System Analisys
A
pplied architecture consisting of a data input of image file extension * .jpg, pre-process, process training using Levenberg Marquardt algorithm, testing pattern using Levenberg Marquardt, and generate output accuracy. Architectural system used can be seen in Picture 2.1 below.Input Data Citra
Pra Proses Pelatihan
Pengujian Motif Batik Output
Picture 2.1 Architecture System The steps are:
1. Input image data is a stage that the data entered is a file ending in * jpg.
2. In the pre-stage process, the system performs a stage consisting of a color change image to grayscale to facilitate the binary process. At this stage was done to clarify the image histogram equalization batik so that the process can be more visible binary of the batik image.
3. In the training phase, the system will conduct training for the formation of the neural network as a data source when identifying the pattern that will be tested.
4. Testing batik, batik fabric pattern testing to determine based on the types of batik motives. The output will be generated in the form of accuracy in testing the introduction of the pattern using Levenberg Marquardt algorithm.
2.4 Processing Analysis
The initial process that describes the flow of the system to be built. The initial stages of the system is checking the input data. Data input is allowed an image data format * .jpg. The input data consist of image files in the form of the pattern that will be used for the formation of the artificial neural network (ANN) and testing to identify the pattern is inputted. The system would then provide a choice of menus, the Training and Testing.
In the training menu, image data is inputted will be pre-stage process, which converts image data into grayscale form. Then to clarify the pattern or pattern of the image data that has been colored grayscale, then the image data is carried histogram equalization. Once the image data is converted back into binary form so that the image data will produce the matrix is 1 and 0. In the next stage, namely the formation of neural network using Levenberg Marquardt algorithm. Once the data is stored as a knowledge base.
Next on the menu testing process is almost the same as the training, which is to convert the image data into grayscale form, perform histogram equalization to clarify the pattern or pattern image, then the formation of neural network using Levenberg Marquardt algorithm. After JST formed, then the data for the test will be compared with existing data to the knowledge base so that it can generate output types of batik along with the level of accuracy.
(2)
Broadly speaking, flowchart batik fabric pattern recognition applications are as follows.
Mulai
Selesai Input Data
Citra
Pelatihan?
Pra Proses Pra Proses
Histogram Equalization
Histogram Equalization
Pembentukan JST dengan Levenberg Marquardt
Pembentukan JST dengan Levenberg Marquardt
Basis Pengetahuan
Pengujian Motif Batik
Hasil Pengujian Berdasarkan Basis
Pengetahuan
Y T
Picture 2.2 Flowchart System
2.5 Input Analysis
This stage describes the input data and the manner of writing data that allowed the system. Data input is allowed an image data format * .jpg. The input data consist of image files in the form of the pattern that will be used for the formation of ANN and testing to identify the patterns of batik inputted.
2.6 Pre-processing Analysis
2.6.1. Resizing
To change the image size of batik, can use resize() function in matlab. In this example, the batik image data converted into a size 7 x 5 pixels. When seen in the form of a matrix will produce a 3-dimensional, ie 7 x 5 x 3 because the image data is still shaped RGB (Red Green Blue).
2.6.2. Grayscale
In this process the matrix RGB images are converted to grayscale form. To convert the RGB image to grayscale matrix can be done by the following equation.
Grayscale = (R+G+B)/3 (2.1)
2.6.3. Histogram Equalization
The basic concept of the histogram equalization is by downloading the histogram stretch, so that the difference becomes larger pixels or in other words become more powerful information that the eye can capture the information submitted. The equation used for HE that equation (2.2).
(2.2) Sk = output
Hk = values that appear in the image L = degrees of gray
n = the total number of pixels in the image nj = number that appears on each value of k
2.7 Training Analysis
2.7.1. Initialization Weight Using Nguyen Widrow Nguyen Widrow is a simple modification of weights and biases into the hidden unit that can improve network speed in the process of network training. This method can be simply implemented with the following procedure.
1. Set :
β = 0.7(p)1/n (2.3)
where
n = the number of neurons in the input layer p = the number of neurons in the hidden layer
β = scaling factor
2. Make for each unit in the hidden layer (j = 1, 2 ...., P).
a. Initialize the weights from the input layer to the hidden layer:
b. Calculate: | | Vj | | c. Set bias:
b1j = random number between -β to β. 2.7.2. Formation of Neural Network
ANN developmental stages can be done in the following way [14].
1. Initialize weights.
2. Initialize maximum epoh, target error, and learning rate
3. Initialize Epoh, MSE.
4. Do the following steps for (Epoch <maximum epoch) and (MSE> a target error):
a. Epoh = Epoh + 1
b. For each pair of elements that will be done learning :
- Each unit of input (xi, i = 1,2,3 ..., n) receives signals xi and forwards the signal to all the units in a layer that is on it (hidden layer)
- Each unit in a hidden layer (jj, j = 1,2,3 ..., p) summing the weighted input signals:
(2.4) Use the activation function to calculate the output signal:
zj = f(z_inj) (2.5)
and send the signal to all units in the upper layer (units of output)
(3)
- Each unit of output (yk, k= 1,2,3, ...,
m) summing the weighted input signals.
(2.6) Use the activation function to calculate the output signal:
yk = f(y_ink) (2.7)
and send the signal to all units in the upper layer (units of output)
- Each unit of output (yk, k = 1,2,3, ..., m)
received a target pattern associated with learning input patterns, calculate the error information:
ẟ2k = (t k– y k) f’(y_in k) (2.8)
φ2 jk = k zj (2.9)
β2 k = ẟ k (2.10)
then calculate the correction weights (which will be used to improve value of wjk):
Δwk = αφ2jk (2.11)
also count the bias correction (which will be used to improve the value of b2k):
Δb2k= αβ2k (2.12)
The above step is also done as much as the number of hidden layers, which calculates the error information and a hidden laposan to previously hidden layer.
- Each hidden layer (zj, j=1,2,3,…,p)
summing delta inputs (from the units that are in the upper layer):
(2.13) Multiply this value with a derivative of the activation function to calculate the error information:
ẟ1j = ẟ_inj f’(z_inj) (2.14)
φ1ij= φ1j xj (2.15)
β1j = ẟ1j (2.16)
Then calculate the correction weights (which will be used to improve the value of vij):
Δvij= α φ1ij (2.17)
Calculate also the bias correction (which will be used to improve the value of b1j):
Δb1j= αβ1j (2.18)
- Each of output layer (Yk, k =
1,2,3,…,m) fixing bias and weight
(j=0,1,2,…,p):
wjk(baru) = wjk(lama) + Δwjk (2.19)
b2k(baru) = b2k(lama) + Δb2k (2.20)
each of hidden layer (zj, j=1,2,3,…,p) fixing
bias and weight (i=0,1,2,…,n):
vij(baru) = vij(lama) + Δ vij (2.21)
b1j(baru) = b1j (lama) + Δ b1j (2.22)
Calculate MSE
2.7.3. Levenberg Marquardt Algorithm
In the process backpropagation algorithm updates the weights and biases use negative gradient descent directly, while Levenberg Marquardt algorithm using the matrix approach Hessian (H) which can be calculated by:
H = JT J (2.23)
While the gradient can be calculated by:
g = JT e (2.24)
In this case is a Jacobian matrix that contains the first derivative of a network error to the weights and biases of the network. Changes the weight can be calculated by:
ΔW= [JT J + µI] - JT e (2.25)
So that repairs the weight can be determined by:
W = W + ΔW (2.26)
W = W + [JT J + µI] - JT e (2.27)
W = function weights and biases network
e = vector declare all error at the output of the network
µ = constant learning I = identity matrix
2.8 Testing Analysis
At this stage is done only until the advanced stages only, no step backwards and weight modification phase. Weights used the final weight of the results of previous training.
2.9 Design
2.11.1. Interface Design a. Training Design T01
Pelatihan Pengujian
Masukkan Citra Pilih
Citra Asli Grayscale EqualizationHistogram Binerisasi
Grafik Grayscale Grafik Histogram Equalization
Lakukan Pelatihan
Klik tombol Pilih
untuk memilih citra. Jika format citra tidak sesuai maka akan tampil M01 Setelah citra dipilih,
sistem akan menampilkan citra asli, hasil grayscale, histogram equalization beserta grafiknya, dan binerisasi. Isi hidden layer,
learning rate, maks epoh, dan target error Untuk melakukan
pelatihan klik tombol Lakukan Pelatihan. Klik tab Pengujian
untuk ke tampilan T02. Klik tab Pelatihan
Seluruh Data untuk ke tampilan T03 Klik tab Pengujian
Seluruh Data untuk ke tampilan T04 Klik tab Log untuk
ke tampilan T05. Warna sesuai dengan setting di Windows
Font 10 MS Sans Serif warna hitam
No. T01 Log Hidden Layer Learning Rate Maks. Epoh Target Error Pelatihan Seluruh Data Pengujian Seluruh Data
Picture 2.3 Training Design b. Testing Design T02
Pelatihan Pengujian
Klik tombol Pilih
untuk memilih citra. Jika format citra tidak sesuai maka akan tampil M01 Setelah citra dipilih,
sistem akan menampilkan citra asli, hasil grayscale, histogram equalization beserta grafiknya, dan binerisasi. Isi hidden layer,
learning rate, maks epoh, dan target error Untuk melakukan
pengujian klik tombol Lakukan Pengujian. Klik tab Pelatihan
untuk ke tampilan T01. Klik tab Pelatihan
Seluruh Data untuk ke tampilan T03 Klik tab Pengujian
Seluruh Data untuk ke tampilan T04 Klik tab Log untuk
ke tampilan T05. Warna sesuai dengan setting di Windows
Font 10 MS Sans Serif warna hitam
No. T02
Masukkan Citra : Pilih
Motif Batik
Log
Citra Asli Grayscale EqualizationHistogram Binerisasi
Lakukan Pengujian Grafik Grayscale Grafik Histogram Equalization Pelatihan Seluruh Data Pengujian Seluruh Data
(4)
c. Training All Data Design T03
Pelatihan Pengujian
Klik tombol Pelatihan Seluruh Data untuk melakukan pelatihan seluruh data Sistem akan
menampilkan daftar citra dan akurasi. Klik tab Pelatihan
untuk ke tampilan T01. Klik tab Pengujian
untuk ke tampilan T02. Klik tab Pengujian
Seluruh Data untuk ke tampilan T04 Klik tab Log untuk
ke tampilan T05.
Warna sesuai dengan setting di Windows Font 10 MS Sans Serif warna hitam No. T03
Log
Daftar Citra Latih Pelatihan Seluruh Data Pelatihan Seluruh Data Pengujian Seluruh Data
Hidden Layer Learning Rate Maks. Epoh Target Error
Picture 2.5 Training All Data Design d. Testing All Data Design T04
PelatihanPengujian
Klik tombol Uji Seluruh Data untuk melakukan pengujian seluruh data Sistem akan
menampilkan daftar citra dan akurasi. Klik tab Pelatihan
untuk ke tampilan T01. Klik tab Pengujian
untuk ke tampilan T02. Klik tab Pelatihan
Seluruh Data untuk ke tampilan T03 Klik tab Log untuk
ke tampilan T05.
Warna sesuai dengan setting di Windows Font 10 MS Sans Serif warna hitam No. T04
Log
Daftar Citra Uji Uji Seluruh Data
Akurasi Rata-rata
Persentase Pelatihan Seluruh DataPengujian Seluruh Data
Akurasi Batik Dasar Akurasi Batik CampuranPersentase
Persentase
Picture 2.6 Testing All Data Design e. Log Design T05
Pelatihan Pengujian
Klik tombol Refresh Log untuk menampilkan log proses yang terjadi. Klik tab Pelathan
untuk ke tampilan T01. Klik tab Pengujian
untuk ke tampilan T02 Klik tab Pelatihan
Seluruh Data untuk ke tampilan T03 Klik tab Pengujian
Seluruh Data untuk ke tampilan T04
Warna sesuai dengan setting di Windows Font 10 MS Sans Serif warna hitam No. T05
Log Proses Refresh Log
Log Pelatihan Seluruh Data Pengujian Seluruh Data
Picture 2.7 Log Design 2.11.2. Semantic Network Design
T01 T03 T02 Menyimpan log M01 M01 Menyimpan Log T04 T05
Menyimpan Log Menyimpan Log
2.11.3. Picture 2.8 Semantic Network Design
3.
CONCLUSION
From the research that has been done can be concluded as follows.
1. Levenberg Marquardt algorithm can be applied for the introduction of basic batik pattern and patterns mix.
2. Introduction to the basic pattern batik cloth and mixed-use Levenberg Marquardt algorithm has the highest accuracy of 62.5% with accuracy on the basic pattern of 80% and accuracy in pattern mixture of 15.79%. This accuracy is obtained from the composition variables with the number of neurons in the hidden layer neurons as much as 3 or 4 neurons, learning rate that is worth 0:01, epoch boundaries of 7000, and the target error of 0.035. While the data samples tested in this study amounted to 137 units. Sample data used in the training process amounted to 50 pieces with a basic pattern of each 10 pieces and 45 pieces pattern mix with each 5 pieces. Total motives testing is 42 pieces, with each pattern 3 pieces.
From the results of this study can be given suggestions is to identify the basic pattern or mixture may use other algorithms that can get the algorithm suitable for the introduction of a basic pattern or mix.
BIBLIOGRAPHY
[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
(5)
[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.
[10] Rocky Yefrenes Dillak. 2012. Pemanfaatan Algoritma Jaringan Syaraf Tiruan Levenberg Marquardt Untuk Mendeteksi Penyakit Alzheimer. 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 Technique. (3rd edition). New York: Morgan Kauffman.
(6)