/**
* Program : Algoritma Bubble Sort pada array dua dimensi
* Date : 21 Juni 2022
* Author : Riyanto
* Website : www.melonkoding.com
*/
public class BubbleSort {
// data array dua dimensi terdiri dari nama dan nilai mahasiswa
static String[][] data = {
{"Adi", "80"},
{"Budi", "90"},
{"Cindy", "80"},
{"Dedi", "75"},
{"Evi", "85"}
};
public static void main(String[] args) {
displayData(data, "sebelum");
displayData(sort(data), "setelah");
}
// algoritma bubble sort pada array dua dimensi
static String[][] sort(String[][] data) {
for(int i=0; i<data.length-1; i++) {
for(int j=0; j<data.length-i-1; j++) {
if(data[j][1].compareTo(data[j+1][1]) < 0) {
// buat array baru untuk menampung data agar dapat dilakukan pertukaran data
String[][] temp = {{data[j][0], data[j][1]}};
data[j][0] = data[j+1][0];
data[j][1] = data[j+1][1];
data[j+1][0] = temp[0][0];
data[j+1][1] = temp[0][1];
}
}
}
return data;
}
// menampilkan data (array)
static void displayData(String[][] data, String status) {
System.out.println("\nData "+ status +" diurutkan: ");
System.out.println("-----------------------");
for(int i=0; i<data.length; i++) {
System.out.printf("%d. %s \t(%s)\n", (i+1), data[i][0], data[i][1]);
}
}
}