Dalam bahasa C, sebuah program terdiri atas fungsi-fungsi, baik yang didefinisikan secara langsung di dalam program maupun yang disimpan di dalam file lain (misalnya file header). Satu fungsi yang pasti terdapat dalam program yang ditulis menggunakan bahasa C adalah fungsi main (). Fungsi tersebut merupakan fungsi utama dan merupakan fungsiyang akan dieksekusi pertama kali.
Menurut definisinya, fungsi adalah suatu blok
program yang digunakan untuk melakukan proses-proses tertentu. Sebuah fungsi
dibutuhkan untuk menjadikan program yang akan kita buat menjadi lebih modular
dan mudah untuk dipahami alurnya. Dengan adanya fungsi, maka kita dapat
mengurangi duplikasi kode. Program sehingga performa dari program yang kita
buat pun akan meningkat.
Dalam bahasa C, fungsi terbagi menjadi 2 macam,
yaitu fungsi yang mengembalikan nilai. Fungsi yang tidak mengembalikan nilai
tersebut dinamakan dengan void function.
Bagi Anda yang sebelumnya pernah belajar bahasa Pascal, void function ini serupa dengan procedure
yang terdapat di dalam bahasa Pascal.
Pada bahasa C terdapat beberapa fungsi
standar seperti misalnya main(), printf() dan getch() yang telah kita gunakan
sebelumnya. Fungsi main() adalah fungsi yang mempunyai kedudukan sangat
istimewa. Fungsi main() merupakan fungsi utama yang harus ada dalam setiap
program bahasa C. Fungsi main() berisi rutin utama program yang akan dijalankan
ketika program bahasa C kita eksekusi. Jadi semua kontrol alur proses program
berada dalam fungsi main() ini.
Selain fungsi main() ada fungsi standar
bahasa C yang lain misalnya printf() dan getch(). Fungsi-fungsi tersebut
mengerjakan tugas khusus jika dipanggil seperti misalnya fungsi printf()
digunakan untuk menampilkan informasi teks pada layar dan fungsi getch()
digunakan untuk membaca masukan dari tombol keyboard.
Selain dari fungsi-fungsi standar bahasa C
tersebut diatas, kita juga bisa membuat fungsi sendiri dengan syarat tidak
boleh sama dengan fungsi standar. Kita bisa membuat fungsi dengan nama yang
kita tentukan sendiri serta proses dan parameter yang kita sesuaikan dengan
kebutuhan kita tentunya. Sebuah fungsi yang umum biasanya memerlukan masukan
yang disebut dengan argumen atau parameter. Data masukan ini selanjutnya
diproses oleh fungsi dan dikeluarkan dalam bentuk nilai.
Berikut ini bentuk umum dari definisi
fungsi dalam bahasa C :
penentu-tipe nama-fungsi(daftar parameter)
deklarasi parameter;
{
tubuh-fungsi;
}
Penjelasan dari script diatas :
penentu-tipe, merupakan penentu tipe data
dari keluaran fungsi yang berupa salah satu dari tipe data yang didukung oleh
bahasa C seperti char atau int.
nama-fungsi, adalah pengenal atau
identifier dari fungsi misalnya saat dipanggil.
daftar-parameter, berisi sekumpulan
parameter yang merupakan masukan dari fungsi.
deklarasi parameter, adalah deklarasi
variabel yang merupakan parameter didalam fungsi.
tubuh-fungsi, berisi kode-program yang
akan dijalankan ketika fungsi tersebut dipanggil. Didalam tubuh fungsi kita
bisa mendeklarasikan variabel serta menulis kode program termasuk perintah
return yang akan memberi nilai balik fungsi.
penentu-tipe, daftar parameter, deklarasi
parameter dan tubuh fungsi boleh kosong namun nama-fungsi tidak.
Contoh penggunaan fungsi dalam bahasa C:
#include <stdio.h>
int
hitung_luas(int panjang, int lebar)
{
int luas;
luas = panjang * lebar;
return(luas);
}
int
main()
{
int panjang = 5;
int lebar =7;
int luas;
luas = hitung_luas(panjang,lebar);
printf("%d n",luas);
return 0;
}
Sebelum melangkah lebih jauh ke dalam pembentukan fungsi, di sini akan diterangkan bagaiman kompilator C membaca fungsi-fungsi yang didefinisikan di dalam program secara berurutan sesuai dengan waktu pemanggilnya. Untuk itu, perhatikanlah gambar ilustrasi berikut.
Mula-mula fungsi main ( ) akan dieksekusi oleh kompilator. Oleh karena fungsi main ( ) tersebut memanggil Fungsi1 ( ), maka kompilator akan mengeksekusi Fungsi1 ( ). Dalam Fungsi1 ( ) juga terdapat pemanggilan Fungsi3 ( ), maka kompilator akan mengeksekusi Fungsi3 ( ) dan kembali lagi mengeksekusi baris selanjutnya yang terdapat pada Fungsi1 ( ) ( jika ada). Setelah Fungsi1 ( ) selesai dieksekusi, kompilator akan kembali mengeksekusi baris berikutnya pada fungsi main ( ), yaitu dengan mengeksekusi kode-kode yang terdapat pada Fungsi2 ( ). Setelah selesai, maka kompilator akan melanjutkan pengeksekusian kode pada baris-baris selanjutnya dalam fungsi main ( ). Apabila ternyata dalam fungsi main ( ) tersebut kembali terdapat pemanggilan fungsi lain, maka kompilator akan meloncat ke fungsi lain tersebut, begitu seterusnya sampai semua baris kode dalam fungsi main ( ) selesai dieksekusi.
Bagi Anda yang merupakan para pemula di dunia pemrograman, sebisa mungkin biasakanlah untuk menggunakan fungsi daripada Anda harus menuliskan kode secara langsung pada fungsi main ( ). Oleh karena itu, pada bab ini penulis akan membahas secara detil mengenai bagaimana cara pembuatan fungsi didalam bahasa C sehingga Anda akan mudah dan terbiasa dalam mengimplementasikannya ke dalam kasus-kasus program yang Anda hadapi.
No comments:
Post a Comment