You are on page 1of 25

APLIKASI PERHITUNGAN MATRIKS MENGGUNAKAN

PEMROGRAMAN C++ BERBASIS CONSOLE






TUGAS AKHIR

Oleh :
Yufri Isnaini Rochmat Maulana
NIM : 49013113
Programa Studi Diploma 4 Teknik Elektro









SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA
INSTITUT TEKNOLOGI BANDUNG
BANDUNG
2013
KATA PENGANTAR

Puji dan syukur kepada Allah SWT karena atas berkah dan rahmat-Nya penulis
dapat menyelesaikan laporan untuk Tugas Akhir Pemrograman C++ dengan aplikasi
yang diberi nama Aplikasi Perhitungan Matriks Menggunakan Pemrograman C++
Berbasis Console. Penulis juga ingin mengucapkan rasa terima kasih kepada teman-
teman dan dosen dari STEI ITB yang telah banyak membantu dalam menyelesaikan
tugas ujian semester ini.
Penulis menyadari masih terdapat kekurangan pada penulisan laporan Aplikasi
Perhitungan Matriks ini. Saran dan kritik yang membangun sangat penulis harapkan
untuk membantu kemajuan dalam pembuatan tugas-tugas yang lain.








Bandung, November 2013


Penulis

BAB I
PENDAHULUAN

1.1 Latar Belakang
Dalam mata pelajaran Matematika di SMA, BAB mengenai Matriks adalah termasuk
materi yang penting. Dimana materi Matriks juga merupakan materi inti yang juga masuk
dalam setiap soal Ujian Nasional. Matriks sendiri adalah materi yang bisa dibilang mudah
mudah sulit. Dikarenakan jika siswa dapat memahami dan mengerti dari materi Matriks
tersebut maka siswa juga akan mudah dalam mengerjakan soal dan menerima materi
Matriks tersebut. Namun jika siswa tidak dapat memahami dan mengerti dari materi
Matriks tersebut maka siswa juga akan kesulitan dalam mengerjakan soal dan menerima
materi Matriks. Untuk itu, supaya dapat membantu dalam proses belajar mengajar
tentang materi Matriks maka dibangun Aplikasi Perhitungan Matriks yang nantinya
diharapkan dapat membantu para siswa dalam memahami dan mengerti tentang materi
Matriks. Karena di dalam aplikasi ini ada beberapa pengoperasian Matriks sehingga
siswa diharap dapat mengerti, pengoperasian tersebut diantaranya penjumlahan Matriks,
pengurangan Matriks, perkalian Matriks, dan determinan Matriks. Aplikasi yang
dibangun ini adalah berbasis console dengan menggunakan bahasa pemrograman C++.
Karena bahasa pemrograman C++ adalah merupakan bahasa yang sangat ringan dan
cukup sederhana dalam penulisan source code.

1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dijelaskan diatas maka rumusan masalah yang
muncul adalah bagaimana membuat sebuah Aplikasi Perhitungan Matriks yang dapat
mempermudah dalam memahami dan mengerti mengenai materi Matriks dan
pengoperasiannya.

1.3 Batasan Masalah
Batasan masalah dalam pembuatan aplikasi ini adalah :
1. Pengoperasian Matriks hanya pada pengoperasian penjumlaha, pengurangan,
perkalian, dan determinan Matriks.
2. Aplikasi berbasis console.
3. Khusus pada penjumlahan, pengurangan, dan determinan Matriks hanya untuk
Matriks ordo 3X3

1.4 Tujuan dan Manfaat
Adapun tujuan dari pembuatan aplikasi ini adalah :
1. Untuk memenuhi Tugas Akhir pemrograman C++.
2. Untuk mepelajari ilmu matematika, khususnya mengenai materi Matriks.
3. Dapat membantu para siswa dalam materi Matriks.
4. Siswa dapat mengerti pengoperasian pada Matriks .
Sedangkan manfaat dari pembuatan aplikasi ini adalah :
1. Mempermudah siswa dalam memahami materi Matriks.
2. Mempermudah siswa dalam pengoperasian Matriks.

BAB II
LANDASAN TEORI

2.1 Pengertian Matriks
Matriks adalah himpunan skalar (bilangan riil atau kompleks) yang disusun atau
dijajarkan secara empat persegi panjang menurut baris-baris dan kolom-kolom.
Notasi yang digunakan

Atau Atau

Bilangan yang tersusun dalam baris dan kolom disebut elemen matriks. Nama matriks
ditulis dengan menggunakan huruf kapital. Banyaknya baris dan kolom matriks disebut
ordo matriks. Bentuk umum :
A =
(
(
(
(
(
(

n m m m m
n
n
n
a a a a
a a a a
a a a a
a a a a
. 3 . 2 . 1 .
. 3 3 . 3 2 . 3 1 . 3
. 2 3 . 2 2 . 2 1 . 2
. 1 3 . 1 2 . 1 1 . 1
...
: ... : : :
...
...
...

=
1 . 1
a elemen matriks pada baris 1, kolom 1
=
2 . 1
a elemen matriks pada baris 1, kolom 2
=
3 . 1
a elemen matriks pada baris 1, kolom 3
.
.
.
=
n m
a
.
elemen matriks pada baris m, kolom n

Contoh :
B =
(


7 6 1
4 5 2

Ordo matriks B adalah B
2 x 3

=
3 . 1
a - 4
=
2 . 2
a 6

2.2 Jenis Jenis Matriks
1. Matriks Baris
adalah matriks yang hanya memiliki satu baris
Contoh : A = [ 2 3 0 7 ]
2. Matriks Kolom
adalah matriks yang hanya memiliki satu kolom
Contoh : C =
(
(
(
(

7
0
1
2

3. Matriks Persegi
adalah matriks yang jumlah baris dan kolomnya sama.
Contoh : A =
(
(
(
(

10 5 3 7
6 0 9 5
4 6 8 1
3 5 0 2

Diagonal samping Diagonal utama
4. Matriks Identitas
adalah matriks persegi yang elemen-elemen pada diagonal utamanya 1, sedangkan
semua elemen yang lainnya nol.

Contoh :
A =
(

1 0
0 1

B =
(
(
(

1 0 0
0 1 0
0 0 1

5. Matriks Segitiga Atas
adalah matriks persegi yang elemen-elemen dibawah diagonal utamanya nol.
Contoh :
A =
(
(
(


5 0 0
4 1 0
1 3 2

6. Matriks Segitga Bawah
adalah matriks persegi yang elemen-elemen diatas diagonal utamanya nol.
Contoh :
B =
(
(
(

5 2 3
0 1 9
0 0 2

7. Matriks Nol
adalah matriks yang semua elemennya nol.
Contoh :
C =
(

0 0 0
0 0 0


2.3 Operasi pada Matriks
1. Penjumlahan Matriks
Penjumlahan matriks hanya dapat dilakukan terhadap matriks-matriks yang
mempunyai ukuran (orde) yang sama. Jika A=(a
ij
) dan B=(b
ij
) adalah matriks-
matriks berukuran sama, maka A+B adalah suatu matriks C=(c
ij
) dimana (c
ij
) =
(a
ij
) +(b
ij
) atau [A]+[B] = [C] mempunyai ukuran yang sama dan elemennya (c
ij
)
= (a
ij
) +(b
ij
)
Contoh :

A= B= C= maka

A+B = + =

A+C = +
A+C tidak terdefinisi (tidak dapat dicari hasilnya) karena matriks A dan B
mempunyai ukuran yang tidak sama.
2. Pengurangan Matriks
Sama seperti pada penjumlahan matriks, pengurangan matriks hanya dapat
dilakukan pada matriks-matriks yang mempunyai ukuran yang sama. Jika
ukurannya berlainan maka matriks hasil tidak terdefinisikan.
Contoh :

A= B= maka

A-B = - =
3. Perkalian Matriks
Beberapa hal yang perlu diperhatikan :
1. Perkalian matriks dengan matriks umumnya tidak komutatif.
2. Syarat perkalian adalah jumlah banyaknya kolom pertama matriks sama dengan
jumlah banyaknya baris matriks kedua.
3. Jika matriks A berukuran mxp dan matriks pxn maka perkalian A*B adalah suatu
matriks C=(c
ij
) berukuran mxn dimana
c
ij
= a
i1
b
1j
+ a
i2
b
2j
+

a
i3
b
3j
+ .+ a
ip
b
pj

3 1
4 2
0 2
1 3
3 1
4 2
0 2
1 3
3+0 1+2
4+1 2+3
3 3
5 5
1 0 2
1 0 5
3 1
4 2
1 0 2
1 0 5
3 4
4 5
0 2
3 4
3 4
4 5
0 2
3 4
3-0 4-2
4-3 5-4
3 2
1 1

Contoh : 1) A= dan B= maka


A x B= * = =


2) A = dan B = maka


A x B = =
Beberapa Hukum Perkalian Matriks :
1. Hukum Distributif, A*(B+C) = AB + AC
2. Hukum Assosiatif, A*(B*C) = (A*B)*C
3. Tidak Komutatif, A*B = B*A
4. Jika A*B = 0, maka beberapa kemungkinan
(i) A=0 dan B=0
(ii) A=0 atau B=0
(iii) A=0 dan B=0
5. Bila A*B = A*C, belum tentu B = C






3 2 1
3
1
3 2 1
3
1
(3*3) + (2*1) + (1*0) 11
3 2 1
1 2 1
3
1
(3*3) + (2*1) + (1*0)
(1*3) + (2*1) + (1*0)
11
5
BAB III
PERANCANGAN SISTEM DAN IMPLEMENTASI

3.1 Flowchart Aplikasi
Berdasarkan rumusan masalah, dalam pembuatan Aplikasi Perhitungan Matriks ini
memiliki algoritma agar nantinya aplikasi ini sesuai dengan yang diharapkan berikut ini
adalah algoritma dari Aplikasi Perhitungan Matriks tersebut.
Mulai
Tampilkan Menu
Perhitungan
Matriks
Pilih 1
Penjumlahan ?
Baca pilihan
Baca Matriks A
dan Matriks B
Tampilkan
hasil
penjumlahan
Matriks
Pilih 2
Pengurangan ?
Baca Matriks A
dan Matriks B
Tampilkan
hasil
pengurangan
Matriks
Stop
Ya Ya
Tidak
Tidak
Pilih 3 Perkalian
?
Baca Matriks A
dan Matriks B
Tampilkan
hasil
perkalian
Matriks
Pilih 4
Determinan ?
Baca
Matriks A
det =
(A[1][1]*A[2][2]*A[3][3])+
(A[1][2]*A[2][3]*A[3][1])+
(A[1][3]*A[2][1]*A[3][2])-
(A[1][3]*A[2][2]*A[3][1])-
(A[1][1]*A[2][3]*A[3][2])-
(A[1][2]*A[2][1]*A[3][3]);
Tampilkan
hasil
determinan
Matriks
Tidak
Tidak
Ya Ya
For (x=1;x<=3;x++)
For (y=1;y<=3;y++)
C[x][y] = A[x][y]
+ B[x][y];
For (x=1;x<=3;x++)
For (y=1;y<=3;y++)
C[x][y] = A[x][y]
- B[x][y];
For (j=1;j<=3;j++)
For (l=1;l<=3;l++)
C[j][l] = 0;
For (k=1;k<=3;k++)
C[j][l] +=
A[j][k] *
B[k][l];
Tampilkan
tidak memilih
apapun

3.2 Rancangan Aplikasi
Pada bagian ini dilakukan bagaimana memebuat sebuah rancangan Aplikasi
Perhitungan Matriks menggunakan console yang nantinya user atau pengguna aplikasi
dapat mengerti dan paham dalam menggunakan Aplikasi Perhitungan Matriks. Dan
berikut adalah merupakan tampilan Aplikasi Perhitungan Matriks :
1. Tampilan Awal Aplikasi

Gambar 3.1 Tampilan Awal Aplikasi
Penjelasan :
Pada tampilan ini merupakan tampilan Awal dari Aplikasi Perhitungan Matriks, dimana
pada menu ini terdapat beberapa menu perhitungan yaitu diantaranya : Menu
Penjumlahan, Menu Pengurangan, Menu Perkalian, dan Menu Determinan Matriks. Pada
tampilan ini juga ada Pilihan yaitu yang berfungsi untuk memilih dari menu menu
perhitungan di atasnya.







2. Tampilan memilih Menu

Gambar 3.2 Tampilan Memilih Menu
Penjelasan :
Pada tampilan memilih menu di atas adalah ketika user atau pengguna sudah
memasukkan angka pada Pilihan sesuai dengan pilihan menu perhitungan di atas, misal
pada tampilan di atas memilih menu 1 yaitu Menu Perhitungan Penjumlahan Matriks
maka otomatis akan langusung muncul keterangan bahwa sudah memilih Menu
Perhitungan Penjumlahan Matriks. Setelah itu kita akan langsung diminta untuk
menginputkan Matriks.
3. Tampilan tidak memilih Menu apapun

Gambar 3.3 Tampilan Tidak Memilih Menu
Penjelasan :
Tampilan di atas adalah merupakan tampilan ketika user atau pengguna tidak melakukan
pilihan apapun. Yang artinya ketika pada menu sudah terdapat 4 pilihan menu, namun
user atau pengguna tidak menginputkan angka 4 atau tidak memilih menu apapun.
4. Tampilan menginputkan Matriks

Gambar 3.4 Tampilan Input Matriks
Penjelasan :
Pada tampilan menginputkan Matriks di atas user diminta untuk menginputkan Matriks
setelah kita memilih salah satu dari pilihan menu perhitungan. Pertama kali pengguna
akan diminta untuk menginputkan Matriks A setelah itu Matriks B. Dimana Matriks A
sendiri adalah Matriks ordo 3X3. Karena pada aplikasi ini pada proses perhitungan
penjumlahan hanya khusus untuk Matriks berordo 3X3. Apabila sudah menginputkan
Matriks A, maka user atau pengguna akan diminta lagi untuk memasukkan Matriks B
dengan cara yang sama seperti pada saat menginputkan Matriks A.






5. Tampilan hasil inputan Matriks A dan Matriks B, serta hasil Perhitungan

Gambar 3.5 Tampilan Hasil Perhitungan
Penjelasan :
Pada saat pengguna sudah menginputkan Matriks A dan Matriks B, maka proses
selanjutnya adalah perhitungan. Dimana pada contoh di atas adalah memilih menu
penjumlahan, sehingga setelah kita menginputkan Matriks A dan Matriks B akan
langsung diproses untuk penjumlahannya. Begitu juga untuk menu menu yang lain.
6. Tampilan memilih ulangi

Gambar 3.6 Tampilan Memilih Ulangi
Penjelasan :
Pada tampilan menu ulangi di atas adalah merupakan menu yang digunakan untuk
mengulangi proses perhitungan atau keluar dari aplikasi. Jika kita memilih angka 1 maka
kita akan kembali ke menu awal untuk melakukan perhitungan, namun jika mengetik
angka 0 maka akan langsung keluar dari progam aplikasi.
7. Tampilan menginputkan ordo baris dan kolom untuk Perhitungan Perkalian

Gambar 3.7 Tampilan Input Ordo Baris dan Kolom untuk Perkalian Matriks
Penjelasan :
Pada tampilan di atas adalah merupakan tampilan ketika kita memilih sendiri ordo berapa
yang akan kita masukkan, khusus untuk menu perhitungan perkalian. Dimana ketika
pengguna memilih menu perkalian maka pengguna akan diminta untuk memasukkan
ordo baris dan ordo kolom sesuai dengan keinginan kita sebelum dilakukan proses
perkalian matriks. Karena perhitungan perkalian Matriks bisa dilakukan berbeda ordo
tanpa harus mempunyai ordo yang sama.






8. Tampilan PERINGATAN, karena memasukkan huruf tidak angka

Gambar 3.8 Tampilan Peringatan
Penjelasan :
Pada tampilan peringatan di atas adalah apabila kita salah atau kita memasukkan huruf
dengan sengaja pada saat menginputkan, maka akan langsung muncul peringatan bahwa
inputan harus berupa angka. Karena dalam program aplikasi ini adalah hanya
menginputkan angka angka saja.

BAB IV
KESIMPULAN DAN SARAN

4.1 Kesimpulan
Dari hasil pembuatan dan pengujian Aplikasi Perhitungan Matriks :
1. Aplikasi Perhitungan Matriks berjalan sesuai dengan sistem dan fungsinya.
2. Dapat mempermudah dalam proses operasi Matriks, mulai dari penjumlahan,
pengurangan, perkalian, dan determinan Matriks.

4.2 Saran
Adapun saran yang bisa diberikan untuk pengembangan Aplikasi Perhitungan Matriks
kedepan adalah :
1. Dapat menerapkanny pada Program Aplikasi Perhitungan Matriks Berbasis GUI.
2. Proses pengoperasian Matriks lebih dilengkapi lagi.
3. Bisa ditambahkan cara cara pada proses output hasil operasi Matriks.














LAMPIRAN




#include <iostream>
using namespace std;

int main () {
typedef float Matriks [100] [100];
Matriks A, B, C;
int barisA, kolomA, barisB, kolomB, j, k, l, pilihan, ulang, x, y;
float det;

ulang = 1;
cout << " ============================================" << endl;
cout << " || APLIKASI PERHITUNGAN MATRIKS ||" << endl;
cout << " ============================================" << endl
<< endl << endl;

do {
cout << "# PILIHAN PERHITUNGAN MATRIKS #" << endl;
cout << "-------------------------------" << endl;
cout << "1. Penjumlahan (Matriks Ordo 3X3)" << endl;
cout << "2. Pengurangan (Matriks Ordo 3X3)" << endl;
cout << "3. Perkalian" << endl;
cout << "4. Determinan (Matriks Ordo 3x3)" << endl << endl;
cout << "Pilihan >> ";
cin >> pilihan;
while (cin.fail()) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus berupa angka!" << endl <<
endl;
cout << "Pilihan >> ";
cin >> pilihan;
}
cout << endl;
switch(pilihan) {
case 1:
cout << "Anda Memilih Menu Perhitungan Penjumlahan Matriks" <<
endl;
cout << "Input Matriks A :" << endl;
for (x=1; x<=3; x++) {
for (y=1; y<=3; y++) {
cout<< " A [" << x << "][" << y << "] = ";
cin >> A [x][y];
while (cin.fail()) {
cin.clear();

cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus
berupa angka!" << endl << endl;
cout<< " A [" << x << "][" << y << "] =
";
cin >> A [x][y];
}
}
}
system("cls");
Source Code Aplikasi Perhitungan Matriks

cout << "Input Matriks B :" << endl;
for (x=1; x<=3; x++) {
for (y=1; y<=3; y++) {
cout << " B [" << x << "][" << y << "] = ";
cin >> B [x][y];
while (cin.fail()) {
cin.clear();

cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus
berupa angka!" << endl << endl;
cout << " B [" << x << "][" << y << "] =
";
cin >> B [x][y];
}
}
}
system("cls");

cout << "Matriks A : " << endl << endl;
for(x=1; x<=3; x++) {
for(y=1; y<=3 ;y++) {
cout << " " << A [x][y] << " ";
}
cout << endl << endl;
}

cout << "Matriks B : " << endl << endl;
for(x=1; x<=3; x++) {
for(y=1; y<=3 ;y++) {
cout << " " << B [x][y] << " ";
}
cout << endl << endl;
}

for (x=1; x<=3; x++) {
for (y=1; y<=3; y++) {
C [x][y] = A[x][y] + B[x][y];
}
}
cout << "Hasil Penjumlahan Matriks A dan Matriks B :" << endl
<< endl;
for (x=1; x<=3; x++) {
for (y=1; y<=3; y++) {
cout << " " << C [x][y] << " ";
}
cout << endl << endl;
}
break;
case 2:
cout << "Anda Memilih Menu Perhitungan Pengurangan Matriks" <<
endl;
cout << "Input Matriks A :" << endl;
for (x=1; x<=3; x++) {
for (y=1; y<=3; y++) {
cout<< " A [" << x << "][" << y << "] = ";
cin >> A [x][y];
while (cin.fail()) {
cin.clear();

cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus
berupa angka!" << endl << endl;
cout<< " A [" << x << "][" << y << "] =
";
cin >> A [x][y];
}
}
}
system("cls");

cout << "Input Matriks B :" << endl;
for (x=1; x<=3; x++) {
for (y=1; y<=3; y++) {
cout << " B [" << x << "][" << y << "] = ";
cin >> B [x][y];
while (cin.fail()) {
cin.clear();

cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus
berupa angka!" << endl << endl;
cout << " B [" << x << "][" << y << "] =
";
cin >> B [x][y];
}
}
}
system("cls");

cout << "Matriks A : " << endl << endl;
for(x=1; x<=3; x++) {
for(y=1; y<=3 ;y++) {
cout << " " << A [x][y] << " ";
}
cout << endl << endl;
}

cout << "Matriks B : " << endl << endl;
for(x=1; x<=3; x++) {
for(y=1; y<=3 ;y++) {
cout << " " << B [x][y] << " ";
}
cout << endl << endl;
}

for (x=1; x<=3; x++) {
for (y=1; y<=3; y++) {
C [x][y] = A[x][y] - B[x][y];
}
}
cout << "Hasil Pengurangan Matriks A dan Matriks B :" << endl
<< endl;
for (x=1; x<=3; x++) {
for (y=1; y<=3; y++) {
cout << " " << C [x][y] << " ";
}
cout << endl << endl;
}
break;
case 3:
cout << "Anda Memilih Menu Perhitungan Perkalian Matriks" <<
endl;
cout << "Masukkan Ordo Baris Matriks A >> ";
cin >> barisA;
while (cin.fail()) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus berupa angka!" <<
endl << endl;
cout << "Masukkan Ordo Baris Matriks A >> ";
cin >> barisA;
}
cout << "Masukkan Ordo Kolom Matriks A >> ";
cin >> kolomA;
while (cin.fail()) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus berupa angka!" <<
endl << endl;
cout << "Masukkan Ordo Kolom Matriks A >> ";
cin >> kolomA;
}
cout << endl << "Input Matriks A : " << endl;
for (j=1; j<=barisA; j++) {
for (k=1; k<=kolomA; k++) {
cout<< " A [" << j << "][" << k << "] = ";
cin >> A [j][k];
while (cin.fail()) {
cin.clear();

cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus
berupa angka!" << endl << endl;
cout<< " A [" << j << "][" << k << "] =
";
cin >> A [j][k];
}
}
}
system("cls");

cout << "Masukkan Ordo Baris Matriks B >> ";
cin >> barisB;
while (cin.fail()) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus berupa angka!" <<
endl << endl;
cout << "Masukkan Ordo Baris Matriks B >> ";
cin >> barisB;
}
cout << "Masukkan Ordo Kolom Matriks B >> ";
cin >> kolomB;
while (cin.fail()) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus berupa angka!" <<
endl << endl;
cout << "Masukkan Ordo Kolom Matriks B >> ";
cin >> kolomB;
}
cout << endl << "Input Matriks B : " << endl;
for (k=1; k<=barisB; k++) {
for (l=1; l<=kolomB; l++) {
cout << " B [" << k << "][" << l << "] = ";
cin >> B [k][l];
while (cin.fail()) {
cin.clear();

cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus
berupa angka!" << endl << endl;
cout << " B [" << k << "][" << l << "] =
";
cin >> B [k][l];
}
}
}
system("cls");

cout << "Matriks A : " << endl << endl;
for(j=1; j<=barisA; j++) {
for(k=1; k<=kolomA ;k++) {
cout << " " << A [j][k] << " ";
}
cout << endl << endl;
}

cout << "Matriks B : " << endl << endl;
for(k=1; k<=barisB; k++) {
for(l=1; l<=kolomB ;l++) {
cout << " " << B [k][l] << " ";
}
cout << endl << endl;
}

for (j=1; j<=barisA; j++) {
for (l=1; l<=kolomB; l++) {
C[j][l] = 0;
for(k=1; k<=kolomA; k++) {
C[j][l] = C[j][l] + A[j][k] * B[k][l];
}
}
}
cout << "Hasil Perkalian Matriks A dan Matriks B :" << endl <<
endl;
for (j=1; j<=barisA; j++) {
for (l=1; l<=kolomB; l++) {
cout << " " << C [j][l] << " ";
}
cout << endl << endl;
}
break;
case 4:
cout << "Anda Memilih Menu Perhitungan Determinan Matriks" <<
endl;
cout << "Input Matriks A :" << endl;
for (x=1; x<=3; x++) {
for (y=1; y<=3; y++) {
cout<< " A [" << x << "][" << y << "] = ";
cin >> A [x][y];
while (cin.fail()) {
cin.clear();

cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus
berupa angka!" << endl << endl;
cout<< " A [" << x << "][" << y << "] =
";
cin >> A [x][y];
}
}
}
det = (A[1][1]*A[2][2]*A[3][3]) + (A[1][2]*A[2][3]*A[3][1]) +
(A[1][3]*A[2][1]*A[3][2]) -
(A[1][3]*A[2][2]*A[3][1]) - (A[1][1]*A[2][3]*A[3][2]) -
(A[1][2]*A[2][1]*A[3][3]);
system("cls");

cout << "Matriks A : " << endl << endl;
for(x=1; x<=3; x++) {
for(y=1; y<=3 ;y++) {
cout << " " << A [x][y] << " ";
}
cout << endl << endl;
}
cout << endl;

cout << "Determinan Matriks A = " << det << endl << endl;
break;
default:
cout << "Anda tidak memilih menu apapun" << endl;
}

cout << "\nUlangi/Keluar ? [1/0] >> ";
cin >> ulang;
while (cin.fail()) {
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),'\n');
cout << "PERINGATAN : Inputan harus berupa angka!" <<
endl << endl;
cout << "\nUlangi/Keluar ? [1/0] >> ";
cin >> ulang;
}
system("cls");
} while(ulang == 1);

system("close");
return 0;
}

You might also like