Mengenal Fungsi dalam Bahasa C

Mahir Koding – Fungsi dalam C merupakan sekumpulan code yang dibungkus ke dalam sebuah scope untuk menjalankan tugas tertentu. Fungsi memungkinkan kita untuk menghemat penulisan kode yang mana sering ditulis berulang-ulang, namun bisa dibungkus ke dalam sebuah fungsi dan kita tinggal memanggilnya saja. Fungsi membuat program lebih terstruktur dan efisien sehingga program tersebut mudah dipahami atau dibaca alur programnya.

Fungsi dalam Bahasa C

Fungsi terbagi 2, ada yang namanya build in function dan fungsi yang kita deklarasikan sendiri. Build in function adalah fungsi-fungsi yang sudah ada dalam library C itu sendiri seperti beberapa fungsi string yang ada di string.h (strlen, strcpy, strcmp, dll). Aturan penggunaan build in function untuk string akan kita bahas di tutorial mendatang.

Contoh membuat fungsi sederhana : 

#include <stdio.h>

void belajarfungsi(){
    printf("Halo, Selamat Belajar Fungsi!");
}

int main(){
    belajarfungsi();
    getchar();
    return 0;
}

Struktur fungsi :

tipe_data nama_fungsi(parameter){
        //statement
}

Tipe Data

Sama halnya dengan variabel, setiap fungsi juga ada tipe datanya. Tipe data sendiri ada yang namanya int, float, double, char dan ada juga void. Void artinya tidak bertipe data sehingga tidak memerlukan nilai return. Itulah sebabnya kenapa jika kita menggunakan int main(){} maka kita wajib melakukan return 0; di paling bawah fungsi.

Nama Fungsi

Nama fungsi merupakan nama alias yang akan kita gunakan saat pemanggilan. Seperti contoh diatas tadi, jika nama fungsinya adalah belajarfungsi maka saat pemanggilan kita akan menulis seperti ini : belajarfungsi();

Parameter

Parameter merupakan nilai yang akan dijadikan acuan saat menjalankan program. Bisa dikatakan juga parameter adalah pelengkap saat menjalankan fungsi tertentu. Parameter disini dapat dijabarkan menjadi 2 jenis fungsi yakni :

  • Pass by Value

Pass by Value artinya kita akan mempassing value sebagai parameter dalam fungsi yang kita buat, contohnya adalah sebagai berikut :

#include <stdio.h>

void cetakUmur(int umur){
    printf("Halo, Umur kamu adalah %d tahun", umur);
}

int main(){
    cetakUmur(20);
    getchar();
    return 0;
}
  • Pass by Address

Pass by Address berarti kita akan menggunakan pointer untuk mengakses atau bisa juga mengubah value dari sebuah alamat. Contohnya adalah sebagai berikut :

#include <stdio.h>

void cetakUmur(int *umur){
    printf("Halo, Umur kamu adalah %d tahun", *umur);
}

int main(){
    int angka=20;
    cetakUmur(&angka);
    getchar();
    return 0;
}

Terima Kasih 🙂