Pendahuluan
Suatu fungsi dapat dibuat di dalam program yang sama ( fungsi internal) maupun di file lain ( fungsi
eksternal ).
Fungsi dalam bahasa C adalah subprogram, atau sekumpulan kode yang ditaruh dalam sebuah blok dan
dibuat untuk menjalankan tugas khusus, salah satu tujuan penggunaan dari fungsi dalam pemrograman
adalah untuk membuat program lebih tersetruktur dan efisien sehingga program mudah dipahami atau
dibaca alur programnya.
2. Fungsi akan membagi program menjadi modul - modul yang lebih kecil (modular design) , sehingga jika
terjadi kesalahan dalam program akan lebih mudah dilacak.
3. Setiap fungsi memiliki tingkatan yang sama dan berdiri sendiri. Dengan demikian fungsi - fungsi ini dapat
dipanggil dari sembarang fungsi yang lain dengan mudah. Dalam Turbo C tidak diperkenankan sebuah
fungsi ada dalam fungsi yang lain (nested function)
4. Fungsi dalam C dapat menghasilkan nilai, data ataupun hasil atau kegiatan lain yang bukan berupa data
maupun nilai. Turbo C tidak membedakan fungsi yang menghasilkan nilai ( fungsi) dan fungsi yg
menghasilkan data (prosedur).
Fungsi standar bahasa c misalnya: main(), cout(), getch(). Fungsi main() harus ada dalam bahasa c,
fungsiprintf untuk menampilkan teks pada layar dan fungsi getch() untuk membaca masukan dari tombol
keuboard. Selain fungsi-fungsi yang sudah ada kita membuat fungsi baru dalam bahasa c asal tidak sama
dengan fungsi standar nama, proses dan parameter bisa dibuat sesuai kebutuhan.
Proses
return variabel_keluaran
Keterangan :
tipe_data_keluaran, dapat berupa salah satu tipe data C, misalnya char atau int. Kalo penentu tipe
tidak disebutkan maka dianggap bertipe int.nama_fungsi, ini merupakan
nama dari fungsi yang digunakan untuk memanggil fungsi tersebut.tipe_data_1 nama_variabel_1,
merupakan parameter yang diterima oleh fungsi untuk diolah pada proses yang terdapat didalam
fungsi.
proses, berisi deklarasi variabel (jika ada) dan program yang akan melakukan tugas yang akan
diberikan kepada fungsi.
return variabel_keluaran, nilai balikan yang akan dikirim oleh fungsi kepada yang memanggil fungsi
tersebut.
#include <iostream>
return luas;
int main(){
int a,b,hasil;
cout<<"-----------------------------------"<<endl;
hasil = hitung_luas(a,b);
return 0;
Program di atas merupakan program yang berfungsi menghitung luas persegi panjang, dengan
memanfaatkan sebuah fungsi. fungsi hitung_luas dengan tipe int (integer). Parameter yang terdapat pada
fungsi hutung_luas adalah panjang, dan lebar dengan masing-masing bertipe data integer. Variabel luas
deklarasikan di dalam fungsi dan memiliki nilai berupa perkalian panjang dan lebar. Nilai luas kemudian
diumpan sebagai nilai akhir pemrosesan dengan menggunakan instruksi return pada baris ke-enam.
di dalam fungsi main(),panggil fungsi hitung_luas dan diberikan nilai parameter berupa variabel a, dan b.
Nilai variabel a dan b pada baris sebelumnya menampung nilai panjang dan lebar yang diinputkan user. Pada
baris 17 pula, hasil umpan balik (return) fungsi hitung_luas, di tampung pada variabel hasil untuk kemudian
dicetak pada baris ke-18 untuk melihat hasilnya.
Fungsi Void
Fungsi dengan tipe void tidak akan mengembalikan nilai apapun. Fungsi void biasanya
digunakan untuk menjalankan rutin program tertentu saja.
contoh kode programnya:
#include <iostream>
#include <string>
using namespace std;
int cetak (string kata){
cout<<kata<<endl;
}
int main(){
string input;
cout<<"Masukkan kata :";
getline(cin,input);
cetak(input);
return 0;
}
Fungsi Overload
Suatu fungsi dalam program yang kamu buat bisa memiliki nama yang sama. yang membedakan
suatu fungsi adalah parameternya, sehingga program utama atau main() tidak akan salah panggil
dan mendapatkan nilai yang salah walaupun namanya sama.
#include <iostream>
using namespace std;
void fungsiOverload (void){
cout<<"Ini Merupakan fungsi overload"<<endl;
}
int fungsiOverload (int bil1, int bil2){
int operasi;
operasi = bil1*bil2;
return operasi;
}
int main(){
fungsiOverload();
cout<<"Hasil :"<<fungsiOverload(3,5)<<endl;
return 0;
}
Pada program di atas, dua buah fungsi dengan nama yang sama yaitu “fungsiOverload”.
Fungsi pertama berfungsi mencetak kata “Ini Merupakan fungsi overload“, sedangkan
fungsi kedua bertugas melakukan perkalian dua buah bilangan. Kamu bisa lihat pada
baris 14 dan 15 bagaimana kedua fungsi yang memiliki nama beda namun dipanggil
dengan cara yang berbeda yaitu dari parameternya.