Jumat, 16 Maret 2012

Bubble sort algoritma

Metoda yang digunakan dalam algoritma pengurutan adalah bubble sort...Apa itu Bubble Sort...Jelaskan pula langkah-langkahnya....
bubble sort:metode pengurutan dgan cara melakukan penukaran data dengan tepat di sebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan.jika tidak ada perubahan berarti data sudah terurut.disebut pengurutan gelembung ini karena masing-masing kunci akan dengan lambat menggelembung keposisi yang tepat.
pengertian Metode bubble sort merupakan metode pengurutan yang mengambil proses
dengan menggunakan bubble atau exchange. Perbandingan data dilakukan dari posisi
pertama atau posisi terakhir bergeser satu persatu sampai semua data dibandingkan.
Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka
algoritma pengurutan dengan metode bubble sort adalah sebagai berikut:
1. Bandingkan posisi data i = 0 dan j = 1.
2. Jika data diposisi i lebih besar daripada data diposisi j, maka data diposisi i ditukar
dengan data diposisi j (swap). Jika tidak penukaran posisi tidak dilakukan.
3. Kemudian, lakukan perbandingan data diposisi i = 1 dan data diposisi j = 2.
Lakukan langkah 2, begitu juga untuk data berikutnya hingga i = N-2 dan j = N-1.
4. Ulangi langkah 1, 2 dan 3 untuk data diposisi 0 sampai dengan data diposisi N-2,
karena data di posisi N-1 adalah data dengan nilai terbesar. Untuk tahap
selanjutnya data yang dibandingkan akan semakin berkurang sebab data dengan
nilai yang lebih besar akan terposisi dibagian sebelah kanan data.
Tabel berikut menjelaskan langkah per langkah bagaimana metode bubble sort ini
bekerja. 
Tabel 1. Langkah demi langkah pengurutan dengan metode bubble sort. 
 44 55 12 42 94 18 06 67 Data Awal
44 12 42 55 18 06 67 94 Bandingkan data ke 1 dengan data ke 2, bila data
ke 1 lebih besar tukar, seterusnya sampai data
yang terbesar terletak di data ke 8
12 42 44 18 06 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 7
12 42 18 06 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 6
12 18 06 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data
ke 1 lebih besar tukar, seterusnya sampai data
yang terbesar terletak di data ke 5
12 06 18 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 4
06 12 18 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 3
06 12 18 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 2
06 12 18 42 44 55 67 94 Data setelah terurut
Berikut implementasi dari metode bubble sort dengan menggunakan bahasa C:
void bubblesort(int arr[]) {
int i,j;
for (i = N; --i>=0;) {
for (j = 0; j<i; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}

Tidak ada komentar:

Posting Komentar