Rabu, 23 Oktober 2019

Algortima Bubble Sort dan Cara kerja Sorting Bubble Sort

Pengurutan merupakan proses dasar dalam algoritma dan struktur data. Ada banyak sekali tehnik sorting (Pengurutan) dalam algoritma. Salah satunya, Algoritma yang sangat mendasar dan sederhana adalah Algoritma Bubble Sort. Algoritma Bubble Sort ini merupakan proses pengurutan yang secara berangsur-angsur berpindah ke posisi yang tepat karena itulah dinamakan Bubble yang artinya gelembung. Algoritma ini akan mengurutkan data dari yang terbesar ke yang terkecil (ascending) atau sebaliknya (descending).

Tahapan-tahapan dalam bubble sort dalam melakukan proses sorting dengan membandingkan seluruh data dan melakukan proses pertukuran seperti gambar di bawah ini


Gambar di atas menunjukkan proses ketika algoritma bubble sort diimplementasikan.

Jika kita melihat Proses ke-3 sampai ke-5  data seharusnya tidak perlu di banding ulang, karena dengan proses seperti itu akan memakan waktu proses ketika di jalankan. Bayangkan jika data di atas jumlahnya ada ribuan bahkan jutaan. Maka berapa lama waktu yang akan dibutuhkan?

Tetapi tidak sampai disitu saja Algoritma Bubble sort ini masih bisa kita sederhanakan lagi agar data yang harusnya sudah terurut tidak perlu melakukan proses banding lagi. Dengan menggunakan variable boolean (true/false). Dengan menggunakan variable boolean (true/false) disini kita bisa mengefisienkan perulangan pada algoritma Bubble sort.  Dengan cara seperti ini :


Maka, Hasil dari codingan diatas seperti ini


Dari proses di atas kita bisa melihat bahwa proses yang di jalankan dapat lebih efisien dari segi waktu karena di atas proses ke-4 dan ke-5 sudah menghilang. Walaupun proses ke-3 tidak ada melakukan swapping data (pertukaran data) yang seharusnya proses hanya sampai ke-2 tetapi proses ke-3 diperlukan untuk pengecekan terakhir memastikan bahwa seluruh data tidak ada swapping (pertukaran) lagi. 

Jadi, penyederhanaan diatas dilakukan pengecekan perblock. Jika dalam satu block tidak melakukan swapping lagi artinya proses berikutnya dihentikan.

Itulah secara singkat penjelasan mengenai Proses algoritma bubble sort. Sekarang kita akan mencoba Sorting bubble sort jika memakai data dalam jumlah yang banyak yaitu 100 dan 1000 dengan menggunakan Auto Gen Random data bawaan JAVA(Penomoran Otomatis), disini kita akan membandingkan seberapa lama proses dijalankan ketika menggunakan tehnik bubble sort dengan satuan waktu nanosecond.

Percobaan Pertama Menggunakan 100 data :




Hasil


Waktu yang dibutuhkan untuk proses sorting di atas adalah 332.100 nanoSecond

Percobaan Kedua Menggunakan 1000 Data


Hasil



Jika kita liat hasil di atas waktu yang di jalankan selama 17.011.201 nanoSecond.

Dapat kita simpulkan bahwa dari perbandingan di atas bahwa semakin banyak jumlah data yang di masukkan maka waktu yang dibutuhkan juga akan semakin lama, lebih tepatnya tergantung pada spesifikasi dari komputer anda. Semakin baik spesifikasi komputer anda maka proses sorting yang dijalankan akan lebih cepat.

Itulah beberapa penjelasan mengenai proses Algoritma Bubble Sort dan beberapa perbandingan jumlah data, semoga dapat bermanfaat

Terima kasih.



Tidak ada komentar:

Posting Komentar

Macam-macam Jenis Format Gambar beserta Penjelasannya

1. BMP ( Bitmap Image) Bitmap adalah representasi dari citra grafis yang terdiri dari susunan titik (pixel) yang tersimpan di memor...