SORTING

 SORTING

SORTING



Apa itu Sorting pada struktur data? Sorting adalah proses pengurutan elemen-elemen data dalam suatu urutan tertentu, seperti dari yang terkecil ke yang terbesar atau sebaliknya. Tujuannya adalah untuk memudahkan pencarian, pengambilan data, atau analisis yang melibatkan data yang telah diurutkan. 

Sebagai Contoh pada Sebuah Kamus. Jika Anda ingin mencari terjemahan pada kamus pasti melihat urutan alfabet bukan? Secara tidak langsung itulah manfaat penyortiran. Jadi akan lebih mudah mencari kata dalam kamus ketika abjad diurutkan sesuai urutan alfabet. Namun Jika Contoh Seperti Gambar dibawah ini bagaimana proses pengurutan secara ascending atau Descending?




Untuk Menyelesaikan Contoh diatas ada banyak metode dalam melakukan Sorting. Algoritma Sorting berdasarkan perbandingan meliputi sebagai berikut

1. pengurutan gelembung (bubble sort)

2. pengurutan seleksi (pengurutan seleksi)

3. pengurutan sisip (penyortiran sisip)

4. pengurutan cepat (penyortiran cepat)

5. pengurutan gabung (pengurutan gabungan)

6. pengurutan himpun (heap sort)

7. pengurutan shell (jenis shell)

8. pengurutan pohon (jenis pohon).

Tentu dari banyak metode tersebut memiliki konsep yang berbeda — berbeda. Disini akan menjelaskan metode — metode tersebut.

Bubble Sort ( Pengurutan membunyikan )

Bubble sort (metode bubble) adalah metode/algoritma pengurutan dengan cara melakukan penukaran data dengan data di sebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan (data sudah terurut secara benar).

Berikut Langkah Langkah dari Penyortiran Gelembung :

1.Memasukan dataSetiap data

2. Setiap data, misalnya data pertama akan dibandingkan dengan data yang ada di sebelahnya (dari data kedua sampai selesai).

3. Bila data pertama tersebut lebih besar dari data yang ada pada data sesudahnya, dilakukan penukaran tempat atau posisi data

4. Demikian pula untuk data kedua sampai dengan data terakhir dilakukan dengan cara serupa

Jika Digambarkan dalam Ilustrasi Gambar seperti berikut :



Bagaimana Mengimplementasi Algoritma Bubble Sort dalam pemrograman. Sangat mudah yang penting dipahami terlebih dahulu tahapan tahapan algoritma bubble sort. Berikut contoh Implementasi algoritma bubble sort ke dalam bahasa pemograman C++ :




Sortir Seleksi

Selection Sort adalah algoritma pengurutan data dengan cara membandingkan elemen yang sekarang dengan elemen berikutnya sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat dan kemudian ditukar.

Algoritma pengurutan pilihan akan mengurutkan nilai terkecil dari suatu kumpulan data dan jika ada, data tersebut akan diletakkan pada urutan pertama. Begitu seterusnya untuk urutan kedua dan seterusnya.

Adapun Langkah — Langkah Algoritma Selection Sort seperti berikut :

1. Melakukan pengecekan dimulai dari data pertama hingga data ke-n.

2. Menentukan data dengan indeks minimum (jika ascending) atau maksimum (jika descending) dalam sebuah data tersebut.

3. Menukarkan data dengan indeks minimum (jika ascending) atau maksimum (jika descending) dengan bilangan pertama (i = 1) dari data tersebut.

4. Mengulangi langkah di atas untuk sisa data bilangan berikutnya (i = i +1) sampai diperoleh urutan yang sesuai.

Jika diilustrasikan dalam Gambar untuk Algoritma Selection Sort seperti berikut :




Dan Untuk Source Code Untuk Pemilihan Algoritma dalam bahasa pemrohraman c++ seperti berikut :





Sortir Penyisipan



Insertion Sort adalah sebuah algoritma pengurutan yang membandingkan dua elemen data pertama, mengurutkannya, kemudian memeriksa elemen data berikutnya satu persatu dan membandingkannya dengan elemen data yang telah diurutkan.

Adapun Langkah — Pengurutan Penyisipan Algoritma Langkan :



Membandingkan dua elemen data pertama, mengurutkannya,

Kemudian memeriksa elemen data berikutnya satu persatu

Dan membandingkannya dengan elemen data yang telah diurutkan

Berikut Ilustrasi Gambar Algoritma Insertion Sort :



Penyortiran Cepat

Quick Sort adalah salah satu algoritma pengurutan data yang paling cepat, yaitu dengan membagi list menggunakan sebuah pivot. Pemilihan pivot adalah hal yang menentukan apakah algoritma quick sort tersebut akan memberikan performa terbaik atau terburuk.

Berikut beberapa cara pemilihan pivot: 

1. Pivot dipilih elemen pertama, elemen terakhir, atau elemen tengah array.

2. Pivot dipilih secara acak dari salah satu elemen arra



Adapun Algoritma Quick Sort seperti berikut :

1. Pilih nilai poros.

2. Partisi. Atur ulang semua elemen sedemikian rupa, lalu semua elemen yang lebih rendah daripada pivot dipindahkan ke sebelah kiri dari array/list dan semua elemen yang lebih besar dari pivot dipindahkan ke sebelah kanan dari array/list.

3. Nilai yang sama dengan pivot dapat diletakkan di mana saja dari array.

4. Urutkan semua bagian (kiri/kanan).

5. Aplikasikan algoritma quicksort secara rekursif pada bagian sebelah kiri dan kanan.

6. Ada dua indeks i dan j dan pada awal algoritma partisi i menunjuk ke elemen pertama dalam array dan poin j yang terakhir.

7. algoritma menggerakkan saya ke depan, sampai elemen dengan nilai yang lebih besar atau sama dengan pivot ditemukan.

8. Indeks j bergerak mundur, sampai elemen dengan nilai yang lebih rendah atau sama dengan pivot ditemukan.

9. Jika i ≤ j maka mereka membandingkan dan nilai langkah ke berikutnya (i + 1), langkah-langkah j dengan posisi yang sebelumnya (j — 1).

10. Algoritma berhenti, ketika nilai menjadi lebih besar dari j. Setelah partisi, semua nilai sebelum elemen ke-i kurang atau sama dengan pivot dan semua nilai setelah elemen ke-j lebih besar atau sama dengan pivot

Dalam Implementasi Source Code dalam bahasa pemrograman C++ seperti berikut :



Demikian Pengenalan Penyortiran beserta Contoh Kode Sumber pada Struktur Data Semoga bermanfaat.

Komentar

Postingan populer dari blog ini

ARRAY

GRAPH