FUNCTION
FUNCTION
- Fungsi (Function)
merupakan sekumpulan instruksi
yang membentuk satu unit serta memiliki nama.
- Fungsi digunakan untuk membantu organisasi program dan mengurangi besar (size ) program.
Topik yang dibahas :
- Deklarasi Definisi fungsi ØPrototipe fungsi ØArgumen fungsi ØDefault argumen fungsi
- Return
value
- Function overloading (Trivial Polymor-phism)
- Inline
Function
- 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 ); };atauvoid Hitung ( float Panjang, float Lebar, float *Luas )
{
*Luas = Panjang * Lebar ;
};
Prototipe Fungsi :
- 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.
- 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 Fungsi :
tipe Nama_Fungsi
( tipe var_1, tipe var_2, … );
atau
tipe Nama_Fungsi
( tipe , tipe , tipe, … );
void Tampil ( float Panjang, float Lebar );
atau
void Tampil ( float , float );
#include<iostream.h>
#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:
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 me refer 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;
}
Tidak ada komentar:
Posting Komentar