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.
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
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.
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
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