Dalam Modular Programming, program dibagi menjadi beberapa modul. Modul di bahasa C diterapkan menggunakan fungsi. Fungsi dibentuk dari mengelompokan beberapa pernyataan menggunakan fungsi. Modul dibutuhkan ketika beberapa pernyataan sering digunakan oleh codingan yang lain di program, yang dinamakan Sub-Program.
Fungsi dalam C dibedakan menjadi 2, yaitu:
a. Library Function.
Merupakan fungsi standar yang disediakan oleh bahasa C. Fungsi tersebut ditulis di bagian atas file (.h)
Contoh : strlen() di string,h, printf di stdio.h, sqrt() di math.h
b. User-defined Function
Merupakan self-defined function.
* Membuat Fungsi
return-value-type function-name( parameter-list )
{
statements;
statements;
}
return-value-type: nilai tipe data dikembalikan
•Jika tidak diisi, maka tipe data default akan digunakan (default integer)
•Jika return-value-type adalah void, maka nilai tidak akan dikembalikan oleh fungsi
Parameter-list: daftar nilai yang dikirim oleh funtion inisiator (user)
Fungsi di C biasanya ditulis diatas coding utama. Kalau tidak, kita harus menggunakan Function Prototype. Tujuan Function Prototype adalah untuk memastikan sebuah fungsi diketahui oleh si initiator.
Jika sebuah modul tidak mencukupi data/nilai, maka akan dijalankan menggunakan parameter. Ada 2 parameter, yaitu:
a. By-Value, mengirimkan kepada modul lain dari nilainya.
b. By-Location, mengirimkan kepada modul lain dari alamatnya.
Recursive
Recursive adalah sebuah fungsi didalam sebuah fungsi yang memanggil dirinya sendiri. Fungsi recursive cocok untuk masalah recursive.
Contoh:
n!
= 1, for n = 0;
n!
= n * (n-1)!, for n > 0
4! =
4 * 3!
3! =
3 * 2!
2! =
2 * 1!
1!
= 1* 0!
0!
= 1
Trace
back : 4! = 1*2*3*4 = 24
Fungsi recursive mempunyai 2 komponen:
a. Base case
return value(konstan) tanpa memanggil rekursif selanjutnya.
b. Reduction step
sekuensi dari nilai input mengubah dari base case.
No comments:
Post a Comment