2d Array Bubble Sort Java

4 min read Jun 22, 2024
2d Array Bubble Sort Java

Bubble Sort 2D Array dalam Java

Bubble Sort adalah algoritma pengurutan sederhana yang bekerja dengan membandingkan elemen-elemen berdekatan dan menukar posisi mereka jika tidak dalam urutan yang diinginkan. Algoritma ini dapat diterapkan pada array satu dimensi dan juga array dua dimensi. Pada artikel ini, kita akan membahas implementasi Bubble Sort untuk mengurutkan array dua dimensi dalam Java.

Cara Kerja Bubble Sort untuk Array 2D

Dalam Bubble Sort 2D, array diurutkan berdasarkan kolom atau baris tertentu. Prosesnya melibatkan perulangan melalui array dan membandingkan elemen-elemen pada kolom atau baris yang dipilih. Jika elemen-elemen tidak dalam urutan yang diinginkan, mereka ditukar. Perulangan ini berlanjut sampai semua elemen berada dalam urutan yang benar.

Implementasi Java

Berikut contoh implementasi Bubble Sort untuk mengurutkan array 2D berdasarkan kolom pertama:

public class BubbleSort2D {

    public static void main(String[] args) {
        int[][] arr = {
                {5, 2, 9},
                {1, 7, 3},
                {8, 4, 6}
        };

        // Mencetak array asli
        System.out.println("Array Asli:");
        printArray(arr);

        // Mengurutkan array berdasarkan kolom pertama
        bubbleSort(arr, 0);

        // Mencetak array terurut
        System.out.println("\nArray Terurut:");
        printArray(arr);
    }

    // Fungsi untuk mengurutkan array 2D berdasarkan kolom tertentu
    public static void bubbleSort(int[][] arr, int col) {
        int n = arr.length;
        for (int i = 0; i < n - 1; i++) {
            for (int j = 0; j < n - i - 1; j++) {
                if (arr[j][col] > arr[j + 1][col]) {
                    // Menukar baris jika elemen pada kolom yang ditentukan tidak dalam urutan
                    for (int k = 0; k < arr[0].length; k++) {
                        int temp = arr[j][k];
                        arr[j][k] = arr[j + 1][k];
                        arr[j + 1][k] = temp;
                    }
                }
            }
        }
    }

    // Fungsi untuk mencetak array 2D
    public static void printArray(int[][] arr) {
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[0].length; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}

Kode di atas akan menghasilkan output sebagai berikut:

Array Asli:
5 2 9 
1 7 3 
8 4 6 

Array Terurut:
1 7 3 
5 2 9 
8 4 6 

Keuntungan dan Kerugian Bubble Sort

Keuntungan:

  • Algoritma yang sederhana dan mudah dipahami.
  • Cocok untuk array kecil.

Kerugian:

  • Kompleksitas waktu O(n^2), yang membuatnya tidak efisien untuk array besar.
  • Tidak stabil, artinya urutan relatif elemen yang sama mungkin berubah setelah pengurutan.

Kesimpulan

Bubble Sort dapat digunakan untuk mengurutkan array 2D dalam Java, tetapi untuk array besar, algoritma pengurutan yang lebih efisien seperti Merge Sort atau Quick Sort lebih direkomendasikan.

Related Post