SORTING DALAM BAHASA PEMROGRAMAN KOMPUTER

 Apa yang dimaksud dengan Sorting?

Sorting Atau bisa juga disebut dengan algoritma pengurutan adalah untuk menyusun sebuah elemen array/daftar dalam urutan tertentu

Namun dalam Gambar ini, pengurutan dilakukan dalam urutan menaik.

Sorting terbagi menjadi dua yaitu Ascending dan Descending.


  • Ascending
Dalam ascending pengurutan datanya dilakukan dengan cara dari yang terkecil hingga yang terbesar.

  • Descending
Sedangkan descending mengurutkan data dengan cara sebaliknya dari ascending yaitu pengurutan dimulai dari data yang terbesar hingga terkecil.

Jenis-Jenis Sorting

  • Bubble Sort
Algoritma Bubble Sort mengulangi data dari awal sampai akhir, yaitu dengan cara menukarkan tiap elemen satu persatu hingga urutan terakhir di cek sampai akhir, penukraran tersebut dilakukan oleh tiap satu elemen dimulai dari elemen paling kiri dilakukan penukaran dicek ke elemen sebelahnya, setelah itu dilakukan penukaran juga untuk elemen kedua dan seterusnya hingga terurut dengan sesuai.

  • Selection Sort

Algoritma Selection Sort ini dimulai dengan cara membaginya menjadi dua bagian yaitu bagian yang terurut dan belum terurut. setelah itu dipilihlah elemen paling kecil yang belum terurut lalu ditukar dengan elemen pertama yang nilainya diatas nilai yang paling kecil tadi, jika hasilnya true maka elemen tersebut akan ditukar jika false maka tidak akan ditukar.



  • Insertion Sort
Insertion Sort adalah algoritma pengurutan yang menggunakan sebuah teknik pengurutan perbandingan yang dimana mengurutkan dua data pertama pada array/data, kemudian membandingkan data tersebut dengan array selanjutnya/array yang lain, apakah sudah berada ditempatnya.


  • Quick Sort
Quick Sort menggunakan algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, dan metode ini sering disebut juga dengan exchange Sort.

Dalam Gambar ini adalah contoh quick sort yang mengurutkan data dengan cara mempartisi data-data tersebut menjadi beberapa bagian partisi yang saling terhubung dari data awal.

Adapun istilah privot, Privot adalah elemen pertama, elemen terakhir, atau elemen tengah tabel.

Cara Kerja Quick Sort

    • Partitioning

Dalam partitioning ini adalah memilih elemen privot pertama dari larik dan membagi elemen-elemen lain ke dalam dua sub-larik berdasarkan terkecil atau terbesar dari privot.

    • Rekursi

Setelah di partisi kemudian quick sort mengurutkan data secara rekursif kedua sub-larik tersebut. proses ini terus berlanjut hingga sebuah larik dasar kosong atau elemen sudah tercapai.

    • Gabung

Akhirnya, kedua sublarik yang sudah diurutkan digabungkan untuk menghasilkan larik yang sepenuhya sudah terurut.

  • Marge Sort
Marge Sort melakukan Pengurutan dengan cara membagi data menjadi dua bagian yang sama besar, dan mengurutkan masing -masing bagian secara rekursif. Kemudian Data yang dibagikan tersebut yang sudah terurut lalu digabungkan menjadi satu data yang terurut. Algoritma marge sort ini mengulangi proses sampai data tidak dapai dibagi lagi.


Cara Kerja Marge Sort

    • Bagi

Larik dibagi sercara rekursif menjadi dua bagian hingga setiap sub-larik hanya berisi satu elemen.

    •  Kuasai

Pasangan sub-larik berturut-turut digabungkan dalam urutan terurut hingga terbentuk satu larik yang terurut.

    • Gabung

Setelah kedua elemen tersebut terurut maka elemen tersebut digabungkan hingga menjadi satu larik yang sudah terurut. 

  • Heap Sort
Heap sort adalah algoritma pengurutan yang berbasis pada struktur data heap. Heap adalah pohon biner lengkap yang memenuhi sifat heap, yaitu setiap simpul memiliki nilai yang lebih besar (atau lebih kecil) dari anak-anaknya. Heap sort bekerja dengan cara mengubah array menjadi heap, kemudian menghapus elemen terbesar (atau terkecil) dari heap dan memindahkannya ke posisi akhir array. Proses ini diulangi sampai heap kosong dan array terurut. Heap sort memiliki kompleksitas waktu O(n log n) untuk kasus terbaik, terburuk, dan rata-rata. Heap sort juga merupakan algoritma pengurutan in-place, yaitu tidak membutuhkan ruang tambahan selain array yang diurutkan

Langkah-Langkah Heap Sort

  • Bangun heap dari array yang diberikan.
  •      Ulangi langkah berikut sampai heap hanya berisi satu elemen:
  •       Tukar elemen akar heap (yang merupakan elemen terbesar atau terkecil) dengan elemen terakhir heap.
  •       Hapus elemen terakhir heap (yang sekarang berada di posisi yang benar).
  •       Heapify elemen-elemen yang tersisa dari heap.
  • Array terurut diperoleh dengan membalikkan urutan elemen dalam array input.

  • Shell Sort
Shell Sort adalah algoritma pengurutan yang merupakan variasi dari algoritma Insertion Sort. Shell Sort memiliki keunggulan dalam meningkatkan kinerja Insertion Sort, terutama pada dataset yang besar. Meskipun tidak secepat algoritma pengurutan modern seperti Quick Sort atau Merge Sort, Shell Sort dapat menjadi pilihan yang baik dalam beberapa konteks, terutama jika ruang memori terbatas.






Comments

Popular Posts