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.
keren gan blognya, Keep update dan sukses selalu
BalasHapus