MAKALAH
ALGORITMA PEMROGRAMAN
“ REKURSIF ”
2. Alfi Karina (2012-53-013)
3. Muhammad Syafi’udin (2012-53-023)
4. Teguh Prasetyo (2012-53-033)
5. Muhammad Zaenuri (2012-53-043)
UNIVERSITAS MURIA KUDUS
TEKNIK SISTEM INFORMASI
2012
KATA PENGANTAR
Puji dan syukur saya ucapkan kepada Allah SWT, yang mana telah memberikan saya kesempatan dan kesehatan untuk dapat menyelesaikan makalah yang berjudul “REKURSIF” ini.
Makalah ini dibuat dalam rangka memperdalam wawasan tentang rekursif, yang sangat diperlukan untuk menyelesaikan masalah dan merupakan tujuan utama dalam sain computer, sehingga dengan cara cepat masalah dapat teratasi.
Dalam penyelesaian makalah ini saya tidak lupa menyampaikan terima kasih yang tidak terhingga kepada kedua orang tua saya, karena mereka sudah memberikan dukungan moral maupun material. Dan saya juga tidak lupa mengucapkan terima kasih kepada Ibu Nanik Susanti, S.Kom yang telah membimbing dan mengajari kami dalam mata kuliah Algoritma Pemrograman.
Saya menyadari bahwa masih banyak kekurangan dalam penyusunan makalah ini, dan saya mengharapkan kritik serta sarannya yang bersifat membangun dalam menyelesaikan tugas makalah ini menjadi yang lebih baik lagi. Terima kasih.
Hormat kami,
Penulis
DAFTAR ISI
Halaman Judul i
Kata Pengantar ii
Daftar Isi iii
BAB I PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 1
1.3 Batasan Masalah 1
BAB II LANDASAN TEORI
2.1 Konsep 2
2.1.1 Pengertian Rekursif 2
a. Fungsi Rekursif 2
b. Kelebihan Perulangan Rekursif 2
c. Kekurangan Perulangan Rekursif 2
2.2 Algoritma 3
2.3 Studi Kasus 4
2.4 Program 5
BAB III PENUTUP
3.1 Kesimpulan 6
3.2 Saran 6
BAB I
PENDAHULUAN
1.1 Latar Belakang
Seiring dengan kebutuhan masyarakat yang dipengaruhi oleh perkembangan teknologi yang begitu pesat terutama di bidang komputer, hampir semua pengolahan data maupun transaksi diberbagai perusahaan diproses menggunakan komputer baik perusahaan swasta maupun instansi pemerintah. 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.
Komputer adalah sistem elektronik untuk memanipulasi data yang cepat dan tepat serta dirancang dan diorganisasikan supaya secara otomatis menerima dan menyimpan data input memperoses dan menghasilkan output dibawah pengawasan instruksi-instruksi program yang tersimpan di memori.
1.2 Permasalahan
Adapun permasalahan pada urutan di atas dalam penjelasan latar belakang maka saya mengidentifikasi masalah yaitu :
1. Tidak bisa melakukan nested loop atau looping bersarang
2. Proses agak berbelit-belit karena terdapat pemangilan fungsi yang berulang-ulang dan pemanggilan data yang ditumpuk
1.3 Batasan Masalah
Adapun batasan masalah dari makalah ini adalah mengenai pengertian tentang rekursif, algoritma dan pemrograman rekursif itu bisa dijalankan di dalam pemrograman bahasa C++.
BAB II
LANDASAN TEORI
1.1 KONSEP
2.1.1 Pengertian Rekursif
a. Pengertian Rekursif
Rekursif adalah suatu proses perulangan untuk menyelesaikan suatu permasalahan berdasarkan suatu hubungan rekurens (recurrence relation). Rekursi dapat didefinisikan sebagai suatu prosedur atau fungsi yang melakukan eksekusi dengan memanggil atau memproses subprogram yang arahnya ke prosedur atau fungsi dirinya sendiri.
b. Fungsi Rekursif
Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Pada beberapa persoalan, fungsi rekursif sangat berguna karena mempermudah solusi. Namun demikian, fungsi rekursif juga memiliki kelemahan, yakni memungkinkan terjadinya overflow pada stack, yang berarti stack tidak lagi mampu menangani permintaan pemanggilan fungsi karena kehabisan memori (stack adalah area memori yang dipakai untuk variable lokal untuk mengalokasikan memori ketika suatu fungsi dipanggil.
c. 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
d. 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 berulang-ulang dan pemanggilan data yang ditumpuk.
• Memungkinkan terjadinya overflow pada stack (stack tak lagi mampu menangani permintaan pemanggilan subrutin karena kehabisan memori)
1.2 ALGORITMA
Mendapatkan nilai N faktorial (N!) dengan menggunakan perintah rekursif.
#include