Anda di halaman 1dari 30

JARINGAN SYARAF TIRUAN

METODE HEBBIAN

OLEH :
KELOMPOK 1
1. Laode Muh. Supri ( E1D1 11 051 )
2. Muh. Hutri Lipultan Kasim ( E1D1 13 019 )
3. LM Arison Al Asri (E1D1 13 036 )
4. Andi Zulfikar ( E1D1 14 006 )
5. Eva Syamrosbania Lelana ( E1D1 14 009 )
6. Sahrul Husu ( E1D1 14 019 )
7. Musdar ( E1D1 14 052 )

JURUSAN TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS HAALU OLEO
KENDARI
2017
KATA PENGANTAR

Assalamualaikum Warahmatullahi Wabarakatu


Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas selesainya
makalah yang berjudul “ METODE HEBBIAN”. Atas dukungan moral dan materi
yang diberikan dalam penyusunan makalah ini, maka penulis mengucapkan banyak
terima kasih :
1. Kepada Dosen Mata Kuliah selaku pemberi materi dan bimbingan kepada kami
dalam pembuatan makalah ini.
2. Kepada Kedua Orangtua yang telah memberi doa dan motivasi agar kami
semangat dalam pembuatan makalah ini
3. Kepada Teman teman yang memberi support dan masukkan kepada kami
dalam pembuatan makalah ini.

Penulis menyadari bahwa makalah ini belumlah sempurna. Oleh karena itu, saran
dan kritik yang membangun dari rekan-rekan sangat dibutuhkan untuk
menyempurnakan makalah ini.

Kendari, Juni 2017

Penyusun
BAB I
PENDAHULUAN

1.1 Latar Belakang

Jaringan syaraf adalah merupakan salah sat representasi buatan dari otak
manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak
manusia tersebut. Istilah buatan disini digunakan karena jaringan syaraf ini di
implementasikan dengan menggunakan program komputer yang mampu
menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. Jaringan
saraf tiruan (JST) atau neural network adalah suatu metode komputasi yang meniru
sistem jaringan saraf biologis. Metode ini menggunakan elemen perhitungan non-linier
dasar yang disebut neuron yang diorganisasikan sebagai jaringan yang saling
berhubungan, sehingga mirip dengan jaringan saraf manusia.Jaringan saraf tiruan
dibentuk untuk memecahkan suatu masalah tertentu seperti pengenalan pola atau
klasifikasi karena proses pembelajaran[YAN05].
Layaknya neuron biologi, JST juga merupakan sistem yang bersifat “fault
tolerant” dalam 2 hal. Pertama, dapat mengenali sinyal input yang agak berbeda dari
yang pernah diterima sebelumnya. Sebagai contoh, manusia sering dapat mengenali
seseorang yang wajahnya pernah dilihat dari foto atau dapat mengenali sesorang yang
wajahnya agak berbeda karena sudah lama tidak menjumpainya. Kedua, tetap mampu
bekerja meskipun beberapa neuronnya tidak mampu bekerja dengan baik. Jika sebuah
neuron rusak, neuron lain dapat dilatih untuk menggantikan fungsi neuron yang rusak
tersebut.
Hebb adalah seorang psikolog Kanada yang berprofesi sebagai akademisi di
perguruan tinggi atau universitas yang berpengaruh. Hebb lahir di Chester, Nova
Scotia, sebuah desa yang terletak di Kanada Nova Scotia's Chester, bagian tenggara
dari Lunenburg County, Nova Scotia. Pembelajaran hebb menyangkut kemungkinan
mekanisme modifikasi sinaptik dalam otak yang kemudian digunakan untuk melatih
jaringan syaraf tiruan. Pada tahun 1949 Hebb merangkum hasil peneliian yang telah
dilakukannya selama 20 tahun kedalam bku yang berjudul “The Organization of
Behavior”, yang pada intinya mengatakan bahwa perilaku dapat dijelaskan melalui
aksi-aksi neuron. Ide yang paling terkenal didalam buku Hebb diatas adalah sebuah
postulat yang kemudian dikenal dengan nama metode belajar Hebb “Jika axon sebuah
sel A cukup dekat untuk bisa mengeksitasi sel B dan secara berulang atau terus
menerus melakukan penembakan, beberapa proses atau perubahan metabolisme akan
terjadi pada satu atau kedua sel, sehingga efisiensi sel A sebagai salah satu sel
penembak B akan meningkat”.

1.2 Rumusan Masalah

Adapun rumusan masalahnya yaitu :


1. Apa yang dimaksud dengan jaringan hebb ?
2. Bagaimana sejarah hebb ?
3. Apa karakteristik hebb ?
4. Apa itu asosiator linear ?
5. Bagaimana aturan hebb ?
6. Bagaimana algoritma hebb ?
7. Apa apikasi metode hebb ?

1.3 Tujuan Dan Manfaat


Adapun tujuan dibuatnya makalah ini adalah untuk memenuhi tugas yang
diberikan oleh dosen dan juga sebagai referensi dalam mempelajari metode
Hebbian.
BAB II
PEMBAHASAN

2.1 Pengertian Jaringan Hebb

Jaringan Hebb adalah jaringan neural buatan yang mempunyai aturan


pembelajaran yang sederhana. Hebb mengusulkan bahwa pembelajaran dilakukan
dengan memodifikasi bobot dimana jika 2 neuron yang terhubung adalah “on”
dalam waktu yang sama, maka bobot diantara keduanya harus ditingkatkan.
Metode ini kemudian dikembangkan dengan menambah satu prinsip lainnya yaitu
bobot juga akan ditingkatkan bila kedua neuron “off” dalam waktu yang sama.

2.2 Sejarah Hebb


Aturan Hebb merupakan salah satu hukum pembelajaran jaringan neural yang
pertama dikemukakan oleh Donald Hebb (1949). Hebb lahir di chester, Nova
Scotia pada pergantian abad.
Isinya menyangkut kemungkinan mekanisme modifikasi sinaptik dalam otak
yang kemudian digunakan untuk melatih jaringan syaraf tiruan. Pada tahun 1949
Hebb merangkum hasil peneliian yang telah dilakukannya selama 20 tahun
kedalam bku yang berjudul “The Organization of Behavior”, yang pada intinya
mengatakan bahwa perilaku dapat dijelaskan melalui aksi-aksi neuron.
Ide yang paling terkenal didalam buku Hebb diatas adalah sebuah postulat yang
kemudian dikenal dengan nama metode belajar Hebb “Jika axon sebuah sel A
cukup dekat untuk bisa mengeksitasi sel B dan secara berulang atau terus menerus
melakukan penembakan, beberapa proses atau perubahan metabolisme akan terjadi
pada satu atau kedua sel, sehingga efisiensi sel A sebagai salah satu sel penembak
B akan meningkat”. Walaupun Hebb tidak pernah memberikan bukti fisiologis
yang signifikan mengenai teorinya, namun penelitian-penelitian selanjutnya
menunjukkan bahwa sejumlah sel menunjukkan pola belajar Hebbian.
2.3 Karakteristik

Jaringan Hebb mempunyai karakteristik sebagai berikut :


 Jaringan lapis tunggal

o Jaringan terdiri dari satu atau lebih unit masukan dan satu unit keluaran.

o Mempunyai sebuah bias yang berperilaku seperti bobot yang bisa disesuaikan
yang terletak pada koneksi dari sebuah unit yang selalu mengeluarkan sinyal
+1 agar bobot bias bisa dilatih seperti bobot lainnya dengan proses yang sama
dalam algoritma pelatihan.

 Fungsi aktivasi
Fungsi yang digunakan adalah fungsi identitas, artinya keluaran layer input sama
dengan masukannya.
F(y_in) = y_in (1)
 Arsitektur

Arsitektur jaringan Hebb ditunjukkan pada gambar 1. Pada jaringan ini, terdapat n
unit masukan, yaitu X1, …, Xi, …, Xn dengan bobot w1, …, wi, …, wn, dan
sebuah unit keluaran, yaitu Y. Selain itu, terdapat sebuah unit yang selalu
memberikan sinyal +1 dimana bobotnya diberi nama bias (b).


1

b
 X1
W1

 Wi Y
Xi


Wn
 Xn

Gambar 1. Arsitektur Hebb




2.4 Aturan Hebb (Hebb Rule)

Hebb Rule adalah metode pembelajaran yang paling sederhana. Pada metode ini
pembelajaran dilakukan dengan cara memperbaiki nilai bobot sedemikian rupa
sehingga jika ada 2 neuron yang terhubung, dan keduanya pada kondisi hidup pada
saat yang sama, maka bobot antara keduanya dinaikkan. Apabila data
direpresentasikan secara bipolar, maka perbaikan bobotnya adalah
w1 (baru) = w1(lama) + x1*y
Keterangan :
W1 = bobot data input ke – i
X1 =input data ke – i
Y = output data
Misalkan kita akan menggunakan pasangan vektor input s dan vektor output
sebagai pasangan vektor yang akan dilatih, sedangkan vektor yang hendak
digunakan untuk testing adalah vektor x.
Terdapat juga aturan Hebb dengan supervisi (supervised Hebb Rule), dimana
pada persamaannya, keluaran aktual digantikan dengan keluaran target.
Persamaannya :

Dengan tiq adalah elemen ke – i dari vektor target t ke – q. Untuk memudahkan learning
rate diset bernilai 1.

Representasi dalam bentuk matriks :



2.5 Langkah-Langkah Pembelajaran

 Algoritma Pembelajaran

Untuk melatih jaringan, dilakukan langkah- langkah berikut ini
: Langkah 0. Inisialisasi seluruh bobot
wi = 0 i = 1, 2, …, n
Langkah 1. Untuk setiap pasangan vektor masukan pelatihan dan target keluaran,
s:t (s adalah vektor masukan pelatihan dan t adalah vektor target
keluaran), lakukan langkah 2-4
Langkah 2. Set aktivasi untuk unit masukan :
x i = si i = 1, 2, …, n
Langkah 3. Set aktivasi untuk unit keluaran :
y=t
Langkah 4. Sesuaikan bobot untuk
wi (new) = wi (old) + xi y i = 1, 2, …, n
Sesuaikan bias :
b(new) = b(old) + y i = 1, 2, …, n
Perlu dicatat bahwa bias disesuaikan sama seperti sebuah bobot dari sebuah unit
yang keluaran sinyalnya selalu +1. Perubahan bobot dapat juga diekspresikan
dalam bentuk vektor sebagai
wi (new) = wi (old) + xy (2)
Hal ini sering ditulis dalam bentuk perubahan bobot, ∆w, sebagai
∆w = xy (3)
sehingga
wi (new) = wi (old) + ∆w (4)

 Algoritma Pengujian

Untuk menguji suatu masukan, dilakukan langkah- langkah berikut ini :
Langkah 0. Inisialisasi bobot

(digunakan nilai bobot yang diperoleh dari algoritma pelatihan)
Langkah 1. Untuk setiap vektor masukan x, lakukan langkah 2-4

Langkah 2. Set nilai aktifasi dari unit masukan, i = 1, …., n
xi  si
Langkah 3. Hitung total masukan ke unit keluaran y
y_ in  Σxiwi + b

Langkah 4. Gunakan fungsi aktifasi


F(y_in) = y_in
Dimana nilai F(y_in) menjadi nilai keluaran dari unit keluaran (Y).
Langkah 5. Menghitung error
Error = target – Y = keluaran hebb
2.6 Pembelajaran Manual
Fungsi aktifasi


1 b Y = X1W1+X2W2+b

 W1
X1 1 u≥1
 Y F(Y) =
 W2 0 u<0
X2

Diketahui fungsi AND dengan target sebagai berikut :


Input Bias Target
x1 x2 b t
0 0 1 0
0 1 1 0
1 0 1 0
1 1 1 1

=>
Bobot awal dan bobot bias kita set 0 , learning rate = 1, menggunakan fungsi aktivasi
undak biner.
X=
0 0
0 1
1 0
1 1
T=
0
0
0
1
Bobot awal =
w=
0
0
b= 0

Epoh ke 1
Data ke-1 x = {0,0}, bobot w = {0,0},b=0,target = 0
y_in = (x1*w1)+(x2*w2)+b = (0*0)+(0*0)+0 = 0
y = sign(0) = 1
karena y != target maka hitung error dan update bobot
error = target - y = 0 - 1 = -1
w1_baru = w1_lama +(learning_rate*error*x1)
= 0 + (1*(-1)*0) = 0
w2_baru = w2_lama +(learning_rate*error*x2)
= 0+(1*(-1)*0) = 0
bias_baru = bias_lama + (learning_rate*error)
= 0 +(1*(-1)) = -1
maka didapat bobot baru w = {0,0},b = -1 dan lanjutkan untuk data yang ke dua

Data ke-2 x = {0,1}, w = {0,0} ,b=-1,target = 0


y_in = (x1*w1)+(x2*w2)+b = (0*0)+(1*0)+(-1) = -1
y = sign(-1) = 0
karena y = target maka tidak perlu dilakukan perbaikan bobot dan lanjutkan
untuk data yang ke tiga

Data ke-3 x = {1,0}, w = {0,0},b = -1 target = 0


y_in = (x1*w1)+(x2*w2)+b= (1*0)+(0*0)+(-1) = -1
y = sign(-1) = 0
karena y = target maka tidak perlu dilakukan perbaikan bobot dan lanjutkan
untuk data yang ke empat
Data ke-4 x = {1,1} w = {0,0},b = -1 target = 1
y_in = (x1*w1)+(x2*w2)+b = (1*0)+(1*0)+(-1) = -1
y = sign(-1) = 0
karena y != target maka hitung error dan update bobot
error = target - y = 1 - 0 = 1
w1_baru = w1_lama +(learning_rate*error*x1)
= 0 + (1*(1)*1) = 1
w2_baru = w2_lama +(learning_rate*error*x2)
= 0+(1*(1)*1) = 1
bias_baru = bias_lama + (learning_rate*error)
= -1 +(1*1) = 0
maka didapat bobot baru w = {1,1},b = 0 dan lanjutkan untuk data
selanjutnya karena di epoh pertama masih ada eror, maka perhitungan di
lanjutkan ke epoh berikutnya.
X1 X2 t W1 W2 b t W1 b. W2 b. Bias b.
0 0 0 0 0 0 1 0 0 -1
0 1 0 0 0 -1 0 - - -
1 0 0 0 0 -1 0 - - -
1 1 1 0 0 -1 0 1 1 0

Epoh ke dua
Data ke-1 dengan x = {0,0},w = {1,1},b=0,target = 0
y_in = (x1*w1)+(x2*w2)+b = (0*1)+(0*1)+0 = 0
y = sign(0) = 1
karena y != target maka hitung error dan update bobot
error = target - y = 0 - 1 = -1
w1_baru = w1_lama +(learning_rate*error*x1)
= 1 + (1*(-1)*0) = 1
w2_baru = w2_lama +(learning_rate*error*x2)
= 1+(1*(-1)*0) = 1
bias_baru = bias_lama + (learning_rate*error)
= 0 +(1*(-1)) = -1
maka didapat bobot baru w = {1,1},b=-1 dan lanjutkan untuk data yang ke dua
Data ke-2 dengan x = {0,1},w = {1,1},b=-1,target = 0
y_in = (x1*w1)+(x2*w2)+b = (0*1)+(1*1)+(-1) = 0
y = sign(0) = 1
karena y != target maka hitung error dan update bobot
error = target - y = 0 - 1 = -1
w1_baru = w1_lama +(learning_rate*error*x1)
= 1 + (1*(-1)*0) = 1
w2_baru = w2_lama +(learning_rate*error*x2)
= 1+(1*(-1)*1) = 0
bias_baru = bias_lama + (learning_rate*error)
= -1 +(1*(-1)) = -2
maka didapat bobot baru w = {1,0},b=-2 dan lanjutkan untuk data yang ke tiga

Data ke-3 dengan x = {1,0}, w = {1,0}, b=-2, target = 0


y_in = (x1*w1)+(x2*w2)+b = (1*1)+(0*0)+(-2) = -1
y = sign(-1) = 0
karena y == target maka tidak perlu dilakukan perbaikan bobot dan
lanjutkan untuk data yang ke empat

Data ke-4 dengan x ={1,1},w ={1,0},b=-2, target = 1


y_in = (x1*w1)+(x2*w2)+b = (1*1)+(1*0)+(-2) = -1
y = sign(-1) = 0
karena y != target maka hitung error dan update bobot
error = target - y = 1 - 0 = 1
w1_baru = w1_lama +(learning_rate*error*x1)
= 1 + (1*1*1) = 2
w2_baru = w2_lama +(learning_rate*error*x2)
= 0+(1*1*1) = 1
bias_baru = bias_lama + (learning_rate*error)
= -2 +(1*1) = -1
maka didapat bobot baru w = {2,1},b=-1. Karena di epoh ke dua masih ada
error,maka di lanjut ke epoh selanjutnya.
X1 X2 t W1 W2 b t W1 b. W2 b. Bias b.
0 0 0 1 1 0 1 1 1 -1
0 1 0 1 1 -1 1 1 0 -2
1 0 0 1 0 -2 0 - - -
1 1 1 1 0 -2 0 2 1 -1

Epoh ke tiga
Data ke-1 dengan x = {0,0},w = {2,1},b=-1,target = 0
y_in = (x1*w1)+(x2*w2)+b = (0*2)+(0*1)+(-1) = -1
y = sign(-1) = 0
karena y == target maka tidak perlu dilakukan perbaikan bobot dan
lanjutkan untuk data yang ke dua

Data ke-2 dengan x = {0,1},w = {2,1},b=-1,target = 0


y_in = (x1*w1)+(x2*w2)+b = (0*2)+(1*1)+(-1) = 0
y = sign(0) = 1
karena y != target maka hitung error dan update bobot
error = target - y = 0 - 1 = -1
w1_baru = w1_lama +(learning_rate*error*x1)
= 2 + (1*(-1)*0) = 2
w2_baru = w2_lama +(learning_rate*error*x2)
= 1+(1*(-1)*1) = 0
bias_baru = bias_lama + (learning_rate*error)
= -1 +(1*(-1)) = -2
maka didapat bobot baru w = {2,0},b=-2 dan lanjutkan untuk data yang ke tiga

Data ke-3 dengan x = {1,0}, w = {2,0}, b=-2, target = 0


y_in = (x1*w1)+(x2*w2)+b = (1*2)+(0*0)+(-2) = 0
y = sign(0) = 1
karena y != target maka hitung error dan update bobot
error = target - y = 0 - 1 = -1
w1_baru = w1_lama +(learning_rate*error*x1)
= 2 + (1*(-1)*1) = 1
w2_baru = w2_lama +(learning_rate*error*x2)
= 0+(1*(-1)*0) = 0
bias_baru = bias_lama + (learning_rate*error)
= -2 +(1*(-1)) = -3
maka didapat bobot baru w = {1,0},b=-3 dan lanjutkan untuk data yang ke empat

Data ke-4 dengan x ={1,1},w ={1,0},b=-3, target = 1


y_in = (x1*w1)+(x2*w2)+b = (1*1)+(1*0)+(-3) = -2
y = sign(-2) = 0
karena y != target maka hitung error dan update bobot
error = target - y = 1 - 0 = 1
w1_baru = w1_lama +(learning_rate*error*x1)
= 1 + (1*1*1) = 2
w2_baru = w2_lama +(learning_rate*error*x2)
= 0+(1*1*1) = 1
bias_baru = bias_lama + (learning_rate*error)
= -3 +(1*1) = -2
maka didapat bobot baru w = {2,1},b=-2. Karena di epoh ke dua masih ada
error,maka di lanjut ke epoh selanjutnya.
X1 X2 t W1 W2 b t W1 b. W2 b. Bias b.
0 0 0 2 1 -1 0 - - -
0 1 0 2 1 -1 1 2 0 -2
1 0 0 2 0 -2 1 1 0 -3
1 1 1 1 0 -3 0 2 1 -2

Epoh ke empat
Data ke-1 dengan x = {0,0},w = {2,1},b=-2,target = 0
y_in = (x1*w1)+(x2*w2)+b = (0*2)+(0*1)+(-2) = -2
y = sign(-2) = 0
karena y == target maka tidak perlu dilakukan perbaikan bobot dan
lanjutkan untuk data yang ke dua
Data ke-2 dengan x = {0,1},w = {2,1},b=-2,target = 0
y_in = (x1*w1)+(x2*w2)+b = (0*2)+(1*1)+(-2) = -1
y = sign(-1) = 0
karena y = target maka tidak perlu dilakukan perbaikan bobot dan lanjutkan
untuk data yang ke tiga

Data ke-3 dengan x = {1,0}, w = {2,1}, b=-2, target = 0


y_in = (x1*w1)+(x2*w2)+b = (1*2)+(0*1)+(-2) = 0
y = sign(0) = 1
karena y != target maka hitung error dan update bobot
error = target - y = 0 - 1 = -1
w1_baru = w1_lama +(learning_rate*error*x1)
= 2 + (1*(-1)*1) = 1
w2_baru = w2_lama +(learning_rate*error*x2)
= 1+(1*(-1)*0) = 1
bias_baru = bias_lama + (learning_rate*error)
= -2 +(1*(-1)) = -3
maka didapat bobot baru w = {1,1},b=-3 dan lanjutkan untuk data yang ke empat

Data ke-4 dengan x ={1,1},w ={1,1},b=-3, target = 1


y_in = (x1*w1)+(x2*w2)+b = (1*1)+(1*1)+(-3) = -1
y = sign(-1) = 0
karena y != target maka hitung error dan update bobot
error = target - y = 1 - 0 = 1
w1_baru = w1_lama +(learning_rate*error*x1)
= 1 + (1*1*1) = 2
w2_baru = w2_lama +(learning_rate*error*x2)
= 1+(1*1*1) = 2
bias_baru = bias_lama + (learning_rate*error)
= -3 +(1*1) = -2
maka didapat bobot baru w = {2,2},b=-2. Karena di epoh ke dua masih ada
error,maka di lanjut ke epoh selanjutnya sampai tidak ada error untuk setiap data
dalam satu iterasi atau epoh mencapai maksimal epoh.
X1 X2 t W1 W2 b t W1 b. W2 b. Bias b.
0 0 0 2 1 -2 0 - - -
0 1 0 2 1 -2 0 - - -
1 0 0 2 1 -2 1 1 1 -3
1 1 1 1 1 -3 0 2 2 -2

Setelah iterasi berhenti, entah itu karena tidak ada error atau jumlah epoh
terpenuhi,maka nilai bobot w dan bias b di gunakan dalam proses klasifikasi
dengan rumus :
y_in = (input_1*bobot_1)+(input_2*bobot_2)+......(input_n*bobot_n)+b
output = sign(y_in)

2.7 Pengenalan Pola Huruf Kapital Menggunakan Algoritma Hebb


Aplikasi pelatihan pengenalan pola masukan baik yang berbentuk biner
maupun bipolar menggunakan metode hebb merupakan solusi terbaik untuk mengenali
bentuk berdasarkan geometri ruang tiga dimensi yaitu memiliki panjang, lebar
maupun tinggi. Sehingga diharapkan metode hebb dapat mengenali gambar dengan
bentuk aslinya dengan cepat dan akurat. Pada penelitian ini metode jaringan saraf
tiruan yang digunakan adalah metode hebb yang merupakan metode kecerdasan buatan
modern untuk mengenali pola masukan baik berbentuk biner maupun bipolar.
Objek yang akan dijadikan sebagai masukan dalam aplikasi pelatihan hebb ini
adalah pengenalan huruf kapital. Dan untuk mengimplementasikan algoritma hebb ini
peneliti menggunakan aplikasi matlab. Hasil yang diharapkan melalui penelitian ini
adalah aplikasi pengenalan pola huruf kapital bisa lebih akurat dalam membedakan
masukan dengan aslinya. Prosentase pengenalan pola huruf kapital diharapkan
menghasilkan rate antara 75.50% hingga 93.70% dengan prosentase akurat hingga
90.00%.
A. Subjek Penelitian
Pada penelitian ini yang menjadi subjek penelitian adalah pengenalan pola
masukan huruf dengan menggunakan jaringan saraf tiruan hebbrule. Pola huruf
yang menjadi masukan berupa data biner maupun bipolar.
B. Analisis Kebutuhan
Klasifikasi pola pengenalan huruf berbasis jaringan saraf tiruan dilakukan
dengan menggunakan beberapa sample pola yaitu huruf A, F dan H berupa variabel
yang terdiri dari 25 titik (5 baris dan 5 kolom). Sehingga setiap satu pola memiliki
25 variabel input seperti table berikut ini :

Bila tanda hitam diberi simbol ‘1’ dan putih diberi simbol ‘-1’ maka pola
masukan diatas menjadi: Untuk huruf ‘A’ memiliki pola antara lain :

-1 -1 1 -1 -1

-1 1 1 1 -1

1 -1 -1 -1 1

1 1 1 1 1

1 -1 -1 -1 1

Pola A

1 1 1 1 1

1 1 1 1 1

1 1 -1 -1 -1

1 1 1 1 -1

1 1 -1 -1 -1

Pola F
1 -1 -1 -1 1

1 -1 -1 -1 1

1 1 1 1 1

1 -1 -1 -1 1

1 -1 -1 -1 1

Pola H

Kemudian dibuat pasangan antara pola dan target sebagai berikut :


Pola Masukan Target
Pola A 1
Pola F -1
Pola H -1

Sebagai contoh bahwa disini terlihat target = 1 hanya berlaku untuk huruf
‘A’ saja, sedangkan huruf selain ‘A’ target = 1
Pengujian terhadap program ini dilakukan dengan tujuan agar dapat
diketahui apakah program yang dibuat telah sesuai dengan yang diinginkan dengan
parameter unjuk-kerja diukur dari prosentase pengenalan terhadap karakter huruf
kapital yang diujikan.
a. Training
Masukkan pola huruf yang akan di-training, lalu klik tombol Training. Jika
proses training maka akan muncul kotak dialog sbb:

Setelah proses training satu huruf berhasil, lanjutkan training pada huruf lainnya
Pada huruf yang yang akan menjalani proses training ada 7, yakni A,F dan H
b. Testing
Setelah proses training selanjutnya adalah proses testing. Pola huruf yang
dimasukkan akan dimodifikasi sehingga ada huruf yang dapat dikenali dan
tidak. Proses tetsting berikut masih dikenali adalah A dan H.

2.8 Jaringan Saraf Tiruan Algoritma Hebb


Jaringan Syaraf Tiruan dari metode Hebb pola A, F dan H dengan nilai awal W 1
sampai W5=0, bias = 0 dan learning rate =1

Pola A :
X1 X2 X3 X4 X5 T
-1 -1 1 -1 -1 1
-1 1 1 1 -1 1
1 -1 -1 -1 1 1
1 1 1 1 1 1
1 -1 -1 -1 1 1
Epoh Ke-1
 Data ke-1
X1 = -1 W1 = 0 b=0 learning rate = 1
X2 = -1 W2 = 0 T=1
X3 = 1 W3 = 0
X4 = -1 W4 = 0
X5 = -1 W5 = 0

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (-1*0 )+ (-1*0 )+ (1*0 )+ (-1*0 )+ (-1*0 )+0
=0
Y = sign (0) = 1
Y = target yaitu 1
 Data ke-2
X1 = -1 W1 = 0 b=0 learning rate = 1
X2 = 1 W2 = 0 T=1
X3 = 1 W3 = 0
X4 = 1 W4 = 0
X5 = -1 W5 = 0

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (-1*0 )+ (1*0 )+ (1*0 )+ (1*0 )+ (-1*0 ) + 0
=0
Y = sign (0) = 1
Y = target yaitu 1

 Data ke-3
X1 = 1 W1 = 0 b=0 learning rate = 1
X2 = -1 W2 = 0 T=1
X3 = -1 W3 = 0
X4 = -1 W4 = 0
X5 = -1 W5 = 0

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (1*0 )+ (-1*0 )+ (-1*0 )+ (-1*0 )+ (1*0 )+0
=0
Y = sign (0) = 1
Y = target yaitu 1

 Data ke-4
X1 = 1 W1 = 0 b=0 learning rate = 1
X2 = 1 W2 = 0 T=1
X3 = 1 W3 = 0
X4 = 1 W4 = 0
X5 = 1 W5 = 0
Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b
= (1*0 )+ (1*0 )+ (1*0 )+ (1*0 )+ (1*0 )+0
=0
Y = sign (0) = 1
Y = target yaitu 1

 Data ke-5
X1 = 1 W1 = 0 b=0 learning rate = 1
X2 = -1 W2 = 0 T=1
X3 = -1 W3 = 0
X4 = -1 W4 = 0
X5 = 1 W5 = 0

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (1*0 )+ (-1*0 )+ (-1*0 )+ (-1*0 )+ (1*0 )+0
=0
Y = sign (0) = 1
Y = target yaitu 1

 Y_in = (input 1 * bobot 1)+( input 2 * bobot 2)+ ( input 3 * bobot 3)+
( input 4 * bobot 4)+ ( input 5* bobot 5)+b
= (1*0)+(-1*0)+(-1*0)+(-1*0)+(1+0)+0
=0
Output = sign( 0 ) = 1
X1 X2 X3 X4 X5 T W1 W2 W3 W4 W5 b T
-1 -1 1 -1 -1 1 0 0 0 0 0 0 1
-1 1 1 1 -1 1 0 0 0 0 0 0 1
1 -1 -1 -1 1 1 0 0 0 0 0 0 1
1 1 1 1 1 1 0 0 0 0 0 0 1
1 -1 -1 -1 1 1 0 0 0 0 0 0 1
Pola F :
X1 X2 X3 X4 X5 T
1 1 1 1 1 -1
1 1 1 1 1 -1
1 1 -1 -1 -1 -1
1 1 1 1 -1 -1
1 1 -1 -1 -1 -1
Epoh Ke-1
 Data ke-1
X1 = 1 W1 = 0 b=0 learning rate = 1
X2 = 1 W2 = 0 T = -1
X3 = 1 W3 = 0
X4 = 1 W4 = 0
X5 = 1 W5 = 0

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (1*0 )+ (1*0 )+ (1*0 )+ (1*0 )+ (1*0 )+0
=0
Y = sign (0) = 1
Y ≠ target yaitu -1
Error = target – y = -1 -0 = -1
o Bobot baru
W1 = W1lama + (learning rate*error*X1)
= 0 + (1 * -1* 1) = -1
W2=W3= W4 = W5= -1
bbaru = blama + (learning rate*error)
= 0 + (1 * -1* ) = -1
 Data ke-2
X1 = 1 W1 = -1 b = -1 learning rate = 1
X2 = 1 W2 = -1 T = -1
X3 = 1 W3 = -1
X4 = 1 W4 = -1
X5 = 1 W5 = -1
Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b
= (1*-1 )+ (1*-1)+ (1*-1 )+ (1*-1 )+ (1*-1 ) -1
= -6
Y = sign (-6) = 0
Y ≠ target yaitu -1
Error = target – y = -1 -0 = -1
o Bobot baru
W1 = W1lama + (learning rate*error*X1)
= -1+ (1 * -1* 1) = -2
W2=W3= W4 = W5= -2
bbaru = blama + (learning rate*error)
= -1 + (1 * -1* ) = -2

 Data ke-3
X1 = 1 W1 = -2 b = -2 learning rate = 1
X2 = 1 W2 = -2 T = -1
X3 = -1 W3 = -2
X4 = -1 W4 = -2
X5 = -1 W5 = -2

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (1*-2 )+ (1*-2)+ (-1*-2 )+ (-1*-2 )+ (-1*-2 ) -2
=0
Y = sign (0) = 1
Y ≠ target yaitu -1
Error = target – y = -1 -1= -2
o Bobot baru
W1 = W1lama + (learning rate*error*X1)
= -2+ (1 * -2* 1) = -4
W1=W2= -4
W3= W3lama +(learning rate*error*X3)
= -2+ (1 * -2* -1) = 0
W3= W4 = W5= 0
bbaru = blama + (learning rate*error)
= -2 + (1 * -2* ) = -4
 Data ke-4
X1 = 1 W1 = -4 b = -4 learning rate = 1
X2 = 1 W2 = -4 T = -1
X3 = 1 W3 = 0
X4 = 1 W4 = 0
X5 = -1 W5 = 0

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (1*-4 )+ (1*-4)+ (1*0 )+ (1*0)+ (-1*0 ) -4
= -12
Y = sign (-12) = 0
Y ≠ target yaitu -1
Error = target – y = -1 -0= -1
o Bobot baru
W1 = W1lama + (learning rate*error*X1)
= -4+ (1 * -1* 1) = -5
W1=W2= -5
W3= W3lama +(learning rate*error*X3)
= 0+ (1 * -1* 1) = -1
W3= W4 = -1
W5= W5lama +(learning rate*error*X5)
= 0+ (1 * -1* -1) = 1
bbaru = blama + (learning rate*error)
= -4 + (1 * -1* ) = -5

 Data ke-5
X1 = 1 W1 = -5 b = -5 learning rate = 1
X2 = 1 W2 = -5 T = -1
X3 = -1 W3 = -1
X4 = -1 W4 = -1
X5 = -1 W5 = 1
Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b
= (1*-5 )+ (1*-5)+ (-1*-1)+ (-1*-1)+ (-1*1 ) -5
= -14
Y = sign (-14) = 0
Y ≠ target yaitu -1
Error = target – y = -1 -0= -1
o Bobot baru
W1 = W1lama + (learning rate*error*X1)
= -5+ (1 * -1* 1) = -6
W1=W2= -6
W3= W3lama +(learning rate*error*X3)
= -1+ (1 * -1* -1) = 0
W3= W4 = 0
W5= W5lama +(learning rate*error*X5)
= 1+ (1 * -1* -1) = 2
bbaru = blama + (learning rate*error)
= -5 + (1 * -1* ) = -6
W1 W2 W3 W4 W5 B
X1 X2 X3 X4 X5 T W1 W2 W3 W4 W5 B T
B. B. B. B. B. B.
1 1 1 1 1 -1 0 0 0 0 0 0 1 -1 -1 -1 -1 -1 -1
1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 0 -2 -2 -2 -2 -2 -2
1 1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 1 -4 -4 0 0 0 -4
1 1 1 1 -1 -1 -4 -4 0 0 0 -4 0 -5 -5 -1 -1 1 -5
1 1 -1 -1 -1 -1 -5 -5 -1 -1 1 -5 0 -6 -6 0 0 2 -6

Epoh Ke-2
 Data ke-1
X1 = 1 W1 = -6 b = -6 learning rate = 1
X2 = 1 W2 = -6 T = -1
X3 = 1 W3 = 0
X4 = 1 W4 = 0
X5 = 1 W5 = 2
Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b
= (1*-6 )+ (1*-6 )+ (1*0 )+ (1*0 )+ (1*2 )+0
= -16
Y = sign (-16) = 0
Y ≠ target yaitu -1
Error = target – y = -1 -0 = -1
o Bobot baru
W1 = W1lama + (learning rate*error*X1)
= -6 + (1 * -1* 1) = -7
W1 =W2= -7
W3 = W3lama+ (learning rate*error*X3)
= 0 + (1 * -1* 1) = -1
W3 =W4= -1
W5 = W5lama + (learning rate*error*X5)
= 2 + (1 * -1* 1) = 1
bbaru = blama + (learning rate*error)
= -6 + (1 * -1* ) = -7
 Data ke-2
X1 = 1 W1 = -7 b = -7 learning rate = 1
X2 = 1 W2 = -7 T = -1
X3 = 1 W3 = -1
X4 = 1 W4 = -1
X5 = 1 W5 = 1

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (1*-7 )+ (1*-7 )+ (1*-1 )+ (1*-1 )+ (1*1 )+0
= -22
Y = sign (-22) = 0
Y ≠ target yaitu -1
Error = target – y = -1 -0 = -1
o Bobot baru
W1 = W1lama + (learning rate*error*X1)
= -7 + (1 * -1* 1) = -8
W1 =W2= -8
W3 = W3lama+ (learning rate*error*X3)
= -1 + (1 * -1* 1) = -2
W3 =W4= -2
W5 = W5lama + (learning rate*error*X5)
= 1 + (1 * -1* 1) = 0
bbaru = blama + (learning rate*error)
= -7 + (1 * -1* ) = -8
 Data ke-3
X1 = 1 W1 = -8 b = -8 learning rate = 1
X2 = 1 W2 = -8 T = -1
X3 = -1 W3 = -2
X4 = -1 W4 = -2
X5 = -1 W5 = 0

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (1*-8)+ (1*-8 )+ (1*-2 )+ (1*-2 )+ (1*0 )+0
= -20
Y = sign (-20) = 0
Y ≠ target yaitu -1
Error = target – y = -1 -0 = -1
o Bobot baru
W1 = W1lama + (learning rate*error*X1)
= -8 + (1 * -1* 1) = -9
W1 =W2= -9
W3 = W3lama+ (learning rate*error*X3)
= -2 + (1 * -1* -1) = -1
W3 =W4= -1
W5 = W5lama + (learning rate*error*X5)
= 0 + (1 * -1* -1) = 1
bbaru = blama + (learning rate*error)
= -8 + (1 * -1* ) = -9
 Data ke-4
X1 = 1 W1 = -9 b = -9 learning rate = 1
X2 = 1 W2 = -9 T = -1
X3 = 1 W3 = -1
X4 = 1 W4 = -1
X5 = -1 W5 = 1

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (1*-9 )+ (1*-9 )+ (1*-1 )+ (1*-1 )+ (-1*-1 )+0
= -30
Y = sign (-30) = 0
Y ≠ target yaitu -1
Error = target – y = -1 -0 = -1
o Bobot baru
W1 = W1lama + (learning rate*error*X1)
= -9 + (1 * -1* 1) = -10
W1 =W2= -10
W3 = W3lama+ (learning rate*error*X3)
= -1 + (1 * -1* 1) = -3
W3 =W4= -2
W5 = W5lama + (learning rate*error*X5)
= 1 + (1 * -1* -1) = 2
bbaru = blama + (learning rate*error)
= -9 + (1 * -1* ) = -10

 Data ke-5
X1 = 1 W1 = -10 b = -10 learning rate = 1
X2 = 1 W2 = -10 T = -1
X3 = -1 W3 = -2
X4 = -1 W4 = -2
X5 = -1 W5 = 2
Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b
= (1*-10 )+ (1*-10 )+ (-1*-2 )+ (-1*-2 )+ (-1*2 )+0
= -28
Y = sign (-28) = 0
Y ≠ target yaitu -1
Error = target – y = -1 -0 = -1
o Bobot baru
W1 = W1lama + (learning rate*error*X1)
= -10 + (1 * -1* 1) = -11
W1 =W2= -11
W3 = W3lama+ (learning rate*error*X3)
= -2 + (1 * -1* -1) = -1
W3 =W4= -1
W5 = W5lama + (learning rate*error*X5)
= 2 + (1 * -1* -1) = 3
bbaru = blama + (learning rate*error)
= -10 + (1 * -1* ) = -11
 Y_in = (input 1 * bobot 1)+( input 2 * bobot 2)+ ( input 3 * bobot 3)+
( input 4 * bobot 4)+ ( input 5* bobot 5)+b
= (1*-11)+(1*-11)+(-1*-1)+(-1*-1)+(-1*3)-11
= -34
Output = sign( -34 ) = 0
W1 W2 W3 W4 W5
X1 X2 X3 X4 X5 T W1 W2 W3 W4 W5 b T b b.
b. b. b. b. b.
1 1 1 1 1 -1 -6 -6 0 0 2 -6 0 -7 -7 -1 -1 1 -7
1 1 1 1 1 -1 -7 -7 -1 -1 1 -7 0 -8 -8 -2 -2 0 -8
1 1 -1 -1 -1 -1 -8 -8 -2 -2 0 -8 0 -9 -9 -1 -1 1 -9
1 1 1 1 -1 -1 -9 -9 -1 -1 1 -9 0 -10 -10 -2 -2 2 -10
1 1 -1 -1 -1 -1 -10 -10 -2 -2 2 -10 0 -11 -11 -1 -1 3 -11
Pola H

X1 X2 X3 X4 X5 T

1 -1 -1 -1 1 -1

1 -1 -1 -1 1 -1

1 1 1 1 1 -1

1 -1 -1 -1 1 -1

1 -1 -1 -1 1 -1

Epoh Ke-1
 Data ke-1
X1 = 1 W1 = 0 b=0 learning rate = 1
X2 = -1 W2 = 0 T = -1
X3 = -1 W3 = 0
X4 = -1 W4 = 0
X5 = 1 W5 = 0

Y_in = (X1.W1)+ (X2.W2)+ (X3.W3)+ (X4.W4)+ (X5.W5)+b


= (1*0 )+ (-1*0 )+ (-1*0 )+ (-1*0 )+ (1*0 )+0
=0
Y = sign (0) = 1

SILAHKAN DILANJUTKAN SENDIRI SEBAGAI BAHAN UJIAN


TANGGAL 4 JULI 2017