Skip to main content

Faktorial C++ Dengan Metode Rekursif

1. Pengertian

-Rekursif merupakan alat/cara untuk memecahkan masalah dalam suatu fungsi atau procedure yang memanggil dirinya sendiri.
-Prosesnya terjadi secara berulang-ulang
-Yang perlu diperhatikan adalah “stopping role”

2. Kelebihan

-Karena program lebih singkat dan ada beberapa kasus yang lebih mudah menggunakan fungsi yang rekursif

3. Kekurangan

-Memakan memori yang lebih besar, karena setiap kali bagian dirinya dipanggil, dibutuhkan sejumlah ruang memori tambahan.
-Mengorbankan efisiensi dan kecepatan


4. Problem yang sering dijumpai

-Rekursi seringkali tidak bisa “berhenti” sehingga memori akan terpakai habis dan program bisa hang.

5. Penanggulangan

-Jika memang bisa diselesaikan dengan iteratif, gunakanlah iteratif!

6. Contoh Permasalahan :

Penghitungan bilangan faktorial
5! = 5 x 4 x 3 x 2 x 1
4! = 4 x 3 x 2 x 1
Berarti 5! = 5 x 4!

7. Penyelesaian dengan Metode Rekursif

Cara pertama untuk menyelesaikan permasalahan di atas adalah dengan cara rekursif, dimana n! adalah hasil kali dari n dengan (n-1)!. -> dicontohkan bahwa 5! = 5 x 4!
Untuk menyelesaikan (n-1)! adalah sama dengan n!, sehingga (n-1)! adalah n-1 dikalikan dengan (n-2)!, dan (n-2)! adalah n-2 dikalikan dengan (n-3)! dan seterusnya sampai dengan n = 1, kita menghentikan penghitungan n!

8. Contoh Program :


#include <iostream.h>
#include <conio.h>

int faktorial (int n)
{if (n=0) return 0;
else if (n==0) return 1;
else if (n==1) return 1;
else
return n*faktorial(n-1);
}
void main()
{
int fak;
cout<<"Masukkan beberapa faktorial = ";cin>>fak;
cout<<"maka hasilnya = "<<faktorial(fak);
getch();
}





Comments

  1. program ini ga jalan ya di Dev-C ?! http://bandungbuatbesok.blogspot.com

    ReplyDelete
  2. ya gak lah ne kan bwt borland....

    bisa jalan tapi harus di modif sedikit... hehe

    ReplyDelete

Post a Comment

Popular posts from this blog

Menghitung Volume Bangun Ruang Dengan PHP

Dalam kesempatan kedua ini saya akan sharing tugas saya yang kedua. yaitu pemrograman PHP, Di dalam tugas ini mahasiswa disuruh menampilkan Volume Bola, kerucut dan kubus.Dengan ketentuan jari-jari,tinggi,sisi yang sudah ditentukan. Untuk lebih jelasnya silahkan lihat dan pelajari program dan outputanya dibawah ini : <? $phi=3.14; $r=7; $t=14; $s=10; $volbola=(4/3)*$phi*$r*$r*$r; $volkerucut=(1/3)*$phi*$r*$r*$t; $volkubus=$s*$s*$s; echo"========================================="; echo"<br/>"; echo"Nama = Fauzan Vega Saputra"; echo"<br/>"; echo"Kelas = TI_B"; echo"<br/>"; echo"NIM = 3085111136"; echo"<br/>"; echo"========================================="; echo"<br/>"; echo"| Menghitung Volume Bola, Kerucut dan Kubus |"; echo"<br/>"; echo"========================================="; echo"<br/>"; echo"

Program Konversi Uang Dengan Delphi

Pertama-tama wajib mendownload delphi 7, cari aja di mbah google pasti ada banyak banget. Setelah download selesai, install di kompi atau laptop anda, kalau dah punya delphi 7 gak diwajibkan untuk download, siapkan aja ember,gayung dan air, cari dikamar mandi jangan di mbah google.. xixixxi bingung ya kok pake ember,gayung dan air???? yaiaylah orang aku boongin,,, ckckckck udah deh bercandanya sekarang serius.... Langkah pembuatan program : 1. Jalankan Delphi 7 2. Pada kotak objek inspector terdapat 2 baris dan banyak kolom. pada kolom color isi dengan warna kesukaan anda. Disini saya contohkan dengan warna "clAqua" 3. Pada kolom caption "Form1" ganti dengan "konversi uang" 4. Tambahkan label,edit,dan button pada form konversi uang, dengan mengeklik simbol "A","OK","AB|" pada bagian atas lalu klik kan ke form konversi uang. lihat gambar dibawah : 5. dan di atur letaknya seperti gambar dibawah ini: 6. Untuk me

Program java Menghitung Bangun Kerucut & Tabung

Didalam program ini user menginputkan tinggi dan jari - jari untuk bangun A dan bangun B. kemudian program mengeksekusinya sehingga akan di ketahui luas permukaan dan volume bangun A maupun bangun B, sesuai tinggi dan jari - jari yang telah di inputkan. Berikut contoh programnya : import java.io.*; class fauyan {     double r,s,t;     double phi = 3.14;     double volumekerucut, volumetabung;     double luaskerucut, luastabung; /* Email  : f_zan.hack@yahoo.com Web   : fzan-aquana.blogspot.com             fauzanvs.blogspot.com */     void hitung() {         luaskerucut = (phi * r) * (s + r);         luastabung = (phi* r * 2) * (t + r);         System.out.println(" ");         System.out.println("  Luas Permukaan Kerucut : " +luaskerucut +" cm^2");         System.out.println("  Luas Permukaan Tabung : " +luastabung +" cm^2");         System.out.println(" ");         volumekerucut = (phi * r * r * t) / 3;