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