Newest Post
Archive for 2019
Algoritma Rekursif dan Iteratif"
1) Rekursif
Rekursif
merupakan salah satu metode perulangan dalam sebuah algoritma pemprograman
dimana di dalam
sebuah fungsi terdapat instruksi yang menggunakan metode memanggil fungsi
itu sendiri. Jadi
metode rekursif melakukan siklus tanpa menggunakan sintax perulangan seperti
(for, while, do,
repeat, dan untill).
Fungsi dan Contoh
Rekursif :
➨ Fungsi Rekursif:
- Sebuah
fungsi yang dapat memanggil fungsi lain.
- Sebuah
fungsi yang dapat memanggil dirinya sendiri.
- Sebuah
fungsi f juga di sebut rekursif jika memanggil fungsi lain g dan di dalam g
terdapat
pemanggilan
terhadap f.
- Solusi
penyelesaiannya lebih natural dan sederhana.
➨ Fungsi Rekursif
mempunyai dua komponen yaitu:
- Base Case,
yaitu mengembalikan nilai tanpa melakukan pemanggilan rekursi berikutnya.
-
Reduction Step, yaitu menghubungkan
fungsi di suatu nilai input ke fungsi yang dievaluasi di
nilai input
yang lain. Sekuen nilai input harus konvergen ke base case.
Fungsi
Faktorial:
- Base Case:
n=0
- Reduction
Step: f(n)=n*f(n-1)
Contoh sederhana
proses rekursif:
Faktorial:
long f
(long n)
mulai
if
(n==0)
return (1);
else
return (n*f(n-1));
selesai
tutup
Menyajikan satu
fungsi untuk menghitung harga pangkat suatu nilai bilangan bulat misalnya 35
35=3x34=3x81=243
34 =3x33=3x27=81
33=3x32=3x9=27
32=3x31=3x3=9
31=3x30=3x1=3
30=1 ==>
Ilustrasi penghitungan pangkat secara rekursif
Dari definisi
tersebut statemen pertama menunjukkan nilai yang utama dari fungsi, dan
statemen
kedua menunjukkan
perulangan penurunan dari n yaitu n-1.
2) Iteratif
Iteratif
merupakan salah satu metode perulangan dalam sebuah algoritma pemprograman
yang melakukan
perhitungan dengan hasil yang diinginkan terhadap sekelompok instruksi.
Iteratif
menggambarkan situasi dimana urutan instruksi dapat dieksekusi berulang kali
yang
dikenal sebagai
loop. Sehingga proses iterasi terjadi karena adanya loop.
Fungsi dan Contoh
Iteratif:
➯Fungsi Iteratif:
- Mudah
dilakukan debuging ketika ada perulangan yang salah.
- Dapat
melakukan nested loop disebut looping bersarang.
➯ Fungsi Iteratif
(Faktorial):
//
dekremental
long f(long
n)
mulai
long i, f=1;
for
(i=n; i>=1; i--)
f *=i;
return f;
selesai
tutup
➣ Contoh
proses sederhana:
4!=4*3!=4*3*2!=4*3*2*1!=4*3*2*1=24
//
inkremental
long f
Inc(long n){
mulai
long
i, f=1;
for(i=1; i<=n; i++)
f *=i;
return
f;
selesai
tutup
➣ Contoh
proses sederhana:
4!=1*2*3*4=24