Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram
(program bagian). Procedure biasanya bersifat suatu aktifitas seperti meghitung faktorial sebuah
bilangan, mencari bilangan genap dari sekumpulan bilangan ,dsb. Prosedur banyak digunakan
pada program yang terstruktur karena:
Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam
prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
Hanya memiliki satu fungsi tujuan (logical inherent). Sebuah prosedur sebaiknya hanya
memiliki satu fungsi tujuan dan tidak bercampur dengan tujuan lain. Hal ini untuk
membuat prosedur lebih focus.
Berukuran kecil (small size). Yang dimaksud ukuran disini adalah panjang algoritma atau
panjang kode program pada suatu prosedur. Ukuran kecil akan mudah dibaca maupun
diperbaiki.
Tidak tergantung pada prosedur lain (independent). Sebuah prosedur harusnya bersifat
mandiri, artinya sebuah prosedur dapat berjalan dan diuji tanpa menunggu bagian lainnya
selesai. Selain itu variable yang digunakan dalam prosedur tidak mempengaruhi variabel
yang digunakan pada bagian lain di keseluruhan program.
#include <stdio.h>
//Prosedur
void main(int panjang){// dimisalkan int panjang sebagai parameter input
int lebar, luas; //deklarasi variable dengan tipe data integer
panjang = 16;
printf("Masukkan Lebar Persegi: ");//menampilkan tulisan
scanf("%d",&lebar);//menyimpan nilai
luas=(panjang*lebar); //rumus luas persegi panjang
printf("Luas persegi panjang tersebut adalah : %d\n\n",luas);
luas=main2(21);//fungsi main2 dapat dipanggil disini karena memiliki nilai return
printf("Luas persegi panjang tersebut ke2 adalah : %d\n\n",luas);
}
Pengertian Fungsi
Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi
mempunyai output dengan tipe variabel yang kita tentukan. Berbeda dengan procedure yang bisa
tidak menggunakan parameter, fungsi harus menggunakan parameter dalam penggunaannya.
Bentuk umum Fungsi adalah sebagai berikut:
TipeData NamaFungsi (DaftarParameter){
/*Code atau Badan Prosedur*/
return nilaireturn;
}
Contoh Fungsi dalam Bahasa C:
#include <stdio.h>
//Fungsi
int main(int panjang){
int lebar, luas;
printf("Masukkan Lebar Persegi ke2: ");
scanf("%d",&lebar);
luas=(panjang*lebar);
return luas;
}
Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada
prosedur pada parameter yang dikirimkan secara acuan).
Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung
digunakan untuk dicetak hasilnya. Atau nilai fungsi tersebut dapat juga langsung
dipindahkan ke pengenal variable yang lainnya.
Nama Prosedur tidak dapat digunakan lagsung tidak seperti pada Nama Fungsi, yang
dapat langsung digunakan dari sebuah prosedur adalah parameternya yang mengandung
nilai balik.
Pada dasarnya tidak ada perbedaan yang signifikan antara prosedur dan fungsi pada
Bahasa C, hanya dibedakan dari return value. Jika suatu sub program tersebut memiliki
nilai balik (return value) maka sub program tersebut disebut Function (Fungsi)
jika tidak memiliki nilai balik maka sub program tersebut merupakan prosedure
(Procedure).
Baca Juga : Kumpulan Materi Bahasa C dengan Contoh Program dan Penjelasan
Memecahkan program yang rumit dan besar menjadi program-program yang lebih
sederhana atau kecil.
Untuk aktivitas yang dilakukan lebih dari satu kali / sering dilakukan berulang-ulang.
Prosedur
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.
Berikut akan diberikan contoh prosedur dalam C++ dan cara pemanggilannya di program utama :
1 //program penjualan
<conio.h>
2 #include
#include <iostream.h>
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Fungsi
Agar sebuah fungsi bisa mengembalikan nilai, di akhir sub program yang kita buat harus diakhiri
dengan kata kunci return diikuti dengan nilai yang akan dikembalikan. Dalam sebuah fungsi,
kata kunci return hanya bisa mengembalikan satu buah nilai saja.
Untuk memanggil sebuah fungsi, kita cukup memanggil nama fungsi di program utama, diikuti
dengan parameter aktual. Karena fungsi bisa mengembalikan nilai, nilai tersebut bisa ditampung
di dalam sebuah variabel atau langsung dimanipulasi.
1 //program menampilkan deret bilangan prima
2 #include <conio.h>
#include <iostream.h>
3 bool prima(int n) {
4 int i, jml;
5 jml = 0 ;
6 for (i=1;i<=n;i++) {
if (n % i == 0) {
7 jml ++ ; }
8 }
9 if (jml == 2) {
10 return (true); }
11 else {
return(false) ; }
12 }
13
14 //program utama
15 main() {
int j, n, cacah ;
16
17
18
19 cout << "Masukkan Batas bilangan : " ; cin >> n ;
<< "Berikut Bilangan itu : " << endl ;
20 cout
cacah = 0 ;
21 for (j=1;j<=n;j++) {
22 if (prima(j) == true) {
23 cout << j << " " ;
24 cacah ++ ;
}
25 }
26 cout << "\nBanyak bilangan prima adalah : " << cacah << endl ;
27 getch();}
28
29
30
Pengertian Fungsi ( function )
Function/fungsi adalah satu blok kode yang melakukan tugas tertentu atau satu blok instruksi
yang di eksekusi ketika dipanggil dari bagian lain dalam suatu program.
Tujuan pembuatan fungsi adalah :
1. Memudahkan dalam pembuatan program.
2. Menghemat ukuran program.
Keuntungan memakai fungsi :
Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.
Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda.
Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmerprogrammer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan
dalam sebuah projek
Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti
memodifikasi atau mengubah program yang kita buat
Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal
mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di
seluruh program.
Keyword void juga digunakan jika suatu function tidak mengandung suatu parameter
apapun.
{
int jml;
jml = a + b;
cout<
}
{ vol = p*l*t; }
main(){
int pj,lb,tg, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"Tinggi = ";cin>>tg;
volume(hsl,pj,lb,tg);
cout<<"\nVolume = "<<hsl;
getch();
}
Hasilnya :
Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data tertentu