Program java operasi matriks

/**
 * 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;
}
}
           

2 comments:

adhyip said...

terimakasih.. saya mahasiswa TF smester 1 akan mnjadikan ini sbgai pembelajaran saya ya.. sudah di bookmark..
salam kenal :)

Dewi Mulyani said...

sama2.semoga bermanfaat ya.mksh atas kunjungannya :)