Bubble sort
Selection Sort
Insertion sort
Merge Sort
Shell Sort
BUBBLE SORT
Bubble sort (metode gelembung) adalah metode
atau algoritma pengurutan dengan cara melakukan
penukaran data dengan tempat disebelahnya jika data
sebelum lebih besar dari pada data sesudahnya
secara terus menerus sampai bisa dipastikan dalam
satu iterasi tertentu tidak ada lagi perubahan, atau
telah terurut dengan benar. Jika tidak ada perubahan
berarti data sudah terurut.
Disebut pengurutan gelembung karena masing-
masing kunci atau data akan dengan lambat
menggelembung atau membandingan data ke
posisinya yang tepat.
Lanjutan ....
Pengurutan yang dilakukan dengan membandingkan masing-
masing item dalam suatu list secara berpasangan,
menukar item jika diperlukan, dan mengulanginya sampai akhir
list secara berurutan, sehingga tidak ada lagi item yang dapat
ditukar.
def bubblesort(list):
list = [19,2,31,45,6,11,121,27]
bubblesort(list)
print(list)
Contoh program Bubble sort
SELECTION SORT
def selection_sort(input_list):
min_idx = idx
for j in range( idx +1, len(input_list)):
if input_list[min_idx] > input_list[j]:
min_idx = j
# Swap the minimum value with the compared value
l = [19,2,31,45,30,11,121,27]
selection_sort(l)
print(l)
Contoh program Selection sort
INSERTION SORT
Metode pengurutan pada insertion sort adalah
metode dengan cara menyisipkan elemen larik pada
posisi yang tepat.
Algoritma insertion sort pada dasarnya memilah
data yang akan diurutkan menjadi dua bagian, yang
belum diurutkan dan yang sudah diurutkan.
Lanjutan ....
def insertion_sort(InputList):
for i in range(1, len(InputList)):
j = i-1
nxt_element = InputList[i]
# Compare the current element with next one
list = [19,2,31,45,30,11,121,27]
insertion_sort(list)
print(list)
Contoh program Insertion sort
MERGE SORT
Merge sort merupakan algoritma pengurutan dalam ilmu
komputer yang dirancang untuk memenuhi kebutuhan
pengurutan atas suatu rangkaian data yang tidak
memungkinkan untuk ditampung dalam memori komputer
karena jumlahnya yang terlalu besar. Algoritma ini
ditemukan oleh John von Neumann pada tahun 1945.
MERGE SORT
Merge sort terlebih dahulu membagi array menjadi dua
bagian yang sama, lalu menggabungkannya dalam cara
yang diurutkan
Contoh program Merge sort
# If we've reached the end of the of the left list, add the elements
# from the right list
elif left_list_index == left_list_length:
sorted_list.append(right_list[right_list_index])
right_list_index += 1
Contoh program Merge sort
# If we've reached the end of the of the right list, add the elements
# from the left list
elif right_list_index == right_list_length:
sorted_list.append(left_list[left_list_index])
left_list_index += 1
return sorted_list
Contoh program Merge sort
def merge_sort(nums):
# If the list is a single element, return it
if len(nums) <= 1:
return nums
# Verify it works
random_list_of_nums = [120, 45, 68, 250, 176]
random_list_of_nums = merge_sort(random_list_of_nums)
print(random_list_of_nums)
SHELL SORT
Metode ini disebut juga dengan metode pertambahan
menurun (diminishing increment sort). Metode ini
dikembangkan oleh Donald L. Shell pada tahun 1959,
sehingga sering disebut dengan Metode Shell Sort.
gap = len(input_list) // 2
while gap > 0:
gap = gap//2
list = [19,2,31,45,30,11,121,27]
shellSort(list)
print(list)
Contoh program Shell sort
Contoh program Shell sort
Kesimpulan
Pada struktur data Sorting adalah sebuah metode untuk
pengurutan data, misalnya dari data yang terbesar ke data
yang terkecil. Dengan cara program yang dibuat harus dapat
membandingkan antar data yang di inputkan. Pada dasarnya
ada dua macam urutan yang biasa digunakan dalam suatu
proses sorting:
1. Urut Naik (ascending)
2. Urut Turun (descending)
Sedangkan macam-macam sorting yang sering banyak
digunakan diantaranya :
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Shell Sort