Menguasai Bubble Sort di Java: Contoh Jelas & Walkthrough Langkah demi Langkah
Apa Itu Bubble Sort?
Bubble sort adalah algoritma klasik berbasis perbandingan yang secara berulang melalui daftar, membandingkan item yang berdekatan, dan menukarnya jika mereka dalam urutan yang salah. Setiap lusinan memindahkan nilai terbesar berikutnya ke posisi akhirnya—dari sini nama “bubble.” Sederhana, namun memberikan dasar yang kuat untuk memahami mekanisme pengurutan.
Implementasi Java
Program berikut menunjukkan bubble sort pada array integer. Ini mencetak informasi debug terperinci sehingga Anda dapat melihat algoritma dalam tindakan.
package com.guru99; public class BubbleSort { public static void main(String[] args) { int[] arr = {860, 8, 200, 9}; System.out.println("---Array BEFORE Bubble Sort---"); printArray(arr); bubbleSort(arr); // Sort using bubble sort System.out.println("---Array AFTER Bubble Sort---"); printArray(arr); } static void bubbleSort(int[] array) { int n = array.length; for (int i = 0; i < n; i++) { System.out.println("Sort Pass Number " + (i + 1)); for (int j = 1; j < (n - i); j++) { System.out.println("Comparing " + array[j - 1] + " and " + array[j]); if (array[j - 1] > array[j]) { // Swap elements int temp = array[j - 1]; array[j - 1] = array[j]; array[j] = temp; System.out.println(array[j] + " is greater than " + array[j - 1]); System.out.println("Swapping Elements: New Array After Swap"); printArray(array); } } } } static void printArray(int[] array) { for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } System.out.println(); } } Program Output
860 8 200 9 Sort Pass Number 1 Comparing 860 and 8 860 is greater than 8 Swapping Elements: New Array After Swap 8 860 200 9 Comparing 860 and 200 860 is greater than 200 Swapping Elements: New Array After Swap 8 200 860 9 Comparing 860 and 9 860 is greater than 9 Swapping Elements: New Array After Swap 8 200 9 860 Sort Pass Number 2 Comparing 8 and 200 Comparing 200 and 9 200 is greater than 9 Swapping Elements: New Array After Swap 8 9 200 860 Sort Pass Number 3 Comparing 8 and 9 Sort Pass Number 4 ---Array AFTER Bubble Sort--- 8 9 200 860