Jumat, 07 Januari 2011

Coding Java "Matriks"

Coding ini juga berbasis GUI, karena tampilan ini akan sperti jendela pada windows...

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