Rabu, 27 November 2013

Belajar Java Arry

  Array adalah kumpulan data yang memiliki tipe data dan jumlah elemen yang tetap (tidak bisa ditambah/dikurangi). Array pada Java adalah sebuah object, maka harus dideklarasikan menggunakan kata kunci new. Tiap data pada array disebut element, dan masing-masing element dapat diakses menggunakan index yang berupa angka. Index dimulai dari 0 sampai jumlah element – 1.
Array Java
Contoh untuk mendeklarasikan array sesuai gambar di atas adalah
1
char [] arrayHuruf = new char[10];
Sedangkan cara untuk menginisialisasinya adalah sebagai berikut
1
2
3
arrayHuruf[0] = 'A';
arrayHuruf[1] = 'B';
//dst
Bisa menggunakan perulangan untuk menginisialisasi array
1
2
3
4
for (int i = 0; i < 10; i ++) {
 
  arrayHuruf[i] = (char) ('A' + i);
}
Array arrayHuruf akan berisi 10 karakter, yaitu ‘A’ sampai ‘J’ secara berurutan. Alternatif lain untuk menginisialisasi array, dapat menggunakan syntax sebagai berikut
1
char[] arrayHuruf = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J' };
Jumlah element diketahui dari banyaknya nilai di antara tanda ‘{‘ dan ‘}’.
Kita juga dapat mendeklarasikan array dari array atau lebih dikenal sebagai array multidimensi dengan cara seperti berikut char[][] namaArray = new char[10][2] atau char[][] namaArray = new char[10][], tapi tidak boleh seperti ini char[][] namaArray = new char[][2]. Dalam bahasa Java, pengertian array lebih sederhana daripada pada bahasa C, jadi jumlah element pada baris berikutnya jumlahnya boleh bervariasi (tidak harus sama dengan baris pertama).
1
2
3
char[][] hurufAngka = new char[2][];
hurufAngka[0] = new char[2]; // array index [0][0] sampai [0][1]
hurufAngka[1] = new char[1]; // hanya ada array index [1][0]
Array multidimensi juga dapat langsung dideklarasikan dan diinisialisasi seperti berikut
1
2
3
4
char[][] hurufAngka = {
  { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J' },
  { '1', '2', '3', '4', '5'}
};
Pada contoh untuk menginisialisasi di atas, kita menggunakan bentuk perulangan for (nilai_awal; nilai_akhir; penambahan/pengurangan), jadi jumlah element-nya harus diketahui. Bagaimana jika jumlah element tidak diketahui? Misalkan kita ingin mencetak array yang berisi huruf-huruf yang tidak diketahui secara pasti jumlahnya. Gunakan enhanced for yang penggunaannya mirip dengan foreach pada PHP.
1
2
3
4
5
char[] arrayHuruf = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J' };
 
for ( char huruf : arrayHuruf ) {
  System.out.println( huruf );
}
Kita juga bisa menggunakan built-in property length untuk mengetahui jumlah element-nya.
1
2
for (int i=0; i<arrayHuruf.length; i++)
  System.out.println( arrayHuruf[i] );
Untuk menyalin array yang satu ke yang lainnya, bisa menggunakan method arraycopy yang ada pada class System.
1
public static void arraycopy(Object arraySumber, int indexSumber, Object arraytujuan, int indexTujuan, int panjangElement)
Contoh penggunaannya adalah seperti berikut
1
2
3
4
5
6
7
int[] arraySumber = { 1, 2, 3, 4, 5 };
int[] arrayTujuan = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
 
System.arraycopy (arraySumber, 0, arrayTujuan, 0, arraySumber.length);
         
for (int item : arrayTujuan)
  System.out.println ( item );
Tambahan:
Meskipun jumlah element pada array tidak bisa ditambah/dikurangi, kita bisa menciptakan array baru dari array yang sudah ada. Namun tentu saja, nilai yang sudah ada akan hilang.
1
2
int [] array = new int[5];
array = new int[10];