Definisi Matrik
Matriks adalah struktur penyimpanan data di dalam memori utama yang setiap individu elemennya diacu dengan menggunakan dua buah indeks (yang dikonotasikan dengan indeks baris dan kolom) .
Karena matrik sebenarnya larik, maka konsep umum dari larik juga berlaku di matrik:
Bentuk umum nya:
nama_matrik[i.j]
i : indeks baris
j : indeks kolom
1 |
2 |
3 |
4 |
|
1 |
M[1,1] |
M[1,2] |
M[1,3] |
M[1,4] |
2 |
M[2,1] |
M[2,2] |
M[2,3] |
M[2,4] |
3 |
M[3,1] |
M[3,2] |
M[3,3] |
M[3,4] |
4 |
M[4,1] |
M[4,2] |
M[4,3] |
M[4,4] |
Mendeklarasikan Matriks
Mendeklarasikan matriks artinya menentukan nama matrik, tipe data dan ukurannya.
Terdapat beberapa cara:
M = array[1..5, 1..7] of integer;
type MatrikInt = array[1..20, 1..20] of integer;
M: MatrikInt;
const Nbarismaks = 20;
const Nkolommaks = 20;
M = array[1..Nbarismaks, 1..Nkolommaks] of integer;
Menginisialisasi Matrik
Menginisialisasi matrik artinya memberi nilai awal yang sama untuk seluruh (atau sebagian) elemen matrik.
Berikut contoh prosedur mengisi setiap elemen matrik dengan angka nol (0).
procedure InisialMatrik(M:Matrik,input Nbar,Nkol : integer)
DEKLARASI
i,j :integer
ALGORITMA
for i = 1 to Nbar do
for j = 1 to Nkol do
M[i,j] = 0
endfor
endfor
Membaca Elemen Matrik
Artinya mengisi elemen elemen matrik dengan data dari piranti masukan misalnya kerboard.
procedure BacaMatrik(var M: MatrikInt; Nbar, Nkol : integer);
var i, j : integer;
begin
for i:=1 to Nbar do
begin
for j:=1 to Nkol do
begin
write(‘Ketikkan elemen [‘,i,’,’,j,’] : ‘); readln(M[i,j]);
end;
writeln;
end;
end;
Menulis Matrik
Artinya mencetak elemen elemen matriks ke piranti keluaran seperti monitor dengan asumsi bahwa elemen matriks sudah terdefinisi nilainya melalui pembacaan.
procedure TulisMatrik(var M: MatrikInt; Nbar, Nkol : integer);
var i, j : integer;
begin
for i:=1 to Nbar do
begin
for j:=1 to Nkol do
begin
write(M[i,j],’ ‘);
end;
writeln;
end;
end;
Menjumlahkan Matrik
Penjumlahan dua buah matrik A dan B menghasilkan matrik C.
for i:=1 to p do
begin
for j:=1 to q do
begin
C[i,j]:= A[i,j] + B[i,j];
write(C[i,j],’ ‘);
end;
writeln;
end;
Contoh Lengkap Program Matrik
Program Matrik_eMeReR;
uses wincrt;
type MatrikInt = array[1..20, 1..20] of integer;
var p, q, i, j : integer;
A, B, C: MatrikInt;
procedure BacaMatrik(var M: MatrikInt; Nbar, Nkol : integer);
var i, j : integer;
begin
for i:=1 to Nbar do
begin
for j:=1 to Nkol do
begin
write(‘Ketikkan elemen [‘,i,’,’,j,’] : ‘); readln(M[i,j]);
end;
writeln;
end;
end;
procedure TulisMatrik(var M: MatrikInt; Nbar, Nkol : integer);
var i, j : integer;
begin
for i:=1 to Nbar do
begin
for j:=1 to Nkol do
begin
write(M[i,j],’ ‘);
end;
writeln;
end;
end;
(*Program Utama*)
begin
writeln (‘Baca inputan ukuran matrik : ‘);
write(‘Masukan jumlah baris : ‘); readln(p);
write(‘Masukan jumlah kolom : ‘); readln(q);
writeln;
writeln(‘Masukan Nilai Matrik A’);
BacaMatrik(A, p, q);
writeln(‘Masukan Nilai Matrik B’);
BacaMatrik(B, p, q);
writeln(‘Nilai Matrik A’);
TulisMatrik(A, p, q);
writeln(‘Nilai Matrik B’);
TulisMatrik(B, p, q);
writeln;
writeln(‘Hasil dari penjumlahan Matrik A dan B adalah : ‘);
for i:=1 to p do
begin
for j:=1 to q do
begin
C[i,j]:= A[i,j] + B[i,j];
write(C[i,j],’ ‘);
end;
writeln;
end;
end.
Contoh Masalah
Balik kata
program balik_emerer;
kata : string;
procedure balikkan(var s: string);
i, j: integer;
temp : char;
begin
i := 1 ;
j := Length(s);
while (i<=j) do
begin
temp = s[i];
s[i] = s[j];
s[j] = temp;
i = i+1 ;
j = j-1 ;
end;
end;
begin
readln(kata);
balikkan(kata);
write(kata);
end.
Buatlah programnya !
Cetak Histogram
Program Hitogram_emerer;
uses wincrt;
type LarikEmerer = array[1..50] of integer;
var Larik : LarikEmerer;
j,k : integer;
procedure BacaLarik(var A: LarikEmerer; n: integer);
var i : integer;
begin
for i:=1 to n do
begin
write(‘Masukan nilai A[‘,i,’] : ‘); readln(A[i]);
end;
end;
procedure CetakHistogram(countA: LarikEmerer; n: integer);
var i,j : integer;
begin
for i:=1 to n do
begin
write(i, ‘ ‘);
for j:=1 to countA[i] do
write(‘*’);
writeln;
end;
end;
begin
write(‘Masukan jumlah data : ‘); readln(j);
writeln;
writeln(‘Masukan data : ‘);
BacaLarik(Larik,j);
writeln;
writeln(‘Cetak histogram : ‘);
CetakHistogram(Larik,j);
writeln;
end.
Sumber :
Sidik, Betha. PEMROGRAMAN WEB dengan HTML disertai lebih dari 200 contoh program beserta tampilan grafisnya . Informatika Bandung. 2009.