Minggu, 10 Juli 2011

Program Perkalian Matriks

Program perkalian matriks berordo (a x b) dengan matriks berordo (b x n). Nilai a, b dan n bisa ditentukan sendiri.
Ini Contoh Scriptnya. Aq tulis menggunakan bahasa C dan software DEV C++.

#include <stdio.h>
main(void)
{
          int a,b,n,i,j,l;
          printf("Perkalian Matriks\n");
          printf("-----------------\n\n");
          printf("Berapa ordo matriks A yang ingin dikalikan ?? (a x b)\n\n");
          printf("masukkan nilai a ! ");
          scanf("%d",&a);
          printf("masukkan nilai b ! ");
          scanf("%d",&b);
          printf("\nmatriks A berordo ( %d x %d )\n\n",a,b);
          // Matriks A
          int matriks1[a][b]; // Buat Matriks A
          for(i=0;i<a;i++)
          {
            for(j=0;j<b;j++)
            {
              printf("Masukkan bilangan baris ke-%d dan Kolom ke-%d = ",i+1,j+1);
              scanf("%d", &matriks1[i][j]);
            }
          }
          printf("\nUntuk dapat dikalikan maka matriks B harus berordo ( %d x n )\n",b);
          printf("\nBerapa nilai n dari matriks B ? ");
          scanf("%d",&n);
          printf("\n");
          // Matriks B
          int matriks2[b][n]; // Buat matriks B
          for(i=0;i<b;i++)
          {
            for(j=0;j<n;j++)
            {
              printf("Masukkan bilangan baris ke-%d dan Kolom ke-%d = ",i+1,j+1);
              scanf("%d", &matriks2[i][j]);
            }
          }
          // Mengalikan Matriks A dan Matriks B
          int hasil[a][n];
          for(i=0;i<a;i++)
          {
            for(j=0;j<n;j++)
            {
                            hasil[i][j] = 0;
                            for(l=0;l<b;l++)
                              {
                                hasil[i][j] += (matriks1[i][l]*matriks2[l][j]);
                              }
            }
          }
          // cetak ke layar
          printf("\nHasil perkalian antara matrik A dan Matrik B adalah ...\n\n\n");
          for(i=0;i<a;i++)
          {
                          printf("[");
            for(j=0;j<n;j++)
            {
              printf("\t%d", hasil[i][j]);
            }
            printf("\t]\n\n");
          }
          printf("\n");
          system("pause");
}

Contoh hasil jadinya bisa didownload di bawah ini.


Selamat Mencoba!!!

0 komentar:

Posting Komentar