PERBANDINGAN EFISIENSI MEMORI DAN WAKTU KOMPUTASI ALGORITMA PENGURUTAN REKURSIF DAN ITERATIF DI PYTHON (MERGE SORT DAN QUICK SORT)

Regina Nur Aeni, Alina Putri As Salwa, Muhammad Farras Abiy, Muhammad Noval Syafiq Sofi, Imam Prayogo Pujiono

Abstract


This study aims to analyze and compare the computational time efficiency and memory usage of the recursive and iterative approaches in the Merge Sort and Quick Sort algorithms in Python. The method used is an experimental quantitative approach with performance testing on two data sizes, namely 10,000 and 1,000,000 random number elements. Execution time is measured using the time and timeit libraries, while memory usage is monitored using the psutil library. The results show that, in general, the iterative approach is more efficient in memory usage because it does not require a function call stack as in recursion. In terms of execution speed, recursive Quick Sort provides the fastest average time of 0.002 seconds on data of 10,000 elements, while on data of 1,000,000 elements, iterative Quick Sort shows better time performance than the recursive version. Iterative Merge Sort is consistently more memory efficient than recursive Merge Sort on both data sizes. The time difference between the recursive and iterative approaches is relatively small for medium-sized data, but memory consumption increases significantly with the recursive version as the data size increases. These findings indicate that the choice of implementation approach for sorting algorithms in Python requires considering the trade-off between speed and memory efficiency. The iterative approach is more suitable for applications with limited memory resources, while the recursive approach remains relevant for scenarios that prioritize simplicity of implementation and clarity of algorithm structure. The results of this study are expected to serve as a reference for software developers and algorithm researchers in determining optimal sorting implementation strategies in Python.

Penelitian ini bertujuan menganalisis dan membandingkan efisiensi waktu komputasi dan penggunaan memori antara pendekatan rekursif dan iteratif pada algoritma pengurutan Merge Sort dan Quick Sort menggunakan bahasa pemrograman Python. Metode yang digunakan adalah pendekatan kuantitatif eksperimental dengan pengujian kinerja pada dua ukuran data, yaitu 10.000 dan 1.000.000 elemen bilangan acak. Waktu eksekusi diukur menggunakan pustaka time dan timeit, sedangkan penggunaan memori dipantau dengan pustaka psutil. Hasil penelitian menunjukkan bahwa secara umum pendekatan iteratif lebih efisien dalam penggunaan memori karena tidak memerlukan tumpukan pemanggilan fungsi (call stack) sebagaimana pada rekursi. Dari sisi kecepatan eksekusi, Quick Sort rekursif memberikan waktu rata-rata tercepat sebesar 0,002 detik pada data 10.000 elemen, sedangkan pada data 1.000.000 elemen Quick Sort iteratif menunjukkan kinerja waktu yang lebih baik dibandingkan versi rekursif. Merge Sort iteratif konsisten lebih hemat memori dibandingkan Merge Sort rekursif pada kedua ukuran data. Perbedaan waktu antara pendekatan rekursif dan iteratif relatif kecil pada data berukuran menengah, namun konsumsi memori meningkat secara nyata pada versi rekursif seiring bertambahnya ukuran data. Temuan ini mengindikasikan bahwa pemilihan pendekatan implementasi algoritma pengurutan di Python perlu mempertimbangkan trade-off antara kecepatan dan efisiensi memori. Pendekatan iteratif lebih sesuai untuk aplikasi dengan keterbatasan sumber daya memori, sedangkan pendekatan rekursif tetap relevan untuk skenario yang mengutamakan kesederhanaan implementasi dan kejelasan struktur algoritma. Hasil penelitian ini diharapkan dapat menjadi rujukan bagi pengembang perangkat lunak dan peneliti algoritma dalam menentukan strategi implementasi pengurutan yang optimal pada Python


Full Text:

PDF

References


Ala’Anzy, M. A., Mazhit, Z., Ala’Anzy, A. F., Algarni, A., Akhmedov, R., & Bauyrzhan, A. (2024). Comparative Analysis of Sorting Algorithms: A Review. 11th International Conference on Soft Computing & Machine Intelligence (ISCMI), 88–100. https://doi.org/10.1109/ISCMI63661.2024.10851593

Ali, M. I., Fardiarsyah, R. D., Shodik, L., Kinanti, F. Z. D., & Pujiono, I. P. (2025). Analisis Komparatif Efisiensi Memori dan Waktu Komputasi pada 8 Algoritma Sorting menggunakan C++. LogicLink: Journal of Artificial Intelligence and Multimedia in Informatics, 2(1), 1–17. https://doi.org/10.28918/logiclink.v2i1.10868

Febriansyah, M. F., Gunawan, Rhamadani, M., & Sutabri, T. (2025). Perbandingan Pemanfaatan Algoritma Rekursif dan Iteratif dalam Penyelesaian Struktur Data Pohon. MIFORTEKH : Jurnal Manajemen Informatika & Teknologi, 5(1), 46–56. https://doi.org/10.51903/2mxmmg85

Fitro, A. (2023). Comparison of Efficiency Data Sorting Algorithms Based on Execution Time. IJSRCSEIT : International Journal of Scientific Research in Computer Science, Engineering and Information Technology, 9(2), 15–21. https://doi.org/10.32628/CSEIT2390151

Ilham, M. N., Setiawan, A. F., Kholifatun, I., Aldiansyah, M. H., & Pujiono, I. P. (2025). Comparative Analysis of Memory Performance and Processing Time of Five Sorting Algorithms Using C++ Programming Language. Journal of Artificial Intelligence and Engineering Applications (JAIEA), 4(3), 1950–1956. https://doi.org/10.59934/jaiea.v4i3.1051

Lin, L., Xu, Z., Huan, H., Jian, Z., & Li-Xin, L. (2021). An Empirical Comparison of Implementation Efficiency of Iterative and Recursive Algorithms of Fast Fourier Transform. Machine Learning and Intelligent Communications, 342, 73–81. https://doi.org/10.1007/978-3-030-66785-6_9

Mishal, I., Al-Khatib, R., & Hiasa, R. (2021). Comparative Study of Two Divide and Conquer Sorting Algorithms: Modified Quick Sort and Merge Sort. International Journal of Computer Applications, 183, 28–33. https://doi.org/10.5120/ijca2021921702

Musyaffa, M. Z., Raharjo, K., Faiz, M., Ammarulloh, S., & Pujiono, I. P. (2025). Efisiensi Memori dan Waktu: Array Sorting Algorithm vs Algoritma Pengurutan Tradisional Menggunakan Python. JEIS: Jurnal Elektro Dan Informatika Swadharma, 5(2), 72–81. https://doi.org/10.56486/jeis.vol5no2.785

Pratama, M. B., Setiawan, R., & Sutabri, T. (2025). Integrasi Algoritma Rekursif pada Pemrosesan Data Multilevel untuk Aplikasi Berbasis AI. MIFORTEKH : Jurnal Manajemen Informatika & Teknologi, 5(1), 57–66. https://doi.org/10.51903/g04chv51

Syahputra, C., Nafiisah, S. S., Gultom, S. R., Affandi, R., & Perdana, A. (2026). Analisis Performa Algortima Quick Sort dan Merge Sort Pada Pengurutan Data Besar (Big Data) Menggunakan Notasi Big-O. Jurnal Informatika Dan Multimedia, 6(1), 367–379. https://doi.org/10.51903/informatika.v6i1.1661

Taiwo, O. E., Christianah, A. O., Oluwatobi, A. N., Aderonke, K. A., & Kehinde, A. J. (2020). Comparative Study of Two Divide and Conquer Sorting Algorithms: Quicksort and Mergesort. Procedia Computer Science, 171, 2532–2540. https://doi.org/10.1016/j.procs.2020.04.274

Zahwa, S., Amelia, N. D., Nafila, R., Putri, R. A., & Pujiono, I. P. (2025). Perbandingan Efisiensi Memori dan Waktu Komputasi pada Algoritma Rekursif dan Iteratif dalam Operasi Pengurutan di C++. RESTIKOM : Riset Teknik Informatika Dan Komputer, 7(1), 123–136. https://doi.org/10.52005/restikom.v7i1.428

Zheng, Y. (2025). Optimization Implementation and Performance Analysis of Divide-and-Conquer Algorithm Based on Python in Big Data Sorting and Retrieval. Applied and Computational Engineering, 178, 40–46. https://doi.org/10.54254/2755-2721/2025.PO25411




DOI: https://doi.org/10.56486/jeis.vol6no2.1073

Article Metrics

Abstract view : 4 times
PDF - 2 times

Refbacks

  • There are currently no refbacks.


Copyright (c) 2026 Regina Nur Aeni

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

TERINDEKS OLEH :