Saturday, November 25, 2017

Kelas dan Objek Dalam Java 10: Realisasi Untuk Matriks 2


Anda kemudian dapat menambahkan metode-metode publik hitungRerata() dan hitungVariansi() pada kelas RerataVariansi.

========================================================================


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package tugasPBO;
import java.util.*;
import java.util.Arrays;

public class RerataVariansi {
 int ukuran_array;
 double[] arr = new double[this.ukuran_array];
 
 // Ini adalah konstruktor tanpa argumen dari kelas RerataVariansi
 public RerataVariansi() {
  this.ukuran_array = 5;
  this.arr = arrayAcak(5,10);
 }
 
 // Ini adalah konstruktor satu-argumen dari kelas RerataVariansi
 public RerataVariansi(int ukuran) {
  this.ukuran_array = ukuran;
  this.arr = arrayAcak(ukuran,10);
 }
 
 /* Ini adalah konstruktor dua-argumen dari kelas RerataVariansi
  * yang memanggil konstruktor satu-argumen
  */
 public RerataVariansi(int ukuran, int pengali) {
  this(ukuran);
  this.arr = arrayAcak(ukuran, pengali);
 }
  
 /* Ini adalah metode helper untuk membangkitkan
  * array acak yang dipakai untuk konstruktor
  */
 public static double[] arrayAcak(int ukuran, int pengali) {
  double[] nilaiAcak = new double[ukuran];
 
  for(int i = 0; i < nilaiAcak.length; i++) {
   nilaiAcak[i] = (double)(Math.random()*pengali);
  }
  
  return nilaiAcak;
 }
 
 //Metode untuk menampilkan array
 public void tampilkanArray(double arr[]) {
  System.out.println("Elemen-elemen array: ");
  System.out.println(Arrays.toString(arr));
 }
 

    //Metode untuk menghitung rerata
 //Menghitung dan menampilkan rerata array
    public double hitungRerata(double arr[]) {
     double jum=0.0, rerata=0.0;
     int j = 0;
     while(j<arr.length){
      jum += arr[j];
      j++;
     }
     //System.out.println("Total penjumlahan elemen array:"+jum);
     rerata = jum / arr.length;

     return rerata;
    }
 
    // Metode untuk menghitung dan menampilkan variansi array
    public double hitungVariansi(double arr[], double rerata) {
    int k = 0; double variansi = 0.0; double temp = 0.0;
    while(k<arr.length){
        temp += (arr[k]-rerata)*(arr[k]-rerata);
        k++;
    }
    variansi = temp / arr.length;
    return variansi;
    }
}
========================================================================


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package tugasPBO;
import java.io.*;
import java.util.*;

public class UjiRerataVariansi {
 public static void main(String args[]) {
  //Menciptakan satu objek menggunakan konstruktor tanpa argumen
  RerataVariansi objek1 = new RerataVariansi();
  System.out.println("Nilai-nilai data pada objek objek1: ");
  objek1.tampilkanArray(objek1.arr);
  
  //Menciptakan satu objek menggunakan konstruktor satu-argumen
  RerataVariansi objek2 = new RerataVariansi(10);
  System.out.println("\n");
  System.out.println("Nilai-nilai data pada objek objek2: ");
  objek2.tampilkanArray(objek2.arr);
  
  //Menciptakan satu objek menggunakan konstruktor dua-argumen
  RerataVariansi objek3 = new RerataVariansi(15,10);
  System.out.println("\n");
  System.out.println("Nilai-nilai data pada objek objek3: ");
  objek3.tampilkanArray(objek3.arr);
  
  //Menghitung rerata dan variansi untuk objek1
  System.out.println("\n");
  double rerataObjek1 = objek1.hitungRerata(objek1.arr);
  System.out.println("Rerata array pada objek1: "+rerataObjek1);
  double variansiObjek1 = objek1.hitungVariansi(objek1.arr,rerataObjek1);
  System.out.println("Variansi array pada objek1: "+variansiObjek1);
 
  //Menghitung rerata dan variansi untuk objek2
  System.out.println("\n");
  double rerataObjek2 = objek2.hitungRerata(objek2.arr);
  System.out.println("Rerata array pada objek2: "+rerataObjek2);
  double variansiObjek2 = objek2.hitungVariansi(objek2.arr,rerataObjek2);
  System.out.println("Variansi array pada objek2: "+variansiObjek2);
  
  //Menghitung rerata dan variansi untuk objek3
  System.out.println("\n");
  double rerataObjek3 = objek3.hitungRerata(objek3.arr);
  System.out.println("Rerata array pada objek3: "+rerataObjek3);
  double variansiObjek3 = objek3.hitungVariansi(objek3.arr,rerataObjek2);
  System.out.println("Variansi array pada objek3: "+variansiObjek3);
  
 }
}
=======================================================================
KELUARAN PROGRAM:

Nilai-nilai data pada objek objek1:
Elemen-elemen array:
[1.9336074738119846, 2.3042733459364886, 7.193795527512934, 5.745242978201562, 9.603733455125774]


Nilai-nilai data pada objek objek2:
Elemen-elemen array:
[6.172390190756638, 4.941188840423575, 4.185310730003149, 6.27240770227287, 0.8150286555135688, 7.42095568169835, 9.697592851511292, 5.658947295787883, 5.353478721216175, 2.3113679282302915]


Nilai-nilai data pada objek objek3:
Elemen-elemen array:
[8.734608420120855, 2.5352424832411034, 9.77979001034203, 8.046942940818797, 2.475874549184537, 7.932470190187119, 4.6707099318850585, 3.1960657599872233, 5.523352106923285, 2.5051900593032137, 6.986447553706476, 2.0180231609075037, 8.219975962110396, 0.7232823061057148, 1.2592817075113916]


Rerata array pada objek1: 5.356130556117749
Variansi array pada objek1: 8.519609618405052


Rerata array pada objek2: 5.282866859741379

Variansi array pada objek2: 5.609085220374249


Rerata array pada objek3: 4.973817142822313

Variansi array pada objek3: 8.926389618104118

=======================================================================

VERSI 2: Metode arrayAcak(), hitungRerata(), dan hitungVariansi() dijadikan metode void yang tidak menghasilkan nilai balik apapun, tetapi menugaskan hasilnya langsung kepada variabel kelas this.arr:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package tugasPBO;
import java.util.*;
import java.util.Arrays;

public class RerataVariansi {
 int ukuran_array;
 double[] arr = new double[this.ukuran_array];
 double rerata;
 double variansi;
 
 // Ini adalah konstruktor tanpa argumen dari kelas RerataVariansi
 public RerataVariansi() {
  this.ukuran_array = 5;
  arrayAcak(5,10);
  this.rerata = 0.0;
  this.variansi = 0.0;
 }
 
 // Ini adalah konstruktor satu-argumen dari kelas RerataVariansi
 public RerataVariansi(int ukuran) {
  this.ukuran_array = ukuran;
  arrayAcak(ukuran,10);
 }
 
 /* Ini adalah konstruktor dua-argumen dari kelas RerataVariansi
  * yang memanggil konstruktor satu-argumen
  */
 public RerataVariansi(int ukuran, int pengali) {
  this(ukuran);
  arrayAcak(ukuran, pengali);
 }
  
 /* Ini adalah metode helper untuk membangkitkan
  * array acak yang dipakai untuk konstruktor
  */
 public void arrayAcak(int ukuran, int pengali) {
  double[] nilaiAcak = new double[ukuran];
 
  for(int i = 0; i < nilaiAcak.length; i++) {
   nilaiAcak[i] = (double)(Math.random()*pengali);
  }
  
  this.arr = nilaiAcak;
 }
 
 //Metode untuk menampilkan array
 public void tampilkanArray(double arr[]) {
  System.out.println("Elemen-elemen array: ");
  System.out.println(Arrays.toString(arr));
 }
 

    //Metode untuk menghitung rerata
 //Menghitung dan menampilkan rerata array
    public void hitungRerata(double arr[]) {
     double jum=0.0, rerata=0.0;
     int j = 0;
     while(j<arr.length){
      jum += arr[j];
      j++;
     }
     //System.out.println("Total penjumlahan elemen array:"+jum);
     rerata = jum / arr.length;

     this.rerata = rerata;
    }
  
    // Metode untuk menghitung dan menampilkan variansi array
    public void hitungVariansi(double arr[], double rerata) {
     int k = 0; double variansi = 0.0; double temp = 0.0;
     while(k<arr.length){
      temp += (arr[k]-rerata)*(arr[k]-rerata);
      k++;
     }
     variansi = temp / arr.length;
     this.variansi = variansi;
    }
}
========================================================================


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package tugasPBO;
import java.io.*;
import java.util.*;

public class UjiRerataVariansi {
 public static void main(String args[]) {
  //Menciptakan satu objek menggunakan konstruktor tanpa argumen
  RerataVariansi objek1 = new RerataVariansi();
  System.out.println("Nilai-nilai data pada objek objek1: ");
  objek1.tampilkanArray(objek1.arr);
  
  //Menciptakan satu objek menggunakan konstruktor satu-argumen
  RerataVariansi objek2 = new RerataVariansi(10);
  System.out.println("\n");
  System.out.println("Nilai-nilai data pada objek objek2: ");
  objek2.tampilkanArray(objek2.arr);
  
  //Menciptakan satu objek menggunakan konstruktor dua-argumen
  RerataVariansi objek3 = new RerataVariansi(15,10);
  System.out.println("\n");
  System.out.println("Nilai-nilai data pada objek objek3: ");
  objek3.tampilkanArray(objek3.arr);
  
  //Menghitung rerata dan variansi untuk objek1
  System.out.println("\n");
  objek1.hitungRerata(objek1.arr);
  System.out.println("Rerata array pada objek1: "+objek1.rerata);
  objek1.hitungVariansi(objek1.arr,objek1.rerata);
  System.out.println("Variansi array pada objek1: "+objek1.variansi);
 
  //Menghitung rerata dan variansi untuk objek2
  System.out.println("\n");
  objek2.hitungRerata(objek2.arr);
  System.out.println("Rerata array pada objek2: "+objek2.rerata);
  objek2.hitungVariansi(objek1.arr,objek2.rerata);
  System.out.println("Variansi array pada objek2: "+objek2.variansi);
  
  //Menghitung rerata dan variansi untuk objek3
  System.out.println("\n");
  objek3.hitungRerata(objek3.arr);
  System.out.println("Rerata array pada objek3: "+objek3.rerata);
  objek3.hitungVariansi(objek3.arr,objek3.rerata);
  System.out.println("Variansi array pada objek3: "+objek3.variansi);
  
 }
}

========================================================================

KELUARAN PROGRAM:

Nilai-nilai data pada objek objek1:
Elemen-elemen array:
[8.278533240400002, 3.064918201884047, 2.949608568353997, 0.2472134026559547, 7.131693097434219]


Nilai-nilai data pada objek objek2:
Elemen-elemen array:
[9.177036119975702, 8.405905763484194, 6.89510450013259, 2.0050303067161632, 6.596168187264686, 7.016484678685626, 6.568044920254968, 1.7898901998633787, 2.830352985661573, 9.966196154799142]


Nilai-nilai data pada objek objek3:
Elemen-elemen array:
[4.759654648216889, 3.0823463662077066, 3.920250937167032, 8.571186427283392, 3.9231064403344087, 2.5907375076818973, 8.123009584646843, 7.9429302643833815, 8.856016960117397, 3.323674137536592, 5.77829108120011, 0.9155884376185974, 2.4281494622201336, 7.274807701252141, 7.434646481736756]


Rerata array pada objek1: 4.334393302145644
Variansi array pada objek1: 8.723072263434746


Rerata array pada objek2: 6.125021381683803
Variansi array pada objek2: 11.929421182665262


Rerata array pada objek3: 5.261626429173552
Variansi array pada objek3: 6.312646515307037

========================================================================









No comments: