Jumat, 08 April 2011

Paper Perkalian Matriks

Program pascal tentang perkalian matrik
Oleh Khairu Alman bin Ali Musa & Michael Cham bin Shi Sheng Cham

Abstrak
                Matrik adalah struktur penyimpanan data di dalam memori utama yang setiap individu elemennya diacu dengan menggunakan dua buah indeks (yang biasanya dikonotasikan dengan indeks baris dan indeks kolom).Matriks adalah sekumpulan kotak  yang tersusun berjajar pada setiap baris dan kolom. Susunan ini juga disebut  GRID. Seperti tampilan di bawah ini .







INTRODUCTION
Dalam dunia pemograman ,kita mengenal adanya program matriks, yang banyak memiliki tingkat pemrosesan. Mahasiswa tentunya tidak asing lagi dengan pelajaran matriks, karena sewaktu Sekolah Menengah Atas (SMA,SMK,MA)  pelajaran ini telah dipelajari pada mata pelajaran matematika. Pada kesempatan ini, kami akan menjelaskan mengenai seputar matriks namun  diaplikasikan dalam bahasa pemrograman secara sederhana dan mudah dimengerti. 
Perkalian Matriks
 Perkalian Matriks adalah salah satu cabang dari pelajaran matriks. Sebelum kita konversikan ke dalam bahasa pemograman pascal, ada baiknya kita perhatikan contoh struktur perkalian matriks tersebut.




Setelah kita perhatikan struktur perkalian  matriks diatas tampak bahwa bila dikerjakan secara manual akan lebih rumit . Sebaliknya , bila dikerjakan dengan memakai bahasa pascal akan lebih mudah .Berapapun pengisisan angka yang dimasukan akan cepat diperoleh hasil yang akurat dan tepat (selagi algortima kita benar).
Selanjutnya,berdasarkan penelitian dari sumber lain kami mendapati program perkalian matriks yang dapat dijadikan bahan perbandingan dengan program yang kami buat . Sumber acuan kami dari  www.chronos-heaven.com ,
Dari pengamatan kami ,terdapat sedikit kekurangan pada  progam perkalian matriks yang diberikan sumber , yaitu saat terjadi kesalahan pengisian data ,program tidak memberitahu user kesalahan lebih awal,tapi pemberitahuan kesalahan berada di akhir pengeksekusian. Hal itu mengharuskan si user mengulangi pengisisan data dari awal lagi.  
Nah,untuk mengatasi masalah itu,kami akan berusaha  memberikan solusinya.Kekurangan pada program tersebut akan kami atasi di program yang akan kami buat ,sehingga kesalahan dalam pengisian data tidak  akan terjadi. 



















program perkalian_matrik;
uses crt;
var
    a,b,c : array [1..100,1..100] of integer;
    i,j,k,x,y,z : integer;
begin
    clrscr;
    writeln('Ukuran matrix A');
    write('Baris : ');
    readln(x);
    write('Kolom : ');
    readln(y);
     writeln;
     writeln;
   writeln('Ukuran matrix B');
   writeln('Baris : ',y);
   write('Kolom : ');
   readln(z);
               for i:=1 to x do
               for j:=1 to y do
                                     begin
                                            write('Elemen a[',i,',',j,'] : ');
                                            readln(a[i,j]);
                                     end;
                                     writeln;
                                              for i:=1 to y do
                                              for j:=1 to z do
                                                        begin
                                                             write('Elemen B[',i,',',j,'] : ');
                                                             readln(b[i,j]);
                                                       end;
                                                             for i:=1 to x do
                                                             for j:=1 to z do
                                                             for k:=1 to y do
                                                             c[i,j] := c[i,j] + a[i,k]*b[k,j];
                                                             writeln;
                                                             writeln;
                                                            writeln('Hasil dari perkalian Matrix A dengan Matrix B adalah : ');
                                                            Writeln;
                                                                    for i:=1 to x do
                                                                          begin
                                                                               for j:=1 to z do
                                                                               write(c[i,j],' ');
                                                                               writeln;
                                                                           end;
             writeln;
       readln;
end.

0 komentar:

Posting Komentar