Anda di halaman 1dari 21

Array DUA DIMENSI

Java
Array

0
1
2 banyaknya elemen: 5

3
4

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

0
1
5 baris
2
3
4

index elemen Terdapat 5 x 4 = 20 elemen yang dimodelkan


dari 0 s.d 4 kolom menempati baris dan kolom
array.length-1
Contoh: Array 2 Dimensi

0 1 2 3 index kolom

0
1
2 [2][1] 5 baris

3
4 [4][3]

Terdapat 5 x 4 = 20 elemen yang


index baris 4 kolom dimodelkan menempati baris dan 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 • Menggunakan inisilaisasi nilai k-


dimensi saat deklarasi
new Type [ n1] [n2]…[nk]
{I1, I2, ...., Ik}
• Ukuran dimensi sesuai dengan • Jika bukan merupakan single array,
banyaknya tanda "[ ]" maka masing-masing I1, I2, ...., Ik
juga merupakan array.
• Semua elemen diinisialisasi dengan nilai { {I1},{ I2},{ ....,{Ik} }
default sesuai type-nya.
Contoh: Array 2 Dimensi

• Menggunakan operator new untuk • Dengan menggunakan inisialisasi nilai array k-dimensi:
membuat array 2 dimensi: 2
1
0
int [ ] [ ] harga= {{1, 2, 3}, {4, 5, 6}};
double [ ][ ] angka= new double[2][3];

0 1
• Statemen tersebut akan membuat
array 2 dimensi dengan ukuran 2 x 3. statemen tersebut membuat array 2 dimensi dengan ukuran
Elemen yang dimiliki sebanyak 6, 2 x 3. dan masing-masng elemen diinisialiasi nilainya sebagai
dan masing-masing elemen berikut:
diinisialisasi dengan 0.0.
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:
2 Index dimensi ke-2
0 1
(indek untuk kolom)
int harga[ ] [ ] = {{1, 2, 3}, {4, 5, 6}};

0 1
0 1 2
statemen tersebut membuat array 2
dimensi dengan ukuran 2 x 3. Index dimensi ke-1 0 1 2 3
Dapat dimodelkan dalam bentuk baris dan (index untuk baris)
kolom (misalnya seperti matriks). 1 4 5 6
Perhatikan ilustrasinya.
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 0 1 2
int yang berukuran 3 Index dimensi ke-1 0 1 2 3
[3] (index untuk baris)
1 4 5 6
1
[2] 2 [3]
harga
0 .
4
1 . 3
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");
System.out.println(angka[1][2]);
System.out.println(angka[0][1]);
Sebelum Ditukar
}
8
}
1
Setelah Ditukar
1
8
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;  Jika dijalankan:

double min = 0.0; Nilai minimumnya adalah 2.3


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);
}
}
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)

0 1 2
Index dimensi ke-1 0 1 2 3 1 2 3 4 5 6
(index untuk baris)
1 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.

Anda mungkin juga menyukai