import
java.util.Scanner;
class
Korelasi {
Scanner input = new Scanner(System.in);
double[] x;
double[] y;
double[] x2;
double[] y2;
double[] xy;
int n;
public
Korelasi() {
menu();
}
Perintah
diatas merupakan kelas yang diberi nama Korelasi, dan terdapat pendeklarasian
variable yang akan digunakan dalam program yang bertipe data double dan
integer. Didalamnya juga terdapat method Korelasi dimana didalamnya akan
memanggil fungsi menu.
public
void menu() {
System.out.println("------------------");
System.out.println("| Menu Utama |");
System.out.println("| 1. Input
|");
System.out.println("| 2. Korelasi |");
System.out.println("| 3. Keluar |");
System.out.println("------------------");
System.out.print("Masukkan Pilihanmu : " );
int pil = input.nextInt();
switch(pil) {
case 1:
clean();
try{
input();
}catch(IndexOutOfBoundsException ex){
System.out.println("Ada Kesalahan pada proses IO");
}
clean();
menu();
case 2:
clean();
hitungKorelasi();
menu();
case 3:
System.out.println("exiting...");
System.exit(0);
default:
System.exit(0);}}
Blok
perintah diatas merupakan method dari fungsi menu dimana akan menampilkan menu
pilihan pada saat program dijalankan. Untuk menginputkan pilihan yang
diinginkan dengan menggunakan perintah int pil = input.nextInt. Didalamnya juga ada bentuk kondisi yang
menggunakan switch case, dimana case 1 digunakan untuk menjalankan program menu
yang pertama, di case1 ini fungsi clean digunakan untuk membersihkan layar saat
program dijalankan kemudian memanggil fungsi input, di dalam case ini pun
terdapat blok try catch yang dimana akan mendeteksi kesalahan jika ada, jika
program menemukan keselahan maka akan tercetak “Kesalahan pada proses IO”
kemudian memanggil fungsi clean lagi dan menjalankan fungsi menu untuk
menampilkan menu pilihan kembali. Case 2 digunakan untuk menjalankan menu
pilihan yang kedua dimana didalamnya terdapat fungsi clean dan memanggil fungsi
hitungKorelasi, kemudian menjalankan fungsi menu lagi. case 3 digunakan untuk
menjalankan menu pilihan yang ketiga, pertama akan mencetak “exiting” baru
keluar dari program yang sedang dijalankan. Perintah defaultnya digunakan untuk
keluar dari program jika salah memasukkan pilihan.
public void clean() {
for (int i=0;i<=20;i++) {
System.out.println("\n");
}}
Blok perintah diatas merupakan method dari fungsi clean yang digunakan untuk
menghapus layar saat program sedang dijalankan, dalam perintah diatas akan
mencetak spasi sebanyak 20 baris dengan melakukan perulangan yang ada.
public
void input() {
System.out.print("masukan jumlah data :");
n = input.nextInt();
x= new double[n];
y= new double[n];
x2 = new double[n];
y2=new double[n];
xy=new double[n];
System.out.print("\nmasukkan data x :\n");
for(int i=0;i<n;i++) {
System.out.print("data ke-"+(i+1)+":");
x[i]= input.nextDouble();
}
System.out.println("\nmasukkan data y :");
for(int i=0;i<n;i++) {
System.out.print("data ke-"+(i+1)+":");
y[i]= input.nextDouble();
}
for(int i=0 ; i<n;i++) {
x2[i]= Math.pow(x[i],2);
y2[i]= Math.pow(y[i],2);
xy[i]= x[i] * y[i] ;
}}
Blok
perintah diatas merupakan method dari fungsi input yang digunakan untuk
mengiput data yang diperlukan dalam program. Pertama menginputkan banyaknya
data dengan menggunakan perintahn =
input.nextInt. Kemudian program akan meminta untuk menginputkan data
untuk variable X dengan menggunakan perulangan nilai X yang diinputkan sama
dengan banyaknya data yang telah diinputkan, untuk dapat diinputkan digunakan
perintah x[i] = input.nextDouble().
Setelah nilai X diinputkan maka program akan meminta untuk menginputkan nilai Y
dengan menggunakan perulangan nilai Y yang diinputkan sama dengan banyaknya
data yang telah diinputkan, untuk dapat diinputkan digunakan perintah y[i] = input.nextDouble(). Untuk
mendapatkan nilai X2 dan Y2 tinggal dipangkatkan dari jumlah nilai X dan Y,
sedangkan untuk mencari nilai XY didapatkan dari hasil perkalian nilai X dengan
nilai Y.
public
double sigma(double k[]) {
double data = 0;
for(int i=0; i<n;i++) {
data = data + k[i];
}
return(data);
}
Blok
perintah diatas merupakan method dari fungsi sigma. Dimana method ini harus
dibuat terlebih dulu agar bisa digunakan dalam rumus yang akan dipakai dalam
program ini.
public
void hitungKorelasi() {
double hasil = (n*sigma(xy)-sigma(x)*sigma(y)) /
(Math.sqrt(n*sigma(x2)-Math.pow(sigma(x),2))*Math.sqrt(n*sigma(y2)-Math.pow(sigma(y),2)));
System.out.println("Koefisien korelasi(r) : "+hasil);
if(hasil > 0 ){
System.out.println("hubungan dua variabel adalah paralel");
} else if(hasil<0){
System.out.println("hubungan dua variabel bertolak belakang");
} else {
System.out.println("tidak ada hubungan linier antara dua variabel");
}
}
Blok
perintah diatas merupakan method dari fungsi hitungKorelasi. Didalam perintah
ini terdapat rumus korelasi. Jika nilai-nilai yang telah diinputkan selesai diproses
maka akan tercetak hasilnya. Didalam blok ini juga ada pengkondisian jika hasil
lebih besar dari 0 maka akan tercetak “hubungan dua variabel adalah paralel”,
jika hasil lebih kecil dari 0 maka akan tercetak “hubungan dua variabel
bertolak belakang”, kemudian jika tidak keduanya maka akan tercetak “tidak ada
hubungan linier antara variabel”.
public static void main(String[] args) {
new
Korelasi();
}}
Blok
perintah diatas merupakan method dari fungsi utama dimana digunakan untuk menjalankan
program dengan memanggil method fungsi Korelasi.
SANTAP SIANG MURAH DI BELAKANG MASJID AL-AZHAR KALIMALANG :
BalasHapushttp://wawanhermawan74.blogspot.com/2010/11/santap-siang-murah-dibelakang-masjid-al.html