Hai semua✋👋! Kali ini saya akan berbagi catatan saya sebagai mahasiswa "IT" tentang Function dan Recursion. Semoga artikel ini bermanfaat.
Function dan Recursion
Sebenarnya dalam coding suatu program, program terbagi menjadi berbagai modul. Modul pada bahasa C dilakukan diimplementasikan melaluifunction. Function terbentuk dari berbagai statemen yang telah dikelompokkan. Modul juga dapat disebut sebagai sub program.
Manfaat menggunakan modul dalam coding adalah:
1. Lebih mudah untuk di debug atau dicari kesalahan dalam coding-an tersebut
2. Dapat memodifikasi tanpa mempengaruhi keseluruhan coding-an
3. Lebih mudah untuk di dokumentasikan.
Function
Cara untuk mendeklarasikan function adalah:
return-value-type function-name (parameter-list){
statements;
}return-value-type adalah data type yang akan di return. Jika tidak diisi maka secara otomatis fungsi itu akan menreturn data integer. Jika return-value-type adalah void maka function tersebut tidak menreturn data.
Parameter-list adalah data data yang akan digunakan dalam fungsi tersebut yang biasanya diambil dari variabel yang berasal dari int main. Pointer dan Address masih berlaku pada hal ini. Contohnya ketika kita ingin menghitung nilai maksimum dari 2 buah data. Maka dapat kita tuliskan.
int max(int a,int b){
int max=a;
if(max<b) max=b;
return max;
}
void main(){
int a=5,b=3;
printf("max = %d",max(a,b));
}maka akan tercetak "max = 5". Perlu diingat bahwa variabel a dan b pada void main dan variabel a dan b pada int max merupakan variabel yang berbeda karena identifier scoping variabel tersebut hanya pada fungsi fungsi tersebut / local variable. Penjelasan identifier scoping dapat diilustrasikan sebagai berikut.
Recursion
Recursion adalah sebuah fungsi yang menreturn fungsi dirinya sendiri hingga kasus tertentu. Recursion dan Iterative memiliki tujuan yang sama namun penulisannya yang berbeda contohnya untuk rumus faktorial dapat dituliskan sebagai:
namun penggunaan recursive sangatlah berat dikarenakan tidak ringan 😂 maksudnya sangat berat dikarenakan memakan lebih banyak memory dan memakan lebih banyak waktu dibandingkan Iterative. Namun ada kasus kasus dimana kasus tersebut sulit dipecahkan menggunakan Iterative dan lebih mudah dipecahkan menggunakan recursive.
Sekian catatan saya tentang Function dan Recursion. Semoga bermanfaat 😁.
Tidak ada komentar:
Posting Komentar