Sorting Programming with Java (Pertemuan 4 Struktur Data, 31 Maret 2021)


Sorting Algorithm

Bubble Sort

Bubble Sort merupakan sebuah teknik pengurutan data dengan cara menukar dua data yang bersebelahan jika urutan dari data tersebut salah. Algorithma ini dapat mengurutkan data dari besar ke kecil (Ascending) dan kecil ke besar (Descending).

Bubble Sort memiliki beberapa kelebihan dan kekurangan

Kelebihan :

  • Mudah dipahami
  • Mudah diimplementasikan
  • Efisien dan hemat memori untuk dataset kecil

Kekurangan :

  • Kompleksitas algoritma cukup besar, Ο(n²) dimana n adalah jumlah item

Berikut merupakan implementasi dari Bubble Sort pada Java :
 

Dan berikut merupakan hasil dari Kode tersebut :

 

Selection Sort

Selection Sort merupakan teknik sorting yang paling sederhana, hal pertama yang akan dilakukan algoritma Selection Sort adalah menemukan elemen terkecil dalam array dan menukarnya (swap) dengan elemen yang ada di posisi pertama, kemudian algoritma ini akan mengulangi hal yang sama lagi yaitu mencari elemen terkecil yang ada di dalam array dan kemudian menukarnya (swap) dengan elemen yang ada di posisi kedua (mengingat elemen di posisi pertama sudah berhasil kita sorting). Proses ini akan terus berlanjut sampai semua elemen yang ada di dalam array telah berhasil di sorting.

Selection Sort memiliki beberapa kelebihan dan kekurangan :

Kelebihan :

  • Cukup simpel
  • Efisien jika bekerja dengan dataset kecil
  • Memori yang dibutuhkan kecil
Kekurangan :
  • Kompleksitas algoritma cukup besar, Ο(n²) dimana n adalah jumlah item
  • Performa tergantung urutan data yang diberikan

Berikut merupakan impementasi dari Selection Sort pada Java :

 

Dan berikut merupakan hasil dari Kode tersebut :

 

 

Insertion Sort

Insertion sort adalah sebuah algoritma pengurutan yang membandingkan dua elemen data pertama, mengurutkannya, kemudian mengecek elemen data berikutnya satu persatu dan membandingkannya dengan elemen data yang telah diurutkan. Karena algoritma ini bekerja dengan membandingkan elemen-elemen data yang akan diurutkan, algoritma ini termasuk pula dalam comparison-based sort. Ide dasar dari algoritma Insertion Sort ini adalah mencari tempat yang "tepat" untuk setiap elemen array, dengan cara sequential search. Proses ini kemudian menyisipkan sebuah elemen array yang diproses ke tempatnya ang seharusnya. Proses dilakukan sebanyak N-1 tahapan (dalam sorting disebut sebagai "pass"), dengan indeks dimulai dari 0. Proses pengurutan dengan menggunakan algoritma Insertion Sort dilakukan dengan cara membandingkan data ke-i (dimana i dimulai dari data ke-2 sampai dengan data terakhir) dengan data berikutnya. Jika ditemukan data yang lebih kecil maka data tersebut disisipkan ke depan sesuai dengan posisi yang seharusnya.

Insertion Sort memiliki beberapa kelebihan dan kekurangan :

Kelebihan :

  • Simpel
  • Hemat memori
  • Performa bagus ketika digunakan pada dataset kecil

Kekurangan :

  • Tidak efisien pada dataset besar
  • Tidak seefisien algoritma sorting lainnya
Berikut merupakan impementasi dari Insertion Sort pada Java :
 

 

 Dan berikut merupakan hasil dari Kode tersebut :


 

Comments

Popular posts from this blog

Tugas Implementasi Infix ke Postfix menggunakan Stack dan Queue (Rabu, 21 April 2021)

Tower Of Hanoi Program Using Recursion On Java (Rabu, 2 Juni 2021)

ETS APSI