Halo Netizen X9,
Kali ini saya akan membagikan Code Rekursif pada Bahasa C, namun apakah kalian tau arti dari rekursif? nah, kali ini kita akan membahasnya terlebih dahulu.
Pada umumnya Rekursif juga sering disebut Rekursi.
Rekursif /Rekursi adalah proses memanggil dirinya sendiri yang biasa dilakukan oleh fungsi atau prosedur pada pemrograman prosedural. Rekursif akan terus berjalan sampai kondisi berhenti terpenuhi.
Bentuk rekursi juga merupakan alternatif dari bentuk iterasi atau perulangan. Perulangan rekursif merupakan salah satu metode didalam pemrograman yang mana dalam sebuah fungsi terdapat instruksi yang memanggil fungsi itu sendiri.
Masih belum paham? oke kita coba ambil pengertiannya dari wikipedia
Rekursi adalah proses pengulangan sesuatu dengan cara kesamaan-diri. Sebagai contohnya, saat dua cermin berada paralel antara satu dengan yang lain, gambar yang tertangkap adalah suatu bentuk rekursi tak-terbatas. Istilah ini memiliki makna beragam bergantung kepada ragam disiplin mulai dari linguistik sampai logika.
Sumber: wikipedia
Kalau masih belum mengerti juga, coba kalian perhatikan gambar ini.
Sumber gambar:andiagusta.blogspot.com
Sudah? baiklah, kita lanjutkan ke konsep Rekursif.
Konsepnya sebagai berikut.
Menghitung perkalian dua bilangan.
a = 2 ; b = 4
int kali(int a, int b)
{
if(b==0) return 0;
else return a + kali(a,b-1);
}
kali(2, 4)
-> 2 + kali(2, 3)
-> 2 + (2 + kali(2, 2))
-> 2 + (2 + (2 + kali(2, 1)))
-> 2 + (2 + (2 + (2 + kali(2, 0))))
-> 2 + (2 + (2 + (2 + 0)))
-> 2 + (2 + (2 + 2)
-> 2 + (2 + 4)
-> 2 + 6-> 8
Oke, selanjutnya contoh Codenya
Berikut contoh Code Rekursif
Code Deret Angka
#include <stdio.h>
void deret(int i){
if(i<10){ //angka 10 untuk menampilkan sampai 10 digit
printf("%d ",i);
deret(++i);
}
}
main(){
int i=0;
deret(i);
}
Code Faktorial
#include <stdio.h>
int faktorial(int i){
if(i==0 || i==1) return 1;
return i*faktorial(i-1);
}
main(){
printf("%d",faktorial(6));
}
Code Deret Bilangan Genap
#include <stdio.h>
int deretGenap(int i){
if(i<=20) printf("%d ",i);
deretGenap(i+=2);
}
main(){
deretGenap(0);
}
Ketiga Code Diatas Adalah hasil pencarian saya dari Google. sekarang saya akan membagikan Code Rekursif yang saya kerjakan di tempat kuliah.
Code deret angka kelipatan 5 secara ascending
proses yang akan ditampilkan saat program dijalankan Seperti:
jika diketik 5
maka akan tampil :25 20 15 10 5
dan jika dimasukkan : 7
Ouputnya : 35 30 25 20 15 10 5
Berikut Codenya.
#include <stdio.h>
#include <stdlib.h>
void count (int x)
{
if ( x > 0)
{
printf("%d ",x*5);
count(x-1);
}
}
int main ()
{
int bil;
scanf("%d", &bil);
count (bil);
getchar();
return 0;
}
baik, Demikian post tentang Rekursif. Silahkan di komentari, dan Terimakasih.
Name : Timothy Stefan Tomatala
Nim : 2001665664
Lecture: Yanto Setiawan, SKom, M.T.I