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:");
{
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)-
{
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