By : Sri Rezeki Candra Nursari
ALGORITM A DAN PEM ROGRAM AN 2
3 SKS By : Sri Rezeki Candra Nursari
M ATERI
- Teks/ string
Inheritance (Pewarisan)
- Pointer
- File
- Polimorfisme
- Struktur
- Template Fungsi dan Kelas
- Kelas/ Class
- Sort
- Konstruktor dan Destruktor
- Search
- Kelas dan Obyek
- Overloading Operator •
BUBBLE SORT
Pert emuan 14
3 SKS
Bubble Sort
(M etode Gelembung)
- Disebut juga dengan metode penukaran (exchange sort )
- M etode pengurutan data dengan cara membandingkan masing-masing
data, kemudian dilakukan penukaran
jika perlu
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; cout <<"DATA SEBELUM DIURUTKAN - BUBBLE SORT : \ n";
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++) cout<<setw ( 3 ) << numlist[iii]; cout<<endl<<endl;
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
3. Apabila dat a ke (j-1) > dat a ke j, kedua dat a ini dit ukar
Bubble Sort
(M etode Gelembung)
- Algorit manya sebagai berikut :
1. i
2
2. Selama (i <= N-1) kerjakan baris 3 s.d. 7 3. j N
4. 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] 6. j j - 1 7. i i + 1
Pengurutan Bubble Sort
Itera si Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] Awal3
3
2
65
12 j=4
5
22
19
26
44
26
2
65
12 j=5
5
22
19
3
26
44
44
19
65
12 j=2
5
22
19
26
44
3
65
2
5
22
22
19
26
44
3
2
65
12 j=3
5
2
12 j=6
65
44
2
65
12 j=9
3
5
22
19
26
2
26
65
12 i=2
3
5
22
19
26
44
2
44
19
5
5
22
3
19
26
44
2
65
12 j=7
3
22
22
19
26
44
2
65
12 j=8
3
5
12
Pengurutan Bubble Sort
Itera si Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=32
19
26
44
5
3
65
12 j=5
12 j=4
22
19
26
5
44
3
22
2
2
3
22
19
26
44
5
65
2
65
12 j=3
22
19
26
44
5
3
65
12 j=6
2
12 j=9
19
26
44
3
65
2
5
5
22
19
26
44
3
65
22
12 j=8
22
2
19
5
26
44
3
65
12 j=7
2
22
5
19
26
44
3
65
12
Pengurutan Bubble Sort
Itera si Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=465
19
22 j=6
2
3
65
5
12
44
26
19
22 j=5
2
3
5
12
12
44
26
19
22 j=4
2
3
5
65
12
44
26
19
26
44
2
26
3
65
5
44
26
19
22
12 j=9
2
3
65
5
44
19
5
12
22 j=8
2
3
65
5
44
26
12
19
22 j=7
2
3
65
22
Pengurutan Bubble Sort
Itera si Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=512
5
65
12
19
44
26
22 j=6
2
3
5
65
19
2
44
26
22 j=5
2
3
5
12
65
19
44
26
3
22 j=7
2
65
3
5
65
12
44
26
19
22 j=9
2
3
5
12
26
44
26
19
22 j=8
2
3
5
65
12
44
19
22
Pengurutan Bubble Sort
Itera si Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=62
22
65
19
12
5
3
26 Itera si Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=7
26 j=9
44
22
65
19
12
5
44
2
2
3
26
22
65
19
12
5
2
3
44 j=8
26
22
65
19
12
5
3
26 j=6
2
22 j=9
19
65
12
5
3
2
26
22
44
19
65
12
5
3
44
26 j=8
44
2
22
19
65
12
5
3
26 j=7
2
44
22
19
65
12
5
3
44 j=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=844 Akhir
5
12
19
22
26
65
2
2
3
5
12
19
22
26
44
3
44 j=8
2
26
3
5
12
19
22
65
44 j=9
26
2
3
5
12
19
22
65
65
Program – Bubble Sort
Algoritma.........?????
Pseudocode.......??????
Tugas :
- Berdasarkan soal Anda masing, masing buat Program, Pseudocode,
Algorit ma dengan menggunakan
class dan konst rukt or - Kumpulkan t anggal 15 Juni 2015
Buat M anual Bubble Sort secara Acending & Descending 1. 24, 13, 7, 5, 10, 5, 3, 7, 29 2. 5, 9, 12, 21, 10, 5, 3, 7, 29 3. 10, 22, 6, 22, 10, 5, 3, 7, 29 4. 1, 12, 12, 3, 7, 29, 7, 28, 8 5. 19, 19, 12, 3, 7, 29, 7, 28, 8 6. 9, 24, 2, 7, 3, 7, 29, 7, 28, 8 7. 5, 8, 10, 24, 13, 7, 5, 10, 5, 8. 6, 19, 4, 24, 13, 7, 5, 10, 5, 9. 24, 11, 5, 24, 13, 7, 5, 10, 5, 10. 11,10, 5, 3, 7, 29, 7, 28, 8
Pengurutan Bubble Sort - Descending
Itera si Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] Awal29
29
10
11
8 j=4
7
28
7
3
5
3
10
11
8 j=5
7
28
7
29
3
5
5
7
11
8 j=2
7
28
7
3
5
10
11
29
7
28
28
7
3
5
10
29
11
8 j=3
7
10
8 j=6
11
5
10
11
8 j=9
28
7
29
7
3
10
3
11
8 i=2
28
7
29
7
3
5
10
5
7
7
7
28
29
7
3
5
10
11
8 j=7
28
29
29
7
3
5
10
11
8 j=8
28
7
8
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=329
7
3
5
28
10
11
7 j=5
7 j=4
8
7
3
28
5
10
8
29
29
28
8
7
3
5
10
11
29
11
7 j=3
8
7
3
5
10
28
11
7 j=6
29
8 j=9
7
3
5
10
11
29
7
8
28
7
3
5
10
11
28
7 j=8
8
29
7
28
3
5
10
11
7 j=7
29
8
28
7
3
5
10
11
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=411
7
7 j=6
29
28
11
10
8
5
3
7
7 j=5
29
28
10
8
8
5
3
7
7 j=4
29
28
11
10
8
5
3
7
3
5
29
3
28
11
10
5
3
7
8
7 j=9
29
28
11
10
5
7
10
8
7 j=8
29
28
11
10
5
3
8
7
7 j=7
29
28
11
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=58
11
10
8
7
5
3
7 j=6
29
28
11
10
7
29
5
3
7 j=5
29
28
11
10
8
7
5
3
28
7 j=7
29
10
28
11
10
8
5
3
7
7 j=9
29
28
11
8
3
5
3
7
7 j=8
29
28
11
10
8
5
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=629
7
7
8
10
11
28
3 Itera si Data Data Data Data Data Data Data Data Data [1] [2] [3] [4] [5] [6] [7] [8] [9] i=7
3 j=9
5
7
7
8
10
11
5
29
29
28
5
7
7
8
10
11
29
28
3 j=8
5
7
7
8
10
11
28
3 j=6
29
7 j=9
7
8
10
11
28
29
3
7
5
7
8
10
11
28
5
3 j=8
5
29
7
7
8
10
11
28
3 j=7
29
5
7
7
8
10
11
28
3 j=7
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=83 Akhir
11
10
8
7
7
5
29
29
28
11
10
8
7
7
5
28
3 j=8
29
5
28
11
10
8
7
7
3 j=9
5
29
28
11
10
8
7
7
3