You are on page 1of 8

POLITEKNOSAINS VOL. X NO.

2 Juni 2011

MENGEN ALI FUNGS I LOGIKA “AND” MELALUI


PEMROGRAMAN PERC EPTRON DENGAN MATLAB

Yaya Finayani

Teknik Elektro, Politeknik Pratama Mulia , Surakarta 57149, Indonesia

ABS TRACT
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 M odel jaringan perceptron


Jaringan sy araf tiruan (JST) ditemukan oleh Rosenblatt
adalah sistem pemrosesan (1962) dan M insky-Papert
informasi yang memiliki (1969). M odel tersebut
karakteristik mirip dengan merupakan model yang memiliki
jaringan sy araf biologi. J ST aplikasi dan pelatihan yang
mensimulasikan abstrak dari paling baik pada era tersebut
system syaraf dalam otak (Jong, 2005).
manusia yang mengandung M akalah 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 M atlab.
kali diperkenalkan oleh
M cCulloch dan Pitts pada tahun 2. BAHAN DAN METODE
1943 yang menyimpulkan bahwa Bahan yang digunakan adalah
kombinasi beberapa neuron Software M atlab 7.04 dan
sederhana menjadi sebuah sy stem 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 sy araf 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:
( )= ( )
W1 + . .
X1
( )= ( )+ .
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 dalam algoritma %Pelatihan perceptron
%Perceptron mengenali pola 'dan'
perceptron: 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
targetny a (jaringan sudah net = newp ([0 1 ; 0 1],1);
net.IW {1,1}= [-1 1];%nilai bobot awal
memahami pola) net.b {1} = [1];%nilai bias awal
b. Perubahan bobot hanya p = [ [1;1] [1;0] [0;1] [0;0]
dilakukan pada pola yang ];%kom binasi masukan
mengandung kesalahan (output t = [1 0 0 0];%target
jaringan ≠ target). Perubahan net = train (net, p, t);%pelatihan
perceptron
tersebut merupakan hasil kali di sp ('nilai bobot terakhi r')
unit input dengan target dan di sp (net.IW {1,1})
laju pembelajaran. Perubahan di sp ('nilai bias terakhi r')
bobot hanya akan terjadi kalau di sp (net.b {1})
unit input ≠ 0.
c. Kecepatan iterasi ditentukan
oleh learning rate (= HASIL PROGRAM:
TRAINC, Epoch 0/100
0≤ ≤1 yang TRAINC, Epoch 9/100
dipakai. TRAINC, Performance goal met.
nilai bobot terakhir
3. HAS IL DAN 1 2
PEMBAHAS AN nilai bias terakhir
-3

FUNGS I LOGIKA “AND”


Dalam mengenali fungsi logika
“and” dilakukan 3 kali simulasi
program M atlab 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 M atlab sebagai berikut: Fungsi Logika “ AND” 2
input dengan input biner.

Mengenali Fungsi Logika. . . 40


POLITEKNOSAINS VOL. X NO. 2 Juni 2011

Hasil program M atlab 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 =
; bias a wal = 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 t arget
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
%Pelatihan perceptron
“ and” 2 variable input dari hasil
%Perceptron mengenali pola 'dan'
program Matlab, sebagai berikut: dengan 2 variabel input
1
a. Pola = , %Masukan bipolar , target biner
1 %Mengetahui bobot akhi r yang
=∑ + diperoleh
= 1.1 + 1.2 − 3 = 0, karena clc
nilai = 0 , maka ( ) =1 net = newp ([-1 1 ; -1 1],1);%data
sehingga menghasilkan = bipolar
1 net.IW {1,1}= [-1 1];%bobot awal
b. Pola = , bentuk bipolar
0
=∑ + net.b {1} = [1];
= 1.1 + 0.2 − 3 = −2, karena p = [ [1;1] [1;-1] [-1;1] [-1;-1] ];
nilai = −2 , maka ( )=0 t = [1 0 0 0];
net = train (net,p,t);
sehingga menghasilkan = di sp ('nilai bobot terakhi r')
0
c. Pola = , di sp (net.IW {1,1})
1 di sp ('nilai bias terakhi r')
=∑ + di sp (net.b {1})
= 0.1 + 1.2 − 3 = −1, karena
nilai = −1 , maka ( )=0 HASIL PROGRAM
sehingga menghasilkan = TRAINC, Epoch 0/100
0 TRAINC, Epoch 4/100
d. Pola = ,
0 TRAINC, Performance goal met.
=∑ + nilai bobot terakhir
1 1

Mengenali Fungsi Logika. . . 41


POLITEKNOSAINS VOL. X NO. 2 September 2011

nilai bias terakhi r perhitungan dari hasil program


-1 M atlab adalah sebagai berikut:
1
a. Pola = ,
1
=∑ +
= 1.1 + 1.1 − 1 = 1, karena
nilai = 1 , maka ( ) =1
sehingga menghasilkan =
1
b. Pola = ,
−1
=∑ +
= 1.1 + −1.1 − 1 = −1,
karena nilai = −1 , maka
( ) = 0 sehingga menghasilkan
=
−1
c. Pola = ,
1
Gambar 3. Grafik proses iterasi NN =∑ +
Fungsi Logika “ AND” 2 = −1.1 + 1.1 − 1 = −1,
input dengan input bipolar.
karena nilai = −1 , maka
( ) = 0 sehingga menghasilkan
Gambar 3 menunjukkan =
bahwa pada epoch ke-1 dan ke-2 −1
d. Pola = ,
unjuk kerja 0,5 berarti ada 2 pola −1
yang dikenali dengan benar, =∑ +
sedangkan epoch ke-3 unjuk = −1.1 + −1.1 − 1 = −3,
kerja naik menjadi 0,75 yang karena nilai = −3 , maka
artinya hanya 1 pola yang ( ) = 0 sehingga menghasilkan
dikenali dengan benar dan pada =
epoch ke-4 unjuk kerja 0 semua
Dari analisis perhitungan
pola dikenali dengan benar. menunjukkan dengan bobot w1 =1
Hasil program M atlab dari dan w2 =1, bias = b= -1 dengan
pemrograman 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 = -1, Pemograman Perceptron
sedangkan bobot awal w1 = -1 ; unt uk 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


nilai bias terak hir
diperoleh lebih cepat saat -3
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 Gambar 4. Grafik proses iterasi NN
digunakan 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
Gambar 4 menunjukkan
function perceptron
%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 dibanding dengan hasil simulasi
biner
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
di sp ('nilai bobot terakhi r') jumlah iterasi dengan hasil nilai akhir
di sp (net.IW {1,1}) bobot dan nilai akhir bias adalah
di sp ('nilai bias terakhi r')
sama. Hasil program menunjukkan
di sp (net.b {1})
saat epoch ke-8 unjuk kerja = 0 berarti
semua pola dikenali dengan benar.
HASIL PROGRAM
TRAI NC, Epoc h 0/ 100
TRAI NC, Epoch 8/100
TRAI NC, Perform ance goal m et.
nilai bobot terak hir

Mengenali Fungsi Logika. . . 43


POLITEKNOSAINS VOL. X NO. 2 September 2011

4. KES IMPULAN jaringan Neural Buatan-


Dapat disimpul disini bahwa: Fuzzy Dan Aplikasinya
1. Pemograman Perceptron untuk Pada Sistem Penciuman
mengenali fungsi logika “and” Elektronik”, M akara
2 variabel input dengan input Sains, Vol.6.No.1, Ap ril
biner (0 atau 1) membutuhkan 2002.
proses iterasi yang lebih lama Jong. J.S., 2005, ”Jaringan sy araf
(9 epoch) dibandingkan Tiruan &
dengan input bipolar (-1 atau Pemrogramannya
1) yang membutuhkan 4 M enggunakan M atlab”,
epoch. Andi Offset, Yogyakarta.
2. Kondisi awal bobot dan
kondisi awal bias Wahidin.W.,2004, ”Aplikasi
mempengaruhi jumlah iterasi Algoritma Back-
dalam pemograman Prop agation M ulti 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, M aret
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 a wal = 1
memerlukan 9 epoch untuk
mencapai unjuk kerja = 0.

5. DAFTAR PUSTAKA
Andi.P.,2004, ” Pengenalan
Karakter Alfabet
M enggunakan 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