V. FUNGSI
Fungsi adalah sekumpullan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi.
Nama fungis yang didefinisikan sendiri oleh pemrogram tidak boleh sama dengan nama build-in function pada compiler C++.
Fungsi digunakan agar pemrogram dapat menghindari penulisan bagian program ( kode ) berulang-ulang, dapat menyusun kode program agar terlihat lebih rapi dan kemudahan dalam debugging program.
5.1 FUNGSI, DEKLARASI DAN DEFINISI NYA
Pemrogram dapat membuat fungsi yang didefinisikan sendiri olehnya.
Contoh :
// Fungsi kuadrat
// tipe_return nama_fungsi (tipe_argument argumen)
float kuadrat ( float x )
{
return x*x;
}
Fungsi yang didefinisikan oleh pemrogram terdiri atas dua bagian, yaitu judul ( header ) dan isi ( body ). Judul dari sebuah fungsi terdiri dari tipe return ( float ), nama fungsi ( kuadrat ) dan list parameter ( float x ).
Jadi, judul untuk fungsi kuadrat adalah
float kuadrat ( float x )
Isi dari sebuah fungsi adalah blok kode yang mengikuti judulnya. Berisi kode yang menjalankan aksi dari fungsi, termasuk pernyataan return yang memuat nilai fungsi yang akan dikembalikan ke yang memanggilnya, Isi dari fungsi kuadrat() adalah
{
return x*x;
}
Biasanya isi dari fungsi cukup besar. Meskipun demikian, judulnya tetap hanya berada dalam satu baris. Isi dari sebuah fungsi dapat memanggil fungsi itu sendiri ( disebut rekursif ) atau memanggil fungsi lainnya.
Pernyataan return dari sebuah fungsi mempunyai dua manfaat, yaitu akan mengakhiri fungsi dan mengembalikan nilainya ke program pemanggil. Bentuk umum pernyataan return adalah :
return ekspresi;
Dengan ekspresi adalah sebuah ekspresi yang nilainya dinyatakan untuk sebuah variable yang tipenya sama seperti tipe return. Terdapat juga fungsi yang tidak memberikan nilai return atau tipe returnnya void.
Contoh :
#include <iostream.h>
void sayHello(char[]) ; // deklarasi fungsi sayHello()
void main()
{
char n[50];
cout<<"Masukkan nama anda : "; cin>>n;
sayHello(n);
}
void sayHello(char nama[]) // definisi funsi sayHello()
{
cout<<"Selamat datang "<<nama;
}
Pengertian deklarasi fungsi berbeda dengan dengan definisi fungsi. Suatu deklarasi fungsi adalah judul fungsi yang sederhana yang diikuti oleh tanda semicolon ( ; ). Sedangkan definisi fungsi adalah fungsi yang lengkap, terdiri dari judul dan isinya. Suatu deklarasi fungsi disebut juga sebagai prototype fungsi.
Suatu deklarasi fungsi seperti layaknya suatu deklarasi variabel, yang memberitahu compiler semua informasi yang dibutuhkan untuk mengkompilasi file. Compiler tidak perlu mengetahui bagaimana fungsi bekerja, yang perlu diketahui adalah nama fungsi, jumlah dan tipe parameternya, dan tipe balikannya ( return ). Hal ini merupakan informasi yang dimuat secara lengkap dalam judul fungsi.
Juga seperti sebuah deklarasi variabel, suatu deklarasi fungsi harus muncul diatas semua nama fungsi yang digunakannya. Berbeda dengan definisi fungsi, yang dapat diletakkan terpisah dari deklarasinya, dan dapat muncul dimana saja diluar fungsi main() dan biasanya dituliskan setelah fungsi main() atau dalam file terpisah yang jika ingin digunakan tinggal menambahkan prepocessor #include “nama_file” pada file utama.
Jika definisi fungsi diletakkan diatas fungsi main() maka deklarsi fungsi tidak diperlukan.
Variabel-variabel yang di list di dalam parameter fungsi disebut parameter-parameter formal atau argumen-argumen formal. Variabel lokal
seperti ini hanya ada selama eksekusi fungsi yang bersangkutan. Dalam contoh dibawah, parameter-parameter formalnya adalah x dan y.
Variabel yang dilist dalam pemanggilan fungsi disebut parameter-parameter actual atau argumen-argumen aktual. Sama seperti variabel lainnya dalam program utama, variabel-variabel tersebut harus dideklarasikan sebelum digunakan dalam pemanggilan. Dalam contoh dibawah, parameter-parameter aktualnya adalah m dan n.
Contoh :
// Penggunaan Fungsi Rekursif :
// Program mengecek sebuah bilangan integer atau bukan
#include <iostream.h>
#include <conio.h>
#include <math.h>
void cekInt(double);
void main()
{
double angka;
cout<<"Masukan sebuah angka :";cin>>angka;
cekInt(angka);
}
void cekInt(double n)
{
if(n>1)cekInt(n-1);
else if(n<1)cekInt(-n-1);
else
{
if(n>0&&n<1)cout<<n<<"\t Bukan bilangan bulat\n";
else cout<<n<<"\t Bilangan bulat\n";
}
}
Keluaran :
Masukkan sebuah angka : 57
Bilangan bulat
Masukkan sebuah angka : 0.57
Bukan bilangan bulat
Masukkan sebuah angka : -24
Bilangan bulat
5.2 NILAI BAWAAN UNTUK ARGUMEN FUNGSI
Salah satu keistimewaan C++ yang sangat bermanfaat dalam pemrograman adalah adanya kemampuan untuk menyetel nilai default
Argumen fungsi. Argumen-argumen yang mempunyai nilai bawaan nantinya dapat tidak disertakan di dalam pemanggilan fungsi dan dengan sendirinya C++ akan menggunakan nilai bawaan dari argumen yang tidak disertakan.
Contoh :
#include <iostream.h>
#include <conio.h>
void sayHello(int);
void main()
{
sayHello();
}
void sayHello(int n=1)
{
for(int m=0;m<n;m++) cout<<”Halloo …J\n”;
}
Penjelasan :
Jika pada program, argumen sayHello tidak diberikan, maka program akan menampilkan
Halloo …J
Sebanyak satu kali, namun jika argumen pada fungsi sayHello diberikan, misalkan sayHello(4), maka program akan menampilkan
Halloo …J
Halloo …J
Halloo …J
Halloo …J
Itulah yang disebut dengan nilai default pada fungsi.
5.3 MELEWATKAN ARGUMEN DENGAN REFERENSI
Lihat bab mengenai array dan pointer.
5.4 FUNGSI-FUNGSI BAWAAN C++
Anda dapat menggunakan fungsi-fungsi bawaan C++, misalkan fungsi-fungsi matematika, pengolah kata dan banyak lagi. Sebenarnya ( mungkin tidak terasa bagi anda ) main juga adalah fungsi, jadi tanpa anda sadari sebenarnya anda telah menggunakan fungsi.
Untuk dapat menggunakan fungsi-fungsi tersebut anda harus meng-include file dimana fungsi tersebut didefinisikan
Misalkan :
- Fungsi – fungsi matematika, anda harus meng-include file math.h
- Fungsi – fungsi pengolah string dan karakter, anda harus meng-include file string.h
- Fungsi clrscr(), getch(), getche() dalam file conio.h
0 Response to "V. FUNGSI"
Post a Comment