Array pada bahasa pemrograman Java d7sada54
Array adalah object di java yang dapat menyimpan kumpulan data dengan tipe yang sama. Array dapat menyimpan data dengan tipe primitif, wrapper class maupun reference. Walaupun array bisa menyimpan tipe data primitif, tetapi array selalu berada di heap, atau bisa dibilang apapun tipe arraynya, array itu sendiri adalah object.
Untuk bisa bekerja dengan array, kita perlu melakukan tiga langkah :
• Mendeklarasikan variabel array
• Menginisialisasi object array
• Mengisi array dengan data
Ada beberapa cara berbeda untuk melakukan ketiga hal tersebut, kita akan membahas satu per satu. Array dideklarasikan dengan mendefnisikan tipe datanya diikuti dengan tanda kurung kotak buka dan tutup kemudian diikuti nama variabelnya. Contohnya sebagai berikut :
int[] data;
Cara deklarasi array di atas adalah cara yang dianjurkan. Semua variabel yang diletakkan setelah
int[] akan bertipe array, misalnya kita modifkasi sedikit deklarasi di atas agar variabel yang
dideklarasikan lebih dari satu, seperti di bawah ini :
int[] data, key, values;
Cara kedua mendeklarasikan array adalah dengan menulis tipe data kemudian diikuti oleh nama variabel serta kurung kotak buka dan tutup setelah nama variabel. Contohnya sebagai berikut :
int data[];
Cara ini tidak direkomendasikan, karena kalau ingin mendeklarasikan lebih dari satu variabel array, maka kurung kotak buka tutup harus ditulis di setiap variabel. Jika kurung kotak buka tutup tidak ditulis, maka variabel tersebut bertipe int, bukan array. Contohnya adalah :
int data[], key[], values;
variabel data dan key bertipe array int sedangkan variabel values bertipe int, bukan array. Jumlah kurung kotak menentukan dimensi array, misalnya kita ingin membuat array dua dimensi
(di dalam array ada array) dan tiga dimensi (di dalam array ada array dari array). Contohnya :
String[][] arrayDuaDimensi;
String[][][] arrayTigaDimensi;
Setelah berhasil mendeklarasikan array, sekarang waktunya menginisialisasi object array.
Caranya sangat sederhana, menggunakan keyword new dan mendefnisikan panjang arraynya, contohnya seperti berikut ini :
int[] data;
data = new data[10];
Kode di atas artinya : buat variabel data dengan tipe array int, inisialisasi arraynya dengan panjang 10 dan isi dengan nilai 0; Kenapa diisi dengan nilai 0? hal ini dikarenakan tipe data primitif tidak bisa bernilai null, harus ada nilai defaultnya. Dalam hal ini tipe data int akan selalu mempunyai nilai default 0. Kalau tipe data arraynya adalah wrapper class atau object, array akan berisi null, seperti
contoh di bawah ini :
String[] data;
data = new String[10];
Ukuran dari array bersifat wajib, kalau kita menginisialisasi array tanpa disertai ukuran
panjang array, maka kodenya akan gagal dicompile. Contohnya seperti di bawah ini :
String[] data = new String[];
Inisalisasi array multidimensi sedikit berbeda dengan array satu dimensi. Kita bisa mendeklarasikan array dua dimensi sekaligus dengan isinya, misalnya contoh di bawah ini akan membuat matriks 10x10 sehingga bisa menampung 100 data.
String[] arrayDuaDimensi = new String[10][10];
Ketika menginisialisasi array multidimensi, ukuran array hanya wajib diisi di dimensi pertama, sedangkan dimensi kedua tidak wajib disebutkan ukuranya. Hal ini mengakibatkan isi dari array yang berupa array masih bernilai null dan harus diinisalisasi dahulu sebelum diisi
dengan nilai.
String[] arrayDuaDimensi = new String[10][];
Memasukkan data ke dalam array dilakukan dengan menyebutkan index dimana data akan diletakkan. Seperti contoh di bawah ini :
int data = new int[4];
data[0] = 1;
data[1] = 12;
data[3] = 19;
Perhatikan bahwa index dari array dimulai dari 0 dan selalu bernilai positif. Kalau index yang dimasukkan diluar jangkauan yang benar, akan muncul ArrayIndexOfBoundException. Mari kita simulasikan bagaimana error ArrayIndexOfBoundException terjadi :
public class ArrayError {
public static void main(String[] args) {
int[] data = new int[4];
data[1] = 10;
data[3] = 8;
data[4] = 9;
}
}
Simpan dalam fle ArrayError.java, kompilasi fle java tersebut kemudian jalankan programnya:
$ javac ArrayError.java
$ java ArrayError
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at ArrayError.main(ArrayError.java:6)
$
Terlihat bahwa array mempunyai panjang 4, index terbesar adalah 3 karena index array dimulai dari 0, kemudian kode data[4] berusaha mengakses index 4 yang berada di luar jangkauan.
No comments:
Post a Comment