jaringan perceptron & matlab
DESCRIPTION
TRANSCRIPT
![Page 1: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/1.jpg)
PEMROGRAMAN
PERCEPTRON PADA
MATLAB
JST dan
Matlab
Arafat, M.Kom
![Page 2: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/2.jpg)
Pada MATLAB, fungsi yang dipakai untuk membangun jaringan perceptron adalah newp.
Perintah newp akan membuat sebuah perceptron dengan spesifikasi tertentu (jumlah unit input,
jumlah neuron,fungsi aktivasi, dll)
Fungsi : net = newp(PR,S)
net = newp(PR,S,TF,LF)
PR: matriks berukuran Rx2 yang berisi nilai minimum dan maksimum, dengan R adalah
jumlah variabel input (ada R buah masukan)
S : jumlah neuron (target)
TF : fungsi aktivasi biner(defaultnya adalah fungsi treshold, dalam MATLAB disebut
‘hardlim’)
LF : Fungsi pembelajaran (default : learnp, dipakai untuk mengubah bobot sehingga
diperoleh bobot yang mendekati target)
Arsitektur jaringan terlihat seperti gambar berikut :
![Page 3: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/3.jpg)
OPERATOR AND
Jaringan syaraf operasi AND dengan input dan output biner sebagai berikut :
Input target
0 0 0
0 1 0
1 0 0
1 1 1
Membangun perceptron (newp), dengan 2 input masing-masing mempunyai elemen dengan nilai
minimum 0 dan maksimum 1 ([0 1;0 1]), dan memiliki 1 neuron (1), fungsi aktivasi
hardlim dan fungsi pembelajaran learnp.
Instruksi pada jendela perintah MATLAB :
>> net=newp([0 1;0 1],1);
1. Input jaringan syaraf
% mengetahui ukuran input jaringan syaraf ini
>> JumlahInput=net.inputs{1}.size
JumlahInput = 2
Berarti jaringan syaraf ini memiliki 2 variabel input
% mengetahui range elemen input jaringan syaraf ini
>> RangeInput=net.inputs{1}.range
RangeInput =
0 1
0 1
![Page 4: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/4.jpg)
Berarti input pertama jaringan syaraf ini memiliki nilai minimum 0 dan nilai maksimum 1,
demikian pula, input kedua memiliki nilai minimum 0 dan maksimum 1.
2. Ukuran output jaringan syaraf
% mengetahui ukuran output jaringan syaraf ini
>> JumlahOutput=net.outputs{1}.size
JumlahOutput =1
Berarti jaringan syaraf ini memiliki 1 variabel output.
3. Lapisan
% mengetahui ukuran lapisan jaringan syaraf ini
>> JumlahLapisan=net.layers{1}.size
JumlahLapisan =1
Berarti jaringan syaraf ini memiliki 1 lapisan (single layer)
% mengetahui fungsi aktivasi yang digunakan oleh jaringan syaraf ini
>> FungsiAktifasi=net.layers{1}.transferFcn
FungsiAktifasi =hardlim
Berarti jaringan syaraf ini menggunakan fungsi aktivasi hardlim
4. Ukuran Bias
% mengetahui ukuran bias jaringan syaraf ini
>> JumlahBias=net.biases{1}.size
JumlahBias =1
Berarti jaringan syaraf ini menggunakan fungsi aktivasi hardlim
5. Bobot Jaringan Syaraf
% mengetahui jumlah bobot input pada jaringan syaraf ini
>> JumlahBobotInput=net.inputWeights{1}.size
JumlahBobotInput = 1 2
![Page 5: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/5.jpg)
Berarti jaringan syaraf ini memiliki 2 bobot input
% mengetahui bobot-bobot input pada jaringan syaraf ini
>> BobotInput=net.IW{:}
BobotInput = 0
Berarti kedua bobot ini memiliki nilai awal = 0
%mengetahui jumlah lapisan pada jaringan syaraf ini
>> JumlahBobotLapisan=net.LW{:}
JumlahBobotLapisan =[]
Berarti jaringan syaraf ini tidak memiliki bobot lapisan
% mengetahui bobot-bobot bias pada jaringan ini
>> BobotBias=net.b{1}
BobotBias =0
Berarti bobot bias memiliki nilai awal = 0
Menggambar hubungan antara vektor input dengan vektor target pada perceptron menggunakan
perintah plotpv.
Syntax : plotpv(P,T)
Plotpv(P,T,V)
P : matriks berukuran m x n, yang merupakan vektor input dengan jumlah variabel input
(m) maksimum 3, dan n jumlah data.
T : matriks berukuran r x n, yang merupakan vektir target yang harus bernilai 0 atau 1
(biner) dengan jumlah variabel target (r) maksimum 3 , dan n jumlah data.
V : batas grafik, [x_min x_max y_min y_max]
% menggambar hubungan antara vektor input P dan target T
>> P=[0 0 1 1;0 1 0 1];
>> T=[0 0 0 1];
![Page 6: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/6.jpg)
>> plotpv(P,T);
Akan dihasilkan gambar seperti berikut :
>> net=newp([0 1;0 1],1);
>> net.IW{1,1}=[-0.8 -1.3];
>> net.b{1}=0.6;
>> P=[0 0 1 1;0 1 0 1];
>> T=[0 0 0 1];
>> plotpv(P,T);
% melihat garis hasil komputasi
>> plotpc(net.IW{1,1},net.b{1});
![Page 7: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/7.jpg)
% jaringan syaraf yang ada dikembalikan sesuai inisialisasi fungsinya
>> net=init(net);
>> net.IW{1,1}
ans = 0 0
>> net.b{1}
ans = 0
Melakukan pembelajaran agar jaringan syaraf bisa beradaptasi, untuk melakukan adaptasi pada
perseptron digunakan adapt.
Syntax : [net,Y,E] = adapt(net,P,T)
Net : jaringan syaraf yang telah beradaptasi
Y : output jaringan syaraf
E : error yang terjadi (target – output jaringan)
P : input jaringan (data-data yang diadaptasikan)
T : target jaringan
![Page 8: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/8.jpg)
instruksi untuk melakukan adaptasi sebanyak 3 epoh pada jaringan syaraf untuk operasi AND
% input
>> P=[0 0 1 1;0 1 0 1];
% target
>> T=[0 0 0 1];
% membangun jaringan syaraf tiruan dengan perceptron
>> net=newp(minmax(P),1);
% mengembalikan nilai bobot sesuai dengan inisialisasi fungsi
>> net=init(net);
% set epoh sebanyak 3 kali
>> net.adaptParam.passes=3;
% melakukan adaptasi
>> [net,Y,E]=adapt(net,P,T);
% menggambar grafik hasil
>> plotpv(P,T);
>> plotpc(net.IW{1,1},net.b{1});
% mencari mean square
>> EmEsE=mse(E);
% tampilkan hasil
>> BoboInputAkhir=net.IW{1,1}
BoboInputAkhir = 1 1
>> BoboBiasAkhir=net.b{1}
BoboBiasAkhir = -1
>> MSE=EmEsE
MSE = 0.2500
![Page 9: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/9.jpg)
>> %karena masih o.25 maka dilakukan pelatihan lagi
>> P = [0 0 1 1;0 1 0 1];
>> T = [0 0 0 1];
>> net = newp(minmax(P),1);
>> net = init(net);
>> % nilai epoh diubah menjadi 6
>> net.adaptParam.passes=6;
>> [net,Y,E]=adapt(net,P,T);
>> plotpv(P,T);
>> plotpc(net.IW{1,1},net.b{1});
>> EmEsE=mse(E);
![Page 10: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/10.jpg)
>> BoboBiasAkhir=net.b{1}
BoboBiasAkhir =-2
>> BoboInputAkhir=net.IW{1,1}
BoboInputAkhir =1 1
>> MSE=EmEsE
MSE = 0
Nilai MSE = 0, artinya sudah diperoleh jaringan dengan bobot-bobot yang baik.
Melakukan simulasi input data baru terhadap jaringan syaraf yang telah selesai melakukan
pembelajaran, menggunakan sim.
Syntax : a = sim(net,p)
a : output hasil simulasi
![Page 11: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/11.jpg)
net : jaringan syaraf yang telah dilatih.
p : input data yang akan disimulasikan pada jaringan syaraf
untuk menghitung keluaran jaringan , kita tidak perlu mengetahui targetnya. Akan tetapi jika
ingin dihitung kesalahan yang terjadi (selisih antara target dengan keluaran jaringan), maka harus
diketahui targetnya.
>> %melakukan pengujian
>> a=sim(net,[1;0])
a = 0
>> a = sim(net,[1;1])
a =1
>> a = sim(net,[0;0])
a = 0
>> a=sim(net,[0;1])
a = 0
Mengambil informasi tentang output jaringan, error adaptasi, bobot input, bobot bias, dan mean
square error (MSE) pada setiap epoh, dan menyimpannya dalam file HasilPerceptronAnd.m
>> fb=fopen('HasilPerseptronAnd.m','w');
>> %input
>> P=[0 0 1 1;0 1 0 1];
>> [m n]=size(P);
>> fprintf(fb,'Data input (P):\n')
ans = 16
>> for i=1;n,
fprintf(fb,'%d %d\n',P(:,i));
end;
n = 4
>> %Target
>> T=[0 0 0 1];
![Page 12: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/12.jpg)
>> fprintf(fb,'Target (T):\n');
>> fprintf(fb,'%d\n',T);
>> %bentuk jaringan syaraf dengan perceptron
>> net=newp(minmax(P),1);
>> plotpv(P,T);
>> linehandle=plotpc(net.IW{1},net.b{1});
>> %set eror awal E=1
>> E=1;
>> %kembalikan nilai bobot sesiau inisialisasi fungsinya
>> net=init(net);
>> fprintf(fb,'Bobot Input Awal(w):%4.2f %4.2f\n',net.IW{1,1});
>> fprintf(fb,'Bobot Bias Awal(b):%4.2f\n',net.b{1});
>> linehandle=plotpc(net.IW{1},net.b{1});
>> Epoh=0;
>> MaxEpoh=100;
>> %pembelajaran kerjakan sampai sum squere eror(SSE)=0 atau epoh>maxEpoh
>> while(sse(E)&(Epoh<MaxEpoh)),
fprintf(fb,'\n');
Epoh=Epoh+1;
fprintf(fb,'Epoh ke-%1d \n',Epoh);
[net,Y,E]=adapt(net,P,T);
fprintf(fb,'Output Jaringan (Y):');
for i=1:n,
fprintf(fb,'%1d',E(i));
end;
fprintf(fb,'\n');
![Page 13: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/13.jpg)
fprintf(fb,'Eror Adapatasi (E):');
for i=1:n,
fprintf(fb,'%1d',E(i));
end;
fprintf(fb,'\n');
fprintf(fb,'Bobot Input Baru (W):%4.2f %4.2f \n',net.IW{1,1});
fprintf(fb,'Bobot Bias Baru (b) : %4.2f \n',net.b{1});
fprintf(fb,'Sum Square Error (SSE):%4.2f \n',sse(E));
linehandle=plotpc(net.IW{1},net.b{1},linehandle);
drawnow;
Y
E
pause(2);
end;
Y = 1 1 1 1
E = -1 -1 -1 0
Y = 0 0 0 0
E = 0 0 0 1
Y = 0 0 0 0
E = 0 0 0 1
Y = 0 1 1 1
E = 0 -1 -1 0
Y = 0 0 0 0
E = 0 0 0 1
![Page 14: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/14.jpg)
Y = 0 0 0 1
E =0 0 0 0
>> fprintf(fb,'\n');
>> fprintf(fb,'Bobot Input Akhir (W):%4.2f %4.2f \n',net.IW{1,1});
>> fprintf(fb,'Bobot Bias Akhir (b):%4.2f \n',net.b{1});
>> %vektor yang akan disimulasikan
>> p=[0.5 0.1 0.7 0.2 0.5; 0.5 0.1 0.1 0.4 0.3];
>> %simulasi
>> a=sim(net,p)a = 0 0 0 0 0
>> plotpv(p,a);
>> ThePoint=findobj(gca,'type','line');
>> set(ThePoint,'Color','green');
>> pause(2);
>> hold on;
>> plotpv(P,T);
>> plotpc(net.IW{1},net.b{1});
>> hold off;
>> fclose(fb);
![Page 15: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/15.jpg)
Hasil perceptronAnd.m
Data input (P):
0 0
0 1
1 0
1 1
Target (T):
0
0
0
1
Bobot Input Awal(w):0.00 0.00
Bobot Bias Awal(b):0.00
Epoh ke-1
![Page 16: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/16.jpg)
Output Jaringan (Y):-1-1-10
Eror Adapatasi (E):-1-1-10
Bobot Input Baru (W):-1.00 -1.00
Bobot Bias Baru (b) : -3.00
Sum Square Error (SSE):3.00
![Page 17: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/17.jpg)
Epoh ke-2
Output Jaringan (Y):0001
Eror Adapatasi (E):0001
Bobot Input Baru (W):0.00 0.00
Bobot Bias Baru (b) : -2.00
Sum Square Error (SSE):1.00
Epoh ke-3
Output Jaringan (Y):0001
Eror Adapatasi (E):0001
Bobot Input Baru (W):1.00 1.00
Bobot Bias Baru (b) : -1.00
Sum Square Error (SSE):1.00
Epoh ke-4
Output Jaringan (Y):0-1-10
Eror Adapatasi (E):0-1-10
Bobot Input Baru (W):0.00 0.00
Bobot Bias Baru (b) : -3.00
Sum Square Error (SSE):2.00
Epoh ke-5
Output Jaringan (Y):0001
Eror Adapatasi (E):0001
Bobot Input Baru (W):1.00 1.00
Bobot Bias Baru (b) : -2.00
Sum Square Error (SSE):1.00
Epoh ke-6
![Page 18: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/18.jpg)
Output Jaringan (Y):0000
Eror Adapatasi (E):0000
Bobot Input Baru (W):1.00 1.00
Bobot Bias Baru (b) : -2.00
Sum Square Error (SSE):0.00
Bobot Input Akhir (W):1.00 1.00
Bobot Bias Akhir (b):-2.00
![Page 19: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/19.jpg)
OPERATOR NOT AND
Jaringan syaraf operasi AND dengan input dan output biner sebagai berikut :
Input target
0 0 0
0 1 0
1 0 1
1 1 0
% mengetahui ukuran input jaringan syaraf ini
>> net=newp([0 1;0 1],1);
>> JumlahInput=net.inputs{1}.size
JumlahInput = 2
Berarti jaringan syaraf ini memiliki 2 variabel input
% mengetahui range elemen input jaringan syaraf ini
>> RangeInput=net.inputs{1}.range
RangeInput =0 1 1
Berarti input pertama jaringan syaraf ini memiliki nilai minimum 0 dan nilai maksimum 1,
demikian pula, input kedua memiliki nilai minimum 0 dan maksimum 1.
% mengetahui ukuran output jaringan syaraf ini
>> JumlahOutput=net.outputs{1}.size
JumlahOutput =1
Berarti jaringan syaraf ini memiliki 1 variabel output.
![Page 20: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/20.jpg)
% mengetahui ukuran lapisan jaringan syaraf ini
>> JumlahLapisan=net.layers{1}.size
JumlahLapisan =1
Berarti jaringan syaraf ini memiliki 1 lapisan (single layer)
% mengetahui fungsi aktivasi yang digunakan oleh jaringan syaraf ini
>> FungsiAktifasi=net.layers{1}.transferFcn
FungsiAktifasi =hardlim
% mengetahui ukuran bias jaringan syaraf ini
>> JumlahBias=net.biases{1}.size
% mengetahui ukuran bias jaringan syaraf ini
JumlahBias =1
% mengetahui jumlah bobot input pada jaringan syaraf ini
>> JumlahBobotInput=net.inputWeights{1}.size
JumlahBobotInput =1 2
% mengetahui bobot-bobot input pada jaringan syaraf ini
>> BobotInput=net.IW{:}
BobotInput =0
%mengetahui jumlah lapisan pada jaringan syaraf ini
>> JumlahBobotLapisan=net.LW{:}
JumlahBobotLapisan =[]
% mengetahui bobot-bobot bias pada jaringan ini
>> BobotBias=net.b{1}
BobotBias =0
Menggambar hubungan antara vektor input dengan vektor target pada perceptron menggunakan
perintah plotpv.
>> P=[0 0 1 1;0 1 0 1];
![Page 21: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/21.jpg)
>> T=[0 0 1 0];
>> plotpv(P,T);
>> net=newp([0 1;0 1],1);
>> net.IW{1,1}=[-0.8 -1.3];
>> net.b{1}=0.6;
>> P=[0 0 1 1;0 1 0 1];
>> T=[0 0 1 0];
>> plotpv(P,T);
% melihat garis hasil komputasi
>> plotpc(net.IW{1,1},net.b{1});
![Page 22: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/22.jpg)
% jaringan syaraf yang ada dikembalikan sesuai inisialisasi fungsinya
>> net=init(net);
>> net.IW{1,1}
ans =
0 0
>> net.b{1}
ans =0
Melakukan pembelajaran agar jaringan syaraf bisa beradaptasi.
% input
>> P=[0 0 1 1;0 1 0 1];
% target
>> T=[0 0 1 0];
% membangun jaringan syaraf tiruan dengan perceptron
>> net=newp(minmax(P),1);
% mengembalikan nilai bobot sesuai dengan inisialisasi fungsi
![Page 23: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/23.jpg)
>> net=init(net);
% set epoh sebanyak 3 kali
>> net.adaptParam.passes=3;
% melakukan adaptas
>> [net,Y,E]=adapt(net,P,T);
% menggambar grafik hasil
>> plotpv(P,T);
>> plotpc(net.IW{1,1},net.b{1});
% mencari mean square
>> EmEsE=mse(E);
>> BobotInputAkhir=net.IW{1,1}
% tampilkan hasil
BobotInputAkhir =1 -2
>> BobotBiasAkhir=net.b{1}
BobotBiasAkhir =-1
>> MSE=EmEsE
![Page 24: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/24.jpg)
MSE =0.2500
>> %pelatihan dengan nilai epoh di ubah menjadi 4
>> P=[0 0 1 1;0 1 0 1];
>> T=[0 0 1 0];
>> net=newp(minmax(P),1);
>> net=init(net);
>> % nilai epoh diubah menjadi 4
>> net.adaptParam.passes=4;
>> [net,Y,E]=adapt(net,P,T);
>> plotpv(P,T);
>> plotpc(net.IW{1,1},net.b{1});
>> EmEsE=mse(E);
>> BoboInputAkhir=net.IW{1,1}
BoboInputAkhir =1 -2
>> BoboBiasAkhir=net.b{1}
BoboBiasAkhir =-1
>> MSE=EmEsE
MSE =0
% simulasi input data baru tertentu terhadap jaringan syaraf yang telah selesai
melakukan pembelajaran
>> a=sim(net,[1;0])
a =1
>> a=sim(net,[1;1])
a =0
>> a=sim(net,[0;0])
a =0
>> a=sim(net,[0;1])
![Page 25: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/25.jpg)
a =0
% informasi tentang output jaringan, error adaptasi, bobot input, bobot bias, dan mean
square error pada setiap epoh, dan menyimpannya dalam file HasilPerceptron.m
>> fb=fopen('HasilPerceptron.m','w');
>> P=[0 0 1 1;0 1 0 1];
>> [m n]=size(P);
>> fprintf(fb,'Data input (P):\n')
ans =16
>> for i=1;n,
fprintf(fb,'%d %d\n',P(:,i));
end;
n =4
>> %Target
>> T=[0 0 1 0];
>> fprintf(fb,'Target (T):\n');
>> fprintf(fb,'%d\n',T);
>> %bentuk jaringan syaraf dengan perceptron
>> net=newp(minmax(P),1);
>> plotpv(P,T);
>> linehandle=plotpc(net.IW{1},net.b{1});
>> %set eror awal E=1
>> E=1;
>> %kembalikan nilai bobot sesiau inisialisasi fungsinya
>> net=init(net);
>> fprintf(fb,'Bobot Input Awal(w):%4.2f %4.2f\n',net.IW{1,1});
>> fprintf(fb,'Bobot Bias Awal(b):%4.2f\n',net.b{1});
>> linehandle=plotpc(net.IW{1},net.b{1});
![Page 26: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/26.jpg)
>> Epoh=0;
>> MaxEpoh=100;
>> %pembelajaran kerjakan sampai sum squere eror(SSE)=0 atau epoh>maxEpoh
>> while(sse(E)&(Epoh<MaxEpoh)),
fprintf(fb,'\n');
Epoh=Epoh+1;
fprintf(fb,'Epoh ke-%1d \n',Epoh);
[net,Y,E]=adapt(net,P,T);
fprintf(fb,'Output Jaringan (Y):');
for i=1:n,
fprintf(fb,'%1d',E(i));
end;
fprintf(fb,'\n');
fprintf(fb,'Eror Adapatasi (E):');
for i=1:n,
fprintf(fb,'%1d',E(i));
end;
fprintf(fb,'\n');
fprintf(fb,'Bobot Input Baru (W):%4.2f %4.2f \n',net.IW{1,1});
fprintf(fb,'Bobot Bias Baru (b) : %4.2f \n',net.b{1});
fprintf(fb,'Sum Square Error (SSE):%4.2f \n',sse(E));
linehandle=plotpc(net.IW{1},net.b{1},linehandle);
drawnow;
>> Y
E
pause(2);
end;
![Page 27: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/27.jpg)
Y =
1 1 1 1
E =
-1 -1 0 -1
Y =
0 0 0 0
E =
0 0 1 0
Y =
0 0 0 0
E =
0 0 1 0
Y =
0 0 1 0
E =
0 0 0 0
>> fprintf(fb,'\n');
>> fprintf(fb,'Bobot Input Akhir (W):%4.2f %4.2f \n',net.IW{1,1});
>> fprintf(fb,'Bobot Bias Akhir (b):%4.2f \n',net.b{1});
>> %vektor yang akan disimulasikan
>> p=[0.5 0.1 0.7 0.2 0.5; 0.5 0.1 0.1 0.4 0.3];
>> %simulasi
>> a=sim(net,p)
a =
0 0 0 0 0
>> plotpv(p,a);
![Page 28: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/28.jpg)
>> ThePoint=findobj(gca,'type','line');
>> set(ThePoint,'Color','green');
>> pause(2);
>> hold on;
>> plotpv(P,T);
>> plotpc(net.IW{1},net.b{1});
>> hold off;
>> fclose(fb);
Hasil Perceptron.m
Data input (P):
0 0
0 1
1 0
1 1
![Page 29: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/29.jpg)
Target (T):
0
0
1
0
Bobot Input Awal(w):0.00 0.00
Bobot Bias Awal(b):0.00
Epoh ke-1
Output Jaringan (Y):-1-10-1
Eror Adapatasi (E):-1-10-1
Bobot Input Baru (W):-1.00 -2.00
Bobot Bias Baru (b) : -3.00
Sum Square Error (SSE):3.00
Epoh ke-2
Output Jaringan (Y):0010
Eror Adapatasi (E):0010
Bobot Input Baru (W):0.00 -2.00
Bobot Bias Baru (b) : -2.00
Sum Square Error (SSE):1.00
Epoh ke-3
Output Jaringan (Y):0010
Eror Adapatasi (E):0010
Bobot Input Baru (W):1.00 -2.00
Bobot Bias Baru (b) : -1.00
Sum Square Error (SSE):1.00
Epoh ke-4
Output Jaringan (Y):0000
![Page 30: Jaringan perceptron & matlab](https://reader031.vdocuments.pub/reader031/viewer/2022012400/54859c6fb47959d80c8b4e61/html5/thumbnails/30.jpg)
Eror Adapatasi (E):0000
Bobot Input Baru (W):1.00 -2.00
Bobot Bias Baru (b) : -1.00
Sum Square Error (SSE):0.00
Bobot Input Akhir (W):1.00 -2.00
Bobot Bias Akhir (b):-1.00