SlideShare a Scribd company logo
PEMROGRAMAN
      PERCEPTRON PADA
          MATLAB




JST dan
Matlab



Arafat, M.Kom
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 :
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


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);
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
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
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.
% 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];
>> 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});
% 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
>> 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
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])
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 %dn',P(:,i));

end;

n =4

>> %Target

>> T=[0 0 1 0];

>> 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 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);
>> 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
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
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

More Related Content

PPTX
Materi 3 Finite State Automata
PPT
Analisis sistem-informasi
PDF
Contoh peyelesaian logika fuzzy
PDF
Data Mining - Naive Bayes
DOCX
Perceptron
DOCX
Algoritma untuk mengecek bilangan di antara 2 bilangan masukan
PPT
Metode Numerik Penyelesaian Persamaan Linier Simultan
Materi 3 Finite State Automata
Analisis sistem-informasi
Contoh peyelesaian logika fuzzy
Data Mining - Naive Bayes
Perceptron
Algoritma untuk mengecek bilangan di antara 2 bilangan masukan
Metode Numerik Penyelesaian Persamaan Linier Simultan

What's hot (20)

PPT
Modul 8 - Jaringan Syaraf Tiruan (JST)
PDF
Push Down Automata (PDA)
PDF
Kecerdasan Buatan (AI)
PDF
Analisis Pieces Terhadap Sistem Informasi Lukman Hermanto 55518110066
PDF
Metodologi Penelitian pada Bidang Ilmu Komputer dan Teknologi Informasi
PPTX
Analisis ERD Database Rumah Sakit
DOCX
Proposal pembuatan aplikasi
RTF
Program Dinamis Riset Operasi
PDF
Pertemuan 06 Black Box Testing
DOC
Makalah Sistem Berkas - Organisasi berkas relatif
PPTX
Minggu 1 - Using Alice 3
PDF
Matematika Diskrit - 10 pohon - 04
PPT
Modul 4 representasi pengetahuan
DOCX
Aljabar boolean MK matematika diskrit
PPTX
Pertemuan x penugasan tidak seimbang
PPT
Pertemuan 10
PDF
Makalah kelompok 4 metode simpleks
PDF
Jaringan Syaraf Tiruan
DOCX
Tugas sistem basis data kelompok
PPTX
Testing&implementasi 4
Modul 8 - Jaringan Syaraf Tiruan (JST)
Push Down Automata (PDA)
Kecerdasan Buatan (AI)
Analisis Pieces Terhadap Sistem Informasi Lukman Hermanto 55518110066
Metodologi Penelitian pada Bidang Ilmu Komputer dan Teknologi Informasi
Analisis ERD Database Rumah Sakit
Proposal pembuatan aplikasi
Program Dinamis Riset Operasi
Pertemuan 06 Black Box Testing
Makalah Sistem Berkas - Organisasi berkas relatif
Minggu 1 - Using Alice 3
Matematika Diskrit - 10 pohon - 04
Modul 4 representasi pengetahuan
Aljabar boolean MK matematika diskrit
Pertemuan x penugasan tidak seimbang
Pertemuan 10
Makalah kelompok 4 metode simpleks
Jaringan Syaraf Tiruan
Tugas sistem basis data kelompok
Testing&implementasi 4
Ad

Viewers also liked (11)

PPT
Pengenalan pola sederhana dg perceptron
PDF
Hebb, perceptro dan adaline
PPT
PPTX
Create mental sphere
PPT
Jaringan perceptron
PPTX
Jaringan komputer 1
PDF
Model Jaringan Hopfield
PDF
Modul server debian 5
PPTX
Pengenalan jaringan-syaraf-tiruan
PDF
Contoh Program Jaringan Syaraf Tiruan Sederhana
PDF
Modul rpl (final 2013)
Pengenalan pola sederhana dg perceptron
Hebb, perceptro dan adaline
Create mental sphere
Jaringan perceptron
Jaringan komputer 1
Model Jaringan Hopfield
Modul server debian 5
Pengenalan jaringan-syaraf-tiruan
Contoh Program Jaringan Syaraf Tiruan Sederhana
Modul rpl (final 2013)
Ad

Similar to Jaringan perceptron & matlab (16)

DOC
Membangun perceptron operator and
PPTX
7-1-Artificial Neural Network dan multilayer perceptron.pptx
PPTX
7-1-Artificial Neural Network.pptx
PPTX
Artificial Neural Network for beginner newbie
PDF
PDF
DOCX
PPTX
Neural Network Big Data & Analytics Bahasa Indonesia
PDF
Aturan pembelajaran perceptron1
PPTX
JARINGAN SYARAF TIRUAN(PERCEPTRON)_.pptx
PPTX
ML 2019-2020 - [08] - Neural Network.pptx
DOCX
1768 soal ujian quis
PDF
materi mg 2 - Jaringan Saraf Tiruan.pdf
PDF
materi mg 2 - Jaringan Saraf Tiruan.pdf
PPTX
Teknik Optimasi Hebb dan Perceptron.pptx
PDF
Metode Komputasi "Adaptive Network"
Membangun perceptron operator and
7-1-Artificial Neural Network dan multilayer perceptron.pptx
7-1-Artificial Neural Network.pptx
Artificial Neural Network for beginner newbie
Neural Network Big Data & Analytics Bahasa Indonesia
Aturan pembelajaran perceptron1
JARINGAN SYARAF TIRUAN(PERCEPTRON)_.pptx
ML 2019-2020 - [08] - Neural Network.pptx
1768 soal ujian quis
materi mg 2 - Jaringan Saraf Tiruan.pdf
materi mg 2 - Jaringan Saraf Tiruan.pdf
Teknik Optimasi Hebb dan Perceptron.pptx
Metode Komputasi "Adaptive Network"

More from UNISKA, SMK Telkom Banjarbaru (20)

PPT
PPT
Fungsi grafik di matlab
PDF
PDF
Karakteristik neural network
PDF
Karakteristik neural network
PPTX
Creative styling for your car
PPTX
Create symmetrical abstraction
PPTX
Create a loving cup 3 d ai
PPTX
PPTX
3 d adobe illustrator
PPTX
Design grafis adobe illustrator
DOCX
Daftar alamat domain dan hosting gratis
PDF
Vibi net sql server 2005 dan my sql
PPTX
PPTX
PPTX
Jaringan komputer 1 pertemuan 2
PPTX
Jaringan komputer subneting
PDF
Modul 2003 server
Fungsi grafik di matlab
Karakteristik neural network
Karakteristik neural network
Creative styling for your car
Create symmetrical abstraction
Create a loving cup 3 d ai
3 d adobe illustrator
Design grafis adobe illustrator
Daftar alamat domain dan hosting gratis
Vibi net sql server 2005 dan my sql
Jaringan komputer 1 pertemuan 2
Jaringan komputer subneting
Modul 2003 server

Recently uploaded (20)

PPTX
Presentasi Al-Quran Hadits Kelompok XI.1
PPTX
Sistem Pencernaan Manusia IPAS Presentasi Pendidikan Hijau Kuning Bingkai Ilu...
PPTX
SISTEM POLITIK DAN PEMERINTAHAN INDONESIA.pptx
DOC
RPP Deep Learning _ MGMP Wilayah 1 (1).doc
PDF
Sosialisasi CKG SEKOLAH untuk Nakes V1.2.pdf
PPTX
!!!!Bahan Tayang Kompetensi Manajerial-AKUNTABILITAS KINERJA-DR Asep Iwa.pptx
PDF
GUIDE BOOK DMH SCHOLARSHIP...............................
PDF
AI-Driven Intelligence and Cyber Security: Strategi Stabilitas Keamanan untuk...
PPTX
Slide_Berpikir_Komputasional_Pola_Algoritma_Kelas5SD.pptx
PPTX
SEJARAH BENDERA MERAH PUTIH - MATERI PRAMUKA
PPTX
Pengantar pembelajaran_Koding_dan kecerdasan artifisial
DOCX
Modul Ajar Pembelajaran Mendalam PKWU Budidaya Kelas XII SMA Terbaru 2025
PPTX
! Keterampilan Digital dalam orgnasisasi.pptx
PPTX
Rancangan Aktualisasi Latsar CPNS Kementerian Agama 2025.pptx
DOCX
Modul Ajar Pembelajaran Mendalam PKWU Kerajinan Kelas XII SMA Terbaru 2025
DOCX
LK 1.1.a.2_Modul 2 Pelatihan Koding dan Artifisial
PDF
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
PPTX
Pedoman & Kewajiban Penggunaan Produksi Dalam Negeri _Pelatihan "Ketentuan T...
PPTX
Ekspresi_dan_Operasi_Logika informatika smp kelas 9
DOCX
Modul Ajar Pembelajaran Mendalam Bahasa Inggris Kelas XII SMA Terbaru 2025
Presentasi Al-Quran Hadits Kelompok XI.1
Sistem Pencernaan Manusia IPAS Presentasi Pendidikan Hijau Kuning Bingkai Ilu...
SISTEM POLITIK DAN PEMERINTAHAN INDONESIA.pptx
RPP Deep Learning _ MGMP Wilayah 1 (1).doc
Sosialisasi CKG SEKOLAH untuk Nakes V1.2.pdf
!!!!Bahan Tayang Kompetensi Manajerial-AKUNTABILITAS KINERJA-DR Asep Iwa.pptx
GUIDE BOOK DMH SCHOLARSHIP...............................
AI-Driven Intelligence and Cyber Security: Strategi Stabilitas Keamanan untuk...
Slide_Berpikir_Komputasional_Pola_Algoritma_Kelas5SD.pptx
SEJARAH BENDERA MERAH PUTIH - MATERI PRAMUKA
Pengantar pembelajaran_Koding_dan kecerdasan artifisial
Modul Ajar Pembelajaran Mendalam PKWU Budidaya Kelas XII SMA Terbaru 2025
! Keterampilan Digital dalam orgnasisasi.pptx
Rancangan Aktualisasi Latsar CPNS Kementerian Agama 2025.pptx
Modul Ajar Pembelajaran Mendalam PKWU Kerajinan Kelas XII SMA Terbaru 2025
LK 1.1.a.2_Modul 2 Pelatihan Koding dan Artifisial
RPP PEMBELAJARAN MENDALAM BAHASA INDONESIA _SariIndah_DEWI SINTA (1).pdf
Pedoman & Kewajiban Penggunaan Produksi Dalam Negeri _Pelatihan "Ketentuan T...
Ekspresi_dan_Operasi_Logika informatika smp kelas 9
Modul Ajar Pembelajaran Mendalam Bahasa Inggris Kelas XII SMA Terbaru 2025

Jaringan perceptron & matlab

  • 1. PEMROGRAMAN PERCEPTRON PADA MATLAB JST dan Matlab Arafat, M.Kom
  • 2. 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 :
  • 3. 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
  • 4. 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
  • 5. 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];
  • 6. >> 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});
  • 7. % 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
  • 8. 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
  • 9. >> %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);
  • 10. >> 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
  • 11. 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];
  • 12. >> 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');
  • 13. 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
  • 14. 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);
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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.
  • 20. % 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];
  • 21. >> 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});
  • 22. % 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
  • 23. >> 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
  • 24. 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])
  • 25. 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 %dn',P(:,i)); end; n =4 >> %Target >> T=[0 0 1 0]; >> 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});
  • 26. >> 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;
  • 27. 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);
  • 28. >> 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
  • 29. 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
  • 30. 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