SlideShare a Scribd company logo
1 of 12
Download to read offline
Selection Sort 
Algoritma dan 
Struktur Data 
Kuliahkita - Edwin Lunando
Pendahuluan 
Selection sort adalah cara pengurutan dengan menelusuri 
dan mencari elemen yang terkecil / terbesar dari seluruh 
elemen yang ada dan menempatkannya di posisi pertama 
sampai semua elemen terurut dengan pengulangan.
Contoh: Proses Pengurutan Menaik 
Langkah: (untuk posisi pertama) 
● Delapan dipilih sebagai elemen terkecil 
● Bandingkan dengan elemen-elemen 
berikutnya (8 dengan 1) 
8 
1 
4 
2 
6 
3 
7 
0 
5 
9
Contoh: Proses Pengurutan Menaik 
Langkah: (untuk posisi pertama) 
● 1 < 8, 1 dijadikan elemen terkecil 
● Bandingkan dengan elemen-elemen 
berikutnya (1 dengan 4) 
● Karena 1 < 4 , elemen terkecil tetap 1 dan 
lanjutkan perbandingan 
8 
1 
4 
2 
6 
3 
7 
0 
5 
9
Contoh: Proses Pengurutan Menaik 
Langkah: (untuk posisi pertama) 
● 1 < 2, 1 tetap sebagai elemen terkecil 
● Bandingkan dengan elemen-elemen 
berikutnya (1 dengan 2) 
● Karena 1 < 2, lanjutkan perbandingan 
8 
1 
4 
2 
6 
3 
7 
0 
5 
9
Contoh: Proses Pengurutan Menaik 
Langkah: (untuk posisi pertama) 
● Sampai bertemu dengan 0, Elemen terkecil 
menjadi 0 untuk iterasi pertama dan iterasi 
akan selesai karena tidak ada elemen yang 
< 0 
8 
1 
4 
2 
6 
3 
7 
0 
5 
9
Contoh: Proses Pengurutan Menaik 
Langkah: (untuk posisi pertama) 
● Tempatkan 0 di posisi pertama dan tukar 
posisi elemen pertama dengan posisi 
elemen 0 
0 
1 
4 
2 
6 
3 
7 
8 
5 
9
Contoh: Proses Pengurutan Menaik 
Langkah: (untuk posisi kedua) 
● Mulai kembali dari posisi kedua yaitu 1 
sebagai elemen terkecil dan pembanding 
● Bandingkan 1 dengan elemen berikutnya 
(4) 
... 
● Setelah iterasi kedua selesai, dan elemen 
posisi kedua didapat, mulai dengan elemen 
ke-3, dst ... 
0 
1 
4 
2 
6 
3 
7 
8 
5 
9
Pseudocode 
procedure selectionSort( Output/Input A : list of sortable items ) 
/* A - array berisi kumpulan angka */ 
/* numItems - jumlah elemen dalam list */ 
for i = 0 to numItems - 1 do 
begin 
for j = i+1 to numItems do 
begin 
if A[i] > A[j] 
// Tukar posisi 
Temp = A[i] 
A[i] = A[j] 
A[j] = Temp 
end 
end
Kode dalam C++ 
void selectionSort(int arr[], int n) { 
int pos_min,temp; // pos_min adalah posisi dari minimum 
for (int i=0; i < n-1; i++) { 
pos_min = i; // set pos_min sebagai index pertama di array 
for (int j=i+1; j < n; j++) { 
if (arr[j] < arr[pos_min]) 
pos_min=j; // jika ditemukan yang lebih kecil, set posisi min-nya 
} 
// tukar posisi karena pos_min tidak sama dengan i (ada nilai yang lebih kecil) 
if (pos_min != i) { 
temp = arr[i]; 
arr[i] = arr[pos_min]; 
arr[pos_min] = temp; 
} 
} 
} 
}
Kode dalam C++ - (main) 
#include <iostream> 
using namespace std; 
int main() 
{ 
int numbers[] = { 8, 40, 1, 5, 0, 9, 6, 4, 3, -1, 5 }; 
selectionSort(numbers, 10); 
for (int i=0; i<10; i++) { 
cout << numbers[i]; 
cout << " | "; 
} 
}
Kompleksitas 
Worst Case O(n²) 
Best Case O(n²) 
Average Case O(n²)

More Related Content

What's hot

Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanReskidtc
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaMutia Rahmadania
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02KuliahKita
 
Algoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerAlgoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerGeorgius Rinaldo
 
Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2maidah .
 
Sorting selection-sort
Sorting   selection-sortSorting   selection-sort
Sorting selection-sortFajar Zain
 

What's hot (10)

Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Logika & algo bab array
Logika & algo bab arrayLogika & algo bab array
Logika & algo bab array
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02
 
207 p10
207 p10207 p10
207 p10
 
Algoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerAlgoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian biner
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2
 
Algoritma Sorting
Algoritma SortingAlgoritma Sorting
Algoritma Sorting
 
Sorting selection-sort
Sorting   selection-sortSorting   selection-sort
Sorting selection-sort
 

Similar to SelSort Algo dan Pseudocode

Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Mutia Rahmadania
 
Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptFaldoPku
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode SortingNurul Habibah
 
Algoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionAlgoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubbleAlgoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubbleGeorgius Rinaldo
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptangelyaningsih
 
Bab 2 sorting array (1)
Bab 2 sorting array (1)Bab 2 sorting array (1)
Bab 2 sorting array (1)Fahuda E
 
Algoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan MergeAlgoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan MergeGeorgius Rinaldo
 
Algoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge SortAlgoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge SortKuliahKita
 
Algoritma dan Struktur Data - Insertion Sort
Algoritma dan Struktur Data - Insertion SortAlgoritma dan Struktur Data - Insertion Sort
Algoritma dan Struktur Data - Insertion SortKuliahKita
 
Struktur data chapter_12
Struktur data chapter_12Struktur data chapter_12
Struktur data chapter_12Sejahtera Affif
 

Similar to SelSort Algo dan Pseudocode (20)

Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Rifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).pptRifal Zulma Hendri (2220201009).ppt
Rifal Zulma Hendri (2220201009).ppt
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
 
Tugas Algoritma
Tugas AlgoritmaTugas Algoritma
Tugas Algoritma
 
Paper Metode Sorting
Paper Metode SortingPaper Metode Sorting
Paper Metode Sorting
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Pengurutan (sorting )
Pengurutan (sorting )Pengurutan (sorting )
Pengurutan (sorting )
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
 
Algoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionAlgoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertion
 
Algoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubbleAlgoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubble
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Materi_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).pptMateri_SORTING(PENGURUTAN).ppt
Materi_SORTING(PENGURUTAN).ppt
 
Bab 2 sorting array (1)
Bab 2 sorting array (1)Bab 2 sorting array (1)
Bab 2 sorting array (1)
 
Algoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan MergeAlgoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan Merge
 
Algoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge SortAlgoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge Sort
 
Algoritma sorting
Algoritma sortingAlgoritma sorting
Algoritma sorting
 
Algoritma dan Struktur Data - Insertion Sort
Algoritma dan Struktur Data - Insertion SortAlgoritma dan Struktur Data - Insertion Sort
Algoritma dan Struktur Data - Insertion Sort
 
ratna mustika sari
ratna mustika sariratna mustika sari
ratna mustika sari
 
Struktur data chapter_12
Struktur data chapter_12Struktur data chapter_12
Struktur data chapter_12
 

More from Georgius Rinaldo

Algoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsAlgoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsGeorgius Rinaldo
 
Algoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataAlgoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataGeorgius Rinaldo
 
Algoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructorAlgoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructorGeorgius Rinaldo
 
Algoritma dan Struktur Data - object
Algoritma dan Struktur Data - objectAlgoritma dan Struktur Data - object
Algoritma dan Struktur Data - objectGeorgius Rinaldo
 
Algoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adtAlgoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adtGeorgius Rinaldo
 
Algoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerAlgoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohonAlgoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohonGeorgius Rinaldo
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianGeorgius Rinaldo
 
Algoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukanAlgoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukanGeorgius Rinaldo
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiGeorgius Rinaldo
 
Algoritma dan Struktur Data - set
Algoritma dan Struktur Data - setAlgoritma dan Struktur Data - set
Algoritma dan Struktur Data - setGeorgius Rinaldo
 
Algoritma dan Struktur Data - list
Algoritma dan Struktur Data - listAlgoritma dan Struktur Data - list
Algoritma dan Struktur Data - listGeorgius Rinaldo
 
Algoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - LarikAlgoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - LarikGeorgius Rinaldo
 
Algoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileAlgoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileGeorgius Rinaldo
 
Algoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundAlgoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundGeorgius Rinaldo
 
Algoritma dan Struktur Data - fungsi dan prosedur c++
Algoritma dan Struktur Data -  fungsi dan prosedur c++Algoritma dan Struktur Data -  fungsi dan prosedur c++
Algoritma dan Struktur Data - fungsi dan prosedur c++Georgius Rinaldo
 
Algoritma dan Struktur Data - loop pada c++
Algoritma dan Struktur Data -  loop pada c++Algoritma dan Struktur Data -  loop pada c++
Algoritma dan Struktur Data - loop pada c++Georgius Rinaldo
 
Algoritma dan Struktur Data - sintaks c++
Algoritma dan Struktur Data - sintaks c++Algoritma dan Struktur Data - sintaks c++
Algoritma dan Struktur Data - sintaks c++Georgius Rinaldo
 
Algoritma dan Struktur Data - Input/Output dan Kondisi
Algoritma dan Struktur Data - Input/Output dan KondisiAlgoritma dan Struktur Data - Input/Output dan Kondisi
Algoritma dan Struktur Data - Input/Output dan KondisiGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++Georgius Rinaldo
 

More from Georgius Rinaldo (20)

Algoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsAlgoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methods
 
Algoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataAlgoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur Data
 
Algoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructorAlgoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructor
 
Algoritma dan Struktur Data - object
Algoritma dan Struktur Data - objectAlgoritma dan Struktur Data - object
Algoritma dan Struktur Data - object
 
Algoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adtAlgoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adt
 
Algoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerAlgoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon biner
 
Algoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohonAlgoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohon
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 
Algoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukanAlgoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukan
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursi
 
Algoritma dan Struktur Data - set
Algoritma dan Struktur Data - setAlgoritma dan Struktur Data - set
Algoritma dan Struktur Data - set
 
Algoritma dan Struktur Data - list
Algoritma dan Struktur Data - listAlgoritma dan Struktur Data - list
Algoritma dan Struktur Data - list
 
Algoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - LarikAlgoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - Larik
 
Algoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileAlgoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi file
 
Algoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundAlgoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compound
 
Algoritma dan Struktur Data - fungsi dan prosedur c++
Algoritma dan Struktur Data -  fungsi dan prosedur c++Algoritma dan Struktur Data -  fungsi dan prosedur c++
Algoritma dan Struktur Data - fungsi dan prosedur c++
 
Algoritma dan Struktur Data - loop pada c++
Algoritma dan Struktur Data -  loop pada c++Algoritma dan Struktur Data -  loop pada c++
Algoritma dan Struktur Data - loop pada c++
 
Algoritma dan Struktur Data - sintaks c++
Algoritma dan Struktur Data - sintaks c++Algoritma dan Struktur Data - sintaks c++
Algoritma dan Struktur Data - sintaks c++
 
Algoritma dan Struktur Data - Input/Output dan Kondisi
Algoritma dan Struktur Data - Input/Output dan KondisiAlgoritma dan Struktur Data - Input/Output dan Kondisi
Algoritma dan Struktur Data - Input/Output dan Kondisi
 
Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++Algoritma dan Struktur Data - pengenalan bahasa c++
Algoritma dan Struktur Data - pengenalan bahasa c++
 

Recently uploaded

materi pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxmateri pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxsiswoST
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfYogiCahyoPurnomo
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxRemigius1984
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 

Recently uploaded (8)

materi pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxmateri pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptx
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 

SelSort Algo dan Pseudocode

  • 1. Selection Sort Algoritma dan Struktur Data Kuliahkita - Edwin Lunando
  • 2. Pendahuluan Selection sort adalah cara pengurutan dengan menelusuri dan mencari elemen yang terkecil / terbesar dari seluruh elemen yang ada dan menempatkannya di posisi pertama sampai semua elemen terurut dengan pengulangan.
  • 3. Contoh: Proses Pengurutan Menaik Langkah: (untuk posisi pertama) ● Delapan dipilih sebagai elemen terkecil ● Bandingkan dengan elemen-elemen berikutnya (8 dengan 1) 8 1 4 2 6 3 7 0 5 9
  • 4. Contoh: Proses Pengurutan Menaik Langkah: (untuk posisi pertama) ● 1 < 8, 1 dijadikan elemen terkecil ● Bandingkan dengan elemen-elemen berikutnya (1 dengan 4) ● Karena 1 < 4 , elemen terkecil tetap 1 dan lanjutkan perbandingan 8 1 4 2 6 3 7 0 5 9
  • 5. Contoh: Proses Pengurutan Menaik Langkah: (untuk posisi pertama) ● 1 < 2, 1 tetap sebagai elemen terkecil ● Bandingkan dengan elemen-elemen berikutnya (1 dengan 2) ● Karena 1 < 2, lanjutkan perbandingan 8 1 4 2 6 3 7 0 5 9
  • 6. Contoh: Proses Pengurutan Menaik Langkah: (untuk posisi pertama) ● Sampai bertemu dengan 0, Elemen terkecil menjadi 0 untuk iterasi pertama dan iterasi akan selesai karena tidak ada elemen yang < 0 8 1 4 2 6 3 7 0 5 9
  • 7. Contoh: Proses Pengurutan Menaik Langkah: (untuk posisi pertama) ● Tempatkan 0 di posisi pertama dan tukar posisi elemen pertama dengan posisi elemen 0 0 1 4 2 6 3 7 8 5 9
  • 8. Contoh: Proses Pengurutan Menaik Langkah: (untuk posisi kedua) ● Mulai kembali dari posisi kedua yaitu 1 sebagai elemen terkecil dan pembanding ● Bandingkan 1 dengan elemen berikutnya (4) ... ● Setelah iterasi kedua selesai, dan elemen posisi kedua didapat, mulai dengan elemen ke-3, dst ... 0 1 4 2 6 3 7 8 5 9
  • 9. Pseudocode procedure selectionSort( Output/Input A : list of sortable items ) /* A - array berisi kumpulan angka */ /* numItems - jumlah elemen dalam list */ for i = 0 to numItems - 1 do begin for j = i+1 to numItems do begin if A[i] > A[j] // Tukar posisi Temp = A[i] A[i] = A[j] A[j] = Temp end end
  • 10. Kode dalam C++ void selectionSort(int arr[], int n) { int pos_min,temp; // pos_min adalah posisi dari minimum for (int i=0; i < n-1; i++) { pos_min = i; // set pos_min sebagai index pertama di array for (int j=i+1; j < n; j++) { if (arr[j] < arr[pos_min]) pos_min=j; // jika ditemukan yang lebih kecil, set posisi min-nya } // tukar posisi karena pos_min tidak sama dengan i (ada nilai yang lebih kecil) if (pos_min != i) { temp = arr[i]; arr[i] = arr[pos_min]; arr[pos_min] = temp; } } } }
  • 11. Kode dalam C++ - (main) #include <iostream> using namespace std; int main() { int numbers[] = { 8, 40, 1, 5, 0, 9, 6, 4, 3, -1, 5 }; selectionSort(numbers, 10); for (int i=0; i<10; i++) { cout << numbers[i]; cout << " | "; } }
  • 12. Kompleksitas Worst Case O(n²) Best Case O(n²) Average Case O(n²)