Teknik pengurutan/sorting selain Selection Sort yaitu: Bubble Sort. Bubble Sort juga salah satu algoritma pengurutan yang mudah untuk dipelajari.
Cara bubble sort lebih mudah dari cara sorting yang lain.
Bubble sort adalah pengurutan/sorting dengan cara membandingkan data yang pertama dengan data selanjutnya hingga data tersebut habis . cara membuat Bubble sort:
· pertama jadikan data pertama sebagai indeks data
· bandingkan data ke indeks dengan data berikutnya
· jika data indeks lebih besar dari data yang dibandingkan tukar isinya
· setelah data indeks selesai dibandingkan simpan data indeks di urutan pertama
· ulangi langkah kedua dimana indeks adalah data kedua dan seterusnya hingga data habis
Pada contoh program Bubble Sort ini Menggunakan extends Java Applet
import java.awt.Graphics;
import java.applet.Applet;
public class BubbleSort_1 extends Applet {
int a[] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
@Override
public void paint( Graphics g )
{
print( g, "Data Masuk", a, 25, 25 );
sort();
print( g, "Data Keluar", a, 25, 55 );
}
public void sort()
{
int hold; // Area Swap
for ( int pass = 1; pass < a.length; pass++ )
for ( int i = 0; i < a.length - 1; i++ ) // perulangan
if ( a[ i ] > a[ i + 1 ] ) { // komparasi
hold = a[i]; // satu swap
a[ i ] = a[ i + 1 ];
a[ i + 1 ] = hold;
}
}
public void print( Graphics g, String head, int b[],
int x, int y )
{
g.drawString( head, x, y );
x += 15;
y += 15;
for ( int i = 0; i < b.length; i++ ) {
g.drawString( String.valueOf( b[ i ] ), x, y );
x += 20;
}
}
}
import java.applet.Applet;
public class BubbleSort_1 extends Applet {
int a[] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
@Override
public void paint( Graphics g )
{
print( g, "Data Masuk", a, 25, 25 );
sort();
print( g, "Data Keluar", a, 25, 55 );
}
public void sort()
{
int hold; // Area Swap
for ( int pass = 1; pass < a.length; pass++ )
for ( int i = 0; i < a.length - 1; i++ ) // perulangan
if ( a[ i ] > a[ i + 1 ] ) { // komparasi
hold = a[i]; // satu swap
a[ i ] = a[ i + 1 ];
a[ i + 1 ] = hold;
}
}
public void print( Graphics g, String head, int b[],
int x, int y )
{
g.drawString( head, x, y );
x += 15;
y += 15;
for ( int i = 0; i < b.length; i++ ) {
g.drawString( String.valueOf( b[ i ] ), x, y );
x += 20;
}
}
}
0 komentar:
Posting Komentar