/**
* Title : Matriks
* Deskripsi: Menampilkan penjumlahan dan perkalian dua matriks dalam satu file java sebelum mengkompile file ini kompile lah file InputConsole.java terlebih dahulu
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Matriks
{
/** Main method */
public static void main(String[] args) throws IOException
{
System.out.println("\nPROGRAM PENJUMLAHAN dan PERKALIAN MATRIKS");
System.out.println("------------------------------------------\n");
// Membuat dua matriks berdimensi dua (m x n) di mana m = n = 3
System.out.print("Masukkan orde matriks: ");
int ordeMatriks = InputConsole.readInt();
System.out.println();
int[][]matriks1=new int[ordeMatriks][ordeMatriks];
int[][]matriks2=new int[ordeMatriks][ordeMatriks];
// Menginstruksikan user untuk menginputkan tiap-tiap elemen
// Memasukkan entry matriks 1
for (int i=0; i<matriks1.length; i++)
for (int j=0; j<matriks1[i].length; j++)
{
int indeksBaris = i+1;
int indeksKolom = j+1;
System.out.print("Masukkan elemen Matriks A pada baris ke " + indeksBaris + "kolom ke" + indeksKolom + " : ");
matriks1[i][j] = InputConsole.readInt();
}
System.out.println("------------------------------------");
// Memasukkan entry matriks 2
for (int i=0; i<matriks2.length; i++)
for (int j=0; j<matriks2[i].length; j++)
{
int indeksBaris = i+1;
int indeksKolom = j+1;
System.out.print("Masukkan elemen Matriks B pada baris ke " + indeksBaris + "kolom ke" + indeksKolom + " : ");
matriks2[i][j] = InputConsole.readInt();
}
// Menambahkan dua matriks dan mencetak hasilnya di monitor
int[][] matriksHasil = jumlahMatriks(matriks1, matriks2);
System.out.println("\nPenjumlahan Matriks ");
cetakHasil(matriks1, matriks2, matriksHasil, '+');
// Mengalikan dua matriks dan mencetak hasilnya di monitor
matriksHasil = kaliMatriks(matriks1, matriks2);
System.out.println("\nPerkalian Matriks");
cetakHasil(matriks1, matriks2, matriksHasil, 'x');
}
/** Method penjumlahan dua matriks */
public static int[][] jumlahMatriks(int[][] matriks1, int[][] matriks2)
{
int[][]hasil=new
int[matriks1.length][matriks1[0].length];
for (int i=0; i<hasil.length; i++)
for (int j=0; j<hasil[0].length; j++)
hasil[i][j] = matriks1[i][j] + matriks2[i][j];
return hasil;
}
/** Method perkalian dua matriks */
public static int[][] kaliMatriks(int[][] matriks1, int[][] matriks2)
{
int[][]hasil=new
int[matriks1.length][matriks2[0].length];
for (int i=0; i<hasil.length; i++)
for (int j=0; j<hasil[0].length; j++)
for (int k=0; k<matriks1[0].length; k++)
hasil[i][j] += matriks1[i][k]*matriks2[k][j];
return hasil;
}
/** Method untuk mencetak hasil di monitor */
public static void cetakHasil(
int[][] matriks1, int[][] matriks2, int[][] matriks3, char op)
{
for (int i=0; i<matriks1.length; i++)
{
for (int j=0; j<matriks1[0].length; j++)
System.out.print(" " + matriks1[i][j]);
if (i == matriks1.length/2)
System.out.print(" " + op + " ");
else
System.out.print(" ");
for (int j=0; j<matriks2[0].length; j++)
System.out.print(" " + matriks2[i][j]);
if (i == matriks1.length/2)
System.out.print(" = ");
else
System.out.print(" ");
for (int j=0; j<matriks3[0].length; j++)
System.out.print(" " + matriks3[i][j]);
System.out.println();
}
}
}
class InputConsole {
public static int readInt() throws IOException{
int nilai;
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(System.in));
String number = bufferedreader.readLine();
nilai = Integer.parseInt(number);
return nilai;
}
}
Subscribe to:
Post Comments (Atom)
2 comments:
terimakasih.. saya mahasiswa TF smester 1 akan mnjadikan ini sbgai pembelajaran saya ya.. sudah di bookmark..
salam kenal :)
sama2.semoga bermanfaat ya.mksh atas kunjungannya :)
Post a Comment