Skip to content

Instantly share code, notes, and snippets.

@nyancodeid
Last active November 12, 2021 03:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nyancodeid/aa221c3f055e0f8b9b3551c98eb93aaf to your computer and use it in GitHub Desktop.
Save nyancodeid/aa221c3f055e0f8b9b3551c98eb93aaf to your computer and use it in GitHub Desktop.
Benchmark Test Sorting Algorithm
public class BubbleSortTest {
public static void main(String[] args) {
long waktuMulai = 0;
long waktuSelesai = 0;
int[] iniDataSebelumDiurut;
// Test untuk 1.000 data
waktuMulai = System.currentTimeMillis();
iniDataSebelumDiurut = tolongBuatinDataSegini(1000);
urutinDataIniDong(iniDataSebelumDiurut);
waktuSelesai = System.currentTimeMillis();
System.out.println("Sorting [1000 Data] butuh waktu " + (waktuSelesai - waktuMulai) + " milidetik guys");
// Test untuk 10.000 data
waktuMulai = System.currentTimeMillis();
iniDataSebelumDiurut = tolongBuatinDataSegini(10000);
urutinDataIniDong(iniDataSebelumDiurut);
waktuSelesai = System.currentTimeMillis();
System.out.println("Sorting [10000 Data] butuh waktu " + (waktuSelesai - waktuMulai) + " milidetik guys");
// Test untuk 1.000.000 data
waktuMulai = System.currentTimeMillis();
iniDataSebelumDiurut = tolongBuatinDataSegini(1000000);
urutinDataIniDong(iniDataSebelumDiurut);
waktuSelesai = System.currentTimeMillis();
System.out.println("Sorting [100000 Data] butuh waktu " + (waktuSelesai - waktuMulai) + " milidetik guys");
}
// Prosedur Membuat Array Deret
// Angka berdasarkan Jumlah yang ditentukan
//
// Contoh: tolongBuatinDataSegini(5) -> { 5, 4, 3, 2, 1 }
public static int[] tolongBuatinDataSegini (int iniJumlahDatanyaGuys) {
int[] items = new int[iniJumlahDatanyaGuys];
for (int i = 0; i < iniJumlahDatanyaGuys; i++) {
items[i] = iniJumlahDatanyaGuys - i;
}
return items;
}
// Algoritma Bubble Sort
// Untuk algoritma lain silahkan ubah bagian ini saja.
public static void urutinDataIniDong (int[] items) {
for (int i = 0; i < items.length; i++) {
for (int j = 1; j < (items.length-i); j++) {
if (items[j-1] > items[j]) {
int temp = items[j-1];
items[j-1] = items[j];
items[j] = temp;
}
}
}
}
}

Contoh Output Ketika Program Dijalankan

Sorting [1000 Data] butuh waktu 10 milidetik guys
Sorting [10000 Data] butuh waktu 57 milidetik guys
Sorting [100000 Data] butuh waktu 1542123 milidetik guys
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment