Oleh :
I Gusti Ngurah Yoga Pawitra (1404505052)
Ryanta Iswara P.G (1404505053)
I B Ari Mahendra (1404505068)
I B Putu Jayawiguna (1404505072)
A. Latar Belakang
B. Kerangka Teori
FACTORIAL
Pengertian Faktorial
Faktorial adalah hasil kali bilangan asli berurutan dari 1 sampai dengan n.
n! = 1 x 2 x 3 x x (n-2) x (n-1) x
n
n! = 1 2 3 (n 2) (n
Definisi:
1) n atau
Dalam C++ faktorial dapat dikerjakan dengan 2 cara , yaitu :
1. Recursive
2. Iterative
Recursive
Rekursif mempunyai arti suatu proses yang bisa memanggil dirinya sendiri.
Dalam sebuah rekursi sebenarnya tekandung pengertian sebuah prosedur atau
fungsi. Perbedaannya adalah bahwa rekursi bisa memanggil dirinya sendiri, kalau
prosedur atau fungsi harus diipanggil melalui pemanggil prosedur atau fungsi.
Sebagai contoh, 4! = (4)(3)(2)(1).
contoh :
3!=3.(3-1)!
3!=3.2! --> Faktorial n-1
3!=3.2.(2-1)!
3!=3.2.1! --> Faktorial n-2
3!=3.2.1
Iterative
Perulangan iteratif merupakan perulangan yang melakukan proses perulangan
terhadap sekelompok instruksi di mana perulangan tersebut akan berhenti jika
batasan syarat sudah tidak terpenuhi.
Adapun beberapa kelebihan dari perulangan ini yaitu :
FIBONACI
Dalam ilmu 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...
Fn = (x1^n - x2^n)/
sqrt(5)
Keterangan :
Fn : bilangan Fibonacci ke-n
x1 dan x2 : penyelesaian persamaan x^2-x-1=0
Perbandingan antara Fn+1 dengan Fn hampir selalu sama untuk sebarang nilai n
dan mulai nilai n tertentu, perbandingan ini nilainya tetap. Perbandingan itu
disebut Golden Ratio yang nilainya mendekati 1,618
BINARY SEARCH
Binary search adalah digunakan untuk mencari sebuah data pada himpunan
data-data yang tersusun secara urut. yaitu data yang telah di urutkan dari besar
ke kecil atau sebaliknya. Proses dilaksanakan pertama kali pada bagian tengah
dari elemen himpunan, jika data yang di cari ternyata kurang dari elemen bagian
atasnya maka pencarian dilakukan dari bagian tengah ke bawah.
TOWER OF HANOI
Towers of Hanoi atau dalam bahasa Indonesia berarti Menara Hanoi (juga disebut
Menara Brahma atau Lucas Tower, dan terkadang pluralised) adalah permainan
matematika atau teka-teki . Ini terdiri dari tiga batang, dan sejumlah disk dengan
ukuran yang berbeda yang dapat meluncur ke batang apapun. Teka-teki ini
dimulai dengan disk dalam tumpukan rapi dalam urutan dari ukuran pada satu
tongkat, yang terkecil di bagian atas, sehingga membuat bentuk kerucut.
Tujuannya adalah untuk mentransfer seluruh menara ke salah satu pasak lainnya
(yang paling kanan di applet bawah), bergerak hanya satu disk pada suatu waktu
dan tidak pernah yang lebih besar ke kecil atau mematuhi aturan berikut:
Hanya satu disk dapat dipindahkan pada suatu waktu.
Setiap langkah terdiri dari mengambil disk atas dari salah satu batang dan
menggesernya ke batang yang lain, di atas disk lain yang mungkin sudah
ada pada batang itu.
Tidak dapat ditempatkan di atas sebuah disk lebih kecil.
BAB II PEMBAHASAN
Fungsi
Memanggil dirinya
sendiri didalam
fungsi. Inilah ciri dari
fungsi rekursif
Pada program ini user akan melakukan inputan lalu ditampung pada variabel l
untuk segera dieksekusi didalam fungsi faktorial (l)
Berikut ada hasil program C++ diatas
Iterative
(menggunakan
perulangan biasa
(for,while,dll) )
Pada program ini user akan melakukan inputan berupa integer atau angka yang
kemudian akan ditampung pada variabel n, variabel n ini akan dilooping dengan
integer I dengan kondisi jika I sama dengan 0 maka faktorialnya adalah 1 jika
tidak maka akan masuk kedalam rumus factorial = factorial * I sehingga akan
menghasilkan rumus dari faktorial itu sendiri.
Berikut ada hasil program C++ diatas
Memanggil dirinya
sendiri ciri dari
cara rekursif
Dalam program ini user akan melakukan inputan yang akan ditampung dalam
variabel a lalu akan masuk kedalam fungsi untung menjalankan fibonacci itu
sendiri. Dimana kondisi dari fungsi itu ialah jika inputan yang dimasukan user
lebih kecil sama dengan 0 maka akan direturn 0 , jika inputannya sama dengan 1
maka akan direturn 1, jika selain dari kondisi sebelumnya maka akan direturn
kedalam rumus fibonacci(n-1) + fibonacci(n-2) yang mana itu adalah fungsi
rekursif nya agar mendapatkan hasil dari fibonacci itu sendiri.
Berikut ada hasil program C++ diatas
Berikut adalah coding C++ penyelesaian fibonaci menggunakan cara iterative :
Fungsi
BAB III PENUTUP
Simpulan
Dalam pembuatan program ini dapat di simpulkan bahwa penggunaan fungsi
rekursif pada program-program ini mempermudah programmer dalam
pembuatan programnya, karena dengan fungsi ini coding dari program tersebut
menjadi lebih sederhana, sebaliknya menggunakan cara iteratif akan
memperpanjang coding pada program ini, namun dari segi kecepatan akan lebih
cepat program yang menggunakan fungsi iteratif karena fungsi iteratif
membutuhkan lebih sedikit memory daripada program yang menggunakan
fungsi rekursif.