Menentukan Matriks Invers
import java.io.*;
class invers
{
public static void main (String [] args) throws Exception
{
BufferedReader input = new BufferedReader(new InputStreamReader (System.in));
float temp;
float tump;
System.out.println("ordo matriks = 2*2");
float [][] matrika =new float [2][2];
System.out.println("masukkan elemen matriksnya:");
for (int i=0;i<2;i++)
{
for (int j=0;j<2;j++)
{
System.out.print("elemen ["+(i+1)+","+(j+1)+"]-");
matrika[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(matrika[i][j]+ " ");
}
System.out.println("|");
}
float dtr = (matrika[0][0]*matrika[1][1])-(matrika[1][0]*matrika[0][1]);
System.out.println("determinannya="+dtr);
temp=matrika[0][0];
tump=matrika[0][1]
matrika[0][0]=matrika[1][1];
matrika[1][1]=temp;
matrika[0][1]=matrika[1][0]*-1;
matrika[1][0]=tump*-1;
System.out.println("matrik inversnya: ");
for (int i=0;i<2;i++)
{
System.out.print("|");
for (int j=0;j<2;j++)
{
System.out.print(matrika[i][j]/dtr+ " ");
}
System.out.println("|");
}
}
}
LOGIKA PROGRAM
class invers |
Pada Statemen ini kita akan melakukan proses import ke dalam program inputan bufferreader,
Dengan mendeklarasikan sebuah class bernama invers.
BufferedReader input = new BufferedReader(new InputStreamReader (System.in));
float temp;
float tump;
System.out.println("ordo matriks = 2*2");
float [][] matrika =new float [2][2];
System.out.println("masukkan elemen matriksnya:");
Kemudian pendklarasian sebuah variable input yang menyatakan sebuah program inputan baru dalam bufferreader. Lalu mencetak ordo matriks =2*2. Kemudian pendeklarasian array baru dalam ukuran 2 dimensi bernama matrika dan bertipe data float. Kemudian mencetak masukkan elemen matriksnya.{
for (int j=0;j<2;j++) { System.out.print("elemen ["+(i+1)+","+(j+1)+"]-"); matrika[i][j]=Float.parseFloat(input.readLine()); } }
Pada statemen ini dapat dikatakan bahwa ini menggunakan metoda looping dimana
Untuk nilai integer i=0 dan i kurang dari 2 maka i akan mengalami proses pengulangan bertahap tahap
Untuk nilai integer j=0 dan j kurang dari 2 maka j akan mengalami proses pengulangan bertahap tahap
Dan akan mencetak “elemen (nilai integer i akan ditambah 1 begitu juga dengan j)-
for (int i=0;i<2;i++)
{
System.out.print("|");
for (int j=0;j<2;j++)
{
System.out.print(matrika[i][j]+ " ");
}
System.out.println("|");
}
Kemudian pada statement ini program akan mencetak elemen elemen matriks baris ke i dan kolom ke j yang telah di input sebelumnnya dalam bentuk matriks sesungguhnya. dimana i akan di looping hingga nilai nya > dari 2. Dan di dalam looping i terdapat looping dan berakhir dengan nilai j>2.
float dtr = (matrika[0][0]*matrika[1][1])-(matrika[1][0]*matrika[0][1]); |
pada statement ini program akan menghitung determinan dari matriks yang kita telah buat.
System.out.println("determinannya="+dtr); temp=matrika[0][0]; tump=matrika[0][1] matrika[0][0]=matrika[1][1]; matrika[1][1]=temp; matrika[0][1]=matrika[1][0]*-1; matrika[1][0]=tump*-1; System.out.println("matrik inversnya: "); for (int i=0;i<2;i++) { System.out.print("|"); for (int j=0;j<2;j++) { System.out.print(matrika[i][j]/dtr+ " "); } System.out.println("|"); } } } |
Lalu pada bagian akhir ini program akan menukar letak matriks matriks agar bisa menjadi invers. Yaitu nilai matriks baris ke 0 dan kolom ke 0 ditukar denga baris ke 1 dan nilai matriks kolom ke 1 dan baris ke 1 dan kolom ke 1 ditukar dengan baris ke 0 serta kolom ke 0. Lalu nilai matriks baris ke 0 dan kolom ke 1 ditukar dengan baris ke 1 dan kolom ke 0 lalu dikali minus 1 dan begitu pula dengan nilai matriks baris ke 1 dan kolom ke 0 ditukar dengan baris ke 0 dan kolom ke 1 dan dikali minus 1. Lalu setelah itu setiap elemen matriks yang telah ditukar dibagi dengan nilai determinan yang telah kita cari.
Lalu program selesai dan mencetak outputnya.
Catatan :
temp=matrika[0][0];
tump=matrika[0][1]
temp dan tumb digunakan untuk menyimpan sebuah variable lalu akan dipanggil lagi (hanya sebagai variable pengganti untuk memudahkan user) .
OUTPUT