Penggunaan dan Penulisan PROCEDURE pada Pascal
Setelah sebelumnya kita membahas tentang pemrograman prosedural pada Pascal, pada kesempatan kali ini kita akan lanjut membahas tentang penggunaan dan penulisan PROCEDURE pada Pascal.
Deklarasi dan Struktur PROCEDURE pada Pascal
Sebuah PROCEDURE dideklarasikan tepat sebelum bagian BEGIN
dari program utama, dan setelah deklarasi variable.
Sebagai sub program, PROCEDURE memiliki komponen yang kurang lebih sama seperti program utama.
Bagian utama dari sebuah PROCEDURE adalah nama dan tubuh PROCEDURE. Ada juga bagian opsional yaitu parameter dan deklarasi lokal.
procedure <nama-procedure>(<parameter>: <tipe-data>);
// deklarasi lokal
begin
// tubuh procedure
end;
Berikut ini adalah contoh PROCEDURE yang berfungsi untuk mencetak karakter bintang sebanyak n-kali.
procedure cetakBintang(n: integer);
var
i: integer;
begin
for i:=1 to n do
write('*');
end;
Untuk penggunaan PROCEDURE tersebut akan kita bahas nanti. Sekarang kita bahas terlebih dahulu tentang bagian-bagiannya.
1. Nama PROCEDURE
Nama PROCEDURE merupakan nama yang kita gunakan untuk mengidentifikasi dan memanggil PROCEDURE.
Nama PROCEDURE terletak setelah keyword procedure
, dan diikuti oleh tanda kurung buka (jika terdapat deklarasi parameter). Sebisa mungkin nama sebuah PROCEDURE harus menggambarkan tujuan spesifiknya.
Seperti contoh di atas, karena fungsinya adalah untuk mencetak karakter bintang sebanyak n-kali maka nama PROCEDURE-nya adalah cetakBintang
.
2. Parameter
Parameter merupakan sebuah variable yang dapat diisikan dari program utama. Fungsi dari parameter adalah untuk mengatur keluaran dari PROCEDURE tersebut.
Letak penulisan parameter ini berada di dalam kurung setelah nama PROCEDURE.
Karena parameter ini merupakan sebuah variable, maka penulisannya juga sama dengan penulisan variable.
Pada contoh sebelumnya kita mendeklarasikan sebuah parameter dengan nama n yang bertipe integer.
Apabila kita ingin membuat beberapa parameter pada sebuah PROCEDURE maka dapat digunakan tanda koma. Seperti berikut
procedure contoh(a, b: integer, c: string);
begin
// tubuh procedure
end;
Apabila kita ingin membuat sebuah PROCEDURE tanpa parameter, maka tanda kurung tidak perlu dituliskan.
procedure contoh;
begin
// tubuh procedure
end;
3. Deklarasi Lokal
Deklarasi lokal, sama seperti bagian deklarasi program utama. Pada deklarasi lokal ini kita dapat mendeklarasikan varibale, constant, dan type.
Pada contoh sebelumnya kita telah membuat deklarasi variable lokal bernama i dengan tipe data integer.
Variable i ini hanya memiliki cakupan di dalam PROCEDURE ini saja. Jika kita mencoba menggunakannya pada program utama maka akan terjadi error.
4. Tubuh PROCEDURE
yang terakhir dan merupakan bagian terpenting dari PROCEDURE adalah tubuh. Pada bagian ini, kita bisa menuliskan logika program seperti yang kita tuliskan pada bagian program utama.
Tubuh PROCEDURE diawali dengan keyword begin
dan diakhiri dengan keyword end;
(menggunakan titik koma bukan titik).
Penggunaan PROCEDURE pada Pascal
Setelah mengetahui bagian-bagian dari PROCEDURE, sekarang kita akan mencoba membuat program utuh dengan menggunakan PROCEDURE yang sebelumnya kita buat.
Sialahkan ketikkan kode berikut ini pada Free Pascal.
program prosedural;
uses crt;
procedure cetakBintang(n: integer);
var
i: integer;
begin
writeln('mencetak * sebanyak ', n, ' kali');
for i:=0 to n do
write('*');
end;
begin
clrscr;
cetakBintang(10);
readln;
end.
Sekarang coba jalankan, maka kurang lebih akan muncul output seperti ini
mencetak * sebanyak 10 kali
**********
Apa yang terjadi?
Pertama ktia fokus dulu ke bagian program utama.
...
begin
clrscr;
cetakBintang(10);
readln;
end.
Pada program utama kita melakukan pemanggilan terhadap PROCEDURE cetakBintang
dengan cara mengetikkan nama PROCEDURE diikuti dengan nilai parameter yang ada di dalam kurung.
Selanjutnya Pascal akan mencari PROCEDURE yang namanya dipanggil. Karena kita memberikan nilai 10 (yang ada di dalam kurung), maka sekarang nilai n pada PROCEDURE cetakBintang bernilai 10.
...
// cetakBintang(10) -> nilai n sekarang adalah 10
procedure cetakBintang(n: integer);
var
i: integer;
begin
writeln('mencetak * sebanyak ', n, ' kali');
for i:=0 to n do
write('*');
end;
...
Selanjutnya program akan menjalankan tubuh PROCEDURE sesuai perintah yang telah kita tuliskan. Karena nilai variable n adalah 10, sesuai logika program maka karakter bintang akan dicetak sebanyak 10 kali.
Silahkan coba mengubah nilai parameter pada saat pemanggilan PROCEDURE cetakBintang, nantinya jumlah karakter bintang yang dicetak juga akan berubah.
Penutup
Sekian untuk kesempatan kali ini, semoga bermanfaat
Pada kesempatan selanjutnya kita akan membahas satu jenis sub program lagi yaitu tentang penulisan dan penggunaan FUNCTION pada Pascal.
See ya...