Thursday, October 24, 2019

Bubble Sort

Algoritma Bubble Sort 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). Secara sederhana, bisa didefenisikan algoritma Bubble Sort adalah pengurutan dengan cara pertukaran data dengan data disebelahnya secara terus menerus sampai dalam satu iterasi tertentu tidak ada lagi perubahan. Berikut cara kerja teknik pengurutan bubble sort.

Cara Kerja Bubble Sort
Pada kasus diatas, kita memiliki sejumlah data acak yaitu 6,5,4,3,2,1 (bukan acak lagi malah menurun hehe). Nah kita ingin mengurutkan data acak diatas secara meningkat dari kecil ke besar (ascending). Bisa dilihat pada gambar, teknik bubble sort ini membandingkan satu persatu indeks/ angka hingga menemukan hasil pengurutan yang diinginkan. 

Soal diatas baru membandingkan 6 angka saja. Tentu saja waktu yang dibutuhkan untuk mengurutkannya tidak sampai satuan detik (bahkan nanodetik). Hari ini kita akan melihat bagaimana perbandingan waktu jika kita ingin mengurutkan lebih dari 90 angka acak. Angka acak akan ditentukan secara otomatis karena saya menggunakan penomoran otomatis dari Java.

Auto-generate number java
  • Pengurutan 100 angka random

Waktu yang dibutuhkan adalah 195.800 nanodetik

  • Pengurutan 1000 angka random

Waktu yang dibutuhkan adalah 4.745.700 nanodetik

  • Pengurutan 10.000 angka random
Waktu yang dibutuhkan adalah 249.898.600 nanodetik

Dapat disimpulkan bahwa semakin banyak angka yang akan diurutkan, maka akan semakin lama waktu untuk mengurutkan sejumlah bilangan acak tersebut. Waktu pengurutan juga bergantung pada panjangnya coding dan jumlah aplikasi yang berjalan didepan maupun dibelakang layar. Mungkin sekian saja untuk bubble sort ini, terimakasih^^.










Looping Rekursif, For, dan While

Halo guys! Kali ini saya akan membagikan tentang teknik perulangan pada JAVA. Ada banyak teknik perulangan pada JAVA, tapi pada blog kali i...