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 perubahanKarena 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

Popular Posts