SlideShare a Scribd company logo
MEMBANGUN PERCEPTRON OPERATOR AND 
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 Radalah 
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 :
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 
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 
Berarti jaringan syaraf ini memiliki 2 bobot input 
% mengetahui bobot-bobot input pada jaringan syaraf ini 
>> BobotInput=net.IW{:} 
BobotInput = 
0 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]; 
>> 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});
% 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 
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
>> %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); 
>> 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 
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 %dn',P(:,i)); 
end; 
n = 
4
>> %Target 
>> T=[0 0 0 1]; 
>> fprintf(fb,'Target (T):n'); 
>> fprintf(fb,'%dn',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.2fn',net.IW{1,1}); 
>> fprintf(fb,'Bobot Bias Awal(b):%4.2fn',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'); 
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 
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); 
HasilperceptronAnd.m 
Data input (P): 
0 0 
0 1 
1 0 
1 1 
Target (T): 
00 
01 
Bobot Input Awal(w):0.00 0.00 
Bobot Bias Awal(b):0.00 
Epoh ke-1 
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
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 
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
Membangun perceptron operator and

More Related Content

What's hot

Ix struktur pointer
Ix struktur pointerIx struktur pointer
Ix struktur pointer
Dhan junkie
 
Dts x dicoding #3 memulai pemrograman kotlin
Dts x dicoding #3 memulai pemrograman kotlinDts x dicoding #3 memulai pemrograman kotlin
Dts x dicoding #3 memulai pemrograman kotlin
Ahmad Arif Faizin
 
Dts x dicoding #4 memulai pemrograman kotlin
Dts x dicoding #4 memulai pemrograman kotlinDts x dicoding #4 memulai pemrograman kotlin
Dts x dicoding #4 memulai pemrograman kotlin
Ahmad Arif Faizin
 
Laporan5
Laporan5Laporan5
Laporan5
Sa Lam
 
Modul PBO Bab-04 - Hubungan antar Kelas
Modul PBO Bab-04 - Hubungan antar KelasModul PBO Bab-04 - Hubungan antar Kelas
Modul PBO Bab-04 - Hubungan antar Kelas
Rakhmat Dedi Gunawan
 
Pelatihan Python Dasar Part 2 - POSS UPI
  Pelatihan Python Dasar Part 2 - POSS UPI  Pelatihan Python Dasar Part 2 - POSS UPI
Pelatihan Python Dasar Part 2 - POSS UPI
Ridwan Fadjar
 
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
idsecconf
 
Muhammad Abrar Istiadi - How to hack #idsecconf2016 Online CTF
Muhammad Abrar Istiadi - How to hack #idsecconf2016 Online CTFMuhammad Abrar Istiadi - How to hack #idsecconf2016 Online CTF
Muhammad Abrar Istiadi - How to hack #idsecconf2016 Online CTF
idsecconf
 
Jar perceptron
Jar perceptronJar perceptron
Slide Presentasi EM Algorithm (Play Tennis & Brain Tissue Segmentation)
Slide Presentasi EM Algorithm (Play Tennis & Brain Tissue Segmentation)Slide Presentasi EM Algorithm (Play Tennis & Brain Tissue Segmentation)
Slide Presentasi EM Algorithm (Play Tennis & Brain Tissue Segmentation)
Hendri Karisma
 
Lapopran praktikum struktur data pertemuan 1 Tipe Data
Lapopran praktikum struktur data pertemuan 1  Tipe DataLapopran praktikum struktur data pertemuan 1  Tipe Data
Lapopran praktikum struktur data pertemuan 1 Tipe Data
Ady Achirul
 
SciPy
SciPySciPy
PythonTeX dan Sympy kolaborasi
PythonTeX dan Sympy kolaborasi PythonTeX dan Sympy kolaborasi
PythonTeX dan Sympy kolaborasi
Hirwanto Iwan
 
Poss upi-python-dasar-part1
Poss upi-python-dasar-part1Poss upi-python-dasar-part1
Poss upi-python-dasar-part1
Poss Upi
 
Laporan4
Laporan4Laporan4
Laporan4Sa Lam
 
Dts x dicoding #5 memulai pemrograman kotlin
Dts x dicoding #5 memulai pemrograman kotlinDts x dicoding #5 memulai pemrograman kotlin
Dts x dicoding #5 memulai pemrograman kotlin
Ahmad Arif Faizin
 
How to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggurHow to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggur
idsecconf
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Dian Aditya
 

What's hot (19)

Ix struktur pointer
Ix struktur pointerIx struktur pointer
Ix struktur pointer
 
Dts x dicoding #3 memulai pemrograman kotlin
Dts x dicoding #3 memulai pemrograman kotlinDts x dicoding #3 memulai pemrograman kotlin
Dts x dicoding #3 memulai pemrograman kotlin
 
Dts x dicoding #4 memulai pemrograman kotlin
Dts x dicoding #4 memulai pemrograman kotlinDts x dicoding #4 memulai pemrograman kotlin
Dts x dicoding #4 memulai pemrograman kotlin
 
Laporan5
Laporan5Laporan5
Laporan5
 
Modul PBO Bab-04 - Hubungan antar Kelas
Modul PBO Bab-04 - Hubungan antar KelasModul PBO Bab-04 - Hubungan antar Kelas
Modul PBO Bab-04 - Hubungan antar Kelas
 
Pelatihan Python Dasar Part 2 - POSS UPI
  Pelatihan Python Dasar Part 2 - POSS UPI  Pelatihan Python Dasar Part 2 - POSS UPI
Pelatihan Python Dasar Part 2 - POSS UPI
 
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
 
Muhammad Abrar Istiadi - How to hack #idsecconf2016 Online CTF
Muhammad Abrar Istiadi - How to hack #idsecconf2016 Online CTFMuhammad Abrar Istiadi - How to hack #idsecconf2016 Online CTF
Muhammad Abrar Istiadi - How to hack #idsecconf2016 Online CTF
 
Jar perceptron
Jar perceptronJar perceptron
Jar perceptron
 
Slide Presentasi EM Algorithm (Play Tennis & Brain Tissue Segmentation)
Slide Presentasi EM Algorithm (Play Tennis & Brain Tissue Segmentation)Slide Presentasi EM Algorithm (Play Tennis & Brain Tissue Segmentation)
Slide Presentasi EM Algorithm (Play Tennis & Brain Tissue Segmentation)
 
Lapopran praktikum struktur data pertemuan 1 Tipe Data
Lapopran praktikum struktur data pertemuan 1  Tipe DataLapopran praktikum struktur data pertemuan 1  Tipe Data
Lapopran praktikum struktur data pertemuan 1 Tipe Data
 
11
1111
11
 
SciPy
SciPySciPy
SciPy
 
PythonTeX dan Sympy kolaborasi
PythonTeX dan Sympy kolaborasi PythonTeX dan Sympy kolaborasi
PythonTeX dan Sympy kolaborasi
 
Poss upi-python-dasar-part1
Poss upi-python-dasar-part1Poss upi-python-dasar-part1
Poss upi-python-dasar-part1
 
Laporan4
Laporan4Laporan4
Laporan4
 
Dts x dicoding #5 memulai pemrograman kotlin
Dts x dicoding #5 memulai pemrograman kotlinDts x dicoding #5 memulai pemrograman kotlin
Dts x dicoding #5 memulai pemrograman kotlin
 
How to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggurHow to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggur
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010
 

Similar to Membangun perceptron operator and

pertemuan ke-4 (Variabel dan Konstanta).ppt
pertemuan ke-4 (Variabel dan Konstanta).pptpertemuan ke-4 (Variabel dan Konstanta).ppt
pertemuan ke-4 (Variabel dan Konstanta).ppt
nafilarifki1
 
Referensi Materi Algoritma Brute Force Bagian 1
Referensi Materi Algoritma Brute Force Bagian 1Referensi Materi Algoritma Brute Force Bagian 1
Referensi Materi Algoritma Brute Force Bagian 1
DEDEALAMSYAHSPd
 
modul algoritma Bab 6
modul algoritma Bab  6modul algoritma Bab  6
modul algoritma Bab 6
Eko Widyanto Napitupulu
 
modul algoritma Bab 5
modul algoritma Bab 5modul algoritma Bab 5
modul algoritma Bab 5
Eko Widyanto Napitupulu
 
Algoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.pptAlgoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.ppt
ELDONIMOSUL1
 
Analisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAnalisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLAB
Andry Saftiawan
 
Matlab 3
Matlab 3Matlab 3
Matlab 3
Hastih Leo
 
Tistrukdat9
Tistrukdat9Tistrukdat9
Tistrukdat9
Antonius Rachmat C
 
Matlab 2
Matlab 2Matlab 2
Matlab 2
Hastih Leo
 
Buku speech processing_subp_pengkodean-sinyal-wicara-b
Buku speech processing_subp_pengkodean-sinyal-wicara-bBuku speech processing_subp_pengkodean-sinyal-wicara-b
Buku speech processing_subp_pengkodean-sinyal-wicara-b
tribudi20
 
Buku speech processing_subp_pengkodean-sinyal-wicara-b
Buku speech processing_subp_pengkodean-sinyal-wicara-bBuku speech processing_subp_pengkodean-sinyal-wicara-b
Buku speech processing_subp_pengkodean-sinyal-wicara-b
Tri Budi Santoso
 
Modul psd2
Modul psd2Modul psd2
Modul psd2
Jani Kusanti
 
Bab i1 kohonen (recovered)
Bab i1 kohonen (recovered)Bab i1 kohonen (recovered)
Bab i1 kohonen (recovered)
Eka Suryadana
 
Operasi pengulangan
Operasi pengulanganOperasi pengulangan
Operasi pengulangan
MAFauzan
 
Subrutin_Fungsi.pptx
Subrutin_Fungsi.pptxSubrutin_Fungsi.pptx
Subrutin_Fungsi.pptx
AriesAgetia1
 
Jeni Intro2 Bab03 Teknik Pemrograman Lanjut
Jeni Intro2 Bab03 Teknik Pemrograman LanjutJeni Intro2 Bab03 Teknik Pemrograman Lanjut
Jeni Intro2 Bab03 Teknik Pemrograman Lanjut
Individual Consultants
 
mencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di Cmencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di C
kir yy
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048
James Montolalu
 
Buku speech processing_subp_envelopespectral-sinyal-wicara
Buku speech processing_subp_envelopespectral-sinyal-wicaraBuku speech processing_subp_envelopespectral-sinyal-wicara
Buku speech processing_subp_envelopespectral-sinyal-wicara
Tri Budi Santoso
 
Matlab
MatlabMatlab

Similar to Membangun perceptron operator and (20)

pertemuan ke-4 (Variabel dan Konstanta).ppt
pertemuan ke-4 (Variabel dan Konstanta).pptpertemuan ke-4 (Variabel dan Konstanta).ppt
pertemuan ke-4 (Variabel dan Konstanta).ppt
 
Referensi Materi Algoritma Brute Force Bagian 1
Referensi Materi Algoritma Brute Force Bagian 1Referensi Materi Algoritma Brute Force Bagian 1
Referensi Materi Algoritma Brute Force Bagian 1
 
modul algoritma Bab 6
modul algoritma Bab  6modul algoritma Bab  6
modul algoritma Bab 6
 
modul algoritma Bab 5
modul algoritma Bab 5modul algoritma Bab 5
modul algoritma Bab 5
 
Algoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.pptAlgoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.ppt
 
Analisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLABAnalisa Rangkaian Listrik Menggunakan MATLAB
Analisa Rangkaian Listrik Menggunakan MATLAB
 
Matlab 3
Matlab 3Matlab 3
Matlab 3
 
Tistrukdat9
Tistrukdat9Tistrukdat9
Tistrukdat9
 
Matlab 2
Matlab 2Matlab 2
Matlab 2
 
Buku speech processing_subp_pengkodean-sinyal-wicara-b
Buku speech processing_subp_pengkodean-sinyal-wicara-bBuku speech processing_subp_pengkodean-sinyal-wicara-b
Buku speech processing_subp_pengkodean-sinyal-wicara-b
 
Buku speech processing_subp_pengkodean-sinyal-wicara-b
Buku speech processing_subp_pengkodean-sinyal-wicara-bBuku speech processing_subp_pengkodean-sinyal-wicara-b
Buku speech processing_subp_pengkodean-sinyal-wicara-b
 
Modul psd2
Modul psd2Modul psd2
Modul psd2
 
Bab i1 kohonen (recovered)
Bab i1 kohonen (recovered)Bab i1 kohonen (recovered)
Bab i1 kohonen (recovered)
 
Operasi pengulangan
Operasi pengulanganOperasi pengulangan
Operasi pengulangan
 
Subrutin_Fungsi.pptx
Subrutin_Fungsi.pptxSubrutin_Fungsi.pptx
Subrutin_Fungsi.pptx
 
Jeni Intro2 Bab03 Teknik Pemrograman Lanjut
Jeni Intro2 Bab03 Teknik Pemrograman LanjutJeni Intro2 Bab03 Teknik Pemrograman Lanjut
Jeni Intro2 Bab03 Teknik Pemrograman Lanjut
 
mencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di Cmencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di C
 
James philip montolalu 13021106048
James philip montolalu   13021106048James philip montolalu   13021106048
James philip montolalu 13021106048
 
Buku speech processing_subp_envelopespectral-sinyal-wicara
Buku speech processing_subp_envelopespectral-sinyal-wicaraBuku speech processing_subp_envelopespectral-sinyal-wicara
Buku speech processing_subp_envelopespectral-sinyal-wicara
 
Matlab
MatlabMatlab
Matlab
 

Recently uploaded

1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
ymikhael4
 
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdfDAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
benediktusmaksy
 
Perencanaan Anggaran Biaya dan penjadwalan
Perencanaan Anggaran Biaya dan penjadwalanPerencanaan Anggaran Biaya dan penjadwalan
Perencanaan Anggaran Biaya dan penjadwalan
MarvinPatrick1
 
BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptxBAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
ssuser5e48eb
 
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdfANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
narayafiryal8
 
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdfPROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
afifsalim12
 

Recently uploaded (6)

1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
1 - Metode Pelaksanaan Pondasi Tiang Pancang-1.pptx
 
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdfDAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
DAMPAK POLUSI UDARA TERHADAP KESEHATAN MASYARAKAT.pdf
 
Perencanaan Anggaran Biaya dan penjadwalan
Perencanaan Anggaran Biaya dan penjadwalanPerencanaan Anggaran Biaya dan penjadwalan
Perencanaan Anggaran Biaya dan penjadwalan
 
BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptxBAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
BAHAN KULIUAH BAHAN TAMBAHAN MAKANANTM 03.pptx
 
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdfANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
ANALISIS PENGARUH INDUSTRI BATU BARA TERHADAP PENCEMARAN UDARA.pdf
 
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdfPROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
PROGRAM PERCEPATAN PENINGKATAN TATA GUNA AIR IRIGASI 2024.pdf
 

Membangun perceptron operator and

  • 1. MEMBANGUN PERCEPTRON OPERATOR AND 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 Radalah 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 :
  • 2. 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 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 =
  • 3. 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 Berarti jaringan syaraf ini memiliki 2 bobot input % mengetahui bobot-bobot input pada jaringan syaraf ini >> BobotInput=net.IW{:} BobotInput = 0 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
  • 4. Berarti bobot bias memiliki nilai awal = 0
  • 5. 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]; >> 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});
  • 6. % 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 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];
  • 7. % 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
  • 8. >> %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); >> 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.
  • 9. Melakukan simulasi input data baru terhadap jaringan syaraf yang telah selesai melakukan pembelajaran, menggunakan sim. Syntax : a = sim(net,p) a : output hasil simulasi 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 %dn',P(:,i)); end; n = 4
  • 10. >> %Target >> T=[0 0 0 1]; >> fprintf(fb,'Target (T):n'); >> fprintf(fb,'%dn',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.2fn',net.IW{1,1}); >> fprintf(fb,'Bobot Bias Awal(b):%4.2fn',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'); 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
  • 11. 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 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)
  • 12. 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); HasilperceptronAnd.m Data input (P): 0 0 0 1 1 0 1 1 Target (T): 00 01 Bobot Input Awal(w):0.00 0.00 Bobot Bias Awal(b):0.00 Epoh ke-1 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
  • 13. 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 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