sort

Pengertian Buble sort
Metode buble sort merupakan metode sederhana untuk melakukan pengurutan data. Metode buble sort bagus gunakan dalam mengurutkan data dengan jumlah yg sedikit.
Metode buble juga merupakan metode sorting termudah. Diberi nama “Bubble” karena proses pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang tepat, seperti gelembung yang keluar dari sebuah gelas bersoda. Bubble Sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya.
Cara kerja Pengurutan Buble short
Pengurutan dengan menggunakan buble short dilakukan dengan membandingkan elemen pertama dengan elemen di sampingnya, jika elemen pertama lebih besar daripada elemen ke dua, maka posisinya di tukar lakukan hal tersebeut ber ulang-ulang sampai di temukan urutan yang tepat.
Pengurutan Ascending :Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar.
Pengurutan Descending: Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar.
Jadi algoritmanya seolah-olah menggeser satu per satu elemen dari kanan ke kiri atau kiri ke kanan, tergantung jenis pengurutannya, asc atau desc. Ketika satu proses telah selesai, maka bubble sort akan mengulangi proses, demikian seterusnya sampai dengan iterasi sebanyak n-1.
Kapan berhentinya? Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan
Contoh Pengurutan Buble Sorth
Terdapat contoh array yang belum di urutkan:
20 12 35 11
1 2 3 4 <----- indek yg menunjukan posisi elemen
Dimetode bubble sort, proses pengurutan dimulai dengan membandingkan elemen pertama untuk mendapatkan angka terbesar. Lalu angka tersebut ditempatkan pada elemen terakhir.
Sebagai langkah awal, isi elemen pertama dibandingkan dengan elemen ke-2. Jika isi elemen ke-2 lebih kecil dari elemen pertama, maka isi kedua elemen tersebut ditukar. Sehingga isi array berubah menjadi :
12 20 35 11
1 2 3 4 <----- indek yg menunjukan posisi elemen
data elemen 1 dan 2 setelah di tukar
Lalu elemen ke-2 dibandingkan dengan elemen ke-3. jika isi elemen ke-3 lebih besar, maka isi kedua elemen tersebut tidak ditukar.
12 20 35 11
1 2 3 4 <----- indek yg menunjukan posisi elemen
data elemen 2 dan 3 tidak ditukar karena elemen 2 lebih kecil dari pada elemen 3
Perbandingan selanjutnya dilakukan terhadap elemen ke-3 dengan ke-4. Karena elemen ke-4 lebih kecil, maka isi kedua elemen tersebut ditukar. Sehingga isi array sebelumnya berubah
Menjadi :
12 20 11 35
1 2 3 4 <----- indek yg menunjukan posisi elemen
elemen data 3 dan 4 setelah di tukar
Perbandingan selanjutnya dilakukan terhadap elemen ke-4 dengan ke-5. Karena elemen ke-5 lebih kecil, maka isi kedua elemen tersebut ditukar. Sehingga isi array sebelumnya berubah
Menjadi :
12 20 11 17 35 9 23 58
1 2 3 4 5 6 7 8 <----- indek yg menunjukan posisi elemen
elemmen data 4 dan 5 setelah di tukar
Perbandingan selanjutnya dilakukan terhadap elemen ke-5 dengan ke-6. Karena elemen ke-6 lebih kecil, maka isi kedua elemen tersebut ditukar. Sehingga isi array sebelumnya berubah
Menjadi :
12 20 11 17 9 35 23 58
1 2 3 4 5 6 7 8 <----- indek yg menunjukan posisi elemen
elemmen data 5 dan 6 setelah di tukar
Perbandingan selanjutnya dilakukan terhadap elemen ke-6 dengan ke-7. Karena elemen ke-7 lebih kecil, maka isi kedua elemen tersebut ditukar. Sehingga isi array sebelumnya berubah
Menjadi :
12 20 11 17 9 23 35 58
1 2 3 4 5 6 7 8 <----- indek yg menunjukan posisi elemen
elemmen data 6 dan 7 setelah di tukar
Perbandingan selanjutnya dilakukan terhadap elemen ke-7 dengan ke-8. Karena elemen ke-7 lebih kecil, maka isi kedua elemen tersebut tidak ditukar.Sehingga isi array sebelumnya berubah Menjadi :
12 20 11 17 9 23 35 58
1 2 3 4 5 6 7 8 <----- indek yg menunjukan posisi elemen
elemmen data 7 dan 8 tidak di tukar
proses perbadingan diulangi lagi sampai elemen terakhir yang dibandingkan yaitu elemen ke-2. Hasil akhirnya menjadi :
9 11 12 17 20 23 35 58
1 2 3 4 5 6 7 8 <----- indek yg menunjukan posisi elemen
data sudah terurut
Data belum terurut
20 12 35 11 17 9 23 58
1 2 3 4 5 6 7 8 <----- indek yg menunjukan posisi elemen
Data sudah terurut
9 11 12 17 20 23 35 58
1 2 3 4 5 6 7 8 <----- indek yg menunjukan posisi elemen




Contoh Program
Coding

#include <iostream.h>
#include<conio.h>


int main() {
clrscr();

// Mendeklarasikan array dengan 7 buah elemen
// yang bertipe int
int A[7];

// Mendeklarasikan variabel-variabel bantu yang diperlukan
int j, k, C, temp;

// Memasukkan nilai array
cout<<"Masukkan nilai pada elemen array :"<<endl;
for (C=0; C<7; C++) {
cout<<"A["<<C<<" ] = "; cin>>A[C];
}


// Melakukan pengurutan elemen array dengan metode gelembung
for (j=0; j<7; j++) {
for (k=7; k>0; k--) {
if (A[k] <= A[k-1]) {
temp = A[k];
A[k] = A[k-1];
A[k-1] = temp;
}
}
}

// Menampilkan nilai setelah diurutkan
cout<<"\nNilai elemen array setelah diurutkan :"<<endl;
for (C=0; C<7; C++) {
cout<<"A["<<C<<"] = "<<A[C]<<endl;
}

getch();
}



Tampilan






Pembuat Blog


Nama : Widiyanto
Alamat : Jl. BBK Tarogong No. 399/196B Bandung
TTL : 02 - 02 - 1991
KElas : 1 TI - 8
NRP : 6309111



Data Kampus


PKN LPKIA
Jl. Soekarno Hatta No. 456
Bandung 40266

Tugas Kuliah

Matakuliah : Teori Struktur Data
Dosen : Dadan Nurdin Bagenda, ST.


0 komentar to "sort"

Posting Komentar

Blog Archive

Kotak saran

Web hosting for webmasters