PROGRAM ALGORITMA FUNGSI DALAM
PASCAL + CONTOH PROGRAM
Setelah sebelumnya menulis tentang PROGRAM ALGORITMA PROSEDUR DALAM PASCAL+ CONTOH
PROGRAM dan PENGANTAR PEMPROGRAMAN MODULAR PASCAL & C+ maka kali ini saya akan mencoba menulis Function (Fungsi)
secara garis besar sama dengan procedure yang membedakannya adalah nama fungsi
harus dideklarasikan dengan type datanya. Fungsi adalah suatu bagian program
yang mengerjakan satu tugas dan hasilnya biasanya hanya satu. Fungsi juga
menerima parameter-paramter seperti procedure yaitu Parameter Nilai dan
Parameter Variabel. Selain itu fungsi juga diperbolehkan memiliki deklarasi
lokal tersendiri. Dan Cara memanggil fungsi adalah dengan menuliskan nama
fungsi beserta parameter-parameter yang diperlukan.
Bentuk umum pendefinisian fungsi:
Function
NamaFungsi(Parameter-Parameter) : Tipe Fungsi;
Tipe
Lokal
Konstanta
Lokal
Variabel
Lokal
Sub
Program Lokal (Fungsi/Prosedur)
Begin
.................
End;
Contoh
program:
Function
Hitung (X, Y, Z : Byte): Byte;
Begin
Z : = X + Y;
Writeln (‘Nilai X = ‘, X);
Writeln (‘Nilai Y = ‘, Y);
Writeln (‘Nilai Z = ‘, Z);
End;
Var
A, B, C : Byte;
Begin
A := 5; B:= 7; C:=3;
Hitung (A, B, C);
Writeln (‘Nilai A = ‘,A,’Nilai B = ‘,B,’Nilai C = ‘,C);
Readln;
End.
Fungsi Rekursif
fungsi yang memanggil dirinya
sendiri disebut sebagai prosedur rekursif. Pemanggilan terhadap dirinya sendiri
akan tetap dilakukan Prosedur Cetak karena tidak ada pernyataan yang
menghentikan pemanggilan. Pemanggilan ini akan terus berlangsung terus-menerus
(continues call). Untuk mengatasi masalah ini maka perlu dibuat suatu
pernyataan yang membatasi pemanggilan prosedur. Misalkan kode program
seperti berikut ini:
Var
I : Byte;
function Cetak : sting;
Begin
IF (I<=5) Then
begin
writeln('Respati');
{Prosedur Memanggil Dirinya Sendiri}
Cetak;
I:=I+1;
end;
End;
I : Byte;
function Cetak : sting;
Begin
IF (I<=5) Then
begin
writeln('Respati');
{Prosedur Memanggil Dirinya Sendiri}
Cetak;
I:=I+1;
end;
End;
{Program Utama}
Begin
I:=1;
{Panggil Prosedur}
Cetak;
End.
Begin
I:=1;
{Panggil Prosedur}
Cetak;
End.
terima kasih bng atas ulasnnya.... :D
BalasPadamTerima kasih gan dah mau mampir :D
BalasPadam