Anda di halaman 1dari 14

TUGAS PEMROGRAMAN

Oleh :
I Gusti Ngurah Yoga Pawitra (1404505052)
Ryanta Iswara P.G (1404505053)
I B Ari Mahendra (1404505068)
I B Putu Jayawiguna (1404505072)

JURUSAN TEKNOLOGI INFORMASI


FAKULTAS TEKNIK
UNIVERSITAS UDAYANA
2014
BAB I PENDAHULUAN

A. Latar Belakang

Dewasa ini teknologi merupakan salah komponen vital dalam kehidupan


sehari-hari, salah satu teknologi penting tersebut adalah teknologi
informasi. Teknologi Informasi (TI), atau dalam bahasa Inggris dikenal
dengan istilah Information technology (IT) adalah istilah umum untuk
teknologi apa pun yang membantu manusia dalam membuat, mengubah,
menyimpan, mengomunikasikan dan/atau menyebarkan informasi. Dalam
perkembangannya teknologi informasi ini juga mengenal yang namanya
pemrograman. Pemrograman adalah proses menulis, menguji dan
memperbaiki (debug), dan memelihara kode yang membangun sebuah
program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman.
Tujuan dari pemrograman adalah untuk memuat suatu program yang
dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan
keinginan si pemrogram (programmer). Untuk dapat melakukan
pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa
pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain
seperti matematika. Dalam pemrograman kita akan mempelajari tentang
factorial, fibonacci, binery search dan tower of hanoi. Dalam
menyelesaikan permasalahan tersebut dapat dilakukan dengan cara
recursive dan iterative. Untuk mengetahui semua hal itu maka dari itu
laporan ini dibuat.

B. Kerangka Teori

FACTORIAL

Pengertian Faktorial

Faktorial adalah hasil kali bilangan asli berurutan dari 1 sampai dengan n.

Untuk setiap bilangan asli n, didefinisikan:

n! = 1 x 2 x 3 x x (n-2) x (n-1) x
n

lambang atau notasi n! dibaca sebagai n faktorial untuk n > 2

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 :

Mudah dipahami dan mudah melakukan debugging ketika ada perulangan


yang salah.
Dapat melakukan nested loop atau yang disebut dengan looping
bersarang.
Proses lebih singkat karena perulangan terjadi pada kondisi yang telah
disesuaikan.
Jarang terjadi overflow karena batasan dan syarat perulangan yang jelas.

Ada pula kelemahan dari perulangan ini yaitu :

Tidak dapat menggunakan batasan berupa fungsi.


Perulangan dengan batasan yang luas akan menyulitkan dalam
pembuatan program perulangan itu sendiri.

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...

Barisan bilangan Fibonacci dapat dinyatakan sebagai berikut :

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

Berikut adalah coding C++ penyelesaian factorial menggunakan cara


recursive :

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

Berikut adalah coding C++ penyelesaian factorial menggunakan cara iterative

Menggukan for ini


merupakan ciri dari
perulangan iterative

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

Berikut adalah coding C++ penyelesaian fibonaci menggunakan cara recursive :


Fungsi

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 :

Berikut ada hasil program C++ diatas


Berikut adalah coding C++ dari program binary search :
Berikut ada hasil program C++ diatas
Berikut adalah coding C++ dari Tower of Hanoi :

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.

Anda mungkin juga menyukai