Definisi Fungsi

 

Fungsi adalah upa-program yang memberikan / mengembalikan (return) sebuah nilai dari tipe tertentu (tipe dasar / tipe bentukan).

 

Bersesuaian dengan fungsi di dalam matematika:

f(x) = 2x2 + 5x – 8

 

jika x = 2 ,maka

f(10) = 2.102 + 5.10 – 8 = 242

 

 

Pendefinisian Fungsi

 

function F(x: real) : real;

 

(* Deklarasi jika ada*)

 

(*Algoritma*)

begin

F:=2*x*x + 5*x – 8;

end;

 

 

Pemanggilan Fungsi

 

Program tabelfungsi_emerer;

var x : real;

 

begin

…….

writeln(x,’       ‘,F(x));

…….

end.

 

Contoh Program dengan Fungsi

Program tabelfungsi_emerer;

uses wincrt;

var x : real;

 

function F(x: real) : real;

begin

F:=2*x*x + 5*x – 8;

end;

 

begin

writeln(‘————————————’);

writeln(‘    x      f(x)                     ‘);

writeln(‘————————————’);

x:=10.0  ;

while x<=12.0 do

 begin

 writeln(x:4:2,’   ‘,F(x):10:4);

 x:= x + 0.2;

 end;

writeln(‘————————————’);

end.

 

 

Prosedur vs Fungsi

Modul program sebaiknya menggunakan prosedur atau fungsi ?

Fungsi digunakan apabila modul program mengembalikan sebuah nilai, sementara prosedur digunakan bila modul menghasilkan efek netto dari sekumpulan aksi.

Tapi dalam prakteknya perbedaanya tidak jelas, karena prosedure bisa ditulis sebagai fungsi dan sebaliknya. Pemilihan tergantung dari kebutuhan dan seni memrogram.

 

Contoh Lain penggunaan Fungsi

Program GenapGanjil_emerer;

uses wincrt;

 var x : integer;

 

function Genap(n:integer):boolean;

begin

Genap:=(n mod 2 = 0);

end;

 

begin

write(‘Ketikan sembarang bilangan bulat : ‘); readln(x);

 if Genap(x) then

 writeln(‘genap’)

 else

 writeln(‘ganjil’);

end.

 

 

 

 

Program TitikTengah_emerer;

uses wincrt;

type Titik = record

     x:real;

     y:real;

     end;

 

var P1, P2, Pt : Titik;    y : integer;

 

function TitikTengah(P1,P2: Titik; var Pt: Titik):integer;

begin

Pt.x := (P1.x + P2.x)/2;

Pt.y := (P1.y + P2.y)/2;

TitikTengah := 1;                        end;

begin

writeln(‘Titik P1 : ‘);

write(‘x = ‘);readln(P1.x);

write(‘y = ‘);readln(P1.y);

 

writeln(‘Titik P2 : ‘);

write(‘x = ‘);readln(P2.x);

write(‘y = ‘);readln(P2.y);

 

y := TitikTengah(P1, P2, Pt);

 

writeln(‘Titik tengah = (‘,Pt.x:0:2,’,',Pt.y:0:2,’)');

end.