Matrix adalah teknik pemograman array 2D, karena tiap nilai pada matrix terkait dengan index pada kolom dan baris.Sedangkan procedure adalah bagian kecil program yang sering digunakan dan dipanggil melalui blok program utama atau procedure lain.
Penulisan matrix dalam pascal tidak lepas dari array.Seperti yang telah dikatakan pada paragraph pertama matrix terdiri index satu yang berada sebagai baris dan index yang lain sebagai kolom.Berikut ini pembentukan suatu matix yang dinyatakan dalam pascal:
uses wincrt;
var
A:array[1..8,1..6] of real;
i,j,m,n:integer;
begin
m:=3;
n:=4;
a[1,1]:=20.3;a[1,2]:=22.4;a[1,3]:=34.3;
a[1,4]:=33.1;a[2,1]:=50.3;a[2,2]:=21.2;
a[2,3]:=43.4;a[2,4]:=34.2;a[3,1]:=25.6;
a[3,2]:=25.4;a[3,3]:=54.7;a[3,4]:=37.5;
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:10:2);
writeln;
end;
end.
Procedure
Procedure adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian).Prosedure diawali dengan kata cadangan procedure di dalam bagian deklarasi procedure.Procedure dipanggil dan digunakan di dalam blok diagram yang lainnya dengan menyebutkan juduk procedurenya.
Alasan procedure banyak digunakan dalam program terstruktur karena:
- Merupkan penerapan konsep modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
- Untuk hal-hal yang sering dilakukan berulang-ulang,cukup dituliskan sekali saja dalam procedure dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
Berikut ini contoh program yang menggunkan procedure:
uses crt;
var
A:array[1..8,1..6] of real;
B:array[1..8,1..6] of real
C:array[1..8,1..6] of real;
i,j,k,m,n,l,h:integer;
procedure tulis_matriks;
procedure baca_matriks;
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
write('nilai [',i,',',j,'] ='
readln(A[i,j]);
end;
writeln;
end;
for i:= 1 to l do
begin
for j:=1 to h do
begin
write('nilai [',i,',',j,'] =');
readln(B[i,j]);
end;
writeln;
end;
end;
procedure jumlah_matrik;
begin
for i:=1 to m do
begin
for j:= 1 to h do
begin
C[i,j]:=A[i,j]+B[i,j];
end;
end;
writeln('nilai penjumlahan = ');
for i:=1 to m do
begin
for j:=1 to h do
write(C[i,j]:9:2);
writeln;
end;
end; {akhir prosedur 3}
begin
write('Baris matrik pertama = ');readln(m);
write('kolom matrik pertama = ');readln(n);
write('baris kedua = ');readln(l);
write('kolom matrik kedua = ');readln(h);
writeln;
if (m<>l) or (n<>h) then
writeln('Tidak bisa di jumlah!')
else
begin
baca_matriks;
writeln;
jumlah_matrik;
writeln;
end;
end;
begin
tulis_matriks;
writeln;
end.
Tidak ada komentar:
Posting Komentar