Senin, 22 Oktober 2012

Fungsi di C++


Pengertian Fungsi
Fungsi merupakan bagian dari kode program yang terpisah dari program utama. Bagain kode program ini di-execute jika diperlukan untuk melakukan tindakan khusus dalam program. Fungsi banyak dilibatkan dalam program dengan tujuan untuk mengurangi duplikasi pengkodean dan untuk mempermudah pemahaman. Secara sederhana terdapat fungsi yang tidak mengambil satu parameterpun dan menghasilkan void (data yang tidak memiliki nilai). Namum pada fungsi yang lain akan mengambil suatu parameter dan mungkin menghasilkan suatu nilai tertentu. Parameter merupakan suatu nilai yang di-pass-kan (diseberangkan) pada fungsi yang berguna untuk mengubah operasinya atau untuk menunjukan operasi yang lebih luas. Sebelum fungsi digunakan, fungsi harus dideklarasikan dulu. Deklarasi fungsi (prototype) berguna untuk memberitahukan compiler tentang bagaimana fungsi diambil dan tipe data yang diambil/dihasilkan. Fungsi dapat dipanggil oleh fungsi yang lain maupun dirinya sendiri (rekursif).

Contoh fungsi :
int rata(int x, int y, int z)
{
int ave;
ave = (x + y + z)/3;
return(ave);
}

Di dalam fungsi dikenal istilah Parameter Formal dan Parameter Aktual :
a. Parameter formal adalah parameter yang terdapat pada pendefinisian sebuah fungsi. 
b. Parameter aktual adalah parameter yang terdapat pada saat pemanggilan fungsi.

Cara melewatkan parameter ke dalam suatu fungsi dapat dilakukan melalui dua cara yaitu: 
a. Pelewatan parameter melalui nilai (call by value) :
Pelewatan parameter ke dalam fungsi dengan menyalin nilai dari suatu variabel aktualnya. Maksudnya adalah fungsi menerima masukan berupa nilai, bukan alamat memori letak dari datanya dan nilai tersebut disimpan di alamat memori yang terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi.
Contoh :
#include <stdio.h>
#include <conio.h>
int kali(int a,int b, int c) //parameter formal
{
int x;
x = a * b * c;
return(x);
}
int main()
{
int a,b,c;
printf(“Masukkan angka 1 : “);
scanf(“%d”,&a);
printf(“Masukkan angka 2 : “);
scanf(“%d”,&b);
printf(“Masukkan angka 3 : “);
scanf(“%d”,&c);
printf(“Hasil perkalian ketiga bilangan adalah %d”,kali(a,b,c)); //parameter aktual
getch();
return(0);
}

b. Pelewatan parameter melalui acuan/referensi (call by reference) :
pelewatan parameter ke dalam fungsi dengan menyalin alamat dari suatu variabel aktualnya. Fungsi yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya. Hal ini dilakukan dengan menggunakan pointer. Pointer adalah variabel yang merujuk pada alamat lokasi suatu memori tertentu, variable pointer dapat dideklarasikan dengan menuliskan nama variabelnya diawali dengan asterisk (‘*’). Perubahan yang terjadi pada variabel asal akan mengakibatkan perubahan pada variabel pointernya dan sebaliknya.
Contoh :
#include <stdio.h>
#include <conio.h>
void desc_sort(int *bil1,int *bil2) //parameter formal
{
if(*bil1<*bil2)
{
*bil1 = *bil1 + *bil2;
*bil2 = *bil1 – *bil2;
*bil1 = *bil1 – *bil2;
}
}
int main()
{
int a,b,c;
printf(“Masukkan angka 1 : “);
scanf(“%d”,&a);
printf(“Masukkan angka 2 : “);
scanf(“%d”,&b);
printf(“Masukkan angka 3 : “);
scanf(“%d”,&c);
desc_sort(&a,&b); //parameter aktual
desc_sort(&a,&c); //parameter aktual
desc_sort(&b,&c); //parameter aktual
printf(“Hasil descending sort adalah %2d %2d %2d”,a,b,c);
getch();
return(0);
}
  
Di dalam penggunaan fungsi-fungsi dalam program kita mengenal adanya istilah variable local dan variable global :
a. Variabel lokal :
Variabel yang nama dan nilainya hanya dikenal di suatu blok statement tertentu saja atau di dalam suatu fungsi. Variabel lokal harus dideklarasikan di dalam blok bersangkutan. Variabel lokal akan dihapus dari memori jika proses sudah meninggalkan blok statement letak variable lokalnya.
b. Variabel global :
Variabel yang dikenal di semua bagian-bagian tertentu dari program. Variabel global dapat dibuat dengan cara mendeklarasikannya di luar suatu blok statement atau di luar fungsi-fungsi yang menggunakannya.

Artikel Terkait :

Bagikan :

1 komentar: