Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

POLITEKNOSAINS VOL. X NO.

2 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 September 2011

1. PENDAHULUAN Model jaringan perceptron


Jaringan syaraf tiruan (JST) ditemukan oleh Rosenblatt
adalah sistem pemrosesan (1962) dan Minsky-Papert
informasi yang memiliki (1969). Model tersebut
karakteristik mirip dengan merupakan model yang memiliki
jaringan syaraf biologi. JST aplikasi dan pelatihan yang
mensimulasikan abstrak dari paling baik pada era tersebut
system syaraf dalam otak (Jong, 2005).
manusia yang mengandung Makalah ini bertujuan
sekelompok neuro yang untuk melakukan pengenali
terinterkoneksi satu sama lain. fungsi logika ”AND” dengan 2
Pemodelan neuron tiruan variabel input melalui
(artificial neuron) yang pemrograman perceptron dengan
membangun jaringan ini, pertama Matlab.
kali diperkenalkan oleh
McCulloch dan Pitts pada tahun 2. BAHAN DAN METODE
1943 yang menyimpulkan bahwa Bahan yang digunakan adalah
kombinasi beberapa neuron Software Matlab 7.04 dan
sederhana menjadi sebuah system Algoritma Perceptron.
neural akan meningkatkan Metode yang digunakan
komputasi (Jong, 2005). meliputi:
Pada tahun 1960, Widrow 1. mengenali fungsi logika
dan Hoff mengembangkan ”AND” dengan 2 variabel
perceptron dengan dengan masukan biner (0 atau
memperkenalkan aturan pelatihan 1)
jaringan. Perceptron merupakan 2. mengenali fungsi logika
salah satu bentuk jaringan ”AND” 2 variabel dengan
sederhana, perceptron biasanya masukan bipolar (-1 atau 1)
digunakan untuk menghasilkan 3. mengenali fungsi logika
suatu pola tipe tertentu yang ”AND” 2 variabel dengan
sering dikenal dengan pemisahan nilai awal bobot dan nilai awal
secara linear. Pada dasarnya bias = 0
perceptron pada jaringan syaraf Arsitektur Jaringan
dengan satu lapisan memiliki Perceptron
bobot yang dapat diatur. Dapat Arsitektur jaringan terdiri
digunakan dalam kasus salah dari 1 lapisan input dan 1 lapisan
satunya untuk mengenali fungsi output. Setiap unit pada lapisan
logika “AND’. input dihubungkan dengan semua
unit di lapisan output dengan
Mengenali Fungsi Logika. . . 38
POLITEKNOSAINS VOL. X NO. 2 Juni 2011

suatu bobot keterhubungan. pada setiap iterasi. Besarnya nilai


Arsitektur Perceptron dengan 2 α lebih besar dari 0 (nol) dan
unit (ditambah 1 unit bias) di maksimal 1. Besarnya perubahan
lapisan input dan 1 unit di lapisan bobot yang terjadi pada setiap
output pada Gambar 1. Unit bias iterasi adalah:
merupakan satu unit masukan di ∆  .  . 
suatu lapisan yang nilai inputnya ∆  . 
selalu 1. dengan,  = sinyal input
 = laju pembelajaran
 = sinyal output
1 Dengan demikian bobot yang
b
baru adalah:

  
  
X1
W1  .  . 
Y

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

 , biasanya   1
2. Selama ada elemen vektor input
Gambar 1. Arsitektur Perceptron yang respon unit outputnya
tidak sama dengan target,
Keterangan Gambar 1. lakukan
X1, X2, Xn : n unit input a. Set aktivasi input   
Y : unit output dengan s adalah vector input
b : bias (=1) b. Hitung respon unit output:
W1, W2, Wn : bobot penghubung   ∑   
dari unit input ke unit output   
  1,   
  
  0,  !  ! 
Algoritma Perceptron   
  1,  " 
Proses belajar Perceptron, c. Perbaiki bobot pola yang
proses perubahan bobot mengandung kesalahan
 # 
pembelajarannya ditambahkan menurut persamaan:
laju pembelajaran (learning rate) 
  
    ∆
α yang berfungsi untuk dengan ∆  . . 
mengontrol perubahan bobot
 
    ∆
Mengenali Fungsi Logika. . . 39
POLITEKNOSAINS VOL. X NO. 2 September 2011

Ada beberapa hal yang function perceptron


perlu diperhatikan
rhatikan dalam algoritma %Pelatihan perceptron
perceptron: %Perceptron mengenali pola 'dan'
dengan 2 variabel input
a. Iterasi dilakukan terus hingga %Dengan masukan biner (0 atau 1)
semua pola memiliki output target biner ( 0 atau 1 )
jaringan yang sama dengan clc
targetnya (jaringan sudah net = newp ([0 1 ; 0 1],1);
memahami pola) net.IW {1,1}= [-1 1];%nilai bobot awal
net.b {1} = [1];%nilai bias awal
b. Perubahan bobot hanya p = [ [1;1] [1;0] [0;1] [0;0]
dilakukan pada pola ola yang ];%kombinasi masukan
mengandung kesalahan (output t = [1 0 0 0];%target
jaringan target). Perubahan net = train (net, p, t);%pelatihan
tersebut merupakan hasil kali perceptron
disp ('nilai bobot terakhir')
unit input dengan target dan disp (net.IW {1,1})
laju pembelajaran. Perubahan disp ('nilai bias terakhir')
bobot hanya akan terjadi kalau disp (net.b {1})
unit input 0.
c. Kecepatan iterasi ditentukan
itentukan
oleh learning rate HASIL PROGRAM:
TRAINC, Epoch 0/100
yang TRAINC, Epoch 9/100
dipakai. TRAINC, Performance goal met.
nilai bobot terakhir
3. HASIL DAN 1 2
PEMBAHASAN 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 )
Gambar 2. Grafik proses iterasi NN
Program Matlab sebagai berikut: Fungsi Logika “AND” 2
input dengan input biner.

Mengenali Fungsi Logika. . . 40


POLITEKNOSAINS VOL. X NO. 2 Juni 2011

Hasil program Matlab dan   0.1  0.2 3  3, karena


Gambar 2 menunjukkan bahwa nilai   3 , maka 
  0
dengan bobot awal w1 = -1 ; w2 = 1 sehingga menghasilkan +,-./+  1
; bias awal = 1, menunjukkan Dari hasil analisis perhitungan
bahwa iterasi diselesaikan dalam menunjukkan dengan bobot w1=1
dan w2=2, bias = b= -3 dengan
9 epoch,pada epoch ke-1 unjuk
input biner (0 atau 1) dengan target
kerja 0,75 berarti hanya ada 1 biner (0 atau 1) diperoleh hasil
pola yang dikenali dengan perhitungan sesuai dengan fungsi
benar), epoch ke-2 unjuk kerja logika “and”.
0,5 berari ada 2 pola yang
dikenali dengan benar, dan Pemograman Perceptron
seterusnya sampai pada epoch mengenali Fungsi logika “dan”
ke-9 memiliki unjuk kerja 0 2 variabel dengan
berarti semua pola telah dikenali. masukan bipolar (-1 atau 1)
Bobot terakhir w1 = 1 , w2 = 2 target biner ( 0 atau 1 )
sedangkan bias -3.
Analisis perhitungan fungsi logika function perceptron
“and” 2 variable input dari hasil %Pelatihan perceptron
%Perceptron mengenali pola 'dan'
program Matlab, sebagai berikut: dengan 2 variabel input
1
a. Pola $  % &, %Masukan bipolar , target biner
1 %Mengetahui bobot akhir yang
  ∑'( $   diperoleh
  1.1  1.2 3  0, karena clc
nilai   0 , maka 
  1 net = newp ([-1 1 ; -1 1],1);%data
sehingga menghasilkan +,-./+  0 bipolar
1 net.IW {1,1}= [-1 1];%bobot awal
b. Pola $  % &,
0 bentuk bipolar
  ∑'( $   net.b {1} = [1];
  1.1  0.2 3  2, karena p = [ [1;1] [1;-1] [-1;1] [-1;-1] ];
t = [1 0 0 0];
nilai   2 , maka 
  0
net = train (net,p,t);
sehingga menghasilkan +,-./+  1 disp ('nilai bobot terakhir')
0
c. Pola $  % &, disp (net.IW {1,1})
1 disp ('nilai bias terakhir')
  ∑'( $   disp (net.b {1})
  0.1  1.2 3  1, karena
nilai   1 , maka 
  0 HASIL PROGRAM
sehingga menghasilkan +,-./+  1 TRAINC, Epoch 0/100
0
d. Pola $  % &, TRAINC, Epoch 4/100
0 TRAINC, Performance goal met.
  ∑'( $   nilai bobot terakhir
1 1

Mengenali Fungsi Logika. . . 41


POLITEKNOSAINS VOL. X NO. 2 September 2011

nilai bias terakhir perhitungan dari hasil program


-1 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.
karena nilai , maka
sehingga menghasilkan
Gambar 3 menunjukkan
bahwa pada epoch ke-1 dan ke-22
d. Pola ,
unjuk kerja 0,5 berarti ada 2 pola
yang dikenali dengan benar,
sedangkan epoch ke-33 unjuk ,
kerja naik menjadi 0,75 yang karena nilai , maka
artinya hanya 1 pola yang sehingga menghasilkan
dikenali dengan benar dan pada
epoch ke-44 unjuk kerja 0 semua
Dari analisis perhitungan
pola dikenali dengan benar. menunjukkan dengan bobot w1=1
Hasil program Matlab dari dan w2=1, bias = b= -1 dengan
pemrograman
emrograman perceptron fungsi input bipolar (-1 atau 1) dengan
logika ”and” 2 input target biner (0 atau 1) diperoleh
menggunakan input bipolar dan hasil perhitungan sesuai dengan
target biner didapatkan proses fungsi logika “and” pada epoch ke-
iterasi 2 epoch dengan bobot 4.
terakhir w1 = 1 w2 = 1, bias = -11, Pemograman Perceptron
sedangkan bobot awal w1 = -11 ; untuk Fungsi Logika “AND” 2 input
w2 = 1 ; bias awal = 1.. Jika dengan menggunakan biner (0 atau
1) dan bipolar (-1 atau 1) dengan
dilakukan pengecekan analisis

Mengenali Fungsi Logika. . . 42


POLITEKNOSAINS VOL. X NO. 2 Juni 2011

target biner (0 atau 1) konvergensi 1 2


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

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 Gambar 4. Grafik proses iterasi NN
digunakan
igunakan input biner (0 atau 1) dan Fungsi Logika “AND” 2
target biner (0 atau 1) input dengan input biner
dengan kondisi awal bobot
dan bias = 0.
Program Matlab
function perceptron
Gambar 4 menunjukkan
%Pelatihan Perceptron proses iterasi diselesaikan dalam 8
%Perceptron mengenali pola 'dan' epoch dengan nilai awal bobot
dengan 2 variabel input w1=0, w2=0 dan nilai bias b=0 ,
clc jumlah iterasi ini lebih kecil
net = newp ([0 1 ; 0 1],1);%data %data
biner
dibanding dengan hasil simulasi
net.IW {1,1}= [0 0];%bobot awal 0 fungsi logika “and” 2 input dengan
net.b {1} = [0];%bias awal kondisi awal bobot awal w1 = -1 ; w2
p = [ [1;1] [1;0] [0;1] [0;0] ]; = 1 ; bias awal = 1 (Gambar 2) dengan
t = [1 0 0 0];%target demikian kondisi awal bobot dan
net = train (net,p,t); kondisi awal bias mempengaruhi
disp ('nilai bobot terakhir') jumlah iterasi dengan hasil nilai akhir
disp (net.IW {1,1})
bobot dan nilai akhir bias adalah
disp ('nilai bias terakhir')
disp (net.b {1}) sama. Hasil program menunjukkan
saat epoch ke-8 unjuk kerja = 0 berarti
semua pola dikenali dengan benar.
HASIL PROGRAM
TRAINC, Epoch 0/100
TRAINC, Epoch 8/100
TRAINC, Performance goal met.
nilai bobot terakhir

Mengenali Fungsi Logika. . . 43


POLITEKNOSAINS VOL. X NO. 2 September 2011

4. KESIMPULAN jaringan Neural Buatan-


Dapat disimpul disini bahwa: Fuzzy Dan Aplikasinya
1. Pemograman Perceptron untuk Pada Sistem Penciuman
mengenali fungsi logika “and” Elektronik”, Makara
2 variabel input dengan input Sains, Vol.6.No.1, April
biner (0 atau 1) membutuhkan 2002.
proses iterasi yang lebih lama
Jong. J.S., 2005, ”Jaringan syaraf
(9 epoch) dibandingkan
Tiruan &
dengan input bipolar (-1 atau
Pemrogramannya
1) yang membutuhkan 4
Menggunakan Matlab”,
epoch.
Andi Offset, Yogyakarta.
2. Kondisi awal bobot dan
kondisi awal bias Wahidin.W.,2004, ”Aplikasi
mempengaruhi jumlah iterasi Algoritma Back-
dalam pemograman Propagation Multi Layer
Perceptron, untuk mengenali Perceptron pada
fungsi logika “and” 2 variabel Identifikasi Dimanika
input dengan masukan biner , Sistem Nonlinier”, Jurnal
kondisi awal bobot w1=0, Teknologi, Edisi No.1,
w2=0 dan nilai bias b=0 Tahun XVIII, Maret
jumlah iterasi untuk 2004, 1-62, ISSN 0215-
memperoleh unjuk kerja = 0 1685.
diperlukan 8 epoch, sedangkan
dengan nilai awal bobot w1 = -
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