Modul 4
Praktikum Teknik Komputasi
1. Membuat class di java operasi matriks method yang ada :
-penjumlahan
-pengurangan
-perkalian
-hitung determinan
-transpose matrik
uses crt;
type t = object
m1, m2 : array [1..2,1..2] of integer;
lok : array [1..4] of integer;
procedure input;
procedure tampil;
procedure tambah;
procedure kali;
procedure determinan;
procedure transpose;
end;
var m : t;
i,j,k,pil,det1,det2 : integer;
procedure t.input;
begin
clrscr;
writeln (' Input Matrik I');
for i:= 1 to 2 do
begin
for j:= 1 to 2 do
begin
write ('Elemen Matrik [',i,',',j,']:');
readln (m1[i,j]);
end;
end;
gotoxy (35,1); writeln(' Input Matrik II');
k:=2;
for i:= 1 to 2 do
begin
for j:= 1 to 2 do
begin
gotoxy (35,k);
inc (k);
write ('Elemen Matrik [',i,',',j,']: ');
readln (m2[i,j]);
end;
end;
end;
procedure t.tampil;
begin
writeln;
gotoxy (5,7);writeln('* Matrik I *');
gotoxy (5,8);writeln (m1[1,1]:5,m1[1,2]:5);
gotoxy (5,9);writeln (m1[2,1]:5,m1[2,2]:5);
gotoxy (40,7);writeln('* Matrik II *');
gotoxy (40,8);writeln (m2[1,1]:5,m2[1,2]:5);
gotoxy (40,9);writeln (m2[2,1]:5,m2[2,2]:5);
readln;
end;
procedure t.tambah;
begin
gotoxy (25,11);writeln ('Hasil Penjumlahan Matrik');
lok[1] := m1[1,1]+m2[1,1];
lok[2] := m1[1,2]+m2[1,2];
lok[3] := m1[2,1]+m2[2,1];
lok[4] := m1[2,2]+m2[2,2];
gotoxy (30,12);writeln (lok[1]:5,lok[2]:5);
gotoxy (30,13);writeln(lok[3]:5,lok[4]:5);
readln;
end;
procedure t.kali;
begin
gotoxy (4,12);writeln('Hasil Matrik I * Matrik II ');
lok [1] := m1[1,1]*m2[1,1]+m1[1,2]*m2[2,1];
lok [2] := m1[1,1]*m2[1,2]+m1[1,2]*m2[2,2];
lok [3] := m1[2,1]*m2[1,1]+m1[2,2]*m2[2,1];
lok [4] := m1[2,1]*m2[1,2]+m1[2,2]*m2[2,2];
gotoxy (9,13);writeln(lok[1]:5,lok[2]:5);
gotoxy (9,14);writeln(lok[3]:5,lok[4]:5);
gotoxy (40,12);writeln ('Hasil Matrik II * Matrik I');
lok [1] := m2[1,1]*m1[1,1]+m2[1,2]*m1[2,1];
lok [2] := m2[1,1]*m1[1,2]+m2[1,2]*m1[2,2];
lok [3] := m2[2,1]*m1[1,1]+m2[2,2]*m1[2,1];
lok [4] := m2[2,1]*m1[1,2]+m2[2,2]*m1[2,2];
gotoxy (46,13);writeln (lok[1]:5,lok[2]:5);
gotoxy (46,14);writeln(lok[3]:5,lok[4]:5);
readln;
end;
procedure t.determinan;
begin
det1 := m1[1,1] * m1[2,2]-m1[2,1] * m1[1,2];
det2 := m2[1,1]*m2[2,2]-m2[2,1]*m2[1,2];
gotoxy (25,12);writeln('Determinan Matrik I = ',det1);
gotoxy (25,14);writeln('Determinan Matrik II = ',det2);
readln;
end;
procedure t.transpose;
begin
writeln;
gotoxy (7,12);writeln('Hasil Transpose Matrik I');
gotoxy (11,13);writeln (-m1[1,1]:5,m1[2,1]:5);
gotoxy (11,14);writeln (m1[1,2]:5,-m1[2,2]:5);
gotoxy (42,12);writeln('Hasil Transpose Matrik II');
gotoxy (46,13);writeln (-m2[1,1]:5,m2[2,1]:5);
gotoxy (46,14);writeln (m2[1,2]:5,-m2[2,2]:5);
readln;
end;
begin
repeat
clrscr;
gotoxy (25,1);writeln('***** Menu Matrik *****');
gotoxy (25,2);writeln('1. Input Matrik');
gotoxy (25,3);writeln('2. Penjumlahan Matrik');
gotoxy (25,4);writeln('3. Perkalian Matrik');
gotoxy (25,5);writeln('4. Determinan Matrik');
gotoxy (25,6);writeln('5. Transpose Matrik');
gotoxy (25,7);writeln('6. Keluar');
gotoxy (25,8);writeln('************************');
gotoxy (27,9);write('Pilihan [1..6] :');readln (pil);
case pil of
1 : begin
m.input;
m.tampil;
end;
2 : m.tambah;
3 : m.kali;
4 : m.determinan;
5 : m.transpose;
end;
until (pil) = 6;
end.
-Invers matrik
Jawab :
import java.io.*;
import javax.swing.*;
class invers2
{
public static void
main(String[]args) throws Exception
{
BufferedReader input=new
BufferedReader(new InputStreamReader (System.in));
System.out.println("<<<<<>>>>>>>");
System.out.println("Input Elemen-Elemen Matriks.");
int matrik[][]=new
int[3][3];
for (int
i=0;i<3;i++)
{
for (int
j=0;j<3;j++)
{
System.out.print("Input Elemen
Matriks ke ["+(i+1)+","+(j+1)+"]: ");
matrik[i][j]=Integer.parseInt(input.readLine());
}
}
System.out.println();
System.out.println("Matriks 3x3 : ");
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("|");
}
//adjoin matriks
int temp[][]=new
int[3][3];
temp[0][0]=matrik[1][1]*
matrik[2][2]-matrik[2][1]*matrik [1][2];
temp[0][1]=matrik[1][0]*
matrik[2][2]-matrik[2][0]*matrik [1][2];
temp[0][2]=matrik[1][0]*
matrik[2][1]-matrik[1][1]*matrik [2][0];
temp[1][0]=matrik[0][1]*
matrik[2][2]-matrik[0][2]*matrik [2][1];
temp[1][1]=matrik[0][0]*
matrik[2][2]-matrik[0][2]*matrik [2][0];
temp[1][2]=matrik[0][0]*
matrik[2][1]-matrik[0][1]*matrik [2][0];
temp[2][0]=matrik[1][1]*
matrik[2][2]-matrik[1][2]*matrik [2][1];
temp[2][1]=matrik[0][0]*
matrik[1][2]-matrik[0][2]*matrik [1][0];
temp[2][2]=matrik[0][0]*
matrik[1][1]-matrik[0][1]*matrik [1][0];
System.out.println
();
System.out.println
("Adjoin Matriks : ");
for (int
i=0;i<3;i++)
{
System.out.print("|
");
for (int
j=0;j<3;j++)
{
System.out.print(temp[i][j]+" ");
}
System.out.println("|");
}
System.out.println();
int
dtr=((matrik[0][0]*matrik[1][1]*matrik[2][2] + (matrik[0][1]*matrik[1][2] *
matrik[2][0])+
(matrik[0][2]*matrik[1][0]*matrik[2][1]))-(matrik[0][1]*matrik[1][0]*matrik[2][2]
+
(matrik[0][0] *
matrik[1][2] * matrik[2][1])+(matrik[0][2]*matrik[1][1]*matrik[2][0])));
System.out.println("Determinan Matriks= "+dtr);
System.out.println();
if (dtr!=0)
{
temp[0][0]=temp[0][0]/dtr;
temp[0][1]=temp[0][1]/dtr;
temp[0][2]=temp[0][2]/dtr;
temp[1][0]=temp[1][0]/dtr;
temp[1][1]=temp[1][1]/dtr;
temp[1][2]=temp[1][2]/dtr;
temp[2][0]=temp[2][0]/dtr;
temp[2][1]=temp[2][1]/dtr;
temp[2][2]=temp[2][2]/dtr;
System.out.println
();
System.out.println
("Invers Matriks : ");
for (int
i=0;i<3;i++)
{
System.out.print("| ");
for (int
j=0;j<3;j++)
{
System.out.print(temp[i][j]+" ");
}
System.out.println("|");
}
}
else {
System.out.println("Tidak ada hasil inversnya, karena matriks
Singular");
}
}
}
-set matrik nol
Jawab :
package tugas;
/**
*
* @author hendrik
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Matriks {
static int[][] Matriks1=new int[10][10];
static int[][] Matriks2=new int[10][10];
static int[][]
MatriksHasil=new int[10][10];
static int ukuran;
public static void main(String[] args){
System.out.print("Masukkan ukuran Matriks:\n ");
ukuran=inputData();
bacaMatriks();
tambahkanMatriks();
tulisHasil();
}
private static void tulisHasil(){
System.out.println("\n\nMatriks Hasil Perkalian: ");
for (int i=0; i<ukuran; i++){
for (int j=0; j<ukuran; j++){
System.out.print(MatriksHasil[i][j] + " ");
}
System.out.println("");
}
}
private static void
tambahkanMatriks(){
for (int i=0; i<ukuran; i++){
for (int j=0; j<ukuran; j++){
MatriksHasil[i][j]=Matriks1[i][j]+Matriks2[i][j];
}
}
}
private static void bacaMatriks(){
System.out.println("\nMasukkan Data Matriks 1 : ");
for (int i=0; i<ukuran; i++){
for (int j=0; j<ukuran; j++){
System.out.print("Matriks
["+(i+1)+"]["+(j+1)+"]:");
Matriks1[1][j]=inputData();
}
}
System.out.println("\n\nMasukkan Data Matriks 2: ");
for(int i=0;
i<ukuran; i++){
for(int j=0; j<ukuran; j++){
System.out.println("Matriks["+(i+1)+"]["+(j+1)+"]
:");
Matriks2 [i][j]=inputData();
}
}
}
private static int inputData()
{BufferedReader bfr=new BufferedReader(new
InputStreamReader(System.in));
String angkaInput=null;
try{
angkaInput=bfr.readLine();
}catch (IOException e){
}
int Data=Integer.valueOf(angkaInput).intValue();
return Data;
}
}
-set matrik satu set matrik identitas
Jawab :
import java.io.*;
class invers {
public static void main (String [] args) throws Exception {
BufferedReader input = new BufferedReader ( new
InputStreamReader(System.in));
int temp;
int [][]matriks=new int [2][2];
System.out.println(“==============\nMencari invers
Matriks\n==============\n”);
System.out.println(“Matriksnya\n”);
for (int i=0;i<2;i++)
{
for (int j=0;j<2;j++)
{
System.out.print("Elemen matriks
ke-"+(i+1)+","+(j+1)+"= ");
matriks[i][j]=Integer.parseInt(input.readLine());
}
}
System.out.println("\nMatriksnya");
for (int i=0;i<2;i++)
{
System.out.print("|");
for (int j=0;j<2;j++)
{
System.out.print(matriks[i][j]+" ");
}
System.out.print("|\n");
}
float dtr=matriks[0][0]*matriks[1][1]-matriks[0][1]*matriks[1][0];
System.out.println("Determinan Matriksnya adalah "+dtr);
temp=matriks[0][0];
matriks[0][0]=matriks[1][1];
matriks[1][1]=temp;
matriks[0][1]=matriks[0][1]*-1;
matriks[1][0]=matriks[1][0]*-1;
System.out.println("\nInvers Matriksnya");
for (int i=0;i<2;i++)
{
System.out.print("|");
for (int j=0;j<2;j++)
{
System.out.print(matriks[i][j]/dtr+" ");
}
System.out.print("|\n");
}
}
}
-print matrik
Jawab :
public class DuaDimensi {
int[][] a;
double[][] oo;
public void deret(double[][]
nn) {
System.out.println("Matrik B
: ");
oo = nn;
for (int i = 0; i <
oo.length; i++) {
for (int j = 0; j <
oo.length; j++) {
System.out.print(nn[i][j] + "
");
}
System.out.println("");
}
}
public void deret(int[][] b) {
System.out.println("Matrik
A : ");
a = b;
for (int i = 0; i <
a.length; i++) {
for (int j = 0; j <
a.length; j++) {
System.out.print(b[i][j] + "
");
}
System.out.println("");
}
System.out.println("");
}
public void deret() {
int[][] Hasil = new
int[4][4];
System.out.println("\nHasil perkalian Matriks 1 x Matriks 2 =
");
for (int i = 0; i <
Hasil.length; i++) {
for (int j = 0; j <
Hasil.length; j++) {
for (int l = 0; l
< 3; l++) {
Hasil[i][j] +=
(oo[i][l] * a[l][j]);
}
System.out.print(Hasil[i][j] + "\t");
}
System.out.println();
}
}
public static void
main(String[] args) {
int[][] e = {{9, 0, 3, 1},
{8, 1, 7, 0}, {2, 4, 4, 1}, {6, 3, 1, 5}};
double[][] x = {{3, 6, 0,
1}, {4, 2, 2, 3}, {5, 3, 7, 1}, {1, 3, 0, 5}};
DuaDimensi u = new
DuaDimensi();
u.deret(e);
u.deret(x);
u.deret();
}
}
2. membuat implementasi class dari soal no. 1
Jawab :
import javax.swing.JOptionPane;
/**
*
* @author Azhar
*/
public class JOptionPaneCalculator {
public static void
main(String[] args) {
String input1;
String input2;
int nilai1;
int nilai2;
int tambah;
input1 =
JOptionPane.showInputDialog("Masukkan nilai pertama:");
input2 = JOptionPane.showInputDialog("Masukkan
nilai kedua:");
nilai1 =
Integer.parseInt(input1);
nilai2 =
Integer.parseInt(input2);
tambah = nilai1 + nilai2;
JOptionPane.showMessageDialog(null, "Hasil dari
"+nilai1+" + "+ nilai2+" adalah " +tambah);
}
}
JOptionPane.java (menggunakan method penjumlahan)
No comments:
Post a Comment