Kali ini saya akan menuliskan bagaimana cara membuat program sederhana untuk menghitung determinan pada java, ini merupakan lanjutan dari tulisan saya sebelumnya. Yang akan kita hitung pada program kali ini adalah derterminan matriks berordo 3 x 3, menggunakan metode sarrus. untuk menginputnyam kita cukup menggunakan 1 matrik berordo 3 x 3, kemudian elemen dari matriks akan di proses dengan cara sarrus.
berikut ini adalah Scriptnya:
import java.io.*;class determinan{public static void main (String[]args) throws IOException{BufferedReader input = new BufferedReader ( new InputStreamReader (System.in));System.out.println("determinan matriks 3x3");int matrik[][]=new int [3][3];for (int i=0;i<3;i++){for (int j=0;j<3;j++){System.out.println("masukan elemen matriks["+i+"]["+j+"]: ");matrik[i][j]=Integer.parseInt(input.readLine());}}for (int i=0;i<3;i++){System.out.print("| ");for (int j=0;j<3;j++){System.out.print(matrik[i][j]);}System.out.println(" |");}int ab=matrik[0][0]*matrik[1][1]*matrik[2][2];int bb=matrik[0][1]*matrik[1][2]*matrik[2][0];int cb=matrik[0][2]*matrik[1][0]*matrik[2][1];int aa=matrik[2][0]*matrik[1][1]*matrik[0][2];int ba=matrik[2][1]*matrik[1][2]*matrik[0][0];int ca=matrik[2][2]*matrik[1][0]*matrik[0][1];int det=ab+bb+cb-aa-ba-ca;System.out.println("Determinan = "+det);break;case 3:System.out.println("Invers");float mat[][]=new float [2][2];for(int i=0;i<2;i++){for(int j=0;j<2;j++){System.out.print("masukan elemen matriks["+i+"]["+j+"]: ");mat[i][j]=Float.parseFloat(input.readLine());}}for(int i=0;i<2;i++){System.out.print("| ");for(int j=0;j<2;j++){System.out.print(mat[i][j]);}System.out.println(" |");}System.out.println();float d=(mat[0][0]*mat[1][1])-(mat[1][0]*mat[0][1]);System.out.println("determinan="+d);float temp;temp=mat[0][0];mat[0][0]=mat[1][1];mat[1][1]=temp;mat[0][1]=mat[0][1]*-1;mat[1][0]=mat[1][0]*-1;for (int i=0;i<2;i++){System.out.print("| ");for(int j=0;j<2;j++){System.out.print(mat[i][j]/d);}System.out.println(" |");}}
output na kok gak ada ????
ReplyDeletemaksudnya g ad?
ReplyDeletead kok, jalan..
determinan ini masih manual, krn untuk menghitung determinannya masih menggunakan indeks... ini kalao dicoba untuk ordo 10x10 pasti ga bisa... :)
ReplyDelete