Jumat, 13 Desember 2013

Porgram Perkalian Matrik di JAVA

Saya sekarang akan posting sebuah source code di java tentang perkalian 2 matrik. disini saya akan membuat 2 matrik menggunakan array 2 dimensi..berikut adalah coding dan penjelasannya :

import java.util.Scanner;
/**
 * @author Basroni
 */
public class PerkalianMatriks {
    // Library Scanner untuk inputan dari keyboard dan menggunakan static supaya bisa dilihat dari semua isi di dalam kelas
    static Scanner inp = new Scanner(System.in);
    public static int[][] kaliMatriks(int a[][], int b[][]) {
        // untuk membuat matriks baru yaitu hasil dari perkalian matrik
        int hasil[][] = new int[a.length][b[0].length];       
        for (int x=0; x<a.length; x++) {
            for (int y=0; y<b[0].length; y++) {
                for (int z=0; z<b.length; z++) {
                    hasil[x][y] += a[x][z] * b[z][y];
                }
                System.out.print(hasil[x][y]+" ");
            }
            System.out.println("");
        }
        return hasil;   // untuk memanggil kembali nilai dari matrik dr hasil yg sdh diproses
    }   
    // method dibawah ini adalah berfungsi ketika user menginputkan nilai di dalam matriks
    public static void input(int[][] a) {
        for (int x = 0; x < a.length; x++) {   
            for (int y = 0; y < a[0].length; y++) {
                System.out.print("Baris ke-"+(x+1)+", Kolom ke-"+(y+1)+" : "); // untuk menampilkan nilai dari user ke dalam desktop
                a[x][y] = inp.nextInt();    // untuk menggunakan Library Scanner untuk inputan dari user
            }
        }
    }
    // method dibawah ini adalah untuk menampilkan isi di dalam matrik tersebut yang sudah diisi oleh user
    public static void tampil(int[][] a) {
        for (int x = 0; x < a.length; x++) {
            for (int y = 0; y < a[0].length; y++) {
                System.out.print(a[x][y]+" ");
            }
            System.out.println("");
        }
    }
    public static void main(String[] args) {
        PerkalianMatriks tmpil = new PerkalianMatriks();  // Instansiasi Objek atau kelas sendiri yang bernama tmpil
        System.out.print("Masukkan baris Matriks A : ");   
        int bA = inp.nextInt();     // Baris Matrik Pertama
        System.out.print("Masukkan kolom Matriks A : ");   
        int kA = inp.nextInt();     // Kolom Matrik Pertama
        System.out.print("Masukkan baris Matriks B : ");       
        int bB = inp.nextInt();     // Baris Matrik Kedua
        System.out.print("Masukkan kolom Matriks B : ");       
        int kB = inp.nextInt();     // Kolom Matrik Kedua
        int[][] matriksA = new int[bA][kA];     // nilai inputan dr user dimasukkan di dlm array 2 dimenso
        int[][] matriksB = new int[bB][kB];
        // untuk menentukan bila kolom matriks pertama harus sama panjangnya dgn baris matriks kedua
        if (matriksA[0].length != matriksB.length) {
            System.out.println("\nErorr..!!");
            System.out.println("Karena Kolom Matriks Pertama Harus Sama Panjangnya dengan Baris Matriks Kedua");
        } else {
            System.out.println("\nInput Matriks A");
            input(matriksA);    // memanggil method input untuk menginputkan nilai di dlm matrik
            System.out.println("\nInput Matriks B");
            input(matriksB);
            System.out.println("\nMatriks A");
            tampil(matriksA);
            System.out.println("\nMatriks B");
            tampil(matriksB);        // Memanggil method tampil
            System.out.println("\nPerkalian Matriks A dan Matriks B");               
            kaliMatriks(matriksA, matriksB);    // memanggil method kaliMatriks
        }       
    }
}


Sekian,,!!
Selamat mencoba.. :-)

Tidak ada komentar:

Posting Komentar