Wednesday, February 14, 2007

PENGENALAN FUNGSI

FUNGSI

Ada 2 tipe fungsi :
1. void
Fungsi tanpa return value.
2. bukan void (int, float, char dll …..)
Fungsi dengan return value.

Petunjuk membuat fungsi:
1. Agar lebih mudah anggap bahwa membuat fungsi sama dengan membuat program.
2. Tentukan variable input dan variable outputnya.
3. Jika jumlah variable output sama dengan satu maka
kita bisa buat dalam fungsi yang tipenya void maupun bukan void.
else
tipe fungsi harus void


Fungsi tipenya bukan void :
a. tipe fungsi sama dengan tipe output
b. parameter formal (parameter value) fungsi adalah variable inputnya.
c. Instruksi fungsi = instruksi program dengan menghilangkan instruksi untuk menginputkan data pada variable input, dan instruksi untuk menampilkan hasil dari variable output.
d. Diakhiri dengan instruksi :
return var_output;

Fungsi yang tipenya void:
a. tipe fungsinya void
b. Parameter formal fungsi:
• parameter value, adalah variable inputnya.
• Parameter reference/address, adalah variable outputnya
c. Instruksi fungsi = instruksi program dengan menghilangkan instruksi untuk menginputkan data pada variable input, dan instruksi untuk menampilkan hasil dari variable output.

Cth:
a. Fungsi mencari luas persegi panjang.

Input : p, l -> int
Output: ls -> int
Karena outputnya ada 1 variabel maka dapat dibuat fungsi dengan return value maupun tanpa return value.

Fungsi dengan return value (tipenya = tipe output = int)

Contoh 1:
#include (iostream.h)
#include (conio.h)

int luas(int p, int l)
{ int ls;
ls = p*l;
return ls; }

main(){
int pj,lb,hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
hsl=luas(pj,lb);
cout<<"\nLuasnya = "< getch();
}

Program diatas dapat juga dituliskan seperti berikut:

Contoh 2:
#include (iostream.h)
#include (conio.h)

int luas(int p, int l)
{return (p*l); }

main(){
int pj,lb;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
cout<<"\nLuasnya = "< getch();
}

Fungsi tanpa return value (tipenya void)

Contoh 3:
#include (iostream.h)
#include (conio.h)

void luas(int &ls, int p, int l)
{ ls = p*l; }

main(){
int pj,lb, hsl;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
luas(hsl,pj,lb);
cout<<"\nLuasnya = "< getch();
}

b. Fungsi mencari luas dan keliling persegi panjang (dalam satu fungsi).
Input : p, l  int
Output: ls,kl  int
Karena outputnya ada 2 variabel maka hanya dapat dibuat fungsi tanpa return value, tipenya void, sebagai berikut:

Contoh 4:
#include (iostream.h)
#include (conio.h)

void luas(int &ls, int &kl, int p, int l)
{ ls = p*l;
kl = 2*(p+l); }

main(){
int pj,lb, hsl1,hsl2;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
luas(hsl1,hsl2,pj,lb);
cout<<"\nLuasnya = "< cout<<"\nKelilingnya = "< getch();
}

c. Fungsi menampilkan tulisan dilayar.
Input : tdk ada
Output: tdk ada
Karena outputnya tdk ada maka hanya dapat dibuat fungsi tanpa return value, tipenya void.
Misalnya fungsi tersebut dimasukkan ke dalam contoh program 4, maka menjadi sebagai berikut:

Contoh 5:
#include (iostream.h)
#include (conio.h)

void luas(int &ls, int &kl, int p, int l)
{ ls = p*l;
kl = 2*(p+l); }

void cetak()
{cout<<"MENCARI LUAS DAN KELILING PERSEGI PANJANG\n\n";}

main(){
cetak();
int pj,lb, hsl1,hsl2;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
luas(hsl1,hsl2,pj,lb);
cout<<"\nLuasnya = "< cout<<"\nKelilingnya = "< getch();
}

Letak fungsi:
Semua fungsi bisa diletakkan sebelum main maupun setelah main. Namun jika fungsi diletakkan setelah main, sebelum main harus dituliskan prototype fungsinya.

Contoh 6:
#include (iostream.h)
#include (conio.h)

void luas(int &ls, int &kl, int p, int l);
void cetak();

main(){
cetak();
int pj,lb, hsl1,hsl2;
cout<<"Panjang = ";cin>>pj;
cout<<"Lebar = ";cin>>lb;
luas(hsl1,hsl2,pj,lb);
cout<<"\nLuasnya = "< cout<<"\nKelilingnya = "< getch();
}

void luas(int &ls, int &kl, int p, int l)
{ ls = p*l;
kl = 2*(p+l); }

void cetak()
{cout<<"MENCARI LUAS DAN KELILING PERSEGI PANJANG\n\n";}

0 comments:

Post a Comment

Please leave your message here..