Saturday, November 25, 2017

METODE Object clone() DALAM JAVA


Metode Object clone() menghasilkan salinan dari sebuah objek ArrayList. Berikut adalah contoh penggunaannya:

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


 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
package tugasPBO;

import java.lang.Math;
import java.util.*;

public class contoh47 {
 public static void main(String[] args) {
     // Menginisialisasi array dinamis
  ArrayList<Double> arrayKu1 = new ArrayList<Double>();
  arrayKu1 = inisialisasiArray();
  
     //Menampilkan isi array dinamis arrayKu1
     System.out.println("Elemen-elemen arrayKu1: " +arrayKu1);
     
     //Menghitung rerata array arrayKu1
     double rerata = 0.0;
     rerata = hitungRerata(arrayKu1);
     System.out.println("Rerata arrayKu1: " +rerata);
          
     //Menghitung variansi arrayKu1
     double variansi = 0.0;
     variansi = hitungVariansi(arrayKu1,rerata); 
        System.out.println("Variansi arrayKu1: "+variansi);

        //Menggunakan metode clone()
        ArrayList<Double> arrayKlone = (ArrayList<Double>) arrayKu1.clone();
     
        //Menampilkan isi array dinamis setelah penggunakan metode clone()
        System.out.println("Elemen-elemen arrayKlone: " +arrayKlone);
     
     //Menghitung rerata array
     rerata = hitungRerata(arrayKlone);
     System.out.println("Rerata arrayKlone: " +rerata);
          
     //Menghitung variansi
     variansi = hitungVariansi(arrayKu1,rerata); 
        System.out.println("Variansi arrayKlone: "+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:
7.7
8.8
9.9
6.6
5.5
Elemen-elemen arrayKu1: [7.7, 8.8, 9.9, 6.6, 5.5]
Rerata arrayKu1: 7.7
Variansi arrayKu1: 2.420000000000001
Elemen-elemen arrayKlone: [7.7, 8.8, 9.9, 6.6, 5.5]
Rerata arrayKlone: 7.7
Variansi arrayKlone: 2.420000000000001


========================================================================
Dapat diperhatikan bahwa arrayKu1 dan arrayKlone memiliki isi yang sama.


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

Semua metode-metode dari kelas ArrayList dapat pula diterapkan untuk elemen-elemen bertipe String seperti contoh 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
package tugasPBO;

import java.lang.Math;
import java.util.*;

public class contoh48 {
 public static void main(String[] args) {
     // Menginisialisasi array dinamis
  ArrayList<String> arrayKu1 = new ArrayList<String>();
  arrayKu1 = inisialisasiArray();
  
     //Menampilkan isi array dinamis arrayKu1
     System.out.println("Elemen-elemen arrayKu1: " +arrayKu1);
     
        //Menggunakan metode clone()
        ArrayList<String> arrayKlone = (ArrayList<String>) arrayKu1.clone();
     
        //Menampilkan isi array dinamis setelah penggunakan metode clone()
        System.out.println("Elemen-elemen arrayKlone: " +arrayKlone);
     
    }
 
 public static ArrayList<String> 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<String> arrayKu = new ArrayList<String>();

  //Membaca array
  System.out.println("Masukkan elemen-elemen array: ");
  int i=0;
  Scanner scanner = new Scanner(System. in);
  
  while(i<n){
   String temp = scanner.nextLine();
   arrayKu.add(temp);
   i++;
  }
  
  return arrayKu;
 }
}


KELUARAN PROGRAM:

Masukkan banyak elemen array:
5
Masukkan elemen-elemen array:
Aku
Punya
Anjing
Kecil
Di Rumah
Elemen-elemen arrayKu1: [Aku, Punya, Anjing, Kecil, Di Rumah]
Elemen-elemen arrayKlone: [Aku, Punya, Anjing, Kecil, Di Rumah]

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







No comments: