Pengertian Fungsi
Fungsi merupakan suatu
bagian dari program yang dimaksudkan untuk
mengerjakan suatu
tugas tertentu dan letaknya terpisah dari program yang
memanggilnya. Fungsi
merupakan elemen utama dalam bahasa C karena bahasa C
sendiri terbentuk dari
kumpulan fungsi-fungsi. Dalam setiap program bahasa C,
minimal terdapat satu
fungsi yaitu fungsi main (). Fungsi banyak diterapkan dalam
program-program C yang
terstruktur. Keuntungan penggunaan fungsi dalam program
yaitu program akan
memiliki struktur yang jelas (mempunyai readability yang tinggi)
dan juga akan
menghindari penulisan bagian program yang sama.
Dalam bahasa C fungsi
dapat dibagi menjadi dua, yaitu fungsi pustaka atau
fungsi yang telah
tersedia dalam Turbo C dan fungsi yang didefinisikan atau dibuat
oleh programmer.
Mendefinisikan Fungsi
Suatu fungsi secara
umum mempunyai dua buah komponen utama, yaitu
definisi fungsi dan
tubuh fungsi. Definisi fungsi berisi dengan tipe dari fungsi, nama
dari fungsi dan
argumen-argumennya jika digunakan. Tubuh fungsi berisi dengan
statemen-statemen yang
akan melakukan tugas yang akan diberikan kepada fungsi
yang bersangkutan.
Bentuk umum dari fungsi :
tipe_fungsi
nama-fungsi(argumen1,argumen2,...) Definisi
fungsi
{
........
........
Badan fungsi
........
}
Definisi fungsi
ditulis sebelum tubuh fungsi tanpa diakhiri dengan titik koma.
Tipe di definisi
fungsi menunjukkan tipe dari fungsi. Tipe dari fungsi tergantung dari
tipe data hasil balik
yang akan diberikan oleh fungsi. Misalnya hasil balik dari fungsi
berupa nilai numerik
pecahan, maka tipe dari fungsi dapat dibuat float atau double
atau long double
tergantung pada ketepatan yang diinginkan. Jika fungsi tidak
memberikan nilai
balik, maka tipenya adalah void. Tipe dari fungsi ini tidak dapat
ditulis jika tipenya
adalah char atau int. Jika suatu fungsi didefinisikan tanpa
menggunakan tipenya,
maka akan dianggap bertipe integer.
Contoh definisi fungsi
dengan menggunakan argumen atau parameter :
int Fungsi_Ku (float A,
int B, char C)
Hal-hal yang perlu
diperhatikan dalam penggunaan fungsi:
Kalau tipe
fungsi tidak disebutkan, maka akan dianggap sebagai fungsi
dengan nilai keluaran
bertipe integer.
Untuk fungsi
yang memiliki keluaran bertipe bukan integer, maka
diperlukan
pendefinisian penentu tipe fungsi.
Untuk fungsi
yang tidak mempunyai nilai keluaran maka dimasukkan
ke dalam tipe void.
Pernyataan yang
diberikan untuk memberikan nilai akhir fungsi berupa
pernyataan return.
Suatu fungsi
dapat menghasilkan nilai balik bagi fungsi pemanggilnya.
Deklarasi Fungsi
Suatu fungsi yang
memberikan hasil balik selain tipe integer perlu
dideklarasikan sebelum
digunakan. Deklarasi fungsi ditulis sebelum fungsi tersebut
digunakan.
Bentuk umum dari
deklarasi fungsi :
tipe nama_fungsi(
argumen1, argumen2, ... );
Jika bagian dari
program yang menggunakan fungsi diletakkan sebelum
definisi fungsi, maka
deklarasi fungsi diperlukan. Akan tetapi jika bagian program
yang menggunakan
fungsi terletak setelah definisi dari fungsi, maka deklarasi fungsi
boleh tidak dapat
dituliskan. Jika suatu fungsi memberikan hasil balik, maka nilai
hasil balik yang
diberikan oleh fungsi dapat dilakukan oleh statement return yang
diikuti oleh nilai
hasil baliknya yang ditulis tanda kurung. Contoh : return(F);
Contoh program :
#include
< iostream.h >
double
Absolut ( double X );/* prototype fungsi Absolut
*/
main()
{
float
Nilai;
Nilai
= -123.45;
cout
<< Nilai << “Nilai mutlaknya adalah “ << Absolut (
Nilai
);
}
/*
--- Fungsi untuk memutlakkan nilai negatif --- */
double
Absolut ( double X )/* definisi fungsi */
{
if
( X < 0 ) X = -X;
return
( X );
}
Setiap
bahasa pemrograman selalu menyediakan fungsi-fungsi yang sudah didefinisikan
oleh bahasa pemrograman tersebut (built-in function). Namun ada kalanya kita
memerlukan suatu prosedur tertentu yang kita gunakan berulang kali dan tidak
tersedia dalam built-in function.
Prosedur adalah sekumpulan perintah yang merupakan bagian dari program yang lebih besar, yang berfungsi mengerjakan suatu tugas tertentu. Prosedur atau kadang disebut subrutin / subprogram biasanya relative independent terhadap bagian kode program yang lain. Atau sebenarnya prosedur dapat berdiri sendiri. Keuntungan menggunakan prosedur adalah:
Prosedur adalah sekumpulan perintah yang merupakan bagian dari program yang lebih besar, yang berfungsi mengerjakan suatu tugas tertentu. Prosedur atau kadang disebut subrutin / subprogram biasanya relative independent terhadap bagian kode program yang lain. Atau sebenarnya prosedur dapat berdiri sendiri. Keuntungan menggunakan prosedur adalah:
- Mengurangi duplikasi kode program.
- Memberikan kemungkinan penggunaan kembali kode untuk program yang lain.
- Memecah masalah yang rumit dalam masalah-masalah yang lebih kecil dan lebih mudah diselesaikan.
- Membuat kode program lebih mudah dibaca.
- Dapat digunakan untuk menyembunyikan detil program.
Pada flowchart, untuk menuliskan
prosedur digunakan notasi Predefined Process. Secara skematis, penggunaan
prosedur dapat dilihat pada gambar di bawah ini.
Gambar tersebut menunjukkan ada proses utama yang terjadi, dan ada prosedur yang sebenarnya merupakan bagian dari proses utama ini. Ketika proses utama membutuhkan suatu tugas tertentu, maka proses utama akan memanggil prosedur tertentu menyelesaikan tugas tersebut. Perhatikan contoh berikut:
Contoh: Prosedur
Buatlah algoritma menghitung luas segitiga, segiempat, dan lingkaran.
Penyelesaian:
Untuk membuat algoritma ini kita dapat memandang proses perhitungan luas segitiga, luas segiempat, dan luas lingkaran sebagai bagian program yang berdiri sendiri. Kita dapat membuat prosedur untuk masing-masing proses. Dan kita akan memanggil prosedur tersebut dari proses utama
Urutan proses pada gambar di atas adalah sebagai berikut.
- Pembacaan data.
- Pada proses utama akan terjadi pengecekan pada data yang dibaca,
- Apabila data yang dibaca adalah untuk segitiga, maka proses utama akan memanggil prosedur hitung luas segitiga dengan membawa nilai variable yang diperlukan oleh prosedur luas hitung segitga.
- Proses perhitungan luas segitiga hanya dilakukan pada prosedur tersebut.
- Setelah proses perhitungan, maka hasil perhitungan akan dibawa kembali ke proses utama untuk dicetak hasilnya.
Urutan
proses yang sama juga terjadi jika data yang dibaca adalah untuk segiempat atau
lingkaran.
Prosedur yang baik memiliki ciri-ciri sebagai berikut:
Prosedur yang baik memiliki ciri-ciri sebagai berikut:
- Hanya memiliki satu fungsi tujuan
(logical inherent).
Sebuah prosedur sebaiknya hanya memiliki satu fungsi tujuan dan tidak bercampur dengan tujuan-tujuan lain. Hal ini untuk membuat prosedur lebih focus, sehingga tujuan akan dapat tercapai dengan baik. - Tidak tergantung pada prosedur
lain (independent).
Sebuah prosedur harusnya bersifat mandiri, artinya prosedur ini dapat berjalan dan diuji tanpa menunggu bagian lainnya selesai. Selain itu variable-variabel yang digunakan dalam prosedur tersebut tidak mempengaruhi variable-variabel yang digunakan pada bagian lain di keseluruhan program. - Berukuran kecil (small size).
Yang dimaksud ukuran disini adalah panjang algoritma atau panjang kode program pada suatu prosedur. Ukuran kecil akan mudah dibaca dan diperbaiki. Apabila sebuah modul sudah terlalu besar maka sebaiknya dipertimbangkan untuk dipecah-pecah menjadi beberapa modul yang lebih kecil.
Tidak ada komentar:
Posting Komentar