Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 6

Perkalian Matriks:

public class kaliMatriks


{
  public static void main(String args[])
  {
    int[][] A={{1,2,3},{4,5,6},{7,8,9}};
    int[][] B={{9,8,7},{6,5,4},{3,2,1}};
    int[][] C=new int[A.length][A[0].length];
    //mencetak matriks A dan matriks B
    System.out.println("Matriks A x Matrix B =");
    for (int baris=0;baris<A.length;baris++)
    {
        for (int kolom=0;kolom<A[0].length;kolom++)
        {
            System.out.print(A[baris][kolom]+" ");
        }
        System.out.print("  ");
        if (baris==1)
           System.out.print("x");
        else
           System.out.print(" ");
        System.out.print("   ");
        for (int kolom=0;kolom<B[0].length;kolom++)
        {
            System.out.print(B[baris][kolom]+" ");
        }
        System.out.println();
    }
    // perkalian matrix
    System.out.println("\nHasil =");
    for (int baris=0;baris<A.length;baris++)
    {
        for (int kolom=0;kolom<A[0].length;kolom++)
        {
            C[baris][kolom]=0;
            for (int k=0;k<B.length;k++)
            {
                C[baris][kolom]+=A[baris][k]*B[k][kolom];
            }
            System.out.print(C[baris][kolom]+" ");
        }
        System.out.println();
    }
  }
}
Piramida bilangan:

//program untuk membuat matriks segitiga dengan


// elemen yang merupakan perkalian elemen i dan j-nya
public class MatriksSegitiga {
public static void main (String [] args) {
int matrix [] [] = new int [5][];
for (int i=0;i<5;i++)
{
matrix[i]=new int [i+1];
for (int j=0;j { matrix [i] [j] = i*j;
System.out.print (matrix[i][j]+ " ");
}
System.out.println();
}
}
}

Hasilnya:
Segitiga PASCAL:

import java.io.*;

class PascalTriangle {
  public static int incDigit(int d) {
    d++;
    if(d==10)
      return 0;
    return d;
  }

  public static int decDigit(int d) {


    d--;
    if(d==-1)
      return 9;
    return d;
  }

  public static void main(String args[]) {


    BufferedReader in=new BufferedReader(new
InputStreamReader(System.in));
    int height=0;;
    System.out.print("Masukkan tinggi segitiga pascal : ");
    try {
      height=Integer.parseInt(in.readLine());
    } catch(IOException e) {
      System.out.println(e);
    }
    String s="";
    int digit;
    for(int i=1;i<=height;i++) {
      for (int j=0;j<height;j++) {
        s+=" ";
      }
      digit=i%10;
      for(int k=0;k<i-1;k++) {
        s+=digit;
        digit=incDigit(digit);
      }
      s+=digit;
      for(int k=0;k<i-1;k++) {
        digit=decDigit(digit);
        s+=digit;
      }
      s+="\n";
    }
    System.out.println(s);
  }
}
Perkalian Matriks:

public class Matrix {


   private Integer[][] matrix;
  
   /**
    * Mengisi matriks ukuran : row x col dengan bilangan integer fill
    * @param int row
    * @param int col
    * @param int fill
    */
   private void fillWith(int row, int col, int fill){
      for(int i=0; i<=row-1;i++){
         for(int j=0; j<=col-1;j++){
            this.matrix[i][j]=fill;
         }
      }
   }

   /**
    * (KONSTRUKTOR 1) Membuat suatu matriks dengan ukuran: row x col
    * @param int row
    * @param int col
    */
   public Matrix(int row, int col){
      this.matrix = new Integer[row][col];
   }
  
   /**
    * (KONSTRUKTOR 2) Membuat suatu matriks dengan mendefiniskannya secara
langsung,
    * baik ukuran maupun nilainya.
    * @param Integer[][] initMatrix
    */
   public Matrix(Integer[][] initMatrix){
      this.matrix = initMatrix;
   }
  
   /**
    * Mendapatkan jumlah elemen baris matrix
    * @return int
    */
   public int getNumberOfRow(){
      return matrix.length;
   }
  
   /**
    * Mendapatkan jumlah elemen kolom matrix
    * @return int
    */
   public int getNumberOfCol(){
      return matrix[0].length;
   }
  
   /**
    * Menampilkan isi dari matriks
    */
   public void showMatrix(){
      for(int i=0;i<=matrix.length-1;i++){
         for(int j=0;j<=matrix[i].length-1;j++){
            if(this.matrix[i][j] != null){
               System.out.print(matrix[i][j] + " ");
            }
         }
         System.out.println();
      }
   }
  
   /**
    * Melakukan operasi CROSS dengan matriks lainnya.
    * @param Matrix matrix
    * @return Matrix
    */
   public Matrix crossWithMatrix(Matrix matrix){
      
      int rowA = this.matrix.length;
      int colA = this.matrix[0].length;
      int colB = matrix.matrix[0].length;
      
      Matrix MResult = new Matrix(rowA,colB);
      MResult.fillWith(rowA, colB, 0);
      
      for(int n=0; n<=rowA-1; n++){
         for(int m=0; m<=colB-1; m++){
            MResult.matrix[n][m]=0;
            for(int i=0; i<=colA-1; i++){
               MResult.matrix[n][m] += (this.matrix[n][i] * matrix.matrix[i][m]);
            }
         }
      }
      return MResult;
   }
}
Test Matriks :
public class TestMatrix {

   public static void main(String[] args) {


      Matrix matriksA = new Matrix(new Integer[][] {{1,2,3},{4,5,6}});
      matriksA.showMatrix();
      
      System.out.println();
      
      Matrix matriksB= new Matrix(new Integer[][] {{1,2},{2,1},{1,3}});
      matriksB.showMatrix();
      
      System.out.println();
      
      Matrix matriksC= new
Matrix(matriksA.getNumberOfRow(),matriksB.getNumberOfCol());
      
      matriksC = matriksA.crossWithMatrix(matriksB);
      matriksC.showMatrix();
   }

Output :
H[0][0] = (A[0][0]*B[0][0]) + (A[0][1]*B[1][0]);
H[0][1] = (A[0][0]*B[0][1]) + (A[0][1]*B[1][1]);
H[1][0] = (A[1][0]*B[0][0]) + (A[1][1]*B[1][0]);
H[1][1] = (A[1][0]*B[0][1]) + (A[1][1]*B[1][1]);

You might also like