ALGORITM A DAN
PEM ROGRAM AN 2
M ATERI
•
Teks/ string•
Pointer•
File•
Struktur•
Kelas/ Class•
Konstruktor dan Destruktor•
Kelas dan Obyek•
Overloading Operator•
Inheritance (Pewarisan)•
Polimorfisme•
Template Fungsi dan Kelas•
SortBUBBLE SORT
Pert emuan 14
Bubble Sort
(M etode Gelembung)
•
Disebut juga dengan metode
penukaran (exchange sort )
•
M etode pengurutan data dengan cara
membandingkan masing-masing
BUBBLE SORT
•
Suat u met ode pengurut an yang membandingkan
elemen yang sekarang dengan elemen berikut nya.
•
Apabila elemen yang sekarang
>
elemen berikut nya,
maka posisinya dit ukar, kalau t idak, t idak perlu
dit ukar.
•
Cont oh : Urut kan dat a
22 7 66 24 5 63 23 7 3
– Kit a definisikan dat a sebanyak 9 buah di dalam Array. Dan dat a
t ersebut sebelum dibandingkan sat u dengan yang lain dit ampilkan apa adanya t erlebih dahulu dengan proses :
int numlist[9] = {22, 7, 66, 24, 5, 63, 23, 7, 3}; int swap;
BUBBLE SORT
–
Kemudian dat a t ersebut mulai dibandingkan dari dat a pert ama sampai dat a t erakhir, sehingga dihasilkan dat a urut secara Ascending. Prosesnya sebagai berikut :if (numlist[ii] > numlist[ii+1]) {
swap = numlist[ii];
numlist[ii] = numlist[ii+1]; numlist[ii+1] = swap;
}
–
Dan dat a yang t elah urut dit ampilkan sengan proses sebagai berikut :for(int iii=0; iii<9; iii++)
Bubble Sort
(M etode Gelembung)
•
Proses pengurutan dengan met ode
gelembung menggunakan dengan dua
kalang :
1. Kalang pert ama: melakukan pengulangan dari 2 sampai dengan N-1 (misalkan dengan variabel i), sedangkan Kalang kedua: dari N sampai dengan i (misalkan dengan variabel j)
2. Pada masing-masing pengulangan, dat a ke(j-1) dibandingkan dengan dat a ke j
Bubble Sort
(M etode Gelembung)
•
Algorit manya sebagai berikut :
1. i
22. Selama (i <= N-1) kerjakan baris 3 s.d. 7
3. j
N4. Selama (j >= i) kerjakan baris 5 s.d. 7
5. Jika (dat a[j-1] > dat a[j]) maka t ukar dat a[j-1] dengan dat a[j]
Pengurutan Bubble Sort
Itera si
Pengurutan Bubble Sort
Itera si
Pengurutan Bubble Sort
Itera si
Pengurutan Bubble Sort
Itera si
Pengurutan Bubble Sort
Itera si
Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=6 2 3 5 12 65 19 44 26 22 j=9 2 3 5 12 65 19 44 22 26 j=8 2 3 5 12 65 19 22 44 26 j=7 2 3 5 12 65 19 22 44 26 j=6 2 3 5 12 19 65 22 44 26
Itera si
Pengurutan Bubble Sort
Itera si
Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=8 2 3 5 12 19 22 65 26 44 j=9 2 3 5 12 19 22 65 26 44 j=8 2 3 5 12 19 22 26 65 44
Tugas :
•
Berdasarkan soal Anda masing,
masing buat Program, Pseudocode,
Algorit ma dengan menggunakan
class dan konst rukt or
Buat M anual Bubble Sort secara Acending &
Descending
Pengurutan Bubble Sort - Descending
Itera si
Pengurutan Bubble Sort - Descending
Itera si
Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=3 29 11 10 5 3 7 28 7 8
Pengurutan Bubble Sort
Itera si
Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=4 29 28 11 10 5 3 7 8 7
Pengurutan Bubble Sort
Itera si
Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=5 29 28 11 10 8 5 3 7 7
Pengurutan Bubble Sort
Itera si
Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=6 29 28 11 10 8 7 5 3 7
j=9 29 28 11 10 8 7 5 7 3 j=8 29 28 11 10 8 7 7 5 3 j=7 29 28 11 10 8 7 7 5 3 j=6 29 28 11 10 8 7 7 5 3
Itera si
Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=7 29 28 11 10 8 7 7 5 3
Pengurutan Bubble Sort - descending
Itera si
Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=8 29 28 11 10 8 7 7 5 3
j=9 29 28 11 10 8 7 7 5 3 j=8 29 28 11 10 8 7 7 5 3