#include <stdlib.h>
int main(){
//Deklarasi Variable
int i,j;
printf("===============***********===============\n");
printf("Program Untuk Membuat Perkalian Matriks\n");
printf("===============***********===============\n\n");
//input
int A[4][4]={4,2,2,1,
3,3,2,0,
2,4,1,0,
2,3,1,1};
printf("Matrik A :\n\n");
for(i=0;i<4;i++){
for(j=0;j<4;j++)
printf(" %d",A[i][j]);
printf("\n");
}
printf("\n");
int S[4][4]={2,4,1,2,
1,0,3,4,
2,2,0,3,
1,3,2,2};
printf("Matrik S :\n\n");
for(int i=0;i<4;i++){
for(int j=0;j<4;j++)
printf(" %d",S[i][j]);
printf("\n");
}
printf("\n");
//Proses
printf("Hasil Perkalian Matriks A Dan S : \n\n");
int D[4][4];
for(i=0;i<4;i++){
for(j=0;j<4;j++){
D[0][0] = (A[0][0]*S[0][0]+A[0][1]*S[1][0]+A[0][2]*S[2][0]+A[0][3]*S[3][0]);
D[0][1] = (A[0][0]*S[0][1]+A[0][1]*S[1][1]+A[0][2]*S[2][1]+A[0][3]*S[3][1]);
D[0][2] = (A[0][0]*S[0][2]+A[0][1]*S[1][2]+A[0][2]*S[2][2]+A[0][3]*S[3][2]);
D[0][3] = (A[0][0]*S[0][3]+A[0][1]*S[1][3]+A[0][2]*S[2][3]+A[0][3]*S[3][3]);
D[1][0] = (A[1][0]*S[0][0]+A[1][1]*S[1][0]+A[1][2]*S[2][0]+A[1][3]*S[3][0]);
D[1][1] = (A[1][0]*S[0][1]+A[1][1]*S[1][1]+A[1][2]*S[2][1]+A[1][3]*S[3][1]);
D[1][2] = (A[1][0]*S[0][2]+A[1][1]*S[1][2]+A[1][2]*S[2][2]+A[1][3]*S[3][2]);
D[1][3] = (A[1][0]*S[0][3]+A[1][1]*S[1][3]+A[1][2]*S[2][3]+A[1][3]*S[3][3]);
D[2][0] = (A[2][0]*S[0][0]+A[2][1]*S[1][0]+A[2][2]*S[2][0]+A[2][3]*S[3][0]);
D[2][1] = (A[2][0]*S[0][1]+A[2][1]*S[1][1]+A[2][2]*S[2][1]+A[2][3]*S[3][1]);
D[2][2] = (A[2][0]*S[0][2]+A[2][1]*S[1][2]+A[2][2]*S[2][2]+A[2][3]*S[3][2]);
D[2][3] = (A[2][0]*S[0][3]+A[2][1]*S[1][3]+A[2][2]*S[2][3]+A[2][3]*S[3][3]);
D[3][0] = (A[3][0]*S[0][0]+A[3][1]*S[1][0]+A[3][2]*S[2][0]+A[3][3]*S[3][0]);
D[3][1] = (A[3][0]*S[0][1]+A[3][1]*S[1][1]+A[3][2]*S[2][1]+A[3][3]*S[3][1]);
D[3][2] = (A[3][0]*S[0][2]+A[3][1]*S[1][2]+A[3][2]*S[2][2]+A[3][3]*S[3][2]);
D[3][3] = (A[3][0]*S[0][3]+A[3][1]*S[1][3]+A[3][2]*S[2][3]+A[3][3]*S[3][3]);
//Output
printf(" %d",D[i][j]);
printf(" ");
}
printf("\n");
}
printf("\n\n");
system("pause");
return 0;
}