Saturday, November 25, 2017

Kelas dan Objek Dalam Java 11: Realisasi Untuk Matriks 3


Anda bisa memodifikasi kelas pada:

kelas ini


sehingga user dapat memasukkan array secara manual, dan elemen-elemen array tersebut menjadi data arr pada objek yang diciptakan.

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


 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package tugasPBO;
import java.util.*;

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;
    }
 
 //Metode untuk membaca nilai-nilai dari user
 public void inisialisasiArray() {
  Scanner s = new Scanner(System.in);

   System.out.println("Masukkan banyak elemen array: ");
  int n=s.nextInt();

   double arr[]=new double[n];

   //Membaca array
  System.out.println("Masukkan elemen-elemen array: ");
  int i=0;
  while(i<n){ 
   arr[i]=s.nextDouble();
   i++;
  }
  this.arr = 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
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);
  
  //Menginisialisasi data objek dari user
  RerataVariansi objek4 = new RerataVariansi();
  System.out.println("\n");
  objek4.inisialisasiArray();
  objek4.tampilkanArray(objek4.arr);
  objek4.hitungRerata(objek4.arr);
  System.out.println("Rerata array pada objek4: "+objek4.rerata);
  objek4.hitungVariansi(objek4.arr,objek4.rerata);
  System.out.println("Variansi array pada objek4: "+objek4.variansi);
 }
}
========================================================================

KELUARAN PROGRAM:

Nilai-nilai data pada objek objek1:
Elemen-elemen array:
[8.666967959942264, 2.4513355295560366, 8.14214213495775, 7.897084825440439, 3.84329400738763]


Nilai-nilai data pada objek objek2:
Elemen-elemen array:
[1.8454613490329175, 3.43417910674214, 5.351873038789428, 6.705520347158481, 0.6512700660318727, 8.989228155623438, 5.347314923201699, 1.0545280003287283, 0.5741698290690489, 3.2252675285248222]


Nilai-nilai data pada objek objek3:
Elemen-elemen array:
[6.6391606392743805, 3.555253104220558, 8.245048976729413, 2.4785495640299873, 6.819121899024258, 7.015000844909119, 9.529250293817457, 7.431514208543939, 5.995550704064707, 3.622433701182064, 1.129417252929047, 6.735318281988961, 6.407040084287512, 3.3924326944614682, 0.9047490231303446]


Rerata array pada objek1: 6.200164891456824
Variansi array pada objek1: 6.468898440827632


Rerata array pada objek2: 3.717881234450258
Variansi array pada objek2: 12.630630594669519


Rerata array pada objek3: 5.326656084839547
Variansi array pada objek3: 6.4049400871332045


Masukkan banyak elemen array: 

5
Masukkan elemen-elemen array: 
1.1
2.2
3.3
4.4
5.5
Elemen-elemen array: 

[1.1, 2.2, 3.3, 4.4, 5.5]
Rerata array pada objek4: 3.3
Variansi array pada objek4: 2.42

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


No comments: