Anda di halaman 1dari 3

Bubble Sort

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. Bandingkan nilai pada data ke-1 dengan data ke-2.


2. Jika nilai data ke-1 lebih besar dari data ke-2 maka tukar posisinya.
3. Kemudian data yang lebih besar tersebut dibandingkan lagi dengan data
ke-3.
4. Jika data ke-3 lebih kecil dari data ke-2 maka tukar posisinya, dan begitu
seterusnya sampai semua data yang ada jadi terurut.
Contoh script dengan Python :

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. Pengecekan dimulai dari data ke-1 sampai dengan data ke n.


2. Tentukan bilangan dengan index terkecil dari data bilangan tersebut.
3. Tukar bilangan dengan index terkecil tersebut dengan bilangan pertama
(i=1) dari data bilangan tersebut.
4. Lakukan langkah 2 dan 3 untuk bilangan berikutnya (i=i+1) sampai di
dapatkan data yang sesuai.
Contoh script dengan Python :

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.

Contoh script dalam Python :

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)

Anda mungkin juga menyukai