Selamat mencoba :)
import javax.swing.*;
public class MatrikKali{
public static void main(String[] args){
byte jum1=0, jum2=0, jum3=0, jum4=0;
do{
JOptionPane.showMessageDialog(null,"PROGRAM PERKALIAN MATRIK\nSelamat mencoba program ini ya...!!","Opening",JOptionPane.PLAIN_MESSAGE);
do{
//Validasi jika ordo... matrik tidak valid
if(jum2!=jum3)
JOptionPane.showMessageDialog(null,"Matrik A("+jum1+"x"+jum2+ ") X Matrik B("+jum3+"x"+jum4+") = Ordo matrik tidak valid!!!","Warning", JOptionPane.WARNING_MESSAGE);
//Proses validasi terhadap tipe data inputan dengan penggunaan Exception
try{
String ordo1=JOptionPane.showInputDialog("MATRIK A\nMasukkan ordo matrik(baris) :");
jum1=Byte.parseByte(ordo1);
String ordo2=JOptionPane.showInputDialog("MATRIK A\nMasukkan ordo matrik(kolom) :");
jum2=Byte.parseByte(ordo2);
String ordo3=JOptionPane.showInputDialog("MATRIK B\nMasukkan ordo matrik(baris) :");
jum3=Byte.parseByte(ordo3);
String ordo4=JOptionPane.showInputDialog("MATRIK B\nMasukkan ordo matrik(kolom) :");
jum4=Byte.parseByte(ordo4);
}catch(Exception e){
JOptionPane.showMessageDialog(null,"Tipe data yang Anda input salah!!!","Error",JOptionPane.ERROR_MESSAGE);
System.exit(0);
}
}while(jum2!=jum3);
int[][] matrik1=new int[jum1][jum2];
int[][] matrik2=new int[jum3][jum4];
HitungMatrik hitung=new HitungMatrik(jum1, jum2, jum3, jum4);
JTextArea output=new JTextArea();
hitung.inputMatrikA(matrik1);
hitung.inputMatrikB(matrik2);
hitung.cetakMatrik(matrik1,matrik2);
hitung.cetakHasilKali(matrik1,matrik2);
output.setText(hitung.Tampil());
JOptionPane.showMessageDialog(null,output,"Hasil Perkalian",JOptionPane.INFORMATION_MESSAGE);
}while(JOptionPane.showConfirmDialog(null,"Ingin diulangi lagi?")==JOptionPane.YES_OPTION);
System.exit(0);
}}
class HitungMatrik{
private int i,j,k;
private String tampil;
private byte jum1,jum2,jum3,jum4;
//Konstruktor dengan parameter ordo matrik
HitungMatrik(byte jum1, byte jum2, byte jum3, byte jum4){
this.jum1=jum1;
this.jum2=jum2;
this.jum3=jum3;
this.jum4=jum4;
}
//Method untuk inputan Matrik A
void inputMatrikA(int [][] matrik1){
//input matrik A
for(i=0;i
for(j=0;j
String input=JOptionPane.showInputDialog("Masukkan elemen matrik A ("+jum1+"x"+jum2+") :");
int A=Integer.parseInt(input);
matrik1[i][j]=A;
}
}
}
//Method untuk inputan Matrik B
void inputMatrikB(int [][] matrik2){
//input matrik B
for(i=0;i
for(j=0;j
String input=JOptionPane.showInputDialog("Masukkan elemen matrik B ("+jum3+"x"+jum4+") :");
int B=Integer.parseInt(input);
matrik2[i][j]=B;
}
}
}
//Method untuk mencetak matrik
void cetakMatrik(int [][] matrik1, int [][] matrik2){
//mencetak matrik A
tampil="\nMatrik A ordo ("+jum1+"x"+jum2+")\n";
for(i=0;i
for(j=0;j
tampil+=" "+matrik1[i][j]+" ";
tampil+="\n";
}
//mencetak matrik B
tampil+="\nMatrik B ordo ("+jum3+"x"+jum4+")\n";
for(i=0;i
for(j=0;j
tampil+=" "+matrik2[i][j]+" ";
tampil+="\n";
}
}
//Method untuk mencetak hasil perkalian Matrik A dan Matrik B
void cetakHasilKali(int [][] matrik1, int [][] matrik2){
//mencetak hasil perkalian matrik
int[][] hasil=new int[matrik1.length][matrik2[0].length];
tampil+="\nHasil matrik A("+jum1+"x"+jum2+") x matrik B("+jum3+"x"+jum4+")\n";
for(i=0;i
for(j=0;j
hasil[i][j]=0;
for(k=0;k
hasil[i][j]+=matrik1[i][k]*matrik2[k][j];
}
}
for(i=0;i
for(j=0;j
tampil+=" "+hasil[i][j]+" ";
tampil+="\n";
}
}
//Method yang mengembalikan nilai variabel "tampil" bertipe data string untuk output
String Tampil(){
String author="\n Galih Mahrandy\n";
return(tampil+=author);
}}
Jangan lupa coment-nya yah :)
0 comments:
Posting Komentar