Algoritma Dasar Pemrograman - Rekursi



REKURSI

Rekursi adalah suatu proses berupa pemanggilan dirinya sendiri berupa statement perulangan. Proses rekursif juga memungkinkan terjadinya komputasi yang tidak bekesudahan sampai memori yang digunakan tidak dapat menampung lagi, sehingga perlu diperhatikan akan akan adanya kondisi untuk menghentiksn proses eksekusi program.
Sebagai contoh sederhana dari proses rekursif yaitu proses menghitung nilai faktorial dari bilangan bulat positif, dan mencari deret fibonacci dari suatu bilangan bulat, dan sebagainya.
Contoh Permasalahan : Menghitung nilai faktorial.
1.      Mendefinisikan Masalah
Bagaimana cara menghitung nilai faktorial.
Dalam matematika, faktorial dari bilangan asli n adalah hasil perkalian antara bilangan bulat positif yang kurang dari atau sama dengan n. Faktorial ditulis sebagai n! Dan disebut n faktorial.secara umum dapat dituliskan dengan rumus
n! = n . (n-1) . (n-2) . (n-3) . ...
 Untuk menghitung nilai faktorial pertama-tama menetukan nilai inputannya. Kemudian memasukkan rumus nilai faktorial. Dan selanjutnya menentukan cara menampilkan outputnya.
2.      Menentukan Solusi
1)      Menentukan variabel apa yang digunakan, di sini kita menggunakan variabel bil (untuk bilangan akan difaktorialkan), i (nilai awal), dan f (untuk nilai faktorial) dengan tipe data integer.
2)      Menentukan inputan, inputan yang digunakan yaitu nilai awal i dan nilai bil
3)      Melakukan pencarian menggunakan rumus sebagai berikut.
For i=1 to bil do
f=f*i
4)      Menetukan ouputnya, yaitu berupa hasil faktorialnya (f).
3.      Memilih Algoritma
Flowchart

4.      Menulis Program
program faktorial;
uses crt;
var    bil, i, f:integer;
begin
     clrscr;
     writeln('program menetukan nilai faktorial');
     writeln('---------------------------------');
     write('Masukkan bilangan yang ingin difaktorialkan : ');readln(bil);
f:=1;
     for i:=1 to bil do
     begin
            f:=f*i;
     end;
     textcolor(magenta+blink);
     writeln('nilai ',bil,'! = ',f);
     readln;
end.

Hasil Eksekusi Program

 

Komentar

Postingan populer dari blog ini

Pemrograman 1 - Gaji (Menggunakan Statement Case Of)

Matematika Terapan 1 - Matriks

Pemrograman 1 - Bunyi (Menggunakan Statement For To Do)