Koneksi internet anda terputus. Tunggu dan coba lagi , atau Refresh Halaman.

Contoh Program Invers & Determinant




Adjoint
  • Script : 
import java.util.Scanner;
public class Adjoin {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.print("Masukkan jumlah baris matriks: ");
        int baris = input.nextInt();
        System.out.print("Masukkan jumlah kolom matriks: ");
        int kolom = input.nextInt();
        int [][]matrix=new int[baris][kolom];
        System.out.println("Matrix A");
        for(int a=0;a<baris;a++){
            for(int b=0;b<kolom;b++){
                System.out.print("Masukkan element baris "+ (a+1) + " kolom " + (b+1) + " = ");
                matrix[a][b]=input.nextInt();
            }
        }
        float [][]min = new float [baris][kolom];
        // int m11, m12, m13, m21, m22, m23, m31, m32, m33;
        min[0][0] = (matrix[1][1]*matrix[2][2]-matrix[1][2]*matrix[2][1]);
        min[0][1] = -1*(matrix[1][0]*matrix[2][2]-matrix[1][2]*matrix[2][0]);
        min[0][2] = (matrix[1][0]*matrix[2][1]-matrix[1][1]*matrix[2][0]);
        min[1][0] = -1*(matrix[0][1]*matrix[2][2]-matrix[0][2]*matrix[2][1]);
        min[1][1] = (matrix[0][0]*matrix[2][2]-matrix[0][2]*matrix[2][0]);
        min[1][2] = -1*(matrix[0][0]*matrix[2][1]-matrix[0][1]*matrix[2][0]);
        min[2][0] = (matrix[0][1]*matrix[1][2]-matrix[0][2]*matrix[1][1]);
        min[2][1] = -1*(matrix[0][0]*matrix[1][2]-matrix[0][2]*matrix[1][0]);
        min[2][2] = (matrix[0][0]*matrix[1][1]-matrix[0][1]*matrix[1][0]);
        
        float [][]kof = new float [baris][kolom];
        // proses menghitung determinan
        for (int i=0; i<baris; i++) {
            for (int j=0; j<kolom; j++) {
                kof[i][j] = (int) Math.pow((-1), (i+1)+(j+1))*(min[i][j]);
            }
        }
        
        // hitung determinan
        float determinan = 0;
        int bardet = 1;
        
        determinan = (matrix[bardet-1][0])*(kof[bardet-1][0])-(matrix[bardet-1][1])*(kof[bardet-1][1])+(matrix[bardet-1][2])*(kof[bardet-1][2]);
        System.out.println();
        System.out.println("Hasil determinannya adalah : "+determinan);
        
        //Proses Adjoin (Transpose dari Kofaktor)
        float [][]adjoin = new float[baris][kolom];
        adjoin[0][0] = min[0][0];
        adjoin[0][1] = min[1][0];
        adjoin[0][2] = min[2][0];
        adjoin[1][0] = min[0][1];
        adjoin[1][1] = min[1][1];
        adjoin[1][2] = min[2][1];
        adjoin[2][0] = min[0][2];
        adjoin[2][1] = min[1][2];
        adjoin[2][2] = min[2][2];
        
        System.out.println();
        System.out.println("Hasil adjoinnya adalah: ");
        // proses menghitung invers
        for (int i = 0; i < baris; i++) {
            for (int j = 0; j < kolom; j++) {
                System.out.print(adjoin[i][j]/determinan+"\t");
            }
            System.out.println();
        }
    }
}
  • Hasil


Transformasi Elementer

  • Script :
import java.util.Arrays;
import java.util.Scanner;
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Agin
 */
public class Main {
    /**
     * @param C
     * @param args the command line arguments
     */
    public void calculate(int[][] C) {
        
        double[][] M = new double[C.length][2*C.length];
        
        for (int i = 0; i<C.length; i++) {
            for (int j = 0; j<C.length; j++) {
                M[i][j] = C[i][j];
            }
            M[i][3+i]=1;
        }
        
        for (int i = 0; i<M.length; i++) {
            double p = M[i][i];
            for (int j = 0; j<M[i].length; j++) {
                M[i][j]/=p;
            }
            for (int k = i + 1; k<M.length; k++) {
                p = M[k][i];
                for (int j = 0; j<M[i].length; j++) {
                    M[k][j]-=p*M[i][j];
                }
            }
        }
        
        for (int i=M.length-1; i>=0; i--) {
            for (int k=i-1; k>=0; k--) {
                double p=M[k][i];
                for (int j=0; j<M[i].length; j++) {
                    M[k][j] -= p*M[i][j];
                }
            }
        }
        
        // hasil
        for (int i = 0; i < M.length; i++) {
            System.out.println(Arrays.toString(M[i]));
        }
    }
    
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner input=new Scanner(System.in);
        Main invers = new Main();
        
        int [][]matrix=new int[3][3];
        System.out.println("Input elemen matrix");
        for(int a=0;a<3;a++){
            for(int b=0;b<3;b++){
                System.out.print("Masukkan element baris "+ (a+1) + " kolom " + (b+1) + " = ");
                matrix[a][b]=input.nextInt();
            }
        }
        System.out.println();
        
        invers.calculate(matrix);
    }
    
}


  • Hasil

Previous
Next Post »