Selection Sort

Merupakan sebuah algoritma pengurutan yang mencari element terkecil dari suatu list data tidak terurut (unsorted list) kemudian menukarnya dengan element pertama pada list data tidak terurut (first unsorted list) sehingga menghasilkan list data terurut (sorted list). Proses ini dilakukan secara berulang (loop) sampai mendapatkan list data yang terurut secara keseluruhan (fully sorted list)

Algoritma

1.Cari element terkecil dari list data belum   terurut.
2. Tukar dengan element pertama data belum terutur.
3. Maka akan menghasilkan list data terurut

Ulangi langkah 1 – 3 sampai mendapatkan semua data terurut

Pseudocode

p = PanjangArray

IndexMin = 0

For i = 0 to (p-1)

IndexMin = i

For j = (i+1) to (p-1)

If Data[IndexMin]>Data[j] then

IndexMin = j

End If

End For

If IndexMin < (p) then

If Data[i]>Data[IndexMin] then

Temp = Data[IndexMin]

Data[IndexMin]=Data[i]

Data[i]=temp

End If

End If

End For

Contoh Iterasi

Diketahui Array Data atau List Data angka sebagai berikut

7,8,4,2

Proses ke 1

indexmin=0

i = 0

Indexmin=0 (diperoleh dari i)

J = 1 (diperoleh dari (i+1)

Cek Data[indexmin]>Data[j], 7>8 tidak

J = 2

Cek Data[indexmin]>Data[j], 7>4 ya

Indexmin = 2 (diperoleh dari indexmin=j)

J = 3

Cek Data[indexmin]>Data[j], 4>2 ya

Indexmin = 3 (diperoleh dari indexmin=j)

Cek indexmin<Panjang Ya

Cek Data[i]>Data[indexmin], 7>2 ya

Temp = 2 (diperoleh dari Data[indexmin])

Data[IndexMin] = 7 (Diperoleh dari Data[i])

Data[i] = 2 (Diperoleh dari temp)

2,7,8,4

Proses ke 2

i = 1

Indexmin=1 (diperoleh dari i)

J = 2 (diperoleh dari (i+1)

Cek Data[indexmin]>Data[j], 7>8 tidak

J = 3

Cek Data[indexmin]>Data[j], 7>4 ya

Indexmin = 3 (diperoleh dari indexmin=j)

Cek indexmin<Panjang Ya

Cek Data[i]>Data[indexmin], 7>4 ya

Temp = 4 (diperoleh dari Data[indexmin])

Data[IndexMin] = 7 (Diperoleh dari Data[i])

Data[i] = 4 (Diperoleh dari temp)

2,4,7,8

Proses ke 3

i = 2

Indexmin=2 (diperoleh dari i)

J = 3

Cek Data[indexmin]>Data[j], 7>8 tidak

Cek indexmin<Panjang Ya

Cek Data[i]>Data[indexmin], 7>7 tidak

2,4,7,8

Proses ke 4

i=3

Indexmin=3

J = 4 (Tidak terjadi perulangan terhadap J)

Cek Indexmin<Panjang Ya

Cek Data[i]>Data[Indexmin], 8>8 tidak

Download File *.ppt (Presentasi) dibawah ini!!!

Selection Sort file Presentasi

Semoga bermanfaat!!!thanks

_antz_

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: