PENGENALAN POLA HURUF ROMAWI DENGAN JARINGAN SARAF TIRUAN PERSEPTRON LAPIS JAMAK Eko Budi Wahyono*), Suzuki Syofian**) *) Teknik Elektro, **) Teknik Informatika - Fakultas Teknik Abstrak Pada era modern perlu adanya aplikasi yang dapat mengenali hasil scaning sebuah berkas teks, apabila ada aplikasi tersebut maka akan mempermudah dalam pekerjaan pembuatan laporan dan penulisan sebuah buku sebab dapat memasukkan berkas hasil scaning didalamnya dalam bentuk teks bukan grafik. Dalam mendayagunakan komputer guna mengenali sebuah pola tertentu dibutuhkan usaha-usaha untuk mencipta interface dan program. Dalam mencipta program guna mengenali sebuah pola, perlu sebuah algoritma yang merupakan alur langkah yang kerjanya meniru kerja otak manusia yang diberi nama Jaringan Syaraf Tiruan (JST). Teknik ini telah dikembangkan oleh banyak peneliti bidang ilmu komputer dalam penelitian pengenalan pola. Telah dibuat algoritma yang relevan dengan kebutuhan diatas guna mengenali pola huruf romawi. Algoritma tersebut adalah algoritma Jaringan Syaraf Tiruan (JST) dari jenis perseptron lapis jamak. Bedasarkan algoritma tersebut ditulis sebuah program yang dapat dieksekusi oleh komputer. Selanjutnya komputer dapat mengenali huruf romawi melalui sistem masukannya, komputer mampu mengenali huruf romawi. Dalam penelitian ini diperoleh ketelitian yang sangat baik didalam mengenali huruf romawi, hasil tersebut dengan ketelitian 100 %. Kata kunci : data scaning , Jaringan Syaraf Tiruan (JST), perseptron lapis jamak. 1. PENDAHULUAN Pada era modern sekarang ini kemajuan di bidang komputer sudah menjadi suatu keniscayaan, untuk itu penelitian di bidang pengenalan pola merupakan penunjang terhadap kemajuan tersebut. Perlu adanya aplikasi yang dapat mengenali hasil scaning sebuah berkas teks, apabila ada aplikasi tersebut maka akan mempermudah dalam pekerjaan pembuatan laporan dan penulisan sebuah buku sebab dapat memasukkan berkas hasil scaning didalamnya dalam format teks bukan format grfik seperti saat sekarang. Pada kesempatan ini penulis akan melakukan penelitian tentang pengenalan pola yakni pengenalan huruf romawi, hingga dapat menjawab kebutuhan akan pengenalan pola hasil scaning. Penelitian ini mempergunakan metode Jaringan Saraf
Tiruan (JST) dari tipe perseptron lapis jamak, dengan metode ini diharapkan akan
memperoleh ketelitian yang lebih baik dibandingkan dengan metode lain seperti feedforward. 2. PENGOLAHAN CITRA DIGITAL
Pengenalan pola merupakan salah satu bidang studi yang berkaitan dengan citra di bidang computer. Dalam proses pengenalan pola mesin computer akan mengelompokkan data numeric dan simbolik, tujuannya adalah untuk mengenali suatu obyek dalam citra. Mesin computer mencoba meniru system visual manusia untuk bisa mengenali obyek. Komputer menerima masukan berupa citra obyek yang akan diidentifikasi, memproses citra tersebut, dan memberikan keluaran berupa discripsi obyek didalam citra.
1
1
1
1
1
1 1 1
1
1
1
1
1
1
Gambar 1.1 Proses digitalisasi spasial.
1 1
Komputer
memiliki
cara
pandang
sendiri
1
1
1
1 1 terhadap
suatu citra, biasa disebut computer vision. Berbeda dengan citra konvensional yang misalnya dengan proses fotografis seperti pada foto dapat diperoleh disuatu citra nyata yang langsung bisa dinikmati oleh indera penglihatan, citra pada computer harus melalui beberapa tahapan yang cukup rumit. Tahapan tersebut dapat digambarkan sebagai suatu rangkaian proses dari proses akuisisi data, manipulasi data, serta proses penyimpanan data. Suatu citra harus direpresentasikan sebagai suatu citra numeric dengan nilai-nilai diskrit agar dapat diolah dengan computer. Representasi citra dari kontinyu menjadi nilai diskrit disebut digitalisasi. Citra yang dihasilkan dari proses representasi tersebut akan berupa citra digital. Citra digital akan berbentuk persegi panjang dan dimensi ukurannya dinyatakan sebagai tinggi kali lebar. Citra digital yang ukurannya NxM biasanya dinyatakan dengan matriks yang berukuran N baris dan M kolom sebagi berikut.
(0,0)
(0,M-1)
(N-1,0)
(N-1,M-1)
(Persamaan 1)
Proses digitalisasi citra ada dua macam yakni digitalisasi spasial (sampling) dan digitalisasi intensitas (kuantisasi). Dalam proses digitalisasi spasial sebuah citra kontinyu disampling pada grid yang berbentuk bujur sangkar (Seperti terlihat pada Gambar 1.1).
3. TEORI 3.1 Jaringan Syaraf Tiruan (JST) Jaringan syaraf Tiruan (JST) atau pada umumnya hanya disebut Neural Network, adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan jaringan syaraf manusia. Jaringan syaraf tiruan merupakan salah satu upaya manusia untukmemodelkan cara kerja atau fungsi system syaraf manusia dalam melaksanakan tugas tertentu. Pemodelan ini berdasarkan kemampuan otak manusia dalam mengorganisasikan sel-sel penyusunnya yang disebut neuron, sehingga mampu melaksanakan tugas-tugas tertentu, khususnya pengenalan pola dengan efektivitas yang sangat tinggi. Seperti halnya otak manusia jaringan syaraf juga terdiri dari beberapa neuron , dan terdapat hubungan antara neuron-neuron tersebut. Neuron-neuron tersebut akan mentransformasikan informasi yang diterima, melalui sambungan keluarnya menuju neuron-neuron yang lain. Pada jaringan syaraf hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut. Gambar 1.2 menunjukkan struktur neuron pada jaringan syaraf. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang. Hasil penjumlahan ini akan dibandingkan dengan suatu nilai ambang tertentu melalui sebuah fungsi aktivasi setiap neuron. Apabila input tersebut melampaui suatu nilai ambang tertentu maka neuron tersebut akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya, demikian seterusnya.
X1
X2 ∑
Y Q(.)
X3
X1 . . . Xn
Wk1 ∑
Q(.)
Yk
Wkn Ѳ
Xn
X4
Output
uk
Threshold
Gambar 1.2 Struktur neuron jaringan syaraf. Pada Gambar 1.2 Terlihat serangkaian aliran sinyal masukan X1, X2, …,Xn yang direpresentasikan oleh sebuah neuron . Sebuah neuron bias memiliki banyak masukan dan hanya sebuah keluaran yang bias menjadi masukan bagi neuron lain. Aliran sinyal masukan ini dikalikan dengan satu penimbang Wk1, Wk2,
… ,Wkn dan kemudian dilakukan penjumlahan
terhadap semua masukan yang telah diberi bobot tadi. Hasil penjumlahan ini disebut keluaran dari the linier combiner Uk. Secara matematis neuron k dapat digambarkan melalui persamaan berikut : dan Yk = φ(Uk – θk) Uk = ∑ nj=1 WkjXj
(Persamaan 2.)
Dimana : X1, X2, …,Xn : sinyal input Wk1,Wk2, …Wkn : bobot sinaptik dari neuron k Uk : linier combiner input Θk : threshold ditetapkan secara eksternal. Φ(.) : Fungsi aktivasi Yk : Sinyal output Fungsi yang dinotasikan dengan Φ(.) mendefinisikan fungsi output dari suatu neuron dalam level aktivasi tertentu berdasarkan nilai output pengkombinasi linier Uk. Fungsi aktivasi yang digunakan adalah fungsi sigmoid logistic: Φ(v)= 1/(1 + e-v) Dimana : Φ(v) : fungsi aktivasi E : konstanta bernilai 2,718281828… V : sinyal output Algoritma propagasi balik 1. Definisikan masalah, misalkan matrik masukan (P) dan matrik target (T).
(Persamaan 3)
2. Inisialisasi, menentukan arsitektur jaringan, nilai ambang MSE (Mean Square Error) sebagai kondisi berhenti, learning rate, serta menetapkan nilai-nilai bobot sinaptik untuk pembangkitan nilai acak dengan interval nilai sembarang. Kita bisamembangkitkan nilai acak dalam interval [1,+1] atau [-0,5;+0,5] ataupun lainnya. Tidak ada aturan yang baku mengenai interval ini. 3. Pelatihan jaringan : a. Perhitungan maju Dengan menggunakan bobot-bobot yang telah ditentukan pada inisialisasi awal (W1), dapat menghitung keluaran dari lapisan dalam berdasarkan persamaan berikut: A1 = 1/(1+e W1-P+B1)
(Persamaan 4)
Hasil keluaran dalam (A1) digunakan untuk mendapatkan keluaran dari lapisan luar, dengan persamaan berikut: A2 = W2*A1+B2
(Persamaan 5)
Keluaran dari jaringan (A2) dibandingkan dengan target yang diinginkan. Selisih nilai tersebut adalah galat(error) dari jaringan, seperti pada persamaan berikut: SSE = ∑∑ E2
(Persamaan 6)
b. Perhitungan mundur Nilai galat (error) yang diperoleh digunakan sebagai parameter dalam pelatihan. Pelatihan akan selesai apabila galat yang diperoleh sudah dapat diterima. Galat yang didapat dikembalikan lagi pada lapis-lapis yang berada di depannya. Selanjutnya neuron pada lapis tersebut akan memperbaiki nilai-nilai bobotnya. Perhitungan perbaikan bobot diberikan pada persamaan berikut : D2 = (1 – A22) * E D1 = (1 – A12) * (W2*D2) dW1 = dW1 + (lr * D1 *P) dB1 = dB1 + (lr * D1) dW2 = dW2 + (lr * D2 *P) dB2 = dB2 + (lr * D2)
(Persamaan 7)
c. Perbaikan bobot jaringan Setelah neuron-neuron mendapatkan nilai-nilai yang sesuai dengan kontribusinya pada galat keluaran, maka bobot-bobot jaringan akan diperbaiki agar galat dapat diperkecil. Perbaikan bobot jaringan dilakukan dengan persamaan berikut :
TW1 = W1 + dW1 TB1 = B1 + dB1 TW2 = W2 + dW2 TB2 = B2 + dB2
(Persamaan 8)
d. Presentasi bobot jaringan Bobot yang baru, hasil perbaikan, digunakan kembali untuk mengetahui apakah bobot-bobot tersebut sudah cukup baik bagi jaringan. Baik bagi jaringan berarti bahwa dengan bobot-bobot tersebut galat yang akan dihasilkan sudah cukup kecil. Pemakaian nilai bobot-bobot yang baru diperlihatkan pada persamaan-persamaan berikut : TA1 = 1/ (1 + e TW1*P+TB1) TA2 = TW2 * TA1 + TB2 TE = T + TA2 TSSE = ∑∑TE2
(Persamaan 9)
Kemudian bobot-bobot sinapsis jaringan diubah menjadi bobot-bobot baru : W1 = TW1 B1 = TB1 W2 = TW2 B2 = TB2 A1 = TA1 A2 = TA2 E2 = TE2 SSE = TSSE Keterangan : Wn = Nilai Bobot TWn = Nilai Bobot Baru An = Nilai Input TAn = Nilai Input Baru Bn = Nilai Output TBn = Nilai Output Baru En = Nilai galat TEn = Nilai galat baru SSE = Sum Square Error TSSE = Sum Square Error Baru 4. Langkah-langkah diatas adalah untuk satu kali siklus pelatihan (satu epoch). Biasanya pelatihan harus diulang-ulang lagi hingga siklus tertentu atau telah tercapai SSE (Sum Square Error) atau MSE (Mean Square Error) yang dikehendaki. Hasil akhirnya merupakan bobotbobot W1, W2, B1, dan B2. 5. Penerapan Metode Propagasi Balik pada Pengenalan Huruf Berikut ini adalah proses metode propagasi balik dalam mengenali huruf. Ukuran yang digunakan adalah 7 x 9 karena untuk huruf romawi diperlukan jumlah pixel yang kecil saja. 3. ANALISIS
Telah dibuat perangkat lunak pengenalan pola dengan perangkat lunak Matlab V7.11 (R2010b) dengan tampilan depan sebagai berikut.
Gambar III.1 : Tampilan menu utama program pengenalan huruf. Nampak dalam menu utama program pengenalan huruf tersebut pada Gambar III.1, terdiri dari tiga tombol eksekusi Latih-MLP untuk melatih mengenali huruf pada MLP, Uji-MLP untuk menguji apakah MLP sudah bisa mengenali huruf, dan Selesai sebagai tombol keluar. Apabila ditekan tombol Latih-MLP maka diperoleh grafik SSE (Sum Square Error) dan akan tampak SSE nol akan dicapai pada epoch 1000, dengan masukan 11 pola P dengan target T = [1 0 0 0 0 0 0 0 0 0 0]. Apabila ditekan tombol Uji-MLP dengan masukan terdiri dari 7 pola Tes-Set dan dengan target TestKelas = [1 0 0 0 0 0 0] akan diperoleh hasil (W1, W2, JumBenar, JumPola, dan Akurasi JST) sebagai berikut : W1 = 0.6197 0.0084 -0.0871 0.7395 2.0615 0.3854 -0.2123 -1.1371 -0.2186 0.2732 0.4187 -0.8324 -0.9140 -0.3624 -0.8808 0.5094 -0.5420 -0.6620 -0.1517 0.3639 -0.2978 0.7549 0.0102 0.4471 -0.3742 0.3897 -0.6664 0.3983 -0.6972 -0.7441 0.6978 0.3870 -0.0560 0.3322 1.1157 -0.5003 -0.0096 -0.2860 1.0065 -0.3001 -0.6528 0.8846 -0.1064 -0.6876 1.0252 -0.0033 -0.8436 -0.4074 0.8577 0.6351 1.0753 -0.1352 0.2931 0.9381 0.9025 -0.0438 -0.8348 -0.9792 0.7439 0.1374 0.4328 0.6354 0.0911 0.6290 1.0948 -0.4729 -1.0718 -0.8170 -0.3244 0.3599 0.5821 0.4688 -0.4471 0.1187 1.2686 -0.0596 0.4783 -0.2510 2.0112 1.5682
-0.9002
1.0952
1.5042 -2.1277 -1.9644
W2 = -1.9293 2.2185 2.0801 -2.2590 -5.2465 JumBenar = 7 JumPola = 7 Akurasi JST = 100 % 4. KESIMPULAN Dari hasil pengenalan yang telah dilakukan diperoleh SSE nol dicapai pada Epoch 1000, dan nilai akurasi yang didapat sebesar 100 %. Sehingga dapat disimpulkan bahwa metode JARINGAN SARAF TIRUAN PERSEPTRON LAPIS JAMAK layak untuk dipergunakan untuk mengenali huruf romawi. DAFTAR PUSTAKA [SUY-1], SUYANTO, “Artificial Intelligence”, Informatika, Bandung, 2014. [NAZ-2], Nazla Nurmila, Aris Sugiarto, dan Eko Sarwoko, “Algoritma Backpropagation Neural Network untuk Pengenalan Pola Huruf Jawa”, Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086-4930, ejurnal.undip.ac.id Vol 1 No 1 (2010). [MAR-3], Maria Agustin, “Penggunaan Jaringan Saraf Tiruan Backpropagation untuk Seleksi Penerimaan Mahasiswa Baru”, ejurnal.undip.ac.id Vol 2 No 2 (2012) Diakses pada 2 Juli 2015.