Wednesday, May 1, 2013

MODUL 4



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