Fungsi memudahkan pengembangan program dengan mengemas kode ke dalam blok yang dapat dipanggil berulang kali. Fungsi menerima masukan (argumen) dan mengembalikan nilai (nilai balik). Definisi fungsi menentukan proses yang akan dilakukan, sementara prototipe menjamin kesesuaian tipe data.
2. Sebuah fungsi berisi sejumlah pernyataan
yang dikemas dalam sebuah nama.
Selanjutnya nama ini dapat dipanggil
beberapa kali di beberapa tempat dalam
program.
Fungsi memudahkan dalam mengembangkan
program dan menghemat ukuran program.
3. //program45.cpp
#include <iostream.h>
#include <conio.h>
void garis(); //prototipe fungsi
void main()
{
clrscr();
garis();
cout<<"Program Percobaan Fungsi"<<endl;
garis();
cout<<"Fungsi digunakan untuk menghemat program."<<endl;
cout<<"Fungsi dapat dipanggil berkali-kali dalam program"<<endl;
garis();
getch();
}
void garis()//definisi fungsi----
{
for(int i=1;i<=50;i++)
{
cout<<"-";
}
cout<<endl;
}
4. Pada contoh diatas. Fungsi garis()
digunakan untuk menampilkan 49 buah
karakter minus(-). Fungsi ini dipanggil
tiga kali di pada fungsi main()
5. Umumnya fungsi menerima masukkan
(disebut argumen atau parameter). Masukkan
ini selanjutnya diproses oleh fungsi. Hasil
akhir berupa sebuah nilai yang disebut nilai
balik (return value)
Contoh: kap=toupper(huruf);
Maka:
1. Huruf adalah argumen bagi fungsi toupper()
2. toupper() memberikan nilai balik (berupa
huruf kapital dari huruf) ke variabel kap.
7. Deklarasi fungsi dikenal dengan sebutan
prototipe fungsi. Prototipe ini berupa:
1. Nama fungsi
2. Tipe nilai balik fungsi
3. Jumlah dan tipe argumen
Dan diakhiri dengan titik koma(;), sebagaimana
pada pendeklarasian variabel.
8. long kuadrat(long l);
int maks3(int a, int b, int c);
double maks(double x, double y);
void garis();
Manfaat dari prototipe fungsi adalah menjamin
tipe argumen yang dilewatkan pada
pemanggilan fungsi benar-benar sesuai.
9. Setiap fungsi yang dipanggil di dalam
program harus didefinisikan.
Letaknya dapat dimana saja.
Khusus untuk fungsi yang disediakan sistem,
definisinya sebenarnya ada dalam pustaka,
yang akan digabungkan dengan program
sewaktu proses linking.
10. Tipe nilai balik nama fungsi tipe argumen argumen
Menentukan
Nilai balik
Tidak
diakhiri titik
koma(;)
long kuadrat(long l)
{
return(l*l);
}
11. Contoh definisi fungsi kuadrat() yang dibuat oleh
pemrogram (seperti yang telah disinggung pada
prototipe fungsi di depan:
//prototipe fungsi
long kuadrat (long l);
----------------------------
//definisi fungsi
long kuadrat (long l)
{
return(l*l);
}
12. Pada pendefinisian fungsi, setelah:
long kuadrat (long l)
tidak terdapat titikkoma berbeda dengan
prototipe fungsi yang diakhiri dengan
titikkoma
Return didalam fungsi digunakan untuk
memberikan nilai balik fungsi,pada contoh
fungsi kuadrat() memberikan nilai balik
berupa nilai kuadrat dari argumen
14. Umumnya fungsi menerima masukan yang
disebut argumen atau parameter.
Masukan / parameter diolah oleh fungsi dan
menghasilkan sebuah nilai balik (return
value).
15. //program46.cpp
#include <conio.h>
#include <iostream.h>
int maks(int a, int b, int c);
void main()
{
int a, b, c, minim;
cout<<"Masukkan A : ";
cin>>a;
cout<<"Masukkan B : ";
cin>>b;
cout<<"Masukkan C : ";
cin>>c;
minim = maks(a, b, c);
cout<<"Bilangan terkecil = "<<minim;
getch();
}
int maks(int a, int b, int c)
{
int kecil;
if (a<b)
kecil = a;
else
kecil = b;
if (c<kecil)
kecil = c;
return(kecil);
}
16. //program47.cpp
#include <conio.h>
#include <iostream.h>
void maks(int a, int b, int c);
void main()
{
int a, b, c, minim;
cout<<"Masukkan A : ";
cin>>a;
cout<<"Masukkan B : ";
cin>>b;
cout<<"Masukkan C : ";
cin>>c;
maks(a, b, c);
getch();
}
void maks(int a, int b, int c)
{
int kecil;
if (a<b)
kecil = a;
else
kecil = b;
if (c<kecil)
kecil = c;
cout<<"Bilangan terkecil = "<<kecil;
}
17. Pada C++ argumen fungsi dapat memiliki
nilai bawaan (nilai default).