Anda di halaman 1dari 17

MAKALAH

“METODE SORTING DAN PEMROGRAMAN SORTING”

Dosen Pengampu : Ressy Dwitias Sari, S.T.,M.T.I

Disusun Oleh:
Liska yuni br. Lumban gaol (5223351034)

Ptik Kelas C

JURUSAN PENDIDIKAN TEKNIK ELEKTRO


PROGRAM STUDI PENDIDIKAN TEKNOLOGI INFORMATIKA DAN KOMPUTER
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MEDAN
2023
KATA PENGANTAR

Puji syukur penulis panjatkan kepada Tuhan yang Maha Esa atas segala karunia-Nya,
karena berkat rahmat dan anugrah-Nyalah makalah ini dapat deselesaikan tepat pada waktunya.
Adapun tujuan penulisan makalah struktur data ini adalah untuk memenuhi kebutuhan tugas
matakuliah struktur data semester 2 tahun ajaran 2023.
Dalam penyusunan makalah ini penulis telah banyak menerima bantuan baik berupa
materi selama proses penulisan. Untuk itu penulis dalam kesempatan ini menyampaikan ucapan
terimakasih kepada Ibu Ressy Dwitias Sari, S.T.,M.T.I selaku dosen pengampu matakuliah
Struktur Data atas pengarahan dan kemudahan yang telah diberikan kepada penulis dalam
pengerjaan makalah ini, juga kepada teman – teman dan semua pihak yang membantu dalam
penyelesaiannya.
Semoga Makalah ini bisa bermanfaat bagi para pembaca dalam
mengaplikasikan dikehidupan sehari-hari, makalah ini masih jauh dari sempurna, untuk itu kritik
dan saran dari pembaca yang bersifat membangun akan sangat diperlukan demi kesempurnaan
Makalah yang akan penulis buat mendatang.

Medan, April 2023

Penulis
DAFTAR ISI

KATA PENGANTAR...................................................................................................................ii
DAFTAR ISI.................................................................................................................................iii
BAB I...............................................................................................................................................4
PENDAHULUAN..........................................................................................................................4
1.1 Latar Belakang...........................................................................................................................4
1.2 Rumusan Masalah......................................................................................................................5
1.3 Tujuan........................................................................................................................................5
BAB II.............................................................................................................................................5
PEMBAHASAN.............................................................................................................................5
2.1 Pengertian Metode Sorting........................................................................................................5
2.2 Macam Macam Metode Sorting................................................................................................5
2.3 Manfaat Metode Sorting..........................................................................................................15
2.4 Tujuan Metode Sorting............................................................................................................15
BAB III.........................................................................................................................................15
PENUTUPAN...............................................................................................................................15
3.1 Kesimpulan..............................................................................................................................15
3.2 Saran........................................................................................................................................15
DAFTAR PUSTAKA...................................................................................................................16
BAB I

PENDAHULUAN

1.1 Latar Belakang


Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah
untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap
dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk
setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan
algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi
kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah
pengulangan atau memerlukan keputusan sampai tugasnya selesai.
Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang
mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah,
terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari
secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan.
Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi
yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal,
algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki
kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama
untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi. Sedangkan sorting
adalah sebuah proses merangkai benda dalam urutan tertentudan/atau dalam himpunan
yang berbeda, dan oleh karena itu dia memiliki dua arti umum yang berbeda:
1. Pengurutan : merangkai benda yang sejenis, sekelas, dll, dalam urutan yang teratur.
2. Kategorisasi : pengelompokan dan pemberian label kepada benda dengan sifat yang
serupa.
Algoritma sorting terdiri dari beberapa algoritma seperti Merge Sort, Insertion sort,
Radix sort, Quick sort, dan Shell sort yang dimana setiap jenis sorting ini memiliki perbedaan
satu sama lainnya.

1.2 Rumusan Masalah


1. Apa pengertian sorting?
2. Apa saja metode sorting?
3. Bagaimana pemrograman sorting?
4. Apa manfaat dan tujuan dari metode sorting

1.3 Tujuan
1. Untuk mengetahui pengertian sorting?
2. Untuk mengetahui macam macam metode sorting?
3. Untuk mengetahui bagaimana pemrograman sorting?
4. Untuk mengetahui manfaat dan tujuan metode sorting tersebut ?

BAB II

PEMBAHASAN

2.1 Pengertian Metode Sorting


Sorting didefinisikan sebagai pengurutan sejumlah data berdasarkan nilai kunci
tertentu. Pengurutan dapat dilakukan dari nilai terkecil ke nilai terbesar (ascending) atau
sebaliknya (descending).
Sorting adalah suatu proses penyusunan kembali kumpulan objek menggunakan tata
aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen
data ke dalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap - tiap elemen.
Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data ke
dalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap - tiap elemen.
Pengurutan atau sorting merupakan proses dasar yang ada dalam sebuah algoritma dan
struktur data.
2.2 Macam Macam Metode Sorting
1. 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.
Algoritma pengurutan data merge sort dilakukan dengan menggunakan cara
divide and conquer yaitu dengan memecah kemudian menyelesaikan setiap
bagian kemudian menggabungkannya kembali. Pertama data dipecah menjadi 2
bagian dimana bagian pertama merupakan setengah (jika data genap) atau setengah
minus satu (jika data ganjil) dari seluruh data, kemudian dilakukan pemecahan
kembali untuk masing-masing blok sampai hanya terdiri dari satu data tiap blok.
Setelah itu digabungkan kembali dengan membandingkan pada blok
yang sama apakah data pertama lebih besar dari pada data ke-tengah+1, jika ya maka
data ke-tengah+1 dipindah sebagai data pertama, kemudian data ke-pertama
sampai ke-tengah digeser menjadi data ke-dua sampai ke-tengah+1, demikian
seterusnya sampai menjadi satu blok utuh seperti awalnya. Sehingga metode merge sort
merupakan metode yang membutuhkan fungsi rekursi untuk penyelesaiannya.
Ada beberapa kelebihan dan kekurangan dalam metode merge sort ini diantaranya
adalah sebagai berikut :
 Dibanding dengan algoritma lain, merge sort ini termasuk algoritma yang sangat
efisien dalam penggunaannya sebab setiap list selalu dibagi bagi menjadi list yang
lebih kecil, kemudian digabungkan lagi sehingga tidak perlu melakukan banyak
perbandingan.
 Cocok untuk sorting akses datanya lambat misalnya tape drive atau hard disk.
 Cocok untuk sorting data yang biasanya diakses secara sequentially
(berurutan), misalnya linked list, tape drive, dan hard disk.
 Kekurangan Merge Sort yaitu terlalu banyak menggunakan ruang pada memori.
 Merge Sort membutuhkan lebih banyak ruang daripada jenis sorting lainnya.

Berikut adalah langkah-langkah dalam implementasi Merge Sort:


1) Pecah array menjadi subarray-subarray yang lebih kecil
 Caranya adalah dengan menentukan titik tengah (middle) array dan membaginya
menjadi dua subarray. Jika panjang array adalah ganjil, maka subarray sebelah
kiri akan lebih pendek daripada sebelah kanan.
2) Urutkan subarray secara terpisah
 Lakukan Merge Sort pada subarray sebelah kiri.
 Lakukan Merge Sort pada subarray sebelah kanan.
3) Gabungkan kembali subarray-subarray yang terurut menjadi array yang terurut
 Buat array baru untuk menyimpan hasil penggabungan.
 Bandingkan elemen-elemen dari subarray sebelah kiri dan kanan secara
berurutan.
 Pindahkan elemen dengan nilai yang lebih kecil ke array baru.
 Ulangi langkah sebelumnya hingga salah satu subarray kosong.
 Salin sisa elemen yang masih tersisa pada subarray yang belum kosong ke array
baru.
Berikut adalah contoh implementasi Merge Sort:
def merge_sort(arr):
if len(arr) > 1:
middle = len(arr) // 2
left_arr = arr[:middle]
right_arr = arr[middle:]
merge_sort(left_arr)
merge_sort(right_arr)
i=j=k=0
while i < len(left_arr) and j < len(right_arr):
if left_arr[i] < right_arr[j]:
arr[k] = left_arr[i]
i += 1
else:
arr[k] = right_arr[j]
j += 1
k += 1
while i < len(left_arr):
arr[k] = left_arr[i]
i += 1
k += 1
while j < len(right_arr):
arr[k] = right_arr[j]
j += 1
k += 1
Implementasi ini menerima sebuah array sebagai input dan mengurutkannya menggunakan
Merge Sort.

2. Insertion Sort
Metode pengurutan pada insertion sort adalah metode dengan cara menyisipkan
elemen larik pada posisi yang tepat. Cara kerja insertion sort, Pertama - tama, dilakukan
iterasi, dimana di setiap iterasi insertion sort memindahkan nilai elemen,
kemudian menyisipkan nya berulang - ulang sampai ketempat yang tepat. dimana di
setiap iterasi insertion sort memindahkan nilai elemen,kemudian menyisipkannya
berulang-ulang sampai ketempat yang tepat.
Metode penyisipan (Insertion sort) bertujuan untuk menjadikan bagian sisi kiri
array terurutkan sampai dengan seluruh array berhasil diurutkan.
Insertion Sort bekerja seperti banyak orang yang sedang mengurutkan kartu
ditangan. Dimulai dengan tangan kiri yang kosong dan kartunya tertumpuk di meja.
Selanjutnya kita ambil satu persatu kartu di meja dan diletakkan di tangan kiri dengan
posisi yang benar (terurut). Untuk menemukan posisi yang banar, maka kita harus
membandingkan satu persatu kartu yang ada (di tangan kiri) secara berurutan.
Data dicek satu per satu mulai dari yang kedua sampai dengan yang
terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka
data tersebut disisipkan pada posisi yang sesuai. Akan lebih mudah apabila
membayangkan pengurutan kartu. Pertama - tama anda meletakkan kartu – kartu tersebut
di atas meja, kemudian melihatnya dari kiri ke kanan. Apabila kartu di sebelah kanan
lebih kecil daripada kartu disebelah kiri, maka ambil kartu tersebut dan sisipkan di tempat
yang sesuai. Ada beberapa kelebihan dan kekurangan dalam metode insertion sort ini
diantaranya adalah sebagai berikut :
 Sederhana dalam implementasinya.
 Efektif jika jumlah data sedikit.
 Jika list sudah terurut atau sebagian terurut makas Insertion Sort akan lebih
efisien dibanding Quicksort.
 Lebih efektif dibanding Bubble Sort, dan Selection Sort
 Loop dalam Insertion Sort sangat cepat, sehingga Insertion sort adalah
salah satumetode pengurutan tercepat pada jumlah data sedikit.
 Stabil.
 Banyaknya operasi yang diperlukan dalam mencari posisi yang tepat untuk
elemenlarik.
 Untuk larik yang jumlahnya besar metode ini tidak praktis.
 Jika list terurut terbalik sehingga setiap eksekusi dari perintah harus memindai
danmengganti seluruh bagian sebelum menyisipkan elemen berikutnya.
Berikut adalah contoh implementasi Insertion Sort:

def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j=i-1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key

# Contoh penggunaan
arr = [64, 25, 12, 22, 11]
insertion_sort(arr)
print("Hasil setelah diurutkan:")
for i in range(len(arr)):
print("%d" % arr[i])

Penjelasan kode di atas adalah sebagai berikut:


 Fungsi `insertion_sort` menerima satu parameter, yaitu `arr` yang merupakan
array yang akan diurutkan.
 Loop `for` akan berjalan dari elemen kedua hingga elemen terakhir dalam array
`arr`.
 Variabel `key` menyimpan nilai elemen saat ini yang akan diinsert ke dalam
posisi yang tepat dalam array.
 Variabel `j` menyimpan index dari elemen sebelum `key` yang sedang diurutkan.
 Loop `while` akan memindahkan semua elemen yang lebih besar dari `key` satu
posisi ke kanan.
 Setelah semua elemen yang lebih besar dipindahkan ke kanan, `key` akan
dimasukkan ke posisi yang tepat dalam array.
 Pada contoh penggunaan, array `arr` akan diurutkan menggunakan fungsi
`insertion_sort`, kemudian hasilnya akan dicetak menggunakan loop `for`.

3. Radix sort
Radix sort adalah algoritma pengurutan (sorting) yang bekerja dengan
membandingkan digit-digit angka pada elemen yang diurutkan, mulai dari digit terkecil
(LSB atau Least Significant Digit) hingga digit terbesar (MSB atau Most Significant
Digit). Algoritma ini memanfaatkan sifat urutan leksikografis dari bilangan berbasis 10
untuk melakukan pengurutan secara efisien.
Pada setiap iterasi, radix sort mengelompokkan elemen-elemen berdasarkan digit
yang sedang diurutkan, kemudian mengumpulkan kembali elemen-elemen tersebut secara
urut. Proses ini dilakukan secara berulang-ulang hingga seluruh digit pada setiap elemen
telah diurutkan.
Keuntungan dari radix sort adalah dapat melakukan pengurutan dengan
kompleksitas waktu yang tetap, yakni O(kN), di mana k adalah jumlah digit pada elemen
yang diurutkan dan N adalah jumlah elemen yang diurutkan. Namun, algoritma ini
memiliki kelemahan pada pengurutan bilangan berbasis radix lainnya selain 10 dan
pengurutan elemen dengan nilai yang cukup besar.

Berikut adalah contoh implementasi Radix Sort:

def radix_sort(arr):
max_digit = len(str(max(arr))) # maksimum digit pada angka
for i in range(max_digit):
# Membuat sebuah list kosong untuk setiap digit dari 0 hingga 9
buckets = [[] for j in range(10)]
# Memasukkan angka ke dalam bucket sesuai digitnya
for num in arr:
digit = num // 10**i % 10
buckets[digit].append(num)
# Menggabungkan bucket ke dalam list
arr = [num for bucket in buckets for num in bucket]
return arr

Cara kerja dari algoritma Radix Sort adalah dengan melakukan pengurutan
berdasarkan digit angka. Pertama-tama, kita menentukan digit maksimum pada angka
dalam array yang akan diurutkan. Selanjutnya, untuk setiap digit dari digit terkecil hingga
digit terbesar, kita memasukkan angka ke dalam "bucket" yang sesuai dengan digitnya.
Setelah itu, kita menggabungkan bucket menjadi satu list, dan langkah-langkah ini
diulangi untuk digit selanjutnya hingga semua digit pada angka terurut.

4. Quick sort
Algoritma sortir yang efisien yang ditulis oleh C.A.R. Hoare pada 1962.
Dasar strateginya adalah “memecah dan menguasai”. Quicksort dimulai dengan menscan
daftar yang disortir untuk nilai median. Nilai ini, yang disebut tumpuan (pivot),
kemudian dipindahkan ke satu sisi pada daftar dan butir-butir yang nilainya lebih besar
dari tumpuan di pindahkan ke sisi lain.
1) Divide
Memilah rangkaian data menjadi dua sub-rangkaian dimana setiap elemen adalah
kurang dari atau sama dengan A dan setiap elemen pada A adalah lebih besar atau
sama dengan elemen pada A. A disebut sebagai elemen pivot. Perhitungan pada
elemen merupakan salah satu bagian dari prosedur pemisahan.
2) Conquer
Mengurutkan elemen pada sub-rangkaian secara rekursif. Pada algoritma
quicksort, langkah ”kombinasi” tidak di lakukan karena telah terjadi pengurutan
elemen– elemen pada sub-array. Ada beberapa kelebihan dan kekurangan dalam
metode quick sort ini diantaranya adalah sebagai berikut :
 Secara umum memiliki kompleksitas O(n log n).
 Algoritmanya sederhana dan mudah diterapkan pada berbagai bahasa
pemrograman.
 Dalam prakteknya adalah yang tercepat dari berbagai algoritma
pengurutan dengan perbandingan, seperti merge sort dan heap sort.-
Melakukan proses langsung pada input dengan sedikit tambahan memori.-
Bekerja dengan baik pada berbagai jenis input data.
 Quicksort dapat dengan mudah diparalelkan karena sifatnya “divide-and-
conquer”.- Sedikit kesalahan dalam penulisan program membuatnya bekerja
tidak beraturan.
 Memiliki ketergantungan terhadap data yang dimasukkan, yang dalam kasus
terburukmemiliki kompleksitas O(n2).
 Secara umum bersifat tidak stable, yaitu mengubah urutan input dalam hasil
akhirnya.
 Pada penerapan secara rekursif bila terjadi kasus terburuk dapat
menghabiskan stackdan memacetkan program.
Berikut adalah contoh implementasi Quick Sort:
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quicksort(left) + middle + quicksort(right)
arr = [3, 6, 2, 8, 1, 9, 4, 5, 7]
print(quicksort(arr))
Penjelasan:

 Fungsi `quicksort` menerima sebuah list `arr` sebagai input dan akan
mengembalikan list yang telah diurutkan dengan algoritma quicksort.
 Jika panjang `arr` kurang dari atau sama dengan 1, maka list tersebut sudah
terurut.
 Pilih elemen tengah dari `arr` sebagai pivot.
 Buat 3 list baru yaitu `left`, `middle`, dan `right`. Elemen-elemen yang lebih kecil
dari pivot akan dimasukkan ke left, elemen-elemen yang sama dengan pivot akan
dimasukkan ke `middle`, dan elemen-elemen yang lebih besar dari pivot akan
dimasukkan ke `right`.
 Lakukan `rekursi` dengan memanggil quicksort pada `left` dan `right`, dan
menggabungkan hasilnya dengan `middle`.
 Contoh output dari program ini adalah `[1, 2, 3, 4, 5, 6, 7, 8, 9]` setelah
melakukan pengurutan pada list `arr`.

5. Shell sort
Metode ini dikembangkan oleh Donald L. Shell pada tahun 1959. Dalam metode inijarak
antara dua elemen yang dibandingkan dan ditukarkan tertentu. Secara singkat
metode ini dijelaskan sebagai berikut. Pada langkah pertama, kita ambil elemen pertama
dan kita bandingkan dan kita bandingkan dengan elemen pada jarak tertentu dari elemen
pertama tersebut. Kemudian elemen kedua kita bandingkan dengan elemen lain dengan
jarak yang sama seperti jarak yang sama seperti diatas. Demikian seterusnya sampai
seluruh elemen dibandingkan. Pada langkah kedua proses diulang dengan langkah yang
lebih kecil, pada langkah ketiga jarak tersebut diperkecil lagi seluruh proses dihentikan
jika jarak sudah sama dengan satu. Ada beberapa kelebihan dan kekurangan dalam
metode shell sort ini diantaranya adalah sebagai berikut :
Kelebihan:
 Efisien pada data yang hampir terurut: Shell sort dapat dengan cepat mengurutkan
data yang hampir terurut dengan baik, karena pendekatan bagi dan kuasai
memungkinkan untuk meminimalkan jumlah perbandingan yang diperlukan untuk
mengurutkan data yang hampir terurut.
 Pengurutan data berukuran besar: Shell sort memiliki kinerja yang baik pada data
berukuran besar, karena menggunakan pendekatan divide and conquer, di mana
data dibagi menjadi subdaftar yang lebih kecil dan kemudian diurutkan secara
terpisah.
 Dapat disesuaikan dengan kondisi data: Shell sort dapat disesuaikan dengan
kondisi data tertentu dengan mengubah ukuran interval pada setiap iterasi. Hal ini
memungkinkan pengguna untuk memilih interval terbaik untuk setiap data yang
diurutkan.
Kekurangan:

 Tidak stabil: Shell sort tidak stabil, artinya tidak dapat mempertahankan urutan
asli dari elemen-elemen yang sama pada data yang diurutkan.
 Kompleksitas: Meskipun Shell sort memiliki kinerja yang lebih baik daripada
beberapa algoritma pengurutan lainnya, kompleksitas waktu Shell sort sebesar
O(n^2) pada kasus terburuk membuatnya kurang efektif pada data yang sangat
besar atau terurut terbalik.
 Kesulitan menentukan interval: Salah satu tantangan dalam implementasi Shell
sort adalah menentukan interval yang optimal untuk setiap data yang diurutkan.
Jika interval tidak dipilih dengan baik, maka kinerja Shell sort dapat menjadi
buruk.
Berikut adalah contoh implementasi Shell Sort:
#!/bin/bash
# Fungsi untuk mengurutkan array menggunakan Shell Sort
function shellSort {
arr=("$@") # Konversi argumen menjadi array
# Menghitung panjang array
n=${#arr[@]}
# Inisialisasi gap
gap=$((n/2))
# Looping sampai gap=1 (akhir dari algoritma)
while [ $gap -gt 0 ]
do
# Looping untuk mengurutkan bagian yang di-gap
for ((i=gap; i<n; i++))
do
# Simpan elemen ke-i dan gap ke-j
temp=${arr[$i]}
j=$((i-gap))
# Geser elemen ke kiri yang lebih besar dari elemen yang disimpan
while [ $j -ge 0 ] && [ ${arr[$j]} -gt $temp ]
do
arr[$((j+gap))]=${arr[$j]}
j=$((j-gap))
done
# Masukkan elemen yang disimpan ke posisi yang tepat
arr[$((j+gap))]=$temp
done
# Kurangi gap
gap=$((gap/2))
done
# Cetak array yang telah diurutkan
echo "${arr[@]}"
}
# Contoh penggunaan
arr=(12 34 54 2 3)
echo "Array sebelum diurutkan: ${arr[@]}"
sorted_arr=$(shellSort "${arr[@]}")
echo "Array setelah diurutkan: $sorted_arr"

Array sebelum diurutkan: 12 34 54 2 3


Array setelah diurutkan: 2 3 12 34 54
Pada contoh di atas, fungsi `ShellSort` menerima argumen berupa array, kemudian
mengurutkan array tersebut menggunakan algoritma Shell Sort. Setelah itu, array yang
telah diurutkan dicetak ke layar. Contoh penggunaannya juga diberikan di akhir kode.

2.3 Manfaat Metode Sorting


Ada beberapa manfaat yang kita dapatkan ketika menggunakan metode algoritmas sorting antara
lain :
1. Data yang terurut mudah untuk dicari, mudah untuk diperiksa, dan mudah
untukdibetulkan jika terdapat kesalahan.
2. Data yang terurut dengan baik juga mudah untuk dihapus jika sewaktu-waktu
datatersebut tidak diperlukan lagi.
3. Selain itu, dengan mengurutkan data maka kita semakin mudah untuk menyisipkan
dataatapun melakukan penggabungan data.
4. Mempersingkat waktu dalam membuat program.

2.4 Tujuan Metode Sorting


Tujuan utama dari proses sorting adalah untuk mengurutkan data, baik itu dari terendah ataupun
tertinggi. Yang secara tidak langsung akan menjadikan data lebih terstruktur, rapi dan teratur.
Tujuan spesifik pengurutan data dengan metode sorting adalah sebagai berikut:
1. Pengurutan data dalam struktur data sangat penting terutama untuk data yang bertipe data
numerik ataupun karakter.
2. Pengurutan dapat dilakukan secara ascending (urut naik) dan descending (urut turun).
3. Pengurutan (Sorting) adalah proses pengurutan data yang sebelumnya disusun secara
acak sehingga tersusun secara teratur menurut aturan tertentu.

BAB III

PENUTUPAN

3.1 Kesimpulan
Penggunaan algoritma pengurutan dalam ilmu komputer memang sangat diperlukan
sebab kita tidak bisa membuat algoritma dengan prinsip “yang penting jalan”. Bila ingin
mengurutkan data yang sedikit jumlahnya maka sebaiknya menggunakan insertionsort. Namun
bila ingin mengurutkan data yang sangat banyak, merge sort dan quick sort akan menjadi pilihan
yang baik.
Makalah ini tidak membahas semua algoritma pengurutan, karena untuk membahas satu
algoritma secara mendalam pun akan sangat rumit dan mungkin menghabiskan satu makalah
ini. Namun melalui tulisan ini, pembaca diharapkan mampu menganalisa penggunaan metode
sorting algorithmic yang baik.
3.2 Saran
Dengan disusunya makalah ini, semoga makalah ini bisa menjadi inspirasi dalam kehidupan
sehari-hari, secara tidak sengaja sering kita malakukan prosedur semacam ini dikehidupan
sehari-hari seperti melakukan langkah mencuci baju, menjalankan sepeda motor. Itu semua
adalah algoritma yang dilakukan dalam kehidupan sehari-hari. Begitu juga dalam computer atau
didalam bahasa pemrograman. Jika langkah-langkah dalam kehidupan sehari-hari kita amati,
hampir tidak jauh beda dengan langkah-langkah pemrograman.

DAFTAR PUSTAKA

Bucknall,Julian (2001). Algorithms and Data Structures. Wordware Publishing


Munir, Rinaldi (2005), Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Buku 2, Edisi
Ketiga, Penerbit Informatika Bandung, Bab 2, hal 35-76.
Niemann, T. (2010). Sorting and searching algorithms. epaperpress. com, Portland.
Suryani, M., Kom, M., & Paulus, E.(2018) ALGORITMA DAN PEMROGRAMAN.
https://algorithmsanalysis.blogspot.com/2016/10/sorting-by-rifaldi-yunus-
mahendra.htmlhttps://betterlife64.blogspot.com/2016/04/sorting.htmlhttp://binus.ac.id/bandung/
2019/12/algoritma-selection-sort-di-python/
https://ilmuduniainformatika.blogspot.com/2013/01/algoritmasorting.htmlhttp://
web.if.unila.ac.id/chandro/2015/11/11/4/

Anda mungkin juga menyukai