Selasa, 06 Maret 2012

Bilangan Fibonacci

Jumat, 24 Februari 2012

Sahabat blogger, ada yang tau apa itu bilangan fibonacci???
 
Yup, bilangan fibonacci merupakan bilangan yang didefenisikan secara rekursif. Barisan ini berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya.
 
Pada pertemuan kali ini, penulis mencoba untuk membuat sebuah program yang dapat memunculkan deretan bilangan fibonacci, namun pada program kali ini, kedua bilangan awal pada barisan ini tidak ditentukan sebelumnnya, alias bebas.

Lho, kenapa harus bebas??

Ya kan tugasnya emang begitu.. hehehehe... tapi kalau mau berurutan, ya tinggal set aja nilai awal jadi 0 dan 1, gampang kan??

Neyh, penulis kasih algoritma yang akan penulis gunakan daslam maenuliskan program:
  1. Mengambil nilai koefisien a, b, dan n berdasarkan input yang diberikan;
  2. Menulis nilai a dan b dalam listbox sebagai nilai awal;
  3. Menghitung nilai c dengan menjumlahkan nilai a dan b, selama nilai i <= n, else stop;
  4. Menulis nilai c baru dalam list box;
  5. Menukar nilai a menjadi nilai b, menukar nilai b dengan c;
  6. Kembali ke langkah 3.

Setelah melakukan perenungan yang sangat lama, hasil coding program tersebut adalah:



Di dalam coding looping yang menggunakan pengulangan for-next di atas dapat dilihat bahwa  pada saat melakukan penjumlahan antara dua variable yang digunakan untuk mendapatkan nilai c, penulis menggunakan nilai Val sebagai awalan dari variable yang akan dijumlahkan.

c = Val(a) + Val(b)

Hal ini dilakukan sebagai acuan agar komputer menganggap nilai dari varaibel a dan b sebagai Value (bilangan Numerik) yang dapat dijumlahkan dan dikurangi dan bukan sebagai string yang dapat diartikan sebagai penggabung karena tanda '+' dan '-' juga merupakan salah satu operator penggabungan yang dapat menggabungkan dua karakter atau angka.

Adapun hasil yang di dapat pada saat menjalankan program adalah:



- Contoh yang salah (tanpa menggunakan 'Val') :

Sedangkan apabila program dijalankan tanpa menggunakan Val dalam menentukan nilai c seperti yang di bahas di atas, maka program akan menampilkan hasil:



Terlihat jelas kan perbedaannya??
Walau hanya berbeda sedikit pada penulisan coding, tetapi hasilnya sangatlah berbeda.

Seeep...
Better Late Then Never..
Keep Studying.. Forever..

9 komentar:

  1. Penjelasannya cukup baik

    Algoritmanya juga sudah dijelaskan dengan baik :D

    Lanjutkan bung!!

    Daniel (mhs.blog.ui.ac.id)

    BalasHapus
  2. bisa dijelaskan mengenai kenapa inputnya ada dua? kenapa ga satu aja? menambahkan untuk val, sebenarnya fungsinya adalah mengubah string menjadi numerik, sehingga ketika user salah memasukkan huruf pun program mau jalan, nah....loh.., ya itulah salah satu kelemahan dan kelebihan val(string as double)

    BalasHapus
    Balasan
    1. Terima kasih mas Hasnan untuk komentarnya yang sangat bermutu..
      Kenapa saya pake 2 input, sebenarnya gak ada alasan khusus, coz pada dasarnya bilangan fibonacci itu kan penjumlahan dari dua angka berurutan sebelumnya,, nah kenapa saya pake 2 input, soalnya saya ingin buat program yang bebas, tapi kalau mau seperti fibonacci yang tinggal masukkan input sesuai aturan fibonacci..

      sebenarnya bisa juga seyh, kita membuat program hanya dengan menggunakan input jumlah deretyang di cari, yaitu dengan mendeskripsikan bilangan ke 1 dan 2 pada saat coding program..

      Waah,, tambahan untuk val yang sangat bagus..
      thanks buat tambahannya,, nanti ane update di postingan..

      Hapus
  3. kenapa saat menghitung nilai c pada variabel a dan b diberikan tambahan val dan kenapa tidak langsung diberikan satu pada awal saja?? apa ada bedanya?? dan sebenarnya fungsi val tersebut untuk apa ya??
    thnks

    BalasHapus
    Balasan
    1. semua pertanyaan mba Ragil sudah terjawab qo di dalam postingan dan tambahan yang telah diberikan oleh mas Hasnan pada komentarya di atas..
      Terima Kasih..

      Hapus
  4. bang enggar.. output penjumlahannya tidak ditampilkan ya? mohon pencerahannya

    BalasHapus
    Balasan
    1. Bung Gerry..
      Hasil penjumlahan ada di samping kanan, dalam bentuk listbox..
      Lupa saya bikin tandanya..
      hehe..

      Hapus
  5. Pejelasanya cukup baik..lanjutkan Mas Enggar,sebenarnya hasil fibonacci sudah kelihatan tapi tidah d scrol kebawak d daerah list box dan tidak ditandai sehingga Gerry kebingungan kelihat hasilnya..

    BalasHapus
    Balasan
    1. Terima kasih mas Eko untuk penjelasannya..
      hehe..
      maklum, saya lupa bikin tanda untuk hasilnya..

      Hapus