Page1
Algoritma Kecerdsan Buatan
Sudirman : D082192007
Buku Halaman 61
Page2
Program 1 Program 2
#include <iostream>
using namespace std;
main(){
int x1[]={1,1,0,0};
int x2[]={1,0,1,0};
int t[]={1,-1,-1,-1};
float w1=0, w2=0, y=0,bias=0;
float alfa=1, teta=0.2;
float y_in;
int counter=0;
int epoh=1;
//int indeks=0;
while(counter!=4)
{
counter=0;
cout<<"Epoh ke
"<<epoh<<endl<<endl;
for(int
indeks=0;indeks<4;indeks++)
{
//
cout<<"Baris data ke
"<<indeks<<endl<<endl;
y_in = bias +
(x1[indeks]*w1) + (x2[indeks]*w2);
cout<<"y_in = "<<bias<<" +
"
<<"("<<x1[indeks]<<" * "<<w1<<") +
( "<<x2[indeks]<<" * "<<w2<<")"
<<endl<<"Nilai dari
y_in = "<<y_in<<endl<<endl;
//cari nilai y
//step 4
if (y_in > teta)
{
y=1;
cout<<" Karena
y_in > teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
else if((y_in >= -teta )
and (y_in <= teta))
{
y=0;
cout<<" Karena
y_in >= teta dan y_in <= teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
else if (y_in < -teta)
{
y=-1;
cout<<" Karena
y_in < -teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
//pengecekan perubahan
bobot
//step 5
if (y!=t[indeks])
{ cout<<" Update
bobotnya !!!"<<endl
<<" w1
= "<<w1<<" + ( "<<alfa<<" *
"<<t[indeks]<<" * "<<x1[indeks]<<"
)"<<endl
<<" w2
= "<<w1<<" + ( "<<alfa<<" *
"<<t[indeks]<<" * "<<x2[indeks]<<"
)"<<endl
<<"
bias = "<<bias<<" + ( "<<alfa<<" *
"<<t[indeks]<<" )"<<endl<<endl;
w1=w1+(alfa*t[indeks]*x1[indeks]);
w2=w2+(alfa*t[indeks]*x2[indeks]);
bias=bias+(alfa*t[indeks]);
}
else
{
counter++;
}
}//for
cout<<"Akhir Epoh "<<epoh<<" ----
----------------------------"<<endl;
epoh++;
}//while
cout<<"Nilai W1 = "<<w1<<endl
<<"Nilai W2 = "<<w2<<endl
<<"Nilai bias =
"<<bias<<endl<<endl;
/*
Pelatihan Berhasil
*/
//by@ dymand
}
#include <iostream>
using namespace std;
main(){
int x1[]={1,1,0,0};
int x2[]={1,0,1,0};
int t[]={1,-1,-1,-1};
float w1=0, w2=0, y=0,bias=0;
float alfa=1, teta=0.2;
float y_in;
int counter=0;
int epoh=1;
//int indeks=0;
while(counter!=4)
{
counter=0;
cout<<"Epoh ke
"<<epoh<<endl<<endl;
for(int
indeks=0;indeks<4;indeks++)
{
//
cout<<"Baris data ke
"<<indeks<<endl<<endl;
y_in = bias +
(x1[indeks]*w1) + (x2[indeks]*w2);
cout<<"y_in = "<<bias<<" +
"
<<"("<<x1[indeks]<<" * "<<w1<<") +
( "<<x2[indeks]<<" * "<<w2<<")"
<<endl<<"Nilai dari
y_in = "<<y_in<<endl<<endl;
//cari nilai y
//step 4
if (y_in > teta)
{
y=1;
cout<<" Karena
y_in > teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
else if((y_in >= -teta )
and (y_in <= teta))
{
y=0;
cout<<" Karena
y_in >= teta dan y_in <= teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
else if (y_in < -teta)
{
y=-1;
cout<<" Karena
y_in < -teta"<<endl
<<" Nilai
Y = "<<y<<endl<<endl;
}
//pengecekan perubahan
bobot
//step 5
if (y!=t[indeks])
{ cout<<" Update
bobotnya !!!"<<endl
<<" w1
= "<<w1<<" + ( "<<alfa<<" *
"<<t[indeks]<<" * "<<x1[indeks]<<"
)"<<endl
<<" w2
= "<<w1<<" + ( "<<alfa<<" *
"<<t[indeks]<<" * "<<x2[indeks]<<"
)"<<endl
<<"
bias = "<<bias<<" + ( "<<alfa<<" *
"<<t[indeks]<<" )"<<endl<<endl;
w1=w1+(alfa*t[indeks]*x1[indeks]);
w2=w2+(alfa*t[indeks]*x2[indeks]);
bias=bias+(alfa*t[indeks]);
}
else
{
counter++;
}
}//for
cout<<"Akhir Epoh "<<epoh<<" ----
----------------------------"<<endl;
epoh++;
}//while
cout<<"Nilai W1 = "<<w1<<endl
<<"Nilai W2 = "<<w2<<endl
<<"Nilai bias =
"<<bias<<endl<<endl;
cout<<"++++++++++++++++++++++++++++++++++
++++++++++++++++++"<<endl<<endl;
// Selanjutnya Pengujian
//data baru masuk
int x1_baru[]={0,0,1,1};
int x2_baru[]={0,1,0,1};
Page3
Output Program 1
Output Program 2

Perceptron

  • 1.
    Page1 Algoritma Kecerdsan Buatan Sudirman: D082192007 Buku Halaman 61
  • 2.
    Page2 Program 1 Program2 #include <iostream> using namespace std; main(){ int x1[]={1,1,0,0}; int x2[]={1,0,1,0}; int t[]={1,-1,-1,-1}; float w1=0, w2=0, y=0,bias=0; float alfa=1, teta=0.2; float y_in; int counter=0; int epoh=1; //int indeks=0; while(counter!=4) { counter=0; cout<<"Epoh ke "<<epoh<<endl<<endl; for(int indeks=0;indeks<4;indeks++) { // cout<<"Baris data ke "<<indeks<<endl<<endl; y_in = bias + (x1[indeks]*w1) + (x2[indeks]*w2); cout<<"y_in = "<<bias<<" + " <<"("<<x1[indeks]<<" * "<<w1<<") + ( "<<x2[indeks]<<" * "<<w2<<")" <<endl<<"Nilai dari y_in = "<<y_in<<endl<<endl; //cari nilai y //step 4 if (y_in > teta) { y=1; cout<<" Karena y_in > teta"<<endl <<" Nilai Y = "<<y<<endl<<endl; } else if((y_in >= -teta ) and (y_in <= teta)) { y=0; cout<<" Karena y_in >= teta dan y_in <= teta"<<endl <<" Nilai Y = "<<y<<endl<<endl; } else if (y_in < -teta) { y=-1; cout<<" Karena y_in < -teta"<<endl <<" Nilai Y = "<<y<<endl<<endl; } //pengecekan perubahan bobot //step 5 if (y!=t[indeks]) { cout<<" Update bobotnya !!!"<<endl <<" w1 = "<<w1<<" + ( "<<alfa<<" * "<<t[indeks]<<" * "<<x1[indeks]<<" )"<<endl <<" w2 = "<<w1<<" + ( "<<alfa<<" * "<<t[indeks]<<" * "<<x2[indeks]<<" )"<<endl <<" bias = "<<bias<<" + ( "<<alfa<<" * "<<t[indeks]<<" )"<<endl<<endl; w1=w1+(alfa*t[indeks]*x1[indeks]); w2=w2+(alfa*t[indeks]*x2[indeks]); bias=bias+(alfa*t[indeks]); } else { counter++; } }//for cout<<"Akhir Epoh "<<epoh<<" ---- ----------------------------"<<endl; epoh++; }//while cout<<"Nilai W1 = "<<w1<<endl <<"Nilai W2 = "<<w2<<endl <<"Nilai bias = "<<bias<<endl<<endl; /* Pelatihan Berhasil */ //by@ dymand } #include <iostream> using namespace std; main(){ int x1[]={1,1,0,0}; int x2[]={1,0,1,0}; int t[]={1,-1,-1,-1}; float w1=0, w2=0, y=0,bias=0; float alfa=1, teta=0.2; float y_in; int counter=0; int epoh=1; //int indeks=0; while(counter!=4) { counter=0; cout<<"Epoh ke "<<epoh<<endl<<endl; for(int indeks=0;indeks<4;indeks++) { // cout<<"Baris data ke "<<indeks<<endl<<endl; y_in = bias + (x1[indeks]*w1) + (x2[indeks]*w2); cout<<"y_in = "<<bias<<" + " <<"("<<x1[indeks]<<" * "<<w1<<") + ( "<<x2[indeks]<<" * "<<w2<<")" <<endl<<"Nilai dari y_in = "<<y_in<<endl<<endl; //cari nilai y //step 4 if (y_in > teta) { y=1; cout<<" Karena y_in > teta"<<endl <<" Nilai Y = "<<y<<endl<<endl; } else if((y_in >= -teta ) and (y_in <= teta)) { y=0; cout<<" Karena y_in >= teta dan y_in <= teta"<<endl <<" Nilai Y = "<<y<<endl<<endl; } else if (y_in < -teta) { y=-1; cout<<" Karena y_in < -teta"<<endl <<" Nilai Y = "<<y<<endl<<endl; } //pengecekan perubahan bobot //step 5 if (y!=t[indeks]) { cout<<" Update bobotnya !!!"<<endl <<" w1 = "<<w1<<" + ( "<<alfa<<" * "<<t[indeks]<<" * "<<x1[indeks]<<" )"<<endl <<" w2 = "<<w1<<" + ( "<<alfa<<" * "<<t[indeks]<<" * "<<x2[indeks]<<" )"<<endl <<" bias = "<<bias<<" + ( "<<alfa<<" * "<<t[indeks]<<" )"<<endl<<endl; w1=w1+(alfa*t[indeks]*x1[indeks]); w2=w2+(alfa*t[indeks]*x2[indeks]); bias=bias+(alfa*t[indeks]); } else { counter++; } }//for cout<<"Akhir Epoh "<<epoh<<" ---- ----------------------------"<<endl; epoh++; }//while cout<<"Nilai W1 = "<<w1<<endl <<"Nilai W2 = "<<w2<<endl <<"Nilai bias = "<<bias<<endl<<endl; cout<<"++++++++++++++++++++++++++++++++++ ++++++++++++++++++"<<endl<<endl; // Selanjutnya Pengujian //data baru masuk int x1_baru[]={0,0,1,1}; int x2_baru[]={0,1,0,1};
  • 3.