CSS
23 October 2012
Larik / Array dalam Pascal
28 November 2012

Fungsi dalam Pascal / Function

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.

Muhammat Rasid Ridho
Muhammat Rasid Ridho
Bahagia sekali jika dapat membantu orang. Senang Berbagi Ilmu, ilmu apa aja yang penting bermanfaat. . Agar terkabul juga doa MaMa "Semoga saya menjadi orang yang bermanfaat bagi keluarga, agama, nusa, dan Bangsa. Amin" Jangan lupa tulis di komentar dibawah jika ada yang perlu ditanyakan atau di diskusikan.

Leave a Reply

Your email address will not be published. Required fields are marked *