Pada dasarnya bahasa C++ tidak mengenal istilah prosedur, C++ hanya mengenal fungsi, prosedur dalam C++ dianggap sebagai fungsi yang tidak mengembalikan nilai, sehingga dalam pendeklarasian prosedur cukup dituliskan dengan kata kunci void dan diikuti dengan nama prosedur.
Fungsi/prosedur adalah suatu
bagian dari program yang digunakan untuk menjalankan suatu tugas tertentu dan
letaknya terpisah dari bagian program yang menggunakannya. Suatu
fungsi/prosedur dipanggil/digunakan dengan tujuan khusus, yaitu untuk
mengerjakan suatu tugas tertentu, dimana tugas-tugas tersebut dapat berupa
tugas input (menyimpan hasil ke dalam suatu array atau file) dan/atau output
(menampilkan hasil di layar monitor) ataupun melakukan penyeleksian dan perhitungan.
Suatu Fungsi/prosedur dapat memberikan suatu hasil balik ke program yang
memanggilnya atau tidak meberikan hasil balik sama sekali. Hasil balik ini
biasanya berupa suatu nilai yang dibutuhkan oleh bagian program yang
memanggilnya.
Fungsi dan procedure merupakan sejumlah baris pernyataan/ instruksi yang dikemas di dalam suatu nama (identifier).
Perbedaan antara Fungsi dan Procedure :
Procedure berisikan proses tertentu yang tidak akan mengembalikan nilai ke modul utama. Fungsi mengembalikan nilai ke modul utama yang memanggilnya.
Keuntungan pembuatan fungsi dan Procedure :
//Contoh 1
//Fungsi luas segitiga
//Prosedur luas segitiga
Luas segitiga= 10
Luas segitiga=10
Menghindari penulisan kode program yang sama
berulang kali.
Kemudahan menulis dan menemukan kesalaham (debug) program.
Fungsi dan prosedur dibuat untuk memecah-mecah program yang banyak
dan rumit menjadi sub program. Fungsi dan prosedur dapat digunakan
berkali-kali saat fungsi atau prosedur tersebut dibutuhkan dalam program
utama (main).
Berikut beberapa perbedaan antara fungsi dan prosedur.- Fungsi memiliki tipe data dan akan mengembalikan sebuah nilai dimana nilai tersebut memiliki tipe data yang sama dengan fungsi itu sendiri sedangkan prosedur tidak mengembalikan nilai dan hanya mengeksekusi perintah yang akan dipanggil di program utama.
- Karena Fungsi memiliki nilai maka nama fungsi tersebut dapat dieksekusi seperti variabel-variabel lain, dapat di print dan dapat juga nilainya ditampung di variabel baru. Sedangkan prosedur hanya dapat menyalin tugas yang telah dilakukan ke program utama.
- Dalam Fungsi tidak dapat dilakukan perintah baca/tulis sedangkan prosedur memungkinkan untuk perintah baca/tulis
//Contoh 1
//Fungsi luas segitiga
int luasSegitiga(int alas, int tinggi){//Contoh 2
int luas;
luas=(x*y)/2;
return luas;
}
//Prosedur luas segitiga
void luasSegitiga2 (int alas, int tinggi, int *luas){//Program utama
*luas=(alas*tinggi)/2;
}
int main(){Output adalah seperti berikut:
int a, b, c;
a=4; b=5;
/*Fungsi segitiga*/
printf(“Luas segitiga= %d”, luasSegitiga(a,b));
/*prosedur segitiga2*/
luasSegitiga2(a,b,&c);
printf(“\nLuas segitiga= %d”, c);
getch();
return 0;
}
Luas segitiga= 10
Luas segitiga=10
2. Prosedur
Prosedur sedikit berbeda dengan
fungsi, yaitu apabila pada fungsi dapat mengembalikan nilai return, pada
prosedur ini nilai tidak dikembalikan. Nilai hanya akan diproses dan kembali
pada keadaan awal saat keluar dari prosedur.
Prosedur dalam penulisannya memiliki
struktur, di antaranya :
·
judul
(berisi nama prosedur dan deklarasi parameter jika ada)
·
deklarasi
·
deskripsi
(badan prosedur)
Untuk dapat menggunakan prosedur
tersebut perlu adanya pemanggilan prosedur sama seperti pemanggilan fungsi.
Untuk lebih jelasnya kita lihat potongan program berikut :
void
hitungluaslingkaran()
{
float phi;
float r;
luas=phi*r*r;
printf("luas lingkaran : %0.2f\n",luas);
}
Pada prosedur di atas kita mencari
luas lingkaran dengan menggunakan rumus phi*r*r dengan deklarasi lokal berupa
phi dan r.
Tidak ada komentar:
Posting Komentar