Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat, hidayah serta
kekuatan sehingga penyusun dapat menyelesaikan TUGAS MAKALAH ALGORITMA
(pengantar manajemen bisnis) Terwujudnya Makalah PMB ini tidak lepas dari bantuan
berbagai Rekan-rakan yang telah mendorong dan membimbing penyusun, baik tenaga, ideide, maupun pemikiran. Oleh karena itu dalam kesempatan ini penyusun ingin mengucapkan
terimakasih yang sebesar-besarnya kepada semua Rekan semua.
Semoga segala bantuan yang tidak ternilai harganya ini mendapat imbalan di sisi
Allah SWT sebagai amal ibadah, Amin.
Penulis menyadari bahwa proposal ini masih jauh dari kesempurnaan, oleh karena
itu kritik saran yang membangun dari berbagai pihak sangat penulis harapkan demi
perbaikan-perbaikan ke depan. Amin Yaa Rabbal Alamiin.
Penyusun
Yogi Supriyadi
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 dan Iteratif dalam Algoritma.
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
3. Biasanya membuat fungsi sulit untuk dipahami, hanya cocok untuk
persoalan tertentu saja
BAB II
A. LANDASAN TEORI
Pengertian Rekursif
Rekursif adalah kemampuan suatu rutin 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
a. 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. Oleh karena itu, jika bisa
diselesaikan dengan metode iteratif, gunakanlah metode iteratif.
Bentuk Umum Fungsi Rekursif
return_data_type function_name(parameter_list)
{...
function_name(...);
... }
b. Metode Rekursif
Cara lain untuk menyelesaikan permasalahan di atas 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 (n2)!, dan (n-2)! adalah n-2 dikalikan dengan (n-3)! dan seterusnya sampai dengan
n = 1, kita menghentikan penghitungan n!
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)
Pengertian Iteratif
Iteratif adalah perulangan yang melakukan proses perulangan terhadap
sekelompok instruksi di mana perulangan tersebut akan berhenti jika batasan
syarat sudah tidak terpenuhi.
a. Kelebihan perulangan iteratif
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
BAB III
PENUTUP