Coding

Code Array Satu Dimensi, multidimensi dan bentukan dalam pascal

A. Array Satu Dimensi

Array satu dimensi adalah array yang hanya memiliki indeks tunggal. Indeks disini merupakan nomor identitas untuk setiap elemen di dalam array. Array dikatakan struktur data statis karena ukuran dari array tersebut sudah ditentukan oleh programmer (pembuat program) pada saat penulisan variabel array tersebut. Dan seterusnya akan memiliki ukuran yang sama. erhatikan algoritma dan program berikut ini :

Pogram InputOutputArray;
Var
Bilangan:array[1..5]of integer;
 i:integer;
begin
 for i:=1 to 5 do
  begin
   write(‘input angka ke‘,i,‘:‘);
   readln(Bilangan[i]);
  end;
 writeln(‘angka yang diinput: ‘);
 for i:=1 to 5 do
   writeln(Bilangan[i]);
 end.

B. Array of Record (Bentukan)

Layaknya variable, array juga bisa memiliki tipe data berupa tipe bentukan. Konsepnya akan sama saja seperti pada variable. Perhatikan algoritma dan program yang menerapkan array of record.

Program Gaji;
Const gajipokok = 500000;
Type Pegawai = Record
       Id, nama : String;
       Jam_kerja,gol : integer;
       totalgaji :longint;
end;
Var
 P:array[1..10]of Pegawai;
 i:integer;

function hitunggaji(x,z:integer) :longint;
var
 bonus : longint;
begin
 case z of
   1 : bonus:=100000;
   2 : bonus:=500000;
   3 : bonus:=1000000
  Else bonus:=0;
 End;
 hitunggaji:=(x*gajipokok)+bonus;
end;

begin { algorita program }
 for i:=1 to 10 do
  begin
   writeln(‘Pegawai ke‘,i);
   write (‘ID : ‘);
   readln(P[i].id);
   write (‘Nama : ‘);
   readln(P[i].nama);
   write (‘Jam Kerja : ‘);
   readln(P[i].Jam_kerja);
  write (‘Golongan : ‘);
  readln(P[i].gol);
  P[i].totalgaji:=hitunggaji (P[i].Jam_kerja, P[i].gol);
  end;

for i:=1 to 10 do
 begin
   writeln(‘Pegawai ke‘,i);
   writeln(‘Nama : ‘,P[i].nama);
  writeln(‘Gaji : ‘,P[i].totalgaji);
 end;
end.

C. Array Multidimensi

Array multidimensi adalah array yang memiliki indeks lebih dari satu. Contoh sederhana dari array multidimensi adalah matriks 2 dimensi. Coba anda perhatikan algoritma dan program transpose matrik berikut ini.

Program TransposeMatrik;
Uses crt;
Var 
  Matrik:array [1..10,1..10] of integer;
  i,j,baris,kolom:integer;
begin
 clrscr;
 write(‘input jumlah baris: ‘);
 readln(baris);
 write(‘input jumlah kolom: ‘);
 readln(kolom);
 for i:=1 to baris do
  for j:=1 to kolom do
   begin
    Write(‘Isi[‘,i,‘,‘,j,‘]:‘);
    Readln(matrik[i,j]);
   end;
 writeln(‘hasil transposenya: ‘);
 for i:=1 to kolom do
  for j:=1 to baris do
    Writeln(‘Isi[‘,i,‘,‘,j,‘]: ‘, matrik[j,i]);
 Readln;
end.