Sumber : quizizz.com
Algoritma memiliki keterkaitan yang erat dengan pemrograman komputer. Salah satu contohnya dalam pemrograman adalah algoritma Sorting atau pengurutan data. Berbagai jenis algoritma sorting telah dikembangkan karena proses pengurutan ini sangat mendasar dan sering digunakan. Oleh karena itu, memahami algoritma sorting menjadi sangat penting. Berikut ini penjelasan mengenai algoritma sorting dan jenis-jenisnya.
Apa itu Algoritma Sorting ?Sorting adalah proses mengurutkan sejumlah data berdasarkan nilai kunci tertentu. Pengurutan ini bisa dilakukan dari nilai terkecil ke terbesar (ascending) atau dari terbesar ke terkecil (descending). Algoritma sorting adalah metode yang digunakan untuk mengurutkan data atau elemen-elemen dalam suatu kumpulan data secara teratur. Dalam pemrograman, algoritma sorting menjadi salah satu konsep penting karena bertujuan untuk mengatur data yang awalnya tidak teratur menjadi berurutan, terutama untuk data bertipe numerik atau karakter.
Apa saja jenis Algoritma Sorting itu ?Bubble SortSebagaimana dari namanya “bubble”, konsep dari ide dasarnya adalah seperti “gelembung air” yang secara berangsur-angsur bergerak atau berpindah ke posisinya yang tepat. Bubble sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. Cara kerjanya adalah dengan berulang-ulang melakukan traversal (proses looping) terhadap elemen-elemen struktur data yang belum diurutkan. Di dalam traversal tersebut, nilai dari dua elemen struktur data dibandingkan, apabila datanya belum urut maka akan dilakukan pertukaran. Maka, dapat dikatakan bahwa membandingkan masing-masing item dalam suatu data yang diberikan secara berpasangan merupakan konsep dari algoritma jenis bubble sort. Bubble sort akan berhenti ketika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan.
Insertion sortSalah satu algoritma sorting yang paling sederhana adalah insertion sort, di mana jenis ini dianalogikan seperti mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan dan yang sudah diurutkan. Cara kerja algoritma insertion adalah dengan dilakukan iterasi, di mana pada setiap iterasi insertion sort memindahkan nilai elemen, kemudian menyisipkannya berulang-ulang sampai ke tempat yang tepat. Dari proses iterasi, maka terbentuklah bagian yang telah diurutkan dan bagian yang belum urut. Hal ini terus berlangsung sampai tidak ada elemen tersisa di input. Jenis algoritma ini cocok digunakan untuk mengurutkan data yang jumlahnya sedikit.
Selection sortPada dasarnya, konsep algoritma selection sort adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar akan ditukar ke posisi yang tepat di dalam array. Selama proses, pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir proses.
Merge sortMerge sort berfungsi untuk mengurutkan sebuah array berisi nilai-nilai yang acak dengan cara mengurutkan sebagian dari array terlebih dahulu sebelum mengurutkan semua array secara keseluruhan. Metode pengurutan merge sort menggunakan pola divide and conquer, di mana strateginya dengan cara membagi sekelompok data yang akan diurutkan menjadi beberapa kelompok kecil, terdiri dari maksimal dua nilai untuk dibandingkan dan digabungkan lagi secara keseluruhan Algoritma ini melakukan pembagian struktur data sebelum kemudian dioperasi satu persatu, jenis algoritma ini cocok digunakan untuk mengurutkan data yang jumlahnya besar.
Quick sortSeperti namanya, algoritma ini termasuk algoritma yang cukup baik dan cepat, di mana adanya pemilihan nilai tengah yang baik sehingga tidak memperlambat proses sorting secara keseluruhan. Quick sort juga biasa disebut dengan exchange sort, karena konsepnya dasarnya yang membuat partisi-partisi dan pengurutan yang dilakukan pada setiap partisi. Sama seperti merge sort, algoritma jenis ini cocok ketika digunakan untuk mengurutkan data yang sangat banyak.
Demikian penjelasan umum mengenai algoritma sorting.
Sumber : https://www.kompas.com/skola/read/2023/09/19/030000969/pengertian-dan-jenis-jenis-algoritma-sorting