Social Icons

Minggu, 10 November 2013

Program JAVA Menampilkan Deret FAKTORIAL yang dihitung seperti bilangan FIBONACCI (scara rekursif)

sedikit penjelasan:
  Deret fibonacci dengan fungsi rekursif.
    Di dalam deret fibonacci, angka ke(n) adalah penjumlahan dari angka ke(n-1) dengan angka ke(n-2). sebagai contoh:

7 angka dalam deret fibonacci pertama adalah:
1, 1, 2, 3, 5, 8, 13
  • angka 13 adalah bilangan fibonacci dalam deret ke-7.
  • angka 13 di dapat dari penjumlahan angka 8 (yang merupakan bilangan fibonacci deret ke-6) dengan  angka 5 (yang merupakan bilangan fibonacci deret ke-5) 
Nah, program yang dibuat kali ini sedikit berbeda. karena angka dalam dere fibonacci adalah angka faktorial. Berikut langkah perhitungannya.

·         Program akan mencari semua nilai faktorial dalam range 5, yaitu :
5! = 120
4! = 24
3! = 6
2! = 2
1! = 1
0! = 1
·         Akan terbentuk suatu deret yaitu : 120, 24, 6, 2, 1, 1
·         Program menyimpan semua hasil faktorial itu ke dalam array
·         Lalu program akan mencari pertambahan dari deret ini dengan aturan :
{(n) + (n+1) } + {(n+1) + (n+2)}  . . . .
Dengan n adalah indeks awalnya
Dalam kasus ini :
(120 + 24) + (24 + 6) + (6+2) + (2+1) + (1+1) + (1+0) = 188
Untuk memenuhi tugas laporan final praktikum, berikut ini saya share koding an untuk Menampilkan Deret FAKTORIAL yang dihitung seperti bilangan FIBONACCI (secara rekursif)

import java.util.Scanner;
public class lp7 {
    public static void main (String[] args) {
       
            fibonacci fajar = new fibonacci();
        }
}

     class fibonacci {
        public Scanner sc = new Scanner(System.in);
        public int n=0;
        public int jumlah=0;
        public int temp=0;
        public int a,b;

    public int faktorial(int x) {
        if(x==1||x==0)
            return 1;
        else
            return x*faktorial(x-1);
    }

    public fibonacci() {

        System.out.print("    Masukkan bilangan :    ");
            n = sc.nextInt();
            int[] hitung = new int[n+2];
            hitung[0] = 1;

        System.out.print("     Deret Bilangan :    ");
            for(int f=n;f>=0;f--) {
                    hitung[f]=faktorial(f);
                    System.out.print(hitung[f]+" ");
        }

            for(int i=n;i>=0;i--) {
                if(i==0) a=0; else
                a=hitung[i-1];
                b=hitung[i];
                temp=a+b;
                System.out.printf("\n%d+%d=%d",a,b,temp);
                jumlah+=temp;
        }

        System.out.printf("\nHasil Penjumlahannya = %d\n",jumlah);
    }
}


Berikut ini adalah hasil program saat program dijalankan


1 komentar: