NAMA : MAHRUS

NPM : 2017020100050







DEFINISI  DAN Keefektifan REKURSIF Serampak  CONTOHNYA

Rekursif penting suatu proses nan menamai dirinya sendiri. Dalam rekursif sebenarnya terkandung konotasi prosedur atau fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya koteng, tetapi prosedur ataupun fungsi harus dipanggil adv amat pemanggil prosedur atau manfaat. Rekursif merupakan teknik pemrograman yang penting, dan sejumlah bahasa pemrograman modern mendukung kehadiran proses rekursif ini.

Pemanggilan prosedur ataupun kekuatan ke dirinya sendiri bisa berarti proses yang tautologis nan tidak boleh diketahui kapan akan berakhir. Dalam pemanfaatan sehari-hari, rekursi adalah teknik pemrograman nan berdaya guna bagi digunakan plong pegangan pemrograman dengan mengeksperisikannya ke dalam suku-suku dari program lain dengan menambahkan langkahlangkah sejenis. Contoh paling tertinggal dari proses rekursi adalah menghitung kredit faktorial berpokok bilangan bulat. Nilai faktorial, secara rekursif bisa ditulis perumpamaan :

0! = 1

Ufuk! = N x (N-1)!, Bakal N > 0

nan secara notasi pemrograman bisa ditulis umpama:

FAKTORIAL (0) = 1 1)

FAKTORIAL (N) = T * FAKTORIAL (T-1) 2)

Paralelisme 2) di atas yaitu contoh korespondensi rekurens (recurrence relation), nan berarti bahwa nilai suatu kebaikan dengan argumen tertentu bisa dihitung dari fungsi yang sama dengan argumen nan lebih boncel. Kemiripan 1) nan enggak berwatak rekursif, disebut poin sediakala. Setiap fungsi rekursi paling cacat mempuyai 1 (suatu) nilai awal; jika tak, fungsi tersebut tidak bisa dihitung secara eksplisit.

Proses rekursi akan selesai , ini terletak plong kondisi pernyataan if-nya. Jikalau pernyataan if menjadi FALSE maka akan menghentikan proses rekursi
Prinsif dan proses rekursi:

  1. N kepunyaan kasus non rekursi(sederhana)
  2. Kasus tadinya diarahkan menuju kasus tercecer
  3. Mendefinisikan proses rekursi

Intern bentuk pernyataan , umumnya menggunakan pernyataan if( atau if……else)
Konseptual  program rekursi terlambat dengan DEV C++

#include <iostream>
using namespace std;
void cetak(int n)
{
if(n<=4)
cetak(ufuk+1);
cout<<ufuk<<endl;
}

int main(int argc, char *argv[])
{
cout<<“Hasil dengan mandu menggunakan rekursif: “;
cetak(1);
system(“Jeda”);
return EXIT_SUCCESS;
}

Fungsi yang didefinisikan secara rekursif:

Langkah-langkah untuk mendefinisikan fungsi dengan domain bilangan cacah:

  1. Langkah basis: Definisikan ponten fungsi sreg saat kosong.
  2. Persiapan rekursif: Berikan aturan lakukan mencari nilai fungs iuntuk setiap bilangan melingkar berdasarkan nilai fungsi pada bilangan bulat yang bertambah kerdil.

Definisi seperti itu disebut rekursif atau definisi induktif.


Kerangka rekursif :



a. suatu subrutin/khasiat/ prosedur yang memanggil dirinya sendiri.
b. Bentuk dimana pemanggilan subrutin terwalak intern body subrutin
c. Dengan rekursi, program akan kian mudah dilihat

 ada subroutine call yang menyertakan parameter yang nilainya menuju kondisi terminal (recurrence)


ada kondisi halte (basis)


Buram rekursi bertujuan bagi : b.menyederhanakan penulisan acara c.mengambil alih bentuk perulangan Syarat bentuk rekursif:


Proses Rekursif :



Untuk memahami proses rekursif yang terjadi dalam sebuah manfaat rekursif, perhatikan contoh sederhana di bawah ini. Acuan di bawah ini menyajikan satu faedah lakukan menghitung harga tataran suatu biji bilangan bulat misalnya 35, beralaskan hubungan rekurens seperti dijelaskan diatas, maka proses rekursif akan tampak pada susuk berikut ini:


Gambar:  Ilustrasi Penghitungan pangkat secara rekursif

Berasal definisi tersebut, statemen pertama menunjukkan nilai yang terdahulu dari fungsi, dan statemen kedua menunjukan perulangan penjatuhan berbunga cakrawala yaitu n-1.

Selain kemustajaban, prosedur juga dapat dilakukan operasi rekursif. Perumpamaan teoretis penggunaan proses rekursif puas prosedur ialah prosedur pemburuan biner (binary search). Dalam beberapa hal rekursif sedikit efisien dibandng proses iterasi. Dalam artian pemecahan secara rekursif dan secara iterasi punya keuntungan dan kehabisan yang bisa ganti diperbandingkan. Yaitu layak sulit bagi menentukan mana yang paling keteter, minimum jelas, paling efisien dan paling kecil

mudah dibanding yang lain. Bisa ditambahkan, pemilihan secara iteratif maupun rekursif boleh dikatakan merupakan kesenangan koteng programmer sesuai dengan keinginannya.


Kelebihan perulangan rekursif :



Lewat mudah untuk melakukan perulangan dengan batasan yang luas dalam artian melakukan perulangan dalam skala yang besar
Bisa melakukan perulangan dengan batasan fungsi


Kesuntukan kemubaziran rekursif :





Tidak bisa melakukan nested loop maupun looping bersarang.
Biasanya membuat khasiat selit belit untuk dipahami, belaka semupakat untuk persoalan tertentu namun.
Memerlukan stack yang lebih samudra, sebab saban-saban fungsi dipanggil, luwes domestik dan indikator legal akan ditempatkan ke stack dan terserah kalaya akan menyebabkan stack tak layak lagi (Stack Overum).
Proses duga berpulas-jalin karena terdapat pemangilan kepentingan yang berulang-ulang dan pemanggilan data nan ditumpuk.




( by : MAHRUS)


P


ENGERTIAN  ALGORITMA Iteratif DAN REKURSIF


A. ITERATIF

1.Pengertian repetitif
Perulangan iteratif adalah perulangan yang melakukan proses iterasi terhadap setumpuk instruksi di mana perulangan tersebut akan berhenti jika batasan syarat sudah tidak terkabul.

Algoritma tautologis

– Teknik Iteratif merupakan suatu teknik pembuatan algoritma dengan pemanggilan procedure    beberapa kali atau hingga suatu kondisi tertentu terlaksana.

– Tidak terserah variabel lokal baru

– Program tidak sederhana

– Memperalat perulangan for dan while

Perulangan iteratif merupakan perulangan yang melakukan proses perulangan terhadap sekelompok intruksi. Tautologi dilakukan internal batasan syarat tertentu. Ketika syarat tersebut tidak terpenuhi kembali maka iterasi aka tersekat.

Kelebihan repetisi berulang:
• Mudah dipahami dan mudah melakukan debugging detik terserah kemubaziran nan salah.
• Dapat melakukan nested loop alias yang disebut dengan looping bersarang.
• Proses lebih singkat karena perulangan terjadi pada kondisi yang telah disesuaikan.
• Jarang terjadi overflow karena batasan dan syarat perulangan yang jelas.

Kelemahan perulangan iteratif:
• Tidak boleh menggunakan batasan berupa fungsi.
• Tautologi dengan batasan nan luas akan meruwetkan privat pembuatan programa perulangan itu sendiri.

program 1

Bentuk kelebihan iteratif :

#include <cstdlib>

#include <iostream>

using namespace std;

int besaran(int n) {

int hasil = 0;

for (int i=0; i<n; i=i+2)

hasil = hasil + i;

return hasil;

}

void cetak(int n) {

for (int i=0; i<n; i=i+2)

cout << i << ” “;

}

int main(int argc, char *argv[])

{

int ufuk = 10;

cout << total(kaki langit);

cetak(n);

system(“PAUSE”);

return EXIT_SUCCESS;

}