Sistem Informasi
Fakultas Ilmu Komputer
Universitas Pembangunan Nasional Veteran Jakarta
Pengertian Fungsi
● Secara sederhana, fungsi atau function adalah kode
program yang dirancang untuk menyelesaikan sebuah
tugas tertentu.
● Berdasarkan siapa yang membuat, fungsi bisa dibedakan
ke dalam 2 kelompok:
● Built-In Function
● User Defined Function
Jenis Fungsi – Build in Function
● Built-In Function adalah sebutan untuk fungsi
yang sudah ada secara bawaan dari dalam
bahasa pemrograman. Sedangkan User
Defined Function adalah fungsi yang kita
(sebagai programmer) membuatnya sendiri.
● Bahasa C menyediakan banyak fungsi
bawaan, belum termasuk yang bisa diakses
dari berbagai library atau package pihak
ketiga. Sebagai contoh, printf(), scanf() dan
strcpy() adalah function bawaan bahasa C.
Jenis Fungsi – User Defined Function
● User-Defined Function adalah fungsi yang bisa
kita buat sendiri pada Bahasa C.
● Pada Bahasa C fungsi dapat mempunyai
parameter masukan maupun tidak.
● Parameter pada fungsi selalu merupakan
parameter masukan.
● Dengan kata lain, tidak ada fungsi yang
mempunyai parameter keluaran atau parameter
masukan/keluaran.
● Ciri khas dari fungsi yaitu ada keyword return
pada akhir badan fungsi
Struktur Fungsi di Bahasa C
tipeDataKembalian namaFunction() {
// Isi function disini...
// Isi function disini...
return nilai;
}
int Faktorial(int N) {
if (N == 0) {
return 1;
}else {
return N * Faktorial(N-1);
}
}
void main {
int bilangan;
printf(“Masukkan bilangan yang akan dihitung : ”);
scanf(“%d”, &bilangan);
printf(“%d! = %d”, bilangan, Faktorial(bilangan));
}
Penjelasan Fungsi Rekursif
● melakukan pemanggilan fungsi Faktorial() secara berulang. Untuk
kasus ini, proses yang dilakukan adalah sebagai berikut.
Faktorial(5) = 5 * Faktorial(4)
Faktorial(4) = 4 * Faktorial(3)
Faktorial(3) = 3 * Faktorial(2)
Faktorial(2) = 2 * Faktorial(1)
Faktorial(1) = 1 * Faktorial(0)
Faktorial(0) = 1
Faktorial(1) = 1 * 1
Faktorial(2) = 2 * 1
Faktorial(3) = 3 * 2
Faktorial(4) = 4 * 6
Faktorial(5) = 5 * 24
= 120
Latihan
● Buatlah fungsi apakah_a yang memberikan nilai true jika
karakter yang diterimanya adalah huruf 'a' dan false jika
tidak.
● Buatlah fungsi nextday yang menerima masukan nama
hari sekarang (senin..minggu) dan mengembalikan nama
hari besoknya
● Buatlah program untuk menghitung perpangkatan
dengan menggunakan fungsi rekursif
Referensi
• Algoritma dan Pemrograman : Rinaldi Munir