void

advertisement
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++.
2


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
3
void 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.
4
 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, … );
 Contoh
:
void Tampil ( float Panjang, float Lebar );
atau
void Tampil ( float , float );
5
#include <iostream.h>
void CETAK();
void main ()
{
CETAK();
}
void CETAK()
{
cout<<"BELAJAR C++";
}
Fungsi CETAK di-DEKLARASI-kan lebih dahulu, sebelum
fungsi main().
Perhatikan pakai tanda ‘;’ (titik koma)
Kalau tidak pakai titik koma dianggap men-DEFINISI-kan
fungsi
Instruksi memanggil fungsi CETAK
Tulisan ini disebut:
Men-DEFINISI-kan fungsi
Fungsi yang dibuat sendiri
Nama : CETAK
Tipe : void (artinya tanpa tipe)
Dalam fungsi ini ada instruksi untuk mencetak kalimat
“BELAJAR C++”
6
#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);
}
7
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.
8
13.05 Passing Variable.
Variabel Parameter dan variabel Argument
Contoh-04
A.
#include<stdio.h>
void CETAK(int T);
main()
{ int A,B,T;
A=5; B=2;
T=A+B;
CETAK(T)
}
void CETAK(int T)
{ printf(“%d”, T);}
9
Tercetak 7
5
2
A
B
7
T
T disini
disebut
PARAMETER
T disini adalah variabel yg nilainya di kirim ke fungsi
cetak (passing value)dan di terima o/ var T dlm
fungsi Cetak
7
T
T disini
disebut
ARGUMENT
13.05 Passing Variable.
Variabel Parameter dan variabel Argument
Contoh-04
A.
#include<stdio.h>
void CETAK(int T);
main()
{ int A,B,T;
A=5; B=2;
T=A+B;
CETAK(T);
}
void CETAK(int X)
{ printf(“%d”, X);}
5
2
A
B
7
X
7
T
T disini
disebut
PARAMETER
X disini
disebut
ARGUMENT
10
Tercetak 7
Contoh-04
C.
#include<stdio.h>
void CETAK(int T);
main()
{ int A,B,T;
A=5; B=2;
T=A+B;
CETAK(T);
}
void CETAK(int X)
{ int Y;
Y = X * 2;
printf(“%d”, Y);}
Tercetak 14
11
5
2
A
B
7
T
7
14
X
Y
Contoh-05
13.06 Nilai yang dihitung oleh Called Function
dapat dikembalikan (return) ke Calling Funtion
A. #include<stdio.h>
int JUMLAH(int A, int B)
{ int T;
T = A+B;
return(T);
}
12
Tercetak 7
Variabel dalam
fungsi main( )
return(T);
int JUMLAH(int A, int B);
main()
{ int A,B,T;
A=5; B=2;
T = JUMLAH(A,B);
printf(“%d”, T);
}
5
2
7
A
B
T
5
2
7
A
B
T
Variabel dalam
fungsi JUMLAH
B. #include<stdio.h>
int JUMLAH(int A, int B);
main()
{ int A,B,T;
A=5; B=2;
T = JUMLAH(A,B);
printf(“%d”, T);
}
13
Tercetak 7
return(Z);
int JUMLAH(int X, int Y)
{ int Z;
Z = X + Y;
return(Z);
}
Variabel dalam
fungsi main( )
5
2
7
A
B
T
5
2
7
X
Y
Z
Variabel dalam
fungsi JUMLAH
B. #include<stdio.h>
int JUMLAH(int X, int Y)
{ int Z;
Z = X + Y;
}
Tercetak 7
14
5
2
7
A
B
T
return(Z);
int JUMLAH(int A, int B);
main()
{ int A,B,T;
A=5; B=2;
T = JUMLAH(A,B);
printf(“%d”, T);
}
Kalau tak ada instruksi return( ),
maka yang di return adalah hasil
perhitungan terakhir
5
2
7
X
Y
Z
D.
#include<stdio.h>
int JUMLAH(int A, int B);
main()
{ int A,B,T;
A=5; B=2;
T = JUMLAH(A,B);
printf(“%d”, T);
}
int JUMLAH(int X, int Y)
{ int Z,U;
Z = X+Y;
U = X * Y;
return(Z)
}
Tercetak 7
15
Yang direturn
adalah nilai Z
E.
#include<stdio.h>
int JUMLAH(int A, int B);
main()
{ int A,B,T;
A=5; B=2;
T = JUMLAH(A,B);
printf(“%d”, T);
}
int JUMLAH(int X, int Y)
{ int Z,U;
Z = X+Y;
U = X * Y;
}
Tercetak 10
16
return
nilai U
13.12 Variabel Static
Jika variabel lokal berdiri sebagai variabel statis maka :
•Var tetap hanya dapat diakses pada fungsi yang mendefinisikannya
•Var tidak hilang saat eksekusi fungsi terakhir
•Inisialisasi oleh program akan di lakukan sekali saja selama program dijalankan
Jika variabel eksternal di jadikan sebagai variabel statis variabel ini dapat di akses oleh semua file yang di
definisikan pada file yang sama dengan var eksternal tersebut
Contoh
-11
A.
17
#include<iostream.h>
#include<conio.h>
Void saya_ingat();
Void main()
{ int mamamia = 50;
clrscr();
saya_ingat();
saya_ingat();
saya_ingat();
cout<<“main() : mamamia=“<<mamamia<<endl;
}
Void saya_ingat()
Static int mamamia = 77; // variabel statis
Mamamia++;
cout<<“saya_ingat() : mamamia=“<<mamamia<<endl;
}
Tercetak :
?
13.12 Variabel Static
B.
#include<stdio.h>
int TAMBAH();
main()
{ int i, T;
for (i = 1; i <=5; i++)
{ T = TAMBAH());
printf(“\n%d “, T );
}
}
int TAMBAH()
{ static int X=5;
X = X + 2;
return(X);
}
18
Tercetak :
7
9
11
13
15
13.12 Variabel Otomatis
Variabel hanya di kenal di dalam fungsi tempat variabel di definisikan
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
void alpha ();
// Prototipe Fungsi
void main()
{
int x = 22;
// variabel lokal pada main()
double y = 2.22;
clrscr();
cout << “Pada main() : x =“ << x
<< “y = “ <<y<<endl;
alpha ();
// Pemanggilan Fungsi alpha
cout << “Pada main() : x =“ << x
<< “y = “ <<y<<endl;
}
void alpha ( ) // Definisi fungsi alpha()
{
int x = 20;
//variabel lokal pada alpha()
double y = 3.14; //variabel lokal pada alpha()
cout << “Pada alpha() : x =“ << x
<< “y = “ <<y<<endl;
}
19
13.12 Variabel Ekternal
Variabel eksternal kebalikan dari variabel Otomatis. Variabel ini di definisikan di luar fungsi manapun atau
disebut juga dengan variabel global
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
Int oblada = 550; // variabel eksternal
void tambah();
// Prototipe Fungsi
void main()
{
clrscr();
cout<<oblada<<endl;
tambah();
cout<<oblada<<endl;
tambah();
cout<<oblada<<endl;
}
void tambah ()
// Definisi Fungsi
{
oblada++;
// variabel eksternal dinaikkan
}
20
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;
}
21
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;
}
22
Soal:
1.
Buat Program dengan menggunakan fungsi untuk penjumlahan
1….100 dengan output : 1+2+3+4+…..+100 = 2616
2.
Buatlah program dengan menggunakan fungsi untuk mencari nilai
Faktorial dengan hasil Output:
Mencari Nilai Faktorial
Masukkan Nilai X:
Nilai Faktorial dari X :
23
Download