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