Array Sorting Algorithm vs Traditional Sorting Algorithm: Memory and Time Efficiency Analysis: Array Sorting Algorithm vs Algoritma Pengurutan Tradisional: Analisis Efisiensi Memori dan Waktu - Pujiono, Imam Prayogo; Rachmawanto, Eko Hari; Winarsih, Nurul Anisa Sri (Program Studi Manajemen Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia, 2025)
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.