IMPLEMENTASI BACKPROPGATION DALAM PENGOLAHAN CITRA TEKS TULISAN TANGAN MENJADI TEKS DIGITAL
Fifin Hietania, Wayan Santiyasa, Ida Bagus Gede Dwidasmara Program Studi Teknik Informastika, Jurusan Ilmu Komputer, Fakultas Matematika Dan Ilmu Pengetahuan Alam, Universitas Udayana Email :
[email protected]
ABSTRAK Pengenalan pola adalah hal yang cukup sulit dilakukan oleh komputer. Komputer tidak dapat langsung mengenali pola setiap citra. Maka dari itu diperlukan suatu proses ataupun alat yang dapat digunakan untuk pengolahan citra di dalam suatu komputer. Pada penelitian tugas akhir ini akan dibuat suatu aplikasi yang berhubungan dengan pengenalan pola dan pengolahan citra. Yaitu aplikasi yang dapat mengenali pola tulisan tangan dan mengubahnya menjadi teks digital. Aplikasi ini menggunakan metode backpropagation dalam proses pengenalannya. Dimana input yang berupa citra berekstensi bitmap akan diolah terlebih dahulu melalui serangkaian proses, yang disebut dengan tahap preprocessing. Dimana tahap ini terdiri dari Greyscale, thresholding, segmentasi, cropping, dan normalisasi. Kemudian setelah preprocessing barulah tahap pengenalan akan dilakukan. Adapun keakuratan hasil yang didapat dari proses ini sebesar 67,99%. Yang didapat dari hasil uji coba 50 data uji, dengan menggunakan 660 data referensi, learning rate = 0,001, error rate = 0,01, epoch = 100, inisialisasi bobot awal = -0,5 sampai 0,5, input patern = 30 x 30 piksel, input neuron = 900, hidden layer 55, dan output neuron = 900. Dimana dapat disimpulkan bahwa aplikasi ini cukup baik dalam proses pengenalan pola tulisan tangan. Kata kunci : Backpropagation, Pengolahan citra, Pengenalan pola, Tulisan tangan, Teks digital ABSTRACT Computer found it difficult enough to introduce patterns. It could not directly recognize the pattern of every image. Therefore, a process or equipment was needed to process images in computer. In this present study, as the final assignment, an application to how to introduce patterns and to process images was created, that is, an application which could recognize handwriting and change it into digital text, using backpropagation method. The input which was in the form of bitmap extended image was firstly processed through a set of processes referred to as a preprocessing stage, which was made up of Greyscale, thresholding, segmentation, cropping, and normalization. After the preprocessing stage, the recognizing stage was done. The degree of accuracy obtained from this process was 67.99%, which was obtained from the trial test of 50 test data, using 660 reference data, learning rate 0.001, error rate 0.01, epoch 100, initial weight initialization -0.5, input pattern 30 x 30 pixel, input neuron 900, hidden layer 55, and output neuron 900. It could be concluded that this application was good enough in the process recognizing the pattern of handwriting. Keywords: Backprogation, Image processing, Pattern recognition, Hand writing, Digital text
1
1. PENDAHULUAN Perkembangan teknologi dewasa ini dapat
dikatakan
perkembangan
sebagai hampir
sumber semua
tersebut terbatas pada satu karakter saja dan tidak dapat mengkonversi tulisan yang
dari
berupa kalimat.
aspek
Berdasarkan kelemahan dari penelitian-
kehidupan. Teknologi yang berkembang
penelitian
demikian pesatnya tidak terlepas dari pengaruh
komputerisasi.
menjadi teks digital menggunakan metode Backpropagation.
menjadi alat yang sangat penting dalam
2. DASAR TEORI 2.1 Citra Jika kita kembali meninjau secara
setiap proses pengolahan informasi. Pengenalan pola adalah sesuatu yang
matematis, Citra adalah sebuah fungsi
mudah untuk dilakukan oleh manusia,
intensitas cahaya dua dimensi f(x,y) dimana
namun membuat komputer agar dapat
x adalah posisi baris dan y adalah posisi
„membaca‟ adalah suatu hal yang benar-
kolom sedangkan F adalah fungsi intensitas
benar sulit. Secara mudahnya kita dapat
atau kecerahan dari citra pada koordinat
membaca isi tulisan pada citra tersebut
(x,y). Pada umumnya citra berbentuk
dengan mudah namun tidak begitu halnya Maka
dari
persegi panjang dan dimensi ukurannya
itulah
dinyatakan sebagai (tinggi x lebar). Citra
diperlukan suatu perangkat lunak yang
dengan tinggi N piksel, lebarnya M piksel,
dapat mengolah citra menjadi teks digital. Penelitian penelitian
ini
didasarkan
sebelumnya
yang
dan
kepada
dengan
Associative
Metode
intensitas
f
dapat
berukuran N baris dan M kolom sebagai berikut :
Bidirectional
Memory”
memiliki
dipresentasikan sebagai suatu matriks yang
berjudul
“Pembuatan Perangkat Lunak Identifikasi Huruf
pada
dapat mengkonversi teks tulisan tangan
dengan sangat cepat, sehingga komputer
komputer.
maka
penelitian kali ini dibuat suatu aplikasi yang
Sistem
komputerisasi membuat semua berjalan
dengan
sebelumnya
(Pipin
Piniman,2008). Namun pada penelitian ini disebutkan bahwa metode BAM masih kurang stabil untuk mengenali berbagai jenis
variasi
berdasarkan
penelitian
“Pengembangan Karaketer Menggunakan
karakter. yang
Aplikasi Alfanumerik Algoritma
NetworkThree-Layer
Indeks baris (x) dan indeks kolom (y)
Kemudian
menyatakan suatu koordinat titik pada citra.
berjudul
Masing-masing titik (x,y) di citra disebut
Pengenalan
picture element atau piksel, sedangkan
Dengan
f(x,y)
Neural
merupakan
intensitas
keabuan) pada titik (x,y).
Backpropagation”
(Emanuel,2008). Hanya saja pengenalan 2
(derajat
2.2 Grayscale Dalam komputasi, suatu citra digital
diperoleh citra yang diharapkan. Yang diperlukan dalam cropping suatu citra
grayscale atau greyscale adalah suatu citra
adalah menetukan koordinat dari citra
dimana nilai dari setiap pixel merupakan
tersebut. Kemudian menetukan batas dari
sample tunggal. Citra grayscale seringkali merupakan
perhitungan
dari
citra yang akan di crop. Untuk menghitung
intensitas
suatu luasan objek yang akan dihitung
cahaya pada setiap pixel pada spektrum
maka
elektromagnetik single band. Cara
yang
cukup
ukuran
pemotongan
dapat
dirumuskan sebagai berikut :
mudah
untuk
W‟ = ( xr– xl) + 1
mengbah citra berwarna menjadi grayscale
H‟ = ( yb– yt) + 1
adalah dengan maenggunakan rumus :
2.6 Normalisasi Normalisasi pada pengolahan citra
2.3 Thresholding Thresholding merupakan teknik yang
berarti mentransformasikan citra ke bentuk citra normal yang sesuai dengan kebutuhan.
sederhana dan efektif untuk segmentasi
Suatu citra setelah di normalisasi, dapat
citra. Proses thresholding sering disebut
dilakukan proses penskalaan (scalling) agar
dengan proses binerisasi. Setiap piksel di
nilai fitur berada pada suatu interval
dalam citra dipetakan dengan dua nilai, satu (1)
atau
nol
(0)
dengan
tertentu.
fungsi
)
citra
dirumuskan
sebagai berikut :
pengambangan : (
Penskalaan
{
( (
) )
x’ = Sx.x }
. . .y’. .=. S. ..y. . . . . 2.5 y
2.4 Segmentasi Segmentasi merupakan teknik untuk membagi suatu citra menjadi beberapa daerah (region) di mana setiap daerah Gambar 1. Normalisasi huruf „A‟
memiliki kemiripan atribut. Segmentasi
2.7 Ekstraksi Ciri
bertujuan untuk memecah suatu citra ke
Ekstraksi ciri pada pengolahan citra
dalam beberapa segmen dengan suatu
berarti
kriteria tertentu. Proses segmentasi ini
mengubah
nilai-nilai
intensitas
koordinat piksel yang terdapat dalam citra
merupakan bagian yang sangat penting dan
menjadi susunan kode-kode nilai pada
biasanya merupakan proses yang rumit
setiap piksel.
dalam pemrosesan Citra Digital.
Ekstraksi ciri dapat dirumuskan sebagai
2.5 Cropping
berikut :
Cropping pada pengolahan citra berarti
(
memotong satu bagian dari citra sehingga
3
)
{
( (
) )
m = Jumlah output maksimum Vij merupakan bobot garis dari unit masukan Xi ke unit layar tersembunyi VJ (V0J
merupakan
bobot
garis
yang
Gambar 2. Hasil ekstraksi cirri huruf
menghubungkan bias di unit masukan ke
„A‟
unit layar tersembunyi Zj. Wjk merupakan
2.8 Backpropagation
bobot dari unit layar tersembunyi ZJ ke unit
Backpropgation melatih jaringan untuk mendapatkan
keseimbangan
keluaran Yk (W0k merupakan bobot dari bias
antara
di layar tersembunyi ke unit keluaran Zk).
kemampuan jaringan untuk mengenali pola
Fungsi aktivasi yang digunakan dala
yang digunakan selama pelatihan serta
aplikasi ini adalah Fungsi sigmoid bipolar
kemampuan jaringan untuk memberikan
yang didefinisikan sebagai berikut.
respon yang benar terhadap pola masukan
( )
(
yang serupa (tapi tidak sama) dengan pola ( )
yang dipakai selama pelatihan.
[
Pelatihan
( )][
( )]
untuk
backpropgation tersembunyi
)
dengan
(dengan
jaringan satu
fungsi
layar aktivasi
sigmoid bipolar) adalah sebagai berikut: 1. Langkah 0 Inisialisasi semua bobot dengan bilangan acak kecil. 2. Langkah 1
Gambar 3. Arsitektur Backpropagation Keterangan :
Jika kondisi penghentian belum
X = Masukan (input).
dipenuhi, lakukan langkah 2-8. 3. Langkah 2
Y = Keluaran hasil. Z = Hidden Layer
Untuk setiap pasang data pelatihan,
v = Bobot pada lapisan tersembunyi.
lakukan langkah 3-8. 4. Langkah 3 (langkah 3-5 merupakan
w = Bobot pada lapisan keluaran. i = input ke-i (1-400)
fase feedforward)
j = hidden layer ke-j (1-h)
Input unit (X ) menerima sinyal
k = output ke-k (1-o)
input (x ) dan menyebarkan sinyal
i
i
n = Jumlah input maksimum (400)
itu ke hidden layer.
h = Jumlah neuron hidden layer maksimum
5. Langkah 4
4
Setiap unit tersembunyi (xi, i =
hitung
koreksi
bobotnya
1,…, p) jumlahkan bobot sinyal
(digunakan untuk memperbaharui
masukannya,
wjk nantinya),
. . . . . . . . . . . . . 2.13
∑ hitung koreksi biasnya (digunakan voj = bias pada unit tersembunyi j aplikasikan untuk
fungsi
untuk
aktivasinya
menghitung
memperbaharui
wok
nantinya), dan kirimkan δk ke unit-
sinyal
unit pada lapisan dibawahnya,
keluarannya, zj = f (z_inj), dan kirimkan sinyal ini keseluruh unit pada
lapisan
diatasnya
. . . . . . . . . . . . . 2.14
(unit
8. Langkah 7
keluaran). Terapkan fungsi aktivasi
Setiap unit lapisan tersembunyi (zj,
dan hasilnya dikirim ke output unit. (
j = 1,…, p) jumlahkan hasil
)
perubahan masukannya (dari unit-
6. Langkah 5
unit lapisan diatasnya),
Tiap unit keluaran (yk, k = 1,…, m) jumlahkan
bobot
∑
sinyal
1
masukannya, ∑
. . . . . . . . . . . . . 2.15
Kalikan dengan nilai fungsi turunan wok = bias pada unit keluaran k dan aplikasikan
fungsi
aktivasi untuk menghitung error,
aktivasinya
(
untuk
Hitung nilai perbaikan bobot, (v ),
menghitung sinyal keluarannya, (
) ij
)
. . . . . . . . . . . . . 2.16 Hitung nilai perbaikan bias (v ),
7. Langkah 6 (langkah 6-7 merupakan
0j
fase backpropagation) Tiap unit keluaran (yk , k = 1,…, m)
9. Langkah 8 (fase perubahan bobot)
menerima pola target yang saling
Hitung semua perubahan bobot.
berhubungan pada masukan pola
Perubahan bobot garis yang menuju
pelatihan,
ke unit keluaran (Yk), yaitu:
hitung
kesalahan
informasinya, (
( ) (
)
Setiap
tk = Target keluaran
)
(
hidden
) unit
(Z ) j
memperbaharui bobot dan biasnya: (
5
)
(
)
Parameter
α
merupakan
laju
sangat
lambat.
Biasanya
bobot
awal
pemahaman yang menentukan kecepatan
diinisialisasi secara random dengan nilai
iterasi. Nilai α terletak antara 0 dan 1 (0 ≤ α
antara -0.5 sampai 0.5 (atau -1 sampai 1
≤ 1). Semakin besar harga α , semakin
atau interval yang lainnya).
sedikit iterasi yang dipakai. Akan tetapi jika
Setelah pelatihan selesai dilakukan,
harga α terlalu besar, maka akan merusak
jaringan dapat dipakai untuk pengenalan
pola
sehingga
pola. Dalam hal ini, hanya propagasi maju
pemahaman menjadi lambat. Satu siklus
(langkah 4 dan 5) saja yang dipakai untuk
pelatihan yang melibatkan semua pola
menentukan keluaran jaringan.
yang
sudah
benar
disebut epoch. Pemilihan
bobot
awal
sangat
3. HASIL DAN PEMBAHASAN
mempengaruhi jaringan syaraf tiruan dalam
Pada pengujian aplikasi ini digunakan
mencapai minimum global (atau mungkin
data training (data referensi) sebanyak 660
lokal saja) terhadap nilai error (kesalahan)
buah data, yang terdiri dari 10 jenis variasi
dan cepat tidaknya proses pelatihan menuju
untuk setiap karakternya.
kekonvergenan. Apabila bobot awal terlalu besar maka input (masukan) ke setiap lapisan tersembunyi atau lapisan output (keluaran) akan jatuh pada daerah dimana turunan fungsi sigmoidnya akan sangat
Gambar 4. Data referensi huruf „A‟
kecil. Apabila bobot awal terlalu kecil,
Sedangkan data uji yang digunakan
maka input (masukan) ke setiap lapisan
adalah sebanyak 50 buah data uji. Berikut
tersembunyi atau lapisan output (keluaran)
ini adalah hasil yang didapat dari percobaan
akan
aplikasi yang dilakukan.
sangat
kecil.
Hal
ini
akan
menyebabkan proses pelatihan berjalan NO
INPUT
HASIL
1
IIFIN HIE FEE2
2
Edd2 EEtIeI0n t70H
3
AGNEI T7EI7 27EI
4
MerLlna r0Salii, a708
5
3intya DMl 13rS
6
Seltian 8asus 083s
7
DiDn TIISia D860
6
PRESENTASE PENGENALAN
8
IN0Ri Pris1lwi D86S
9
!en3re rKr3n!?
10
reY!n 2!!0566
11
Munl Adrlyoni 0B4G
12
IImu Komeuter o8
13
Fakulta5 Mlp4
14
tElNlK iNp0yMaTiKa
15
Nim. oBo8c05044
16
12 Fcbruarl 1g9o
17
Zadiak A9uaRli5
18
Uniycr7itas U0AvAnA
19
8u7iL Jimbacen
20
eR06RAM gTuDl
21
BacIpr0ea9tlon!
22
IDmpuIaS!
23
Pen90Iohan ClTRA
24
NelmorI Arilteetui3
25
eIs7yaIsi Cili?
26
6yay5laL3
27
Tkyesh0lain9 196..!?
28
K0nversl T3l5
29
Fun9sl AhtIva5i,x,x
30
ArsiichtuR Jarln9an
31
Junlai neur0n go0
32
lm493 4rroy
33
DK 1B04 UC
7
34
NetW0rk ArLltectur3
35
5MAN 4 Deneaaar
36
TwIII9ii S464
37
NEW MODN
38
EcLipse
39
8rcaKlng Dawn
40
Stcphenv Meycy
41
HaRRv P0TTer o7
42
J.T. R0wlln9
43
Nem0ir5 0f 6ElSHA
44
Kin6 Aythur!!!
45
5ourcc c0d3 Al90tltmI
46
QenrogramaN
47
een6ol4htn C1ty4…
48
Di6itAl Librarr
49
Wi5ud0 ke 1o1
50
Teh5.Digital. Rata-rata
67,99%
Persentase pengenalan dihitung dengan cara
∑
1
1
: 4. KESIMPULAN DAN SARAN
1
4.1 Kesimpulan Dimana :
Kesimpulan yang didapat dari analisis
P = Persentase pengenalan
aplikasi koversi tulisan tangan ke citra
b = Jumlah karakter benar
digital adalah :
s = Jumlah keseluruhan karakter
1. Algoritma Backpropagation cukup baik
Sedangkan rata-rata pengenalan karakter
digunakan dalam proses pengenalan
dihitung dengan cara :
karakter
8
tulisan
tangan.
Dengan
menggunakan acuan variable learning
Pilihan Ganda”. Jurnal Matematika,
rate = 0,001, Error rate = 0,01,
Sains dan Teknologi Volume 12
Maksimum epoch = 100, inisialisasi
nomor 1.
bobot awal = 0,5, input patern = 30 x
[2] Arief,
Achmad
Fauzi.
2010.
30 piksel, output patern =30 x 30
“Perangkat Lunak Konversi Tulisan
piksel, input neuron = 900, output
Tangan Menjadi Teks Digital”
neuron = 900, serta hidden layer = 55,
[3] Emanuel, Andi Wahju Rahardjo
data referensi =660, data citra uji = 50.
dan
Dari acuan nilai-nilai variable tersebut
“Pengembangan
maka
Pengenalan Karaketer Alfanumerik
didapatkan
akurasi
sebesar
67,99%. 2. Proses
Arie
Hartono.
2008. Aplikasi
Dengan Menggunakan Algoritma pengenalan
Network
Three-Layer
ditentukan oleh data referensi yang
Backpropagation”.
Jurnal
dimiliki
Informatika (4), 49 – 58
oleh
karakter
program.
sangat
Neural
Semakin
banyak data citra referensinya, semakin
[4] Hermawan, Arief. 2006. Jaringan
baik pula proses pengenalan karakter
Syaraf Tiruan teori dan Aplikasi.
oleh program.
Yogyakarta : ANDI [5] Fausett, L. 1994. Fundamentals of
4.2 Saran Saran yang dapat penulis berikan adalah:
Neural
1. Perbanyak data citra referensi agar
International, Inc., Florida Institut
proses pengenalan karakternya menjadi
[6] Fauziah, 2009.
2. Program ini tidak memiliki database, untuk
M
Iwan
“Metode
Wahyuddin.
Jaringan
Saraf
hari
Tiruan Penjejakan Balik Untuk
program ini dapat dikembangkan lagi.
Pengenalan Huruf Cetak Pada Citra
Terutama untuk pembuatan database,
Digital” . Jurnal Artificial, ICT
sehingga
Research Center UNAS (3)
setiap
kemudian
Prentice-Hall
of Technology.
lebih baik.
diharapkan
Network.
proses
pengenalan
huruf dapat dilakukan tanpa harus
[7] Murni,A.,1992.Pengantar
memasukan data citra referensi terlebih
Pengolahan Citra. Jakarta : PT.Elex
dahulu.
Media Komputindo. [8] Nugraha, A.P. dan A.B. Mutiara .
5. DAFTAR PUSTAKA 2011.
2002. “Metode ekstraksi data untuk
”Aplikasi Jaringan Syaraf Tiruan
pengenalan huruf dan angka tulisan
Untuk Mengenali Tulisan Tangan
tangan
[1] Aprijani,Dwi
Astuti.
Huruf A,B,C,D Pada Jawaban Soal
9
dengan
menggunakan
jaringan syaraf buatan propagasi
Identifikasi Huruf Menggunakan
balik”
Metode Bidirectional Associative Memory”. Jurnal Tugas Akhir
[9] Putra, Dharma. 2010. Pengolahan Citra Digital. Yogyakarta : ANDI [10]
[12]
Puspitaningrum,Diyah.200
Zukhri,Zainudin.
2003.
Dasar-Dasar Pemrograman Visual
6. Pengantar Jaringan Syaraf
Dengan Delphi 6.0.Yogyakarta :
Tiruan. Yogyakarta : ANDI
Graha Ilmu
[11]
Piniman,Pipin.2008.
”Pembuatan
Perangkat
Lunak
10