CONST section
TYPE section
VAR section
PROCEDUREs and FUNCTIONs section
Procedure Nama_Prosedur [(parameter)];
[Deklarasi variabel ;]
Begin
…
statemen-statemen;
…
End;
FUNCTION Avg(X, Y, Z :REAL) :REAL;
Header fungsi mirip dengan header prosedur, perbedaanya pada fungsi terdapat nilai yang dikembalikan mengikuti header fungsi (:REAL). Syntax deklarasi nya sebagai berikut :
Function Nama_fungsi [(parameter)]: Tipe_fungsi;
[Deklarasi variabel ;]
Begin
…
statemen-statemen;
[Nama_fungsi:=nilai_fungsi]
End;
Fungsi digunakan terutama untuk hal-hal spesifik atau yang sering dilakukan dan dapat mengembalikan nilai.
program fungsib; uses crt; var data : array [1..100] of integer; n,i: integer; function Rerata (x: array of integer):real; var sum :real; begin sum := 0; for i := 0 to n do begin sum := sum + x[i]; end; Rerata := sum/n; end; function stdev (x: array of integer):real; var jumlah: integer; jlh_k:real; begin jumlah:=0; jlh_k:=0; for i:=1 to n do begin jumlah:=jumlah+x[i]; jlh_k:=jlh_k+(x[i]*x[i]); end; Stdev:=sqrt((jlh_k-(jumlah*jumlah)/n)/(n-1)); end; begin clrscr; write ('Masukkan banyak data : '); readln (n); for i := 1 to n do begin write ('Data ke-',i, ' = '); readln (data[i]); end; writeln ; for i := 1 to n do begin write (data[i],' '); end; writeln; writeln ('Rata-rata = ',Rerata(data):0:2) writeln ('Standar Deviasi = ',stdev(data):0:2); readln; end. |
program belajar_procedure; uses crt; var n,hasil : integer; procedure pangkat2(a:integer); begin hasil := a*a; end; begin clrscr; write ('Masukkan N = ');readln (n); pangkat2(n); writeln ('Pangkat 2 dari ',n,' = ',hasil); readln; end. |