. .

TUGAS & LATIHAN:  Bahasa Pemrograman JAVA Netbeans IDE Mencetak Bilangan Fibonacci  

Posted by CHRISTIANTO D,WIBOWO | D3MI-2016 STMIK BUMI GORA On Jumat, Desember 09, 2016 No comments

Kali ini kita mendapat tugas untuk membuat java programming dengan Netbeans IDE - Compiler yang mencetak bilangan - angka fibonacci. Sebelum kita memulainya ada baiknya kita mengetahui secara umum, apakah BILANGAN/ANGKA FIBONACCI itu ?

Dalam matematika, bilangan Fibonacci adalah barisan yang didefinisikan secara rekursif sebagai berikut :
Penjelasan: barisan ini berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Dengan aturan ini, maka barisan bilangan Fibonaccci yang pertama adalah:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946...
Ket :
0, 1  Bilangan Fibonacci ke-1,
0 + 1 =  Bilangan Fibonacci ke-2,
1 + 1 = 2 Bilangan Fibonacci ke-3,
1 + 2 = 3 Bilangan Fibonacci ke-4,
2 + 3 =  Bilangan Fibonacci ke-5,
3 + 5 =  Bilangan Fibonacci ke-6,
5 + 8 = 13 Bilangan Fibonacci ke-7,
8 + 13  = 21 Bilangan Fibonacci ke-8,
13 + 21 = 34 Bilangan Fibonacci ke-9,
21 + 34 = 55 Bilangan Fibonacci ke-10,
34 + 55 = 89 Bilangan Fibonacci ke-11,  dan seterusnya.
Barisan bilangan Fibonacci dapat dinyatakan sebagai berikut: F=(x1–x2)/sqrt(5)
dengan :
F adalah bilangan Fibonacci ke-n
x1 dan x2 adalah penyelesaian persamaan x2 – x – 1 = 0.
Perbandingan antara F+1 dengan F hampir selalu sama untuk sebarang nilai  dan mulai nilai  tertentu, perbandingan ini nilainya tetap. Perbandingan itu disebut rasio emas yang nilainya mendekati 1,618.
Berdasarkan buku The Art of Computer Programming karya Donald E. Knuth, barisan ini pertama kali dijelaskan oleh matematikawan India, Gopala dan Hemachandra pada tahun 1150, ketika menyelidiki berbagai kemungkinan untuk memasukkan barang-barang ke dalam kantong. Di dunia barat, barisan ini pertama kali dipelajari oleh Leonardo da Pisa, yang juga dikenal sebagai Fibonacci (sekitar 1200), ketika membahas pertumbuhan ideal dari populasi kelinci.

Berdasarkan penjabaran diatas dapat disimpulkan bahwa Bilangan atau angka Fibonacci dapat dinyatakan sebagai hubungan pengulangan seperti yang ditunjukkan di bawah ini:
F0 = 0
F1 = 1
Fn = Fn-1 + Fn-2 ; n>=2
Oleh karenanya kita sudah mendapat gambaran umum untuk membuat java programming untuk mencetak Fibonacci Series baik dengan menggunkan iterasi maupun rekursi.

Mencetak Fibonacci Series menggunakan Iterasi.
Kita akan melihat bagaimana rekursi dapat digunakan untuk mencetak Seri Fibonacci. Kita akan menulis sebuah program yang mengambil input n dan mencetak pertama (n + 1) dari segi seri Fibonacci. n = 0 dan n = 1 akan dianggap sebagai kasus khusus dan seri untuk nilai input tersebut dari n akan dicetak langsung. Kita akan menggunakan dua variabel a dan b yang akan memegang dua istilah terakhir dari seri Fibonacci yang telah dicetak. Misalnya, setelah mencetak lima hal pertama urutan, yaitu 0, 1, 1, 2, 3; nilai akan menjadi 2 dan b akan 3. Istilah berikutnya dalam urutan akan menjadi jumlah a dan b. Sekarang, nilai-nilai a dan b harus diperbarui sehingga mereka kembali akan menggelar dua istilah yang terakhir dicetak. Untuk melakukannya, kita menyalin ke b, dan jumlah dari nilai sebelumnya dari a dan b ke b. loop akan diulang n-1 kali.
//@uthor Christianto "GEMBLONG" Dharma Wibowo
package fibonacciiterasi;
import java.util.Scanner;
public class FibonacciIterasi {
public static void main(String[] args) {
       System.out.println("MENCETAK BILANGAN FIBONACCI DENGAN ITERASI");
       System.out.println("------------------------------------------");
       Scanner s = new Scanner(System.in);
       System.out.print("Masukkan Nilai n: ");
       int n = s.nextInt();
       fibonacci(n);
   }

   public static void fibonacci(int n) {
       if (n == 0) {
           System.out.println("0");
       } else if (n == 1) {
           System.out.println("0 1");
       } else {
           System.out.print("0 1 ");
           int a = 0;
           int b = 1;
           for (int i = 1; i < n; i++) {
               int nextNumber = a + b;
               System.out.print(nextNumber + " ");
               a = b;
               b = nextNumber;
           }
       }
    }
    
}

Mencetak Fibonacci Series menggunakan Rekursi.
Berikut ini adalah source code Java Programming menggunakan rekursi :
//@uthor Christianto "GEMBLONG" Dharma Wibowo
package fibonaccirekursion;
import java.util.Scanner;
public class FibonacciRecursion {
public static void main(String[] args) {
    System.out.println("MENCETAK BILANGAN FIBONACCI DENGAN REKURSI");
    System.out.println("------------------------------------------");
    
    Scanner s = new Scanner(System.in);
       System.out.print("Masukkan Nilai n: ");
       int n = s.nextInt();
       for (int i = 0; i <= n; i++) {
           System.out.print(fibonacci(i) + " ");
       }
   }

   public static int fibonacci(int n) {
       if (n == 0) {
           return 0;
       } else if (n == 1) {
           return 1;
       } else {
           return fibonacci(n - 1) + fibonacci(n - 2);
       }
    }   
}
Sekarang kita sudah bisa melihat dan mencetak bilangan fibonacci dengan menggunakan iterasi dan rekursi.  - TAMPIASIH -

0 komentar:

Posting Komentar