Dalam bahasa C, Fungsi atau function adalah sekumpulan kode atau sub-program yang diletakkan dalam sebuah blok dan dibuat untuk menjalankan tugas tertentu sehingga program lebih terstruktur dan alur programnya lebih mudah dipahami
Fungsi dibedakan ke dalam 2 kelompok yaitu :
- Built-In Function, fungsi yang sudah ada di bahasa pemrograman
- User Defined Function, fungsi yang dibuat sendiri.
Fungsi atau function ini wajib ada di setiap program C karena akan dieksekusi pertama kali. Selain itu kita dapat menggunakannya kembali dengan cara memanggilnya. Adapun contoh fungsi yang sering kita digunakan pada bahasa C adalah fungsi main().
Cara Membuat Fungsi Pada Bahasa C
Fungsi biasanya akan mengembalikan sebuah nilai dari hasil prosesnya. Karena itu, kita harus menentukan tipe data untuk nilai yang akan dikembalikan seperti seperti int, double atau char.
Apabila fungsi tersebut tidak memiliki nilai kembalian, maka kita harus menggunakan tipe void. Sebuah fungsi yang tidak mengembalikan nilai kadang disebut juga sebagai procedure.
Contoh :
#include <stdio.h>
// membuat fungsi
void selamat_datang(){
printf("Hai.. Selamat Datang di praktekotodidak.com! \n");
}
void main(){
// memanggil fungsi
selamat_datang();
selamat_datang();
selamat_datang();
}
Hasilnya :
Pada kode diatas, kita membuat sebuah fungsi dengan nama selamat_datang(). Fungsi selamat_datang() ini dapat kita panggil berulang kali pada fungsi main().
Fungsi dengan Parameter
Pada bahasa C, parameter adalah variabel yang menyimpan nilai untuk diproses di dalam fungsi. Parameter akan menyimpan nilai yang akan diinputkan ke dalam fungsi.
Contoh:
#include <stdio.h>
void selamat_datang(char name[]){
printf("Hai.. Selamat Datang di praktekotodidak.com! %s!\n", name);
}
void main(){
selamat_datang("User1");
selamat_datang("User2");
selamat_datang("User3");
}
Keterangan :
Pada kode diatas, name adalah sebuah parameter berupa array dengan tipe char. Parameter ini hanya akan dikenali di dalam fungsi. (User1, User2, User3) adalah nilai pada parameter yang diberikan. Lalu, kita memanggil fungsi yang memiliki parameter tersebut pada fungsi main(). Adapun hasil outputnya akan menyesuaikan dengan nilai parameter yang sudah berikan ke dalam fungsi.
Hasilnya :
Contoh lainnya, kita akan membuat fungsi dengan dua parameter.
#include <stdio.h>
int penjumlahan(int i, int j){
printf("%d + %d = %d\n", i, j, i+j);
return i+j;
}
void main(){
penjumlahan(12, 34);
penjumlahan(78, 32);
penjumlahan(34, 91);
penjumlahan(24, 59);
penjumlahan(58, 37);
}
Keterangan :
Pada kode di atas, kita memberikan nilai input ke dalam fungsi integer. Setelah itu dilakukan operasi penjumlahan terhadap dua parameter tersebut (i dan j). Perintah ”return” digunakan untuk mengembalikan nilai dari fungsi.
Hasilnya :
Fungsi Rekursif pada C
Pada bahasa C, biasanya kita memanggil fungsi pada fungsi main atau fungsi yang lainnya. Namun, pada fungsi rekursif akan memanggil dirinya sendiri di dalam tubuh fungsi.
Salah satu contoh penerapan dari fungsi rekursif adalah untuk menghitung permutasi dengan metode yang disebut dengan ”faktorial”.
Pada matematika, faktorial adalah bilangan dari hasil perkalian menaik yang ditulis dengan tanda seru ” ! “. Sebagai contoh, 4 faktorial ditulis dengan 4!, dan hasil nilainya adalah 1 * 2 * 3 * 4 = 24
Contoh program
#include <stdio.h>
int hitungFactorial(int input) {
if(input > 1)
return input * hitungFactorial(input - 1);
else
return 1;
}
int main(void)
{
printf("====== Menghitung Faktorial ======\n");
printf("\n");
int angka,hasil,i;
printf("Masukkan angka: ");
scanf("%d",&angka);
printf("%d! = %d \n",angka, hitungFactorial(angka));
return 0;
}
Keterangan :
Di baris 3, kita mendifinisikan fungsi hitungFactorial(). Fungsi ini digunakan untuk menerima nilai inputan ke dalam parameter input.
Di baris 4, terdapat kondisi if untuk memeriksa apakah parameter input bernilai lebih dari 1 atau tidak.
Di baris 5, terdapat perintah “return input * hitungFactorial(input – 1)”. Perintah inilah yang disebut dengan rekursif, dimana fungsi ini memanggil dirinya sendiri. fungsi ini akan berjalan jika input bernilai lebih dari 1.
Dibaris 6 dan 7, apabila kondisi if(input > 1) bernilai false, maka fungsi hitungFactorial() akan mengembalikan angka 1.
Di baris 17, program akan meminta angka inputan dari user yang akan dihitung faktorialnya
Setelah itu di baris 18, angka yang sudah diinput dari user akan disimpan ke dalam variabel angka.
Di baris 19, program akan mencetak angka dan hasil perhitungan rekursif lalu menampilkannya ke output ke layar komputer
Hasilnya :
Begitulah pembahasan mengenai cara membuat fungsi pada bahasa C. Untuk selanjutnya kita akan membahas Penggunaan Tipe Data Struct.
Semoga bermanfaat …