Program java mengurutkan Array

/**
 * 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;
                }
            }
        }
    }

0 comments: