FUNCTION AND RECURSION

HI CODER :)
Kembali lagi dengan saya hari ini saya akan membahas tentang FUNCTION AND RECURSION.
FUNCTION
Jadi Function adalah dimana kita membuat group - group dari beberapa statement untuk melakukan sesuatu, contoh kita membuat group untuk perkalian,penjumlahan,pembagian,dll. Biasa function juga dapat di bilang sebagai sub program. Jadi kita dapat membuat sub - sub program dari suatu program.
CONTOH KODING:
#include <stdio.h>

int find_max(int x[]) // ini adalah contoh function, kita membuat function untuk mencari max angka.
{
int max=x[0];

for(int i=1;i<5;i++)
{
if(max<x[i])
{
max = x[i];
}
}
return max;
}

int sqrt_v2(int a,int b) //fungsi didalam tanda kurung adalah untuk memasukan input yang kita ingin masukan yaitu 2 input int a dan b
{
int value=a;
for(int i = 1; i<b;i++)
{
value*=a;
}
return value;
}

void tambah(int a,int b,int *total)
{
*total=a+b;
// b++;
// a++;
// printf("%d",total);
}

int main()
{
int x[100],a,b,total;
a = 5;
b = 5;
tambah(a,b,&total);
printf("%d",total);
// for(int i=0;i<5;i++)
// {
// scanf("%d",&x[i]);
// }
// printf("%d\n",sqrt_v2(5,2));//(5,2) adalah input yang kita masukan kedalam function yang diminta 2 input maka kita harus memberi 2 inpu.
return 0;
}
(KODING REAL TIME DI KELAS)

Jadi dari koding diatas kita dapat belajar bahwa kita dapat membuat sub - sub program dari suatu program agar kita dapat lebih mudah mengerti kalau semisal terdapat kesalahan dalam berjalannya program.

RECURSION
Recursive tidak jauh beda dengan function dimana recursive juga seperti kita membuat group - group statement untuk melakukan sesuatu, tetepi beda dengan function recursive identik dengan "return" karena recursive adalah fungsi yang memanggil diri nya sendiri.
CONTOH KODING:
#include <stdio.h>
int faktorial(int a)
{
int x=a;
if(a==0)
{
return 1;
}
else
{
return x*faktorial(x-1); // memanggil dirinya sendiri
}
}
int faktorial_v2(int a,int b,*total)
{
*total=1
for()
}
int fibo(int a)
{
if(a == 0)
{
return 0;
}
else if(a == 1)
{
return 1;
}
else
{
return fibo(a-1)+fibo(a-2);
}
}
int fibo_v2(int a,int *total)
{
int x[100];
int[0]=0;
int[1]=1;
for(int i=2,i<=a;i++)
{
x[i]=x[i-1]+x[i-2]
}
*total=x[a]
}
int main()
{
int x[100],a,b,total=0;
a = 5;
b = 5;
tambah(a,b,&total);
printf("%d",total);
// for(int i=0;i<5;i++)
// {
// scanf("%d",&x[i]);
// }
// printf("%d\n",sqrt_v2(5,2));
return 0;
}
(KODING REAL TIME KELAS)

Kita dapat mengerti dari koding diatas bahwa dia memanggil dirinya sendiri dimana dia return ke dirinya sendiri jadi seperti looping tetapi dalam bentuk function, yang kita perlukan adalah mengerti polanya agar kita dapat membuat recursive karena tanpa kita mengerti pola mengerjakan kita tidak bisa membuat recursive.

SEKIAN KODING HARI INI
HAPPY CODING :)

Komentar