Selamat siang semua. Kesempatan kali ini saya akan
sedikit berbagi mengenai metode pengurutan Buble Sort & Insertion Sort. Sebenarnya ini merupakan tugas kedua saya di mata kuliah
Struktur Data. Pada matkul ini mungkin akan sering membuat saya menulis di blog
ini. Tapi tak apalah bisa menjadi kesibukan baru buatku. Karena kalo di kost
seringnya aku cuma tidur, main hp, makan, ya seperti itulah. Dari pada banyak
basa-basi mending langsung saya jelasin aja ya.
1. Pengertian/Konsep Buble Sort
Metode pengurutan gelembung (Bubble Sort)
merupakan metode pengurutan paling sederhana, tetapi juga merupakan metode
pengurutan yang palng tidak efisien jika datanya banyak.
Metode ini terinspirasi oleh
gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun
lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke
atas permukaan.
Bubble sort adalah metode/algoritma pengurutan dengan cara melakukan
penukaran data dengan data yang berada tepat disebelahnya secara terus menerus
sampai bisa dipastikan dalam satu iterasi (perulangan) tertentu tidak ada lagi
perubahan. Jika tidak ada perubahan berarti data sudah terurut.
Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat
menggelembung ke posisinya yang tepat.
Kelebihan Bubble Sort
§ Merupakan metode yang
paling simple
§ Metode yang mudah
dipahami algoritmanya
Kelemahan Bubble Sort
Meskipun simpel, metode Bubble sort merupakan metode pengurutan yang
paling tidak efisien. Kelemahan buble sort adalah 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. Kelemahan lain adalah jumlah pengulangan akan
tetap sama jumlahnya walaupun data sesungguhnya sudah cukup terurut. Hal ini
disebabkan setiap data dibandingkan dengan setiap data yang lain untuk
menentukan posisinya.
Algoritma Bubble Sort
1.
Membandingkan data ke-i dengan data ke-(i+1) (tepat
bersebelahan). Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data
ke-(i+1) = data ke-i). Apa maksudnya tidak sesuai? Jika kita menginginkan
algoritma menghasilkan data dengan urutan ascending (A-Z) kondisi tidak sesuai
adalah data ke-i > data ke-i+1, dan sebaliknya untuk urutan descending
(A-Z).
2.
Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita
melakukan pembandingan ini sampai data terakhir. Contoh: 1 dgn 2; 2 dgn 3; 3
dgn 4; 4 dgn 5 … ; n-1 dgn n.
3.
Selesai satu iterasi, adalah jika kita sudah selesai
membandingkan antara (n-1) dgn n. Setelah selesai satu iterasi kita lanjutkan
lagi iterasi berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn
data ke-2, dst.
4. Proses akan berhenti
jika tidak ada pertukaran dalam satu iterasi.
Contoh Flowchart
2. Pengertian/Konsep Insertion Sort
Insertion Sort merupakan algoritma
sorting, terutama untuk mengurutkan data dengan jumlah elemen sedikit. Dimana
Input berupa deretan angka sejumlah n buah data dan Output berupa permutasi
(pengurutan) sejumlah n angka dari input, dimana hasilnya berupa data yang
sudah terurut secara ascending maupun descending.
Proses yang terjadi pada pengurutan dengan Insertion Sort adalah dimulai dari data ke-2 kemudian disisipkan pada tempat yang sesuai. Data pada posisi pertama dianggap memang sudah benar pada tempatnya.
Ilustrasinya mirip seperti saat
menyisipkan kartu di permainan kartu. Dimulai dengan tangan kiri yang kosong
dan kartunya tertumpuk di meja. Selanjutnya kita ambil satu persatu kartu di
meja dan diletakkan di tangan kiri dengan posisi yang benar (terurut). Untuk
menemukan posisi yang benar, maka kita harus membandingkan satu persatu kartu
yang ada (di tangan kiri) secara berurutan.
Algoritma Insertion Sort
- Simpan nilai Ti kedalam variabel sementara, dengan i = 1.
- Bandingkan nilainya dengan elemen sebelumnya.
- Jika elemen sebelumnya (Ti-1) lebih besar nilainya daripada Ti, maka tindih nilai Ti dengan nilai Ti-1 tersebut. Decrement i (kurangi nilainya dengan 1).
- Lakukan terus poin ke-tiga, sampai Ti-1 ≤ Ti.
- Jika Ti-1 ≤ Ti terpenuhi, tindih nilai di Ti dengan variabel sementara yang disimpan sebelumnya.
- Ulangi langkah dari poin 1 di atas dengan i di-increment (ditambah satu).
Contoh Flowchart
Mungkin
cukup sekian penjelasan singkat dari saya. Jangan bosen mampir disini ya J
Selamat
siang. Hamsamnida J
J


Tidak ada komentar:
Posting Komentar