Oleh: fatchurrochman | 05/05/2010

Regresi Linear Sederhana

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 :

  1. Buatlah simbol UML untuk class regresi linear sederhana tersebut. Sebutkan variabel dan method yang diperlukan oleh class ini.
  2. Implementasikan bagian dari program yang digunakan untuk menghitung nilai r.
  3. Masukkan unsur enkapsulasi dalam pada soal no 2.
  4. 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;

}

}


Tanggapan

  1. nanti saya akan mencoba str. programnya thks


Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

Kategori

Ikuti

Get every new post delivered to your Inbox.