Sorting merupakan konsep atau algoritma yang sering digunakan jika berhubungan dengan data yang berukuran besar sehingga data akan mudah dikelola jika sudah terurut.
Algoritma buble sort akan membandingkan elemen yang saat ini dibaca dengan elemen yang berikutnya. Jika elemen yang saat ini dibaca lebih besar dari elemen berikutnya, maka tukarkan.
Model algoritma ini dapat dibagi menjadi 2, yaitu model ascending dan descending.
HASIL OUTPUT:
Algoritma buble sort akan membandingkan elemen yang saat ini dibaca dengan elemen yang berikutnya. Jika elemen yang saat ini dibaca lebih besar dari elemen berikutnya, maka tukarkan.
Model algoritma ini dapat dibagi menjadi 2, yaitu model ascending dan descending.
Contoh algoritma bubble sort dengan model ascending
public class BubbleSort
{
public static void tampilkanData (String nama[], int indeksTerakhir)
{
for (int i = 0; i <= indeksTerakhir; i++)
System.out.println(nama[i]);
}
public static void urutkanBubble (String nama[], int indeksTerakhir)
{
String sementara = "";
for (int j = 0; j <= indeksTerakhir - 1; j++)
{
for (int i = 0; i <= indeksTerakhir - 1 - j; i++)
{
if (nama[i].compareTo(nama[i+1]) > 0)
{
sementara = nama[i];
System.out.println("i = "+i);
System.out.println("Sementara = "+sementara);
nama[i] = nama[i+1];
System.out.println("Nama[i] = "+nama[i]);
nama[i+1] = sementara;
System.out.println("nama[i+1] = "+nama[i+1]);
System.out.println("");
}
}
}
}
public static void main (String args [])
{
String nama[] = {"gina", "cici", "beni", "heru", "dedi", "eko", "feri", "janu", "abud", "iwan"};
int indeksTerakhir = nama.length - 1;
System.out.println("nama.length "+nama.length);
System.out.println("Data sebelum diurutkan :");
tampilkanData(nama, indeksTerakhir);
urutkanBubble(nama, indeksTerakhir);
System.out.println("");
System.out.println("Data setelah diurutkan:");
tampilkanData(nama, indeksTerakhir);
}
}
HASIL OUTPUT:
Contoh algoritma bubble sort dengan model descending
public class BubbleSort
{
public static void tampilkanData (String nama[], int indeksTerakhir)
{
for (int i = 0; i <= indeksTerakhir; i++)
System.out.println(nama[i]);
}
public static void urutkanBubble (String nama[], int indeksTerakhir)
{
String sementara = "";
for (int j = 0; j <= indeksTerakhir - 1; j++)
{
for (int i = 0; i <= indeksTerakhir - 1 - j; i++)
{
if (nama[i].compareTo(nama[i+1]) < 0)
{
sementara = nama[i];
System.out.println("i = "+i);
System.out.println("Sementara = "+sementara);
nama[i] = nama[i+1];
System.out.println("Nama[i] = "+nama[i]);
nama[i+1] = sementara;
System.out.println("nama[i+1] = "+nama[i+1]);
System.out.println("");
}
}
}
}
public static void main (String args [])
{
String nama[] = {"gina", "cici", "beni", "heru", "dedi", "eko", "feri", "janu", "abud", "iwan"};
int indeksTerakhir = nama.length - 1;
System.out.println("nama.length "+nama.length);
System.out.println("Data sebelum diurutkan :");
tampilkanData(nama, indeksTerakhir);
urutkanBubble(nama, indeksTerakhir);
System.out.println("");
System.out.println("Data setelah diurutkan:");
tampilkanData(nama, indeksTerakhir);
}
}
HASIL OUTPUT: