Dalam kegiatan kali ini kita akan membuat sebuah program menggunakan bahasa c untuk menghitung penjumlahan, pengurangan, perkalian, pembagian dua buah matrix ordo 2 dalam bilangan yang dapat diinputkan oleh user.
Disamping ini merupakan video tutorialnya :
Output yang akan dihasilkan :
Source code :
#include <stdio.h>
#include <stdlib.h>
float
varA[2][2],varB[2][2],varC[2][2];
int x,y,z;
//Buat fungsi menu
untuk tampilan pemilihan menu
void menu(){
printf("\n[1] PENJUMLAHAN");
printf("\n[2] PENGURANGAN");
printf("\n[3] PERKALIAN");
printf("\n[4] PEMBAGIAN");
printf("\n[0] KELUAR");
}
//buat fungsi untuk
memasukan nilai matrix
void masukkan(){
int i,j;
printf("===========Bilangan Matrix
A=========\n\n");
for (i=0; i<2; i++){
for (j=0;
j<2; j++){
printf("Bilangan
Matrix A [%d][%d] : ",i, j);
//buat inputan user menggunakan fungsi scanf
scanf("%f",&varA[i][j]);
}
}
printf("\n===========Bilangan Matrix
B=========\n\n");
for (i=0; i<2; i++){
for (j=0;
j<2; j++){
printf("Bilangan
Matrix B [%d][%d] : ",i, j);
//buat inputan user menggunakan fungsi scanf
scanf("%f",&varB[i][j]);
}
}
}
//buat fungsi untuk
menampilkan yang akan dipanggil pada fungsi
//lain seperti
penjumlahan
void tampilkan(char opr){
for (x=0; x<2; x++){
for (y=0;
y<2; y++){
printf("%2.0f
",varA[x][y]);
}
if(x==0)
printf("\t%c\t",opr);
else
printf("\t\t");
for (y=0;
y<2; y++){
printf("%2.0f
",varB[x][y]);
}
printf("\n");
}
}
//buat fungsi untuk
penjumlahan
void jumlah(){
masukkan(); //pemanggilan fungsi masukan
tampilkan('+'); //pemanggilan fungsi untuk menampilkan
printf("Hasil Penjumlahan:\n");
for (x=0; x<2; x++){
for (y=0;
y<2; y++){
printf("%2.0f
",varA[x][y]+varB[x][y]);
}
printf("\n");
}
}
//buat fungsi untuk
pengurangan
void kurang(){
masukkan(); //pemanggilan fungsi masukan
tampilkan('-'); //pemanggilan fungsi untuk menampilkan
printf("Hasil Pengurangan:\n");
for (x=0;
x<2; x++){
for (y=0;
y<2; y++){
//buat rumus penguranganya
printf("%2.0f
",varA[x][y]-varB[x][y]);
}
printf("\n");
}
}
//buat fungsi
perkalian
void kali(){
masukkan();
tampilkan('x');
printf("Hasil Perkalian:\n");
for (x=0; x<2; x++){
for (y=0;
y<2; y++){
varC[x][y]=0;
for
(z=0; z<2; z++){
//buat rumus
untuk perkalian
varC[x][y]+=varA[x][z]*varB[z][y];
}
printf("%2.0f
",varC[x][y]);
}
printf("\n");
}
}
//buat fungsi
pembagian
void bagi(){
float deterB,temp,vrBinvers[2][2];
masukkan();
tampilkan(':');
deterB = 1/((varB[0][0]*varB[1][1])-(varB[0][1]*varB[1][0]));
vrBinvers[0][0] = deterB*varB[1][1];
vrBinvers[0][1] = deterB*(-varB[0][1]);
vrBinvers[1][0] = deterB*(-varB[1][0]);
vrBinvers[1][1] = deterB*varB[0][0];
for (x=0; x<2; x++){
for (y=0;
y<2; y++){
printf("%2.0f
",varA[x][y]);
}
if(x==0)
printf("\tx\t");
else
printf("\t \t");
for (y=0;
y<2; y++){
printf("%6.2f
",vrBinvers[x][y]);
}
printf("\n");
}
printf("Hasil Pembagian:\n");
for (x=0; x<2; x++){
for (y=0;
y<2; y++){
varC[x][y]=0;
for
(z=0; z<2; z++){
varC[x][y]+=varA[x][z]*vrBinvers[z][y];
}
printf("%6.2f
",varC[x][y]);
}
printf("\n");
}
}
//fungsi utama
program
int main(void){
int selesai=1,pilih;
printf("\n================================================\n");
printf("========= PROGRAM C =========\n");
printf("========= PERHITUNGAN MATRIKS =========\n");
printf("========= Royan Rodiana =========\n");
printf("================================================\n\n");
while(selesai==1){
menu();
printf("\nMasukkan
pilihan >");
scanf("%d",&pilih);
switch(pilih){
case 0
: selesai=0; break;
case 1
: jumlah(); break;
case 2
: kurang(); break;
case 3
: kali(); break;
case 4
: bagi(); break;
//buat defaultnya
jika memilih menu selain diatas ada peringatan dan sistem terhenti
default
: printf("Maaf
nomor yang anda masukan tidak ada di list \n silahkan ulangi !!!\n\n");
system("pause");
return 0;
break;
}
}
system("pause");
return 0;
}
|
0 komentar:
Posting Komentar