Pemrograman Dasar Java Array Multidimensi Pemrograman Dasar Java
Array 1 2 3 4 banyaknya elemen: 5 index elemen 1 2 3 4 banyaknya elemen: 5 index elemen dari 0 s.d array.length-1
Deklarasi dan Pembuatan Array Menggunakan operator new new Type [panjangArray ] Ukuran array harus ditetapkan, dan semua elemen akan diberi nilai default sebagai inisial. int[ ] ia1 = new int [3]; //membuat array integer dengan panjang 3; semua elemen bernialai awal 0 String[ ] pa = new String [10]; //membuat array String dengan panjang 10; semua elemen bernialai awal null
Deklarasi dan Pembuatan Array Penggunaan inisialisasi array {v0, v1, …..,vn-1} Nilai v0, v1, …..,vn-1 merupakan nilai inisial elemen-elemen dalam array. Ukuran atau panjang array sesuai dengan banyaknya nilai yang diberikan. int ia2 [ ] = {5, 2, 3}; // membuat array integer dengan ukuran 3; secara berurutan elemen-elemen diberi nilai 5,2, dan 3.
Array Multidimensi Array multidimensi dapat dikatakan sebagai array of array atau array didalam sebuah array Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom myArray memiliki dua buah index yaitu [b][c] elemen myArray dapat diakses dengan syntax, misalnya, myArray[2][0] Contoh: yourArray merupakan array k dimensi; elemen-elemen your array dapat diakses dengan menggunakan syntax : yourArray [ i1 ] [ i2 ]…[ ik ]
Contoh: Array 2 Dimensi 1 2 3 4 5 baris index elemen 1 2 3 4 5 baris index elemen dari 0 s.d array.length-1 Terdapat 5 x 4 = 20 elemen yang dimodelkan menempati baris dan kolom 4 kolom
Contoh: Array 2 Dimensi 1 2 3 1 2 3 4 index kolom 5 baris [2][1] 1 2 3 1 2 3 4 [2][1] 5 baris [4][3] index baris Terdapat 5 x 4 = 20 elemen yang dimodelkan menempati baris dan kolom 4 kolom
Multidimensional Arrays Dengan menerapkan apa yang sudah dipelajari tentang single arrays pada array multidimensi, didapatkan: Sebuah array k-dimensi dapat dibuat dengan cara sebagai berikut :: Pada saat deklarasi, tanda "[ ]" yang digunakan sejumlah k Untuk membuat array dapat dilakukan dengan: menggunakan keyword new menggunakan inisialisasi k-dimensi
Membuat Array k Dimensi Menggunakan operator new new Type [ n1] [n2]…[nk] Ukuran dimensi sesuai dengan banyaknya tanda "[ ]" Semua elemen diinisialisasi dengan nilai default sesuai type-nya. Menggunakan inisilaisasi nilai k- dimensi saat deklarasi {I1, I2, ...., Ik} Jika bukan merupakan single array, maka masing-masing I1, I2, ...., Ik juga merupakan array. { {I1},{ I2},{ ....,{Ik} }
Contoh: Array 2 Dimensi Menggunakan operator new untuk membuat array 2 dimensi: Dengan menggunakan inisialisasi nilai array k-dimensi: 1 2 int [ ] [ ] harga= {{1, 2, 3}, {4, 5, 6}}; double [ ][ ] angka= new double[2][3]; 1 Statemen tersebut akan membuat array 2 dimensi dengan ukuran 2 x 3. Elemen yang dimiliki sebanyak 6, dan masing-masing elemen diinisialisasi dengan 0.0. statemen tersebut membuat array 2 dimensi dengan ukuran 2 x 3. dan masing-masng elemen diinisialiasi nilainya sebagai berikut: harga[0][0] =1 harga[0][1]=2 harga[0][2]=3 harga[1][0] =4 harga[1][1]=5 harga[1][2]=6
Ilustrasi Dengan menggunakan inisialisasi nilai array k-dimensi: Index dimensi ke-2 (indek untuk kolom) 2 1 int harga[ ] [ ] = {{1, 2, 3}, {4, 5, 6}}; 1 1 2 3 4 5 6 statemen tersebut membuat array 2 dimensi dengan ukuran 2 x 3. Dapat dimodelkan dalam bentuk baris dan kolom (misalnya seperti matriks). Perhatikan ilustrasinya. Index dimensi ke-1 (index untuk baris)
Ilustrasi Dengan menggunakan inisialisasi nilai array k-dimensi: Index dimensi ke-2 (indek untuk kolom) int harga[ ] [ ] = {{1, 2, 3}, {4, 5, 6}}; Sebenarnya masing-masing elemen variable harga berisi suatu nilai yang mengacu pada sebuah array of int yang berukuran 3 1 2 3 4 5 6 Index dimensi ke-1 (index untuk baris) [3] 1 2 3 [2] . 1 harga [3] 4 5 6
Contoh Menukar isi array 2 dimensi. Misalnya menukar isi angka[1][2] dengan angka[0][1]
public class TukarAngka{ public static void main(){String[] argas}{ int[][] angka{{3,1,2,4}, {6,5,8,7}}; int temp; System.out.println("Sebelum Ditukar"); System.out.println(angka[1][2]); System.out.println(angka[0][1]); temp=angka[1][2]; angka[1]2[]=angka[0][1]; angka[0][1]=temp; System.out.println("Setelah Ditukar"); } Sebelum Ditukar 8 1 Setelah Ditukar
Memproses Array Multidimensi Dengan Looping Seperti sebelumnya, array sering diproses menggunakan statemen for, demikian juga array multimdimensi. Untuk memproses semua elemen dalam array dua dimensi, sebuah statemen for diletakkan didalam perulangan yang lain (nested loop). int[ ][ ] AA = new int[3][4]; Kode berikut ini menyimpan nilai 1 ke semua elemen AA : for (int row = 0; row < 3; row++) { for (int column = 0; column < 4; column++) AA [row][column] = 1; }
Contoh: Mencari nilai minimum dari sebuah array dua dimensi.
public class NilaiMin{ public static void main(String[] args) { double [][] angka = {{8.3, 5.1, 9.9}, {2.3, 4.5, 7.7}, {5.2, 6.1, 2.8}}; int n = angka.length; int m = angka[0].length; double min = 0.0; double max = 0.0; min = angka[0][0]; for (int p = 0; p < m; p++) { for (int q = 1; q < n; q++) { if (angka[p][q] < min) { min = angka[p][q]; } System.out.println( "Nilai Minimumnya adalah " + min); Jika dijalankan: Nilai minimumnya adalah 2.3
Beberapa Hal Tentang Array Memori komputer adalah linear, satu dimensi. Saat mengakses array multidimensi sebenarnya sama saja dengan mengakses array satu dimensi dari memory. pada array 2D, urutan dalam memory dimulai dengan mengisi satu baris dulu dilanjutkan baris berikutnya. Index dimensi ke-2 (indek untuk kolom) 1 2 3 4 5 6 Index dimensi ke-1 (index untuk baris) 1 2 3 4 5 6
Beberapa Hal Tentang Array Salah satu yang membedakan C/C++ dengan Java adalah, bahawa array dalam Java SELALU melakukan bounds-checked (pemeriksaan ukuran array) saat run time untuk mendeteksi adanya kesalahan dalam program. Jika terdapat kesalahan maka akan ada error "Array out of bound" Tidak ada batasan ukuran dimensi suatu array, tetapi biasanya yang paling sering digunakan adalah dimensi 1 dan 2.
Latihan Buatlah program untuk mengetahui lokasi suatu data di dalam sebuah array dua dimensi. Contoh keluaran, misalnya array dideklarasikan: int [] angka={{3,2,1,5},{4,1,2,6}}; nilai yang dicari: 2 nilai 2 berada pada baris 1 kolom 2 nilai 2 berada pada baris 2 kolom 3 nilai yang dicari: 100 nilai 100 tidak ditemukan!
Berikutnya: Contoh persoalan menggunakan array Terima Kasih Berikutnya: Contoh persoalan menggunakan array