Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf ·...
Transcript of Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf ·...
![Page 1: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/1.jpg)
Array MultidimensiPemrograman Dasar
Java
![Page 2: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/2.jpg)
Array
0
1
2
3
4
banyaknya elemen: 5
index elemendari 0 s.d
array.length-1
![Page 3: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/3.jpg)
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
![Page 4: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/4.jpg)
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.
![Page 5: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/5.jpg)
Array Multidimensi
• Array multidimensi dapat dikatakan sebagai array of array atau array didalam sebuah array
• Contoh: myArray adalah array 2 dimensi yang digambarkanmempunyai 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 ]
![Page 6: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/6.jpg)
Contoh: Array 2 Dimensi
0
1
2
3
4
5 baris
index elemendari 0 s.d
array.length-14 kolom
Terdapat 5 x 4 = 20 elemen yang dimodelkanmenempati baris dan kolom
![Page 7: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/7.jpg)
Contoh: Array 2 Dimensi
0
1
2
3
4
5 baris
index baris 4 kolom
Terdapat 5 x 4 = 20 elemen yang dimodelkanmenempati baris dan kolom
0 1 2 3 index kolom
[2][1]
[4][3]
![Page 8: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/8.jpg)
Multidimensional Arrays
• Dengan menerapkan apa yang sudah dipelajari tentang single arrayspada 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
![Page 9: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/9.jpg)
Membuat Array k Dimensi
Menggunakan operator new
new Type [ n1] [n2]…[nk]
• Ukuran dimensi sesuai dengan banyaknyatanda "[ ]"
• 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, ...., Ikjuga merupakan array.
{ {I1},{ I2},{ ....,{Ik} }
![Page 10: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/10.jpg)
Contoh: Array 2 Dimensi
• Menggunakan operator new untukmembuat array 2 dimensi:
• Dengan menggunakan inisialisasi nilai array k-dimensi:
statemen tersebut membuat array 2 dimensi dengan ukuran2 x 3. dan masing-masng elemen diinisialiasi nilainya sebagaiberikut:
harga[0][0] =1 harga[0][1]=2 harga[0][2]=3
harga[1][0] =4 harga[1][1]=5 harga[1][2]=6
int [ ] [ ] harga= {{1, 2, 3}, {4, 5, 6}};double [ ][ ] angka= new double[2][3];
10
01 2
• Statemen tersebut akan membuatarray 2 dimensi dengan ukuran 2 x 3. Elemen yang dimiliki sebanyak 6, danmasing-masing elemen diinisialisasidengan 0.0.
![Page 11: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/11.jpg)
Ilustrasi
• Dengan menggunakan inisialisasi nilai array k-dimensi:
statemen tersebut membuat array 2 dimensidengan ukuran 2 x 3.
Dapat dimodelkan dalam bentuk baris dankolom (misalnya seperti matriks). Perhatikanilustrasinya.
int harga[ ] [ ] = {{1, 2, 3}, {4, 5, 6}};
0 1
0 1 2
0 1 2
0 1 2 3
1 4 5 6
Index dimensi ke-2(indek untuk kolom)
Index dimensi ke-1(index untuk baris)
![Page 12: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/12.jpg)
Ilustrasi
0 1 2
0 1 2 3
1 4 5 6
Index dimensi ke-2(indek untuk kolom)
Index dimensi ke-1(index untuk baris)
[2]
0 .
1 .
• Dengan menggunakan inisialisasi nilai array k-dimensi:
int harga[ ] [ ] = {{1, 2, 3}, {4, 5, 6}};
Sebenarnya masing-masing elemen variable harga berisisuatu nilai yang mengacu pada sebuah array of int yang berukuran 3
[3]
1
2
3
[3]
4
5
6
harga
![Page 13: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/13.jpg)
Contoh
• Menukar isi array 2 dimensi. Misalnya menukar isi angka[1][2] denganangka[0][1]
![Page 14: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/14.jpg)
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
![Page 15: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/15.jpg)
Memproses Array MultidimensiDengan 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 didalamperulangan 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;
}
}
![Page 16: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/16.jpg)
Contoh:
• Mencari nilai minimum dari sebuah array dua dimensi.
![Page 17: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/17.jpg)
Jika dijalankan:
Nilai minimumnya adalah 2.3
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);
}
}
![Page 18: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/18.jpg)
Beberapa Hal Tentang Array
• Memori komputer adalah linear, satu dimensi.
• Saat mengakses array multidimensi sebenarnya sama sajadengan mengakses array satu dimensi dari memory.
• pada array 2D, urutan dalam memory dimulai dengan mengisisatu baris dulu dilanjutkan baris berikutnya.
0 1 2
0 1 2 3
1 4 5 6
Index dimensi ke-2(indek untuk kolom)
Index dimensi ke-1(index untuk baris)
1 2 3 4 5 6
![Page 19: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/19.jpg)
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 mendeteksiadanya kesalahan dalam program. Jika terdapat kesalahan makaakan ada error "Array out of bound"
• Tidak ada batasan ukuran dimensi suatu array, tetapi biasanyayang paling sering digunakan adalah dimensi 1 dan 2.
![Page 20: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/20.jpg)
Latihan
• Buatlah program untuk mengetahui lokasi suatu data di dalam sebuaharray 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!
![Page 21: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/21.jpg)
• Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran 2x4. Semua elemen variable isibernilai 1.0• Deklarasikan dan buatlah arraynya dengan menggunakan keyword new• Deklarasikan dan buatlah arraynya tanpa menggunakan keyword new
(deklarasi sekaligus inisialisasi)
double [ ][ ] isi = new double[2][4];
for(int b=0; b<isi.length; b++){
for(int k=0; k<isi[0].length;k++){
isi[b][k]=1.0;
}
}
double [ ][ ] isi =
{{1.0,1.0, 1.0,1.0},
{1.0,1.0, 1.0, 1.0}};
![Page 22: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/22.jpg)
• Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran 2x2x2. Semua elemen variable isibernilai 1.0• Deklarasikan dan buatlah arraynya dengan menggunakan keyword new
• Deklarasikan dan buatlah arraynya tanpa menggunakan keyword new (deklarasi sekaligus inisialisasi)
double [ ][ ][ ] isi = new double[2][2][2];
for(int b=0; b<2; b++){
for(int k=0; k<2;k++){
for(int t=0;t<2.length;t++){
isi[b][k][t]=1.0;
}
}
}
double [ ][ ][ ] isi =
{
{{1,1},{1,1}},
{{1,1},{1,1}}
}
![Page 23: Array Multidimensi - adharul.lecture.ub.ac.idadharul.lecture.ub.ac.id/files/2016/08/Array2.pdf · •Contoh: myArray adalah array 2 dimensi yang digambarkan mempunyai b baris c kolom](https://reader034.fdocument.pub/reader034/viewer/2022052120/5c80255209d3f257328c42fe/html5/thumbnails/23.jpg)
Terima KasihBerikutnya: Contoh persoalan menggunakan array