Fungsi
adalah suatu bagian dari program yang dirancang untuk melaksanakan tugas
tertentu dan letaknya dipisahkan dari program yang menggunakannya.
Fungsi
merupakan kumpulan dari beberapa pernyataan yang dikumpulkan menjadi satu dalam
sebuah pengenal atau nama. Kita telah berhubungan dengan fungsi pada percobaan
sebelumnya, yaitu fungsi main().
Dengan
adanya fungsi akan didapatkan beberapa keunggulan dalam pemrograman, antara
lain:
Memudahkan
dalam membuat program
Memudahkan
pelacakan kesalahan
Dapat
menghemat penggunaan memori
Penamaan
suatu fungsi mirip dengan penamaan variable. Pendeklarasian fungsi secara umum
adalah sebagai berikut:
tipe_data1 nama_fungsi (tipe_data2 nama_argumen){tipe_data3 nama_variabel;pernyataan_1;pernyataan_2;..pernyataan_N;}
Suatu
fungsi dapat memiliki nilai kembalian (return value). tipe_data1 merupakan tipe
data dari nilai kembalian fungsi. Semua tipe data standar C++ dapat digunakan
sebagai tipe data nilai kembalian fungsi. Pengembalian hasil proses di dalam
fungsi dilakukan dengan menggunakan pernyataan return. nama_fungsi merupakan
pengenal fungsi. Penentuan nama fungsi sama dengan penentuan nama variable.
Suatu
fungsi juga dapat memiliki 31rgument. Argumen merupakan suatu variable atau
nilai yang akan diproses di dalam fungsi. Tipe_data2 merupakan tipe data dari
31rgument, sedangkan nama_argumen merupakan pengenal dari 31rgument. Sebuah
fungsi dapat
memiliki 32rgument lebih dari satu atau tidak
memiliki 32rgument sama sekali. Untuk memisahkan antara 32argument satu dengan
yang lainnya dipergunakan tanda “,” (koma).
Sebuah
fungsi tidak selalu dapat mengakses semua variable yang dideklarasikan dalam
satu program. Pada bahasa pemrograman C++ variabel dibedakan atas:
- variabel automatic (disebut variabel local), variabel ini hanya dapat di akses oleh fungsi yang mendeklarasikan variabel tersebut.
- variabel extern (disebut variabel global), variabel yang hampir dapat diakses di seluruh program.
- variabel statis, yaitu variabel yang nilainya adalah tetap meskipun fungsi yang mendeklarasikannya sudah selesai dieksekusi
- variabel referensi, yaitu variabel yang dijadikan sebagai argument dalam fungsi dengan memasukkan alamat (address) dari variabel tersebut dengan menggunakan operator & apabila terjadi perubahan pada variabel ini di dalam suatu fungsi, maka nilai variabel ini di luar fungsi tersebut juga akan berubah.
Pemrogram dapat
mendeklarasikanvariabel lokal denga nama sama dengan variabel global yang
berada di luar fungsi tersebut. Jika terjadi hal tersebut, variabel lokal tidak
dapat diakses di dalam fungsi dengan cara biasa. Untuk mengakses variabel
global tersebut harus digunakan operator ruang lingkup (::), dengan cara penulisan:
JENIS - JENIS FUNGSI
Berdasarkan
kegunaannya, fungsi di dalam bahasa pemrograman C++ dibedakan atas:
fungsi
forward
fungsi
overload
fungsi
rekursi
- Fungsi forward, merupakan cara lain dari pendeklarasian dan pendefinisian fungsi. Pada fungsi tipe ini, header fungsi diletakkan pada bagian “deklarasi global”, sedangkan pendefinisian fungsi diletakkan sesudah pendefinisian fungsi main().
- Fungsi overload merupakan kemampuan C++ yang memungkinkan sebuah fungsi dapat menerima berbagai tipe dan memberikan nilai kembalian yang bervariasi pula. Secara praktis, fungsi overload adalah dua atau lebih fungsi yang memiliki nama fungsi yang sama dengan argumen dan isi fungsi yang berbeda.
- Fungsi rekursi merupakan fungsi yang pada pendefinisian fungsi tersebut terdapat pernyataan yang memanggil fungsi itu sendiri.
Contoh Program : Menghitung Luas Bangun
#include #include float luas_p(int l, int p){ return (l*p);}float luas_l(int r){ return (3.14*(r*r)); }float luas_t(int a,int t){ return ((0.5*a)*t);}main(){int panjang,lebar,jari,alas,tinggi;cout<<" PROGRAM MENGHITUNG LUAS BANGUN\n";cout<<"_______________________________________\n";cout<<"\n";cout<<"MENGHITUNG LUAS PERSEGI PANJANG\n";cout<<"---------------------------------------\n";cout<<"Panjang = ";cin>>panjang;cout<<"Lebar = ";cin>>lebar;cout<<"\nLUAS = "<
cout<<"\n";
cout<<"\n";
cout<<"MENGHITUNG LUAS LINGKARAN\n";
cout<<"---------------------------------\n";
cout<<"Jari-jari =
";cin>>jari;
cout<<"\nLUAS =
"<
cout<<"\n";
cout<<"\n";
cout<<"MENGHITUNG LUAS
SEGITIGA\n";
cout<<"---------------------------------\n";
cout<<"Alas = ";cin>>alas;
cout<<"Tinggi = ";cin>>tinggi;
cout<<"\nLUAS =
"<
getch();
}
0 komentar
Post a Comment
1. Dilarang Rasis anarkis
2. Sopan, Tertib, Aman & No SARA
3. Berkomentar dengan Bahasa Sopan
4. Harap Tidak Menggunakan "Link Aktif"
5. Berkomentarlah dengan bahasa yang jelas