Saturday, November 25, 2017

Kelas dan Objek Dalam Java 12: Realisasi Untuk Matriks 4


Versi array dinamis menggunakan ArrayList dari:

di sini


dapat dituliskan menjadi berikut:

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


  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
 97
 98
 99
100
101
102
103
104
105
package tugasPBO;
import java.util.*;

public class RerataVariansiDinamis {
 ArrayList<Double> arr = new ArrayList<Double>();
 double rerata;
 double variansi;
 int ukuran;
 
 // Ini adalah konstruktor tanpa argumen dari kelas RerataVariansiDinamis
 public RerataVariansiDinamis() {
  this.ukuran = 10;
  arrayAcak(10,this.ukuran);
  this.rerata = 0.0;
  this.variansi = 0.0;
 }
 
 // Ini adalah konstruktor satu-argumen dari kelas RerataVariansiDinamis
 public RerataVariansiDinamis(int pengali) {
  arrayAcak(pengali,15);
 }
 
 /* Ini adalah konstruktor dua-argumen dari kelas RerataVariansiDinamis
  * yang memanggil konstruktor satu-argumen
  */
 public RerataVariansiDinamis(int pengali1, int pengali2) {
  this(pengali1*pengali2);
 }
 
 /* Ini adalah metode helper untuk membangkitkan
  * array acak yang dipakai untuk konstruktor
  */
 public void arrayAcak(int pengali, int ukuran) {
  ArrayList<Double> arrayKu = new ArrayList<Double>();

        for (int i=0; i<ukuran; i++)
        {
            Random rand = new Random();
            rand.setSeed(System.currentTimeMillis());
            Double r = rand.nextDouble()*1000;
            arrayKu.add(r);

        }
  
  this.arr = arrayKu;
 }
 
    //Metode untuk menghitung rerata
 //Menghitung dan menampilkan rerata array
 public void hitungRerata(ArrayList<Double> arrayKu) {
  //Menghitung rerata array dinamis dengan memanfaatkan iterator
  double jum = 0.0; double rerata = 0.0;
  Iterator<Double> itr = arrayKu.iterator();
   
  while(itr.hasNext()){
   jum += itr.next();
  }
  rerata = jum/arrayKu.size();
  this.rerata = rerata;
 }
   
    // Metode untuk menghitung dan menampilkan variansi array
 public void hitungVariansi(ArrayList<Double> arrayKu, double rerata) {
  // Menghitung dan menampilkan variansi array dengan memanfaatkan iterator
  double variansi = 0.0; double var = 0.0; double temp2 = 0.0;
  Iterator<Double> itr2 = arrayKu.iterator();
   
  while(itr2.hasNext()){
   temp2 = itr2.next();
   var += (temp2-rerata)*(temp2-rerata);
  }
  variansi = var / arrayKu.size();
  this.variansi = variansi;
 }
   
 
 public void inisialisasiArray() {
  // Metode untuk menginisialisasi array
  Scanner s=new Scanner(System.in);

  System.out.println("Masukkan banyak elemen array: ");
  int n=s.nextInt();
   
  // Menciptakan array dengan ukuran dinamis
  ArrayList<Double> arrayKu = new ArrayList<Double>();

  //Membaca array
  System.out.println("Masukkan elemen-elemen array: ");
  int i=0; double temp = 0.0;

  while(i<n){
   temp =s.nextDouble();
   arrayKu.add(temp);
   i++;
  }
  
  this.arr = arrayKu;
 }
 
 //Metode untuk menampilkan array
 public void tampilkanArray(ArrayList<Double> arrayKu) {
  System.out.println("Elemen-elemen array: ");
  System.out.println(arrayKu);
 }
}
========================================================================



 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
package tugasPBO;
import java.io.*;
import java.util.*;

public class UjiRerataVariansiDinamis {
 public static void main(String args[]) {
  //Menciptakan satu objek menggunakan konstruktor tanpa argumen
  RerataVariansiDinamis objek1 = new RerataVariansiDinamis();
  System.out.println("Nilai-nilai data pada objek objek1: ");
  objek1.tampilkanArray(objek1.arr);
  
  
  //Menciptakan satu objek menggunakan konstruktor satu-argumen
  RerataVariansiDinamis objek2 = new RerataVariansiDinamis(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
  RerataVariansiDinamis objek3 = new RerataVariansiDinamis(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(objek2.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:
[614.9293243089136, 614.9293243089136, 614.9293243089136, 614.9293243089136, 614.9293243089136, 614.9293243089136, 614.9293243089136, 614.9293243089136, 614.9293243089136, 614.9293243089136]


Nilai-nilai data pada objek objek2:
Elemen-elemen array:
[611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957]


Nilai-nilai data pada objek objek3:
Elemen-elemen array:
[611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957, 611.7043954106957]


Rerata array pada objek1: 614.9293243089135
Variansi array pada objek1: 1.2924697071141057E-26


Rerata array pada objek2: 611.7043954106957
Variansi array pada objek2: 0.0


Rerata array pada objek3: 611.7043954106957
Variansi array pada objek3: 0.0


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: