Array dan Multi Array Awal pembahasan pertama ketika membuat sebuah program kita membutuhkan variable yang banyak dengan tipe data yang sama dengan isi data yang berbeda. Solusi untuk memecakan permasalahan itu maka kita butuh variable yang bisa menampung tipe data yang sama dengan isi data yang berbeda. Array adalah solusinya, array adalah kumpulan nilai yang di deklarasikan dengan sebuah indeks. Tipe data yang dapat digunakan dalam array adalah int, double, string, char atau tipe data yang ada di java. Semua tipe data yang di buat di suatu array harus berada di tipe data yang sama.
1. Desklarasi Dilihat dari sintaknya tipe array sama seperti tipe data lainnya. Pada desklarasi array diikuti dengan symbol [ ]. Berikut contoh beberapa pendeklarasian array :
(tipe_data) [] (nama_array) Keterangan (tipe_data) = array yang ditampung harus sama dengan tipe data yang di desklarasikan [] =penulisan symbol array (nama_array) = nama dari array yang kita desklarasikan Int [] array1; String [] array2; Char [] array3; Double [] array4;
2. Instansiasi Instansiasi adalah memberikan batasan indeks bagi array yang telah di desklarasi. Array memiliki panjang yang fix setelah kita instansiasi maka akan terus sama dari panjang array tersebut. Berikut contoh dari instansiasi array :
Array1 = new int [10]; Array2 = new String [5]; Array3 = new char [10]; Array4 = new Double [12]; Keterangan (array1) = nama array yang di desklarasi (new int) = instansiasi array [10] = menentukan panjang array yang di buat
3. Array Accessing Accesing array sama seperti pemanggilan tipe data yang lainya. Bedanya array memiliki indeks yang perlu kita panggil dalam setiap pemanggilan dan indeks tersebut dapat kita panggil dengan []. Indeks array berawal dari [0] sampai dengan batas array yang kita berikan [batas_array]. Untuk lebih memudahkan kita dalam pemanggilan atau input array maka kita dapat menggunakan kontrol perulangan. Sebagai contoh dalam input atau pemanggilan array : Contoh array bertipe data int
Coding Array int /* *1377004 *Yudistira Akbar *
[email protected] **/ public class contohArray1 { public static void main (String[]args) { int [] arr1; //deklarasi array bertipe int arr1 = new int [10]; //instansiasi array dengan batas 10 //accesing input dan output array for (int i=0;i<arr1.length;i++) { int j=15*i; //membuat data yang akan diisikan kepada array arr1[i]=j; //input data array System.out.println("array ke "+" "+i+" : "+arr1[i]); //output data array } } } OUTPUR ÏÏ«Ï ----jGRASP exec: java contohArray1 ÏÏ§Ï ÏϧÏarray ke 0 : 0 ÏϧÏarray ke 1 : 15 ÏϧÏarray ke 2 : 30 ÏϧÏarray ke 3 : 45 ÏϧÏarray ke 4 : 60 ÏϧÏarray ke 5 : 75 ÏϧÏarray ke 6 : 90 ÏϧÏarray ke 7 : 105 ÏϧÏarray ke 8 : 120 ÏϧÏarray ke 9 : 135 ÏÏ§Ï ÏÏ©Ï ----jGRASP: operation complete.
Contoh array tipe data String Coding Array String
/* *1377004 *Yudistira Akbar *
[email protected] **/ public class contohArray2 { public static void main (String[]args) { String [] arr1; //deklarasi array bertipe String arr1 = new String []{"array1","array2","array3","array4","array5"}; //instansiasi array dengan batas 5 beserta input data array1 //accesing output array for (int i=0;i<arr1.length;i++) { System.out.println("String array ke "+" "+i+" : "+arr1[i]); //output data array } } } Output Program ÏÏ«Ï ----jGRASP exec: java contohArray2 ÏÏ§Ï ÏϧÏString array ke 0 : array1 ÏϧÏString array ke 1 : array2 ÏϧÏString array ke 2 : array3 ÏϧÏString array ke 3 : array4 ÏϧÏString array ke 4 : array5 ÏÏ§Ï ÏÏ©Ï ----jGRASP: operation complete. ¼¼ÏÏ
4. Single Line Array Array bisa kita buat dimensi pertama array yang memliki 1 dimensi array. Setelah memahami yang kita bahas di atas dari mulai desklarasi array, lalu ke instansiasi array menentukan panjang array, accesing array yang dibuat di atas adalah single line array. Yaitu array yang memliki 1 dimensi. Untuk lebih jelas nya di lanjutkan dengan contoh coding dari single array yang lainnya. Contoh array tipe data String
Coding Array char /* *1377004 *Yudistira Akbar *
[email protected] **/ public class contohArray3 {
public static void main (String[]args) { char [] arr1; //deklarasi array bertipe char arr1 = new char []{'a','b','b','d','e'}; //instansiasi array dengan batas 5 beserta input data array1 //accesing output array for (int i=0;i<arr1.length;i++) { System.out.println("char array ke "+" "+i+" : "+arr1[i]); //output data array } } } Output Program ÏÏ«Ï ----jGRASP exec: java contohArray3 ÏÏ§Ï ÏϧÏchar array ke 0 : a ÏϧÏchar array ke 1 : b ÏϧÏchar array ke 2 : b ÏϧÏchar array ke 3 : d ÏϧÏchar array ke 4 : e ÏÏ§Ï ÏÏ©Ï ----jGRASP: operation complete.
5. Multi Array Multi array adalah diproyeksikan jika ada array dan di dalamnya ada array lagi. Dengan kata lain array yang kita buat mempunyai 2 atau lebih dimensi yang didesklarasikan. Untuk array yang punya 2 dimensi biasanya di sebut dengan array matriks. agar lebih jelas kita lanjut ke coding dalam pembuatan multi array Contoh program array multi
Coding Array Multi /* *1377004 *Yudistira Akbar *
[email protected] **/ public class contohArray4 { public static void main (String[]args) { String [][] arr1; //deklarasi array bertipe String arr1 = new String [][]{{"a1","a2"}, {"b1","b2"}, {"c1","c2"}, {"d1","d2"}};
//instansiasi array //accesing output array for (int i=0;i<4;i++) //perulangan untuk dimensi pertama dari array { for(int j=0;j<2;j++) //perulangan untuk dimensi yang didalam array pertama { System.out.println("String array ke "+" ["+i+"]["+j+"] : "+arr1[i][j]); //output data array } } } } Output Program «Ï ----jGRASP exec: java contohArray4 ÏÏ§Ï ÏϧÏString array ke [0][0] : a1 ÏϧÏString array ke [0][1] : a2 ÏϧÏString array ke [1][0] : b1 ÏϧÏString array ke [1][1] : b2 ÏϧÏString array ke [2][0] : c1 ÏϧÏString array ke [2][1] : c2 ÏϧÏString array ke [3][0] : d1 ÏϧÏString array ke [3][1] : d2 ÏÏ§Ï ÏÏ©Ï ----jGRASP: operation complete.
Contoh array dimensi 3
Coding Array Multi demensi 3 /* *1377004 *Yudistira Akbar *
[email protected] **/ public class contohArray5 { public static void main (String[]args) { double [][][] arr1; //deklarasi array bertipe Int arr1 = new double [3][2][5]; //instansiasi array
//accesing output array for (int i=0;i<3;i++) //perulangan untuk dimensi pertama dari array { for(int j=0;j<2;j++) //perulangan untuk dimensi yang didalam array pertama { for(int k=0;k<5;k++) { arr1 [i][j][k] = Math.random(); //pemberian data array secara acak System.out.println("String array ke "+" ["+i+"]["+j+"]["+k+"] : "+arr1[i][j][k]); //output data array } } } } } Output Program ÏÏ«Ï ----jGRASP exec: java contohArray5 ÏÏ§Ï ÏϧÏString array ke [0][0][0] : 0.08959668411956845 ÏϧÏString array ke [0][0][1] : 0.15570506234342385 ÏϧÏString array ke [0][0][2] : 0.5540047612024336 ÏϧÏString array ke [0][0][3] : 0.6265735863484364 ÏϧÏString array ke [0][0][4] : 0.23821936337800598 ÏϧÏString array ke [0][1][0] : 0.3281744730434344 ÏϧÏString array ke [0][1][1] : 0.3103562814763786 ÏϧÏString array ke [0][1][2] : 0.45355258032724177 ÏϧÏString array ke [0][1][3] : 0.49842449777075903 ÏϧÏString array ke [0][1][4] : 0.40518800515495057 ÏϧÏString array ke [1][0][0] : 0.4951091781625616 ÏϧÏString array ke [1][0][1] : 0.9538706022022078 ÏϧÏString array ke [1][0][2] : 0.6298124590335117 ÏϧÏString array ke [1][0][3] : 0.7331092324279708 ÏϧÏString array ke [1][0][4] : 0.5844374838213112 ÏϧÏString array ke [1][1][0] : 0.9034169121106771 ÏϧÏString array ke [1][1][1] : 0.17244745833331876 ÏϧÏString array ke [1][1][2] : 0.5378887318702137 ÏϧÏString array ke [1][1][3] : 0.20653320524226537 ÏϧÏString array ke [1][1][4] : 0.7432306810675833 ÏϧÏString array ke [2][0][0] : 0.6872577597973805 ÏϧÏString array ke [2][0][1] : 0.27884576810709616 ÏϧÏString array ke [2][0][2] : 0.15741671297958515 ÏϧÏString array ke [2][0][3] : 0.40139986983938736 ÏϧÏString array ke [2][0][4] : 0.3042826240660407 ÏϧÏString array ke [2][1][0] : 0.4147664025516712 ÏϧÏString array ke [2][1][1] : 0.23974590252549288
ÏϧÏString array ÏϧÏString array ÏϧÏString array ÏÏ§Ï ÏÏ©Ï ----jGRASP:
ke ke ke
[2][1][2] : 0.40729674140595085 [2][1][3] : 0.34759602009377844 [2][1][4] : 0.5125240868904856
operation complete.
*Dapat dilihat dimensi yang ditampilkan dari output program