Monday, November 1

C: Perkalian Matrik Menggunakan Bahasa C

Sedikit berbeda dengan biasanya... kali ini saya akan menggunakan Bahasa C. Yang akan saya bahas di sini adalah perkalian Matrix.

Source codenya adalah sebagai berikut:

#include<stdio.h>
#include<math.h>

void KaliMatriks(int m1[10][10], int m2[10][10], int r1, int c2, int i, int j, int k, int mult[10][10]){

printf("Matriks dengan dot product \n");
printf("Hasil dari perkalian adalah sebagai berikut:\n");

for(i=0;i<r1;i++)
{
for(j=0;j<c2;j++)
{
mult[i][j]=0;
for(k=0;k<r1;k++)
{
mult[i][j]+=m1[i][k]*m2[k][j];

}
printf("%d\t",mult[i][j]);
}
printf("\n");
}
}


int main()
{
int m1[10][10],i,j,k,m2[10][10],add[10][10],mult[10][10],r1,c1,r2,c2;

printf("Masukkan baris dan kolom matrix pertama (MAX 10)\n");
scanf("%d%d",&r1,&c1);
printf("Masukkan baris dan kolom matrix kedua (MAX 10)\n");
scanf("%d%d",&r2,&c2);

//ngecek apakah kolom matrix pertama sama dengan baris matriks kedua
//jika tidak sama maka tidak bisa dilakukan prosesn perkalian
if(r2==c1)
{
printf("masukkan nilai matriks pertama \n");
printf("Input berdasarkan baris\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
scanf("%d",&m1[i][j]);
}
printf("Matrik pertama yang anda masukkan adalah:\n");
for(i=0;i<r1;i++)
{
for(j=0;j<c1;j++)
printf("%d\t",m1[i][j]);
printf("\n");
}
printf("masukkan nilai matriks kedua \n");
printf("Input berdasarkan baris\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
scanf("%d",&m2[i][j]);
}

printf("Matriks kedua yang anda masukkan adalah:\n");
for(i=0;i<r2;i++)
{
for(j=0;j<c2;j++)
printf("%d\t",m2[i][j]);
printf("\n");
}

//panggil fungsi perkalian
KaliMatriks(m1,m2,r1,c2,i,j,k,mult);


getch();
}
else
{
printf("Tidak dapat dilakukan perkalian matrix");
}
}


Maksud dari kode di atas adalah program meminta kepada user untuk memasukkan kolom dan baris matrik pertama dan matrik kedua, kemudian user diminta mengisikan isi matriks sesuai dengan panjang baris dan kolom matrik pertama dan matrik kedua.
nah.. perkalian matrik sendiri terdapat pada fungsi KaliMatriks, fungsi ini bertipe void, karena tidak mengembalikan nilai apa-apa, hanya melakukan perkalian dan mencetak hasil perkalian.
Silahkan download source code perkalian matriks di sini

2 comments:

  1. makasih ya mas... aku lagi dapat tugas tentang perkalian matriks..

    ReplyDelete
  2. maaf mas, sepertinya itu koding masih salah coba di cek lagi.misal
    input :
    2 3
    1 2 3 4 5 6
    3 4
    1 2 3 4 5 6 7 8 9 10 11 12
    hasilnya masih salah.

    ReplyDelete

Pencarian Google