MEMAHAMI PENGGUNAAN KATA CADANGAN FUNGSI DAN PARAMETER FUNGSI
Sama halnya dengan procedure fungsi seringkali digunakan untuk menangani penulisan listing program secara berulang ulang, dengan dibuatnya suatu fungsi maka penulisan listing program yang berulang-ulang tersebut bisa ditulis satu kali dan disimpan dalam suatu fungsi tertentu dan pemanggilan hanya cukup nama fungsinya saja. Sedangkan perbedaan fungsi dengan procedure adalah kalau fungsi nilai yang dikirimkan balik berada pada nama fungsinya.
Bentuk Umum :
Fungtion Nama_fungsi(parameter) :
Type Variabel Lokal;
Begin Badan
Fungsi
End;
End;
Parameter berupa ungkapan pendefinisian variable seperti (var1:type_1;var2:type_2;var4,var5:type_3) dan sipat dari parameter pada fungsi sama dengan procedure
Variabel Lokal, berisi daftar variable yang hanya digunakan dalam fungsi itu sendiri.
Badan Fungsi, berupa program inti dari fungsi tersebut yang diapit oleh begin dan end..
Contoh :
function IntToBin(Value: LongInt; Digits: Integer):String;
var i: Integer;
begin
Result:='';
for i:=Digits downto 0 do if Value and (1 shl i)<>0 then Result:=Result + '1'
else
Result:=Result + '0';
End;
Contoh program konversi dari interger ke romawi
From |
ini listing programnya
Unit
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Froms, Dialogs, ExtsCtrls, StdCtrls;
Type
TFrom1 = class (TFrom)
Edit1:TEdit;
Button1:TButton;
Label1:TLabel;
Panel1:TPanel;
Procedure Button1Click(Sender:TObject);
private
{Private declaration}
public
{Private declaration}
Function IntToRoman(Value:Longint);String; //DEFINISI
Var
From:TFrom1;
implementation
{$R*.DFM}
function IntToRoman(Value: LongInt): String; //fungsi
const
Arabics: Array[1..13] of Integer = (1,4,5,9,10,40,50,90,100,400,500,900,1000);
Romans: Array[1..13] of String = ('I','IV','V','IX','X','XL','L','XC','C','CD','D','CM','M');
var i: Integer;
begin
for i := 13 downto 1 do
while (Value >= Arabics[i]) do begin
Value := Value - Arabics[i];
Result := Result + Romans[i];
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var N : integer ;
begin
n:=strtoint(edit1.text);
panel1.Caption:=IntToRoman(N); //pemanggilan fungsi
end;
end.
0 comments: