LISTING PROGRAM :
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
typedef float data[100];
int sum, i;
data x, y, x2, y2, xy;
float a0, a1, b0, b1;
class carisigma
{
public:
float sigma(data k, int n);
};
class regresi : public carisigma
{
public:
void input(data x, data y, int n);
void proses(int n);
void reg_yx(int m);
void reg_xy(int m);
};
float carisigma :: sigma(data k, int n)
{
int jml=0;
for (i=1; i<=n; i++)
{
jml+= k[i];
}
return jml;
}
void regresi :: input(data x, data y, int n)
{
clrscr();
cout<<"Input Nilai X :"<<endl;
for (i=1; i<=n; i++)
{
cout<<"\nNilai X ke-"<<i<<" : "; cin>>x[i];
}
clrscr();
cout<<"Input Nilai Y :"<<endl;
for (i=1; i<=n; i++)
{
cout<<"\nNilai Y ke-"<<i<<" : "; cin>>y[i];
}
clrscr();
cout<<"Himpunan X = {";
for (i=1; i<=n; i++)
{
cout<<" "<<x[i]<<" ";
}
cout<<"}";
cout<<"\nHimpunan Y = {";
for (i=1; i<=n; i++)
{
cout<<" "<<y[i]<<" ";
}
cout<<"}";
}
void regresi :: proses(int n)
{
for (i=1; i<=n; i++)
{
xy[i] = x[i] * y[i];
x2[i] = x[i] * x[i];
y2[i] = y[i] * y[i];
}
}
void regresi :: reg_yx(int m)
{
a1 = (m * sigma(xy, m) - sigma(x, m) * sigma(y, m)) / (m * sigma(x2, m) - (sigma(x, m) * sigma(x, m)));
a0 = ((sigma(y, m) * sigma(x2, m)) - sigma(x, m) * sigma(xy, m)) / (m * sigma(x2, m) - (sigma(x, m) * sigma(x, m)));
cout<<"\n\nPersamaan Regresi Y terhadap X :"<<endl;
if (a1 > 0)
{
printf("Y = %.2f + %.2f X",a0, a1);
}
else
{
printf("Y = %.2f%.2f X",a0, a1);
}
}
void regresi :: reg_xy(int m)
{
b1 = (m * sigma(xy, m) - sigma(y, m) * sigma(x, m)) / (m * sigma(y2, m) - (sigma(y, m) * sigma(y, m)));
b0 = ((sigma(x, m) * sigma(y2, m)) - sigma(y, m) * sigma(xy, m)) / (m * sigma(y2, m) - (sigma(y, m) * sigma(y, m)));
cout<<"\n\nPersamaan Regresi X terhadap Y :"<<endl;
if (b1 > 0)
{
printf("X = %.2f + %.2f Y",b0, b1);
}
else
{
printf("X = %.2f%.2f Y",b0, b1);
}
}
int main()
{
regresi obj;
clrscr();
do
{
if (sum<=0 || sum>100)
{
clrscr();
cout<<"Masukkan banyaknya masing-masing data X & Y [1 s/d 100] : "; cin>>sum;
}
}
while(sum<=0 || sum>100);
obj.input(x, y, sum);
obj.proses(sum);
obj.reg_yx(sum);
obj.reg_xy(sum);
getch();
return 0;
}
tampilannya seperti berikut :
Disini user menginput banyaknya data adalah tiga untuk masing-masing data pada variabel X dan Y.
Kemudian program meminta user untuk menginput nilai-nilai pada variabel X sesuai dengan banyaknya data.
Berikut ini merupakan tampilan inputan nilai-nilai pada variabel X. Terdapat tiga nilai, sesuai dengan banyaknya data yang ingin diinput.
Sedangkan tampilan di bawah ini merupakan inputan nilai-nilai pada variabel Y
Setelah semua data diinput, kemudian user menekan tombol enter, maka program akan menjalankan perhitungan regresi dan hasilnya akan tercetak seperti tampilandi bawah ini :
No comments:
Post a Comment