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:
Post a Comment