Matakuliah
Tahun
: T0456 / Algoritma dan Metode Object
Oriented Programming
: 2007
Elementary Sort
Pertemuan 10
Learning Outcomes
Pada akhir pertemuan ini, diharapkan:
Mahasiswa dapat mendemonstrasikan algoritma sorting dasar
(bubblesort, selectionsort, insertionsort) untuk pengurutkan data
Buku Referensi:
Algorithms in C++, Addison Wesley, 1992.
Websites:
http://www.deitel.com
3
Bina Nusantara
Outline Materi
•
•
•
•
Definisi sorting
Algoritma selection sort
Algoritma insertion sort
Algoritma bubble sort
4
Bina Nusantara
Sorting
Sorting merupakan proses mengurutkan data sesuai
aturan tertentu:
Ascending: dari terkecil sampai terbesar
Descending: dari terbesar sampai terkecil
Tujuan sorting adalah untuk mempercepat proses
pencarian (searching) data
Bina Nusantara
Sorting
Teknik pengurutan sederhana:
Bubble sort
Selection sort
Insertion sort
Teknik pengurutan lanjut:
Quick sort
Merge sort
Bina Nusantara
Bubble sort
Bubble sort dilakukan dengan membandingkan dua elemen
yang berdampingan dan menukarnya jika kedua elemen
tersebut belum terurut
pada putaran pertama, cari data terkecil dan ditempatkan pada
posisi terdepan (pada[0]).
Bandingkan data terakhir [n-1] dengan data sebelumnya [n-2],
jika data sebelumnya lebih besar maka tukar kedua data
tersebut
Bina Nusantara
Bubble sort (putaran 1)
[0]
[1]
[2]
52
12
69
[3]
[4]
40
18
Banding, tukar
52
12
18
40
18
69
40
12
18
69
40
52
18
69
40
69
Banding, tukar
52
12
Banding
52
Banding, tukar
12
Bina Nusantara
Bubble sort (putaran 2)
[0]
[1]
[2]
12
52
18
[3]
[4]
69
40
Banding, tukar
12
52
40
69
18
40
69
52
40
69
18
Banding
12
52
Banding, tukar
12
Bina Nusantara
18
Bubble sort (putaran 3)
[0]
[1]
[2]
12
18
52
[3]
[4]
40
69
Banding
12
18
52
40
69
52
69
Banding, tukar
12
Bina Nusantara
18
40
Bubble sort (putaran 4)
[0]
[1]
[2]
12
18
40
[3]
[4]
52
69
Banding
12
Bina Nusantara
18
40
52
69
Bubble sort
Code algoritma:
Void Bubble(int* Data, int n){
for(int i=1; i<n; i++)
for(int j=n-1; j>=I; j--)
if(Data[j-1] > Data[j]
Tukar(&Data[j-1, &Data[j]);
}
Bina Nusantara
Selection sort
•
•
•
Algoritma sorting dengan memilih elemen terbesar ataupun terkecil
kemudian menempatkan pada posisinya, pemilihan elemen
terbesar dilakukan pada proses pengurutan data secara ascending
dari posisi data paling akhir, sedangkan pemilihan elemen terkecil
dilakukan pada proses pengurutan data secara ascensing dari
posisi data paling awal.
Pengurutan dilakukan dengan memilih element terbesar dan
menempatkan pada posisinya
Perulangan dilakukan terus sampai tinggal 1 data terakhir, dan
dipastikan itu merupakan data terkecil
Bina Nusantara
Simulasi Selection sort (Putaran 1)
[0]
[1]
[2]
52
12
69
[3]
[4]
40
18
Banding
Banding
Banding
>
Imak=3
>
Imak=2
<
Imak=2
Banding
<
Imak=2
Tukar
52
Bina Nusantara
12
18
40
69
Imak=4
Selection sort (Putaran
2)
Imak=3
[0]
[1]
[2]
52
12
18
[3]
40
Banding
[4]
69
<
Imak=3
Banding
<
Imak=3
Banding
>
Imak=0
Tukar
40
Bina Nusantara
12
18
52
69
Selection sort (Putaran 3)
Imak=2
[0]
[1]
[2]
40
12
18
52
69
40
52
69
Banding
[3]
[4]
<
Imak=2
Banding
>
Imak=0
Tukar
18
Bina Nusantara
12
Selection
sort (Putaran 4)
Imak=1
[0]
[1]
[2]
18
12
40
52
69
18
40
52
69
Banding
[3]
[4]
>
Imak=0
Tukar
12
Bina Nusantara
Algoritma selestion Sort
Void Selection(int* Data, int n){
int i, j, Imak;
for(i=n-1; i>0; i--) {
Imak = i;
for(j=i-1; j>=0; j--)
if(Data[j]>Data[Imak]){
Imak = j;
}
Tukar(&Data[i], &Data[Imak]);
}
}
Bina Nusantara
Soal Latihan
1.
a.
b.
c.
d.
Hasil pengurutan data pada putaran pertama dengan algoritma
bubble sort secara ascending dengan data 23 13 45 67 54 adalah:
13 23 45 54 67
13 23 45 67 54
23 13 45 54 67
23 13 45 67 54
2. Hasil pengurutan data pada putaran pertama dengan algoritma
selection sort secara ascending dengan data no.1 di atas adalah:
a. 13 23 45 54 67
b. 13 23 45 67 54
c. 23 13 45 54 67
d. 23 13 45 67 54
Bina Nusantara
Diskusi dan Tanya Jawab
Latihan soal
20
Bina Nusantara
© Copyright 2026 Paperzz