Algoritma rekursif bilangan fibonacci dan faktorial

Berikut ini adalah pertanyaan dari sitanggangm1143 pada mata pelajaran TI untuk jenjang Sekolah Menengah Pertama

Algoritma rekursif bilangan fibonacci dan faktorial

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

1. Algoritma Fibonacci Secara Rekursif

Berdasarkan definisi, bilangan Fibonacci ke-ndengann bilangan bulat tak-negatif dinyatakan oleh:

\begin{aligned}F(n)=\begin{cases}0,&{\rm jika\ }n=0;\\1,&{\rm jika\ }n=1;\\F(n\!-\!1)+F(n\!-\!2),&{\rm jika\ }n > 1.\\\end{cases}\end{aligned}

Maka, algoritma program utama dan fungsi bilangan Fibonacci secara rekursif adalah sebagai berikut.

Program BilanganFibonacci
Kamus:
   n : integer ≥ 0
   function Fibonacci(n : integer ≥ 0) → integer
   {Diberikan n, menghitung bilangan Fibonacci ke-n}
Algoritma:
   input(n)
   output(Fibonacci(n))
____________________

function Fibonacci(n : integer ≥ 0) → integer
{Diberikan n, menghitung bilangan Fibonacci ke-n}
Kamus lokal:
   {tidak ada}
Algoritma:
   depend on n :
       n = 0 : → 0;
       n = 1 : → 1;
       n > 1 : → Fibonacci(n–1) + Fibonacci(n–2)
____________________

2. Algoritma Faktorial Secara Rekursif

Berdasarkan definisi, faktorial dari sebuah bilangan bulat tak-negatif n dinyatakan oleh:

\begin{aligned}n!=\begin{cases}1,&{\rm jika\ }n=0;\\1,&{\rm jika\ }n=1;\\n(n-1),&{\rm jika\ }n > 1.\\\end{cases}\end{aligned}

Maka, algoritma program utama dan fungsi faktorial secara rekursif adalah sebagai berikut.

Program NilaiFaktorial
Kamus:

   n : integer ≥ 0
   function Faktorial(n : integer ≥ 0) → integer
   {Diberikan n, menghitung n!}
Algoritma:
   input(n)
   output(Faktorial(n))
____________________

function Faktorial(n : integer ≥ 0) → integer
{Diberikan n, menghitung n!}
Kamus lokal:
   {tidak ada}
Algoritma:
   depend on n :
       n = 0 : → 1;
       n = 1 : → 1;
       n > 1 : → n * Faktorial(n–1)
____________________

Detail Jawaban

Mata Pelajaran: Informatika (TIK)
Materi: Algoritma dan Pemrograman

Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.

Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact

Last Update: Mon, 24 Oct 22