Translate

Jumat, 26 Desember 2014

Definisi Fungsi



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:
  • 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:
  • 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