Larik multi dimensi adalah larik yang bertipe larik, artinya ada pendeklarasian sebuah larik yang mempunyai tipe data larik juga.
Dalam array multidimensi terdiri atas baris (row) dan kolom (column). Index pertama adalah baris dan yang kedua adalah kolom .
BENTUK UMUM :
Type nama_array =ARRAY[bawah..atas, bawah..atas] of tipe_data;
var variabel_array : nama_array;
atau dengan menggunakan statemen var :
var variabel_array : ARRAY[bawah..atas, bawah..atas] of tipe_data;
Pernyataan berikut membentuk suatu array integer dengan nama bilangan , 10 x 10 elemen (100).
type matriks = ARRAY [1..10, 1..10] of integer;
var AKU: matriks;
untuk memasukkan tiap elemen maka, diperlukan suatu procedure dengan mempergunakan struktur pengulangan for ...do tersarang seperti berikut:
procedure ISI_MATRIK(AKU:matriks; m,n:integer);
var
i,j: integer; {faktor pengulang}
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
read(A[i,j]);
end;
readln;{ini memungkinkan kita menulis tiap baris elemen}
end;
untuk menampilkan tiap elemen maka, digunakan struktur pengulangan for ...do tersarang seperti berikut
procedure TULIS_MATRIK(AKU : matriks; m,n:integer);
var
i,j: integer; {faktor pengulang}
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
write(A[i,j]:6);
end;
writeln; {ini memungkinkan kita menulis elemen dalam baris dan kolom }
end;
end;
MATRIK
Sebagai perwujudan dari array dua dimensi, operasi aritmatika seperti penjumlahan, perkalian, dan pengurangan bisa dilakukan.
Contoh.
- Mendefinisikan Elemen
Program OPERASI_MATRIK;
uses wincrt;
type matrik=array[1..100,1..100] of real;
var
m,n, p, q: integer; {dimensi dari matrik}
A,B,C: matrik; {matrik A, B sebagai input, C sebagai hasil}
- Membaca Elemen Matrik
procedure bacamatrik(var A:matrik; m,n:integer);
var
i,j: integer; {faktor pengulang}
begin {read}
for i:=1 to m do
begin {do}
for j:=1 to n do
read(A[i,j]);
readln;
end; {do}
end; {read}
- Menampilkan Elemen Matrik
procedure tulismatrik(A:matrik; m,n:integer);
var
i,j: integer; {faktor pengulang}
begin {write}
for i:=1 to m do
begin {tiap baris}
writeln;
for j:=1 to n do
write(A[i,j]:6:2);
end; {tiap baris}
writeln;
end; {write}
- Penjumlahkan Matrik
procedure check_matrik(A,B,C:matrik; m,n,p,q:integer);
var i,j : integer;
begin
if (m=p) and (n=q) then
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
C[m,n]=A[m,n]+B[m,n])
end;
end;
end
else
writeln('DIMENSI MATRIK TIDAK COCOK')
end;
- Pengurangan Matrik
procedure check_matrik(A,B,C:matrik; m,n,p,q:integer);
var i,j : integer;
begin
if (m=p) and (n=q) then
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
C[m,n]=A[m,n]- C[m,n])
end;
end;
end
else
writeln('DIMENSI MATRIK TIDAK COCOK')
end;
- Perkalian Matrik
procedure perkalian_matrik(A,B,C:matrik; m,n,p,q:integer);
var i,j, k : integer;
C1: matrik;
begin
if (n=p) then
begin
for i:=1 to m do
begin
for j:=1 to p do
begin {inner product}
C1[i,j]:=0;
for k:=1 to n do
C1[i,j]:=C1[i,j]+A[i,k]*B[k,j];
end; {inner product}
end;
n:=q;
for i:=1 to m do
for j:=1 to n do
C[i,j]:=C1[i,j];
end
else
writeln('DIMENSI MATRIK TIDAK COCOK')
end;
- Transpose Matrik
procedure Transpose(A,B:matrik; m,n,p,q:integer);
var i,j : integer;
begin
for i:=1 to n do
begin
for j:=1 to m do
begin
B[m,n]=A[n,m]
end;
end;
end;
-. Mencari Elemen yang Kosong pada Matrik
procedure CHECK_ZERO_ELEMEN(A,matrik; m,n:integer);
var i,j:integer;
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
if B[m,n]= 0 then
writeln (‘terdapat elemen yang kosong’)
else
writeln (‘tidak terdapat elemen yang kosong’)
end;
end;
end;
Tidak ada komentar:
Posting Komentar