Perbandingan Kecepatan Algoritma Rekursif dan Memoization pada Deret Fibonacci Menggunakan Delphi

Authors

  • Nurul Hikma imma Universitas Muhammadiyah Parepare
  • Ade Hastuty Universitas Muhammadiyah Parepare
  • Suci Ramadhani Universitas Muhammadiyah Parepare
  • Syahrul Mustakim Universitas Muhammadiyah Parepare

Abstract

Efisiensi algoritma sangat menentukan kualitas sebuah perangkat lunak, terutama pada program yang menangani perhitungan berulang. Penelitian ini membandingkan waktu eksekusi algoritma rekursif biasa dan algoritma Memoization pada deret Fibonacci, diimplementasikan dalam bahasa pemrograman Delphi (Object Pascal) yang hingga kini masih banyak dipakai untuk memelihara sistem enterprise warisan (legacy). Berbeda dari kajian sejenis yang umumnya berhenti pada batas kompleksitas longgar O(2ⁿ), penelitian ini juga menelaah batas ketat T(n) = Θ(φⁿ), dengan φ sebagai rasio emas (≈ 1,618), sebagaimana dirumuskan Dasdan (2018), untuk menjelaskan pola pertumbuhan waktu rekursif secara lebih presisi. Pengujian dilakukan pada enam nilai n (10, 20, 30, 35, 40, dan 45) yang dipilih untuk mencakup beban komputasi ringan hingga beban yang melewati ambang waktu wajar, dengan waktu eksekusi tiap algoritma dirata-ratakan dari tiga kali pengulangan menggunakan fungsi pewaktu bawaan Windows (GetTickCount). Hasil pengujian menunjukkan rekursif biasa tumbuh eksponensial hingga mengalami timeout pada n = 45, sedangkan Memoization tetap menjawab dalam hitungan mikrodetik hingga milidetik untuk seluruh nilai n yang diuji, sejalan dengan kompleksitas O(n) yang diprediksi teori. Kontribusi penelitian ini terletak pada tiga hal: (1) validasi empiris batas ketat Θ(φⁿ) dibanding batas longgar O(2ⁿ) yang lazim dipakai; (2) protokol pengujian presisi milidetik yang transparan dan dapat direplikasi pada platform Delphi, yang jarang dijadikan objek studi empiris semacam ini; serta (3) diskusi implikasi praktis penerapan Memoization pada aplikasi Delphi warisan yang masih aktif dipakai di berbagai industri. Penelitian ini juga secara terbuka mengidentifikasi keterbatasan resolusi pewaktu yang dipakai dan mengusulkan penggunaan QueryPerformanceCounter beresolusi lebih tinggi pada penelitian lanjutan.

Kata Kunci: Algoritma Rekursif; Memoization; Deret Fibonacci; Dynamic Programming; Delphi.

References

Aho, A. V., Lam, M. S., Sethi, R., & Ullman, J. D. (2006). Compilers: Principles, techniques, and tools (2nd ed.). Boston, MA: Pearson Addison Wesley.

Bellman, R. (1957). Dynamic programming. Princeton, NJ: Princeton University Press.

Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms (3rd ed.). Cambridge, MA: MIT Press.

Dasdan, A. (2018). Twelve simple algorithms to compute Fibonacci numbers. arXiv preprint arXiv:1803.07199. https://arxiv.org/abs/1803.07199

Embarcadero Technologies. (2023). Delphi language reference manual. Austin, TX: Author. Diakses dari https://docwiki.embarcadero.com/

Jahagirdar, A. (2025). Dynamic programming vs. recursive programming: A comparative analysis of efficiency and applicability. International Journal of Science and Research, 14(2), 1282–1284. https://dx.doi.org/10.21275/SR25221083610

Kiswanto, R. H., Irjanto, N. S., Risman, M., & Imbiri, C. C. Y. (2024). Penerapan algoritma backtracking pada metode backward chaining untuk diagnosis penyakit demam berdarah. Techno.COM, 23(4), 814–824.

Kumar, R., Singh, A., & Gupta, P. (2019). Performance analysis of dynamic programming algorithms. International Journal of Computer Science and Engineering, 7(3), 45–52. https://doi.org/10.26438/ijcse/v7i3

Lutfina, E., Inayati, N., & Saraswati, G. W. (2022). Analisis perbandingan kinerja metode rekursif dan metode iteratif dalam algoritma linear search. Komputika: Jurnal Sistem Komputer, 11(2), 143–150. https://doi.org/10.34010/komputika.v11i2.5493

Putra, D. A., & Sari, N. M. (2020). Analisis perbandingan algoritma rekursif dan dynamic programming pada masalah kombinatorial. Jurnal Teknologi Informasi dan Ilmu Komputer, 7(4), 801–808.

Rahmawati, E., Sudirman, A., & Haryanto, T. (2021). Implementasi dynamic programming pada optimasi rute pengiriman. Jurnal Ilmu Komputer dan Informatika, 5(2), 112–119.

Sedgewick, R., & Wayne, K. (2011). Algorithms (4th ed.). Boston, MA: Addison-Wesley.

Skiena, S. S. (2008). The algorithm design manual (2nd ed.). London: Springer.

Downloads

Published

2026-10-29