School of Information Systems

Macam-macam Sorting pada Java

Bubble Sort

Bubble Sort Merupakan algoritma pengurutan paling tua dengan metode pengurutan paling sederhana. Pengurutan yang dilakukan dengan membandingkan masing-masing item dalam suatu list secara berpasangan, menukar item jika diperlukan, dan mengulaginya sampai akhir list secara berurutan, sehingga tidak ada lagi item yang dapat ditukar.  Diberi Nama “Bubble” Karena Proses Pengurutan Secara Berangsur-Angsur Bergerak/Berpindah Ke Posisinya Yang Tepat, Seperti Gelembung Yang Keluar Dari Sebuah Gelas Bersoda. Bubble Sort Berhenti Jika Seluruh Array Telah Diperiksa Dan Tidak Ada Pertukaran Lagi Yang Bisa Dilakukan, Serta Tercapai Perurutan Yang Telah Diinginkan.

Kelebihan:

  •  Metode Buble Sort Merupakan Metode Yang Paling Simpel
  • Metode Buble Sort Mudah Dipahami Algoritmanya
  • Mudah Untuk Diubah Menjadi Kode.
  •  Definisi Terurut Terdapat Dengan Jelas Dalam Algoritma.
  • Cocok Untuk Pengurutan Data Dengan Elemen Kecil Telah Terurut

Kelemahan:

  • Bubble Sort merupakan metode pengurutan yang paling tidak efisien.
  •  Pada saat mengurutkan data yang sangat besar akan mengalami kelambatan luar biasa, atau dengan kata lain kinerja memburuk cukup signifikan ketika data yang diolah jika data cukup banyak.

Selection Sort

Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.

Kelebihan: 

  • Algoritma ini sangat rapat dan mudah untuk diimplementasikan.
  • Mempercepat pencarian
  • Mudah menentukan data maksimum /minimum.
  • Mudah menggabungkannya kembali.Kompleksitas selection sort relatif lebih kecil.

Kekurangan:

  • Membutuhkan method tambahan
  • Sulit untuk digabungkan kembali
  • Perlu dihindari untuk penggunaan data lebih dari 1000 tabel, karena akan menyebabkan kompleksitas yang lebih tinggi dan kurang praktis

Insertion Sort

Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan dan yang sudah diurutkan. Elemen pertama diambil dari bagian array yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.

Kelebihan:

  •  Sederhana dalam penerapannya.
  •  Mangkus dalam data yang kecil.
  •  Jika list sudah terurut atau sebagian terurut maka Insertion Sort akan lebih cepat dibandingkan dengan Quicksort.
  •  Mangkus dalam data yang sebagian sudah terurut.
  •   Lebih mangkus dibanding Bubble Sort dan Selection Sort.
  •  Loop dalam pada Inserion Sort sangat cepat, sehingga membuatnya salah satu algoritma pengurutan tercepat pada jumlah elemen yang sedikit.
  •  Stabil.

Kekurangan:

  •  Banyaknya operasi yang diperlukan dalam mencari posisi yang tepat untuk elemen larik.
  •   Untuk larik yang jumlahnya besar ini tidak praktis.
  •   Jika list terurut terbalik sehingga setiap eksekusi dari perintah harus memindai dan mengganti             seluruh bagian sebelum menyisipkan elemen berikutnya.
  •   Membutuhkan waktu O(n2) pada data yang tidak terurut, sehingga tidak cocok dalam pengurutan elemen dalam jumlah besar.

Lily Janvieka