Senin, 09 November 2015

Contoh Program Sorting (Bubble Sort dan Selection Sort) Menggunakan Bahasa Java

Kali ini saya ingin membagikan ilmu tentang dasar dari pemrograman java, program sorting yang bakal sering digunakan untuk membuat sebuah project aplikasi tinggat lanjut, oke langsung aja source kodenya dibawah ini. 


  1. Bubble Sort
Bubble Sort merupakan source kode yang dibuat untuk mengurutkan nilai angka dari yang terkecil sampai terbesar. 



/**
 *
  */
public class arraybub {
 int [] a;
 int jumlahdata;

    public arraybub(int max)
    {
        a=new int[max];
        jumlahdata=0;
    }
   
    public void masukan(int value)
    {
        a[jumlahdata]=value;
        jumlahdata++;
    }
   
    public void tampil()
    {
        System.out.println("Data sebelum diurut");
        for (int j=0; j<jumlahdata; j++)
            System.out.print(a[j]+" ");
        System.out.println(" ");
    }
   
    public void tampilan()
    {
        System.out.println("Data sesudah diurut");
        for (int j=0; j<jumlahdata; j++)
            System.out.print(a[j]+" ");
        System.out.println(" ");
    }
   
    public void bubblesort()
    {
        int out,in;
        for(out=jumlahdata-1;out>0;out--)
            for(in=0;in<out;in++)
                if(a[in]>a[in+1])
                {int tukar=a[in];
                 a[in]=a[in+1];
                 a[in+1]=tukar;
                }
    }      
}

class bubblesort{
    public static void main(String args[]){
        int max=5;
        arraybub arr = new arraybub(max);
       
        arr.masukan(5);
        arr.masukan(4);
        arr.masukan(3);
        arr.masukan(1);
       
        arr.tampil();
        arr.bubblesort();
        arr.tampilan();
               
    }
}


    2.  Selection Sort
Selection Sort berfungsi untuk mencari nilai terbesar dan nilai terkecil. berikut source kodenya :

/**
 *
 * 
 */
public class arraysel {
    private long[] a;
    private int jumlahdata;
    
    public arraysel(int max)
    {
        a=new long[max];
        jumlahdata=0;
    }
    
    public void masukan(long value)
    {
        a[jumlahdata]=value;
        jumlahdata++;
    }
    
    public void tampil()
    {
        System.out.println("Data sebelum diurut");
        for (int j=0; j<jumlahdata; j++)
            System.out.print(a[j]+" ");
        System.out.println(" ");
    }
    
    public void tampil1()
    {
        System.out.println("Data sesudah diurut");
        for (int j=0; j<jumlahdata; j++)
            System.out.print(a[j]+" ");
    }
    public void selectionsort()
    {
        int out, in, min;
        for(out=0; out<jumlahdata; out++)
        {
            min=out;
            for (in=out+1; in<jumlahdata; in++)
                if(a[in]<a[min])
                    min=in;
            tukar(out,min);
        }
    }
    
    private void tukar(int satu, int dua)
    {
        long temp=a[satu];
        a[satu]=a[dua];
        a[dua]=temp;
    }
}

class selectionsort{
    public static void main (String args[]){
        int maksimal=6;
        arraysel arr;
        arr=new arraysel(maksimal);
        
        arr.masukan(5);
        arr.masukan(4);
        arr.masukan(3);
        arr.masukan(1);
        
        arr.tampil();
        arr.selectionsort();
        arr.tampil1();
    }
}

Saya mohon maaf apabila postingan ini kurang pas atau kurang lengkap. terima kasih

Tidak ada komentar: