1. Algoritma pendeklarasian fungsi
Fungsi (Function) adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Pada fungsi, tipe data harus dideklarasikan. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi. Tipe tersebut ditulis pada akhir deklarasi fungsi yang didahului dengan titik koma, sebagai berikut:
Function identifier(daftar-parameter): type;
Contoh :
Function Faktorial(Var Fak, Hasil : integer) : integer;
a. Fungsi tanpa parameter
Suatu fungsi tanpa menggunakan parameter berarti nilai balik yang akan dihasilkannya merupakan nilai yang sudah pasti.
b. Parameter dalam fungsi
Parameter dalam fungsi dapat dikirimkan secara nilai (by value) atau secara acuan (by reference).
Contoh penulisan :
Function Hitung (A, B : integer) : integer;
c. Fungsi memanggil dirinya sendiri
Fungsi juga dapat memanggil dirinya sendiri. Proses fungsi memanggil dirinya sendiri juga merupakan proses rekursi (recursion).
d. Fungsi memanggil fungsi yang lain
Suatu fungsi dapat juga memanggil fungsi yang lain. Fungsi yang dipanggil letaknya harus berada di atas fungsi yag memanggil.
2. Contoh program untuk pemanggilan fungsi
a. Contoh penggunaan fungsi
Function Hitung(Var A,B : integer): integer;
Begin
Hitung := A + B;
End;
Var
X, Y : integer;
Begin
Write(’Nilai X ? ’); readln(X);
Write(’Nilai Y ? ’); readln(Y);
Writeln;
Writeln(X,’ + ’,Y,’ = ’, Hitung(X,Y));
End.
b. Contoh fungsi memanggil fungsi yang lain
Fuction Fungsi2(Y: integer) : integer;
Begin
Fungsi2 := Y * 2;
End;
Function Fungsi1(X: integer) : integer;
Begin
Fungsi2(X) + 5;
End;
Begin
Writeln(Fungsi1(3));
End.
3. Algoritma pendeklarasian prosedur
Prosedur (Procedure) adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian) dan tipe data tidak perlu dideklarasikan. Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul prosedurnya.
Prosedur banyak digunakan pada program terstruktur, karena:
- Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
- Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan swaktu-waktu bila diperlukan.
a. Parameter dalam prosedur
Nilai di dalam suatu modul program Pascal sifatnya adalah lokal, artinya hanya dapat digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit program yang lainnya.
b. Prosedur memanggil dirinya sendiri
Prosedur memanggil dirinya sendiri merupakan suatu prosedur yang memanggil atau menggunakan prosedur itu juga. Proses dari suatu program bagian yang memanggil dirinya sendiri dikenal dengan istilah recursion. Walaupun proses ini merupakan algorithm yang baik, tetapi membutuhkan banyak memori, karena setiap kali program bagian dipanggil oleh dirinya sendiri, sejumlah ruang memori tambahan dibutuhkan.
c. Prosedur memanggil prosedur yang lain
Di dalam suatu prosedur dapat memanggil prosedur yang lainnya.
4. Contoh program untuk pemanggilan prosedur
a. Contoh penggunaan prosedur
Procedure Garis;
Begin
Writeln(‘----------------------------------------‘);
End;
Begin
Garis;
Writeln(‘Rekayasa Perangkat Lunak”);
Garis;
End.
b. Contoh prosedur memanggil dirinya sendiri
Var
I : integer;
Procedure Rekursi;
Begin
Writeln(“Rekayasa Perangkat Lunak’);
I := I + 1;
If I <>
Rekursi
End.
Begin
I := 1;
Rekursi;
End.
c. Contoh prosedur memanggil prosedur yang lain
Procedure Pro1(X1 : integer);
Begin
Writeln(‘Nilai X = ‘, X1,’ ada di prosedur Pro1’);
End;
Procedure Pro2(X2 : integer);
Begin
Writeln(‘Nilai X = ‘, X2,’ ada di prosedur Pro2);
Pro1(X2);
End;
Var
X : integer;
Begin
X := 5;
Pro2(X);
End.
1. Perhitungan matematika menghitung rumus luas segitiga dengan menggunakan prosedur :
uses crt;
var
a, t : integer;
procedure segitiga;
begin
write ('Masukkan alas : '); readln (a);
write ('Masukkan tinggi : '); readln (t);
luas := a * t;
write ('Luas segitiga adalah ', luas);
end;
begin
segitiga;
readln;
end.
2. Perhitungan matematika (2 bilangan) :
program Prosedur;
uses crt;
var
Bil_1, Bil_2, Hasil : integer;
procedure Awal;
begin
Writeln('Latihan Pascal 2 : Prosedur dan Fungsi');
Writeln('--------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('
Writeln;
end;
procedure Baca_Data;
begin
Write('Masukkan bilangan pertama : ');
Readln(Bil_1);
Write('Masukkan bilangan kedua : ');
Readln(Bil_2);
Writeln;
end;
procedure Kali(A,B : integer);
var
I : integer;
begin
Hasil := 0;
for I := 1 to B do Hasil := Hasil + A;
end;
procedure Kalikan(A,B : integer; var C : integer);
var
I : integer;
begin
C := 0;
for I := 1 to B do C := C + A;
end;
begin
ClrScr;
Awal;
Baca_Data;
Kali(Bil_1, Bil_2);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Kalikan(Bil_1, Bil_2, Hasil);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Writeln;
Write('Tekan Enter...');
Readln;
end.