penjumlahan matriks dengan menggunakan prosedur
TRANSCRIPT
Penjumlahan Matriks Dengan Menggunakan Prosedur
Bentuk dari program terstruktur jelas nampak dalam program yang cukup besar, mis
Program Matriks karena ada proses yang sama yang selalu berulang kali dilakukan.
Terstruktur karena prosedur atau fungsi tampak berurutan susunannya dari atas ke bawah
dalam bentuk sub program yang lebih sederhana.
Dalam prosedur dan fungsi, array harus dideklarasikan sebagai sebuah tipe data karena
parameter formal pada header prosedur dan fungsi tidak mengenal deklarasi array dengan
cara yang biasa digunakan.
Membuat Tipe Data
Cara biasa : Var A : array [1..10,1..10] of integer;
Membuat tipe data : type matrix = array [1..10,1..10] of integer;
Matrix adalah nama tipe dari array[1..10,1..10] of integer, sehingga deklarasi variabel A
menjadi :
Var A : matrix;
Prosedur dalam program :
1. Prosedur ORDO: untuk melakukan input ordo/ukuran matriks A dan B.
2. Prosedur INPUT : digunakan untuk melakukan proses input data matriks A dan B
3. Prosedur HITUNG : Untuk menghitung matriks C = A + B dan D = B - A.
4. Prosedur CETAK : Untuk mencetak matrik A, B, C dan D
5. Program UTAMA : Untuk memanggil prosedur.
Listring program adalah sebagai berikut :
PROGRAM HITUNG_MATRIKS;
USES crt;
type matrix = array [1..10,1..10] of integer;
var i,j : integer;
{Prosedur Input Ukuran/Ordo Matrix A dan B}
PROCEDURE ORDO(var m,n:integer);
Begin
clrscr;
writeln('Tentukan Ordo/Ukuran Matrix ');
write('Jumlah Baris : '); readln(m);
write('Jumlah Kolom : '); readln(n);
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 Hitung}
Procedure Hitung (x,y:integer; a,b :matrix;var c,d :matrix);
Begin
for i:=1 to x do
Begin
for j:=1 to y do
Begin
c[i,j] := a[i,j] + b[i,j]; {C = A + B}
d[i,j] := a[i,j] - b[i,j]; {D = A – B}
End;
End;
End;
{Procedure Cetak}
Procedure Cetak(x,y : integer; m : matrix);
var i,j:integer;
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 : integer;
a,b,c,d: matrix;
Begin
ordo(x,y);
input(x,y,a);
input(x,y,b);
Hitung (x,y,a,b,c,d);
Writeln; writeln('Matriks A');
cetak(x,y,a); {Cetak Matriks A}
writeln; writeln('Matriks B');
cetak(x,y,b); {Cetak Matriks B}
writeln; writeln('Matriks C');
cetak(x,y,c); {Cetak Matriks C}
writeln; writeln('Matriks D');
cetak(x,y,d); {Cetak Matriks D}
readkey;
End.
Penjelasan Program:
Tipe data matrix dan variable i, j dideklarasikan di awal program sebagai variable global
karena akan digunakan dalam semua prosedur.
Prosedur ORDO melakukan input ukuran matrks m dan n kemudian hasilnya dikirim ke
dalam program utama yang diterima oleh variable x dan y. Oleh karena itu ke 4 variabel
harus mempunyai tipe yang sama.
Prosedur INPUT berfungsi melakukan input data matriks A dan B. Prosedur menerima nilai
ordo matriks lewat variable x dan y ketika dipanggil dari program utama. Variable x dan y
dalam prosedur input dan dalam program utama, namanya sama tetapi tidak saling
mengenal karena bersifat variable lokal. Data matriks disimpan ke dalam variabel M dan
hasilnya dikirim ke dalam program utama. Ketika menginput data matriks A, hasilnya ke
program utama yang diterima oleh var a sedangkan untuk data matriks B diterima oleh
variable b.
Prosedur Hitung menerima ukuran matriks dan data matriks A dan B untuk dihitung
kemudian mengirim hasil perhitungan C dan D dikirim ke dalam program utama.
Prosedur Cetak menerima ukuran matriks dan hanya satu data matrik untuk dicetak.
Prosedur dipanggil sebanyak 4 kali karena ada 4 buah matriks yang dicetak yaitu A, B, C,
dan D.
Jika dibandingkan dengan program penjumlahan matrik sebelumnya, maka program
penjumlahan matriks dengan menggunakan prosedur menjadi lebih ringkas dan
sederhana.
Dalam program di atas, kita dapat melihat bahwa sebuah prosedur CETAK dapat
digunakan 4 kali yaitu untuk mencetak 4 buah matriks yaitu matriks A, B, C, dan D dengan
cara memanggil 4 kali dan mengirim nilai lewat variable aktual sesuai dengan data dari tiap
matriks. Perhatikan cara memanggil prosedur cetak dalam program utama.
Dengan memahami cara kerja prosedur dalam perjumlahan dan pengurangan matriks
maka anda dapat mengembangkan lagi ke kasus perkalian matriks yang memiliki logika
dan konsep yang lebih kompleks.
Semoga bermanfaat.
God bless you all.