Temen-temen ini adalah pembahasan untuk soal tentamen tentang menampilkan matriks dan melakukan perkalian matriks
Kalau ada yang salah mohon dikoreksi
Kalau ada yang salah mohon dikoreksi
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class operasiMatriks {
// deklarasikan variabel
static int[][] Matrix1 = new int[10][10];
static int[][] Matrix2 = new int[10][10];
static int Matrix1brs=0;
static int Matrix1klm=0;
static int Matrix2brs=0;
static int Matrix2klm=0;
static int[][] HasilPerkalianMatrix = new int[10][10];
static int ukuranbarismatriks1, ukurankolommatriks1, ukuranbarismatriks2, ukurankolommatriks2;
public static void main(String[] args){
System.out.print("masukkan ukuran baris matriks 1: ");
ukuranbarismatriks1 = inputData();
System.out.print("masukkan ukuran kolom matriks 1: ");
ukurankolommatriks1 = inputData();
System.out.print("masukkan ukuran baris matriks 2: ");
ukuranbarismatriks2 = inputData();
System.out.print("masukkan ukuran kolom matriks 2: ");
ukurankolommatriks2 = inputData();
bacaMatrix();
kalikanMatrixMatrix();
tulisHasil();
}
// metoda untuk memasukkan bilangan bulat(integer).
private static int inputData() {
BufferedReader bfr = new BufferedReader (new InputStreamReader (System.in));
String angkaInput = null;
try {angkaInput = bfr.readLine();}
catch (IOException e) {e.printStackTrace();}
int Data = Integer.valueOf(angkaInput).intValue();
return Data;
}
//memasukkan asupan penggunaan ke-
private static void bacaMatrix() {
Matrix1brs= ukuranbarismatriks1;
Matrix1klm= ukurankolommatriks1;
Matrix2brs= ukuranbarismatriks2;
Matrix2klm= ukurankolommatriks2;
if(Matrix1klm!=Matrix2brs){
System.out.print("Tidak bisa melakukan perkalian matriks\n");
System.exit(0);
}
else
System.out.println("Masukkan data matrix 1 : ");
// Matrix1.
for (int i = 0; i < ukuranbarismatriks1; i++){
for (int j = 0; j < ukurankolommatriks1; j++){
System.out.print("Matrix["+(i+1) +"]["+ (j+1) + "] ");
Matrix1[i][j] = inputData();
}
}
//Matrix-2.
System.out.println("Masukkan data matrix 2 : ");
for (int i = 0; i < ukuranbarismatriks2; i++){
for (int j = 0; j < ukurankolommatriks2; j++){
System.out.print("Matrix["+(i+1)+"]["+(j+1)+"] : ");
Matrix2[i][j] = inputData();
}
}
}
//metoda untuk mengalikan matrix dengan matrix.
private static void kalikanMatrixMatrix() {
for (int i=0; i < ukuranbarismatriks1; i++){
for (int j=0; j < ukurankolommatriks2; j++){
int hasil = 0;
for (int k = 0; k < ukuranbarismatriks2; k++) {
hasil += (Matrix1[i][k] * Matrix2[k][j]);
}
HasilPerkalianMatrix[i][j] = hasil;
}
}
}
//metoda untuk menuliskan hasil di jendela console.
private static void tulisHasil(){
System.out.println ("\nMatriks 1 : ");
for(int i = 0; i < ukuranbarismatriks1; i++) {
for (int j = 0; j < ukurankolommatriks1; j++) {
System.out.print(Matrix1[i][j] + " ");
}
System.out.println(""); //ganti baris.
}
System.out.println ("\nMatriks 2 : ");
for(int i = 0; i < ukuranbarismatriks2; i++) {
for (int j = 0; j < ukurankolommatriks2; j++) {
System.out.print(Matrix2[i][j] + " ");
}
System.out.println(""); //ganti baris.
}
System.out.println ("\nMatrik Hasil Perkalian Matrix 1 dengan Matrix 2 : ");
for(int i = 0; i < ukuranbarismatriks1; i++) {
//menuliskan isi matrix.
for (int j = 0; j < ukurankolommatriks2; j++) {
System.out.print(HasilPerkalianMatrix[i][j] + " ");
}
System.out.println(""); //ganti baris.
}
}
}
30 Juni 2010 pukul 16.48
panjang bngt kang...