Penggunaan Insertion Sort Untuk Mengurutkan Data



Insertion Sort merupakan penyempurnaan dari Selection Sort .Prinsip kerja dari Insertion Sort adalah mengambil satu elemen lalu kita akan menempatkannya di posisi yang tepat.Setelah kita ambil,supaya lebih mudah maka kita pisahkan dari list dulu.Setelah itu,ambil elemen berikutnya lalu tempatkan di luar list dengan posisi yang benar.

Begitu seterusnya sampai semua elemen telah terambil dan kita mendapatkan data yang urut.Jadi untuk singkatnya Insertion Sort ini seperti "Ambil Data lalu Tentukan Posisinya"

Kelebihan Insertion Sort :

  • Tidak memerlukan iterasi yang panjang seperti Bubble Sort
  • Titik pengambilan elemen bebas,kalian bisa dari kiri atau kanan bahkan tidak urut saja tidak apa-apa beda sekali dengan Bubble Sort yang memang harus urut supaya lebih mudah
Kekurangan Insertion Sort :
  • Perlu kecermatan tinggi,karena dalam menentukan posisi nya kita tidak boleh salah jadi ini lebih rumit dari pada Bubble Sort dan Selection Sort
  • Tidak cocok untuk jumlah data yang banyak,sama seperti metode yang sebelumnya

Contoh Cara Menggunakan Insertion Sort untuk Pengurutan Data :



  • Saya punya data  misalnya [42,35,27,45,52,49,57] dan akan saya urutkan dari kecil ke besar (Ascending)
  • [42 35 27 45 52 49 57] 35 taruh di sebelah kiri 42
  • 35 42[ 27 45 52 49 57] 27 paling kecil dibandingkan 35 dan 42,jadi taruh paling kiri
  • 27 35 42[ 45 52 49 57] 45 lebih besar dari 27,35,42 jadi posisinya tidak berubah
  • 27 35 42 45[ 52 49 57] 52 lebih besar dari 27,35,42 dan 45 jadi posisinya tidak berubah
  • 27 35 42 45 52[ 49 57] 49 lebih besar dari 45 tapi lebih kecil dari 52 jadi 49 diletakkan diantara 45 dan 52
  • 27 35 42 45 49 52[57] 57 paling besar di sini jadi benar posisinya di situ
  • [27 35 42 45 49 52 57] (data urut secara Ascending)
Saya kasih contoh sekali lagi namun kali ini secara Descending

  • Saya punya data misalnya [32,37,29,26,30,45,43]
  • [32 37 29 26 30 45 43]  32<37 jadi 37 taruh di sebelah kiri 32
  • 37 32[ 29 26 30 45 43] 29 lebih kecil dari 37 dan 32 jadi posisi 29 tetap di situ
  • 37 32 29[ 26 30 45 43] 26 lebih kecil dari 37,32 dan 29 jadi posisinya tetap
  • 37 32 29 26[ 30 45 43]  30 lebih kecil dari 32 dan lebih besar dari 29 jadi posisinya diantara 32 dan 29
  • 37 32 30 29 26[45 43] 45 paling besar di sini jadi taruh saja di paling kiri
  • 45 37 32 30 29 26[43] 43 hanya lebih kecil dari 45 jadi taruh 43 di sebelah kanan 45
  • [45 43 37 32 30 29 26] (Data urut secara Descending)
PseudoCode Untuk Insertion Sort :

i ← 1
while i < length(A)
    j ← i
    while j > 0 and A[j-1] > A[j]
        swap A[j] and A[j-1]
        j ← j - 1
    end while
    i ← i + 1
end while
 Contoh Insertion Sort di Java :
contoh insertion sort java

contoh insertion sort java

Contoh Insertion Sort di Python :

contoh insertion sort python

contoh insertion sort python



Jangan spam atau promosi di sini jgn juga taruh link aktif kalau mau dapat backlink bisa taruh di profil saja (Name/URL)
EmoticonEmoticon