You are on page 1of 11

1.

PENDAHULUAN
Pada tahun 1943, Warren McCulloch dan Walter Pitts memperkenalkan salah satu
artificial neurons [McPi43]. Fitur utama dari model neuron mereka adalah bahwa jumlah
bobot sinyal input dibandingkan dengan ambang batas untuk menentukan neuron output.
Ketika jumlah lebih besar dari atau sama dengan ambang batas, output adalah 1. Ketika
jumlah kurang dari ambang batas, keluaran adalah 0. Mereka tetap meneruskan penelitian
dengan menunjukkan bahwa jaringan neuron ini pada prinsipnyabisa menghitung setiap
fungsi aritmetika atau logika. Tidak seperti jaringan biologis, parameters jaringan mereka
harus dirancang, karena tidak ada metode pelatihan yang tersedia. Namun, hubungan yang
dirasakan antara biologi dan komputer digital menghasilkan banyak minat.
Pada akhir 1950-an, Frank Rosenblatt dan beberapa peneliti lain mengembangkan suatu
kelas jaringan saraf yang disebut Perceptrons. Neuron dalam jaringan yang mirip dengan
McCulloch dan pitts. Kunci kontribusi Rosenblatt adalah pengenalan aturan belajar untuk
pelatihan jaringan perceptron untuk memecahkan masalah pengenalan pola [Rose58]. Ia
membuktikan bahwa aturan belajarnya akan selalu bertemu untuk bobot jaringan yang benar,
jika bobot yang ada memecahkan masalah. Pembelajarannya sederhana dan otomatis. Contoh
perilaku yang layak diajukan ke jaringan yang belajar dari kesalahan. Perceptron bahkan bisa
belajar ketika diinisialisasi dengan nilai acak untuk bobot dan bias.
Sayangnya, jaringan perceptron secara inheren terbatas. Keterbatasan ini dipublikasikan
secara luas dalam buku Perceptrons [MiPa69] oleh Marvin Minsky dan Seymour Papert.
Mereka menunjukkan bahwa jaringan perceptron tidak mampu melaksanakan fungsi dasar
tertentu. Hal ini tidak sampai tahun 1980-an dimana keterbatasan ini diatasi dengan
memperbaiki jaringan perceptron (multilayer) dan aturan belajar yang saling
terkait/berhubungan. Saat ini perceptron masih dipandang sebagai jaringan penting. Ia
menyisakan suatu jaringan yang cepat dan handal untuk kelas masalah yang dapat
dipecahkan. Selain daripada itu, pemahaman tentang operasi dari perceptron menyediakan
dasar yang baik untuk memahami jaringan yang lebih kompleks. Jadi jaringan perceptron,
dan aturan belajar yang terkait, adalah baik dan layak untuk didiskusikan di sini.
Pada sisa dari bab ini kita akan mendefinisikan apa yang kitamaksud dengan aturan
belajar, menjelaskan jaringan perceptron dan aturan belajar, dan mendiskusikan keterbatasan
jaringan perceptron.

2. METODE PERCEPTRON
Perceptron juga termasuk salah satu bentuk jaringan syaraf yang sederhana. Perceptron
biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering dikenal
dengan pemisahan secara linear. Pada dasarnya, perceptron pada jaringan syaraf dengan satu
lapisan memiliki bobot yang bisa diatur dan suatu nilai ambang (threshold). Algoritma yang
digunakan oleh aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui
proses pembelajaran. Nilai threshold () pada fungsi aktivasi adalan non negatif.
Fungsiaktivasi ini dibuat sedemikian rupa sehingga terjadi pembatasan antara daerah positiF
dan daerah negative. Perhatikan gambar di bawah ini :

Gambar pembatasan linear dengan perceptron.


Garis pemisah antara daerah positif dan daerah nol memiliki pertidaksamaan:\
W1X1 + W2X2 + b > 0
Sedangkan garis pemisah antara daerah negatif dengan daerah nol memiliki
pertidaksamaan:
W1X1 + W2X2 + b < -0
Misalkan kita gunakan pasangan vektor input s dan vektor output sebagai pasangan
vektor yang akan dilatih.

ALGORITMA :
0. Inisialisasi semua bobot dan bias:
(untuk sederhananya set semua bobot dan bobot bias sama dengan nol).
Set learning rate: (0 < 1).
(untuk sederhananya set sama dengan 1).
1. Selama kondisi berhenti bernilai false, lakukan langkah-langkah sebagai berikut:
(i). Untuk setiap pasangan pembelajaran s-t, kerjakan:
a. Set input dengan nilai sama dengan vektor input:

Xi= Si;
b. Hitung respon untuk unit output:

c. Perbaiki bobot dan bias jika terjadi error:


Jika y t maka:
Wi(baru) = Wi(lama) + *t*Xi
b(baru) = b(lama) + *t
jika tidak, maka:
Wi(baru) = Wi(lama)
b(baru) = b(lama)
(ii). Tes kondisi berhenti: jika tidak terjadi perubahan bobot pada (i) maka kondisi
berhenti TRUE, namun jika masih terjadi perubahan maka kondisi berhenti
FALSE.
Algoritma di atas bisa digunakan baik untuk input biner maupun bipolar, dengan
tertentu, dan bias yang dapat diatur. Pada algoritma tersebut bobot-bobot yang diperbaiki
hanyalah bobot-bobot yang berhubungan dengan input yang aktif (xi 0) dan bobot-bobot
yang tidak menghasilkan nilai yang benar.

Contoh soal:
Misalkan kita ingin membuat jaringan syaraf untuk melakukan pembelajaran terhadap
fungsi AND dengan input biner dan target bipolar sebagai berikut:
Input Bias Target
1111
1 0 1 -1
0 1 1 -1
0 0 1 -1
Arsitektur jaringan untuk contoh soal:

Bobot awal : w = [0,0 0,0]


Bobot bias awal : b = [0,0]
Learning rate (alfa): 0,8
Threshold (tetha) : 0,5
1. Epoh ke-1
Data ke-1
y_in = 0,0 + 0,0 + 0,0 = 0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = 1
Bobot baru:
w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
w2 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
Bobot bias baru : b = 0,0 + 0,8 * 1,0 = 0,8
Data ke-2
y_in = 0,8 + 0,8 + 0,0 = 1,6
Hasil aktivasi = 1 (y_in >0,5)
Target = -1
Bobot baru:
w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
w2 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8
Bobot bias baru : b = 0,8 + 0,8 * -1,0 = 0,0
Data ke-3
y_in = 0,0 + 0,0 + 0,8 = 0,8
Hasil aktivasi = 1 (y_in >0,5)
Target = -1
Bobot baru:
w1 = 0,0 + 0,8 * -1,0 * 0,0 = 0,0
w2 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
Bobot bias baru : b = 0,0 + 0,8 * -1,0 = -0,8
Data ke-4
y_in = -0,8 + 0,0 + 0,0 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
2. Epoh ke-2

Data ke-1
y_in = -0,8 + 0,0 + 0,0 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = 1
Bobot baru:
w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
w2 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
Bobot bias baru : b = -0,8 + 0,8 * 1,0 = 0,0
Data ke-2
y_in = 0,0 + 0,8 + 0,0 = 0,8
Hasil aktivasi = 1 (y_in >0,5)
Target = -1
Bobot baru:
w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
w2 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8
Bobot bias baru : b = 0,0 + 0,8 * -1,0 = -0,8
Data ke-3
y_in = -0,8 + 0,0 + 0,8 = 0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = -1
Bobot baru:
w1 = 0,0 + 0,8 * -1,0 * 0,0 = 0,0
w2 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
Bobot bias baru : b = -0,8 + 0,8 * -1,0 = -1,6
Data ke-4
y_in = -1,6 + 0,0 + 0,0 = -1,6
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1

3. Epoh ke-3
Data ke-1
y_in = -1,6 + 0,0 + 0,0 = -1,6
Hasil aktivasi = -1 (y_in < -0,5)
Target = 1
Bobot baru:
w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
w2 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
Bobot bias baru : b = -1,6 + 0,8 * 1,0 = -0,8
Data ke-2
y_in = -0,8 + 0,8 + 0,0 = 0,0

Hasil aktivasi = 0 (-0,5 < y_in <0,5)


Target = -1
Bobot baru:
w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
w2 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8
Bobot bias baru : b = -0,8 + 0,8 * -1,0 = -1,6
Data ke-3
y_in = -1,6 + 0,0 + 0,8 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
Data ke-4
y_in = -1,6 + 0,0 + 0,0 = -1,6
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
4. Epoh ke-4
Data ke-1
y_in = -1,6 + 0,0 + 0,8 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = 1
Bobot baru:
w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
w2 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
Bobot bias baru : b = -1,6 + 0,8 * 1,0 = -0,8
Data ke-2
y_in = -0,8 + 0,8 + 0,0 = 0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = -1
Bobot baru:
w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
w2 = 1,6 + 0,8 * -1,0 * 0,0 = 1,6
Bobot bias baru : b = -0,8 + 0,8 * -1,0 = -1,6
Data ke-3
y_in = -1,6 + 0,0 + 1,6 = 0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = -1
Bobot baru:
w1 = 0,0 + 0,8 * -1,0 * 0,0 = 0,0
w2 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8
Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4

Data ke-4
y_in = -2,4 + 0,0 + 0,0 = -2,4
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
5. Epoh ke-5
Data ke-1
y_in = -2,4 + 0,0 + 0,8 = -1,6
Hasil aktivasi = -1 (y_in < -0,5)
Target = 1
Bobot baru:
w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
w2 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
Bobot bias baru : b = -2,4 + 0,8 * 1,0 = -1,6
Data ke-2
y_in = -1,6 + 0,8 + 0,0 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
Data ke-3
y_in = -1,6 + 0,0 + 1,6 = -0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = -1
Bobot baru:
w1 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8
w2 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8
Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4
Data ke-4
y_in = -2,4 + 0,0 + 0,0 = -2,4
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
6. Epoh ke-6
Data ke-1
y_in = -2,4 + 0,8 + 0,8 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = 1
Bobot baru:
w1 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
w2 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
Bobot bias baru : b = -2,4 + 0,8 * 1,0 = -1,6
Data ke-2
y_in = -1,6 + 1,6 + 0,0 = -0,0

Hasil aktivasi = 0 (-0,5 < y_in <0,5)


Target = -1
Bobot baru:
w1 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8
w2 = 1,6 + 0,8 * -1,0 * 0,0 = 1,6
Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4
Data ke-3
y_in = -2,4 + 0,0 + 1,6 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
Data ke-4
y_in = -2,4 + 0,0 + 0,0 = -2,4
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
7. Epoh ke-7
Data ke-1
y_in = -2,4 + 0,8 + 1,6 = -0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = 1
Bobot baru:
w1 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
w2 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4
Bobot bias baru : b = -2,4 + 0,8 * 1,0 = -1,6
Data ke-2
y_in = -1,6 + 1,6 + 0,0 = -0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = -1
Bobot baru:
w1 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8
w2 = 2,4 + 0,8 * -1,0 * 0,0 = 2,4
Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4
Data ke-3
y_in = -2,4 + 0,0 + 2,4 = 0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = -1
Bobot baru:
w1 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8
w2 = 2,4 + 0,8 * -1,0 * 1,0 = 1,6
Bobot bias baru : b = -2,4 + 0,8 * -1,0 = -3,2
Data ke-4
y_in = -3,2 + 0,0 + 0,0 = -3,2

Hasil aktivasi = -1 (y_in < -0,5)


Target = -1
8. Epoh ke-8
Data ke-1
y_in = -3,2 + 0,8 + 1,6 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = 1
Bobot baru:
w1 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
w2 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4
Bobot bias baru : b = -3,2 + 0,8 * 1,0 = -2,4
Data ke-2
y_in = -2,4 + 1,6 + 0,0 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
Data ke-3
y_in = -2,4 + 0,0 + 2,4 = 0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = -1
Bobot baru:
w1 = 1,6 + 0,8 * -1,0 * 0,0 = 1,6
w2 = 2,4 + 0,8 * -1,0 * 1,0 = 1,6
Bobot bias baru : b = -2,4 + 0,8 * -1,0 = -3,2
Data ke-4
y_in = -3,2 + 0,0 + 0,0 = -3,2
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
9. Epoh ke-9
Data ke-1
y_in = -3,2 + 1,6 + 1,6 = 0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = 1
Bobot baru:
w1 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4
w2 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4
Bobot bias baru : b = -3,2 + 0,8 * 1,0 = -2,4
Data ke-2
y_in = -2,4 + 2,4 + 0,0 = 0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
Target = -1

Bobot baru:
w1 = 2,4 + 0,8 * -1,0 * 1,0 = 1,6
w2 = 2,4 + 0,8 * -1,0 * 0,0 = 2,4
Bobot bias baru : b = -2,4 + 0,8 * -1,0 = -3,2
Data ke-3
y_in = -3,2 + 0,0 + 2,4 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
Data ke-4
y_in = -3,2 + 0,0 + 0,0 = -3,2
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
10. Epoh ke-10
Data ke-1
y_in = -3,2 + 1,6 + 2,4 = 0,8
Hasil aktivasi = 1 (y_in >0,5)
Target = 1
Data ke-2
y_in = -3,2 + 1,6 + 0,0 = -1,6
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
Data ke-3
y_in = -3,2 + 0,0 + 2,4 = -0,8
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
Data ke-4
y_in = -3,2 + 0,0 + 0,0 = -3,2
Hasil aktivasi = -1 (y_in < -0,5)
Target = -1
Pada epoh ke-10 ini sudah tidak terjadi perubahan bobot, sehingga proses
pembelajaran dihentikan. Hasil akhir
diperoleh:
Nilai bobot, w1= 1,6; dan w2= 2,4.
Bobot bias, b = -3,2.
Dengan demikian garis yang membatasi daerah positifdengan daerah nol
memenuhi pertidaksamaan:
1,6 x1+ 2,4 x2 3,2 > 0,5
Sedangkan garis yang membatasi daerah negatif dengan daerah nol memenuhi
pertidaksamaan:

1,6 x1+ 2,4 x2 3,2 < -0,5