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