Bubble sort mungkin metode sorting paling populer yang digunakan dan
sederhana. Proses pengurutan dilakukan dengan membandingkan masing-
masing nilai dalam suatu list secara berpasangan, kemudian tukar nilai jika
diperlukan, dan mengulanginya sampai akhir list secara berurutan,
sehingga tidak ada lagi nilai yang dapat ditukar.
Langkahnya seperti di bawah ini :
1 #!/usr/bin/python
2
3 def BubbleSort(val):
4 for passnum in range(len(val)-1,0,-1):
5 for i in range(passnum):
6 if val[i]>val[i+1]:
7 temp = val[i]
8 val[i] = val[i+1]
9 val[i+1] = temp
10
11 DaftarAngka = [23,7,32,99,4,15,11,20]
12 BubbleSort(DaftarAngka)
13 print(DaftarAngka)
Selection Sort
Prinsip dari algoritma selection sort adalah memilih elemen dengan nilai
paling rendah dan menukar elemen tersebut dengan elemen ke-i. Nilai dari
i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
Langkahnya seperti di bawah ini :
1 #!/usr/bin/python
2
3 def SelectionSort(val):
4 for isi in range(len(val)-1,0,-1):
5 Max=0
6 for lokasi in range(1,isi+1):
7 if val[lokasi]>val[Max]:
8 Max = lokasi
9
10 temp = val[isi]
11 val[isi] = val[Max]
12 val[Max] = temp
13
14 DaftarAngka = [23,7,32,99,4,15,11,20]
15 SelectionSort(DaftarAngka)
16 print(DaftarAngka)
Insertion Sort
Prinsip algoritma insertion sort pada dasarnya membagi data yang akan
diurutkan menjadi dua bagian, satu bagian yang belum diurutkan dan yang
satunya lagi sudah diurutkan. Elemen pertama diambil dari bagian list yang
belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian
lain dari list yang telah diurutkan. Langkah ini dilakukan secara berulang
hingga tidak ada lagi elemen yang tersisa pada bagian list yang belum
diurutkan.
Langkahnya seperti di bawah ini :
1. Bandingkan data ke-2 dengan data ke-1, jika data ke-2 lebih kecil maka
tukar posisinya, jika tidak biarkan aja.
2. Data ke-3 dibandingkan dengan data ke-1 dan ke-2, jika data ke-3 lebih
kecil kemudian tukar lagi posisinya.
3. Data ke-4 dibandingkan dengan data ke-3, ke-2, dan ke-1, jika data ke-4
lebih kecil dari ketiganya maka letakkan data ke-4 ke posisi paling depan.
Begitu seterusnya sampai tidak ada lagi data yang bisa dipindahkan.
1 #!/usr/bin/python
2
3 def InsertionSort(val):
4 for index in range(1,len(val)):
5
6 valueaktif = val[index]
7 posisi = index
8
9 while posisi>0 and val[posisi-1]>valueaktif:
10 val[posisi]=val[posisi-1]
11 posisi = posisi-1
12
13 val[posisi]=valueaktif
14
15 DaftarAngka = [23,7,32,99,4,15,11,20]
16 InsertionSort(DaftarAngka)
17 print(DaftarAngka)