Array Sorting Algorithm vs Traditional Sorting Algorithm: Memory and Time Efficiency Analysis
Array Sorting Algorithm vs Algoritma Pengurutan Tradisional: Analisis Efisiensi Memori dan Waktu
DOI:
https://doi.org/10.34010/jamika.v15i1.13230Keywords:
Sorting Algorithm, Array Sorting Algorithm, Memory Efficiency, Computation Time, JavaAbstract
The development of information technology has changed various aspects of life, including the way we store and sort data. Data that used to be stored in filing cabinets is now stored in digital form on computers. However, digital data that is not well organised can make it difficult to search and verify. Therefore, data sorting has become very important, and various sorting algorithms have been developed to fulfil this need, such as the Array Sorting Algorithm (ASA), which is claimed to have efficient time complexity and is very competitive when compared to the time complexity of traditional algorithms. This research examines the memory efficiency and computation time between ASA and five traditional sorting algorithms (Bubble Sort, Shell Sort, Merge Sort, Quick Sort, and Heap Sort) using the Java programming language. The research was conducted by utilising random numerical datasets on three different scales (100, 1,000, and 10,000 data) to test the performance of the six algorithms in various scenarios. ASA, which utilises a two-dimensional array structure to manage element frequencies, showed impressive performance in terms of computation time, especially on datasets containing 1,000 and 10,000 data, compared to traditional algorithms that focus more on comparison and recursion methods. The test results confirm that on datasets of 1,000 and 10,000 data, ASA excels in terms of computational speed but loses in terms of memory usage. Therefore, if memory usage is not a major consideration, then ASA is a very suitable sorting algorithm for sorting data of 100 - 10,000. These findings provide important insights for the selection of efficient sorting algorithms based on memory efficiency and computation time on multiple data sizes, which is particularly useful when developing applications using the Java programming language.
References
[2] I. P. Pujiono, A. Prayogi, dan M. I. Firdausi, “WORKSHOP GOOGLE GEMINI UNTUK MEMBUAT ARTIKEL DENGAN TEKNIK SEO BAGI ANGGOTA KOPERASI MAHASISWA UIN K.H. ABDURRAHMAN WAHID PEKALONGAN,” Dharma Pengabdian Perguruan Tinggi (DEPATI), vol. 4, no. 1, hlm. 45–53, Mei 2024, doi: 10.33019/depati.v4i1.5225.
[3] S. Kurniawan, W. Wiranata, K. Kusnan, N. Ma’muriyah, dan V. V. Ting, “Pemanfaatan Komputasi Awan (Cloud Computing) Pada Bidang Pendidikan,” Journal of Information System and Technology, vol. 4, no. 2, hlm. 403–405, Jul 2023.
[4] S. Wijaya, F. Fauziah, dan T. W. Harjanti, “Perbandingan Algoritma Sorting dengan Menggunakan Bahasa Pemograman Javascript dalam Penggunaan Waktu Komputasi dan Penggunaan Memori,” STRING (Satuan Tulisan Riset dan Inovasi Teknologi), vol. 8, no. 3, hlm. 294, Apr 2024, doi: 10.30998/string.v8i3.17972.
[5] D. Setyantoro dan R. A. Hasibuan, “ANALISIS DAN PERBANDINGAN KOMPLEKSITAS ALGORITMA EXCHANGE SORT DAN INSERTION SORT UNTUK PENGURUTAN DATA MENGGUNAKAN PYTHON,” Jurnal Ilmiah Teknik Informatika (TEKINFO), vol. 21, no. 1, hlm. 48–56, Apr 2020.
[6] H. Ali, H. Nawaz, A. Maitlo, dan I. Soomro, “Performance Analysis of Heap Sort and Insertion Sort Algorithm,” International Journal of Emerging Trends in Engineering Research, vol. 9, no. 5, hlm. 580–586, Mei 2021, doi: 10.30534/ijeter/2021/08952021.
[7] Y. Heryanto, F. Fauziah, dan T. W. Harjanti, “Analisis Perbandingan Ruang dan Waktu pada Algoritma Sorting Menggunakan Bahasa Pemrograman Python,” KESATRIA: Jurnal Penerapan Sistem Informasi (Komputer & Manajemen), vol. 4, no. 2, hlm. 342–347, Apr 2023.
[8] H. N. Elmahdy, “A New Sorting Algorithm for Integer Values (Array Sorting Algorithm),” dalam The Proceedings of the Interdisciplinary Conference on Mechanics, Computers and Electrics (ICMECE 2022), Barcelona: ICMECE 2022, Okt 2022, hlm. 1–6.
[9] S. Saputri dan Y. Yahfizham, “Analisis Study Komperatif Bubble Sort Dan Selection Sort Pada Algoritma Dan Pemograman Berdasarkan Seleksi Pengurutan,” Jurnal Arjuna: Publikasi Ilmu Pendidikan, Bahasa dan Matematika, vol. 1, no. 6, hlm. 151–161, Nov 2023.
[10] J. Jimmy, F. Utama, F. Felix, dan A. P. Laia, “Aplikasi Pembelajaran Penyortiran Menggunakan Algoritma Super Sort Berbasis Mobile,” Jurnal SIFO Mikroskil, vol. 22, no. 1, hlm. 19–32, Agu 2021, doi: 10.55601/jsm.v22i1.771.
[11] R. R. Basir, “Analisis Kompleksitas Ruang dan Waktu Terhadap Laju Pertumbuhan Algoritma Heap Sort, Insertion Sort dan Merge dengan Pemrograman Java,” STRING (Satuan Tulisan Riset dan Inovasi Teknologi), vol. 5, no. 2, hlm. 109, Des 2020, doi: 10.30998/string.v5i2.6250.
[12] S. Sepahyar, R. Vaziri, dan M. Rezaei, “Comparing Four Important Sorting Algorithms Based on Their Time Complexity,” dalam Proceedings of the 2019 2nd International Conference on Algorithms, Computing and Artificial Intelligence, New York, NY, USA: ACM, Des 2019, hlm. 320–327. doi: 10.1145/3377713.3377808.
[13] Z.-G. Zhu, “Analysis and Research of Sorting Algorithm in Data Structure Based on C Language,” J Phys Conf Ser, vol. 1544, no. 1, hlm. 012002, Mei 2020, doi: 10.1088/1742-6596/1544/1/012002.
[14] D. A. Tara dkk., “Analisis Kompleksitas Waktu Menggunakan Sorting Algorithm pada Pengaplikasian Fitur Pengurutan Harga dari Terendah dan Tertinggi di Shopee,” Jurnal Potensial, vol. 3, no. 1, hlm. 68–80, Feb 2024.
[15] N. Sari, W. A. Gunawan, P. K. Sari, I. Zikri, dan A. Syahputra, “Analisis Algoritma Bubble Sort Secara Ascending Dan Descending Serta Implementasinya Dengan Menggunakan Bahasa Pemrograman Java,” ADI Bisnis Digital Interdisiplin Jurnal, vol. 3, no. 1, hlm. 16–23, Jan 2022, doi: 10.34306/abdi.v3i1.625.
[16] A. Arrosyidi dan D. A. Arnandy, “Perbandingan Algoritma Simple Sorting Antara Menggunakan Variabel Temporary dan Tanpa Variabel Temporary,” Jurnal Sistim Informasi dan Teknologi, vol. 4, no. 4, Des 2022, doi: 10.37034/jsisfotek.v4i4.185.
[17] R. W. Arifin dan D. Setiyadi, “Algoritma Metode Pengurutan Bubble Sort dan Quick Sort Dalam Bahasa Pemrograman C++,” INFORMATION SYSTEM FOR EDUCATORS AND PROFESSIONALS : Journal of Information System, vol. 4, no. 2, hlm. 178–187, Jun 2020.
[18] N. Mahrozi dan M. Faisal, “ANALISIS PERBANDINGAN KECEPATAN ALGORITMA SELECTION SORT DAN BUBBLE SORT,” Scientica: Jurnal Ilmiah Sains dan Teknologi, vol. 1, no. 2, hlm. 89–98, Nov 2023.
[19] M. L. Zulfa, M. Mikhael, dan B. N. Sari, “Analisis Perbandingan Algoritma Bubble Sort, Shell Sort, dan Quick Sort dalam Mengurutkan Baris Angka Acak menggunakan Bahasa Java,” Jurnal Ilmiah Wahana Pendidikan, vol. 8, no. 13, hlm. 237–246, Jun 2022.
[20] D. R. Poetra, “Performa Algoritma Bubble Sort dan Quick Sort pada Framework Flutter dan Dart SDK(Studi Kasus Aplikasi E-Commerce),” JATISI (Jurnal Teknik Informatika dan Sistem Informasi), vol. 9, no. 2, hlm. 806–816, Jun 2022, doi: 10.35957/jatisi.v9i2.1886.
[21] Y. A. Sandria, M. R. A. Nurhayoto, L. Ramadhani, R. S. Harefa, dan A. Syahputra, “Penerapan Algoritma Selection Sort untuk Melakukan Pengurutan Data dalam Bahasa Pemrograman PHP,” Hello World Jurnal Ilmu Komputer, vol. 1, no. 4, hlm. 190–194, Des 2022, doi: 10.56211/helloworld.v1i4.187.
[22] J. Iskandar, H. Suhendar, dan B. D. Pamungkas, “Analisis Strategi Algoritma Sorting Menggunakan Metode Komparatif pada Bahasa Pemrograman Java dengan Python,” G-Tech: Jurnal Teknologi Terapan, vol. 8, no. 1, hlm. 104–113, Des 2023, doi: 10.33379/gtech.v8i1.3556.