Minggu, 15 Maret 2015

            Saudara-saudara ku sekalian marilah kita memulai hari ini dengan senyuman tanpa adaya lukisan kesedihan. Tidak terasa hari semakin lama semakin menua, perkembangan teknologi semakin hebat garis bawah WAH ! yang membahana. Untuk itu saya akan mencoba menjadi salah satu bagian diantaranya. Menjadi setetes embun yang terlihat bersinar dipagi hari kala terik mentari walaupun akan hilang ditelan waktu namun selalu bersahaja dan berguna bagi makhluk sekitarnya. Nah, kali ini saya akan membahas tentang Teknik penyortiran menggunakan Bubble Sort menggunakan java. Yang mana terdiri dari sortiran Ascending(A-Z) dan Descending(Z-A),
 


“Ascending”
Source Code

import java.util.Scanner;
public class bubble_sort{
    public static void main(String[] args){       
        System.out.println("\t\t*Mengurutkan Angka Menggunakan Teknik Bubble Sort*");
        Scanner masukkan = new Scanner(System.in);
        int[] angka = new int[5];
        for(int a=0;a<=4;a++){
            System.out.print("SIlahkan masukkan angka ke-"+(a+1)+" : ");
            angka[a] = masukkan.nextInt();   }
        for (int x=0;x<=3;x++) {
            for (int y=x+1;y<=4;y++) {
                if(angka[x]>angka[y]){
                    int  aryani= angka[x];
                    angka[x] = angka[y];
                    angka[y] = aryani;
                }    }     }
        for (int b=0;b<angka.length;b++ ) {
            System.out.println("Angka ke-"+(b+1)+" : "+angka[b]);       }}}

Print Screen Source Code


Output


Penjelasan Souce Code

import java.util.Scanner;  // untuk menginput data  Scanner
public class bubble_sort{  //nama kelas
    public static void main(String[] args){        //main method
        System.out.println("\t\t*Mengurutkan Angka Menggunakan Teknik Bubble Sort*");
//menampilkan judul program
        Scanner masukkan = new Scanner(System.in);  /*untuk memasukkan input objek Scanner*/
        int[] angka = new int[5]; /*mendeklarasikan variabel array dengan menggunakan tipe data integer yang dapat menyimpan 5 nilai integer*/
        for(int a=0;a<=4;a++){ //looping 1 hingga 5
            System.out.print("SIlahkan masukkan angka ke-"+(a+1)+" : ");  /* menampilkan kalimat Silahkan masukkan angka ke-n  dengan melakukan nilai perulangan  yang ditambah 1  dan dengan diikuti tanda ( : )*/
            angka[a] = masukkan.nextInt();  //meminta nilai integer kepada user
        }
        for (int x=0;x<=3;x++) {  //looping yang mengalami kenaikan
            for (int y=x+1;y<=4;y++) {  /*x+1 artinya data akan dibandingkan dengan indeks yang dimulai dari indeks+1 sampai maksimal indeks tersebut*/
                if(angka[x]>angka[y]){ /*sebuah kondisi dimana bila user menginputkan nilai maka akan dikelola dengan x lebih dari y*/
                    int  aryani= angka[x]; 
                    angka[x] = angka[y];
                    angka[y] = aryani;
/*data akan ditukar posisi indeksnya jika seleksinya bernilai benar dengan variabel aryani yang menjadi perantara pertukaran dan x akan diisi oleh y serta x akan memerlukan tempat nilai sebelumnya agar nilai itu dapat disimpan pada y*/
                }
            }
        }
        for (int b=0;b<angka.length;b++ ) { /*melakukan perulangan  sama dengan pendeklasian diatasnya yaitu  dari 1 hingga 5*/
            System.out.println("Angka ke-"+(b+1)+" : "+angka[b]);  /*untuk menampilkan Angka ke- dengan perulangan b yang setiap nilai ditambah 1 dan tanda ( : ) dengan hasil pengsortiran*/
       }
    }
}

Algoritma Bubble Sort

1.    Perulangan luar dimulai dari indeks 0 diakhiri dengan indeks  4.
2.    Perulangan luar dimulai dari indeks  x+1 artinya data akan dibandingkan dengan indeks yang dimulai dari indeks +1 sampai maksimal indeks.
3.    Data akan ditukar posisi indeksnya jika posisi tersebut bernilai benar.
4.    Yang algoritma penukaran data dari indeks yang dibandingkan, variabel aryani berfungsi untuk menjadi perantara pertukaran, dimana saat indeks x kan di isi oleh nilai indeks y maka indeks  x memerlukan penyimpanan sementara untuk nilai sebelumnya agar nilai tersebut dapat disimpan di indeks y.

Contoh Kasus

Misalkan data : 6, 4, 3, 2 dan kita ingin mengurutkan data ini (ascending) dengan menggunakan bubble sort. Maka proses yang terjadi :
Iterasi ke-1: 4, 6, 3, 2 à 4, 3, 6, 2 à 4, 3, 2, 6 (ada 3 pertukaran)
Iterasi ke-2: 3, 4, 2, 6 à 3, 2, 4, 6 à 3, 2, 4, 6 (ada 2 pertukaran)
Iterasi ke-3: 2, 3, 4, 6 à 2, 3, 4, 6 à 2, 3, 4, 6 (ada 1 pertukaran)
Iterasi ke-4: 2, 3, 4, 6 à 2, 3, 4, 6 à 2, 3, 4, 6 (ada 0 pertukaran) à proses selesai




Descending

Sama halnya dengan ascending, hanya saja descending memiliki kondisi data ke-i <data ke-i+1.

 Kedua cara diatas dapat dirangkai lagi menjadi sortiran yang lebih hebat jika anda memahaminya, jadi "SELAMAT BELAJAR".
kalau merasa kurang mengerti dan kurang paham. Silahkan bertanya pada kolom komentar dibawah.

👇👇👇
"Jika ingin menjadikannya sebagai referensi adakalanya mencatumkan sumber".


SEMANGAT 45 😃😃

Tidak ada komentar:

Posting Komentar