PENGENALAN HURUF JAWA MENGGUNAKAN METODE LEARNING VECTOR QUANTIZATION (LVQ) Rischan Mafrur1, M. Andestoni2, Moch. Shidqul Ahdi3, Nur Shalahuddin Fajri4, dan Anik Muhantini5 Program Studi Teknik Informatika UIN Sunan Kalijaga
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] Abstrak Pengenalan pola merupakan sebuah pembelajaran yang diberikan untuk sebuah mesin agar dapat mengenali suatu objek berdasarkan ciri-ciri yang dimiliki objek tersebut sesuai dengan contoh data yang diberikan. Salah satu metode untuk megenali sebuah pola adalah metode Learning Vector Quantization (LVQ). Learning Vector Quantization (LVQ) adalah salah satu algoritma jaringan saraf tiruan yang dapat digunakan untuk mengenali karakter dari suatu huruf. Metode ini akan menghitung jarak antara bobot awal dengan data pelatihan, sehingga pada akhir iterasi akan ditemukan bobot akhir tiap kelas/data. Metode yang digunakan pada penelitian ini diimplementasikan dengan bahasa pemrograman java. Langkah yang dilakukan sebelum pengimplementasian LVQ adalah mengumpulkan data sebanyak 32 data, dengan 2 data sebagai bobot awal dan 30 data sebagai data training. Data-data tersebut berupa citra digital yang telah diolah secara manual dengan melakukan cropping, thresholding, scalling, dan juga dilakukan ekstraksi ciri terhadap hasil pengolahan citra digital tersebut. Pada penelitian ini mencoba membandingkan hasil yang diperoleh dari nilai epoh yang berbeda. Presentase ketepatan yang diperoleh dari percobaan pada penelitian ini adalah 56,61 % Kata Kunci : Pengenalan Pola, LVQ 1. Pendahuluan Aksara jawa merupakan salah satu warisan budaya yang dimiliki Indonesia. Sudah menjadi kewajiban bagi para pewaris kebudayaan untuk menjaga dan melestarikan kebudayaan tersebut. Hal ini dilakukan agar tidak terjadi lagi hal-hal yang tidak diinginkan, seperti pengakuan dari negara lain sebagai pemilik dari kebudayaan tersebut. Salah satu cara yang dilakukan untuk menjaga dan melestarikan budaya ini dengan membuat sebuah aplikasi yang dapat mengenali pola aksara jawa tersebut. Kemajuan teknologi yang semakin berkembang ini dapat menjadi senjata untuk mengajak para pewaris budaya agar menjaga dan melestarikan kebudayaan. Oleh karenanya, penelitian ini ingin mengembangkan sebuah aplikasi yang dapat mengenali huruf jawa. Dalam pembuatan aplikasi ini peneliti menggunakan salah satu metode Jaringan Saraf Tiruan (JST) yaitu metode Learning Vector Quantization (LVQ). Tujuan dari penelitian ini adalah mengajarkan kepada mesin komputer agar dapat mengenali huruf jawa dengan menggunakan metode LVQ. Pada penelitian ini dibutuhkan batasan masalah untuk membatasi penelitian yang dilakukan dalam mengenali pola aksara jawa.
1. Penelitian ini hanya masih mengenali pola dari aksara jawa dan belum sampai ke membaca aksara jawa tersebut. 2. Hanya dapat mengenali huruf jawa “Ra “ dan “Ga”. 2. Landasan Teori 2.1 Citra Digital Citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut piksel (picture elements). Piksel adalah elemen citra yang memiliki nilai yang menunjukkan intensitas warna. Berdasarkan cara penyimpanan atau pembentukannya, citra digital dapat dibagi menjadi dua jenis. Jenis pertama adalah citra digital yang dibentuk oleh kumpulan piksel dalam array dua dimensi. Citra jenis ini disebut citra bitmap (bitmap image) atau citra raster (raster image). Jenis citra yang kedua adalah citra yang dibentuk oleh fungsifungsi geometri dan matematika. Jenis citra ini disebut grafik vektor (vector graphics) [1]. 2.2 Pengolahan Citra Digital Pengolahan citra digital merupakan proses pengolahan atau perbaikan yang dilakukan terhadap citra digital dengan menggunakan teknik-teknik tertentu. Teknik yang digunakan seperti melakukan penajaman terhadap citra, kompresi citra, penonjolan fitur tertentu pada citra, dan koreksi citra yang kabur.
Pengenalan Pola – Teknik Informatika UIN Sunan Kalijaga Yogyakrta
|1
2.3 Pengenalan Pola Pengenalan pola adalah sebuah pembelajaran yang diberikan untuk sebuah mesin agar dapat mengenali suatu objek berdasarkan ciri-ciri yang dimiliki objek tersebut sesuai dengan contoh data yang diberikan. 2.4 Jaringan Saraf Tiruan (JST) Jaringan Saraf Tiruan adalah paradigma pengolahan informasi yang terinspirasi oleh sistem saraf secara biologis, seperti proses inforamsi pada otak manusia[2]. Salah satu metode pelatihan dalam Jaringan Saraf Tiruan adalah pelatihan terbimbing (supervised learning). Pada pelatihan terbimbing diperlukan sejumlah masukkan dan target yang berfungsi untuk melatih jaringan hingga diperoleh bobot yang diinginkan [3]. Setiap kali pelatihan, diberikan suatu input-an kedalam jaringan. Jaringan tersebut akan memproses dan mengeluarkan output-an. Jaringan akan memodifikasi bobot sesuai dengan kesalahan yang berasal dari selisih antara keluaran jaringan dengan target. Salah satu metode yang termasuk dalam supervised learning adalah LVQ (Learning Vector Quantization), seperti yang digunakan pada penelitian ini.
Gambar 1. Jaringan Saraf LVQ [3] Algoritma Learning Vector Quantization adalah sebagai berikut : 1.
Tetapkan bobot awal (W) dan maksimum epoh (MaxEpoh), learning rate(α), error yang diharapkan (Eps)
2.
Masukan :
2.5 Metode Learning Vector Quantization (LVQ) Learning Vector Quantization (LVQ) adalah suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi. Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vector-vektor input. Kelas-kelas yang didapatkan sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vektor vektor input. Jika 2 vektor input mendekati sama, maka lapisan kompetitif akan meletakkan kedua vektor input tersebut ke dalam kelas yang sama [4]. LVQ merupakan jaringan saraf tiruan dengan tipe arsitektur jaringan lapis tunggal umpan-maju (Single Layer Feedforward) yang terdiri atas unit masukkan [3]. Seperti yang terlihat pada Gambar 1 bahwa tipe arsitektur jaringan saraf tiruan dari LVQ adalah Single layer feedforward.
→
Data input x(m,n)
→
Target T(1,n)
3.
Tetapkan kondisi yang diharapkan=1
4.
Kerjakan (α>Eps)
jika
awal
(epoh
(epoh=0), <
error
MaxEpoh)
→
epoh=epoh+1
→
kerjakan untuk i=1 sampai n
→
tentukan j sedemikian hingga
dan
||x-wj|| minimum sebut dengan Ci →
Perbaiki wj dengan ketentuan -
jika T=Ci maka wj(baru)=wj(lama)+α(x-wj(lama))
-
jika T!=Ci maka wj(baru)=wj(lama)-α(x-wj(lama))
5.
Kurangin nilai pengurangan α
3. Pembahasan dan Hasil Penelitian 3.1 Proses Pengumpulan Data Sampel Proses ini adalah proses awal yang dilakukan pada penelitian ini, yaitu pengumpulan data sampel dari huruf jawa “Ra” dan ”Ga”. Sebagian data sampel yang digunakan dapat dilihat pada Gambar 2 dan Gambar 3.
Pengenalan Pola – Teknik Informatika UIN Sunan Kalijaga Yogyakrta
|2
Prapengolahan Aksara RA
Gambar 2. Huruf jawa “Ra” Aksara GA
Gambar 3. Huruf jawa “Ga”
Cropping
Dari sampel data pada Gambar 1 dan Gambar 2, sudah terlihat jelas beberapa macam bentuk penulisan huruf jawa.
Piksel : 50 x 70
3.2 Proses Pengolahan Citra Pada proses pengolahan citra menjelaskan apa saja proses-proses yang dilakukan terhadap citra digital sebelum dilakukan pengenalan terhadap citra tersebut. Tahapan proses pengolahan citra yang dilakukan pada penelitian ini seperti terlihat pada Gambar 4 dan Gambar 5.
Thresholding Piksel : 50 x 70
PRAPENGOLAHAN Scaling Piksel : 7 x 10
CROPPING
Gambar 5. Contoh Proses Pengolahan Citra THRESHOLDING
SCALING
Gambar 4. Tahapan Proses Pengolahan Citra
3.3 Proses Ekstraksi Ciri Proses ekstraksi ciri adalah proses mengambil nilai piksel dari suatu citra digital dalam bentuk biner. Salah satu hasil dari ekstraksi ciri huruf jawa “Ra” dan “Ga” yang telah diubah skalanya adalah sebagai berikut ini. Ra =1111111 0110001 0100001 0100001 0100001 1100001 1000001 1000011 1000010 1000010 Ga =1111111 0101101 0101000 1001001 1001001 1001001 1001001 1011001 1010011 1010010 Hasil ekstraksi ciri inilah yang nantinya akan digunakan untuk menghitung bobot dari setiap citra digital yang akan diuji. 3.4 Implementasi dengan LVQ Pengimplementasian metode LVQ dilakukan menggunakan bahasa pemrograman java. Pada penghitungan pertama ini menggunakan delapan
Pengenalan Pola – Teknik Informatika UIN Sunan Kalijaga Yogyakrta
|3
data sampel yang terdiri dari empat data sampel Ra dan empat data sampel Ga. Kemudian ditentukan bobot awal dari Ra dan Ga. Dari delapan data tersebut diambil dua data sebagai bobot awal dan data lainnya adalah data yang diuji.
Perbandingan hasil dari penghitungan bobot akhir W1 dan W2 yang dilakukan dengan learning rate = 0.01, deca = 0.1, dan epoh maksimal adalah 10, 25, 75, dan 100 dapat dilihat pada Tabel 1.
Tabel 1. Perbandingan Bobot Akhir W1 dan W2 Berdasarkan MaxEpoh MaxEpoh=10
MaxEpoh=25
MaxEpoh=75
MaxEpoh=100
Data Sampel ke-
Aksara Jawa
Bobot Akhir W1
Bobot Akhir W2
Bobot Akhir W1
Bobot Akhir W2
Bobot Akhir W1
Bobot Akhir W2
Bobot Akhir W1
Bobot Akhir W2
Hasil Pengenalan
1
RA
1.0
0.67
1.0
0.64
1.0
0.63
1.0
0.63
RA
2
GA
1.0
0.97
1.0
0.97
1.0
0.97
1.0
0.97
GA
3
RA
1.0
0.88
1.0
0.87
1.0
0.87
1.0
0.87
RA
4
GA
1.0
0.94
1.0
0.94
1.0
0.93
1.0
0.93
RA
5
GA
1.0
0.97
1.0
0.97
1.0
0.97
1.0
0.97
RA
6
RA
1.0
0.97
1.0
0.97
1.0
0.97
1.0
0.97
RA
7
RA
1.0
0.80
1.0
0.77
1.0
0.77
1.0
0.77
RA
8
RA
0.0
0.63
0.0
0.70
0.0
0.71
0.0
0.71
RA
9
RA
1.0
0.85
1.0
0.84
1.0
0.83
1.0
0.83
RA
10
RA
0.0
0.90
0.0
0.90
0.0
0.89
0.0
0.89
RA
11
RA
0.94
0.52
0.91
0.57
0.91
0.58
0.91
0.58
RA
12
RA
0.98
0.54
0.96
0.60
0.95
0.61
0.95
0.61
RA
13
RA
0.0
0.45
0.0
0.50
0.0
0.50
0.0
0.50
RA
14
RA
0.94
0.94
0.91
0.94
0.91
0.94
0.91
0.94
RA
15
RA
0.0
0.54
0.0
0.60
0.0
0.61
0.0
0.61
RA
16
RA
1.0
0.79
1.0
0.77
1.0
0.77
1.0
0.77
RA
17
RA
0.0
0.66
0.0
0.73
0.0
0.74
0.0
0.74
RA
18
RA
1.0
0.23
1.0
0.24
1.0
0.24
1.0
0.24
RA
19
GA
0.06
0.37
0.09
0.40
0.09
0.41
0.09
0.41
RA
20
GA
0.0
0.06
0.0
0.06
0.0
0.07
0.0
0.07
RA
21
GA
0.02
0.97
0.04
0.97
0.05
0.97
0.05
0.97
RA
22
GA
0.98
0.06
0.96
0.06
0.95
0.07
0.95
0.07
RA
23
GA
0.08
0.97
0.13
0.97
0.14
0.97
0.14
0.97
RA
24
GA
0.0
0.51
0.0
0.56
0.0
0.57
0.0
0.57
RA
25
GA
1.0
0.26
1.0
0.28
1.0
0.28
1.0
0.28
RA
26
GA
0.06
0.28
0.09
0.30
0.09
0.31
0.09
0.31
RA
27
GA
0.0
0.12
0.0
0.13
0.0
0.13
0.0
0.13
RA
28
GA
1.0
0.97
1.0
0.97
1.0
0.97
1.0
0.97
RA
29
GA
1.0
0.11
1.0
0.11
1.0
0.11
1.0
0.11
RA
30
GA
0.02
1.0
0.04
1.0
0.05
1.0
0.05
1.0
GA
Pengenalan Pola – Teknik Informatika UIN Sunan Kalijaga Yogyakrta
|4
Berdasarkan hasil yang diperoleh pada Tabel 1 dapat dilihat bahwa ada 13 data yang tidak terbaca dengan benar oleh program dari 30 data yang diuji. Hal ini berarti tingkat akurasi ketepatan pengenalan data sekitar 56,61 % saja.
BIODATA PENELITI 1.
Nama
: Rischan Mafrur
NIM
: 09650007
4. Penutup 4.1 Kesimpulan Pada penelitian ini komputer dapat mengenali bentuk dari aksara jawa Ra dan Ga dengan akurasi ketepatan pengenalan data sebesar 56,61 % dari 30 data yang diujikan. 4.2 Saran
[email protected]
Berdasarkan hasil dari penelitian, jika ingin melakukan sebuah penelitian menggunakan metode ini disarankan agar mengumpulkan data lebih banyak dari penelitian yang telah dilakukan karena metode Learning Vector Quantization merupakan metode yang membutuhkan banyak sampel dalam pengujiannya. Hal ini perlu dilakukan untuk mendapat hasil yang lebih akurat dalam mengenali aksara jawa.
Rischan Mafrur sekarang masih menempuh pendidikan S1 di Teknik Informatika UIN Sunan Kalijaga, juga merupakan Founder Indocoding Team Project (Perusahaan yang bergerak di bidang proyek dan riset), riset yang sedang dilakukan adalah Android Porn Blocker (http://pornblock.developers.or.id), Embeded Set Top Box Android TV, Controling Smart Home with android & Arduino.
DAFTAR PUSTAKA 1.
Hidayat W., Perlindungan Pesan Rahasia Pada Citra Digital Menggunakan Metode Least Significant Bit Steganografi, Skripsi, Universitas Sumatera Utara, Medan, 2010.
2. Sutojo T., Edy Mulyanto, dan Vincent Suhartono, 2010, Kecerdasan Buatan, Penerbit Andi, Yogyakarta. 3. Rakhmanullah A., Autentifikasi Pengenalan Pola Tanda Tangan Manual Menggunakan Jaringan Saraf Tiruan LVQ (Learning Vector Quantization) dan Tanda Tangan Digital Menggunakan Algoritma RSA (Riset Shamir Adleman), Skripsi, Fakultas Sains dan Teknologi UIN Maulana Malik Ibrahim, Malang. 4. Ramadona A., M. Nasrun, dan Bambang Siswoyo, Aplikasi Jaringan Syaraf Tiruan untuk Mengenali Angka dengan Metode Learning Vector Quantization. Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia, Bandung.
Interest : web & mobile developers, research about machine learning Hobby : Ngoprek, Linux, penetration testing Github : http://github.com/rischanlab Fb : fb.com/rischan.mafrur Tw : @dWorldConqueror 2.
Nama
: M. Andes Toni
NIM
: 08650012
Seorang mahasiswa yang masih menempuh pendidikan S1 di UIN Sunan Kalijaga Yogyakarta, Jurusan Teknik Informatika. e-mail :
[email protected]
Pengenalan Pola – Teknik Informatika UIN Sunan Kalijaga Yogyakrta
|5
3.
Nama
: Moch. Shidqul Ahdi
NIM
: 09650032
Seorang mahasiswa yang sedang menempuh pendidikan S1 jurusan Teknik Informatika di UIN Sunan Kalijaga Yogyakarta. Sedang menekuni bidang yang berkaitan dengan Motion Detection. Facebook: facebook.com/sidecool
5.
Nama
: Anik Muhantini
NIM
: 09650055
Seorang mahasiswi Teknik Informatika UIN Sunan Kalijaga Yogyakarta angkatan 2009. Tertarik pada bidang jaringan dan kecerdasan buatan. Facebook : fb.com/anikmuhantini Twitter : @nik_myu
Twitter : @sidecool 4.
Nama
: Nur Shalahuddin Fajri
NIM
: 09650050
Seorang yang masih menempuh pendidikan sebagai mahasiswa S1 Teknik Informatika di UIN Sunan Kalijaga Yogyakarta. Tertarik pada penelitian tentang computer vision. Email:
[email protected] Blog: http://surgailmu.com Facebook: saladin.returns Twitter: mang_udien
Pengenalan Pola – Teknik Informatika UIN Sunan Kalijaga Yogyakrta
|6