Kamis, 01 Januari 2015

Different Function and Procedure

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



 

Oke sekian saja posting kali ini. Semoga penjelasan Ratih mudah dimengerti dan dapat menambah wawasan kamu... :)

Tidak ada komentar:

Posting Komentar