Tugas 3 Sorting Data Dengan Java
SORTING
Sorting dapat didefinisikan sebagai pengurutan sejumlah data berdasarkan nilai tertentu. Pada bahasa pemrograman khususnya pengolahan data sorting sering digunakan untuk mengolah beberapa data secara cepat dan tepat. Sorting dapat dibagi menjadi 2 yaitu secara ascending (pengurutan dari nilai terkecil ke nilai terbesar), dan descending (pengurutan dari nilai terbesar ke nilai terkecil). terdapat beberapa metode yang digunkakan untuk mengurutkan sebuah data diantaranya: bubble sort, selection sort, dan insertion sort. Untuk mengetahui lebih lanjut berikut ini adalah penjelasan mengenai jenis- jenis dan metode yang digunakan dalam sorting data.
Bubble Sort
Bubble Sort merupakan proses pengurutan yang dilakukan secara berangsur-angsur berpindah ke posisi yang tepat, karena itulah dinamakan Bubble yang artinya gelembung. algoritma Bubble Sort adalah pengurutan dengan cara pertukaran data dengan data di sebelahnya secara terus menerus hingga tidak ada lagi perubahan. Karena Bubble sort mampu mendeteksi kesalahan kecil dalam penyortiran, maka bubble sort digunakan dalam grafik komputer,dan polygon filling algorithm.
Source code:
Dokumentasi:
Kelebihan :
1.penulisan kode sangat mudah dipahami, terutama bagi pemula.
2.Bubble sort menghemat banyak memori.
3.Implementasinya sangat mudah.
Kekurangan:
1. Algoritma ini tidak cocok untuk kumpulan data besar karena perbandingannya membutuhkan banyak waktu.
2. Kompleksitas rata-rata O(n2)
3. Bukan merupakan sorting yang efisien karena menggunakan nested loop
4 Hanya efektif untuk data yang jumlahnya sedikit
Selection Sort
Selection Sort merupakan salah satu algoritma pengurutan yang pengunaannya sangat sederhana, dimana melakukan pencarian index dengan isi nilai terkecil setelah itu ditukar dengan isi index yang lebih besar dari index dengan nilai terkecil itu, selanjutnya index terkecil kedua akan disimpan pada variable temp (sementara) lalu ditukar dengan index kedua dan berulang terus sampai semua selesai terurut.algoritma selection sort juga disebut sebagai algoritma hasil penggabungan sorting dan searching.
Source code:
Dokumentasi:
Kelebihan :
1. kesederhanaan algoritmanya
2. performanya yang lebih bagus dari beberapa algoritma lain yang lebih rumit.
3.Operasi pertukarannya hanya dilakukan sekali saja.
Kekurangan:
1. kompleksitas waktunya O(n2).
2. kurang sesuai untuk data yang jumlahnya banyak
Insertion Sort
Insertion Sort merupakan salah satu jenis sort yang mirip dengan permainan pada pengurutan kartu remi di tangan. Algoritma Insertion Sort ini dua elemen data pertama, mengurutkannya, kemudian mengecek elemen data berikutnya satu persatu dan membandingkannya dengan elemen data yang telah diurutkan. Ide dasar dari algoritma ini adalah mencari tempat yang “tepat” untuk setiap elemen array.Insertion sort paling baik digunakan jika ukuran larik tidak terlalu besar atau hanya sejumlah kecil elemen yang perlu diurutkan di mana hampir semua elemen diurutkan dan hanya beberapa perubahan yang perlu dilakukan.
Source code:
Dokumentasi:
Kelebihan :
1. implementasinya cukup sederhana
2.Pengurutan akan lebih cepat apabila dalam data yang sebagian sudah terurut.
3. lebih efisien dibanding Bubble Sort dan Selection Sort.
4. Insertion Sort akan lebih cepat jika list sudah terurut atau sebagian terurut.
Kekurangan :
1. waktu O(n2) pada data yang tidak terurut
2. waktu yang dibutuhkan lebih lama apabila datanya terbalik.
3. tidak cocok dalam pengurutan elemen dalam jumlah besar.
Referensi:
https://www.educba.com/bubble-sort-in-java/
https://www.educba.com/selection-sort-in-java/?source=leftnav
https://www.educba.com/insertion-sort-in-java/?source=leftnav
https://github.com/AlproITS/DasarPemrograman/wiki/Modul-5:-Algoritma-Sorting-dan-Searching
https://emre.me/algorithms/sorting-algorithms/
Comments
Post a Comment