## Pemanfaatan  Neural Network Perceptron Pada Pengenalan  Pola Karakter
Kukuh Yudhistiro kukuh.yudhistiro@unmer.ac.id

## Fakultas Teknologi  Informasi Universitas Merdeka Malang
Abstract—  Various  methods  on  artificial  neural  network has been applied to identify patterns of c haracters one  using Perceptron algorithm. Perceptron algorithm can be  used  to identify  patterns  of  characters  with  various  input  patterns that  resemble  letters  of  the   alphabet  so  perceptron  can  be trained to recognize it. Perceptron algorithm is an algorithm in a neural network that includes supervised neural network.
Intisari —  Berbagai  metode  pada  jaringan  syaraf  tiruan telah  diterapkan  dengan  menggunakan  algorit ma   Pe rceptron. Algorit ma Perceptron dapat digunakan untuk mengidentifikasi pola kara kter yang dapat dilatih perceptron untuk mengenalinya.  Algorit ma   perceptron  adalah  algorit ma  da la m jaringan syaraf tiruan yang mencakup jaringan syaraf tiruan.
Kata Kunci— neural network, perceptron, pengenalan pola, algoritma  perceptron, deteksi fitur

## I.    PENDAHULUAN
Character  recognition merupakan  bidang  yang  termasuk dala m  penelitian  berbasis  ja ringan  syaraf  tiruan.  Pada algorit ma   perceptron  vektor  pola   yang  diinputkan  ada lah vektor  pola  kara kter  A,  B  dan  C  yang  bervariasi.  Da ri  pola yang  sudah  diberikan,  ma ka  langkah  selanjutnya  adalah me latih  jaringan tersebut agar me mperoleh  bobot ( w ) dan  bias ( b ) yang diinginkan sehingga dapat me mbandingkan keluaran jaringan  yang  didapat  dengan  target  yang  sudah  ditentukan. Hasil percobaan penulis didapatkan bahwa pengenalan pola A, B,  C dapat dikenali cu kup dala m 3 epoch dengan nilai bobot dan nilai  bias tertentu [1][4].

## II.    KAJIAN  PUSTAKA

## A. Algoritma  Perceptron
Model  jaringan  perceptron  ditemukan  oleh  Rosenblatt (1962)  dan  M insky  –   Papert  (1969).  Model  tersebut me rupakan  model yang  me miliki ap likasi dan pelatihan yang paling baik pada era tersebut [2].
Arsitektur  jaringan  perseptron  mirip  dengan  arsitektur jaringan Hebb disajikan  pada gambar  1.
Jaringan terdiri dari beberapa unit   masukan dan  me miliki sebuah  unit  keluaran.  Hanya  saja  fungsi  aktivasi  bukan me rupakan  fungsi  biner  (atau  bipola r),  tetapi  me miliki kemungkinan  nilai  -1,0  atau 1.
Gambar  1. Diagram  jaringan  perceptron
Untuk suatu harga threshold θ yang ditentukan:
(1)
Secara geo metris, fungsi aktivasi me mbentuk 2 garis sekaligus masing-masing  dengan persamaan:
(2)
B. Training Pada  Algoritma  Perceptron Misalkan:
s adalah vektor inputan
t adalah target output
α adalah learning  rate (la ju  pe maha man  yang  telah ditentukan) θ adalah threshold yang ditentukan maka  algoritma  pelatihan perceptron adalah: 1. inisia lisasi se mua bobot dan bias (= α ).  Biasanya learning rate diberi nilai  = 1 2. selama  ada  e le men  vektor  masukan  yang  respon  unit keluaran tidak sama dengan target, lakukan:
a. set aktivasi unit masukan:
x i = s i (i = 1, … , n)
(3)
b. hitung respon unit keluaran: net = ∑ (4)
(5)
c. Revisi  bobot  pola  yang  mengandung  error  (y  <>  t) dengan persamaan:
(6)
C. Proses Pelatihan
1. Iterasi  dilaku kan  terus  sampai  semua  pola  me miliki keluaran  jaringan  yang  sama  dengan  targetnya  (jaringan sudah  me maha mi  po la).  Iterasi  tidak  berhenti  setelah semua pola dimasukkan.
2. Perubahan  bobot  hanya  dila kukan  pada  pola   yang mengandung  kesalahaan.  Perubahan  tersebut  merupakan
hasil  ka li  unit   masukan  dengan  target  dan learning  rate . Perubahan bobot hanya akan terjadi  kalau unit  masukan <> 0.
3. Kecepatan iterasi d itentukan oleh learning rate (0 ≤ α ≤ 1) yang dipakai. Se ma kin besar harga learning rate semakin sedikit  iterasi  yang  diperlu kan.  Akan  tetapi  jika learning rate terlalu  besar  maka  a kan  merusak  pola  yang  sudah benar sehingga laju pemahaman  menjadi  lambat.
Algorit ma  pe latihan  perceptron  leb ih  baik  d ibandingkan model  Hebb [1][3]  karena:
1. setiap  kali  sebuah  pola  dimasukkan,  hasil  keluaran jaringan  dibandingkan  dengan  target  yang sesungguhnya. Jika  terdapat  perbedaan,  ma ka  bobot  akan  dimodifikasi. Jadi  tidak  semua  bobot  selalu  dimodifikasi  dala m  setiap iterasinya.
2. Modifikasi  bobot  tidak  hanya  ditentukan  oleh  perka lian antara target dengan masukan, tetapi juga melibatkan suatu laju pemahaman  ( learning rate ) yang nilainya dapat diatur. 3. Pelatihan dilaku kan berulang-ulang untuk semua ke mungkinan  pola  yang  ada  hingga  jaringan  dapat mengerti  polanya.  Satu  siklus  pelatihan  yang  me libatkan semua pola disebut epoch.

## III.  METODE  PENELITIAN
Algorit ma  untuk  mengenali  apakah  pola  inputan  yang diberikan  menyerupai  sebuah  karakter  A,  B  atau  Catau   tidak adalah:
1. Nyatakan  tiap  pola  inputan  sebagai  matrik  b ipolar  yang elemennya adalah tiap titik dalam  pola tersebut
2. berikan   nilai  target  =+1  jika   pola  inputan  menyerupai hurug  yang  diinginkan.  Jika  sebaliknya,  berikan  nila i target = -1
3. Berikan inisia lisasi bobot, bias, laju pe maha man ( learning rate ) dan threshold . 4. Lakukan  proses pelatihan.

## IV.  HASIL  DAN  PEMBAHASAN
Untuk  menentukan  vektor  masukan,  tiap  tit ik  da la m  pola dia mbil sebagai ko mponen vektor. Jadi setiap vektor masukan me miliki 9x7 = 63 ko mponen. Titik dala m pola  yang bertanda ―#‖ diberi nilai = +1 dan yang bertanda ―.‖ Diberi n ilai =  -1.
Pe mbacaan  pola  dila kukan  dari  kiri  ke  kanan,  d imula i  dari baris paling atas.
Berikut  adalah pola-pola inputan yang diberikan:
Gambar  2.  Pola yang akan diuji
Vektor  masukkan  pola 1:
Gambar  3.  Pola ke-1
Vektor  masukkan  pola 2:
Gambar  4.  Pola ke-2
Vektor  masukan pola 3:
Gambar  5.  Pola ke-3
Vektor  masukan pola 4:
Gambar  6.  Pola ke-4
Vektor  masukan pola 5:
Gambar  7.  Pola ke-5
Vektor  masukan pola 6:
Gambar  8.  Pola ke-6
Gambar  9.  Pola Masukan
Target  yang bernilai  =  +1  bila  pola  masukan  menyerupai huruf  A.  Jika  t idak  maka   target  bernila i  =  -1.  Po la  yang menyerupai huruf A adalah pola 1 dan pola 4.
Maka  perceptron  yang  digunakan  untuk  mengenali  pola huruf  huruf  A   atau  yang  la in  me miliki  63  buah  masukan, sebuah bias dan sebuah unit output.
Misalkan bobot awa l = 0 untuk se mua bobot maupun bias, learning rate α  =  1 dan threshold =  0.5. Pe latihan d ilakukan dengan cara memasukkan  63  unit masukan.
Gambar  10.  Input pada program
Dihitung:
Net = net = ∑ (7)
Berikutnya,  fungsi aktivasi dihitung menggunakan persamaan:
(8)
Apabila f(net) <> target,  maka  bobot dan bias diubah. Proses pelatihan  dilaku kan  terus  hingga  semua  keluaran  jaringan sama dengan targetnya.
Gambar  11.  Pemberian  nilai  pada vektor setiap pola
Pada  baris  Inputan  Pola,  mena mpilkan  x  (inputan)  yang ditulis pada coding. Jika pada materi tertu lis:  1 1  1 1  (x1  x2  1 t).  Pada  training  yang  ke  0  atau  epoch pertama  didapat  hasil berikut seperti pada gambar 12:
Gambar  12.  Epoch ke 1 (iterasi ke 0)
Sela ma   f(net)<>t  atau  y<>t  ,  iterasi  dilanjutkan.   User  dapat melakukan  perubahan parameter:
Gambar  13.  Pemberian  nilai  kembali  untuk uji ulang
Gambar  14.  Perhitungan secara tabel
Gambar  15.  Epoch 1 dan 2
Gambar  16.  Epoch 3 dan 4
Gambar  17. Epoch  10
Dari ga mbar 17 d i atas, bobot tidak berubah lagi seja k epoch 4 (iterasi 3)  sampai epoch 10  (iterasi 9)
Gambar  18.  Hasil  perhitungan net dibandingkan dengan Target pola
Dari ga mbar di atas menunjukkan  target pola yang diharapkan sama dengan target awal:
Gambar  19.  Hasil  perhitungan net dibandingkan dengan Target pola
Gambar  20.  Tampil  hasil pengenalan karakter  pola 1,2  dan 3

## V. KESIMPULAN  DAN  SARAN
Dari hasil percobaan pengenalan pola karakter menggunakan  algorit ma  perceptron  di  atas  diperoleh  bahwa dengan learning  rate  = 1, bias  awal  = 0  , threshold =  0.2 dapat mengenali pola  huruf A  dengan 3 epoch dimana  target pola  (y  /  f(net))  sa ma  dengan  target  yang  diinginkan  (t). Algorit ma  perceptron  tersebut  juga  dapat  digunakan  untuk pengenalan pola karakter  lain.

## DAFTAR  PUSTAKA
[1] Siang, Jong Je k. Jaringan Saraf Tiruan dan Pemrogramannya  Menggunak an  Matlab. Yogyakarta : 2005
[2] Haykin,  S., Neural  Network s,  a  Comprehensive Foundation, Prentice Hall,  1994
[3] De muth,  H.,  Beale,  M ., Neural  Network   Toolbox,  For Use with MATLAB, The MathWorks, 2001
[4] Stephens,  Rod., Visual  Basic  2005  Programmer’s Reference , Wiley Publishing, Indianapolis: 2005