0

0

0

share


0 Reaksi

0 Komentar

Mengenal Matriks dan Operasinya di Java

Profile
Bayu Niko Dahlan

5 September 2016

Suatu array di Java dapat dibentuk dengan mendefinisikan array dua dimensi. Kemudian kita dapat mengisi setiap elemen secara manual dengan mengakses setiap elemennya. Berikut adalah contohnya:

int matrix[][] = new int[2][2];
matrix[0][0] = 5;
matrix[0][1] = 0;
matrix[1][0] = 2;
matrix[1][1] = 6;

int matrix[][] = new int[3][3];
matrix[0][0] = 5;
matrix[0][1] = 0;
matrix[0][2] = 8;
matrix[1][0] = 2;
matrix[1][1] = 6;
matrix[1][2] = 7;
matrix[2][0] = 2;
matrix[2][1] = 6;
matrix[2][2] = 5;

Di tutorial ini, kita hanya akan membahas operasi dasar matriks seperti penjumlahan, pengurangan, dan perkalian.

Melakukan Akses terhadap Elemen Matriks

Kita dapat memanfaatkan nested loop for untuk mengakses suatu elemen pada koordinat tertentu. Sebagai contoh mari kita lihat source code berikut:
class DemoSimpleMatrix {
    public static void main (String[] args){
        int matrix[][] = new int[2][2];
        matrix[0][0] = 5;
        matrix[0][1] = 0;
        matrix[1][0] = 2;
        matrix[1][1] = 6;
    for (int i = 0; i < matrix.length; i++){
        for (int j = 0; j < matrix[0].length; j++){
            System.out.print(matrix[i][j] + " ");
        }       
        System.out.println();
    }
}

}

Berikut adalah output dari source code tersebut:

$ javac DemoSimpleMatrix.java
$ java DemoSimpleMatrix
5 0 
2 6

Melakukan Penjumlahan Terhadap Dua Matriks

Untuk melakukan penjumlahan matriks, setiap elemen dari kedua matriks kita jumlahkan kemudian hasilnya menjadi elemen baru suatu matriks. Sebagai contoh berikut adalah source code-nya di Java:
class DemoAddMatrix {
    public static void main (String[] args){
        int matrix1[][] = new int[2][2];
        matrix1[0][0] = 5;
        matrix1[0][1] = 0;
        matrix1[1][0] = 2;
        matrix1[1][1] = 6;
    int matrix2[][] = new int[2][2];
    matrix2[0][0] = 1;
    matrix2[0][1] = 0;
    matrix2[1][0] = 4;
    matrix2[1][1] = 2;

    for (int i = 0; i < matrix1.length; i++){
        for (int j = 0; j < matrix1[0].length; j++){
            int elem = matrix1[i][j] + matrix2[i][j]; 
            System.out.print( elem + " ");
        }       
        System.out.println();
    }
}

}

Berikut adalah output dari source code tersebut:

$ javac DemoAddMatrix.java
$ java DemoAddMatrix
6 0 
6 8

Melakukan Pengurangan Terhadap Dua Matriks

Untuk melakukan pengurangan matriks, setiap elemen dari kedua matriks kita kurangkan kemudian hasilnya menjadi elemen baru suatu matriks. Sebagai contoh berikut adalah source code-nya di Java:
class DemoSubstractMatrix {
    public static void main (String[] args){
        int matrix1[][] = new int[2][2];
        matrix1[0][0] = 5;
        matrix1[0][1] = 0;
        matrix1[1][0] = 2;
        matrix1[1][1] = 6;
    int matrix2[][] = new int[2][2];
    matrix2[0][0] = 1;
    matrix2[0][1] = 0;
    matrix2[1][0] = 4;
    matrix2[1][1] = 2;

    for (int i = 0; i < matrix1.length; i++){
        for (int j = 0; j < matrix1[0].length; j++){
            int elem = matrix1[i][j] - matrix2[i][j]; 
            System.out.print( elem + " ");
        }       
        System.out.println();
    }
}

}

Jika source code kita jalankan, maka akan muncul output seperti berikut:

$ javac DemoSubstractMatrix.java
$ java DemoSubstractMatrix 
4 0 
-2 4

Melakukan Perkalian Terhadap Dua Matriks

Tidak seperti penjumlahan atau pengulangan matriks, pada perkalian matriks kita membutuhkan dua nested loop untuk melakukan perkalian matriks. Nested loop yang ketiga digunakan untuk melakukan penjumlahan hasil perkalian baris dan kolom suatu matriks. Sebagai contoh berikut adalah source code untuk melakukan perkalian matriks di Java:
class DemoMultiplyMatrix {
    public static void main (String[] args){
        int matrix1[][] = new int[2][2];
        matrix1[0][0] = 5;
        matrix1[0][1] = 0;
        matrix1[1][0] = 2;
        matrix1[1][1] = 6;
    int matrix2[][] = new int[2][2];
    matrix2[0][0] = 1;
    matrix2[0][1] = 0;
    matrix2[1][0] = 4;
    matrix2[1][1] = 2;

    int matrix3[][] = new int[2][2];

    for (int i = 0; i < matrix1.length; i++){
        for (int j = 0; j < matrix1[0].length; j++){
            int total = 0; 
            for (int k = 0; k < matrix1.length; k++){
                total = total +  (matrix1[i][k] * matrix2[k][j]);
            }
            matrix3[i][j] = total;
        }       
    }

    for (int i = 0; i < matrix3.length; i++){
        for (int j = 0; j < matrix3[0].length; j++){
            System.out.print( matrix3[i][j] + " ");
        }       
        System.out.println();
    }
}

}

Berikut adalah output dari source code diatas:

$ python3 multiply-matrix.py 
5 0 
26 12

(codepolitan/java/oracle)

0

0

0

share