ALGORITMA DAN PEMROGRAMAN 2 · PDF fileMATERI • Teks/string • ... • Suatu...

24
ALGORITMA DAN PEMROGRAMAN 2 3 SKS By : Sri Rezeki Candra Nursari

Transcript of ALGORITMA DAN PEMROGRAMAN 2 · PDF fileMATERI • Teks/string • ... • Suatu...

ALGORITMA DAN PEMROGRAMAN 2

3 SKS By : Sri Rezeki Candra Nursari

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

Pertemuan 14

3 SKS

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

Program – Bubble Sort

Algoritma.........?????Pseudocode.......??????

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

Pengurutan Bubble Sort - descending

Iterasi

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 3j=9 29 28 11 10 8 7 7 5 3j=8 29 28 11 10 8 7 7 5 3

Akhir 29 28 11 10 8 7 7 5 3