Friday, June 9, 2017

Modul 3 - Fungsi Rekursif

FUNGSI REKURSIF
                                                                                               

Tujuan Praktikum :

1. Dapat menciptakan tipe dan bentuk dalam program
2. Dapat mengenal dan memahami fungsi rekursif
3. Dapat mengimplementasikan fungsi rekursif pada bahasa c/c++
4. Dapat menciptakan program mengguankan fungsi rekursif


Dasar teori :

Rekursi (recursion) adalah merupakan suatu fungsi yang dapat memanggil diriya sendiri . Fungsi rekursif dipakai karena memiliki kelebihan ,yaitu penulisan baris program menjadi lebih singkat. akan tetapi fungsi ini juga memiliki kekurangan ,yaitu membutuhkan banyak memori karena setiapprogram dipangil oleh dirinya sendiri ,dibutuhkan sejumlah ruang tambahan.

Berikut contoh Fungsi Rekursuf :


Xn    n adalah bilangan bulat positif. Contoh kasus :
 Jika n = =1 maka Xn  = X selain itu :   Xn  = X *  Xn-1

                 Misal X = 2 dan n = 3,  



Praktikum 3.1



Dalam perhitungan matematika dikenal perpangkatan dengan menentukan bilangan dasar yang akan dipangkatkan dan menentukan pangkat yang akan diterapkan pada bilangan dasar tersebut, bagaimana perhitungan matematika tersebut jika dibuat kedalam program.


Script :



#include <stdio.h> // Lan-balon.blogspot.co.id
#include <conio.h>

int pangkat (int x, int y)  //parameter pangkat
{   //struktur pemilihan if else
  if (y == 0)  //bila memasukan pangkat 0 maka akan dikalikan 1
    {
    return 1;
    }
  else
        {   //bila selain angka satu maka akan diproses perkalian 
    return x * pangkat (x, y - 1);
        }
}

int main()
{
  int x, y;  //variabel untuk bil bulat dan bil pangkat

  printf ("Masukan bilangan yang akan dipangkatkan = ");
  scanf ("%d", &x);  //inputan bilangan bulat
  printf ("\nPangkat Bilangan = ");
  scanf ("%d", &y);  //inputan pangkat
  printf ("\nHasil bilangan %d pangkat %d adalah %d", x, y, pangkat (x, y));  //pemanggilan fungsi pangkat
  getch();
  return 0;
}


Hasil Runningnya :






Penjelasannya :


Program ini di Buat untuk memudah kan Kalian untuk Mempangkatkan Suatu bilangan dengan Mudah dan Praktis ..

Praktikum 3.2



Bilangan yang ada merupakan runtutan jumlah dari bilangan sebelumnya, dengan demikian kita dapat mengetahui deret bilangan sebelumnya dengan melakukan faktorisasi dari bilangan tersebut. Hasil dari deret bilangan tersebut dapat dilakukan dengan sebutan faktorial.

Contoh 4 difaktorialkan (4!) => 4 3 2 1 : (hasil kali 4!) = 24

Script :


#include <iostream.h>  // lan-balon.blogspot.co.id


int factorial (int a)  //parameter faktorial
{   //struktur pemiihian if
    if (a == 0)
  {   //fungsi rekursif
        return 0;
    }
  else
        if(a > 1)
    {
            return (a * factorial (a-1));
    }
        else
            {
      return 1;
            }
}

int main()
{
  int a;
      
  cout << "\t\tProgram Menampilkan Deret Nilai Faktorial" << endl;
  cout << "\nMasukan nilai factorial : ";
  cin >> a;  //imputan faktorial
    cout << endl;
  cout << "\nRekursif --> Hasil perkalian semua nilai dari " << a << "! = " << factorial (a); //pemanggilan dan menampilkan faktorial
    return 0;
}

Hasil Runningnya :




Penjelasanya :


Fungsi Rekursif ini berfungsi untuk perkalian Berderet misal 5 maka hasilnya 120 seperti Gambar di atas .. 5*4*3*2*1 jadi Berderet perkaliannya ..



Praktikum 3.3


Bilangan fibonacci adalah bilangan yang melakukan penambahan terhadap dirinya sendiri dari nilai penjumlahan dari bilangan pada dirinya yang sebelumnya seperti teorinya berikut ini :


f0 = 0, f1 = 1, fn>2 = fn-1 + fn-2
f2 = f0 + f= 0 + 1 = 1

f3 = f1 + f= 1 + 1 = 2
f4 = f2 + f= 1 = 2 = 3
f5 = f3 + f4 = 2 + 3 = 5

Script :


#include <stdio.h> // lan-balon.blogspot.co.id
#include <conio.h>
#include <iostream.h>


int fibo (int i)  //parameter fibo
{   //struktur pemilihan
  if (i == 0)
    {
    return 0;
  }
    else
    if (i == 1)
        {
            return 1;
    }
        else
    {    //fungsi rekursif
                return fibo (i - 1) + fibo (i - 2);
    }
}

int main()
{
    int bil, i;
    // judul program
  cout << "\tFungsi Rekursif Bilangan Fibonacci" << endl;
  cout << "\t----------------------------------" << endl;
  cout << "Masukan bilangan : ";
  cin >> bil;  //input nilai fibo
    //pemanggilan nilai fibonacci
    for (i = 1; i <= bil; i++)
    {//pemanggilan fungsi
    cout << " " << fibo (i);
    }
    cout << "\nFibonacci (" << bil << ") = " << fibo (bil);  //tampilan hasil deret fibo
  
    getche();
  return 0;
}

Hasil Runningnya :



Penjelasannya :

Program ini di gunakan untuk penjumlahan dari 1 ke n jadi misalkan 10 maka Penjumlahannya 1 1 2 3 5 8 13 21 34 55 dangat Mudah Kan Guys ..

  • Latihan 3.1
  • Latihan 3.2
  • Latihan 3.3

Share this

0 Comment to "Modul 3 - Fungsi Rekursif"

Post a Comment