Pendahuluan
Dalam realita, program terdiri dari beberapa sub program atau fungsi. Penulisan program dalam bentuk fungsi
dilakukan agar program bersifat modular dan, dalam skala besar, bisanya ditulis oleh tim (beberapa orang). Oleh
karena itu, penulisan program dalam satu file saja, terutama bila program sangat kompleks dan panjang sangat
tidak dianjurkan.
Untuk membuat program menjadi modular, pemecahan program dalam beberapa fungsi merupakan pilihan yang
tepat. Salah satu cara membuat program menjadi modular adalah dengan menulis prototipe fungsi dalam file
header, kemudian implementasi dari prototipe fungsi dilakukan pada file yang lain. Pada saat kompilasi, file-file
tersebut kemudian disatukan (linked) menjadi sebuah file binary yang dapat dieksekusi.
Objektif
Memperkenalkan cara menulis prototipe fungsi (function prototipe) dalam sebuah file header
Menjelaskan cara mengimplementasi fungsi dalam file yang berbeda
Memahami cara melakukan integerasi (linking) menggunakan gcc
Bahan Bacaan
Buku pegangan atau bahan-bahan lain yang menjelaskan tentang fungsi dan protofipe fungsi.
Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 1
Pemanggilan Fungsi (Call) & Return
Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 2
Prototipe Fungsi dan Fungsi Rekursif
Contoh:
#include <stdio.h>
int main(void) {
int n;
printf("Menghitung factorial\n");
printf("Masukkan sebuah bilangan bulat positif: ");
scanf("%d", &n);
printf("%d\n", fac(n));
return 0;
}
Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 3
Prototipe Fungsi dalam File Header
Kumpulkan semua prototipe terkait dalam sebuah file header, dengan nama misal: hitungan.h
float akar(float);
#include <math.h>
double sqrt( double num );
int fac(int);
Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 4
Implementasi Fungsi pada File yang Lain
Implementasikan semua prototipe fungsi yang ada dalam header file hitungan.h dalam file
tersendiri, misalnya: implementasi_hitungan.c
#include "hitungan.h"
#include <math.h>
return ...
}
return ...
}
return ...
}
Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 5
float min(float a, float b) {
return ...
}
return ...
}
int fac(int n) {
if (n == 0)
return 1;
else
return n * fac(n - 1);
}
Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 6
Program Utama dan Pemanggilan Fungsi
#include "hitungan.h"
#include <math.h>
#include <stdio.h>
#define N 10
int main(void) {
int a,b,c;
int arr[N] = {4, 5, 7, 3, 1, 2, 4, 1, 3, 10}
float rata ;
return 0;
}
Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 7
Linking dan Integrasi
Source code
Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala – http://www.informatika.unsyiah.ac.id 8