/**
* Title : Mengurutkan array
* Description : Mengurutkan array secara naik (terkecil sampai terbesar)
*/
public class SortingArray
{
/** Main method */
public static void main(String[] args)
{
int[] deretanBilangan = new int [10];
System.out.println("\nPROGRAM MENGURUTKAN ELEMEN ARRAY");
System.out.println("--------------------------------\n");
// Membuat deretan bilangan random
System.out.print("Deretan bilangan random sebelum diurutkan : ");
for (int i=0; i<deretanBilangan.length; i++) {
deretanBilangan[i] = (int)(Math.random()*100);
System.out.print(deretanBilangan[i]+" ");
}
System.out.println();
// Mengurutkan elemen array
sorting(deretanBilangan);
// Mencetak hasil pengurutan
System.out.println();
System.out.print("Deretan bilangan setelah diurutkan : ");
cetakDeretan(deretanBilangan);
}
/** Method mencetak bilangan ke monitor console */
static void cetakDeretan(int[] deretan)
{
for (int i=0; i<deretan.length; i++)
System.out.print(deretan[i] + " ");
System.out.println();
}
/** Method untuk mengurutkan array */
static void sorting(int[] deretan)
{
int nilaiMax;
int indeksNilaiMax;
for (int i=deretan.length-1; i>=1; i--)
{
// Mencari nilai maksimum dalam deretan [0..i]
nilaiMax = deretan[i];
indeksNilaiMax = i;
for (int j=i-1; j>=0; j--)
{
if (nilaiMax < deretan[j])
{
nilaiMax = deretan[j];
indeksNilaiMax = j;
}
}
/** Menukar posisi elemen deretan[i] dengan elemen deretan[indeksNilaiMax] jika diperlukan */
if (indeksNilaiMax !=i)
{
deretan[indeksNilaiMax] = deretan[i];
deretan[i] = nilaiMax;
}
}
}
}
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment