You are on page 1of 8

POLITEKNOSAINS VOL. X NO.

Juni 2011

MENGENALI FUNGSI LOGIKA AND MELALUI


PEMROGRAMAN PERCEPTRON DENGAN MATLAB
Yaya Finayani
Teknik Elektro, Politeknik Pratama Mulia , Surakarta 57149, Indonesia

ABSTRACT
This paper focuses on recognizing the logic function "and" with
two input variables through programming perceptron. Perceptron is a
simple form of artificial neural networks, perceptron is usually used to
produce a certain type of pattern is often known by the separation in a
linear fashion. The first simulations, carried out the programming
perceptron to recognize the logic function "and" 2 input variables with
binary inputs (0 or 1) and the target output is binary (0 or 1), simulation
results show to get the performance = 0 which means all the patterns
recognized correctly 9 epoch iteration process is needed. The second
simulation, programming perceptron to recognize the logic functions
'and' two input variables with bipolar inputs (-1 or 1), the results of
simulations required four epoch iteration process. The third simulation,
programming perceptron to recognize the logic function and 2 input
variables with binary input, but the initial value of weights and the initial
bias = 0, simulation result show to get to work = 0 8 epoch iteration
process is required. From the simulation results concluded that the
programming perceptron to recognize the logic function "and" 2 input
variables using a binary input (0 or 1) a longer iteration process (9
epoch) compared with bipolar inputs (-1 or 1) with a 4 epoch, the value
initial weights and biases affect the initial value of the iteration process
is faster iteration process (8 epoch) for the initial value of weights and
the initial value bias = 0 compared with the initial value of weights (1.1) and the initial value bias = 1 with 9 epoch.

Keyword: perceptron, logic function, and, epoch, programming, Matlab.

Mengenali Fungsi Logika. . .

37

POLITEKNOSAINS VOL. X NO. 2

1. PENDAHULUAN
Jaringan syaraf tiruan (JST)
adalah
sistem
pemrosesan
informasi
yang
memiliki
karakteristik
mirip
dengan
jaringan syaraf biologi. JST
mensimulasikan abstrak dari
system syaraf dalam otak
manusia
yang
mengandung
sekelompok
neuro
yang
terinterkoneksi satu sama lain.
Pemodelan
neuron
tiruan
(artificial
neuron)
yang
membangun jaringan ini, pertama
kali
diperkenalkan
oleh
McCulloch dan Pitts pada tahun
1943 yang menyimpulkan bahwa
kombinasi
beberapa
neuron
sederhana menjadi sebuah system
neural
akan
meningkatkan
komputasi (Jong, 2005).
Pada tahun 1960, Widrow
dan
Hoff
mengembangkan
perceptron
dengan
memperkenalkan aturan pelatihan
jaringan. Perceptron merupakan
salah satu bentuk jaringan
sederhana, perceptron biasanya
digunakan untuk menghasilkan
suatu pola tipe tertentu yang
sering dikenal dengan pemisahan
secara linear. Pada dasarnya
perceptron pada jaringan syaraf
dengan satu lapisan memiliki
bobot yang dapat diatur. Dapat
digunakan dalam kasus salah
satunya untuk mengenali fungsi
logika AND.
Mengenali Fungsi Logika. . .

September 2011

Model jaringan perceptron


ditemukan
oleh
Rosenblatt
(1962)
dan
Minsky-Papert
(1969).
Model
tersebut
merupakan model yang memiliki
aplikasi dan pelatihan yang
paling baik pada era tersebut
(Jong, 2005).
Makalah ini bertujuan
untuk
melakukan
pengenali
fungsi logika AND dengan 2
variabel
input
melalui
pemrograman perceptron dengan
Matlab.
2. BAHAN DAN METODE
Bahan yang digunakan adalah
Software Matlab 7.04
dan
Algoritma Perceptron.
Metode
yang
digunakan
meliputi:
1. mengenali
fungsi
logika
AND dengan 2 variabel
dengan masukan biner (0 atau
1)
2. mengenali
fungsi
logika
AND 2 variabel dengan
masukan bipolar (-1 atau 1)
3. mengenali
fungsi
logika
AND 2 variabel dengan
nilai awal bobot dan nilai awal
bias = 0
Arsitektur
Jaringan
Perceptron
Arsitektur jaringan terdiri
dari 1 lapisan input dan 1 lapisan
output. Setiap unit pada lapisan
input dihubungkan dengan semua
unit di lapisan output dengan
38

POLITEKNOSAINS VOL. X NO. 2

suatu
bobot
keterhubungan.
Arsitektur Perceptron dengan 2
unit (ditambah 1 unit bias) di
lapisan input dan 1 unit di lapisan
output pada Gambar 1. Unit bias
merupakan satu unit masukan di
suatu lapisan yang nilai inputnya
selalu 1.

Juni 2011

Keterangan Gambar 1.
X1, X2, Xn : n unit input
Y : unit output
b : bias (=1)
W1, W2, Wn : bobot penghubung
dari unit input ke unit output

pada setiap iterasi. Besarnya nilai


lebih besar dari 0 (nol) dan
maksimal 1. Besarnya perubahan
bobot yang terjadi pada setiap
iterasi adalah:
  .  . 
 . 
dengan,  = sinyal input
 = laju pembelajaran
 = sinyal output
Dengan demikian bobot yang
baru adalah:

  
  
 .  . 

 
    . 
Algoritma
pelatihan
Perceptron
adalah
sebagai
berikut:
1. Inisialisasi semua bobot dan
bias
  _   0
Tentukan laju pembelajaran

 , biasanya   1
2. Selama ada elemen vektor input
yang respon unit outputnya
tidak sama dengan target,
lakukan
a. Set aktivasi input
  
dengan s adalah vector input
b. Hitung respon unit output:
     

Algoritma Perceptron
Proses belajar Perceptron,
proses
perubahan
bobot
pembelajarannya
ditambahkan
laju pembelajaran (learning rate)

yang
berfungsi
untuk
mengontrol perubahan bobot


  
    
dengan   . . 

 
   

X1

b
W1
W2

X2

Wn

Xn

Gambar 1. Arsitektur Perceptron

Mengenali Fungsi Logika. . .

  
  1,   
  
  0,  !  ! 
  
  1,  " 
c. Perbaiki bobot pola yang
mengandung kesalahan
 # 
menurut persamaan:

39

POLITEKNOSAINS VOL. X NO. 2

Ada beberapa hal yang


perlu diperhatikan
rhatikan dalam algoritma
perceptron:
a. Iterasi dilakukan terus hingga
semua pola memiliki output
jaringan yang sama dengan
targetnya
(jaringan
sudah
memahami pola)
b. Perubahan
bobot
hanya
dilakukan pada pola
ola yang
mengandung kesalahan (output
jaringan
target). Perubahan
tersebut merupakan hasil kali
unit input dengan target dan
laju pembelajaran. Perubahan
bobot hanya akan terjadi kalau
unit input 0.
c. Kecepatan iterasi ditentukan
itentukan
oleh
learning
rate
yang
dipakai.
3. HASIL
PEMBAHASAN

DAN

September 2011
function perceptron
%Pelatihan perceptron
%Perceptron mengenali pola 'dan'
dengan 2 variabel input
%Dengan masukan biner (0 atau 1)
target biner ( 0 atau 1 )
clc
net = newp ([0 1 ; 0 1],1);
net.IW {1,1}= [-1 1];%nilai bobot awal
net.b {1} = [1];%nilai bias awal
p = [ [1;1] [1;0] [0;1] [0;0]
];%kombinasi masukan
t = [1 0 0 0];%target
net = train (net, p, t);%pelatihan
perceptron
disp ('nilai bobot terakhir')
disp (net.IW {1,1})
disp ('nilai bias terakhir')
disp (net.b {1})

HASIL PROGRAM:
TRAINC, Epoch 0/100
TRAINC, Epoch 9/100
TRAINC, Performance goal met.
nilai bobot terakhir
1 2
nilai bias terakhir
-3

FUNGSI LOGIKA AND


Dalam mengenali fungsi logika
and dilakukan 3 kali simulasi
program
Matlab
untuk
pemograman Perceptron.
Pemograman
Perceptron
mengenali Fungsi logika dan 2
variabel
dengan
masukan
bipolar (0 atau 1) target biner ( 0
atau 1 )

Program Matlab sebagai berikut:

Mengenali Fungsi Logika. . .

Gambar 2. Grafik proses iterasi NN


Fungsi Logika AND 2
input dengan input biner.

40

POLITEKNOSAINS VOL. X NO. 2

Hasil program Matlab dan


Gambar 2 menunjukkan bahwa
dengan bobot awal w1 = -1 ; w2 = 1
; bias awal = 1, menunjukkan
bahwa iterasi diselesaikan dalam
9 epoch,pada epoch ke-1 unjuk
kerja 0,75 berarti hanya ada 1
pola yang dikenali dengan
benar), epoch ke-2 unjuk kerja
0,5 berari ada 2 pola yang
dikenali dengan benar, dan
seterusnya sampai pada epoch
ke-9 memiliki unjuk kerja 0
berarti semua pola telah dikenali.
Bobot terakhir w1 = 1 , w2 = 2
sedangkan bias -3.
Analisis perhitungan fungsi logika
and 2 variable input dari hasil
program Matlab, sebagai berikut:
1
a. Pola $  % &,
1

  '( $  

  1.1  1.2 3  0,


karena
nilai   0 , maka 
  1
sehingga menghasilkan +,-./+  0
1
b. Pola $  % &,
0

  '( $  

  1.1  0.2 3  2, karena


nilai   2 , maka 
  0
sehingga menghasilkan +,-./+  1
0
c. Pola $  % &,
1

  '( $  

  0.1  1.2 3  1, karena


nilai   1 , maka 
  0
sehingga menghasilkan +,-./+  1
0
d. Pola $  % &,
0

  '( $  

Mengenali Fungsi Logika. . .

Juni 2011

  0.1  0.2 3  3, karena


nilai   3 , maka 
  0
sehingga menghasilkan +,-./+  1
Dari hasil analisis perhitungan
menunjukkan dengan bobot w1=1
dan w2=2, bias = b= -3 dengan
input biner (0 atau 1) dengan target
biner (0 atau 1) diperoleh hasil
perhitungan sesuai dengan fungsi
logika and.

Pemograman
Perceptron
mengenali Fungsi logika dan
2 variabel
dengan
masukan bipolar (-1 atau 1)
target biner ( 0 atau 1 )
function perceptron
%Pelatihan perceptron
%Perceptron mengenali pola 'dan'
dengan 2 variabel input
%Masukan bipolar , target biner
%Mengetahui bobot akhir yang
diperoleh
clc
net = newp ([-1 1 ; -1 1],1);%data
bipolar
net.IW {1,1}= [-1 1];%bobot awal
bentuk bipolar
net.b {1} = [1];
p = [ [1;1] [1;-1] [-1;1] [-1;-1] ];
t = [1 0 0 0];
net = train (net,p,t);
disp ('nilai bobot terakhir')
disp (net.IW {1,1})
disp ('nilai bias terakhir')
disp (net.b {1})
HASIL PROGRAM
TRAINC, Epoch 0/100
TRAINC, Epoch 4/100
TRAINC, Performance goal met.
nilai bobot terakhir
1 1

41

POLITEKNOSAINS VOL. X NO. 2


nilai bias terakhir
-1

September 2011

perhitungan dari hasil program


Matlab adalah sebagai berikut:
a.

Pola

,
,

karena

nilai
, maka
sehingga menghasilkan
b. Pola

,
karena nilai
, maka
sehingga menghasilkan
c. Pola
Gambar 3. Grafik proses iterasi NN
Fungsi Logika AND 2
input dengan input bipolar.

Gambar 3 menunjukkan
bahwa pada epoch ke-1 dan ke-22
unjuk kerja 0,5 berarti ada 2 pola
yang dikenali dengan benar,
sedangkan epoch ke-33 unjuk
kerja naik menjadi 0,75 yang
artinya hanya 1 pola yang
dikenali dengan benar dan pada
epoch ke-44 unjuk kerja 0 semua
pola dikenali dengan benar.
Hasil program Matlab dari
pemrograman
emrograman perceptron fungsi
logika
and
2
input
menggunakan input bipolar dan
target biner didapatkan proses
iterasi 2 epoch dengan bobot
terakhir w1 = 1 w2 = 1, bias = -11,
sedangkan bobot awal w1 = -11 ;
w2 = 1 ; bias awal = 1.. Jika
dilakukan pengecekan analisis
Mengenali Fungsi Logika. . .

,
karena nilai
, maka
sehingga menghasilkan
d. Pola

,
karena nilai
, maka
sehingga menghasilkan

Dari
analisis
perhitungan
menunjukkan dengan bobot w1=1
dan w2=1, bias = b= -1 dengan
input bipolar (-1 atau 1) dengan
target biner (0 atau 1) diperoleh
hasil perhitungan sesuai dengan
fungsi logika and pada epoch ke4.
Pemograman
Perceptron
untuk Fungsi Logika AND 2 input
dengan menggunakan biner (0 atau
1) dan bipolar (-1 atau 1) dengan
42

POLITEKNOSAINS VOL. X NO. 2

target biner (0 atau 1) konvergensi


diperoleh
eroleh
lebih
cepat
saat
menggunakan input
ut bipolar yaitu
pada epoch ke-4,, sedangkan untuk
input biner (0 atau 1) konvergen
diperoleh pada epoch ke-9.

Juni 2011
1 2
nilai bias terakhir
-3

Fungsi logika dan 2 variabel


dengan masukan biner dan
target biner , dengan nilai bobot
awal [0 0] dan bias awal = [0]
Simulasi ini dilakukan untuk
mengetahui pengaruh proses iterasi
pada
pemograman Perceptron
fungsi logika and 2 input dengan
adanya pemberian nilai bobot awal
dan bias awal = 0, simulasi
digunakan
igunakan input biner (0 atau 1) dan
target biner (0 atau 1)
Program Matlab
function perceptron
%Pelatihan Perceptron
%Perceptron mengenali pola 'dan'
dengan 2 variabel input
clc
net = newp ([0 1 ; 0 1],1);%data
%data
biner
net.IW {1,1}= [0 0];%bobot awal 0
net.b {1} = [0];%bias awal
p = [ [1;1] [1;0] [0;1] [0;0] ];
t = [1 0 0 0];%target
net = train (net,p,t);
disp ('nilai bobot terakhir')
disp (net.IW {1,1})
disp ('nilai bias terakhir')
disp (net.b {1})
HASIL PROGRAM

Gambar 4. Grafik proses iterasi NN


Fungsi Logika AND 2
input dengan input biner
dengan kondisi awal bobot
dan bias = 0.

Gambar 4 menunjukkan
proses iterasi diselesaikan dalam 8
epoch dengan nilai awal bobot
w1=0, w2=0 dan nilai bias b=0 ,
jumlah iterasi ini lebih kecil
dibanding dengan hasil simulasi
fungsi logika and 2 input dengan
kondisi awal bobot awal w1 = -1 ; w2
= 1 ; bias awal = 1 (Gambar 2) dengan
demikian kondisi awal bobot dan
kondisi awal bias mempengaruhi
jumlah iterasi dengan hasil nilai akhir
bobot dan nilai akhir bias adalah
sama. Hasil program menunjukkan
saat epoch ke-8 unjuk kerja = 0 berarti
semua pola dikenali dengan benar.

TRAINC, Epoch 0/100


TRAINC, Epoch 8/100
TRAINC, Performance goal met.
nilai bobot terakhir

Mengenali Fungsi Logika. . .

43

POLITEKNOSAINS VOL. X NO. 2

4. KESIMPULAN
Dapat disimpul disini bahwa:
1. Pemograman Perceptron untuk
mengenali fungsi logika and
2 variabel input dengan input
biner (0 atau 1) membutuhkan
proses iterasi yang lebih lama
(9
epoch)
dibandingkan
dengan input bipolar (-1 atau
1) yang membutuhkan 4
epoch.
2. Kondisi awal bobot dan
kondisi
awal
bias
mempengaruhi jumlah iterasi
dalam
pemograman
Perceptron, untuk mengenali
fungsi logika and 2 variabel
input dengan masukan biner ,
kondisi awal bobot w1=0,
w2=0 dan nilai bias b=0
jumlah
iterasi
untuk
memperoleh unjuk kerja = 0
diperlukan 8 epoch, sedangkan
dengan nilai awal bobot w1 = -

September 2011

jaringan Neural BuatanFuzzy Dan Aplikasinya


Pada Sistem Penciuman
Elektronik,
Makara
Sains, Vol.6.No.1, April
2002.
Jong. J.S., 2005, Jaringan syaraf
Tiruan
&
Pemrogramannya
Menggunakan Matlab,
Andi Offset, Yogyakarta.
Wahidin.W.,2004,
Aplikasi
Algoritma
BackPropagation Multi Layer
Perceptron
pada
Identifikasi
Dimanika
Sistem Nonlinier, Jurnal
Teknologi, Edisi No.1,
Tahun XVIII, Maret
2004, 1-62, ISSN 02151685.

1 ; w2 = 1 ; bias awal = 1
memerlukan 9 epoch untuk
mencapai unjuk kerja = 0.

5. DAFTAR PUSTAKA
Andi.P.,2004, Pengenalan
Karakter
Alfabet
Menggunakan
Jaringan
Saraf Tiruan., Jurusan
Teknik Elektro Fakultas
Teknik
Universitas
Diponegoro, Semarang.
Benyamin.K.,Ponix.I,
2002
Penggunaan Algoritma
Genetik Untuk Optimasi
Mengenali Fungsi Logika. . .

44

You might also like