Perkalian Matriks 2 Dimensi

Matriks adalah kumpulan bilangan berbentuk persegi panjang yang disusun menurut baris dan kolom. Bilangan-bilangan yang terdapat di suatu matriks disebut dengan elemen atau anggota matriks. Dengan representasi matriks, perhitungan dapat dilakukan dengan lebih terstruktur. Pemanfaatannya misalnya dalam menjelaskan persamaan linier, transformasi koordinat, dan lainnya. Matriks seperti halnya variabel biasa dapat dimanipulasi, seperti dikalikan, dijumlah, dikurangkan dan didekomposisikan.
sumber….
Pada postingan kali ini, akan dibahas mengenai program perkalian matriks ordo 2×2. Jumlah baris dan kolom ditentukan oleh user, kemudian data-data yang ada di matriks tersebut juga diinputkan oleh user.
berikut ini adalah listing programnya :

001/*
002 * To change this template, choose Tools | Templates
003 * and open the template in the editor.
004 */
005package BelajarJava;
006 
007/**
008 *
009 * @author Arif
010 */
011import java.io.*;
012 
013public class Perkalian_Matriks {
014 
015    public static void main(String[] args) {
016        int i, j, k, l;
017        double a[][] = new double[100][100];
018        double b[][] = new double[100][100];
019        double c[][] = new double[100][100];
020        double jumlah;
021 
022        String input = "";
023        BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
024 
025        System.out.print("Matriks a :
"
);
026        System.out.print("Banyak baris (maks. 100) : ");
027 
028        try {
029            input = buffer.readLine();
030        } catch (Exception e) {
031        }
032 
033        int barA = Integer.valueOf(input);
034 
035        System.out.print("Banyak kolom (maks. 100) : ");
036 
037        try {
038            input = buffer.readLine();
039        } catch (Exception e) {
040        }
041 
042        int colA = Integer.valueOf(input);
043 
044        System.out.print("
Matriks b :
"
);
045        System.out.print("Banyak baris (maks. 100) : ");
046 
047        try {
048            input = buffer.readLine();
049        } catch (Exception e) {
050        }
051 
052        int barB = Integer.valueOf(input);
053 
054        System.out.print("Banyak kolom (maks. 100) : ");
055 
056        try {
057            input = buffer.readLine();
058        } catch (Exception e) {
059        }
060 
061        int colB = Integer.valueOf(input);
062 
063        if ((barA == colB) | (colA == barB)) {
064 
065            /******************************************/
066            /**
067             * Matriks A
068             */
069            System.out.println("
Masukkan data matriks A :
"
);
070            for (i = 0; i < barA; i++) {
071                for (j = 0; j < colA; j++) {
072                    System.out.print("a[" + i + "]" + "[" + j + "] : ");
073                    try {
074                        input = buffer.readLine();
075                    } catch (Exception e) {
076                    }
077 
078                    a[i][j] = Integer.valueOf(input);
079                }
080            }
081 
082            /******************************************/
083            /**
084             * Matriks B
085             */
086            System.out.println("
Masukkan data matriks B :
"
);
087            for (i = 0; i < barB; i++) {
088                for (j = 0; j < colB; j++) {
089                    System.out.print("b[" + i + "]" + "[" + j + "] : ");
090                    try {
091                        input = buffer.readLine();
092                    } catch (Exception e) {
093                    }
094 
095                    b[i][j] = Integer.valueOf(input);
096                }
097            }
098            ////////////////////////////////////////////////////
099            //                 Perkalian                      //
100            ////////////////////////////////////////////////////
101 
102            for (i = 0; i < barA; i++) {
103                for (j = 0; j < colB; j++) {
104                    jumlah = 0;
105                    for (k = 0; k < colA; k++) {
106                        jumlah = (double) jumlah + (a[i][k] * b[k][j]);
107                    }
108                    c[i][j] = jumlah;
109                }
110            }
111 
112            //tampil matriks a
113            System.out.print("
Data matriks A :
"
);
114            for (i = 0; i < barA; i++) {
115                for (j = 0; j < colA; j++) {
116                    System.out.print(a[i][j] + " | ");
117                }
118                System.out.print("
"
);
119            }
120 
121            //tampil matriks b
122            System.out.print("
Data matriks B :
"
);
123            for (i = 0; i < barB; i++) {
124                for (j = 0; j < colB; j++) {
125                    System.out.print(b[i][j] + " | ");
126                }
127                System.out.print("
"
);
128            }
129 
130            //tampil hasil perkalian matriks
131            System.out.print("
Hasil perkalian matriks A dengan matriks B :
"
);
132            for (i = 0; i < barA; i++) {
133                for (j = 0; j < colB; j++) {
134                    System.out.print(c[i][j] + " | ");
135                }
136                System.out.print("
"
);
137            }
138        } else {
139            System.out.print("
======================================================================"
);
140            System.out.println("
Maaf, program perkalian tidak dapat dilanjutkan,
karena input ordo matriks tidak sesuai dengan syarat perkalian matriks"
);
141        }
142    }
143}
Hasil Output :
Photobucket
Photobucket

Related Posts by Categories

0 comments:

Post a Comment