Anda di halaman 1dari 14

ALGORITMA PENJUMLAHAN 2 BUAH MATRIK

1.Deklarasikan variabel matrik1[2][2],matrik2[2][2],matrik[2][2],i,j,k,l,m,n,a,b


2.Proses ulang atau looping dari i=0 sampai i<2
a)Proses ulang(nested loop) dari j=0 sampai j<2
Masukkan nilai matrik1 baris ke(i+1) kolom ke(j+1)dan nyatakan ke variabel matrik1[i][j]
3.Cetak ganti baris
4.Proses ulang atau looping dari k=0 sampai k<2
a)Proses ulang(nested loop) dari l=0 sampai l<2
Masukkan nilai matrik2 baris ke(k+1) kolom ke(l+1) dan nyatakan ke variabel matrik2[k][l]
Hitung nilai dari matrik3[k][l]=matrik1[k][l]+matrik2[k][l]
5.Cetak ganti baris
6.Cetak matrik1 matrik2 matrik1+matrik2
7.Proses ulang atau looping dari m=0 sampai m<2
a)Proses ulang (nested loop) dari n=0 sampai n<2
Cetak nilai matrik1[m][n]
b)Proses ulang (nested loop) dari a=0 sampai a<2
Cetak nilai matrik2[m][a]
c)Proses ulang (nested loop) dari b=0 sampai b<2
Cetak nilai matrik3[m][b]
d)Cetak ganti baris
8.Cetak ganti baris
9.Program selesai
Flowchart:

import java.util.Scanner;
class array_pengurangan
{
public static void main (String[]args)
{
int a;
Scanner s=new Scanner (System.in);
System.out.println(\t\t\t Pengurangan Matrik);
System.out.println(\t\t\t __________________);
System.out.print(\n);
System.out.println(Nilai Matrik A);

int b [][]= new int [2][2];


for (int e = 0; e < 4; e++)
{
System.out.print (Masukan Matrik A ["+e/2+"]["+e%2+"]: );
b [e/2][e%2] = s.nextInt ();
}
System.out.print(\n);
System.out.println (Nilai Matrik B);
int c [][]= new int [2][2];
for (int e = 0; e< 4; e++)
{
System.out.print (Masukan Matrik B ["+e/2+"]["+e%2+"]: );
c [e/2][e%2] = s.nextInt ();
}
System.out.println (\n);
System.out.println (A\t *\t B\t= \tC);
System.out.println (\n);
int d[][]= new int [2][2];
for (int e=0; e<4; e++)
{
d[e/2][e%2] = b[e/2][e%2]*c[e/2][e%2];}
for (int e=0; e<2; e++)
{
System.out.println (["+b[e][0]+]["+b[e][1]+] * \t["+c[e][0]+]["+c[e][1]+]
=\t["+d[e][0]+]["+d[e][1]+]);
}
}
}

Deskripsi:
Secara kesusuluruhan Program ini berfungsi untuk perkalian dua buah matriks sebut saja antara
matriks A dan matriks B. Perkalian pada program tersebut mengoprasikan perkalian antara
[baris][ kolom]pada matriks A dengan [baris][ kolom]pada matriks B.
Untuk menentukan nilai dari masing-masing matriks, program ini menggunakan input nilai
dengan (import java.util.Scanner;) dimana anda akan mengetik sendiri nilai dari masing masing
matriks tersebut.
Setelah itu kita akan menentukan inputan untuk matriks apa, misalkan kita akan menginput nilai
untuk matriks A.
System.out.println(Nilai Matrik A); berfungsi untuk mencetak Nilai Matriks A

int b [][]= new int [2][2]; ini merupakan pendeklarasian variabel b yang berbentuk array 2
dimensi dengan tipe data integer.
for (int e = 0; e < 4; e++)
System.out.print (Masukan Matrik A ["+e/2+"]["+e%2+"]: ); b [e/2][e%2] = s.nextInt ();
ini untuk mencetak Masukan Matrik A, untuklooping for juga div (/) serta mod (%) digunakan
untuk mencetak letak dari matrik [baris][kolom] berapa.
Setelah itu kita akan menginput nilai untuk matriks B maka bentuk codingnya hampir sama
dengan diatas.
System.out.println(Nilai Matrik B); berfungsi untuk mencetak Nilai Matriks B
int c [][]= new int [2][2]; ini merupakan pendeklarasian variabel c yang berbentuk array 2
dimensi dengan tipe data integer.
for (int e = 0; e < 4; e++)
System.out.print (Masukan Matrik B ["+e/2+"]["+e%2+"]: ); c [e/2][e%2] = s.nextInt ();
ini untuk mencetak Masukan Matrik B, untuk looping for juga div (/) serta mod (%)
digunakan untuk mencetak letak dari matrik [baris][kolom] berapa.
Lalu kita akan mendeklarasikan untuk proses serta hasil perkalian tersebut.
int d [][]= new int [2][2]; ini merupakan pendeklarasian variabel d yang berbentuk array 2
dimensi dengan tipe data integer.
for (int e = 0; e < 4; e++) looping for berfungsi menentukan letak matriks [baris][kolom] dari
array d (d [][])
d[e/2][e%2] = b[e/2][e%2]*c[e/2][e%2]; merupakan rumus perkalian dari matriks A dengan
matriks B.
terakhir kita akan mencetak dari hasil perkalian trsebut dengan coding seperti ini :
for (int e=0; e<2; e++) looping for berfungsi menentukan output dari perkalian tersebut.
System.out.println (["+b[e][0]+]["+b[e][1]+] * \t["+c[e][0]+]["+c[e][1]+]
=\t["+d[e][0]+]["+d[e][1]+]); ini untuk mencetak nilai dari Matriks A dan B juga matriks
hasil perkalian tersebut.

Perkalian matrix di Java


Posted by Chandra on November 2, 2010 in Coding No Comments
Perkalian matrix merupakan permasalahan klasik dan cukup sering digunakan dalam
pemrograman, dan penggunaan dari matrix sendiri bisa diimplementasikan dalam berbagai
algoritma pemrograman (AHP salah satunya) untuk mempermudah perhitungan. Berikut ini
adalah contoh dari perkalian matrix, dan bisa anda sesuaikan nanti dengan kebutuhan anda.
Kita buat dulu class matrixnya:
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6

/**
* MPerkalian 2 matrix.
*/
public class Matrix {
//m1 = matrix1, m2 = matri2
public static int[][] kali(int[][] m1, int[][] m2) {
int m1baris = m1.length;
int m1kolom = m1[0].length;
int m2baris = m2.length;
int m2kolom = m2[0].length;
if (m1kolom != m2baris)
throw new IllegalArgumentException();
int[][] hasil = new int[m1baris][m2kolom];
// perkalian
for (int i=0; i&lt;m1baris; i++)
for (int j=0; j&lt;m2kolom; j++)
for (int k=0; k&lt;m1kolom; k++)
hasil[i][j] += m1[i][k] * m2[k][j];
return hasil;
}
public static void matrixprint(int[][] a) {
int baris = a.length;
int kolom = a[0].length;
System.out.println("matrix["+baris+"]["+kolom+"] = {");
for (int i=0; i&lt;baris; i++) {
System.out.print("{");
for (int j=0; j&lt;kolom; j++)
System.out.print(" " + a[i][j] + ",");
System.out.println("},");
}
System.out.println(":;");
}
}

1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
Ini adalah program yang menggunakan class Matrix untuk melakukan perkalian:
0
1
0
2
0
3
0
4
0

// MatrixKali.java
int x[][] = {
{ 4, 2, 7 },
{ 3, 6, 5 },
};
int y[][] = {
{ 2, 1 },
{ 7, 3 },
{ 8, 8 },
};
int z[][] = Matrix.kali(x, y);
Matrix.matrixprint(x);

5
0
6
0
7
0
8
0
9
Matrix.matrixprint(y);
1 Matrix.matrixprint(z);
0
1
1
1
2
1
3
1
4

Program Perkalian dan Penjumahan Matriks dengan Java


Program ini buatan sendiri. Jadi kalau ada error, harap komen dan harap maklum ya..
import java.util.*;
public class Matrik {
static int a,b,c,d,izj,izk,in,MA[][],MB[][],MC[][],MD[][],ME[][];
public static void main(String[] args) {
System.out.print(1. Masukkan Baris Matriks 1 : );
Scanner input= new Scanner(System.in);
a= input.nextInt();
System.out.print(2. Masukkan Kolom Matriks 1 : );

b= input.nextInt();
System.out.print(3. Masukkan Baris Matriks 2 : );
c= input.nextInt();
System.out.print(4. Masukkan Kolom Matriks 2 : );
d= input.nextInt();
int

MA [][] = new int[a][b],

MB [][] = new int[c][d],


MC [][] = new int[a][b],
MD [][] = new int[a][b],
ME [][] = new int[a][d];
cekOrdo(a,b,c,d);
cekIzindanIsi(izj,izk,MA,MB,a,b,c,d);
jalanFungsi(MA,MB,MC,MD,ME);
}
public static void cekIzindanIsi(int izj,int izk,
int MA[][],int MB[][],int a,int b,int c,int d){
if(izj==1||izk==1){
System.out.println(Isi Matrik 1 :);
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
System.out.print(A(+(i+1)+,+(j+1)+) = );
Scanner input= new Scanner(System.in);
MA[i][j]= input.nextInt();

}
}
System.out.println(Isi Matrik 2 :);
for(int i=0;i<c;i++){
for(int j=0;j<d;j++){
System.out.print(B(+(i+1)+,+(j+1)+) = );
Scanner input= new Scanner(System.in);
MB[i][j]= input.nextInt();
}
}
}
}
public static void jalanFungsi(int MA[][],int MB[][],
int MC[][],int MD[][],int ME[][]){
if(izj==1){
fPenjumlahan(MA,MB,MC);tamPenjumlahan(MC);
fPengurangan(MA,MB,MD);tamPengurangan(MD);
}
if(izk==1){
fPerkalian(MA,MB,ME);tamPerkalian(ME);
}
else{System.out.print(Opresi Matrik lainnya tidak diizinkan.);}
}

public static int cekOrdo(int a,int b,int c,int d){


izk=1;izj=1;
if(b!=c){
System.out.println(Operasi Perkalian Tidak Diizinkan);
izk = 0;
}
if(a!=c||b!=d){
System.out.println(Operasi Penjumlahan +
dan Pengurangan Tidak Diizinkan);
izj = 0;
}
else{System.out.println();}
return 0;
}
public static void fPenjumlahan(int MA[][],int MB[][],int MC[][]){
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
MC[i][j]= MA[i][j]+MB[i][j];
}
}
}
public static void fPengurangan(int MA[][],int MB[][],int MD[][]){
for(int i=0;i<a;i++){

for(int j=0;j<b;j++){
MD[i][j]= MA[i][j]-MB[i][j];
}
}
}
public static void fPerkalian(int MA[][],int MB[][],int ME[][]){
for(int i=0;i<a;i++){
for(int j=0;j<=d-1;j++){
ME[i][j]=0;
for(int k=0;k<b-1;k++){
ME[i][j]= ME[i][j]+(MB[i][k]*MA[i][k]);
}
}
}
}
public static void tamPenjumlahan(int MC[][]){
System.out.println(Matrik1 + Matrik2 : );
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
System.out.print(MC[i][j]+\t);
}
System.out.println();
}

System.out.println(\n);
}
public static void tamPengurangan(int MD[][]){
System.out.println(Matrik1 Matrik2 : );
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
System.out.print(MD[i][j]+\t);
}
System.out.println();
}
System.out.println(\n);
}
public static void tamPerkalian(int ME[][]){
System.out.println(Matrik1 x Matrik2 : );
for(int i=0;i<a;i++){
for(int j=0;j<d;j++){
System.out.print(ME[i][j]+\t);
}
System.out.println();
}
System.out.println(\n);
}
}

About these ads

Jika kita mempunyai 2 matriks yaitu A dan B seperti dibawah ini

Dan C adalah matriks A dijumlahkan dengan B maka C samadengan

A +B=C
Matriks A
a = A[0][0] ; b = A[0][1] ; c = A[1][0] ; d = A[1][1]
Matriks B
e = B[0][0] ; f = B[0][1] ; g = B[1][0] ; h = B[1][1]
Matriks C
a + e = C[0][0] ; b + f = C[0][1] ; c + g = C[1][0] ; d + h = C[1][1];
nilai untuk matriks C setiap baris dan kolom adalah
C[0][0] = A[0][0] + B[0][0];
C[0][1] = A[0][1] + B[0][1];
C[1][0] = A[1][0] + B[1][0];
C[1][1] = A[1][1] + B[1][1];
Untuk baris dan kolom didalam matriks C sama dengan baris dan kolom didalam matriks A dan
B maka kita gunakan for pertama untuk baris dan for kedua untuk kolom
Jika diimplementasikan kedalam array multidimensi maka
Int A[][] = new int[2][2];

Int B[][] = new int[2][2];


Int C[][] = new int[2][2];
A[0][0] = 1 ; A[0][1] = 2 ; A[1][0] = 3 ; A[1][1] = 4;
B[0][0] = 1 ; B[0][1] = 2 ; B[1][0] = 3 ; B[1][1] = 4;
Proses Penjumlahannya :
for (int i = 0 ; i < 2 ; i ++ ) {

//baris

for ( int j = 0 ; j < 2 ; j ++ ) {

//kolom

C[i][j] = A[i][j] + B[i][j];

//Proses penjumlahan

}
System.out.println();
}
Cetak Matrik C :
for (int i = 0 ; i < 2 ; i ++ ) {

//baris

for ( int j = 0 ; j < 2 ; j ++ ) {

//kolom

System.out.print( C[i][j] );

//Mencetak Matrik C

}
System.out.println();
}
Maka hasil dari penjumlahan matrik A dan B yaitu
C[0][0] = 2 ;
C[0][1] = 4 ;
C[1][0] = 6 ;
C[1][1] = 8;