LAPORAN PRAKTIKUM
ALGORITMA DAN PEMROGAMAN
Disusun Oleh:
MUHAMMAD IRWAN MAHFUD NIM : 1695124005
Dosen Pembimbing: MAHRUS ALI, S.Kom, M.Pd DYAH LISTIANING TYAS, S.T, M.T
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS TEKNOLOGI INFORMASI
LEMBAR PENGESAHAN
Laporan ini telah diterima sebagai salah satu syarat kelulusan mata kuliah Algoritma dan Pemrograman Universitas Hasyim Asy’ari Tebuireng Jombang, disusun oleh:
Nama : M. IRWAN MAHFUD
NIM : 1695124005
Program studi : Sistem Informasi
Telah disahkan dan disetujui oleh dosen pengampu pada:
Hari : Rabu
Tanggal : 14 Desember 2016
Dosen 1 Dosen 2
BAB I
PENDAHULUAN
A. Latar Belakang
Penerapan sistem operasi telah berubah dari sistem manual menjadi sistem komputerisasi, hal itu cukup beralasan mengingat banyaknya kelebihan dari sistem komputerisasi antara lain adalah proses pembelajaran struktur data yang membahas tentang Rekursif dalam Algoritma. Satu contoh yang sederhana rekursif yaitu membangun suatu dinding yang tingginya sepuluh kaki, jika ingin membangun suatu dinding yang tingginya sepuluh kaki, yang pertama akan dibangun adalah suatu dinding setinggi 9 kaki, lalu menambahkan satu kaki yang ditambahkan dari batu bata. Secara konseptual, hal ini seperti fungsi membangun dinding yang mengambil suatu ketinggian dan jika tingginya adalah lebih besar dari satu, panggilan pertama terhadap diri sendiri untuk membangun suatu dinding yang lebih rendah, dan lalu menambahkan satu kaki berikutnya dengan batu bata.
B.Tujuan Praktikum
Adapun tujuan praktikum yaitu :
1) Dapat mengenal recursive.
BAB II
DASAR TEORI
A. Pengertian Rekursif
Rekursif adalah kemampuan suatu fungsi untuk memanggil dirinya sendiri. Dalam rekursif sebenarnya terkandung pengertian prosedur dan fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi prosedur dan fungsi harus dipanggil lewat pemanggil prosedur dan fungsi. Rekursif merupakan teknik pemrograman yang penting dan beberapa bahasa pemrograman mendukung keberadaan proses rekursif ini. Dalam prosedur dan fungsi, pemanggilan ke dirinya sendiri bisa berarti proses berulang yang tidak bisa diketahui kapan akan berakhir.
B. Fungsi Rekursif
C. Metode Rekursif
Cara membuat nilai faktorial sebuah variable adalah dengan cara rekursi, dimana n! adalah hasil kali dari n dengan (n-1)!. Untuk menyelesaikan (n-1)! adalah sama dengan n!, sehingga (n-1)! adalah n-1 dikalikan dengan (n-2)!, dan (n-2)! adalah n-2 dikalikan dengan (n-3)! dan seterusnya sampai dengan n = 1, kita menghentikan penghitungan n!.
Dengan metode rekursif program menjadi lebih singkat dan untuk beberapa kasus program lebih mudah menggunakan fungsi yang rekursif. Fungsi rekursif memakan memori yang lebih besar, karena setiap kali bagian dirinya dipanggil, membutuhkan sejumlah ruang memori tambahan. Ketika efisiensi dan kecepatan dikorbankan fungsi rekursif seringkali tidak bisa “berhenti” sehingga memori akan habis dan komputer menjadi tidak aktif (hang).
D. Kelebihan Perulangan Rekursif
Sangat mudah untuk melakukan perulangan dengan batasan yang luas
dalam artian melakukan perulangan dalam skala yang besar.
Dapat melakukan perulangan dengan batasan fungsi.
E. Kekurangan Perulangan Rekursif
Tidak bisa melakukan nested loop atau looping bersarang.
Biasanya membuat fungsi sulit untuk dipahami, hanya cocok untuk
persoalan tertentu saja.
Trace error sulit.
Memerlukan stack yang lebih besar, sebab setiap kali fungsi dipanggil,
variabel lokal dan parameter formal akan ditempatkan ke stack dan ada kalanya akan menyebabkan stack tak cukup lagi (Stack Overrun).
Proses agak berbelit-belit karena terdapat pemangilan fungsi yang
Memungkinkan terjadinya overflow pada stack (stack tak lagi mampu
menangani permintaan pemanggilan subrutin karena kehabisan memori).
BAB III
PEMBAHASAN
A.Hasil Praktikum
Pada praktikum kali ini kita akan membuat hitungan nilai factorial dengan menggunakan struktur rekursif. Faktorial adalah perhitungan perkalian secara berturut-turut mulai bilangan pertama hingga batas bilangan tertentu yang kita inginkan, sebagai contoh adalah berapa faktorial dari 4?? Faktorial dari 4 adalah 1x2x3x4=24.
BAB IV
PENUTUP
A. Kesimpulan
Setelah kita mengenal rekursif pada C++. Maka penulis menyimpulkan:
b) Dalam rekursif program menjadi lebih singkat, tetapi fungsi rekursif memakan memori yang lebih besar,.
B. Saran