Rekursif
yaitu suatu proses yan memanggil dirinya sendiri yang biasanya dilakukan oleh fungsi atau mekanisme pada pemrogramman procedural ibarat c++, C
adapun problem yang akan saya selesaikan yaitu sbb:
- Buatlah sebuah fungsi yang menulis angka dari n ke 0 dengan menggunakan proses rekursi.
- Tuliskan sebuah fungsi untuk menulis angka dari 0 ke n dengan menggunakan proses rekursi.
- Tuliskan fungsi rekursi untuk membalik suatu kalimat. Sebagai contoh, kalimat 'Praktikum' dibalik menjadi 'mukitkarP'. Fungsi rekursi ini mendapatkan parameter bertipe string dan mengembalikan string hasil pembalikan.
Scrip jawab No 1
#include<iostream>
#include<conio.h>
int fromnull(int k);
main(){
int n;
cout<<"Masukkan nilai N = " ;cin>>n;
fromnull(n);
}
int fromnull(int k){
for(int i=0;i<=k;i++){
cout<<" "<<i<<" ";
}
}
Script jawab No 2
#include<iostream>
#include<conio.h>
int kenull(int k);
main(){
int n;
cout<<"Masukkan nilai N =";cin>>n;
kenull(n);
}
int kenull(int k){
for(int i=k;i>=0;i--){
cout<<" "<<i<<" ";
}
}
script jawab No 3
#include <iostream>
#include <string>
using namespace std;
string rekursif(string kata){
static int j = 1,nilai = kata.length(),akhir= nilai;
if(nilai>=j){
cout<<kata[nilai-2];
nilai--;
return rekursif(kata);
}
return "\n";
}
main(){
int n;
string kalimat;
cout <<"Berikan sebuah kalimat:";
getline(cin,kalimat);
string kata(kalimat);
cout <<"Kata yang Anda berikan:"<<kata<<endl;
cout <<"Panjangnya : "<<kata.length()<<" karakter"<<endl;
cout <<"Dibalikkan menjadi : ";
string hasil = rekursif(kalimat);
cout<<hasil;
}
Kesimpulan
Rekursif yaitu suatu proses atau mekanisme dari fungsi yang memanggil dirinya sendiri secara berulang-ulang. Karena proses dalam Rekursif ini terjadi secara berulang-ulang maka harus ada kondisi yang membatasi pengulangan tersebut, bila tidak maka proses tidak akan pernah berhenti hingga memori yang dipakai untuk menampung proses tersebut tidak sanggup menampung lagi (Penuh).
note :
script diatas saya tulis memakai software borland ++, selain borland anda juga sanggup menggunakan nootpad++