Soal Ujian Tengah Semester
Pemrograman Berorientasi Objek
Kelas A
Selasa, 20 April 2010
Anda tahu tentang regresi linear sederhana? saya yakin anda sudah mengetahui hal itu. Sekedar untuk mengingatkan, saya tuliskan kembali hal-hal yang terkait dengan regresi linear sedrhana ini.
Persamaan di atas adalah rumus dari persamaan regresi linear sederhana. Y adalah variabel tak bebas, a adalah koefisien intersep, b adalah kemiringan dan t adalah variabel bebas. Rumus untuk b adalah :
Dan rumus untuk mendapatkan nilai a adalah sebagai berikut :
Dalam regresi linear sederhana juga ada yang disebut dengan koefisien korelasi yang menunjukkan bahwa nilai suatu variabel bergantung pada perubahan nilai variabel yang lain. Rumus untuk menghitung koefisien korelasi adalah sebagai berikut :
Dari persamaan di atas, kerjakanlah soal-soal di bawah ini :
- Buatlah simbol UML untuk class regresi linear sederhana tersebut. Sebutkan variabel dan method yang diperlukan oleh class ini.
- Implementasikan bagian dari program yang digunakan untuk menghitung nilai r.
- Masukkan unsur enkapsulasi dalam pada soal no 2.
- Lihatlah kembali rancangan dan program anda, apakah ada kemungkinan untuk memasukkan unsur inheritance dalam class yang anda buat.
Referensi :
Makridakis, Spyros dkk. 1993. Metode dan Aplikasi Peramalan. Erlangga. Jakarta.
Solusi:
public class RegresiLinear
{
public double sum(double[] dat)
{
double jumlah=0.0;
for(int i=0; i<dat.length; i++)
{
jumlah+=dat[i];
}
return jumlah;
}
public double banyakdata(double[] dat)
{
return dat.length;
}
public double[] xy(double[] x,double[] y)
{
double[] z=new double[x.length];
for(int i=0; i<x.length; i++)
{
z[i]=x[i]*y[i];
}
return z;
}
public double hitung_b(double[] datax,double[] datay)
{
double b=0.0;
double[] xxy=xy(datax,datay);
double[] xxx=xy(datax,datax);
b=((banyakdata(datax)*sum(xxy))-(sum(datax)*sum(datay)))/(((banyakdata(datax))*sum(xxx))-(sum(datax)*sum(datax)));
return b;
}
public double hitung_a(double[] datax,double[] datay)
{
double a=0.0;
a=(sum(datay)/banyakdata(datax))-((hitung_b(datax,datay)*sum(datax))/banyakdata(datax));
return a;
}
public double hitung_r(double[] datax,double[] datay)
{
double atas=0.0;
double bawah1=0.0;
double bawah2=0.0;
double r=0.0;
double[] xxy=xy(datax,datay);
double[] xxx=xy(datax,datax);
double[] yxy=xy(datay,datay);
atas=((banyakdata(datax)*sum(xxy))-(sum(datax)*sum(datay)));
bawah1=Math.sqrt(((banyakdata(datax))*sum(xxx))-(sum(datax)*sum(datax)));
bawah2=Math.sqrt(((banyakdata(datay))*sum(yxy))-(sum(datay)*sum(datay)));
r=atas/(bawah1*bawah2);
return r;
}
}
nanti saya akan mencoba str. programnya thks
Oleh: aried on 11/10/2011
at 10:46 am