program perkalian matriks dengan menggunakan prosedur

5
Program Perkalian Matriks Dengan menggunakan Prosedur Teori singkat tentang perkalian matriks sudah dibahas pada artikel sebelumnya. Kali ini, saya akan membahas perkalian matriks dengan menggunakan prosedur. Pada prinsipnya perkalian matriks dengan prosedur hampir sama dengan program penjumlahan matriks dengan prosedur. Perbedaannya hanya terletak pada prosedur perkalian saja. Program Perkalian Matrik terdiri dari prosedur : 1. ORDO untuk input data ordo matriks 2. INPUT. Untuk melakukan proses input data matriks A dan B 3. KALI untuk melakukan proses perkalian. 4. CETAK. Untuk mencetak matrik A, B, dan C. 5. Satu bagian program utama untuk memanggil prosedur Misalnya matrik A dengan ordo mxn akan dikalikan dengan matriks B dengan ordo pxq. Ingat bahwa syarat perkalian matriks A dan B adalah n harus dengan p. Jika tidak sama maka perkalian tidak dapat dilakukan. Oleh sebab itu, pada saat melakukan input ordo matriks, perlu dicek apakah p=n, jika tidak sama maka input data ordo harus diulangi. Listing programnya sebagai berikut : PROGRAM HITUNG_MATRIKS; USES Crt; type matrix = array [1..10,1..10] of integer; var i,j : integer; {Input Ukuran/Ordo Matrix A dan B} PROCEDURE ORDO(var m,n,p,q:integer); Begin clrscr; repeat

Upload: simon-patabang

Post on 20-Jul-2015

222 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Program perkalian matriks dengan menggunakan prosedur

Program Perkalian Matriks Dengan menggunakan Prosedur

Teori singkat tentang perkalian matriks sudah dibahas pada artikel

sebelumnya. Kali ini, saya akan membahas perkalian matriks dengan

menggunakan prosedur. Pada prinsipnya perkalian matriks dengan prosedur

hampir sama dengan program penjumlahan matriks dengan prosedur.

Perbedaannya hanya terletak pada prosedur perkalian saja.

Program Perkalian Matrik terdiri dari prosedur :

1. ORDO untuk input data ordo matriks

2. INPUT. Untuk melakukan proses input data matriks A dan B

3. KALI untuk melakukan proses perkalian.

4. CETAK. Untuk mencetak matrik A, B, dan C.

5. Satu bagian program utama untuk memanggil prosedur

Misalnya matrik A dengan ordo mxn akan dikalikan dengan matriks B dengan

ordo pxq. Ingat bahwa syarat perkalian matriks A dan B adalah n harus

dengan p. Jika tidak sama maka perkalian tidak dapat dilakukan. Oleh sebab

itu, pada saat melakukan input ordo matriks, perlu dicek apakah p=n, jika

tidak sama maka input data ordo harus diulangi.

Listing programnya sebagai berikut :

PROGRAM HITUNG_MATRIKS;

USES Crt;

type matrix = array [1..10,1..10] of integer;

var

i,j : integer;

{Input Ukuran/Ordo Matrix A dan B}

PROCEDURE ORDO(var m,n,p,q:integer);

Begin

clrscr;

repeat

Page 2: Program perkalian matriks dengan menggunakan prosedur

writeln('Tentukan Ordo/Ukuran Matrix ');

write('Jumlah Baris Matrik A: '); readln(m);

write('Jumlah Kolom Matrik A: '); readln(n);

write('Jumlah Baris Matrik B: '); readln(p);

write('Jumlah Kolom Matrik B: '); readln(q);

until (n=p)

End;

PROCEDURE INPUT(x,y : integer; var m : matrix);

Begin

for i:=1 to x do

for j:=1 to y do

begin

write('M[',i,',',j,'] : ');readln(m[i,j]);

end; writeln;

end;

{Procedure Untuk Proses Perkalian}

PROCEDURE KALI (x,y,z:integer; a,b :matrix;var c:matrix);

var k : integer;

Begin

for i:=1 to x do

for j:=1 to y do

Begin

C[i,j]:=0;

for k:=1 to z do

c[i,j] := C[i,j] + A[i,k]*B[k,j];

End;

End;

{Procedure Cetak}

Procedure Cetak(x,y : integer; m : matrix);

Page 3: Program perkalian matriks dengan menggunakan prosedur

Begin

Writeln;

for i:=1 to x do

begin

for j:=1 to y do

write(M[i,j],' ');

writeln;

end;

writeln;

End;

{Program Utama}

var x,y,z,r : integer;

a,b,c : matrix;

Begin

ordo(x,y,z,r);

input(x,y,a); {panggil prosedur INPUT untuk menginput data matriks A}

input(z,r,b); {panggil prosedur INPUT untuk menginput data matriks B}

Kali(x,y,r,a,b,c); {panggil prosedur KALI untuk mengalikan A dan B}

writeln; writeln('Matriks A'); cetak(x,y,a); {Cetak Matriks A}

writeln; writeln('Matriks B'); cetak(z,r,b); {Cetak Matriks B}

writeln; writeln('Matriks C'); cetak(x,r,c); {Cetak Matriks C}

readkey;

End.

Penjelasan Program

Tipe data matrix dan var i,j dideklarasikan di awal program sebagai variabel

global karena digunakan dalam semua prosedur.

Page 4: Program perkalian matriks dengan menggunakan prosedur

Prosedur ORDO menggunakan parameter ouput m,n,p, dan q sebagai output

dari prosedur ORDO. Nilai variabel m,n,p,q dilakukan dalam prosedur ORDO

kemudian dikirim ke dalam program utama dan diterimana oleh variabel

x,y,z,r. Dengan demikian maka nilai ordo matriks dalam program utama

disimpan dalam variabel x,y untuk matriks A dan z,r untuk matriks B.

Prosedur INPUT menggunakan parameter input x, y dan parameter output m

dengan tipe matrix. Variabel x dan y menerima nilai ordo matriks ketika

dipanggil dari program utama sedangkan variabel m mengirim data matriks

yang diinput oleh prosedur.

• Ketika menerima nilai ordo matriks A, maka prosedur INPUT akan

mengirimkan Data matriks A ke program utama yang diterima oleh

variabel a. Pernyataan untuk memanggil prosedur adalah input(x,y,a);

• Ketika menerima nilai ordo matriks B, maka prosedur INPUT akan

mengirimkan Data matriks B ke program utama yang diterima oleh

variabel b. Pernyataan untuk memanggil prosedur adalah input(z,r,b);

Prosedut KALI menggunakan parameter input z,y,z untuk menerima ordo

matriks dan parameter a, b untuk menerima data matriks A dan B yang

dikirim dari program utama. Juga menggunakan parameter output c untuk

mengirim hasil perkalian ke program utama yang diterima oleh variabel c.

Kedua variabel namanya sama yaitu c tetapi tidak saling mengenal karena

bersifat lokal.

Prosedur CETAK menggunakan parameter input x, y untuk menerima nilai

ordo matriks yang akan dicetak dan parameter input m untuk menerima data

matriks yang akan dicetak yang dikirim dari program utama.

Dengan memahami cera kerja prosedur ini, maka anda dapat

mengembangkan lagi dengan mempelajari penggunaan fungsi dalam program

pascal.

Semoga bermanfaat.

God bless you all.

Page 5: Program perkalian matriks dengan menggunakan prosedur