Function & Recursion
Modullar Programing
Program dibagi menjadi beberapa modul , modul dalam program C.dapat diimplementasikan menggunakan fungsi Fungsi dibuat untuk mengelompokan beberapa pernyataan untuk melakukan beberapa tugas tertentu. Ada beberapa keuntungan Modul program yaitu:
1.Lebih mudah untuk didokumentasikan
2.Lebih mudah untuk melakukan debug, karena alur logis mudah diikuti dan lebih mudah untuk menandai kesalahan titik
3.Desain top-down dengan sub tujuan, program besar dibagi menjadi modul yang lebih kecil
4.Modifikasi dapat dilakukan tanpa mempengaruhi keseluruhan kode
Function
contoh penulisan funtion:
Return - value - type function name (parameter list)
{
statements;
}
Function Protoype
Fungsi di dalam bahasa C biasa ditulis diatas inisator atau pemanggil atau program utama. Kalau tidak kita harus menggunakan Function Prototype
Tujuan dari Function Prototype ini adalah
Untuk memastikan suatu fungsi diketahui oleh inisiator / pemanggil
Compiler akan memvalidasi parameter.
syntax yang digunakan adalah seperti :
return - value - type function name (parameter - list)
Identifier Scoping
Global identifier dideklarasikan diluar fungsi apapun dan diletakan diatas semua fungsi dalam program C , Global identifier dapat di deklarasikan kembali di dalam subprogram , berbeda dengan Local Indetifier dideklaraskan didalam fungsi dalam program C.
Parameter Passing
Jika modul tidak mencukupi diri sendiri maka diperlukan data / nilai dan hasilnya melewati dan keluar menggunakan parameter(S)
Daftar parameter adalah antar muka modul dengan modul lain.
terdapat 2 parameter passing:
1.dari nilai , dikirim ke modul lainnya dengan nilai
2.menurut lokasi dikirim ke modul lain menurut alamat
Library vs user defined function
Library function adalah suatu library yang merupakan kumpulah fungsi yang sudah disediakan oleh kompiler sebagai contoh library string.h yang memperbolehkan kita untuk dapat menggunakn fungsi strcpy , strlen , strcmp. ada juga fungsi #include<math.h> yang mempernbolehkan kita menggunakan fungsi matematika seperti fungsi pangkat.
User defined function merupakan fungsi yang tidak berasal dari kompiler , tetapi merupakan fungsi yang dibuat oleh user .
Recursive
Fungsi recursive adalah fungsi yang dapat digunakan untuk memanggil dirinya sendiri.rekursif memiliki beberapa kelemahan yaitu : fungsi rekursif lebih memakan banyak memori, membutuhkan waktu eksekusi yang lebih lama , dan juga harus melewati semua panggilan rekursif menggunakan stack. contoh codingan menggunakan recursive.
nomor fibonaci : 0,1,1,2,3,5,8,13
Fib (N) = N jika N = 0 atau 1
Fib (N) = Fib (N-2) + Fib (N-1) jika N> = 2
int Fib(int n) {
int f;
if(n==0) f = 0;
else if(n==1) f = 1;
else f = Fib(n-2) + Fib(n-1);
return f;
}
Comments
Post a Comment