Dari Tugas 3, salah satu tugas yang diberikan pada Anda adalah:
Tuliskan sebuah program Java yang menciptakan sebuah array satu-dimensi yang memuat 10 elemen. Kesepuluh elemen tersebut bertipe double, yang nilai-nilainya dimasukkan oleh user. Selanjutnya program akan menghitung dan menampilkan nilai variansi dan rerata dari kesepuluh nilai elemen array tersebut, dengan memanfaatkan loop while.
Pada kasus tersebut, Anda menuliskan kode ke dalam satu fungsi/metode main() saja:
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 | package tugasPBO; import java.lang.Math; import java.util.*; public class contoh41 { public static void main(String[] args) { // Memanggil metode inisialisasiArray double[] arr1 = inisialisasiArray(); // Memanggil metode untuk menampilkan array tampilkanArray(arr1); // Metode untuk menghitung rerata array double rerata = 0.0; rerata = hitungRerata(arr1); System.out.println("Rerata: "+rerata); // Metode untuk menghitung variansi array double variansi = 0.0; variansi = hitungVariansi(arr1, rerata); System.out.println("Variansi: "+variansi); } //Metode untuk membaca nilai-nilai dari user public static double[] 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++; } return arr; } //Metode untuk menampilkan array public static void tampilkanArray(double arr[]) { System.out.println("Elemen-elemen array yang dimasukkan: "); System.out.println(Arrays.toString(arr)); } //Metode untuk menghitung rerata //Menghitung dan menampilkan rerata array public static 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 static 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; } } |
Berikut adalah versi kode yang di dalamnya kode disekat-sekat ke dalam sejumlah metode:
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 | package tugasPBO; import java.lang.Math; import java.util.*; public class contoh41 { public static void main(String[] args) { // Memanggil metode inisialisasiArray double[] arr1 = inisialisasiArray(); // Memanggil metode untuk menampilkan array tampilkanArray(arr1); // Metode untuk menghitung rerata array double rerata = 0.0; rerata = hitungRerata(arr1); System.out.println("Rerata: "+rerata); // Metode untuk menghitung variansi array double variansi = 0.0; variansi = hitungVariansi(arr1, rerata); System.out.println("Variansi: "+variansi); } //Metode untuk membaca nilai-nilai dari user public static double[] 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++; } return arr; } //Metode untuk menampilkan array public static void tampilkanArray(double arr[]) { System.out.println("Elemen-elemen array yang dimasukkan: "); System.out.println(Arrays.toString(arr)); } //Metode untuk menghitung rerata //Menghitung dan menampilkan rerata array public static 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 static 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; } } |
PERHATIKAN:
Metode dalam Java memiliki tipe nilai balik, nama metode, dan sejumlah argumen masukan. Anda bisa mempelajari kode tersebut dengan memodifikasinya sesuai dengan kebutuhan Anda.
Metode-metode pada kode di atas dapat dimodifikasi agar dapat diterapkan pada array dinamis. Perhatikan kode berikut:
KELUARAN PROGRAM:
Masukkan banyak elemen array:
5
Masukkan elemen-elemen array:
2.2
3.3
2.2
3.4
5.4
Elemen-elemen array yang dimasukkan: [2.2, 3.3, 2.2, 3.4, 5.4]
Rerata array: 3.3
Variansi: 1.368
TUGAS 4
Metode-metode pada kode di atas dapat dimodifikasi agar dapat diterapkan pada array dinamis. Perhatikan kode 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 | package tugasPBO; import java.lang.Math; import java.util.*; public class contoh42 { public static void main(String[] args) { // Menginisialisasi array ArrayList<Double> arrayKu1 = new ArrayList<Double>(); arrayKu1 = inisialisasiArray(); //Menampilkan isi array dinamis System.out.println("Elemen-elemen array yang dimasukkan: " +arrayKu1); //Menghitung rerata array double rerata = 0.0; rerata = hitungRerata(arrayKu1); System.out.println("Rerata array: " +rerata); //Menghitung variansi double variansi = 0.0; variansi = hitungVariansi(arrayKu1,rerata); System.out.println("Variansi: "+variansi); } public static ArrayList<Double> 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++; } return arrayKu; } public static double 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(); return rerata; } public static double 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(); return variansi; } } |
KELUARAN PROGRAM:
Masukkan banyak elemen array:
5
Masukkan elemen-elemen array:
2.2
3.3
2.2
3.4
5.4
Elemen-elemen array yang dimasukkan: [2.2, 3.3, 2.2, 3.4, 5.4]
Rerata array: 3.3
Variansi: 1.368
Perhatikan bahwa metode inisialisasiArray() menghasilkan nilai balik bertipe ArrayList dan metode ini tidak memiliki argumen masukan apapun. Metode hitungRerata() menghasilkan nilai balik bertipe double dan memiliki satu argumen masukan bertipe ArrayList. Metode hitungVariansi menghasilkan nilai balik bertipe double dan memiliki dua argumen masukan: satu bertipe ArrayList dan satu lagi bertipe double.
TUGAS 4
- Tuliskanlah sebuah program Java yang menciptakan sebuah array satu-dimensi yang memuat 10 elemen. Kesepuluh elemen tersebut bertipe int, yang nilai-nilainya dimasukkan oleh user. Program kemudian menggunakan loop do-while untuk mencari dan menampilkan elemen-elemen array yang ganjil maupun yang genap. Tuliskan metode untuk membaca nilai-nilai dari user dan metode untuk mencari elemen-elemen array ganjil dan genap.
- Tuliskanlah sebuah program Java yang menciptakan sebuah array dua-dimensi, dengan 10 baris dan 365 kolom. Semua elemennya bertipe float. Isi array tersebut menyatakan temperatur tahunan pada sepuluh lokasi berbeda. Temperatur yang direkam diukur dalam derajat Celcius. Hitunglah variansi temperatur tahunan pada sepuluh lokasi tersebut. Tuliskan metode untuk membangkitkan elemen-elemen array 2D secara acak dan metode untuk menghitung variansi temperatur tahunan.
DIKUMPULKAN SABTU TANGGAL 2 DESEMBER 2017
No comments:
Post a Comment