Monday, March 9, 2015

Program Coding Java Insertion Short


Assalamu'alaikum Wr.Wb

      Dalam Postingan kali ini saya akan membahas tentang cara untuk membuat program Insertionshort pada java. Insertion Sort adalah metode sorting yang mirip bubble sort, tapi disetiap iterasi juga mengurutkan nilai yang sebelumnya sudah ditukar.
Anda dapat melihat di bawah ini merupakan kode untuk membuat program tersebut.


import javax.swing.JOptionPane;
public class t16 {
    public static void main(String[] argb){
        //int nilai[]={2,3,12,8};
        int c,temp;
        int n=0,g=0,d=0;

        //proses penginputan
        while(g==0){
            try{
            n=Integer.parseInt(JOptionPane.showInputDialog("Masukan Jumlah Nilai yang Akan Diurutkan"));
            g=1;
            }catch(Exception e){
                JOptionPane.showMessageDialog(null, "Masukan Angka");
            }
        }

        int nilai[] = new int[n];
        while(d==0){
            try{
                for(int i=0;i<n;i++){
                    nilai[i]= Integer.parseInt(JOptionPane.showInputDialog("Masukan Nilai ke "+(i+1)));
                }
                d=1;
            }catch(Exception e){
                JOptionPane.showMessageDialog(null, "Masukan Angka, pleasee");
            }
        }

        //proses pengurutan
        for(int i=1;i<n;i++){
            c=i;

            //System.out.print("Sebelum Iterasi ke "+(i));
            //System.out.print("Sebelum = ");
            //for(int ii=0;ii<n;ii++){
            //    System.out.print(" "+nilai[ii]);
            //}
            //System.out.println("");

            while(c>0 && nilai[c-1]>nilai[c]){
                temp=nilai[c-1];
                nilai[c-1]=nilai[c];
                nilai[c]=temp;
                c--;
            }

            //System.out.print("Sesudah = ");
            //for(int ii=0;ii<n;ii++){
            //    System.out.print(" "+nilai[ii]);
            //}
            //System.out.println("");

        }

        //proses penampilan
        System.out.print("Hasil = ");
        for(int i=0;i<n;i++){
            System.out.print(" "+nilai[i]);
        }
        System.out.println("");
    }
}


Hasil Outputny :


















 


Dari coding diatas kita dapat mengambil kesimpulan bahwa for yang pertama digunakan untuk membandingkan nilai ke arah kanan dan for yang kedua untuk membandingkan nilai ke arah kiri  dan ditampilkan jumlah nilai yang akan diurutkan pada jumlah nilai yang dimasukkan.




No comments:

Post a Comment