Upload
doantu
View
241
Download
1
Embed Size (px)
Citation preview
MATERI
• Teks/string• Pointer• File• Struktur• Kelas/Class• Konstruktor dan
Destruktor• Kelas dan Obyek
• Overloading Operator• Inheritance (Pewarisan)• Polimorfisme • Template Fungsi dan
Kelas• Sort• Search
Bubble Sort (Metode Gelembung)
• Disebut juga dengan metode penukaran (exchange sort)
• Metode pengurutan data dengan cara membandingkan masing-masing data, kemudian dilakukan penukaran jika perlu
BUBBLE SORT• Suatu metode pengurutan yang membandingkan
elemen yang sekarang dengan elemen berikutnya. • Apabila elemen yang sekarang > elemen berikutnya,
maka posisinya ditukar, kalau tidak, tidak perlu ditukar.
• Contoh : Urutkan data22 7 66 24 5 63 23 7 3– Kita definisikan data sebanyak 9 buah di dalam Array. Dan data
tersebut sebelum dibandingkan satu dengan yang lain ditampilkan apa adanya terlebih dahulu dengan proses :
int numlist[9] = {22, 7, 66, 24, 5, 63, 23, 7, 3};int swap;cout <<"DATA SEBELUM DIURUTKAN - BUBBLE SORT : \n";for(int ctr=0; ctr<9; ctr++)
BUBBLE SORT– Kemudian data tersebut mulai dibandingkan dari data
pertama sampai data terakhir, sehingga dihasilkan data 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 data yang telah urut ditampilkan sengan proses sebagai berikut :
for(int iii=0; iii<9; iii++)cout<<setw ( 3 ) << numlist[iii];cout<<endl<<endl;
Bubble Sort (Metode Gelembung)
• Proses pengurutan dengan metode gelembung menggunakan dengan dua kalang :
1. Kalang pertama: 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, data ke(j-1) dibandingkan dengan data ke j
3. Apabila data ke (j-1) > data ke j, kedua data ini ditukar
Bubble Sort(Metode Gelembung)
• Algoritmanya sebagai berikut :1. i 22. Selama (i <= N-1) kerjakan baris 3 s.d. 73. j N4. Selama (j >= i) kerjakan baris 5 s.d. 75. Jika (data[j-1] > data[j]) maka tukar data[j-1] dengan
data[j] 6. j j - 17. i i + 1
Pengurutan Bubble SortItera
siData Data Data Data Data Data Data Data Data[1] [2] [3] [4] [5] [6] [7] [8] [9]
Awal 65 2 44 26 19 22 5 3 12i=2 65 2 44 26 19 22 5 3 12
j=9 65 2 44 26 19 22 5 3 12j=8 65 2 44 26 19 22 3 5 12j=7 65 2 44 26 19 3 22 5 12j=6 65 2 44 26 3 19 22 5 12j=5 65 2 44 3 26 19 22 5 12j=4 65 2 3 44 26 19 22 5 12j=3 65 2 3 44 26 19 22 5 12j=2 2 65 3 44 26 19 22 5 12
Pengurutan Bubble Sort
Iterasi
Data Data Data Data Data Data Data Data Data[1] [2] [3] [4] [5] [6] [7] [8] [9]
i=3 2 65 3 44 26 19 22 5 12j=9 2 65 3 44 26 19 22 5 12j=8 2 65 3 44 26 19 5 22 12j=7 2 65 3 44 26 5 19 22 12j=6 2 65 3 44 5 26 19 22 12j=5 2 65 3 5 44 26 19 22 12j=4 2 65 3 5 44 26 19 22 12j=3 2 3 65 5 44 26 19 22 12
Pengurutan Bubble SortItera
siData Data Data Data Data Data Data Data Data[1] [2] [3] [4] [5] [6] [7] [8] [9]
i=4 2 3 65 5 44 26 19 22 12j=9 2 3 65 5 44 26 19 12 22j=8 2 3 65 5 44 26 12 19 22j=7 2 3 65 5 44 12 26 19 22j=6 2 3 65 5 12 44 26 19 22j=5 2 3 65 5 12 44 26 19 22j=4 2 3 5 65 12 44 26 19 22
Pengurutan Bubble Sort
Iterasi
Data Data Data Data Data Data Data Data Data[1] [2] [3] [4] [5] [6] [7] [8] [9]
i=5 2 3 5 65 12 44 26 19 22j=9 2 3 5 65 12 44 26 19 22j=8 2 3 5 65 12 44 19 26 22j=7 2 3 5 65 12 19 44 26 22j=6 2 3 5 65 12 19 44 26 22j=5 2 3 5 12 65 19 44 26 22
Pengurutan Bubble SortItera
siData 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 26j=8 2 3 5 12 65 19 22 44 26j=7 2 3 5 12 65 19 22 44 26j=6 2 3 5 12 19 65 22 44 26
Iterasi
Data Data Data Data Data Data Data Data Data[1] [2] [3] [4] [5] [6] [7] [8] [9]
i=7 2 3 5 12 19 65 22 44 26j=9 2 3 5 12 19 65 22 26 44j=8 2 3 5 12 19 65 22 26 44j=7 2 3 5 12 19 22 65 26 44
Pengurutan Bubble Sort
Iterasi
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 44j=9 2 3 5 12 19 22 65 26 44j=8 2 3 5 12 19 22 26 65 44
Akhir 2 3 5 12 19 22 26 44 65
Tugas :• Berdasarkan soal Anda masing,
masing buat Program, Pseudocode, Algoritma dengan menggunakan class dan konstruktor
• Kumpulkan tanggal 15 Juni 2015
Buat Manual Bubble Sort secara Acending & Descending
1. 24, 13, 7, 5, 10, 5, 3, 7, 292. 5, 9, 12, 21, 10, 5, 3, 7, 293. 10, 22, 6, 22, 10, 5, 3, 7, 294. 1, 12, 12, 3, 7, 29, 7, 28, 85. 19, 19, 12, 3, 7, 29, 7, 28, 86. 9, 24, 2, 7, 3, 7, 29, 7, 28, 87. 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 - DescendingItera
siData Data Data Data Data Data Data Data Data[1] [2] [3] [4] [5] [6] [7] [8] [9]
Awal 11 10 5 3 7 29 7 28 8i=2 11 10 5 3 7 29 7 28 8
j=9 11 10 5 3 7 29 7 28 8j=8 11 10 5 3 7 29 28 7 8j=7 11 10 5 3 7 29 28 7 8j=6 11 10 5 3 29 7 28 7 8j=5 11 10 5 29 3 7 28 7 8j=4 11 10 29 5 3 7 28 7 8j=3 11 29 10 5 3 7 28 7 8j=2 29 11 10 5 3 7 28 7 8
Pengurutan Bubble Sort - Descending
Iterasi
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 8j=9 29 11 10 5 3 7 28 8 7j=8 29 11 10 5 3 7 28 8 7j=7 29 11 10 5 3 28 7 8 7j=6 29 11 10 5 28 3 7 8 7j=5 29 11 10 28 5 3 7 8 7j=4 29 11 28 10 5 3 7 8 7j=3 29 28 11 10 5 3 7 8 7
Pengurutan Bubble SortItera
siData 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 7j=9 29 28 11 10 5 3 7 8 7j=8 29 28 11 10 5 3 8 7 7j=7 29 28 11 10 5 8 3 7 7j=6 29 28 11 10 8 5 3 7 7j=5 29 28 11 10 8 5 3 7 7j=4 29 28 11 10 8 5 3 7 7
Pengurutan Bubble Sort
Iterasi
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 7j=9 29 28 11 10 8 5 3 7 7j=8 29 28 11 10 8 5 7 3 7j=7 29 28 11 10 8 7 5 3 7j=6 29 28 11 10 8 7 5 3 7j=5 29 28 11 10 8 7 5 3 7
Pengurutan Bubble SortItera
siData 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 3j=8 29 28 11 10 8 7 7 5 3j=7 29 28 11 10 8 7 7 5 3j=6 29 28 11 10 8 7 7 5 3
Iterasi
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 3j=9 29 28 11 10 8 7 7 5 3j=8 29 28 11 10 8 7 7 5 3j=7 29 28 11 10 8 7 7 5 3