際際滷

際際滷Share a Scribd company logo
Sorting Algorithms
Beberapa Algoritma Sorting
1.
2.
3.
4.
5.

Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Bubble Sort: pseudocode
BUBBLESORT(A)
1 for i1 to length[A]
2
for jlength[A] downto i+1
3
if A[j] < A[j-1]
4
then exchange A[j]  A[j-1]
Contoh Algoritma: BUBBLE SORT
banyaknya data: n
Data diurutkan/disorting dari yang bernilai besar
Proses
step 1 :
step 2

:

:



step n-1

Periksalah nilai dua elemen mulai dari urutan ke-n
sampai urutan ke-1. Jika nilai kiri<kanan, tukarkan
kedua data itu.
Periksalah nilai dua elemen mulai dari urutan ke-n
sampai urutan ke-2. Jika nilai kiri<kanan, tukarkan
kedua data itu.

Periksalah nilai dua elemen mulai dari urutan ke-n
sampai urutan ke-n-1. Jika nilai kiri<kanan, tukarkan
kedua data itu.
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

7

4

5

8

10
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

7

4

5

10

8
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

7

4

10

5

8
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

7

10

4

5

8
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

10

7

4

5

8
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

10

7

4

5

8

Step-2

10

7

4

5

8
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

10

7

4

5

8

Step-2

10

7

4

8

5
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

10

7

4

5

8

Step-2

10

7

8

4

5
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

10

7

4

5

8

Step-2

10

8

7

4

5
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

10

7

4

5

8

Step-2

10

8

7

4

5

Step-3

10

8

7

4

5
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

10

7

4

5

8

Step-2

10

8

7

4

5

Step-3

10

8

7

5

4
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

10

7

4

5

8

Step-2

10

8

7

4

5

Step-3

10

8

7

5

4
Bubble Sort: tahap demi tahap

Awal

7

4

5

8

10

Step-1

10

7

4

5

8

Step-2

10

8

7

4

5

Step-3

10

8

7

5

4

Step-4

10

8

7

5

4
Beberapa Algoritma Sorting
1.
2.
3.
4.
5.

Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Selection Sort: Pseudocode
SELECTIONSORT(A)
1 for i 1 to length[A]-1
2
min = i;
3
for j  i+1 to length[A]
4
if A[j] < A[min]
5
min = j;
6
exchange A[min]  A[i]
Prinsip kerja:
Dari elemen sebanyak n,
Carilah elemen terkecil dari array A, dan swap-lah elemen terkecil
tersebut dengan elemen pertama (A[1] ).
Carilah elemen terkecil kedua dari array A, dan swap-lah elemen
tersebut dengan elemen kedua (A[2])
Ulangi sampai n-1 elemen pertama dari array A
Selection Sort: contoh
1

6

4

6

2

3

4

1

2

4

6

2

3

4

1

2

4

6

2

3

4

1

2

3

6

2

3

4

1

2

3

4

1

5

2

1

4

5

1

3

4

1

2

3

1

1

2

2

3

4

1

2

3

4

5

1
5

5
5

5
5

5
5

5
5

5

6

3
6

3
6

3
6

4
6

6
6

6

Carilah elemen terkecil &
tukar dengan 5

1 fixed. Carilah elemen terkecil
& tukar dengan 2
1,2 fixed. Carilah elemen
terkecil & tukar dengan 4
1,2,3 fixed. Carilah elemen
terkecil & tukar dengan 6
1,2,3,4 fixed. Carilah elemen
terkecil & tukar dengan 5
1,2,3,4,5 fixed, otomatis elemen
terakhir sudah pada posisi yang
benar
Beberapa Algoritma Sorting
1.
2.
3.
4.
5.

Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Insertion Sort: pseudocode
INSERTION-SORT(A)
1
for j2 to length[A]
2
do keyA[j]
3
Insert A[j] ke sekuens yang sudah disorting A[1j-1]
4
i j-1
5
while i>0 and A[i] > key
6
do A[i+1] A[i]
7
i  i -1
8
A[i+1] key
Insertion Sort: contoh
1

6

5

2

4

6

1

3

2

3

4

5

6

2

5

4

6

1

3

2

3

4

5

6

2

4

5

6

1

3

2

3

4

5

6

2

4

5

6

1

3

2

3

4

5

6

1

2

4

5

6

3

1

5

6

1

4

5

1

3

4

1

2

3

1

1

2

2

3

4

5

6

1

2

3

4

5

6
Quiz
Diketahui deretan data sbb.
80 84 100 24 79 85 91 65 17 3 1 21
1. Urutkan data tsb. memakai Selection Sort, agar elemen terkecil berada
paling depan (urutan pertama), semakin ke belakang semakin besar
2. Urutkan data tsb. memakai Selection Sort, agar elemen terbesar
berada paling depan (urutan pertama), semakin ke belakang semakin
kecil
3. Urutkan data tsb. memakai Insertion Sort, agar elemen terkecil berada
paling depan (urutan pertama), semakin ke belakang semakin besar
4. Urutkan data tsb. memakai Insertion Sort, agar elemen terbesar berada
paling depan (urutan pertama), semakin ke belakang semakin kecil
Beberapa Algoritma Sorting
1.
2.
3.
4.
5.

Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Merge Sort: pseudocode
MERGE (A, p,q,r)
1
n1q-p+1
2
n2r-q
3
create arrays L[1..n1+1] and R[1..n2+1]
4
for i 1 to n1
5
do L[i]  A[p+i-1]
6
for j  1 to n2
7
do R[j] A[q+j ]
8
L[n1+1] 
9
R[n2+1] 
10
i 1
11
j 1
12
for k  p to r
13
do if L[i] < R[j]
14
then A[k]  L[i]
15
i  i+1
16
else A[k]  R[j]
17
j  j+1
Merge Sort: pseudocode
MERGE-SORT (A, p, r)
1
If p<r
2
then q (p+r)/2
3
MERGE-SORT (A, p, q)
4
MERGE-SORT (A, q+1, r)
5
MERGE(A,p,q,r)
Merge Sort: contoh
8

8

4

9

1

8

1
4

9

7

9

8

1

8

4

3

7

7

1

7

5
3

2
5

7

2

4

1
1

8

1

4

4
8

1

4

7

8

9

7

8

7

7
4

7

9
1

9

9

9
3

5

2

7
Merge Sort: contoh
2

7

2

7

2

3

7

2

7

5

3

5

3

5

3
2
1

4
1

7
2

8
3

4

5

3

5

7

2

9

5
3

5

7

7

7

8

9
Beberapa Algoritma Sorting
1.
2.
3.
4.
5.

Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Prinsip Kerja Quick Sort
 Divide
 Partisilah array A[pr] ke dalam dua buah subarray A[pq-1] dan
A[q+1r] sedemikian hingga
 tiap elemen pada A[pq-1] senantiasa lebih kecil atau sama
dengan A[q] DAN
 tiap elemen pada A[q+1r] senantiasa sama atau lebih besar
dari A[q]
 Hitunglah q
 Conquer
 Urutkan (sorting-lah) A[pq-1] dan A[q+1r] secara rekursif
 Combine
 Kedua subarray telah diurutkan pada posisi masing-masing,
sehingga tidak diperlukan upaya khusus untuk mengkombinasikan
mereka. A[pr] telah ter-sorting
Quick Sort: pseudocode
QUICKSORT (A, p,r)
1
If p<r
2
then qPARTITION (A,p,r)
3
QUICKSORT(A,p,q-1)
4
QUICKSORT(A,q+1,r)

PARTITION(A, p,r)
1
xA[r]
2
ip-1
3
for jp to r-1
4 do if A[j] < x
5
then ii+1
6
exchange A[i] A[j]
7
exchange A[i+1] A[r]
8
return i+1

1. Tetapkan data paling kanan sebagai
pivot
2. Pindahkan semua data yang lebih
kecil daripada pivot ke sayap kiri
3. Pindahkan semua data yang lebih
besar daripada pivot ke sayap kanan
4. Pivot urutan ke berapa ?
Cara Kerja Quick Sort
Quick Sort: Contoh
1

(a)

2
i

i=0
p=j=1
r=8

i=1
j=1
p=1
r=8

p,j

2

3

8

7

4

5

6

7

8

1

3

5

6

4
r

PARTITION(A, p,r)
1
xA[r] x=4
2
ip-1
i=0
3
for jp to r-1 j=1
4
do if A[j] < x
2 < 4 ? YES
5
then ii+1 i=1
6
exchange A[i]  A[j] exchange 2 & 2
7
exchange A[i+1]  A[r]
8
return i+1
Quick Sort: Contoh
1

(b)
i=1
j=1
p=1
r=8

i=1
j=2
p=1
r=8

2

3

2

8

p,i

7

4

5

6

7

8

1

3

5

6

4

j

PARTITION(A, p,r)
1
xA[r]
2
ip-1
3
for jp to r-1 j=2
4
do if A[j] < x
8 < 4 ? NO
5
then ii+1
6
exchange A[i]  A[j]
7
exchange A[i+1]  A[r]
8
return i+1

r
Quick Sort: Contoh
1

(c)
i=1
j=2
p=1
r=8

i=1
j=3
p=1
r=8

2
p,i

2

3

8

4

7

5

6

7

8

1

3

5

6

4

j

PARTITION(A, p,r)
1
xA[r]
2
ip-1
3
for jp to r-1 j=3
4
do if A[j] < x
7 < 4 ? NO
5
then ii+1
6
exchange A[i]  A[j]
7
exchange A[i+1]  A[r]
8
return i+1

r
Quick Sort: Contoh
1

(d)
i=1
j=3
p=1
r=8

i=2
j=4
p=1
r=8

2

2

3

8

p,i

4

6

7

8

1

7

5

3

5

6

4

j

2

1

p

i

r

7

8
j

3

5

6

4
r

PARTITION(A, p,r)
1
xA[r]
2
ip-1
3
for jp to r-1 j=4
4
do if A[j] < x
1 < 4 ? YES
i=2
5
then ii+1
6
exchange A[i]  A[j] exchange 8 & 1
7
exchange A[i+1]  A[r]
8
return i+1
Quick Sort: Contoh
1

(e)
i=2
j=4
p=1
r=8

i=3
j=5
p=1
r=8

2

3

4

5

6

7

8

2

1

7

8

3

5

6

4

2

1

3

8

7

5

6

4

p

i

j

r

PARTITION(A, p,r)
1
xA[r]
2
ip-1
3
for jp to r-1 j=5
4
do if A[j] < x
3 < 4 ? YES
5
then ii+1 i=3
6
exchange A[i]  A[j] exchange 7 & 3
7
exchange A[i+1]  A[r]
8
return i+1
Quick Sort: Contoh
1

(f)
i=3
j=5
p=1
r=8

i=3
j=6
p=1
r=8

2
p

2

3

1

4

3
i

5

6

7

8

8

7

5

6

4

j

PARTITION(A, p,r)
1
xA[r]
2
ip-1
3
for jp to r-1 j=6
4
do if A[j] < x
5 < 4 ? NO
5
then ii+1
6
exchange A[i]  A[j]
7
exchange A[i+1]  A[r]
8
return i+1

r
Quick Sort: Contoh
1

(g)
i=3
j=6
p=1
r=8

i=3
j=7
p=1
r=8

2
p

2

3

1

4

3
i

5

6

7

8

8

7

5

6

4

j

r

PARTITION(A, p,r)
1
xA[r]
2
ip-1
3
for jp to r-1 j=7
4
do if A[j] < x
6 < 4 ? NO
5
then ii+1
6
exchange A[i]  A[j]
7
exchange A[i+1]  A[r]
8
return i+1
Quick Sort: Contoh
1

(h)
i=3
j=7
p=1
r=8

2

3

4

5

6

7

8

2

1

3

8

7

5

6

4

2

1

3

4

7

5

6

8

p

i

j

PARTITION(A, p,r)
1
xA[r]
2
ip-1
3
for jp to r-1
4
do if A[j] < x
5
then ii+1
6
exchange A[i]  A[j]
7
exchange A[i+1]  A[r] exchange 4 & 8
8
return i+1

return 4 (q=4)

r
4 region dalam procedure PARTITION

<x

>x

unrestricted pivot
Best Case & Worst Case
 Best Case Partition

 Worst Case Partition

atau
Quiz
Diketahui deretan data sbb.
80 84 100 24 79 85 91 65 17 3 1 21
1. Urutkan data tsb. memakai Merge sort, agar elemen terkecil berada
paling depan (urutan pertama), semakin ke belakang semakin besar
2. Urutkan data tsb. memakai Merge Sort, agar elemen terbesar berada
paling depan (urutan pertama), semakin ke belakang semakin kecil
3. Urutkan data tsb. memakai Quick Sort, agar elemen terkecil berada
paling depan (urutan pertama), semakin ke belakang semakin besar
4. Urutkan data tsb. memakai Quick Sort, agar elemen terbesar berada
paling depan (urutan pertama), semakin ke belakang semakin kecil
Randomized Quicksort
RANDOMIZED-QUICKSORT (A, p,r)
1
If p<r
2
then qRANDOMIZED-PARTITION (A,p,r)
3
RANDOMIZED-QUICKSORT(A,p,q-1)
4
RANDOMIZED-QUICKSORT(A,q+1,r)

RANDOMIZED-PARTITION(A, p,r)
1 iRANDOM(p,r)
2 exchange A[r] A[i]
3 return PARTITION (A,p,r)

More Related Content

What's hot (20)

Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
Vocational High School 3 Tegal
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)
Ajeng Savitri
Model Jaringan Hopfield
Model Jaringan HopfieldModel Jaringan Hopfield
Model Jaringan Hopfield
Sherly Uda
Matriks eselon baris dan eselon baris tereduksi
Matriks eselon baris dan eselon baris tereduksiMatriks eselon baris dan eselon baris tereduksi
Matriks eselon baris dan eselon baris tereduksi
Elemantking Daeva
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
Baguss Chandrass
8 logika predikat
8  logika predikat8  logika predikat
8 logika predikat
Yulinda Nurhafina
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
Kelinci Coklat
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
Buhori Muslim
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
Braga Rezpect
(Jst)hebb dan delta rule
(Jst)hebb dan delta rule(Jst)hebb dan delta rule
(Jst)hebb dan delta rule
Junior Iqfar
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
Rahmatdi Black
Teknik Enkripsi dan Dekripsi Playfair Cipher
Teknik Enkripsi dan Dekripsi Playfair CipherTeknik Enkripsi dan Dekripsi Playfair Cipher
Teknik Enkripsi dan Dekripsi Playfair Cipher
Rivalri Kristianto Hondro
17. representasi data 5 jul
17. representasi data 5   jul17. representasi data 5   jul
17. representasi data 5 jul
Setia Juli Irzal Ismail
Pertemuan 10 Kunjungan Pada Pohon Biner
Pertemuan 10 Kunjungan Pada Pohon BinerPertemuan 10 Kunjungan Pada Pohon Biner
Pertemuan 10 Kunjungan Pada Pohon Biner
Endang Retnoningsih
2. galat
2. galat2. galat
2. galat
Afista Galih Pradana
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi boolean
Cliquerz Javaneze
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
Siti Khotijah
tgsdm3_ kelompok 7
 tgsdm3_ kelompok 7 tgsdm3_ kelompok 7
tgsdm3_ kelompok 7
Alvian yudha Prawira
Pertemuan 3 turunan dan aturan rantai
Pertemuan 3   turunan dan aturan rantaiPertemuan 3   turunan dan aturan rantai
Pertemuan 3 turunan dan aturan rantai
Senat Mahasiswa STIS
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)
Ajeng Savitri
Model Jaringan Hopfield
Model Jaringan HopfieldModel Jaringan Hopfield
Model Jaringan Hopfield
Sherly Uda
Matriks eselon baris dan eselon baris tereduksi
Matriks eselon baris dan eselon baris tereduksiMatriks eselon baris dan eselon baris tereduksi
Matriks eselon baris dan eselon baris tereduksi
Elemantking Daeva
Metode pencarian heuristik
Metode pencarian heuristikMetode pencarian heuristik
Metode pencarian heuristik
Baguss Chandrass
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
Kelinci Coklat
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
Buhori Muslim
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
Braga Rezpect
(Jst)hebb dan delta rule
(Jst)hebb dan delta rule(Jst)hebb dan delta rule
(Jst)hebb dan delta rule
Junior Iqfar
Teknik Enkripsi dan Dekripsi Playfair Cipher
Teknik Enkripsi dan Dekripsi Playfair CipherTeknik Enkripsi dan Dekripsi Playfair Cipher
Teknik Enkripsi dan Dekripsi Playfair Cipher
Rivalri Kristianto Hondro
Pertemuan 10 Kunjungan Pada Pohon Biner
Pertemuan 10 Kunjungan Pada Pohon BinerPertemuan 10 Kunjungan Pada Pohon Biner
Pertemuan 10 Kunjungan Pada Pohon Biner
Endang Retnoningsih
Bab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi booleanBab 5 penyederhanaan fungsi boolean
Bab 5 penyederhanaan fungsi boolean
Cliquerz Javaneze
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
Siti Khotijah
Pertemuan 3 turunan dan aturan rantai
Pertemuan 3   turunan dan aturan rantaiPertemuan 3   turunan dan aturan rantai
Pertemuan 3 turunan dan aturan rantai
Senat Mahasiswa STIS

More from Zezen Wahyudin (11)

Himpunan
HimpunanHimpunan
Himpunan
Zezen Wahyudin
Pengertian Logika Informatika
Pengertian Logika InformatikaPengertian Logika Informatika
Pengertian Logika Informatika
Zezen Wahyudin
Memelihara Standar Presentasi
Memelihara Standar Presentasi Memelihara Standar Presentasi
Memelihara Standar Presentasi
Zezen Wahyudin
Tatacara Memandikan Jenazah dan Hilmah Shalat Sunnah
Tatacara Memandikan Jenazah dan Hilmah Shalat SunnahTatacara Memandikan Jenazah dan Hilmah Shalat Sunnah
Tatacara Memandikan Jenazah dan Hilmah Shalat Sunnah
Zezen Wahyudin
Fenomena Syirik di Masyarakat
Fenomena Syirik di MasyarakatFenomena Syirik di Masyarakat
Fenomena Syirik di Masyarakat
Zezen Wahyudin
Kedudukan Ilmu Tauhid
Kedudukan Ilmu TauhidKedudukan Ilmu Tauhid
Kedudukan Ilmu Tauhid
Zezen Wahyudin
Zuhud
ZuhudZuhud
Zuhud
Zezen Wahyudin
Pengertian Ilmu Tasawuf
Pengertian Ilmu TasawufPengertian Ilmu Tasawuf
Pengertian Ilmu Tasawuf
Zezen Wahyudin
Akhlak, Etika dan Moral
Akhlak, Etika dan MoralAkhlak, Etika dan Moral
Akhlak, Etika dan Moral
Zezen Wahyudin
Permasalahan Sosial
Permasalahan SosialPermasalahan Sosial
Permasalahan Sosial
Zezen Wahyudin
Ulumul Quran
Ulumul QuranUlumul Quran
Ulumul Quran
Zezen Wahyudin
Pengertian Logika Informatika
Pengertian Logika InformatikaPengertian Logika Informatika
Pengertian Logika Informatika
Zezen Wahyudin
Memelihara Standar Presentasi
Memelihara Standar Presentasi Memelihara Standar Presentasi
Memelihara Standar Presentasi
Zezen Wahyudin
Tatacara Memandikan Jenazah dan Hilmah Shalat Sunnah
Tatacara Memandikan Jenazah dan Hilmah Shalat SunnahTatacara Memandikan Jenazah dan Hilmah Shalat Sunnah
Tatacara Memandikan Jenazah dan Hilmah Shalat Sunnah
Zezen Wahyudin
Fenomena Syirik di Masyarakat
Fenomena Syirik di MasyarakatFenomena Syirik di Masyarakat
Fenomena Syirik di Masyarakat
Zezen Wahyudin
Kedudukan Ilmu Tauhid
Kedudukan Ilmu TauhidKedudukan Ilmu Tauhid
Kedudukan Ilmu Tauhid
Zezen Wahyudin
Pengertian Ilmu Tasawuf
Pengertian Ilmu TasawufPengertian Ilmu Tasawuf
Pengertian Ilmu Tasawuf
Zezen Wahyudin
Akhlak, Etika dan Moral
Akhlak, Etika dan MoralAkhlak, Etika dan Moral
Akhlak, Etika dan Moral
Zezen Wahyudin
Permasalahan Sosial
Permasalahan SosialPermasalahan Sosial
Permasalahan Sosial
Zezen Wahyudin

Sorting