Ok masbro,mbakbro seperti yang telah kita ketahui dalam bahasa pemerograman terdapat istilah "Fungi dan Prosedur". Tidak peduli kamu menggunakan bahasa pemrograman apapun, seperti Java, C++, Visual Basic, dan bahasa pemrograman lainnya, pastilah mengenal kedua istilah ini. Dan sesuai dengan topik postingan saya, apa itu perbedaan Fungsi dan Prosedur?
Oke saya akan mencoba membahasnya. Perbedaan antara fungsi dan prosedur adalah : kalau fungsi dia akan mengembalikan suatu nilai pada pemanggilnya, sedangkan kalau prosedur 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 prosedur 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 fungsi untuk menghitung luas persegi panjang
public int HitungLuasPersegiPanjang(int p, int l)
{
int luasPersegiPanjang;
luasPersegiPanjang = p * l; return luasPersegiPanjang;
}
Perhatikan kata-kata yang berwarna merah. baik pada source code prosedur maupun source code fungsi. Seperti yang telah disebutkan diatas bahwa prosedur tidak mengembalikan suatu nilai apapun pada fungsi pemanggilnya sehingga tipe data yang digunakan adalah void. Sedangkan tipe data yang digunakan pada fungsi 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 fungsi terdapat statement return yang berguna untuk mengembalikan nilai pada pemanggilnya. Sedangkan pada prosedur tidak terdapat statement return. Pada prosedur 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 prosedur pemanggilan dilakukan dengan memanggil nama prosedurenya saja. Untuk fungsi pemanggilan harus menggunakan variabel untuk menampung nilai yang dikembalikan oleh fungsi. Untuk lebih jelasnya coba perhatikan cara pemanggilan prosedur dan fungsi dibawah ini
Cara memanggil prosedur
HitungLuasPersegiPanjang(p, l);
Cara memanggil fungsi
luas = HitungLuasPersegiPanjang(p, l);
Untuk pemanggilan prosedur cukup dituliskan nama prosedurnya, yaitu HitungLuasPersegiPanjang lengkap dengan parameter prosedurnya yaitu p, dan l. Sedangkan untuk memanggil fungsi HitungLuasPersegiPanjang, maka nilai luas persegi panjang yang dikembalikan oleh fungsi ini harus ditampung terlebih dahulu di variabel yang bernama luas. Dimana variabel ini harus memiliki tipe data yang sama dengan tipe data fungsi, yaitu integer. Nama fungsi harus ditulis lengkap dengan parameter fungsinya, yaitu p dan l.
Nach kapan waktunya kita menggunakan fungsi dan prosedur ?. Kamu dapat menggunakan fungsi apabila kamu membuat suatu method yang perlu mengembalikan nilai pada pemanggilnya. Sedangkan kamu perlu menggunakan prosedur apabila method tersebut tidak perlu untuk mengembalikan nilai ke pemanggilnya. Pada contoh kasus HitungLuasPersegiPanjang ini method yang lebih cocok dipakai adalah fungsi daripada prosedur. 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.
Oke sekian saja posting kali ini. Semoga penjelasan saya mudah dimengerti dan dapat menambah wawasan kamu.