Anda di halaman 1dari 16

Praktikum

Algoritma dan Pemograman


Pertemuan 10
FUNGSI DI BAHASA C

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;
}

Bagian tipeDataKembalian diisi dengan tipe data nilai


yang dikembalikan sebuah fungsi, seperti int, double atau
char.
Penulisan namaFunction boleh bebas, tidak ada standar
penamaan tertentu untuk fungsi bahasa C selama
mengikuti aturan penulisan identifier, yakni tidak boleh di
awali angka dan tidak boleh mengandung spasi.
Contoh fungsi

● Contoh fungsi aneka bangun


datar tanpa parameter
Contoh Main
Program
● Contoh main program
Contoh fungsi dengan parameter masukan
● Contoh fungsi aneka bangun
datar dengan parameter
Translasi dari Pseudocode ke Bahasa C
Contoh :
Fungsi menjumlah dua bilangan
#include <stdio.h>
int jumlah(int x, int y) { // Fungsi jumlah
int t;
t = x+y;
return t;
}
int main() { // Fungsi utama
int a, b, c;
scanf("%d %d", &a, &b);
c=jumlah(a,b); // Memanggil fungsi
printf( "%d\n", c);
return 0;
}
Fungsi Rekursif
● Rekursi adalah proses pemanggilan fungsi oleh
dirinya sendiri secara berulang.
● Istilah ‘rekursi’ sebenarnya berasal dari bahasa Latin
‘recursus’, yang berarti ‘menjalankan ke belakang’.
● Rekursi digunakan untuk penyederhanaan algoritma
dari suatu proses sehingga program yang dihasilkan
menjadi lebih efesien.
Contoh Fungsi Rekursif
● Menentukan Nilai Faktorial
● Pada bagian ini kita akan membuat sebuah fungsi
rekursif untuk menentukan nilai faktorial dengan
memasukkan nilai yang akan dihitung sebagai parameter
fungsi ini. Sebagai contoh apabila parameter yang kita
masukkan adalah 5, maka hasilnya adalah
● 5! = 5 x 4 x 3 x 2 x 1 = 120
● Proses tersebut dapat kita sederhanakan melalui fungsi
matematis sebagai berikut.
● F! (N) = N * F! (N-1)
● Namun yang harus kita perhatikan di sini adalah F! (0) = 1,
ini adalah suatu tetapan
Contoh : Fungsi Faktorial dalam
C
#include <stdio.h>

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

Anda mungkin juga menyukai