Pengertian Algoritma Sorting
Algoritma sorting adalah suatu metode atau teknik untuk mengurutkan data atau elemen-elemen dalam suatu struktur data secara teratur. Algoritma sorting merupakan salah satu konsep penting dalam pemrograman, tujuannya untuk mengubah data yang tidak teratur menjadi urutan yang teratur, misalnya dari data yang tidak terurut menjadi data yang terurut menaik atau menurun.
Jenis Algoritma Sorting
1. Bubble Sort
Bubble Sort adalah salah satu algoritma sorting yang paling sederhana. Algoritma ini bekerja dengan membandingkan elemen-elemen berpasangan dalam daftar dan menukar mereka jika diperlukan. Proses ini terus berlanjut hingga semua elemen berada dalam urutan yang benar.
2. Quick Sort
Quick Sort adalah algoritma yang mengurutkan dengan lebih efisien. Ia membagi daftar menjadi dua bagian, lalu mengurutkan setiap bagian secara terpisah. Kemudian, hasilnya digabungkan untuk mendapatkan daftar yang terurut.
3. Merge Sort
Merge Sort juga membagi daftar menjadi dua bagian, tapi dia mengurutkan masing-masing bagian secara terpisah dan kemudian menggabungkannya untuk mendapatkan daftar yang terurut. Algoritma ini dikenal karena efisiensinya dalam mengurutkan data yang besar.
4. Selection Sort
Selection Sort bekerja dengan cara mencari elemen terkecil dalam daftar dan menukarnya dengan elemen pertama. Proses ini terus berlanjut untuk elemen-elemen berikutnya hingga seluruh daftar terurut.
5. Insertion Sort
Insertion Sort membandingkan setiap elemen dengan elemen-elemen sebelumnya dan memasukkannya ke dalam posisi yang benar dalam daftar yang terurut. Algoritma ini efisien untuk daftar kecil.
6. Shell Sort
Shell Sort adalah variasi dari Insertion Sort yang lebih efisien. Ia membandingkan dan menukar elemen-elemen yang terletak dalam jarak tertentu, lalu secara bertahap mengurutkan daftar tersebut hingga menjadi terurut.
Contoh Program Algoritma Sorting
def bubble_sort(arr):
n = len(arr)
for i in range(n):
swapped = False
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j] # Menukar elemen jika tidak terurut
swapped = True
# Jika tidak ada pertukaran yang dilakukan pada iterasi ini, berarti sudah terurut
if not swapped:
break
# Contoh penggunaan:
arr = [64, 34, 25, 12, 22, 11, 90]
print("Daftar sebelum diurutkan:", arr)
bubble_sort(arr)
print("Daftar setelah diurutkan:", arr)
Penerapan Dalam Kehidupan Sehari- Hari
1. Pencarian Data
Ketika kamu mencari nama dalam daftar kontak , metode pengurutan digunakan untuk mengatur nama-nama tersebut agar mudah ditemukan.
2. E-commerce
Dalam aplikasi belanja online, metode sorting digunakan untuk mengurutkan produk berdasarkan harga, popularitas, atau penawaran terbaik.
3. Database
Sistem database menggunakan metode sorting untuk mengatur data sehingga pencarian dan pengambilan data menjadi lebih efisien.
4. Penjadwalan
Metode pengurutan juga digunakan dalam penjadwalan, seperti mengurutkan tugas-tugas dalam agenda harian berdasarkan waktu.