Seperti yang kita ketahui bahwa dalam bahasa pemrograman apapun
pastilah memiliki istilah yang disebut dengan function dan procedure.
Tidak peduli kamu menggunakan bahasa pemrograman apapun, seperti Java,
C++, Visual Basic, dan bahasa pemrograman lainnya, pastilah mengenal
kedua istilah ini. Lalu apa yang membedakan antara functiond dan
procedure, dan kapan kita perlu menggunakan function dan kapan kita
perlu menggunakan procedure ?
Oke saya akan mencoba membahasnya.
Perbedaan antara function dan procedure adalah : kalau function dia akan
mengembalikan suatu nilai pada pemanggilnya, sedangkan kalau procedure
dia tidak akan mengembalikan nilai apapun pada fungsi pemanggilnya.
Untuk lebih jelasnya saya akan memberikan contoh studi kasus program
untuk menghitung luas persegi panjang dalam bahasa Java. Berikut ini
merupakan source code procedure yang digunakan untuk menghitung luas
persegi panjang
public void HitungLuasPersegiPanjang(int p, int l)
{
int luasPersegiPanjang;
{
int luasPersegiPanjang;
luasPersegiPanjang = p * l;
System.out.println(“Luas persegi panjang = ” + ” ” + luasPersegiPanjang);
}
}
Berikut ini merupakan source code function untuk menghitung luas persegi panjang
public int HitungLuasPersegiPanjang(int p, int l)
{
int luasPersegiPanjang;
{
int luasPersegiPanjang;
luasPersegiPanjang = p * l;
return luasPersegiPanjang;
}
}
Perhatikan kata yang saya cetak tebal baik pada source code procedure
maupun source code function. Seperti yang telah disebutkan diatas bahwa
procedure tidak mengembalikan suatu nilai apapun pada fungsi
pemanggilnya sehingga tipe data yang digunakan adalah void.
Sedangkan tipe data yang digunakan pada function adalah tipe data
sesuai dengan nilai yang dikembalikan. Pada kasus ini tipe data yang
digunakan untuk menghitung luas persegi panjang adalah integer
(dideklarasikan sebagai int di Java). Perbedaan berikutnya, kalau pada
function terdapat statement return yang berguna untuk mengembalikan
nilai pada pemanggilnya. Sedangkan pada procedure tidak terdapat
statement return. Pada procedure HitungLuasPersegiPanjang, setelah nilai
luas persegi panjang didapatkan, maka nilai luasnya akan langsung
dicetak. Hal ini ditandai dengan statement System.out.println. Perbedaan
berikutnya adalah cara pemanggilan. Untuk procedure pemanggilan
dilakukan dengan memanggil nama procedurenya saja. Untuk function
pemanggilan harus menggunakan variabel untuk menampung nilai yang
dikembalikan oleh function. Untuk lebih jelasnya coba perhatikan cara
pemanggilan procedure dan function dibawah ini
Cara memanggil procedure
HitungLuasPersegiPanjang(p, l);
Cara memanggil function
luas = HitungLuasPersegiPanjang(p, l);
Untuk pemanggilan procedure cukup dituliskan nama procedurenya, yaitu
HitungLuasPersegiPanjang lengkap dengan parameter procedurenya yaitu p,
dan l. Sedangkan untuk memanggil function HitungLuasPersegiPanjang,
maka nilai luas persegi panjang yang dikembalikan oleh function ini
harus ditampung terlebih dahulu di variabel yang bernama luas. Dimana
variabel ini harus memiliki tipe data yang sama dengan tipe data
function, yaitu integer. Nama function harus ditulis lengkap dengan
parameter functionnya, yaitu p dan l.
Nach kapan waktunya kita menggunakan function dan procedure ?. Kamu
dapat menggunakan function apabila kamu membuat suatu method yang perlu
mengembalikan nilai pada pemanggilnya. Sedangkan kamu perlu menggunakan
procedure apabila method tersebut tidak perlu untuk mengembalikan nilai
ke pemanggilnya. Pada contoh kasus HitungLuasPersegiPanjang ini method
yang lebih cocok dipakai adalah function daripada procedure. Hal ini
disebabkan karena method ini digunakan untuk menghitung luas persegi
panjang, dimana nilai yang perlu dikembalikan pada fungsi pemanggilnya
adalah nilai luas persegi panjang.
Beberapa contoh untuk fungsi dan prosedur :
Study Kasus 1 :
program prosedur;
{$APPTYPE CONSOLE}
uses
SysUtils;
Procedure tambah;
var
a,b,c:integer;
begin
write('Masukkan Nilai A = ');readln(a);
write('Masukkan Nilai B = ');readln(b);
c:=a+b;
writeln('A + B = ',c);
end;
begin
tambah;
readln;
end.
Study Kasus 2 :
program prosedur by reference;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
x,y,z:integer;
Procedure tambah (var A,B,C:integer);
begin
C:=A+B;
end;
begin
write('Masukkan Nilai X = ');readln(x);
write('Masukkan Nilai Y = ');readln(y);
tambah(x,y,z);
writeln('X + Y = ',z);
readln;
end.
Study Kasus 3 :
program procedure_by_value;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
x,y:integer;
Procedure tambah (A,B:integer);
var
c:integer;
begin
c:=a+b;
writeln('Hasil Penjumlahan ',c);
end;
begin
write ('Ratih Arifiana Atika Irani');
readln;
write ('========================');
readln;
write('Masukkan Nilai X = ');readln(x);
write('Masukkan Nilai Y = ');readln(y);
tambah(x,y);
readln;
end.
Beberapa contoh untuk fungsi dan prosedur :
Study Kasus 1 :
program prosedur;
{$APPTYPE CONSOLE}
uses
SysUtils;
Procedure tambah;
var
a,b,c:integer;
begin
write('Masukkan Nilai A = ');readln(a);
write('Masukkan Nilai B = ');readln(b);
c:=a+b;
writeln('A + B = ',c);
end;
begin
tambah;
readln;
end.
Study Kasus 2 :
program prosedur by reference;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
x,y,z:integer;
Procedure tambah (var A,B,C:integer);
begin
C:=A+B;
end;
begin
write('Masukkan Nilai X = ');readln(x);
write('Masukkan Nilai Y = ');readln(y);
tambah(x,y,z);
writeln('X + Y = ',z);
readln;
end.
Study Kasus 3 :
program procedure_by_value;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
x,y:integer;
Procedure tambah (A,B:integer);
var
c:integer;
begin
c:=a+b;
writeln('Hasil Penjumlahan ',c);
end;
begin
write ('Ratih Arifiana Atika Irani');
readln;
write ('========================');
readln;
write('Masukkan Nilai X = ');readln(x);
write('Masukkan Nilai Y = ');readln(y);
tambah(x,y);
readln;
end.
Oke sekian saja posting kali ini. Semoga penjelasan Ratih mudah dimengerti dan dapat menambah wawasan kamu... :)
Tidak ada komentar:
Posting Komentar