You are on page 1of 8

POLITEKNOSAINS VOL. X NO.

2 Juni 2011
Mengenali Fungsi Logika. . . 37

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.



POLITEKNOSAINS VOL. X NO. 2 September 2011

Mengenali Fungsi Logika. . . 38

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.
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
POLITEKNOSAINS VOL. X NO. 2 Juni 2011
Mengenali Fungsi Logika. . . 39

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.















Gambar 1. Arsitektur Perceptron

Keterangan Gambar 1.
X
1
, X
2
, X
n
: n unit input
Y : unit output
b : bias (=1)
W
1
, W
2
, W
n
: bobot penghubung
dari unit input ke unit output



Algoritma Perceptron
Proses belajar Perceptron,
proses perubahan bobot
pembelajarannya ditambahkan
laju pembelajaran (learning rate)
yang berfungsi untuk
mengontrol perubahan bobot
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:


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


dengan . .



1
X
1
X
2
Y
X
n
b
W
n
W
2
W
1
POLITEKNOSAINS VOL. X NO. 2

Mengenali Fungsi Logika. . .

Ada beberapa hal yang
perlu diperhatikan 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 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
oleh learning rate
yang
dipakai.

3. HASIL DAN
PEMBAHASAN

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:

POLITEKNOSAINS VOL. X NO. 2 September 2011
40
Ada beberapa hal yang
rhatikan dalam algoritma
Iterasi dilakukan terus hingga
semua pola memiliki output
jaringan yang sama dengan
targetnya (jaringan sudah
Perubahan bobot hanya
ola yang
mengandung kesalahan (output
target). Perubahan
tersebut merupakan hasil kali
unit input dengan target dan
laju pembelajaran. Perubahan
bobot hanya akan terjadi kalau
itentukan
yang
DAN
fungsi logika
simulasi
untuk
Pemograman Perceptron
mengenali Fungsi logika dan 2
dengan masukan
bipolar (0 atau 1) target biner ( 0

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













Gambar 2. Grafik proses iterasi NN
Fungsi Logika AND 2
input dengan input biner.
POLITEKNOSAINS VOL. X NO. 2 Juni 2011
Mengenali Fungsi Logika. . . 41

Hasil program Matlab dan
Gambar 2 menunjukkan bahwa
dengan bobot awal w
1
= -1 ; w
2
= 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 w
1
= 1 , w
2
= 2
sedangkan bias -3.
Analisis perhitungan fungsi logika
and 2 variable input dari hasil
program Matlab, sebagai berikut:
a. Pola
1
1
,


1.1 1.2 3 0, karena
nilai 0 , maka 1
sehingga menghasilkan
b. Pola
1
0
,


1.1 0.2 3 2, karena
nilai 2 , maka 0
sehingga menghasilkan
c. Pola
0
1
,


0.1 1.2 3 1, karena
nilai 1 , maka 0
sehingga menghasilkan
d. Pola
0
0
,


0.1 0.2 3 3, karena
nilai 3 , maka 0
sehingga menghasilkan
Dari hasil analisis perhitungan
menunjukkan dengan bobot w
1
=1
dan w
2
=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
POLITEKNOSAINS VOL. X NO. 2

Mengenali Fungsi Logika. . .

nilai bias terakhir
-1














Gambar 3. Grafik proses iterasi NN
Fungsi Logika AND 2
input dengan input bipolar.

Gambar 3 menunjukkan
bahwa pada epoch ke-1 dan ke-2
unjuk kerja 0,5 berarti ada 2 pola
yang dikenali dengan benar,
sedangkan epoch ke-3 unjuk
kerja naik menjadi 0,75 yang
artinya hanya 1 pola yang
dikenali dengan benar dan pada
epoch ke-4 unjuk kerja 0 semua
pola dikenali dengan benar.
Hasil program Matlab dari
pemrograman 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 = -1
sedangkan bobot awal w1 = -1 ;
w2 = 1 ; bias awal = 1. Jika
dilakukan pengecekan analisis
POLITEKNOSAINS VOL. X NO. 2 September 2011
42
Grafik proses iterasi NN
Fungsi Logika AND 2
input dengan input bipolar.
Gambar 3 menunjukkan
2
kerja 0,5 berarti ada 2 pola
yang dikenali dengan benar,
3 unjuk
kerja naik menjadi 0,75 yang
artinya hanya 1 pola yang
dikenali dengan benar dan pada
4 unjuk kerja 0 semua
Hasil program Matlab dari
emrograman perceptron fungsi
logika and 2 input
menggunakan input bipolar dan
didapatkan proses
iterasi 2 epoch dengan bobot
1,
1 ;
. Jika
analisis
perhitungan dari hasil program
Matlab adalah sebagai berikut:
a. Pola ,

, karena
nilai , maka
sehingga menghasilkan
b. Pola ,

,
karena nilai , maka
sehingga menghasilkan

c. Pola ,

,
karena nilai , maka
sehingga menghasilkan

d. Pola ,

,
karena nilai , maka
sehingga menghasilkan


Dari analisis perhitungan
menunjukkan dengan bobot w
1
=1
dan w
2
=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 ke-
4.
Pemograman Perceptron
untuk Fungsi Logika AND 2 input
dengan menggunakan biner (0 atau
1) dan bipolar (-1 atau 1) dengan
POLITEKNOSAINS VOL. X NO. 2
Mengenali Fungsi Logika. . .

target biner (0 atau 1) konvergensi
diperoleh lebih cepat saat
menggunakan input 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
digunakan 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
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
TRAINC, Epoch 0/100
TRAINC, Epoch 8/100
TRAINC, Performance goal met.
nilai bobot terakhir
POLITEKNOSAINS VOL. X NO. 2 Juni 2011
43
target biner (0 atau 1) konvergensi
eroleh lebih cepat saat
ut bipolar yaitu
, sedangkan untuk
input biner (0 atau 1) konvergen
target biner , dengan nilai bobot
Simulasi ini dilakukan untuk
mengetahui pengaruh proses iterasi
pemograman Perceptron
fungsi logika and 2 input dengan
adanya pemberian nilai bobot awal
dan bias awal = 0, simulasi
igunakan input biner (0 atau 1) dan
%Perceptron mengenali pola 'dan'
%data
1 2
nilai bias terakhir
-3














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
w
1
=0, w
2
=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 w
1
= -1 ; w
2

= 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.



POLITEKNOSAINS VOL. X NO. 2 September 2011

Mengenali Fungsi Logika. . . 44

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 w
1
=0,
w
2
=0 dan nilai bias b=0
jumlah iterasi untuk
memperoleh unjuk kerja = 0
diperlukan 8 epoch, sedangkan
dengan nilai awal bobot w
1
= -
1 ; w
2
= 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
jaringan Neural Buatan-
Fuzzy 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 Back-
Propagation Multi Layer
Perceptron pada
Identifikasi Dimanika
Sistem Nonlinier, Jurnal
Teknologi, Edisi No.1,
Tahun XVIII, Maret
2004, 1-62, ISSN 0215-
1685.

You might also like