Procedure dalam Pascal
12 December 2012
Algoritma Pencarian dalam Pascal
12 December 2012

Program MATRIK dengan Pascal

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:

  1. Kumpulan elemen bertipe sama.
  2. Setiap elemen data dapat diakses langsung jika indeksnya diketahui (baris dan kolomnya)
  3. Merupakan struktur data yang statis, artinya jumlah elemennya dideklarasikan dahulu dan tidak bisa diubah selama pelaksanaan program

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:

  1. Sebagai peubah.

M = array[1..5, 1..7] of integer;

  1. Sebagai type.

type MatrikInt = array[1..20, 1..20] of integer;

M: MatrikInt;

  1. Mendefinisikan ukuran maksimum sebagai konstanta.

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.

Muhammat Rasid Ridho
Muhammat Rasid Ridho
Software Developer yang Suka Jalan jalan, Belajar Jaringan dan Berbagi Cerita. Instagram: muhammat.rasid.ridho Jangan lupa tulis komentar di bawah ini ya teman teman ... !

Leave a Reply

Your email address will not be published.