MENGENAL FUNGSI DALAM C++
![]() |
| Fungsi Dalam C++
|
- Untuk mengurangi pengulangan program yang sama
- Agar program menjadi terstruktur, rapi dan lebih mudah dikembangkan.
2. STRUKTUR FUNGSI
Sebuah fungsi sederhana mempunyai bentuk penulisan sebagai berikut:
return_type nama_fungsi(parameter) {
pernyataan
}
Keterangan:
- return_type adalah nilai balik saat fungsi dipanggil
- nama_fungsi, biasanya disesuaikan dengan kegunaan dari fungsi, namun boleh ditulis secara bebas dengan ketentuan tidak menggunakan spasi dan nama-nama fungsi yang memiliki arti sendiri.
- parameter/argumen, diletakan di antara tanda kurung setelah nama fungsi, argumen digunakan sebagai nilai masukan untuk fungsi dan dapat dibuat lebih dari satu atau tidak sama sekali.
#include <iostream.h>
#include <conio.h>
void hello() {
cout << "Hello Everyone\n";
}
void main() {
hello();
hello();
getch();
}
Output:
Hello Everyone
Hello Everyone
3. FUNGSI DENGAN PARAMETER
- parameter formal, yaitu variabel yang terdapat dalam definisi fungsi.
- parameter aktual, yaitu variabel atau nilai yang digunakan saat pemanggilan suatu fungsi.
#include <iostream.h>
#include <conio.h>
void tambah(int a, int b) {
cout << a + b << endl;
}
void main() {
tambah(10, 12);
tambah(100, 200);
getch();
}
Output:
22
300
4. PROTIPE FUNGSI
- Nilai balik dari fungsi
- Jumlah parameter yang digunakan fungsi
- Tipe data dari masing-masing parameter yang digunakan fungsi
#include <iostream.h>
#include <conio.h> //definisi prototipe
void tambah(int a, int b);
void kurang(int a, int b);
void main() {
tambah(10, 12);
tambah(100, 200);
kurang(30, 45);
kurang(200, 125);
getch();
}
void tambah(int a, int b) {
cout << a + b << endl;
}
void kurang(int a, int b) {
cout << a - b << endl;
}
Output:
22
300
-15
75
5. NILAI BAWAAN PARAMETER
#include <iostream.h>
#include <conio.h>
void hello(int jum=1); // Prototipe fungsi
void main() {
clrscr();
hello();
hello(3);
getch();
}
void hello(int jum) {
for (int i = 0; i < jum; i ++) {
cout << " C++ " << endl;
}
cout << " Selesai " << endl;
}
Output:
C++
Selesai
C++
C++
C++
Selesai
6. PASS BY VALUE
#include <iostream.h>
#include <conio.h>
void perkalian(int a, int b, int c);
void main() {
int a = 10, b = 30, c = 0;
cout << "\nNilai c SEBELUM fungsi perkalian dipanggil : " << c;
perkalian(a, b, c);
cout << "\nNilai c SETELAH fungsi perkalian dipanggil : " << c;
getch();
}
void perkalian(int a, int b, int c) {
c = a * b;
cout << "\nNilai c DALAM fungsi perkalian " << c;
}
Output:
Nilai c SEBELUM fungsi perkalian dipanggil : 0
Nilai c DALAM fungsi perkalian 300
Nilai c SETELAH fungsi perkalian dipanggil : 0
7. PASS BY REFERENCE
#include <iostream.h>
#include <conio.h>
void perkalian(int a, int b, int &c);
void main() {
int a = 10, b = 30, c = 0;
cout << "\nNilai c SEBELUM fungsi perkalian dipanggil : " << c;
perkalian(a, b, c);
cout << "\nNilai c SETELAH fungsi perkalian dipanggil : " << c;
getch();
}
void perkalian(int a, int b, int &c) {
c = a * b;
cout << "\nNilai c DALAM fungsi perkalian " << c;
}
Output:
Nilai c SEBELUM fungsi perkalian dipanggil : 0
Nilai c DALAM fungsi perkalian 300
Nilai c SETELAH fungsi perkalian dipanggil : 300
8. FUNGSI YANG MENGEMBALIKAN NILAI
#include <iostream.h>
#include <conio.h>
int tambahkan(int a, int b);
long kuadrat(long a);
void main() {
int a = 10, b = 30,
c = 0; a = kuadrat(a);
b = kuadrat(b);
c = tambahkan(a, b);
cout << "nilai c sekarang = " << c;
getch();
}
int tambahkan(int a, int b) {
return a + b;
}
long kuadrat(long a) {
return a * a;
}
nilai c sekarang = 1000
9. LINGKUP VARIABEL
#include <iostream.h>
#include <conio.h>
void lokal();
void main() {
int a = 25;
cout << "\nNilai a dalam fungsi main = " << a;
lokal();
cout << "\nNilai a dalam fungsi main = " << a;
getch();
}
void lokal() {
int a=70;
cout << "\nNilai a dalam fungsi lokal = " << a;
}
Output:
Nilai a dalam fungsi main = 25
Nilai a dalam fungsi lokal = 70
Nilai a dalam fungsi main = 25
b. Variabel Eksternal
#include <iostream.h>
#include <conio.h>
int a = 77;
void lokal();
void main() {
a = 25; cout << "\nNilai a dalam fungsi main = " << a;
lokal();
cout << "\nNilai a dalam fungsi main = " << a;
getch();
}
void lokal() {
a+=7;
cout << "\nNilai a dalam fungsi lokal = " << a;
}
Output:
Nilai a dalam fungsi main = 25
Nilai a dalam fungsi lokal = 32
Nilai a dalam fungsi main = 32
c. Variabel Statis
- jika variabel statis bersifat lokal, maka variabel hanya dikenal oleh fungsi dimana variabel dideklarasikan.
- jika variabel statis bersifat eksternal, maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada file yang sama.
- jika nilai variabel statis tidak diberikan, secara otomatis akan diberikan nilai nol.
Contoh 10:
#include <iostream.h>
#include <conio.h>
void saya_ingat();
void main(){
int mana = 50;
clrscr();
saya_ingat();
saya_ingat();
saya_ingat();
cout << " main() : mana = " << mana << endl;
getch();
}
void saya_ingat() {
static int mana = 77; mana ++;
cout << " Saya_ingat () : mana = " << mana << endl;
}
Output:
Saya_ingat () : mana = 78
Saya_ingat () : mana = 79
Saya_ingat () : mana = 80
main() : mana = 50
10. OVERLOADING FUNCTION
#include <iostream.h>
#include <conio.h>
int kuadrat(int angka);
long kuadrat(long angka);
float kuadrat(float angka);
void main() {
int a = 200;
float b = 50.56;
long c = 120;
cout << a << " dikuadratkan menjadi " << kuadrat(a) << endl;
cout << b << " dikuadratkan menjadi " << kuadrat(b) << endl;
cout << c << " dikuadratkan menjadi " << kuadrat(c) << endl;
getch();
}
int kuadrat(int angka){
return (angka * angka);
}
long kuadrat(long angka) {
return (angka * angka);
}
float kuadrat(float angka) {
return (angka * angka);
}
Output:
200 dikuadratkan menjadi 40000
50.56 dikuadratkan menjadi 2556.31
120 dikuadratkan menjadi 14400
