0 likes | 5 Views
Explore the concepts of 2D arrays in Java programming, including declaration, initialization, accessing elements, and operations like matrix manipulation. Learn how to work with multi-dimensional arrays through examples and explanations.
E N D
ARRAY 2 Dimensi • Jika array satu dimensi hanya terdiri dari sebuah baris, maka array dua beberapa baris elemen yang bertipe sama. dimensi terdiri dari
ARRAY 2 Dimensi • Pada Array 1 Dimensi : 11 32 17 25 12 66 1 • Terdiri dari 1 baris, berisi beberapa data, semuanya memiliki tipe data yang sama
ARRAY 2 Dimensi • Pada Array 2 Dimensi : 12 17 22 14 10 5 13 5 • Terdiri lebih dari 1 baris, berisi beberapa data yang semuanya memiliki tipe data yang sama
ARRAY 2 Dimensi • Terdiri dari baris dan kolom 1 0 2 3 Kolom, 4 12 17 22 14 0 Dimensi Array dinyatakan dalam Baris x Kolom 10 5 13 5 1 Array 2 x 4 Baris, 2
Deklarasi Array 2 Dimensi Tipe-data [jumlah baris][jumlah kolom] nama- array tipe-data : tipe data dari elemen array nama-array : nama dari variabel array jumlah baris : jumlah baris elemen array jumlah kolom : jumlah kolom elemen array
Deklarasi Array 2 Dimensi • Contoh : int [2][3] arrayku; int[][] arrayku; int[][] arrayku = new int[2][3] Mendeklarasikan array berukuran 2x3, bertipe integer 0 1 2 0 1
Deklarasi Array 2 Dimensi • Contoh : char peserta[10][50]; Mendeklarasikan array berukuran 10x50 bertipe char
Deklarasi Array 2 Dimensi • Contoh : int data[1][4]; bagaimanakah array yang terbentuk ? 2 1 0 3 0 Sama saja dengan int data[4];
Inisialisasi Array 2 Dimensi • Inisialisasi bisa dilakukan saat variabel dideklarasikan • Untuk Array 1 Dimensi, pemberian nilai dengan tanda ‘{ }’ • Dengan Array 2 Dimensi sama saja, hanya ada tambahan tanda ‘{ }’ untuk masing-masing barisnya
Inisialisasi Array 2 Dimensi • Array 1 Dimensi : 30 40 50 int data[3] = {30, 40, 50}; int[ ] data = {30,40,50}; • Array 2 Dimensi : int data[2][3] = { {10,20,30}, {40,50,60} }; 10 20 30 40 50 60
Inisialisasi Array 2 Dimensi • int data[2][3] = { {10,20,30}, {40,50,60} }; Baris ke 0 Baris ke 1 2 1 0 10 20 30 0 40 50 60 1
Inisialisasi Array 2 Dimensi • Jumlah baris dan kolom bisa tidak dicantumkan asalkan array langsung diinisialisasikan int data[][] = { {10,20,30}, {40,50,60} }; Array berukuran 2x3, bertipe integer
Inisialisasi Array 2 Dimensi berikut ? • Int [ ] [ ] data = {{30,40,50,30,40,50}}; • Int [ ] [ ] data = new [1][6] • data ={{30,40,50,30,40,50}} • Bagaimana deklarasi dan inisialisasi array-array 30 40 50 30 40 50 2. 10 20 3. Z X c V B N A S D F G H 40 50 q W e R t Y 10 20
Inisialisasi Array 2 Dimensi • Bisa saja tidak seluruh elemen diinisialisasi • Contoh : int data[2][3] = { {3,2,3}, {3,4} } Kurang 1 elemen
Inisialisasi Array 2 Dimensi • Jika ada beberapa elemen yang tidak diinisialisasi, maka isinya akan menjadi NULL atau karakter 0. int [ ] [ ] data = { {3,2,3}, {3,4} } • Int [ ] [ ] data = new [2][3] 3 2 3 NuL L 3 4
Inisialisasi Array 2 Dimensi • Benar atau salah inisialisasi berikut : • int data[2][3] = { {10, 20, 30}}; • int data[2][3] = { {10, 20, 30}, { } }; • int data[2][3] = { {10, 20. 30}, {10} }; • float data[2][3]={{10.20,30},{10,20}};
Inisialisasi Array 2 Dimensi • Khusus untuk array 2 dimensi bertipe char, inisialisasi dapat dilakukan dengan cara-cara berikut : char nama[2][6] = {{‘m’, ’a’, ’r’, ’k’}, {‘k’, ’e’, ’v’, ’I’, ’n’}}; char nama[2][6] = {“mark”, “kevin”};
Pengaksesan Array 2 Dimensi • Elemen dalam array 2 dimensi diakses dengan penanda baris dan kolom 0 1 2 • Contoh : 10 20 30 0 40 50 60 1 diakses dengan : data[0][1];
Pengaksesan Array 2 Dimensi • Urutan pengaksesan tidak harus baris-per-baris, tapi bisa kolom-per-kolom sesuai kebutuhan • Baris-per-baris : Kolom-per-kolom 10 20 30 10 20 30 40 50 60 40 50 60
Pengaksesan Array 2 Dimensi package array2dimensi; public class Main { public static void main(String[] args) { int[][] data ={{6,3,4},{1,7,8}}; for(int b=0;b<3;b++){ for(int k=0; k<3;k++){ System.out.print(data[b][k]+ " "); } System.out.println(); } } } OUTPUT : 6 3 4 1 7 8
Operasi Pada Array 2 Dimensi • Array 2 dimensi sering disebut matriks • Karena itu, operasi pada array 2 dimensi pada umumnya adalah operasi matriks, seperti menjumlahkan, mengurangkan, dan mengkalikan dua matriks, inverse matriks, transpose matriks dan sebagainya
Operasi Pada Array 2 Dimensi • Untuk menyalin isi matriks ke matriks lainnya harus menyalin setiap elemen (baris dan kolom) int data[2][3] = {{1,2,3}, {2,2,2}}; int salinan[2][3]; salinan = data; Proses ini salah !!
Operasi Pada Array 2 Dimensi … int data[2][3] = {{1,2,3}, {2,2,2}}; int salinan[2][3]; for(int b=0; b<2; b++) { for(int k=0; k<3; k++) { salinan[b][k] = data[b][k]; Proses ini benar !! } } …
Contoh input dan cetak package inputarray2d; import java.util.Scanner; public class Main { public static void main(String[] args) { int[][] matrik = new int[3][3]; int i,j; Scanner input = new Scanner(System.in); // input array 2 dimensi for(i=0;i<3;i++){ for(j=0;j<3;j++){ System.out.println("Masukkan Bilangan "+"["+i+"]"+"["+j+"] = "); matrik[i][j] = input.nextInt(); } } // cetak array 2 dimensi for(i=0;i<3;i++){ for(j=0;j<3;j++){ System.out.print(matrik[i][j]+" "); } System.out.println(); } } }
Operasi Matriks : Transpose • Operasi ini membalik posisi elemen-elemen dalam matriks, baris menjadi kolom dan sebaliknya, kolom menjadi baris 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9
Operasi Matriks : Transpose package tranposematrik; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Masukan ordo : "); int ordo = input.nextInt(); int[][] matrix = new int[ordo][ordo]; int[][] transpose = new int[ordo][ordo]; // input matrix for (int i = 0; i < ordo; i++) for (int j = 0; j < ordo; j++) { System.out.print("Baris " + (i + 1) + " Kolom " + (j + 1) + " : "); matrix[i][j] = input.nextInt(); } // print matrix asli System.out.println("Matriks: "); for (int i = 0; i < ordo; i++) { for (int j = 0; j < ordo; j++) System.out.print(matrix[i][j] + "\t"); System.out.println(); }
Operasi Matriks : Tambah • Untuk dapat menjumlahkan atau mengurangkan dua matriks, syaratnya adalah : • Dimensi kedua array sama (ukuran baris dan kolomnya sama) 1 2 3 1 4 7 2 6 10 4 5 6 2 5 8 6 10 14 + = 7 8 9 3 6 9 10 14 18
Operasi Matriks : Tambah package tambahmatriks; import java.util.Scanner; public class Main { public static void main(String[] args) { int i, j, m, n; int matriks1[][] = new int[10][10]; int matriks2[][] = new int[10][10]; int hasil[][] = new int[10][10]; Scanner scan = new Scanner(System.in); System.out.print("Masukkan jumlah baris matriks: "); m = scan.nextInt(); System.out.print("Masukkan jumlah kolom matriks: "); n = scan.nextInt(); System.out.println("Masukkan elemen matriks pertama: "); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { matriks1[i][j] = scan.nextInt(); } } System.out.println("Masukkan elemen matriks kedua: "); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { matriks2[i][j] = scan.nextInt(); } } System.out.println("Hasil penjumlahan matriks: "); for (i = 0; i < m; i++) {