Anda di halaman 1dari 13

KONSEP DAN PRAKTIK

SELECTION SORT
(1908-SD-S05-01)
TUJUAN PEMBELA JARAN
Setelah mempelajari bagian ini,
Anda diharapkan telah mampu:

Menjelaskan logika selection sort dan


mempraktikkan dengan contoh kasus.

1908SD05
PENGANTAR
3

Selection sort adalah algoritme yang


menggabungkan metode searching
dan sorting.

Menurut Tanenbaum (1981), selection


sort disebut juga push down short.

1908SD05
PRINSIP SELECTION SORT
4

Algoritme akan mencari indeks yang memiliki nilai paling


kecil lalu akan ditukar dengan indeks paling depan
(ascending) atau paling belakang (descending).

Selection sort menggunakan linear scan.

1908SD05
LANGKAH-LANGKAH 5

ALGORITME SELECTION SORT (1)


1 Mula-mula suatu penunjuk (diberi nama posAwal)
menunjuk ke lokasi awal pengurutan data.

2 Pertama kali penunjuk menunjuk ke indeks 0 (awal


array).

3 Kemudian dicari bilangan terkecil pada beberapa


posisi dari posAwal hingga indeks elemen
terakhir.

1908SD05
LANGKAH-LANGKAH 6

ALGORITME SELECTION SORT (2)


4 Posisi elemen dengan bilangan terkecil disebut
posMin.

5 Apabila nilai posAwal tidak sama dengan nilai


posMin, elemen yang ditunjuk oleh kedua penunjuk
tersebut ditukarkan.

6 Cara tersebut dilakukan dari posAwal bernilai 1


hingga n-1 (N menyatakan jumlah data, data dalam
array terurutkan).
1908SD05
7

CONTOH CARA KERJA SELECTION SORT

Step 1 7 5 4 2 2 5 4 7
Min
Sorted Unsorted
element
Array Array

Step 2 2 5 4 7 2 4 5 7
Min Sorted Unsorted
element Array Array

Step 3 2 4 5 7 2 4 5 7
Min Sorted Unsorted
element Array Array

Step 4 2 4 5 7 2 4 5 7
Min
Sorted
element
Array
1908SD05
ALGORITME SELECTION SORT
8

SelectionSort(L,N):
FOR PosAwal← 0 TO N-2
PosMin←PosAwal

//Cari data terkecil dan cata indeksnya


FOR J ←PosAwal +1 TO N-1
IF L[PosMin]>L[J]
PosMin ←J
END-IF
END-FOR

//Kalau PosAwal<>PosMin maka tukarkan elemen


IF PosAwal<>PosMin
Tmp ←L[PosAwal]
L[PosAwal] ←L[PosMin]
L[PosMin] ←Tmp
END-IF
END-FOR
1908SD05
KINERJA ALGORITME 9

SELECTION SORT
Kompleksitas pada selection sort diukur dengan jumlah
pembandingan.
• Pada tahapan pertama terdapat n-1 pembandingan.
• Pada tahapan kedua terdapat n-2 pembandingan.
• Pada tahapan ketiga terdapat n-3 pembandingan, dan
seterusnya.
Dengan demikian, total pembandingan sebesar:

𝐧 − 𝟏 + 𝐧 − 𝟐 + ⋯ + 𝟐 + 𝟏 = 𝐧(𝐧 − 𝟏)Τ𝟐 = 𝐎(𝒏𝟐 )

Oleh karena itu, worst-case berupa 𝐎(𝒏𝟐 ).


1908SD05
10

GRAFIK KINERJA SELECTION SORT

60

50
48 Semakin banyak data, maka
akan menghasilkan
Banyak data

40

30 kompleksitas yang semakin


20 tinggi. Hal ini berpengaruh
10 terhadap waktu pemrosesan
0
yang semakin lama.
0 5 10 15 20 25 30 35 40

Kompleksitas

1908SD05
🔑 DAFTAR PUSTAKA
GeeksforGeeks. Retrieved June 26, 2019 from
https://www.geeksforgeeks.org/
Kadir, A. (2015). Teori dan aplikasi struktur data menggunakan Java.
Yogyakarta: Andi.

1908SD05
© KREDIT
Lecturer
Harfebi Fryonanda, M.Kom.

Subject Matter Expert


Arfika Nurhudatiana, Ph.D.

Instructional Design Reviewer


Renata Marelene, S.Kom., M.M.

Instructional Designer
Puspa Tanjung Sari, S.Kom.
1908SD05

Anda mungkin juga menyukai