Anda di halaman 1dari 14

MAKALAH

METODE SORTING LANJUTAN

Dosen Pengampu :
Syahrullah, S.Kom., M.Kom

Disusun Oleh :
Andi Wulan Wahyuni (F55121001)
Andi Nirina Nursiana Zasqia (F55121007)
Wahid Radikal Akhlak (F55121022)
Aulia Intan Prasasti (F55121033)
I Gede Aditya Mugeblin (F55120130)

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNOLOGI INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS TADULAKO
2021/2022
KATA PENGANTAR

Puji syukur kehadirat Tuhan Yang Maha Esa yang telah memberikan
rahmat, hidayah dan karunianya kepada kami, sehingga kami dapat menyelesaikan
tugas makalah dengan judul “Metode Sorting Lanjutan”.
Adapun tujuan dari penyusunan makalah ini adalah untuk memenuhi tugas
mata kuliah Dasar Pemrograman yang telah diberikan oleh Bapak Syahrullah,
S.Kom., M.Kom.
Kami menyampaikan terima kasih kepada Bapak Syahrullah, S.Kom.,
M.Kom selaku dosen pengampu mata kuliah Dasar Pemrograman yang telah
memberikan tugas makalah mengenai “Metode Sorting Lanjutan”. Kami berharap,
makalah ini dapat memberikan manfaat, menambah wawasan dan pengetahuan
mengenai “Metode Sorting Lanjutan”.
Kami menyadari bahwa makalah ini masih mempunyai kekurangan dan
jauh dari kesempurnaan. Oleh karena itu, kami mengharapkan kritik dan saran
yang membangun dari berbagai pihak untuk perbaikan pada makalah ini.

Palu, Desember 2021

Penyusun
Kelompok 8

1
DAFTAR ISI

KATA PENGANTAR..............................................................................................................1

DAFTAR ISI..........................................................................................................................2

BAB I PENDAHULUAN.........................................................................................................3

1.1 Latar Belakang....................................................................................................3

1.2 Rumuan Masalah................................................................................................3

1.3 Tujuan................................................................................................................4

1.4 Manfaat..............................................................................................................4

BAB II PEMBAHASAN..........................................................................................................5

2.1 Sorting..................................................................................................................5

2.2 Jenis-jenis Metode Sorting Lanjutan, Definisi Dan Contoh Dari Jenis-jenis Metode
Sorting Lanjutan....................................................................................................6

BAB III PENUTUP..............................................................................................................12

3.1 Kesimpulan.......................................................................................................12

3.2 Saran................................................................................................................12

DAFTAR PUSTAKA.............................................................................................................13

2
BAB I
PENDAHULUAN

1.1 Latar Belakang


Salah satu bagian penting dari struktur data adalah proses pengurutan data.
Data terkadang akan berada dalam bentuk yang tidak berpola ataupun dengan
pola tertentu yang tidak kita inginkan. Namun dalam penggunaannya, kita
akan selalu ingin menggunakan data tersebut dalam bentuk yang rapi atau
berpola sesuai dengan yang kita inginkan. Maka dari itu proses sorting adalah
proses yang sangat penting dalam struktur data. Proses pengurutan banyak
ditemukan dalam pemrosesan komputer. Data yang sudah terurut memiliki
beberapa keuntungan. Selain mempercepat pencarian, data yang sudah terurut
juga dapat dengan mudah menentukan nilai terbesar atau terkecil.
Sorting merupakan program yang mempermudah kerja dalam bidang
statistika dan informasi yakni dalam hal pengurutan data. Dari program
pengurutan data terdapat algoritma-algoritma yang digunakan untuk
menguruutkan sebuah data, salah satunya adalah sorting. Adapun kelebihan
Sorting adalah untuk memudahkan dalam pencarian data, dan juga agar data
lebih sestematis karena terurut. Sehingga metode pengurutan dengan
menggunakan sorting sangat bermanfaat dalam pencarian data.
Pengurutan data memang sangat relevan dan merupakan aktivitas yang
sangat penting berkaitan dengan pemrosesan data. Bahkan pengurutan data
telah banyak dilakukan dengan bantuan alat. Adanya kebutuhan terhadap
peroses pengurutan memunculkan bermacam-macam metode pengurutan yang
bertujuan untuk memperoleh metode pengurutan yang optimal.
1.2 Rumusan Masalah
Adapun rumuan masalah yang akan dibahas didalam makalah ini, dapat
dirumuskan sebagai berikut :
1. Apa definisi dari sorting ?
2. Apa saja jenis-jenis metode sorting lanjutan, definisi dan contoh dari jenis-
jenis metode sorting lanjutan ?

3
1.3 Tujuan
Berdaarkan rumusan masalah yang dikemukakan di atas, maka dapat
dirumuskan tujuan dari penyusunan makalah ini adalah sebagai berikut :
1. Untuk mengetahui dan memahami mengenai definisi dari sorting.
2. Untuk mengetahui dan memahami jenis-jenis metode sorting lanjutan,
definisi dan contoh dari jenis-jenis metode sorting lanjutan.

1.4 Manfaat
Adapun manfaat makalah ini adalah :
1. Mahasiswa dapat menambah pengetahuan dan memahami mengenai
sorting.
2. Mahasiswa dapat menambah pengetahuan dan memahami mengenai jenis-
jenis metode sorting lanjutan dan contoh dari jenis-jenis metode sorting
lanjutan.

4
BAB II
PEMBAHASAN

2.1 Sorting
Sorting berasal dari kata dasar “sort”, dalam bahasa Indonesia berarti
mengurutkan. Pengurutan (sorting) adalah proses mengatur sekumpulan objek
menurut urutan atau susunan tertentu. Urutan objek tersebut dapat menaik
(ascending), yaitu urutan objek yang disusun mulai dari Nilai terkecil hingga
terbesar atau menurun (descending), yaitu urutan objek yang disusun mulai
dari nilai terbesar hingga terkecil. Jika N sebuah objek atau data disimpan di
dalam array nilai, maka pengurutan menaik berarti menyusun elemen array
sedemikian sehingga : NILAI[0] ≤ NILAI[1] ≤ NILAI[2] ≤ … ≤ NILAI[N-1]
Sedangkan pengurutan menurun berarti menyusun elemen array sedemikian
sehingga : NILAI[0] ≥ NILAI[1] ≥ … ≥ NILAI[N-1]
Di sekitar kita, banyak sekali contohnya. Seperti kamus bahasa, diurutkan
berdasarkan abjad mulai dari A hingga Z. Selain itu, folder atau file pada
komputer kita dimana diurutkan berdasarkan atribut tanggal, nama, hingga
ukuran file atau folder tersebut. Jadi, metode sorting ini tentunya sangat
berguna untuk pembuatan program dari bahasa C++. Menggunakan metode
sorting ini dapat mempersingkat waktu kita dalam membuat program dan
menghemat baris kode.
Data yang diurut dapat berupa data bertipe data dasar atau tipe data
bentukan. Jika data bertipe bentukan (structure), maka harus disebutkan
berdasarkan field apa data tersebut akan diurutkan. Sama halnya dengan
pencarian, pengurutan juga dibedakan menjadi dua kelompok, yaitu :
1) Pengurutan Internal, yaitu pengurutan terhadap sekumpulan data yang
disimpan di dalam memori komputere. Umumnya struktur internal yang
dipakai untuk pengurutan ini adalah array, sehingga pengurutan internal
disebut dengan pengurutan array.
2) Pengurutan Eksternal, yaitu pengurutan data yang disimpan di dalam
memori sekunder. Biasanya data dengan berjumlah besar sehingga tidak
mampu dimuat semuanya dalam memori komputer. Struktur eksternal

5
yang dipakai adalah arsip (file), maka pengurutan ini juga sering disebut
dengan pengurutan arsip.
Karena pengaksesan memori utama lebih cepat dari pada pengaksesan memori
sekunder, maka pengurutan internal lebih cepat dibanding dengan pengurutan
eksternal.

2.2 Jenis-jenis Metode Sorting Lanjutan, Definisi Dan Contoh Dari Jenis-
jenis Metode Sorting Lanjutan
Jenis-jenis metode sorting lanjutan yang dapat digunakan untuk
pengurutan yaitu shell sort, merge sort, quick sort dan radix sort.
1) Shell Sort
Shell Sort ini dinamakan sesuai dengan penciptanya yaitu Donald L.
Shell. Shell Sort disebut juga dengan metode pertambahan menurun
(diminishing increment). Metode Shell Sort mirip dengan metode Bubble
Sort, hanya saja perbandingan dilakukan bukan antara dua bilangan yang
berurutan, akan tetapi antara dua bilangan dengan jarak tertentu. Jarak
ditentukan dengan N Div 2, dimana N adalah banyaknya elemen array.
Lakukan pertukaran tempat jika setiap kali perbandingan dipenuhi (lebih
besar untuk urut menaik dan lebih kecil untuk urut menurun). Setiap kali
perbandingan terhadap keseluruhan elemen selesai dilakukan, maka
perbandingan yang baru dilakukan kembali dimana jarak diperoleh
dengan Jarak Div 2 (jarak diperoleh dari nilai jarak sebelumnya).
Perbandingan keseluruhan dilakukan sampai nilai jarak sama dengan 1
(satu). Pada saat jarak bernilai 1, maka metode Shell Sort sama dengan
metode Bubble Sort.

6
Contoh dari Shell Sort :

2) Merge Sort
Merge Sort ini memanfaatkan keteraturan yang diperoleh dari hasil
merging dua buah array. Suatu array nilai yang mempunyai N elemen
(Nilai[0..N-1]) dianggap terdiri dari N array yang masing-masing terdiri
dari satu elemen. Untuk pasangan array yang berdekatan kita lakukan
merging sehingga diperoleh N/2 buah array yang masing-masing array
memiliki 2 elemen (jika N ganjil, akan terdapat sebuah array dengan 1
elemen). Pada saat melakukan proses merging dilakukan pengaturan
posisi dengan cara elemen yang lebih kecil diletakkan di posisi awal
(untuk pengurutan secara menaik) dan elemen yang lebih besar diletakkan
di posisi awal (untuk pengurutan secara menurun). Kemudian dilakukan
merging kembali untuk setiap pasanga array seperti cara di atas sehingga
kita peroleh N/2 buah array yang masing-masing array memiliki 4

7
elemen. Langkah ini kita teruskan hingga kita memperoleh sebuah array
yang sudah dalam keadaan terurut.
Contoh dari Merge Sort :

8
3) Quick Sort
Quick Sort merupakan metode tercepat dalam proses pengurutan data
dengan menggunakan prinsip rekursif. Metode ini menggunakan strategi
“pecah-belah” dengan mekanisme berikut :
Misalkan kita mempunyai array Nilai[k..l]. Array dipartisi menjadi dua
bagian array kiri Nilai[k..m] dan array kanan Nilai[m+1..l]. Dasar
mempartisi array menjadi dua adalah dengan mengambil elemen pertama
sebagai elemen pivot. Letakkan semua elemen array yang lebih kecil dari
pivot ke sebelah pivot dan semua elemen array yang lebih besar dari pivot
ke sebelah kanan pivot. Elemen-elemen yang di sebelah kiri elemen pivot
merupakan elemen-elemen array Nilai[k..m] sedangkan elemen-elemen
array Nilai[m+2..l] adalah semua elemen yang lebih besar dari pivot.
Lakukan hal yang sama seperti di atas terhadap array Nilai[k..m] dan
Nilai[m+1..l] hingga tidak dapat dipartisi lagi.
Contoh dari Quick Sort :

9
4) Radix Sort
Radix Sort adalah metode sorting tanpa pembandingan dengan kata lain,
sorting Non-Comparasion sort dimana dalam prosesnya tidak melakukan
perbandingan antar data. Secara umum yang proses yang dilakukan dalam
metode ini adalah mengklasifikasikan data sesuai dengan kategori terurut
yang tertentu dan dalam tiap kategorinya dilakukan pengklasifikasian lagi
dan seterusnya sesuai dengan kebutuhan. Dan kemudian subkategori-
subkategori tersebut digabungkan kembali, yang secara dilakukan hanya
dengan metode sederhana concatenation.
Radix Sort merupakan algoritma pengurutan yang ajaib yang mana
mengatur pengurutan nilainya tanpa melakukan beberapa perbandingan
pada data yang dimasukkan. Kata radix bermakna harafiah posisi dalam
angka [1]. Di mana sederhananya, dalam representasi desimal, radix
adalah digitnya. Dalam implementasinya, Radix Sort merupakan
algoritma pengurutan yang cepat, mudah, dan sangat efektif. Namun
banyak orang yang berpikir bahwa algoritma ini memiliki banyak batasan
di mana untuk kasus-kasus tertentu tidak dapat dilakukan dengan
algoritma ini, seperti pengurutan bilangan pecahan dan bilangan negatif.
Berdasarkan urutan pemrosesan radixnya, Radix Sort terbagi 2 macam,
yaitu: LSD (Least Significant Digit), di mana pemrosesan dimulai dari
radix yang paling tidak signifikan. dan MSD (Most Significant Digit), di
mana pemrosesan dimulai dari radix yang paling signifikan.
Proses dasar Radix Sort adalah mengkategorikan data-data menjadi
subkumpulan-subkumpulan data sesuai dengan nilai radix-nya,

10
mengkonkatenasinya, kemudian mengkategorikannya kembali berdasar
nilai radix lainnya.
Contoh dari Radix Sort :

11
BAB III
PENUTUP

3.1 Kesimpulan
Pengurutan (sorting) adalah proses mengatur sekumpulan objek
menurut urutan atau susunan tertentu. Urutan objek tersebut dapat menaik
(ascending), yaitu urutan objek yang disusun mulai dari Nilai terkecil
hingga terbesar atau menurun (descending), yaitu urutan objek yang
disusun mulai dari nilai terbesar hingga terkecil.
Shell Sort disebut juga dengan metode pertambahan menurun
(diminishing increment). Metode Shell Sort mirip dengan metode Bubble
Sort, hanya saja perbandingan dilakukan bukan antara dua bilangan yang
berurutan, akan tetapi antara dua bilangan dengan jarak tertentu. Merge
Sort ini memanfaatkan keteraturan yang diperoleh dari hasil merging dua
buah array. Suatu array nilai yang mempunyai N elemen (Nilai[0..N-1])
dianggap terdiri dari N array yang masing-masing terdiri dari satu elemen.
Quick Sort merupakan metode tercepat dalam proses pengurutan data
dengan menggunakan prinsip rekursif. Radix Sort adalah metode sorting
tanpa pembandingan dengan kata lain, sorting Non-Comparasion sort
dimana dalam prosesnya tidak melakukan perbandingan antar data. Radix
Sort merupakan algoritma pengurutan yang ajaib yang mana mengatur
pengurutan nilainya tanpa melakukan beberapa perbandingan pada data
yang dimasukkan.

3.2 Saran
Dengan disusunya makalah ini, semoga makalah ini bias menjadi infirasi
dalam kehidupan sehari-hari, secara tidak sengaja sering kita malakukan
prosedut semacam ini di kehidupan 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.

12
DAFTAR PUSTAKA
(Admin, http://www.sarjanapedia.com/2019/02/metode-sorting-pada-cpp.html?m=1,
2019)
(pintarkom, https://pintarkom.com/sorting-pada-c-plus/, 2019)

13

Anda mungkin juga menyukai