Tugas 3
KONSEP SORTING
1. BUBBLE SORT
Fungsi algoritma ini adalah untuk mengurutkan data dari yang terkecil ke yang terbesar (ascending) atau sebaliknya (descending).
Source code:
output:
Kelebihan algorima Bubble Sort adalah mudah dipahami dan sistem kerjanya simpel. Kekurangannya jika jumlah datanya banyak, maka akan memakan waktu yang lebih lama dalam proses pengurutannya.
2. SELECTION SORT
Selection Sort adalah perbaikan dari algoritma bubble sort, dengan mengurangi jumlah perbandingan. Dikatakan selection sort karena algoritma ini mencoba memilih satu per satu elemen data dari posisi awal, untuk mencari data paling kecil dengan mencatat posisi index-nya saja, lalu dilakukan pertukaran hanya sekali pada akhir setiap tahapan.
Source code:
output:
Kelebihan Algoritma ini sangat rapat dan mudah untuk
diimplementasikan, Operasi pertukarannya hanya dilakukan sekali saja . Waktu
pengurutan dapat lebih ditekan .Mudah menggabungkannya kembali .Kompleksitas
selection relative lebih kecil.
Kekurangannya adalah sulit dalam membagi masalah
Fungsi Algoritma insertion sort
adalah untuk mengurutkan sebuah array data yang tidak terurut agar menjadi
sebuah array yang terurut. Algoritma insertion sort adalah algoritma pengurutan
yang menggunakan dua buah list untuk proses
pengurutannya. dua list tersebut yaitu yaitu sorted list dan unsorted list.
Source code:
output:
Kelebihan
1.Sederhana dalam penerapannya.
2.Mangkus dalam data yang kecil.
3.Jika list sudah terurut atau sebagian terurut maka Insertion Sort akan lebih cepat dibandingkan dengan Quicksort.
4.Mangkus dalam data yang sebagian sudah terurut.
5.Lebih mangkus dibanding Bubble Sort dan Selection Sort.
6.Loop dalam pada Inserion Sort sangat cepat, sehingga membuatnya salah satu algoritma pengurutan tercepat pada jumlah elemen yang sedikit.
7.Stabil.
Kekurangan
1.Banyaknya operasi yang diperlukan dalam mencari posisi yang tepat untuk elemen larik.
2.Untuk larik yang jumlahnya besar ini tidak praktis.
3.Jika list terurut terbalik sehingga setiap eksekusi dari perintah harus memindai dan mengganti seluruh bagian sebelum menyisipkan elemen berikutnya.
4.Membutuhkan waktu O(n2) pada data yang tidak terurut, sehingga tidak cocok dalam pengurutan elemen dalam jumlah besar.
Komentar
Posting Komentar