Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Algoritma & Pemrograman II STT Wastukancana Purwakarta

Presentasi serupa


Presentasi berjudul: "Algoritma & Pemrograman II STT Wastukancana Purwakarta"— Transcript presentasi:

1 Algoritma & Pemrograman II STT Wastukancana Purwakarta
SELECTION SORT Algoritma & Pemrograman II STT Wastukancana Purwakarta Algoritma pengurutan ini disebut pengurutan seleksi karena pada dasarnya adalah memilih elemen maksimum/minimum dari larik, Lalu menempatkan elemen maksimum/minimum itu pada awal atau akhir larik (elemen terujung). Selanjutnya elemen terujung tersebut diisolasi dan tidak disertakan pada proses selanjutnya. Proses yang sama diulang untuk elemen larik yang tersisa, yaitu memilih elemen maksimum/minimum berikutnya dan mempertukarkannya dengan elemen terujung larik sisa. Seperti halnya pada algoritma pengurutan gelembung, proses memilih nilai maksimum/minimum dilakukan setiap tahap. Jika larik berukuran n, maka jumlah tahapannya adalah n-1.

2 Diketahui array satu dimensi yang telah dibuat dengan int A[n] dimana n=7,
elemennya sudah terisi sebagai berikut: 1 2 3 4 5 6 A[ ] 15 10 7 22 17 5 12 Susun algoritma untuk mengurutkan isi array tersebut dengan metode SELECTION SORT sehingga nilainya urut menaik (Ascending) seperti berikut: 1 2 3 4 5 6 A[ ] 5 7 10 12 15 17 22

3 Proses sort dilakukan tahap per tahap.
Untuk n=7 maka akan dilakukan (n-1)=6 tahap. Konsep proses SELECTION SORT adalah mencari (memilih) nilai terkecil / terbesar dan menukarnya dengan elemen paling awal (paling kiri) / paling akhir (paling kanan) pada setiap tahap, Sehingga hasil proses tiap tahap dapat digambarkan sebagai berikut: Jumlah Perbandingan (if) dilakukan 1 2 3 4 5 6 Data Awal: 15 10 7 22 17 5 12 Tahap 1 Diproses kolom: 0-6 5 terkecil, maka tukar 5 dengan 15 TAHAP 1: 15 10 7 22 17 5 12 6 kali perbandingan Hasil tahap 1: 5 10 7 22 17 15 12 Tahap 2 Diproses kolom: 1-6 7 terkecil, maka tukar 7 dengan 10 TAHAP 2: 5 10 7 22 17 15 12 5 kali perbandingan Hasil tahap 2: 5 7 10 22 17 15 12 Tahap 3 Diproses kolom: 2-6 10 terkecil, maka tukar 10 dengan dirinya sendiri TAHAP 3: 5 7 10 22 17 15 12 4 kali perbandingan Hasil tahap 3: 5 7 10 22 17 15 12

4 Tahap 4 Diproses kolom: 3-6 12 terkecil, maka tukar 12 dengan 22 TAHAP 4: 5 7 10 22 17 15 12 3 kali perbandingan Hasil tahap 1: 5 7 10 12 17 15 22 Tahap 5 Diproses kolom: 4-6 15 terkecil, maka tukar 15 dengan 17 TAHAP 5: 5 7 10 12 17 15 22 2 kali perbandingan Hasil tahap 5: 5 7 10 12 15 17 22 Tahap 6 Diproses kolom: 5-6 17 terkecil, maka tukar 17 dengan dirinya sendiri 1 kali perbandingan TAHAP 6: 5 7 10 12 15 17 22 Hasil tahap 6: 5 7 10 12 15 17 22

5 Kesimpuan tahap per tahap untuk selection sort
Jumlah perbandingan (if) dilakukan Jumlah pertukaran 1 2 3 4 5 6 Data Awal: 15 10 7 22 17 5 12 Tahap 1: 5 10 7 22 17 15 12 6 1 Tahap 2: 5 7 10 22 17 15 12 5 1 Tahap 3: 5 7 10 22 17 15 12 4 1 Tahap 4: 5 7 10 12 17 15 22 3 1 Tahap 5: 5 7 10 12 15 17 22 2 1 Tahap 6: 5 7 10 12 15 17 22 1 1 Jumlah: 21 6 Urut setelah Tahap selalu ada: 21 perbandingan = n (n-1)/2 dan selalu ada: 6 pertukaran = (n-1)

6 Perbandingan bubble sort untuk data yang sebelumnya urut terbalik
Jumlah perbandingan (if) dilakukan Jumlah pertukaran 1 2 3 4 5 6 Data Awal: 22 17 15 12 10 7 5 Tahap 1: 17 15 12 10 7 5 22 6 6 Tahap 2: 15 12 10 7 5 17 22 5 5 Tahap 3: 12 10 7 5 15 17 22 4 4 Tahap 4: 10 7 5 12 15 17 22 3 3 Tahap 5: 7 5 10 12 15 17 22 2 2 Tahap 6: 5 7 10 12 15 17 22 1 1 Jumlah: 21 21 Pada bubble sort untuk data yang sebelumnya terurut terbalik, jumlah pemeriksaan dengan instruksi if tetap dilakukan n(n-1)/2 kali, dan setiap perbandingan terjadi pertukaran, sehingga jumlah pertukaran sebanyak n(n-1)/2 kali

7 Algoritma SELECTION SORT
for(i=0; i<n-1; i++){ int imin = i; for(j=i+1; j<n; j++){ if(A[j]<A[imin]) imin=j; } x=A[imin]; A[imin]=A[i]; A[i]=x;

8 LATIHAN Urutkan array di bawah ini dengan algoritma selection sort


Download ppt "Algoritma & Pemrograman II STT Wastukancana Purwakarta"

Presentasi serupa


Iklan oleh Google