aplikasi jaringan saraf tiruan ( artificial neural network ... · pdf fileprogram studi...
TRANSCRIPT
218 Prosiding Pertemuan Ilmiah XXV HFI Jateng & DIY
ISSN 0853-0823
Aplikasi Jaringan Saraf Tiruan (Artificial Neural Network)
pada Pengenalan Pola Tulisan
Alvama Pattiserlihun, Andreas Setiawan, Ferdy S. Rondonuwu
Program Studi Fisika, Fakultas Sains dan Matematika, Universitas Kristen Satya Wacana
Jl. Diponegoro No. 52 – 60 Salatiga 50711, Jawa Tengah –Indonesia, telp (0298) 321212
e-mail : [email protected]
Abstrak – Jaringan saraf tiruan (JST) merupakan pemroses informasi yang meniru jaringan saraf biologis pada manusia.
Karena kelebihan inilah, JST dapat dipakai untuk mengenali pola tertentu, misalnya pola tulisan (huruf). JST yang dipakai
adalah pemrograman perceptron. Pola tulisan, dalam hal ini pola huruf yang dikenali oleh pemrograman perceptron adalah
pola huruf “A” dengan dibandingkan dengan pola huruf lain, yakni pola huruf “B” dan “C”. Pemrogramannya dimulai
dengan membuat pola huruf “A”, “B” dan “C”, kemudian memasukkan vektor masukan dan target (t) yang diinginkan.
Setelah itu membentuk jaringan, menghitung keluaran perceptron (a), kemudian melatihnya guna mendapatkan bobot (w) dan
bias (b) yang diinginkan, sehingga dapat membandingkan output jaringan yang diperoleh dengan target yang sudah
ditentukan. Dari pemrograman ini didapatkan bahwa pola huruf “A” dapat dikenali hanya dalam 2 epoch, dengan nilai bobot
(w) dan nilai bias (b) tertentu. Di mana keluaran pemrograman perceptron (a) sama dengan target (t) yang diinginkan.
Pemrograman perceptron untuk pengenalan pola huruf “A” ini, dapat diimplementasikan juga pada pengenalan huruf yang
lain.
Kata kunci : jaringan saraf tiruan, pola tulisan, huruf
I. PENDAHULUAN
Salah satu alat bantu yang dipakai oleh penyandang
tunanetra untuk membaca adalah dengan menggunakan
huruf braille. Ketika menggunakan huruf braille,
penyandang tunanetra harus menyentuh huruf yang dibaca
dengan menggunakan tangan, mengenali huruf yang
dipegang, setelah itu merangkai huruf-huruf berikutnya
menjadi sebuah kata lalu menjadi kalimat dan seterusnya.
Namun jika menggunakan cara ini, maka penyandang
tunanetra yang ingin membaca harus menunggu cetakan
khusus huruf braille. Agar penyandang tunanetra juga dapat
membaca buku selain cetakan huruf braille, maka
dibutuhkan suatu pengembangan, misalnya menggunakan
alat yang langsung dapat mengenali pola tulisan dan
memberitahukan huruf, kata, atau kalimat untuk
penyandang tunanetra tersebut. Alat tersebut dapat dibuat
dengan menggunakan suatu program untuk mengenali pola
tulisan dan dihubungkan dengan program yang memproses
tulisan menjadi bentuk besaran fisis lain.
Pada penelitian ini, penulis hanya akan membuat program
untuk mengenali pola tulisan, khususnya pengenalan pola
huruf. Untuk mengenali pola tulisan, salah satu metode
yang dapat dipakai adalah dengan menggunakan jaringan
saraf tiruan (Artificial Neural Network). Jaringan saraf
tiruan merupakan suatu sistem yang bertugas untuk
memproses data dengan meniru jaringan saraf biologis.
Sehingga sampel tulisan yang dijadikan sebagai input dapat
dikenali oleh komputer seperti otak yang memproses
informasi dan kemudian mengenali pola tulisan yang dilihat
oleh mata. Karena kelebihan inilah, jaringan saraf tiruan
merupakan metode yang tepat untuk mengenali pola tulisan.
Selain kelebihan-kelebihan di atas, jaringan saraf tiruan juga
memiliki kemampuan untuk belajar dan sifat toleransi
kesalahan (fault tolerance) [1].
II. DASAR TEORI
A. Jaringan Saraf Tiruan (Artificial Neural Network)
Sejarah perkembangan jaringan saraf tiruan telah dimulai
pada tahun 1940 dengan mengasosiasikan cara kerja otak
manusia dengan logika numerik yang diadaptasi peralatan
komputer [2]. Sederhananya, jaringan saraf tiruan (JST)
adalah sistem pemroses informasi yang memiliki
karakteristik mirip dengan jaringan saraf biologi, di mana
jaringan saraf tiruan menyerupai otak manusia dalam
mendapatkan pengetahuan yaitu dengan proses learning
(belajar) dan menyimpan pengetahuan yang didapat di
dalam kekuatan koneksi antarneuron [3]. Hal tersebut
membuat JST mampu mengenali kegiatan dengan berbasis
pada data. Data akan dipelajari oleh JST sehingga memiliki
kemampuan untuk memberi keputusan terhadap data yang
belum dipelajari [4]. JST ditentukan oleh 3 hal, yakni: pola
hubungan antarneuron (arsitektur jaringan), metode untuk
menentukan bobot penghubung (metode training/learning/
algoritma) dan fungsi aktivasi [5].
Struktur jaringan saraf tiruan dapat dilihat pada Gambar 1.
Neuron Y menerima input dari neuron x1, x2, dan x3 dengan
bobot hubungan masing-masing adalah w1, w2, dan w3.
Kemudian ketiga impuls neuron yang ada dijumlahkan,
sehingga dapat ditulis
net = x1w1 + x2w2 + x3w3. (1)
Besarnya impuls yang diterima oleh Y mengikuti fungsi
aktivasi y = f(net). Apabila nilai aktivasi cukup kuat, maka
sinyal akan diteruskan. Nilai fungsi aktivasi (keluaran model
jaringan) juga dapat dipakai sebagai dasar untuk mengubah
bobot [5].
Prosiding Pertemuan Ilmiah XXV HFI Jateng & DIY 219
ISSN 0853-0823
Gambar. 1. Diagram jaringan saraf tiruan.
B. Model Jaringan Perceptron
Jaringan perceptron terdiri dari beberapa unit masukan
(ditambah sebuah bias) dan memiliki sebuah unit keluaran
seperti pada Gambar 2. Hanya saja fungsi aktivasi bukan
merupakan fungsi biner (bipolar), tetapi memiliki
kemungkinan nilai –1, 0, atau 1.
Gambar 2. Arsitektur jaringan perceptron.
Untuk suatu nilai threshold θ yang ditentukan
Secara geometris, fungsi aktivasi membentuk 2 garis
sekaligus, masing-masing dengan persamaan [5]
w1x1 + w2x2 + . . .+ wnxn + b = θ (2)
w1x1 + w2x2 + . . .+ wnxn + b = –θ. (3)
Pada penelitian ini, default sistem yang dipakai adalah
sebagai berikut. Masukan dan target yang dipakai berbentuk
bebas (tidak harus biner/bipolar), threshold yang dipakai
adalah 0, fungsi aktivasi memiliki output biner
dan tidak menggunakan laju pemahaman. Bobot diubah
berdasarkan error yang terbentuk dari selisih antara target
yang diinginkan dengan keluaran jaringan (f(net)).
Perubahan bobot bukan merupakan hasil kali antara target
dengan masukan [5].
C. Pelatihan Perceptron
Misalkan s adalah vektor masukan dan t adalah target
keluaran, α adalah laju pemahaman (learning rate) yang
ditentukan, θ adalah threshold yang ditentukan; maka
algoritma pelatihan perceptron adalah sebagai berikut :
Inisialisasi semua bobot (w) dan bias (b). Tentukan laju
pemahaman (α). Untuk penyederhanaan, biasanya α diberi
nilai 1. Selama ada elemen vektor masukan yang respon
unit keluarannya tidak sama dengan target, dilakukan: Set
aktivasi unit masukan xi = si (i = 1, ..., n). Dihitung respon
unit keluaran: net = b.
Bobot pola yang mengandung kesalahan (y ≠ t) diperbaiki
menurut persamaan
wi(baru)=wi(lama)+∆w(i=1,...,n) (4)
dengan ∆w = αtxi
b(baru)=b(lama)+∆b (5)
dengan ∆b = αt [5]
III. METODE
Pertama-tama, pola huruf “A”,”B” dan “C” dibuat, seperti
pada Gambar 3(a) [5]. Setelah itu vektor masukan (pola
tulisan yang digunakan) dan target (t) yang diinginkan
dibentuk, dengan bobot (w) awal yang dibuat random serta
bias (b) awal = 1. Lalu setiap titik pada Gambar 3(a),
diambil sebagai komponen vektor. Setiap vektor masukan
(pola 1 sampai 6) mempunyai (9×7) = 63 komponen.
Kemudian kepada titik dalam pola yang bertanda “.”
diberikan nilai (–1) dan nilai (1) diberikan kepada tiap titik
dalam pola yang bertanda “#”, seperti terlihat pada Gambar
3(b). Pola-pola huruf tersebut harus dibaca dari kiri ke
kanan, dimulai dari baris yang paling atas.
(a)
Gambar 3. (a) Pola huruf “A”,B” dan “C”
220 Prosiding Pertemuan Ilmiah XXV HFI Jateng & DIY
ISSN 0853-0823
(b)
Gambar 3. (b) Vektor masukan.
Pada penelitian ini, program yang dibuat hanya akan
mengenali pola huruf “A”. Target akan bernilai = 0 jika pola
masukan menyerupai huruf “A”. Jika tidak menyerupai
huruf “A” maka target bernilai 1. Pola yang menyerupai
huruf “A” ada pada pola 1 dan pola 4. Pemrograman
perceptron ini memiliki 6 pola masukan dan 6 target (t)
seperti tampak pada Tabel I.
TABEL I. POLA MASUKAN DAN TARGET
Pola
masukan
Target
(t)
Pola 1 0
Pola 2 1
Pola 3 1
Pola 4 0
Pola 5 1
Pola 6 1
Setelah itu, pemodelan jaringan perceptron dibentuk dan
keluaran dari jaringan perceptron (a) yang dibuat pun harus
dihitung. Guna mendapatkan bobot (w) dan bias (b) yang
diinginkan, program perceptron harus dilatih. Setelah
mendapatkan bobot (w) dan bias (b) yang diinginkan,
output yang diperoleh dari pemrograman perseptron (a)
dibandingkan dengan target (t) yang sudah ditentukan.
IV. HASIL DAN PEMBAHASAN
Pemrograman dilakukan dengan menggunakan jaringan
saraf tiruan (JST). Di mana jaringan saraf tiruan merupakan
pemrograman yang meniru jaringan saraf biologis pada
manusia. Pemrograman JST ini menggunakan
pemrograman perseptron, di mana diperoleh hasil seperti
pada Gambar 4.
Dari pemrograman yang dilakukan, juga didapatkan
beberapa data, yakni:
• Bobot (w)
Bobot-bobot yang diperoleh dapat dilihat pada Tabel II.
• Bias (b)
Nilai bias yang didapatkan 2.
• a (keluaran yang dihasilkan oleh jaringan)
a = [ 0 1 1 0 1 1]
• e (error)
e = 0
TABEL 2. BERBAGAI NILAI BOBOR (w).
Pada Gambar 4 dapat dilihat bahwa iterasi dilakukan
hanya dalam 2 epoch. Di mana epoch 2 memiliki nilai mean
absolute error (mae) = 0. Hal ini berarti bahwa semua pola
yang diberikan telah dikenali. Keluaran yang dihasilkan oleh
jaringan saraf tiruan (perceptron) a = [ 0 1 1 0 1 1].
Jika dibandingkan dengan target (t) yang diinginkan, t = [0
1 1 0 1 1], maka dapat dilihat bahwa keluaran jaringan
perceptron (a) yang dibuat memiliki nilai yang sama dengan
target (t) yang diinginkan. Nilai bobot (w) dan nilai bias (b)
pada keadaan optimal (keadaan pada saat semua pola
dikenali) adalah seperti pada Tabel II. dan nilai bias (b) = 2.
(a) (b)
Gambar 4. (a) Informasi tentang output dari pemrograman
menggunakan jaringan perceptron, (b) Grafik performance
(Grafik mean absolute error terhadap epoch).
Dari data-data tersebut dapat dilihat bahwa pola 1 dan
pola 4 yang merupakan pola huruf “A” dapat dikenali
dengan benar, menggunakan pemrograman perceptron. Dan
w1 = 1,8147
w2 = 1,9058
w3 = 1,1270
w4 = 1,9134
w5 = 3,6324
w6 = 1,0975
w7 = -0,7215
w8 = -0,4531
w9 = 3,9575
w10 = -0,0351
w11 = -2,8424
w12 = -0,0294
w13 = 1,9572
w14 = 1,4854
w15 = 1,8003
w16 = 1,1419
w17 = -0,5782
w18 = -2,0843
w19 = -0,2078
w20 = -0,0405
w21 = 3,6557
w22 = 1,0357
w23 = 1,8491
w24 = -2,0660
w25 = -0,3213
w26 = -2,2423
w27 = -0,2569
w28 = 1,3922
w29 = 1,6555
w30 = 1,1712
w31 = -0,2940
w32 = 1,0318
w33 = -0,7231
w34 = 1,0462
w35 = -0,9029
w36 = 1,8235
w37 = -0,3052
w38 = -2,6829
w39 = -2,0498
w40 = -2,9656
w41 = -2,5613
w42 = 1,3816
w43 = 1,7655
w44 = -0,2048
w45 = -0,8131
w46 = -0,5102
w47 = -0,5544
w48 = -2,3537
w49 = 3,7094
w50 = -0,2453
w51 = 1,2760
w52 = -0,3203
w53 = -0,3449
w54 = -0,8374
w55 = -0,8810
w56 = 1,4984
w57 = -0,0403
w58 = -0,6596
w59 = 1,5853
w60 = 3,2238
w61 = 1,7513
w62 = -0,7449
w63 = -2,4940
Prosiding Pertemuan Ilmiah XXV HFI Jateng & DIY 221
ISSN 0853-0823
pola huruf “B” dan “C” dikenali sebagai bukan huruf “A”.
Ini mengindikasikan bahwa jika pola masukan adalah huruf-
huruf yang lain selain huruf “A” maka huruf-huruf tersebut
kemungkinan akan dikenali sebagai bukan huruf “A”,
sehingga hal yang sama juga dapat kita implementasikan
pada huruf-huruf yang lain, guna mengenali pola huruf yang
diinginkan.
V. KESIMPULAN
Pola pengenalan tulisan, khususnya pola huruf dapat
dikenali dengan menggunakan jaringan saraf tiruan,
khususnya pemrograman perseptron. Dari hasil analisis
dengan menggunakan pemrograman perceptron, pola huruf
“A” dapat dikenali hanya dalam 2 epoch, dengan nilai bobot
(w) dan nilai bias (b) tertentu. Di mana keluaran
pemrograman perceptron (a) sama dengan target (t) yang
diinginkan. Pemrograman perseptron untuk pengenalan pola
huruf “A” ini, dapat diimplementasikan juga pada
pengenalan huruf yang lain.
PUSTAKA
[1] Nugroho, Fx. Henry. Pengenalan Wajah dengan Jaringan Saraf
Tiruan Backpropogation.Yogyakarta: 2005. hal 1.
[2] Muis, Saludin. Teknik Jaringan Saraf Tiruan. Yogyakarta : 2006
[3] Islam, M.J, dkk. Neural Network Based Handwritten Digits
Recognition- An Experiment and Analysis. University of Windsor,
Canada: 2009. hal 2.
[4] Luthfie, Syafiie Nur. Implementasi Jaringan Saraf Tiruan
Backpropagation Pada Aplikasi Pengenalan Wajah Dengan Jarak
Yang Berbeda Menggunakan MATLAB 7.0. Universitas Gunadarma,
Depok: 2007. hal 1.
[5] Siang, Jong Jek. Jaringan Saraf Tiruan dan Pemrogramannya
Menggunakan MATLAB. Yogyakarta: 2005.