Jika anda diperintahkan untuk memasak masakan tertentu tentu saja
anda tidak akan mendengar semua cara memasaknya kecuali anda baru
belajar memasak. Kita bisa menyederhanakan perintah memasak dengan
mengajarkan atau memberitahukannya terlebih dahulu pada orang yang akan
beri perintah. Kita cukup katakan, "masaklah makanan A". Kita perlu
menyebut langkah-langkah seperti memotong sayur, menyalakan kompor,
menambahkan bumbu dan lain-lain; karena orang yang kita beri perintah
sudah paham langkah-langkahnya.
Dalam pemrograman, kita juga bisa menyederhanakan sekumpulan perintah atau statement menjadi sebuah prosedur atau fungsi. Prosedur dan fungsi disebut juga subprogram. subprogram bisa digunakan dengan memanggilnya di program utama atau prosedur lainnya. Prosedur bisa digunakan berkali-kali sehingga penulisan program akan jadi lebih singkat dibandingkan dengan meletakkan semua statement/pernyataan dalam kode program. write, readln, dll; adalah contoh prosedur yang sudah ada dalam pascal. Selain menggunakan prosedur yang ada, kita bisa membuat prosedur buatan kita sendiri. Berikut ini adalah contoh prosedur sederhana dan pemanggilannya.
Subprogram bisa memiliki "parameter" atau bisa juga tidak memiliki parameter. Pada contoh di atas parameternya adalah s. Berdasarkan letaknya, parameter prosedur dan fungsi bisa terbagi 2 yaitu :
Prosedur tidak memiliki nilai kembalian, berbeda dengan function yang punya nilai yang dikembalikan di tempat pemanggilannya.
Kode program di atas menggunakan fungsi yang bernama tuliskata. Function / fungsi di atas mengembalikan panjang "parameter s" yang memiliki tipe data string ke variabel i.Berdasarkan nilai atau data yang disimpan dalam parameter, parameter dibagi 2, yaitu :
Parameter yang menggunakan var akan menyalin alamat variabel, dan perubahan terhadap parameter tersebut akan mengubah nilai variabel . Btw, variabel tmp pada kode program di atas disebut sebagai variabel lokal, karena penggunaannya hanya sebatas untuk function atau procedure yang ditempatinya.
Dalam pemrograman, kita juga bisa menyederhanakan sekumpulan perintah atau statement menjadi sebuah prosedur atau fungsi. Prosedur dan fungsi disebut juga subprogram. subprogram bisa digunakan dengan memanggilnya di program utama atau prosedur lainnya. Prosedur bisa digunakan berkali-kali sehingga penulisan program akan jadi lebih singkat dibandingkan dengan meletakkan semua statement/pernyataan dalam kode program. write, readln, dll; adalah contoh prosedur yang sudah ada dalam pascal. Selain menggunakan prosedur yang ada, kita bisa membuat prosedur buatan kita sendiri. Berikut ini adalah contoh prosedur sederhana dan pemanggilannya.
program prosedurku;
uses crt;
procedure tuliskata(s :string);
begin
write('Katakan ', s);
end;
begin
clrscr;
tuliskata('hai');
readln;
end.
Subprogram bisa memiliki "parameter" atau bisa juga tidak memiliki parameter. Pada contoh di atas parameternya adalah s. Berdasarkan letaknya, parameter prosedur dan fungsi bisa terbagi 2 yaitu :
- Parameter Formal (formal parameter) : Parameter yang dideklarasikan dibagian blok fungsi.
- Parameter Aktual(actual parameter) : Parameter yang sebenarnya / parameter yang dilewatkan saat fungsi dipanggil.
Prosedur tidak memiliki nilai kembalian, berbeda dengan function yang punya nilai yang dikembalikan di tempat pemanggilannya.
program fungsiku;
uses crt;
var i: integer;
function tuliskata( s :string): integer;
begin
write(s);
tuliskata:=length (s);
end;
begin
clrscr;
i:=tuliskata('hai ');
write(i);
readln;
end.
Kode program di atas menggunakan fungsi yang bernama tuliskata. Function / fungsi di atas mengembalikan panjang "parameter s" yang memiliki tipe data string ke variabel i.Berdasarkan nilai atau data yang disimpan dalam parameter, parameter dibagi 2, yaitu :
- PARAMETER PASS BY VALUE : Parameter yang diberikan ke fungsi adalah ‘Nilainya’, tidak pernah menspesifikasikan variabelnya. Bila ada perubahan pada parameter formal, tidak akan mempengaruhi nilai pada parameter actual.
- PARAMETER PASS BY REFERENCEMemanipulasi nilai dari dalam fungsi. Setiap perubahan terhadap parameter formal akan memepengaruhi nilai pada parameter aktual. Parameter formal diberi symbol ‘&’. Cara ini adalah cara efektif yang memungkinkan sebuah fungsi mengembalikan lebih dari satu nilai.
jika parameter formal atau parameter yang terdapat pada subprogram menggunakan var, maka parameter tersebut disebut pass by reference. Jika tidak ada kata var maka itu disebut pass by value.
Parameter tanpa var akan menyalin nilai variabel sehingga nilai
variabel tidak akan berubah jika nilai parameter diubah dalam function
atau procedure.
Program subprogram;
uses crt;
var a, b:integer;
//parameter pass by value
procedure tukar(x, y : integer);
var tmp:integer;
begin
tmp:=x;
x:=y;
y:=tmp;
end;
//program utama
begin
clrscr;
a:=1;
b:=2;
tukar(a, b);
writeln('a : ', a);
writeln('b : ', b);
readln;
end.
Bandingkan hasilnya dengan contoh di bawah ini!
Program subprogram;
uses crt;
var a, b:integer;
//parameter pass by reference
procedure tukar(var x:integer; var y : integer);
var tmp:integer;
begin
tmp:=x;
x:=y;
y:=tmp;
end;
//program utama
begin
clrscr;
a:=1;
b:=2;
tukar(a, b);
writeln('a : ', a);
writeln('b : ', b);
readln;
end.
Parameter yang menggunakan var akan menyalin alamat variabel, dan perubahan terhadap parameter tersebut akan mengubah nilai variabel . Btw, variabel tmp pada kode program di atas disebut sebagai variabel lokal, karena penggunaannya hanya sebatas untuk function atau procedure yang ditempatinya.
1 comments:
Klik di sini untuk berkomentarsaya perlu listing array,if,while,for to do tolong kirim
Jawab