Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus
dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dari
fungsi.
Bentuk umum pendeklarasian fungsi:FUNCTION identifier(daftar-parameter) : type;
Contoh:
Function
Faktorial(Var Fak, Hasil : integer) : integer;
Function
Pangkat(X, Y : real) : real;
Blok
fungsi sama dengan blok prosedur yang diawali dengan kata cadangan Begin dan diakhiri dengan kata cadangan End dan titik koma.
Contoh:
program
contohfungsi;
uses crt;
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.
Nilai X ? 3
Nilai Y ? 6
6 + 3 = 9
Perbedaan fungsi dengan prosedur adalah:
- Pada fungsi nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada prosedur pada parameter yang dikirimkan secara acuan). Pada contoh, nama fungsi tersebut adalah Hitung dan nilai yang kirim balik berada pada nama fungsi tersebut. Sehingga nama fungsi ini harus digunakan untuk menampung hasil yang akan dikirimkan dari fungsi, sebagai berikut:
- Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya, sebagai berikut:
atau nilai fungsi tersebut dapat juga langsung dipindahkan
ke pengenal variabel yang lainnya, sebagai berikut:
Hasil:=
Hitung(X,Y);
writeln(X,’
+ ‘,Y,’ = ‘,Hasil);
Sedang pada prosedur, nama prosedur tersebut tidak dapat digunakan langsung yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.
No comments:
Post a Comment