Anda di halaman 1dari 8

BAB VIII

SUB PROGRAM

Sub program adalah bagian dari program yang mempunyai tugas tertentu. Struktur sub
program sama dengan program yaitu ada nama atau judul sub program, bagian deklarasi dan
bagian pernyataan.

Keuntungan :

- Mudah dikodekan

- Mudah dipahami

- Mudah melacak kesalahan

- Efisien

1. Procedure dan Function

Sub program atau sub rutin dalam bahasa pemrograman Delphi terdiri dari

a. Procedure

b. Function

Keduanya sama-sama berisi beberapa pernyataan yang melakukan tugas tertentu. Perbedaannya,
function selalu mengembalikan suatu nilai setelah dipanggil.

1.a Procedure

Bentuk sintaks secara umum :

procedure namaprocedure(daftar_parameter);
bagian deklarasi;
bagian pernyataan;

Lucky – Dasar Pemrograman Komputer Page 65


contoh:
procedure ulang(kar:string;jum:byte);
var
pencacah:byte;
begin
for pencacah:= 1 to jum do
listbox1.items.add(kar);
end;

1.b Function

Bentuk umum:
function namafunction(daftar_parameter):tipekembalian;
bagian deklarasi;
bagian pernyataan;

Contoh
function tambah(a,b:integer):integer;
begin
tambah:=a+b;
result:=tambah;
end;

Catatan !
• Nama procedure dan function mengikuti aturan penamaan pengenal atau identifier
• Parameter merupakan informasi yang diberikan ke prosedur
• Parameter boleh tidak ada
• Parameter boleh lebih dari satu dan dipisahkan dengan titik koma
• Untuk beberapa parameter dengan tipe sama, cukup menuliskan tipe data satu kali dan
masing-masing parameter dipisahkan dengan tanda koma.

2. Memanggil sub program


• Pemanggilan sebuah procedure atau function dilakukan dengan menyebut namanya.
• Sub program yang dipanggil harus berada di atas sub program yang memanggil.
• Bila terdapat parameter letakkan parameter di dalam kurung.
• Untuk menangkap nilai kembalian dari sebuah function dapat disediakan sebuah variabel

Lucky – Dasar Pemrograman Komputer Page 66


Contoh a:

kurang; // memanggil sub program bernama kurang yang tidak mempunyai parameter
ulang(‘delphi’,10); // memanggil sub program bernama ulang yang mempunyai 2 parameter

(bertipe string dan integer)

x:=tambah(3,4 ); // memanggil sub program bernama tambah yang mempunyai 2 parameter


dan nilai dimasukkan ke variabel x

Contoh b :

procedure ulang(kar:string;max1:integer);

var pencacah : byte;

begin

for pencacah:= 1 to max1 do

form1.ListBox1.Items.Add(kar);

end;

procedure TForm1.Button1Click(Sender: TObject);

var kar : string;

max1 : integer;

begin

kar:=edit1.text;

max1:=strtoint(edit2.text);

ulang(‘saya’,5); // memanggil prosedur bernama ulang yang mempunyai 2 parameter

( kar bernilai ‘saya’ dan max1 bernilai 5)

end;

Lucky – Dasar Pemrograman Komputer Page 67


Contoh c:

function tambah(a,b:integer):integer;

begin

result:=a+b;

end;

procedure TForm1.Button1Click(Sender: TObject);

var a,b:integer;

begin

a:=strtoint(edit1.Text);

b:=strtoint(edit2.Text);

edit3.Text:=inttostr(tambah(a,b)); // memanggil procedure tambah

end;

Proses memanggil dirinya sendiri disebut Proses Rekursi


Pada proses rekursi ini di dalam subprogram ada pernyataan yang memanggil subprogram itu
sendiri.
Contoh d:
function kali(a,b:integer):integer;
begin
if a=1 then kali:=b
else
kali:=b+ kali(a-1,b); // proses memanggil fuction kali
end;
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;

Lucky – Dasar Pemrograman Komputer Page 68


begin
i:=strtoint(edit1.text);
j:=strtoint(edit2.text);
edit3.text:=inttostr(kali(i,j));
end;
Penelusuran :
Pada prosedur button click ada perintah input data ke i dan j
- misalkan i = 3 dan j=4
- ada perintah mengisi edit 3 dengan nilai dari subprogram kali(a,b), berarti proses memanggil
subprogram Kali(3.4)

Langkah selanjutnya ke function Kali(3,4)

- a<>1 maka ke proses ELSE Kali := 4+kali(2,4) //memanggil function kali (2,4)

- a<>1 maka maka ke proses ELSE kali:= 4+4+kali (1,4) // memanggil function kali (1,4)

- a=1 maka kali:=4+4+4 =12 // tidak ada pemanggilan lagi proses keluar dari function dan nilai
akhir dari function dikembalikan ke yang memanggil

- maka edit3 berisi 12

3. Parameter Formal dan Aktual


Parameter ada 2:
- parameter formal
Adalah parameter yang ada saat pendeklarasian judul sub program.
- parameter aktual
Adalah parameter yang ada pada pemanggilan sub program.

Contoh

Lucky – Dasar Pemrograman Komputer Page 69


function tambah(a,b:integer):integer;

Parameter formal

pemanggilan fungsi:
tambah(2,4);

Parameter aktual

4. Variabel Lokal dan Global


• Variabel lokal adalah variabel yang dideklarasikan dalam sub program.
• Nilai dari variabel lokal tidak akan mempengaruhi nilai variabel yang lain, walaupun
dengan nama yang sama.
• Variabel global adalah variabel yang dideklarasikan di awal program, berlaku di semua
pernyataan termasuk di dalam sub program.
5. Pelewatan Parameter
• secara nilai
nilai parameter tidak dapat diubah oleh subprogram, walaupun sudah ada perubahan
di dalam subprogram

• secara referensi(variabel)
terjadi perubahan nilai parameter
cara : menambah kata tercadang var di depan parameter yg ingin diubah nilainya.

Soal – soal
1. Carilah letak kesalahan pada pendeklarasian sub program berikut :
a. function tambah(a,b:integer);

Lucky – Dasar Pemrograman Komputer Page 70


begin

result:=a+b;

end;

b. procedure tambah(a,b:integer)
var hasil : integer;

begin

hasil := a+b;

edit1.text := inttostr(hasil);

end;

2. Buatlah function untuk menghitung √ a2 +b 2+ c2 dengan masukan(parameter) berupa a,b,dan


c.

3. Buatlah program yang terdiri atas dua buah prosedur

- Prosedur pertama digunakan untuk memasukkan dua buah bilangan dari keyboard
- Prosedur kedua menampilkan bilangan terbesar di antara dua bilangan yang dimasukkan
dari prosedur pertama
4. Apa output fragmen program berikut :
function tambah(a,b:integer):integer;
var hasil:integer;
begin
hasil:=a+b;
result:=hasil
end;
procedure TForm1.Button1Click(Sender: TObject);
var a,b:integer;
begin
hasil:=25;
a:=strtoint(edit1.Text);
b:=strtoint(edit2.Text);

Lucky – Dasar Pemrograman Komputer Page 71


edit3.Text:=inttostr(tambah(a,b));
edit4.taxt:=inttostr(hasil);
end;

Daftar Pustaka

Pranata, Antony. 2003. Pemrograman Borland Delphi 6. Edisi 4. Yogyakarta. Penerbit


ANDI Yoyakarta.

Kadir, Abdul. 2007. Dasar-dasar Pemrograman Pascal . Yogyakarta. Penerbit ANDI


Yoyakarta.

Munir, Rinaldi. 2007. Algoritma dan Pemrograman. Bandung. Penerbit


INFORMATIKA.

Sutanta, Edhy. 2004. Algoritma. Yogyakarta. Penerbit GRAHA ILMU.

Yatini B, Indra. 2001. Pemrograman Terstruktur. Yogyakarta. Penerbit J&J Learning

Lucky – Dasar Pemrograman Komputer Page 72

Anda mungkin juga menyukai