pengertian,fungsi dan contoh algoritma rekursi dan iterasi
ALGORITMA REKURSIF DAN ITERATIF TERKAIT DEFINISI, FUNGSI DAN CONTOHNYA
A. ALGORITMA REKURSIF
3. Contoh Algoritma Rekursif
2. Fungsi Algoritma Iteratif
A. ALGORITMA REKURSIF
1. Pengertian Algoritma Rekursif
Rekursif dapat diartikan bahwa suatu proses yang bisa memanggil
dirinya sendiri. sedikit menyimpang dari pengertian ada sedikit pendapat
tentang Rekursif salah satunya adalah Menurut definisi dalam Microsoft
Bookshelf, Rekursif adalah kemampuan suatu rutin untuk memanggil dirinya
sendiri. Dalam Rekursif sebenarnya terkandung pengertian prosedur dan fungsi.
Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi
prosedur dan fungsi harus dipanggil lewat pemanggil prosedur dan fungsi.
Rekursif merupakan teknik pemrograman yang penting dan beberapa bahasa
pemrograman mendukung keberadaan proses rekursif ini. Dalam prosedur dan
fungsi, pemanggilan ke dirinya sendiri bisa berarti proses berulang yang tidak
bisa diketahui kapan akan berakhir.
Algoritma rekursif
- Teknik
Rekursif merupakan salah satu cara pembuatan algoritma dengan pemanggilan procedure
atau function yang sama
- Ada variabel lokal baru
- Program menjadi lebih sederhana
- Menggunakan perulangan if else
Kelebihan perulangan rekursif:
• Sangat mudah untuk melakukan perulangan dengan batasan yang luas dalam artian melakukan perulangan dalam skala yang besar.
• Dapat melakukan perulangan dengan batasan fungsi.
• Sangat mudah untuk melakukan perulangan dengan batasan yang luas dalam artian melakukan perulangan dalam skala yang besar.
• Dapat melakukan perulangan dengan batasan fungsi.
2. Fungsi Algoritma Rekursif
Fungsi tersebut
memanggil dirinya sendiri secara rekursif terhadap versi input yang lebih kecil
(n-1) dan mengkalikan hasil dari pemanggilan rekursif dengan n, sampai
pada kasus dasar, sama analoginya dengan definisi matematika dari
faktorial.
Rekursi dalam
pemrograman komputer dicontohkan saat sebuah fungsi didefinisikan dalam bentuk
sederhana, bahkan versi terkecil dari dirinya. Solusi dari permasalahan
kemudian dirancang dengan menggabungkan solusi-solusi yang didapat dari versi
sederhana dari permasalahan. Salah satu contoh aplikasi rekursi yaitu
dalam parsing untuk bahasa pemrograman. Keuntungan utama dari
rekursi adalah suatu himpunan tak-terbatas dari kalimat yang memungkinkan,
perancangan atau data lainnya dapat didefinisikan, diurai atau dihasilkan
dengan suatu program komputer yang terbatas.
Relasi
perulangan adalah persamaan-persamaan untuk menentukan satu atau lebih
urutan-urutan secara rekursif. Beberapa relasi perulangan tertentu dapat
“diselesaikan” untuk mendapatkan definisi bukan-rekursif.
Penggunaan rekursi dalam
suatu algoritma memiliki kelebihan dan kekurangan. Kelebihan utamanya adalah
biasanya kesederhanaan. Kekurangan utamanya adalah terkadang algoritma tersebut
membutuhkan memori yang sangat banyak jika kedalaman rekursi sangat besar.
3. Contoh Algoritma Rekursif
Contoh paling sederhana dari proses rekursi adalah menghitung nilai
faktorial dari bilangan bulat. Nilai faktorial, secara rekursif dapat ditulis
sebagai :
0! = 1
N! = N x
(N-1)!, Untuk N > 0
yang secara
notasi pemrograman bisa ditulis sebagai:
FAKTORIAL (0)
= 1 1)
FAKTORIAL (N)
= N * FAKTORIAL (N-1)
#include <cstdlib> #include <iostream> using namespace std; long faktorial(int n){ if((n==0)||(n==1)){ return 1; } else { return n*faktorial(n-1); } } int main(int argc, char *argv[]) { int n; cout<<"Masukkan angka yang akan difaktorialkan:"; cin>>n; cout<<"Hasil:"<<faktorial(n); system("PAUSE"); return EXIT_SUCCESS; }2)
Persamaan 2) di atas merupakan contoh hubungan rekurens (recurrence
relation), yang berarti bahwa nilai suatu fungsi dengan argumen tertentu bisa
dihitung dari fungsi yang sama dengan argumen yang lebih kecil. Persamaan 1)
yang tidak bersifat rekursif, disebut nilai awal. Setiap fungsi rekursi paling
sedikit mempuyai 1 (satu) nilai awal; jika tidak, fungsi tersebut tidak bisa
dihitung secara eksplisit.
Proses
rekursi akan selesai , ini terletak pada kondisi pernyataan if-nya. Jika
pernyataan if menjadi FALSE maka akan menghentikan proses rekursi.
B. ALGORITMA ITERATIF
1. Pengertian iteratif
Perulangan iteratif merupakan perulangan yang
melakukan proses perulangan terhadap sekelompok instruksi di mana perulangan
tersebut akan berhenti jika batasan syarat sudah tidak terpenuhi.
Algoritma
iteratif
- Teknik Iteratif merupakan suatu
teknik pembuatan algoritma dengan pemanggilan procedure
beberapa kali atau hingga suatu kondisi tertentu terpenuhi.
-
Tidak ada variabel lokal baru
-
Program tidak sederhana
-
Menggunakan perulangan for dan while
Perulangan iteratif merupakan
perulangan yang melakukan proses perulangan terhadap sekelompok intruksi.
Perulangan dilakukan dalam batasan syarat tertentu. Ketika syarat tersebut
tidak terpenuhi lagi maka perulangan aka terhenti.
2. Fungsi Algoritma Iteratif
Berikut
beberapa fungsi dari Algoritma Iteratif
a. Fungsi rekursif dalam
pemrograman merupakan fungsi yang memanggil dirinya sendiri. Fungsi rekursif
sering saya bayangkan seperti perulangan. Karena tingkah lakunya yang
mengulang-ulang setiap pemanggilan dirinya.
b. Fungi Iteratif merupakan
perulangan yang melakukan proses perulangan terhadap sekelompok intruksi.
Perulangan dilakukan dalam batasan syarat tertentu. Ketika syarat tersebut
tidak terpenuhi lagi maka perulangan akan terhenti.
3. Contoh Algoritma Iteratif
/*Fungsi
pencarian nilai maximum*/
Function
maximum(A,n){
m <- A[1]
i <- 2
While (i <= n) do
if (A[i] > m) then
m <- A[i]
i <- i+1
endwhile
return m
}
Komentar
Posting Komentar