ID None
ID None
Nurmila, Aris Sugiharto, Eko Adi Sarwoko
Abstract
Back Propagation Neural Network (BPNN) is a type of algorithm in Neural Network that can be use for
Javanese alphabets character recognition. Matlab 7.1 has been used as a software to support the program.
The main purpose of this research is order to find out BPNN’s training characteristic from each samples.
On the other hand, this research also gives BPNN’s accurancy value in Javanese alphabets character
recognition.
The result of research shows that each part of the samples having different BPNN’s characteristic based
on the best training.
Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086 – 4930 1
Algoritma Back Propagation Neural Network untuk Pengenalan Pola Karakter Huruf Jawa
Pada Gambar 1 diperlihatkan bahwa NN Syarat fungsi aktivasi dalam BPNN adalah
terdiri atas satuan-satuan pemroses berupa bersifat kontinu, terdifferensial dengan mudah,
neuron. Y sebagai output menerima input dari dan merupakan fungsi yang tidak turun. Fungsi
neuron X1, X2, X3, …, Xn dengan bobot W1, W2, aktivasi yang dapat memenuhi ketiga syarat
W3, …, Wn. Hasil penjumlahan seluruh impuls tersebut adalah logsig, tansig, dan purelin.
neuron dibandingkan dengan nilai ambang
tertentu melalui fungsi aktivasi f setiap neuron. Metode pengenalan merupakan proses
Fungsi aktivasi digunakan sebagai penentu inisialisasi data yang akan diolah selanjutnya
keluaran suatu neuron. oleh BPNN. Data yang akan dikenali disajikan
dalam bentuk vektor. Masing-masing data
Salah satu metode pelatihan dalam NN adalah mempunyai target yang disajikan juga dalam
pelatihan terbimbing (supervised learning). Pada bentuk vektor. Target atau keluaran acuan
pelatihan terbimbing diperlukan sejumlah merupakan suatu peta karakter yang
masukan dan target yang berfungsi untuk menunjukkan lokasi dari vektor masukan.
melatih jaringan hingga diperoleh bobot yang
diinginkan. Sedangkan metode pelatihan merupakan
proses latihan mengenali data dan menyimpan
Pada setiap kali pelatihan, suatu input pengetahuan atau informasi yang didapat ke
diberikan ke jaringan. Jaringan akan memproses dalam bobot-bobot (Heaton, 2003).
dan mengeluarkan keluaran. Selisih antara
keluaran jaringan dengan target merupakan Terdapat 3 fase dalam pelatihan BPNN, yaitu
kesalahan yang terjadi. Jaringan akan fase maju (feed forward), fase mundur (back
memodifikasi bobot sesuai dengan kesalahan propagation), dan fase modifikasi bobot. Dalam
tersebut. BPNN merupakan metode yang fase feed forward, pola masukan dihitung maju
menggunakan supervised learning. dimulai dari lapisan input hingga lapisan output.
Dalam fase back propagation, tiap-tiap unit
2.2. Back Propagation Neural Network output menerima target pola yang berhubungan
(BPNN) dengan pola input untuk dihitung nilai
BPNN merupakan algoritma pelatihan kesalahan. Kesalahan tersebut akan
terbimbing yang mempunyai banyak lapisan. dipropagasikan mundur. Sedangkan fase
BPNN menggunakan error output untuk modifikasi bobot bertujuan untuk menurunkan
mengubah nilai bobot-bobotnya dalam arah kesalahan yang terjadi. Ketiga fase tersebut
mundur (backward). Untuk mendapatkan error diulang secara terus menerus hingga kondisi
ini, tahap perambatan maju (forward penghentian dipenuhi.
propagation) harus dikerjakan terlebih dahulu.
Berikut ini merupakan algoritma dalam
pelatihan BPNN (Kusumadewi, 2004) :
Langkah 0 : ) Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil).
) Tetapkan : Maksimum Epoh, Target Error, dan Learning Rate ( ).
) Inisialisasi : Epoh = 0, MSE = 1.
Langkah 1 : ) Kerjakan langkah-langkah berikut selama (Epoh < Maksimum Epoh) dan
(MSE > Target Error) :
) Epoh = Epoh + 1.
Langkah 2 : Untuk tiap-tiap pasangan elemen yang akan dilakukan pembelajaran, kerjakan
langkah-langkah berikutnya.
2 Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086 – 4930
Nazla Nurmila, Aris Sugiharto, Eko Adi Sarwoko
Langkah 3 : Tiap-tiap unit input (Xi, i=1,2,…,n) menerima sinyal Xi dan meneruskan sinyal
tersebut ke semua unit pada lapisan yang ada di atasnya (lapisan tersembunyi).
Langkah 4 : Tiap-tiap unit pada suatu lapisan tersembunyi (Zj, j=1,2,…,p) menjumlahkan
sinyal-sinyal input terbobot :
dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Langkah 5 : Tiap-tiap unit output Yk (k=1,2,…,m) menjumlahkan sinyal-sinyal input terbobot
:
dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Fase II : Back Propagation
Langkah 6 : ) Tiap-tiap unit output Yk (k=1,2,…,m) menerima target pola yang
berhubungan dengan pola input pelatihan, hitung informasi errornya :
) Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung
informasi error :
Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086 – 4930 3
Algoritma Back Propagation Neural Network untuk Pengenalan Pola Karakter Huruf Jawa
2.3. Pemrograman BPNN dengan Matlab yang sama dengan input data pelatihan. Simulasi
7.1 jaringan merupakan proses untuk menghitung
Matlab 7.1 mempunyai toolbox NN yang keluaran jaringan. Perintah sim dalam Matlab
dapat digunakan dalam menyelesaikan 7.1 dapat digunakan untuk melakukan simulasi.
permasalahan BPNN. Untuk menginisialisasi Formatnya adalah Y = sim(net,P) Sedangkan
jaringan, perintah yang digunakan adalah newff. untuk melakukan pelatihan BPNN, digunakan
Format yang diberikan oleh toolbox Matlab 7.1 fungsi train yang formatnya adalah net = train
adalah sebagai berikut : (net, P, T)
net=newff(minmax(P),[S1 S2...SN],{TF1
TF2...TFN},BTF,BLF,PF) 3. Pembahasan dan Hasil Penelitian
Setiap kali membentuk jaringan, Matlab 7.1 3.1. Persiapan Data Pelatihan
akan memberikan nilai bobot awal dengan Data pelatihan yang digunakan terbagi atas 6
bilangan random kecil. Bobot akan berubah bagian. Masing-masing bagian menunjukkan
setiap kali menginisialisasi jaringan. Akan tetapi, banyaknya jumlah sampel pola. Tujuan dari
jika diinginkan memberi bobot tertentu, dapat pembagian data pelatihan agar dapat
menggunakan perintah net.IW{i,j} dan membandingkan hasil pelatihan pada masing-
net.LW{j,k}. masing bagian. Selain itu, untuk
membandingkan nilai keakuratan proses
Setelah menginisialisasi jaringan dan bobot, pengujian berdasarkan hasil pelatihan. Keenam
hasilnya kemudian disimulasikan dengan input bagian tersebut akan ditunjukkan dalam Tabel 1.
1. 1 Sampel √
2. 3 Sampel √ √ √
3. 5 Sampel √ √ √ √ √
4. 8 Sampel √ √ √ √ √ √ √ √
5. 10 Sampel √ √ √ √ √ √ √ √ √ √
6. 15 Sampel √ √ √ √ √ √ √ √ √ √ √ √ √ √ √
3.2. Pengolahan Citra Pola karakter yang digunakan seringkali
memiliki tingkat kualitas yang rendah sehingga
4 Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086 – 4930
Nazla Nurmila, Aris Sugiharto, Eko Adi Sarwoko
Prapengolahan
Pengambangan
Pemotongan
Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086 – 4930 5
Algoritma Back Propagation Neural Network untuk Pengenalan Pola Karakter Huruf Jawa
2. Fungsi pelatihan yang digunakan adalah pengujian. Data pengujian tersusun atas 20 kelas
traingdx. pola karakter huruf Jawa. Masing-masing kelas
3. Fungsi evaluasi yang digunakan adalah sse. mempunyai 15 sampel pola. Sehingga terdapat
4. Banyaknya jumlah neuron yang digunakan 300 pola yang digunakan untuk mempersiapkan
adalah 5, 15, dan 25. data pengujian. Data pelatihan yang telah terbagi
5. Fungsi aktivasi yang digunakan pada lapisan atas 6 bagian dan masing-masing telah memiliki
tersembunyi dan lapisan output kedua-duanya hasil pelatihan akan diikut sertakan dalam
adalah logsig. mempersiapkan data pengujian.
6. Jumlah epoh maksimum adalah 3000.
7. Pilihan untuk nilai learning rate adalah Langkah kedua adalah menentukan pola
0.01, 0.03, dan 0.05. karakter yang akan diuji. Dalam hal ini, tidak
8. Nilai momentum yang digunakan adalah ada aturan khusus dalam menentukan pola
0.5, 0.7, dan 0.9 karakter mana yang akan diuji terlebih dahulu.
9. Nilai yang diberikan untuk kenaikan dan
penurunan learning rate masing-masing Langkah selanjutnya adalah proses
adalah 1.05 dan 0.7. pengolahan citra. Proses yang dilakukan yaitu
10. Proses pelatihan dihentikan apabila sudah prapengolahan, pengambangan, pemotongan,
tercapai goal yang diinginkan, yaitu 0.1. dan perubahan ukuran pixel.
11. Untuk setiap data pelatihan dilakukan Sedangkan proses pengenalan pola
beberapa kali pelatihan dan diambil 1 yang merupakan proses untuk menentukan nilai
terbaik untuk dijadikan sebagai acuan proses keakuratan BPNN dalam mengenali pola
pengujian. karakter huruf Jawa. Pola karakter berupa data
12. Hasil terbaik dari pelatihan ditentukan pengujian akan disimulasikan berdasarkan hasil
berdasarkan nilai squared error terkecil dan pelatihan. Pola karakter yang memiliki nilai
berakhir epoh yang paling kecil. simulasi terbesar merupakan pola karakter yang
dikenali oleh BPNN.
3.4. Pengujian Hasil Pelatihan
Langkah pertama dalam melakukan proses Tabel 2 merupakan tabel seluruh hasil
pengujian adalah mempersiapkan data pengujian.
6 Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086 – 4930
Nazla Nurmila, Aris Sugiharto, Eko Adi Sarwoko
Terlihat pada Tabel 2, sampel yang diarsir memiliki karakteristik BPNN yang berbeda-
warna biru merupakan data pengujian yang beda. Hasil pelatihan yang ditunjukkan
digunakan pada saat melakukan proses mempunyai nilai yang berbeda-beda pula.
pelatihan. Dengan kata lain, arsiran warna biru Berdasarkan hasil pelatihan tersebut, diambil 1
pada Tabel 2 menunjukkan banyaknya sampel yang terbaik untuk dijadikan sebagai acuan
yang digunakan pada saat pelatihan. proses pengujian. Seluruh karakteristik BPNN
dengan hasil pelatihan terbaik pada masing-
3.5. Analisis Hasil Pelatihan dan Pengujian masing bagian sampel beserta hasil
Pola Karakter Huruf Jawa pengujiannya ditunjukkan dalam Tabel 3.
Terdapat 6 bagian dalam pelatihan pola
karakter huruf Jawa. Masing-masing bagian
Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086 – 4930 7
Algoritma Back Propagation Neural Network untuk Pengenalan Pola Karakter Huruf Jawa
8 Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086 – 4930
Nazla Nurmila, Aris Sugiharto, Eko Adi Sarwoko
[6] Nugroho, Agung, “Pengenalan Pola [11] Siang, Jong Jek, “Jaringan Syaraf Tiruan
Karakter Huruf Jawa menggunakan dan Pemrogramannya menggunakan
Jaringan Syaraf Tiruan LVQ (Learning Matlab”, Andi, Yogyakarta, 2005.
Vector Quantization)”, Tugas Akhir-
Perpustakaan F. MIPA UNDIP, Semarang, [12] Sugiharto, Aris, “Pemrograman GUI
2005. dengan MATLAB”, Andi, Yogyakarta,
2006.
[7] Nur Yusuf Oktavia, Ahmad Zakky, Riyanto
Sigit, Miftahul Huda, “Aplikasi Jaringan [13] Zamasari, Reki, “Pengenalan Pola
Syaraf Tiruan untuk Pengenalan Huruf Karakter Aksara Jawa dengan Algoritma
pada Pengolahan Citra Digital Berbasis Kohonen Neural Network”, Tugas Akhir-
Web”, Makalah Tugas Pendahuluan Proyek Perpustakaan F. MIPA UNDIP, Semarang,
Akhir, Politeknik Elektronika Negeri 2005.
Surabaya-Institut Teknologi Sepuluh
Nopember Surabaya, 2002. [14] www.mathworks.com (diakses terakhir
pada tanggal 23 September 2007 jam 15.25
[8] Prabowo, Anindito, “Perbandingan antara WIB).
Metode Kohonen Neural Network dengan
Metode Learning Vector Quantization pada
Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086 – 4930 9
10 Jurnal Masyarakat Informatika, Volume 1, Nomor 1, ISSN 2086 – 4930