Anda di halaman 1dari 14

TUGAS AKHIR

I. PROGRAM PRAKTIKUM
1. Perkalian Matriks
Listing Program
#include <stdio.h>
main()
{
int I, J, K, b1, k1,b2, k2;
int A[100][100],B[100][100],C[100][100];
ulang:
printf("\t\tprogram perkalian matriks\n");
printf("Jumlah Baris Matrik A: ");scanf("%d", &b1);
printf("Jumlah Kolom Matrik A: ");scanf("%d", &k1);
printf("\n");
printf("Jumlah Baris Matrik B: ");scanf("%d", &b2);
printf("Jumlah Kolom Matrik B: ");scanf("%d", &k2);
printf("\n");

if (b1 != k2)
{
printf("Perkalian matriks tidak bisa dilakukan\n\n");
goto ulang;
}

printf("Memasukkan Nilai Matrik A:\n");


for(I=0; I<b1; I++)
{
for(J=0; J<k1; J++)
{
printf("A[%d][%d]=",I+1,J+1);
scanf("%d", &A[I][J]);
}
}

printf("Memasukkan Nilai Matrik B:\n");


for(J=0; J<b2; J++)
{
for(K=0; K<k2; K++)
{
printf("B[%d][%d]=",J+1,K+1);
scanf("%d", &B[J][K]);
}
}

for(I=0; I<b1; I++)


{
for(K=0; K<k2; K++)
{
C[I][K] = 0;
for(J=0; J<k1; J++)
C[I][K] +=A[I][J] * B[J][K];
}
}

printf("Hasil perkalian matrik :\n");


for(I=0; I<b1; I++)
{
for(K=0; K<k2; K++)
{
printf("%d\t",C[I][K]);
}
printf("\n");
}
}

Tampilan Program
Analisa Program
Program ini dibuat dengan menggunakan aplikasi array dua dimensi. Pada
program ini, operasi matriks yang dibuat adalah operasi perkalian. Di mana syarat
utama perkalia matriks baris dari matriks A harus sama dengan kolom dari
matriks B. Jadi, pada program dilakukan pengecekan terlebih dahulu tentang syrat
tersebut. Apabila syarat terpenuhi, maka program akan dapat mengeksekusi
perintah selanjutnya.
II. PROGRAM TUGAS AKHIR
1) Program C untuk menguji sifat simetris dari matriks bujursangkar
Listing Program
#include <stdio.h>
main()
{
int b,k,i,j,A[99][99];

ulang:
printf("Masukkan jumlah baris : ");scanf("%d",&b);
printf("Masukkan jumlah kolom : ");scanf("%d",&k);
printf("\n");

for(i=1;i<=b;i++)
{for(j=1;j<=k;j++)
{printf("Masukkan elemen matriks A[%d][%d] : ",i,j);
scanf("%d",&A[i][j]);}
}

printf("\nMatriks sebelum ditranspose\n");


for(i=1;i<=b;i++)
{for(j=1;j<=k;j++)
{printf("%d",A[i][j]);
printf("\t");}
printf("\n");
}

printf("Matriks sesudah ditranspose\n");


for(i=1;i<=k;i++)
{for(j=1;j<=b;j++)
{printf("%d",A[j][i]);
printf("\t");}
printf("\n");
}

if(i==j)
{printf("Matriks bersifat simetris\n\n");
goto ulang;}
else if(i!=j)
{printf("Matriks tidak simetris\n\n");
goto ulang;}
printf("\n\n");
}
Tampilan Program
Analisa Program
Untuk mengecek kesimetrisan sebuah matriks, pertama yang pasti adalah
bahwa matriks tersebut merupakan matriks persegi jadi jumlah kolom sama
dengan jumlah baris, oleh karena itu program hanya meminta input baris atau
kolom saja. Selanjutnya perogram menukarkan indeks baris pada matriks pertama
menjadi indeks kolom pada matriks kedua dan sebaliknya, hal ini untk
menentukan transpose nya, kemudian program bertanya menggunakan if
condition, apabila matriks A sama dengan matriks A t ranspose maka matriks
tersebut simetris.
2) Program menghitung trace matriks bujursangkar
Listing Program
#include <stdio.h>
main()
{
int i,j,b,k,A[99][99],B[99][99];
printf("Masukkan banyak baris : ");scanf("%d",&b);
printf("Masukkan banyak kolom : ");scanf("%d",&k);

if(b==k)
{printf("\n");
for(i=1;i<=b;i++)
{for(j=1;j<=k;j++)
{printf("Masukkan elemen matriks A[%d][%d] : ",i,j);
scanf("%d",&A[i][j]);}
}

printf("\n");
for(i=1;i<=b;i++)
{for(j=1;j<=k;j++)
{if(i==j)
B[i][j]=0;
B[i][j]+=A[i][j]+A[i+1][j+1];
}
}
printf("\n");
printf("Hasil trace adalah : %d",B[1][1]);
printf("\n\n\n");
}
else if(b!=k)
printf("Matriks tersebut tidak bisa di trace\n\n\n");
}

Tampilan Program

(di halaman berikutnya)


Analisa Program
Program meminta input nilai elemen dari setiap matrik bujur sangkar dan
kemudian akan menjumlahkan setiap elemen yang memiliki indeks sama, atau
dalam matriks akan menjumlahkan semua nilai didalam barisan diagonalnya.
3) Program C perkalian sebuah matriks dengan scalar
Listing Program
#include <stdio.h>
main()
{
int b,k,i,j,c,A[99][99],B[99][99];

printf("Masukkan jumlah baris : ");scanf("%d",&b);


printf("Masukkan jumlah kolom : ");scanf("%d",&k);
printf("\n");

for(i=1;i<=b;i++)
{for(j=1;j<=k;j++)
{printf("Masukkan elemen matriks A[%d][%d] : ",i,j);
scanf("%d",&A[i][j]);}
}
printf("\n");
printf("Masukkan bilangan skalar : ");scanf("%d",&c);
printf("\n");

printf("Hasil perkalian matriks A dengan bilangan skalar


adalah \n");
for(i=1;i<=b;i++)
{for(j=1;j<=k;j++)
{B[i][j]=A[i][j]*c;
printf("%d",B[i][j]);
printf("\t");}
printf("\n");
}
}

Tampilan Program

(di halaman berikutnya)


Analisa Program Tugas Akhir
Program-program di atas adalah program yang menggunakan aplikasi dari
array dua dimensi. Array dua dimensi dapat digunakan untuk melakukan proses
operasi matriks seperti menguji sifat simetris matriks, menghitung trace matriks
dan menghitung perkalian matris dengan bilangan scalar.
III. TUGAS TAMBAHAN
1) Menghitung determinan matriks 3x3 dengan cara kofaktor
Listing Program
#include <stdio.h>
 
main()
{
   int A[10][10];
   int n_b, n_k, i, j,z;
 
    //menginput jumlah baris dan kolom
   printf("\tMatriks Diagonal\n");
   printf("\t-Syarat, matriks harus simetris-\n\n");
   printf("Jumlah baris : ");
   scanf("%d", &n_b);
      n_k=n_b;
   printf("Jumlah Kolom : %d",n_k);
   printf("\n");
 
   // menginput elemen2 matriks A
   for (i=1; i<=n_b; i++)
   {
      for (j=1; j<=n_k; j++)
      {
           printf("Masukkan elemen matriks A[%d][%d] : ", i,
j);
         scanf("%d", &A[i][j]);
      }
   }
 
   printf("\n");
 
   // output bentuk matriks A sehenarnya
   printf("Matriks A = \n");
   for (i=1; i<=n_b; i++)
   {
      for (j=1; j<=n_k; j++)
      {
           printf("%d\t", A[i][j]);
      }
      printf("\n");
   }
   z=i+j;
    // output perubahan dari matriks A
   printf("\n\nHasil perubahan dari matriks A = \n");
   for (i=1; i<=n_b; i++)
   {
      for (j=1; j<=n_k; j++)
      {  z=i+j;
           if (z%2==0)
             {
             if (i==j)
                printf("%d\t", A[i][j]);
            else
                printf("1\t");
            }
         else
             printf("0\t");
      }
      printf("\n");
   }
   Return 0;
}

Tampilan

Analisa Program
Program di atas adalah program aplikasi dari arry 2 dimensi untuk menghitung
determinan matriks 3x3 dengan kofaktor. Program akan meminta input elemen
dari array yang menjadi elemen matriks yang akan diproses untuk menghitung
determinannya.
KESIMPULAN

Array dua dimensi adalah array yang memiliki dua buah subskrip yaitu
baris dan kolom. Array dua dimensi dapat digunakan dalam program yang
melakukan proses operasi matriks seperti penjumlahan/pengurangan, perkalian,
transpouse, dan sebagainya.

Anda mungkin juga menyukai