Rabu, 02 Maret 2011

Procedure 2

Sudah dijelaskan pada artikel Procedure 1. Terus bagaimana bila suatu prosedur memerlukan suatu parameter? Sebagai contoh kita lihat prosedur 'Writeln'. Prosedur ini memerlukan parameter berupa kalimat atau variabel yang akan dicetak. Untuk memberikan parameter pada suatu prosedur dapat diberikan di belakang nama prosedurnya. Untuk lebih jelasnya dapa anda lihat contoh berikut.

Program Prosc2;
Uses Crt;

Var
  I : Integer;

Procedure Cetak(I1 : Integer);
Begin
  Writeln('ini adalah cetakan ke ',I1);
End;

Begin
  For I := 1 to 5 do
  Cetak(I);
End.

Hasilnya akan terlihat seperti ini :

ini adalah cetakan ke 1
ini adalah cetakan ke 2
ini adalah cetakan ke 3
ini adalah cetakan ke 4
ini adalah cetakan ke 5

Angka yang berlainan untuk hasil cetakan merupakan parameter yang diberikan. Cara pemanggilan prosedur 'Cetak' tersebut adalah dengan menggunakan kata 'Cetak(I);', dimana 'I' merupakan suatu bilangan integer yang di-looping-kan. 'i' akan bertambah setiap kali 'For' dari 1 hingga 5. Dari proses 'For' tersebut dapat disimpulkan bahwa angka 1 hingga 5 pada hasil tampilan merupakan bilangan integer dari proses 'for'. Bilangan tersebut menjadi parameter dari prosedur 'Cetak'.

Pada prosedur 'Cetak' sendiri ditambahkan kata '(i1 : Integer);' dari proses sebelum dimodifikasi. Arti tambahan tersebut adalah prosedur tersebut memerlukan suatu parameter dalam tipe integer dan dalam prosedur tersebut akan memakai nama 'i1'. 'i1' hanya dapat dipakai di dalam prosedur saja. Bila telah diluar prosedur, 'i1' tidak akan berfungsi lagi. Hal ini terjadi karena jangkauan yang dimiliki 'i1' hanya sebatas dalam prosedur.

Setelah jelas mengenai jangkauan 'i1', timbul pertanyaan apakah 'i1' dapat diubah isinya pada prosedur dan bagaimana dengan prosedur di program induk, apakah bisa dipakai dalam prosedur? Untuk membahas masalah tersebut coba kamu jalankan program ini.

Program Prosc3;
Uses Crt;

Var
  i : integer;

Procedure Cetak(i1 : Integer);
Begin
  Writeln('ini adalah cetakan ke ',i1);
  inc(i1);
  writeln ('ini adalah isi i1 : ',i1);
End;

Begin
  Clrscr;
  For i := 1 to 5 do
  cetak(i);
  readln;
End.

Hasil yang tercetak di layar akan seperti ini

ini adalah cetakan ke 1
Ini adalah isi i1 : 2
Ini adalah cetakan ke 2
Ini adalah isi i1 : 3
Ini adalah cetakan ke 3
Ini adalah isi i1 : 4
Ini adalah cetakan ke 4
Ini adalah isi i1 : 5
Ini adalah cetakan ke 5
Ini adalah isi i1 : 6

Dari hasil tersebut dapat
disimpulkan bahwa isi 'i1' dapat dioperasikan dalam prosedur. Namun operasi dalam prosedur tersebut tidak akan berpengaruh terhadap variabel yang dioper ke dalam prosedur. Dalam contoh ini, yang dimaksud dengan variabel yang dioper adalah 'i'.

0 komentar:

Posting Komentar