Halo dan Selamat malam, berikut adalah Source code operasi Matriks, sebelumnya ini adalah tugas praktikum, karna sepertinya menarik, jadi saya share buat pengetahuan bersama.
Semoga bermanfaat.
baca juga : Program Mencari Nilai Rata Rata dalam Bahasa C
Source Code:
// kode ini ditulis dari ng0ding.blogspot.com
#include <iostream>
#include <windows.h>
using namespace std;
int MatriksA[50][50];
int MatriksB[50][50];
int HasilJumlah[50][50];
int HasilKurang[50][50];
int HasilKali[50][50];
void Input_Nilai_Matriks(int BarisA, int KolomA, int BarisB, int KolomB);
void Output_Nilai_Matriks(int BarisA, int KolomA, int BarisB, int KolomB);
int Penjumlahan_Matriks(int BarisA, int KolomA, int BarisB, int KolomB);
int Pengurangan_Matriks(int BarisA, int KolomA, int BarisB, int KolomB);
int Perkalian_Matriks(int BarisA, int KolomA, int BarisB, int KolomB);
int main()
{
int error, pilihan, ulang;
int b1, b2, k1, k2;
do{
system("cls");
cout << "\t\t\tPraktikum ALPRO 2 - Operasi Matriks\n" << endl;
cout << "\nMasukkan Ordo Matriks A" << endl;
cout << "Baris : ";
cin >> b1;
cout << "Kolom : ";
cin >> k1;
cout << "\nMasukkan Ordo Matriks B" << endl;
cout << "Baris : ";
cin >> b2;
cout << "Kolom : ";
cin >> k2;
Input_Nilai_Matriks(b1, k1, b2, k2);
system("cLs");
Output_Nilai_Matriks(b1, k1, b2, k2);
cout << endl;
system("PAUSE");
system("cls");
cout << "\nAda 3 Operasi Aritmatika Matriks" << endl;
cout << "\t1. Penjumlahan\n\t2. Pengurangan\n\t3. Perkalian"
<< endl;
cout << "Tentukan Pilihan Anda : ";
cin >> pilihan;
if(pilihan == 1)
error = Penjumlahan_Matriks(b1, k1, b2, k2);
else if(pilihan == 2)
error = Pengurangan_Matriks(b1, k1, b2, k2);
else if(pilihan == 3)
error == Perkalian_Matriks(b1, k1, b2, k2);
else
{
system("cls");
cout << "Maaf Pilihan anda Tidak ada dalam Daftar" << endl;
cout << "Mau Ulang Memilih ?\n\t1. Ya\n\t2. Tidak" << endl;
cout << "Tentukan Pilihan : ";
cin >> ulang;
}
if(error == -1)
{
system("cls");
cout << "Maaf Elemen Matriks tidak sesuai" +
"untuk Operasi tersebut" << endl << endl;
cout << "Program Akan Otomatis Mengulang ke Awal"
<< endl << endl;
system("Pause");
}
}while(error == -1 || ulang == 1);
cout << "\nTerima Kasih\n" <<endl;
system("Pause");
return 0;
}
void Input_Nilai_Matriks(int BarisA, int KolomA, int BarisB, int KolomB)
{
int B, K;
cout << "\nMasukkan Nilai dari Setiap Elemen Matriks A"<<endl;
for(B = 0; B < BarisA; B++)
{
for(K = 0; K < KolomA; K++)
{
cout << "Baris " << B << " Kolom " << K << " : ";
cin >> MatriksA[B][K];
}
}
cout << "\nMasukkan Nilai dari Setiap Elemen Matriks B"<<endl;
for(B = 0; B < BarisB; B++)
{
for(K = 0; K < KolomB; K++)
{
cout << "Baris " << B << " Kolom " << K << " : ";
cin >> MatriksB[B][K];
}
}
}
void Output_Nilai_Matriks(int BarisA, int KolomA, int BarisB, int KolomB)
{
int B, K;
cout << "\nIsi dari Matriks A"<<endl;
for(B = 0; B < BarisA; B++)
{
for(K = 0; K < KolomA; K++)
{
cout << "\t" << MatriksA[B][K];
}
cout << endl;
}
cout << "\nIsi dari Matriks B"<<endl;
for(B = 0; B < BarisB; B++)
{
for(K = 0; K < KolomB; K++)
{
cout << "\t" << MatriksB[B][K];
}
cout << endl;
}
}
//Operasi Penjumlahan Matriks
int Penjumlahan_Matriks(int BarisA, int KolomA, int BarisB, int KolomB)
{
int B, K;
if(BarisA == BarisB && KolomA == KolomB)
{
for(B = 0; B < BarisA; B++)
{
for(K = 0; K < KolomA; K++)
{
HasilJumlah[B][K] = MatriksA[B][K] + MatriksB[B][K];
}
}
for(B = 0; B < BarisA; B++)
{
for(K = 0; K < KolomA; K++)
{
cout << "\t" << HasilJumlah[B][K];
}
cout << endl;
}
}
else
return -1;
}
//Operasi Pengurangan Matriks
int Pengurangan_Matriks(int BarisA, int KolomA, int BarisB, int KolomB)
{
int B, K;
if(BarisA == BarisB && KolomA == KolomB)
{
for(B = 0; B < BarisA; B++)
{
for(K = 0; K < KolomA; K++)
{
HasilJumlah[B][K] = MatriksA[B][K] - MatriksB[B][K];
}
}
for(B = 0; B < BarisA; B++)
{
for(K = 0; K < KolomA; K++)
{
cout << "\t" << HasilKurang[B][K];
}
cout << endl;
}
}
else
return -1;
}
// Operasi Perkalian Matriks
int Perkalian_Matriks(int BarisA, int KolomA, int BarisB, int KolomB)
{
int B, K, S; // S untuk Sementara
int isi; // variabel isi untuk nilai perkalian sebelum dijumlah
if(KolomA == BarisB)
{
for(B = 0; B < BarisB; B++)
{
for(K = 0; K < KolomA; K++)
{
HasilKali[B][K] = 0;
for(S = 0; S < KolomA; S++)
{
isi = MatriksA[B][S] * MatriksB[S][K];
HasilKali[B][K] += isi;
}
}
}
for(B = 0; B < BarisA; B++)
{
for(K = 0; K < KolomB; K++)
{
cout << "\t" << HasilKali[B][K];
}
cout << endl;
}
}
else
return -1;
}
Output:
|
Memasukkan Jumlah Baris dan Kolom dari Matriks A dan Matriks B |
|
Mengisikan Nilai dari Setiap Baris dan Kolom Matriks A dan Matriks B |
|
Tampilan dari Isi Matriks yang Telah di Isi |
|
Memilih Operasi terhadap Kedua Matriks Tadi |
|
Output/ Hasil dari Operasi Matriks yang dipilih |
baca juga : Cara Membuat Segitiga Siku Siku dalam Bahasa C
Jadi, itu dia Source Code dan Tampilan dari Program Operasi Matriks dalam Bahasa Pemrograman C++.
Sekian dan Terima Kasih.