Function merupakan sekumpulan instruksi yang membentuk satu
unit serta memiliki nama. Fungsi digunakan
untuk membantu organisasi program dan
mengurangi besar (size ) program.
Deklarasi dari Definisi Fungsi :
Syntax :
tipe
Nama_Fungsi ( daftar_argumen )
{
blok
pernyataan ;
}
Atau
tipe
Nama_Fungsi ( tipe var_1, tipe var_2, … )
{
blok_pernyataan;
};
dimana:
tipe
-> tipe data dari return value ( int, float, double,
char, void, signed,
unsigned, long, short).
Nama_Fungsi ->
nama fungsi sesuai aturan C++.
daftar_argumen
-> variable input / output.
blok_pernyataan
-> kumpulan instruksi.
Contoh :
float Hitung ( float Panjang, float Lebar )
{
float Luas; // Deklarasi variabel lokal
Luas
= Panjang * Lebar;
return
Luas;
};
atau
float Hitung ( float Panjang, float Lebar )
{
return ( Panjang * Lebar );
};
atau
void Hitung ( float Panjang, float Lebar, float
*Luas )
{
*Luas
= Panjang * Lebar ;
};
Prototype Function :
Prototipe fungsi
adalah deklarasi fungsi yang
hanya memiliki tipe, nama_fungsi, dan
daftar_argumen, tetapi tidak memiliki badan_fungsi. Prototipe fungsi harus dideklarasikan sebelum fungsi tersebut dipanggil. Biasanya prototipe fungsi dideklarasikan sebelum main
program (fungsi main()), dan
definisi fungsinya diletakkan
setelah main program. Manfaat dari
prototipe fungsi adalah untuk
menjamin tipe argumen yang
dilewatkan pada pemanggilan fungsi
benar-benar sesuai.
n Tanpa adanya
prototipe fungsi, amatlah mudah
bagi pemrogram untuk melakukan
kesalahan tanpa sengaja dalam melewatkan argumen. Misalnya, melewatkan argumen bertipe
float pada fungsi yang
seharusnya meminta tipe data int.
Deklarasi Prototipe Function :
tipe
Nama_Fungsi ( tipe var_1, tipe var_2, … );
atau
tipe
Nama_Fungsi ( tipe , tipe , tipe,
… );
Contoh :
Contoh :
void Tampil ( float Panjang, float
Lebar );
atau
void Tampil ( float , float );
#include<iomanip.h>
#include<conio.h>
long
kuadrat(long l); // Prototipe fungsi
void
main()
{
clrscr();
for(long
bil = 200; bil<2000; bil+=200)
cout<<setw(8)<<bil
<<setw(8)<<kuadrat(bil)<<endl;
}
//
Definisi Fungsi
long
kuadrat(long l)
{
return(l
* l);
}
Argumen (Function Parameter) :
Argumen merupakan data yang dikirim dari program ke fungsi dan sebaliknya. Argumen dipergunakan untuk mengirim / menerima data yang akan diproses.
Ada 2 jenis cara untuk mengirimkan argumen yaitu:
Argumen merupakan data yang dikirim dari program ke fungsi dan sebaliknya. Argumen dipergunakan untuk mengirim / menerima data yang akan diproses.
Ada 2 jenis cara untuk mengirimkan argumen yaitu:
1.
Passing by Value : nilai yang dikirim adalah nilai atau data yang akan di
proses
2.
Passing by Reference nilai yang di kirim
adalah berupa nilai pointer (bukan data) yang merefer ke suatu data.
Inline Function :
Fungsi ini
bermanfaat menghemat memori (mengabaikan peletakan argumen-argumen fungsi
dalam stack pada saat
pemanggilan fungsi),
dengan cara
menggabungkan fungsi ke
dalam program utama. Inline function
disarankan dipakai pada fungsi
yang sering dipanggil dan ukurannya
kecil (terdiri dari satu atau dua pernyataan). Pembuatan Inline
function tersebut dilakukan dengan cara menambahkan keyword inline di depan tipe fungsi
pada saat mendefinisikan
fungsi.
Syntax :
inline
tipe Nama_Fungsi ( argumen )
{
blok_pernyataan;
return
Nilai;
}
Contoh :
inline
float Luas ( float Pj, float Lb )
{ return ( Pj * Lb ); }
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
inline int
jumlah( int x, int y)
{
return ( x + y);
}
void main()
{
clrscr();
for(int
i = 1; i<100; i++)
cout<<i<<“.”<<jumlah(i,2*i)<<endl;
}