Tugas 3, Konsep Sorting

 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


3. INSERTION SORT

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

Postingan populer dari blog ini

Final Project - Eas