- Fungsi adalah bagian dari program yang dimaksudkan untuk
mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari program yang
menggunakannya. Program dari bahasa C dibentuk dari kumpulan-kumpulan fungsi,
mulai dari fungsi utama, fungsi pustka, maupun fungsi yang dibuat oleh
pemrogram.
Manfaat fungsi :
– Fungsi menjadikan program C memiliki struktur yang jelas.
Dengan memisahkan langkah-langkah detil ke satu atau lebih fungsi, maka fungsi
utama (main( )) akan menjadi lebih pendek, jelas dan mudah dimengerti.
– Fungsi-fungsi dapat dijinkan untuk menghindari penulisan
yang sama berulang-ulang. Langkah-langkah program yang sama dan sering
digunakan berulang-ulang dapat ditulis sekali saja secara terpisah dalam bentuk
fungsi-fungsi, selanjutnya bagian program yang membutuhkan langkah-langkah ini
cukup memanggil fungsi-fungsi tersebut.
Nilai akhir dari suatu fungsi adalah nilai yang dikembalikan
oleh fungsi berdasarkan input parameter-parameter yang dimasukkan.
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.
Tidak ada komentar:
Posting Komentar