Jumat, 04 Maret 2011

Function 2

Seperti halnya prosedur, fungsi juga dapat diberikan parameter. Tata penulisan parameternya sama dengan cara penulisan parameter pada prosedur. Contoh programnya seperti ini

Program Func2;
Uses Crt;

Var
 A1, B1 : Integer;

Function Ambil(A, B : Integer) : Integer;
Begin
 A : = A div B;
 Ambil := A;
End;

Begin
 Clrscr;
 B1 := 10;
 A1 := B1 * Ambil(100,B1);
 Writeln('Hasil di A = ',A1);
 Readln;
End.

Kamu melihat bahwa fungsi "Ambil" tadi memerlukan 2 parameter integer "A" dan "B". Parameter tersebut akan diproses pada fungsi "Ambil" dan variabel yang dioperkam dari program pemanggil fungsi tidak akan berubah isinya walau diproses dalam fungsi.

Seperti pada prosedur, fungsi juga dapat menerima variabel-variabel yang diubah isinya dalam fungsi. Ini contoh programnya

Program Func2;
Uses Crt;

Var
 A1, B1 : Integer;
 C1 : Real;

Function Ambil(A,B : Integer; Var C : Real) : Integer;
Begin
 C := A/B;
 A := A div B;
 Ambil := A;
End;

Begin
 Clrscr;
 B1 := 10;
 A1 := B1 * Ambil(100,B1,C1);
 Writeln('Hasil di A1 = ',A1);
 Writeln('Hasil Bagi = ',C1:10:2);
 Readln;
End.

Bila kamu lihat, variabel "C" akan berubah isinya setelah fungsi "Ambil" dipanggil. Dalam memanggil fungsi, isi "C" harus berupa suatu variabel. Pada contoh tadi, "C" diganti dengan "C1" dari program induk. Isi "C1" akan menghasilkan bilangan yang berlainan dari 0 yang merupakan angka awal dari "C1" ketika dijalankan.

Pada fungsi, kamu juga dapat mendefinisikan variabel sendiri yang dipakai dalam fungsi tersebut.

Bila masih belum jelas tentang pendefinisian suatu fungsi, berikut ini adalah beberapa contoh pendefinisian suatu fungsi

    Function Hasil (A,B : Real; Var D : Char) : Real;

Fungsi tersebut mempunyai 3 parameter, yaitu "A", "B" dan "D". Parameter "A" dan "B" bertipe real, sedangkan "D" bertipe char. Parameter "D" akan mengubah variabdl yang dioperkan bila terjadi perubahan pada isi "D". Fungsi "Hasil" akan menghasilkan nilai Real.

    Function NoSil (R1 : Real; St : String) : Char;

Fungsi tersebut mempunyai 2 parameter, yaitu "R1" yang bertipe real dan "St" yang bertipe string. Hasil fungsi "NoSil" berupa suatu karakter.

0 komentar:

Posting Komentar