Anda di halaman 1dari 7

Algoritma Insertion Sort

Dalam dunia programming, sorting atau pengurutan data adalah aspek yang sangat
penting. Karena pengurutan data akan mempermudah kita dalam melakukan pengolahan data.
Sementara untuk melakukan sorting tadi terdapat berbagai algoritma yang dapat digunakan
seperti sequential sort, bubble sort, merge sort, selection sort, quick sort, dan insertion sort.
Diantara berbagai algoritma pengurutan tadi, salah satu algoritma pengurutan yang memikat
perhatian para programmer dengan kesederhanaannya namun efektivitasnya adalah Insertion
Sort. Pada kesempatan ini kami secara khusus akan membahas Insertion Sort secara rinci
dengan menggunakan 5W + 1H beserta implementasinya.

Apa itu insertion sort?


Insertion Sort merupakan sebuah algoritma pengurutan yang tergolong sederhana,
tetapi memiliki keefektifan dan keunikan tersendiri. Dengan mekanisme yang mirip dengan
cara manusia mengurutkan objek secara bertahap, bisa dikatakan mirip seperti pada saat kita
mengurutkan kartu remi.
Insertion Sort menjadi salah satu pilihan utama dalam pengurutan data. Algoritma ini
berfungsi dengan membandingkan setiap elemen dalam rangkaian data dan menyusunnya
sedemikian rupa sehingga elemen-elemen tersebut berada dalam urutan yang benar.

Bagaimana cara kerja insertion sort?


Proses Insertion Sort dimulai dengan mengambil satu elemen pada suatu data dan
membandingkannya dengan elemen-elemen sebelumnya. Elemen tersebut kemudian disusun
pada posisi yang sesuai, dan langkah ini diulang hingga seluruh data diurutkan. Langkah-
langkahnya melibatkan perbandingan dan pertukaran elemen, yang membuatnya cukup
sederhana untuk dipahami dan diimplementasikan.

Sebagai contoh, kita bisa lihat angka-angka di atas. Angka-angka tersebut masih dalam
bentuk acak, sehingga perlu dilakukan proses sorting atau pengurutan. Maka dari itu kita
akan mengurutkan angka di bawah menggunakan algoritma insertion sort.
Ambil elemen kedua dan bandingkan dengan elemen pertama. Dalam hal ini angka 5 kita
ambil dan kita bandingkan dengan angka 9. Karena angka 5 lebih kecil dari 9, maka angka 5
dan 9 kita tukar posisinya sehingga menjadi 5 di deblakang dan 9 di depan.

Kemudian kita beralih pada elemen ketiga yang akan kita bandingkan dengan elemen di
belakangnya. Angka 1 akan kita bandingkan dengan angka 9 dan karena 1 lebih kecil maka
akan ditukar posisinya dengan 9. Lalu bandingkan lagi angka 1 dengan angka di
belakakngnya, yaitu 5. Karena angka 1 lebih kecil, maka angka 1 dan 5 akan ditukar
posisinya senhingga menjadi urut.
Hal yang sama juga dilakukan pada elemen selanjutnya. Angka 4 akan terus dibandingkan
dengan dan ditukar dengan angka di belakangnya sampai bertemu dengan angka yang lebih
kecil. Dalam hal ini, angka 4 akhirnya bertemu dengan angka 1 dan karena angka 1 lebih
kecil dari angka 4 maka angka tersebut tidak ditukar lagi posisinya karena sudah berada pada
posisi yang sesuai.

Perbandingan dan pertukaran posisi tadi akan terus dilakukan secara berulang hingga elemen
terakhir dan semua angka sudah terurut.
Mengapa menggunakan insertion sort?
Insertion Sort bisa digunakan karena algoritma ini tergolong sederhana namun juga
memiliki efektivitas yang tinggi. Karena kesederhanaannya tersebut, algoritma ini sangat
mudah diimplementasikan bahkan oleh pemula sekalipun.
Algoritma ini memproses elemen satu per satu dan selalu mempertahankan urutan
yang benar di bagian depan daftar yang sudah diurutkan. Karena hal itu, algoritma ini
memiliki perbandingan dan pertukaran data yang cenderung sedikit sehingga memiliki
kompleksitas waktu yang tergolong kecil dan lebih efektif dari beberapa algoritma lainnya.

Kapan Insertion sort sebaiknya digunakan?


Karena algoritma ini memiliki perbandingan dan pertukaran data yang sedikit, maka
algoritma ini sangat cocok digunakan pada data dengan jumlah kecil. Selain itu, algoritma ini
juga cocok digunakan untuk data acak yang hampir terurut karena pada data tersebut hanya
dibutuhkan sedikit pertukaran data. Namun untuk data dengan jumlah yang besar, algoritma
ini masih kalah cepat dengan algoritma lain seperti quick sort.

Siapa saja yang dapat menggunakan insertion sort?


Insertion Sort memiliki jejak penggunaan yang luas dalam berbagai bidang
pengembangan perangkat lunak. Pengembang perangkat lunak, ilmuwan data, dan
pemrogram komputer secara aktif menggunakan Insertion Sort dalam proyek-proyek mereka.
Penerapannya mencakup pengurutan data dalam aplikasi sederhana hingga implementasi
dalam proyek perangkat lunak yang lebih kompleks.
Dikarenakan konsepnya yang sangat sederhana, algoritma ini akan sangat mudah
dipelajari dan diimplementasikan bahkan oleh seorang pemula sekalipun. Ada banyak bahasa
pemrograman yang juga bisa digunakan oleh pengguna untuk mengimplementasikan
algoritma ini.

Dimana insertion sort diimplementasikan?


Algoritma Insertion Sort dapat diimplementasikan di dalam berbagai bidang,
pengembangan perangkat lunak, dan bahkan dalam implementasi kecil pada mikrokontroler
atau sistem terbatas sumber daya. Insertion Sort juga digunakan dalam berbagai aplikasi,
seperti manajemen daftar kontak di ponsel cerdas, penyusunan data dalam sistem basis data,
atau bahkan dalam pengembangan game yang memerlukan penanganan data yang cepat dan
efisien.
Implementasi dalam kode pemrograman
Setelah penjelasan di atas, kali ini kami akan menunjukkan implementasi insertion
sort dalam bahasa pemrograman Java. Untuk implementasinya ada dua, yaitu dalam
implementasi berupa pengurutan data berupa angka dan pengurutan data berupa sting.
Berikut adalah implementasinya.

Implementasi berupa string


Implementasi dalam data berupa string:
Implementasi pada data berupa string Dalam penulisan daftar pustaka sebuah karya
ilmiah/tulis diurutkan berdasarkan nama penulis(last name):

Anda mungkin juga menyukai