Anda di halaman 1dari 17

ALGORITMA DAN STRUKTUR DATA

PENGURUTAN (SORTING)
PENGERTIAN SORTING

Sorting atau pengurutan data adalah proses yang sering harus dilakukan
dalampengolahan data. Sort dalam hal ini diartikan mengurutkan data
yang berada dalamsuatu tempat penyimpanan,dengan urutan tertentu
baik urut menaik (Ascending) darinilai terkecil sampai dengan nilai
terbesar, atau urut menurun (descending) dari nilaiterbesar sampai
dengan nilai terkecil. Sorting
adalah proses pengurutan
MACAM SORTING

• Bubble Sort
• Selection Sort
• Insertion Sort
• Shell Sort
• Merge Sort
• Quick Sort
BUBBLE SORT

• Bubble Sort merupakan cara pengurutan yangsederhana. Konsep dari ide


dasarnya adalah seperti “gelembung air” untuk elemen struktur data
yangsemestinya berada pada posisi awal.
• Cara kerjanya adalah dengan berulang-ulang melakukan traversal (proses
looping) terhadap elemen-elemen struktur datayang belum diurutkan. Di
dalam traversal tersebut,nilai dari dua elemen struktur data dibandingkan.
Jikaternyata urutannya tidak sesuai dengan “pesanan”, maka dilakukan
pertukaran (swap).
• Algoritma sortingini disebut juga dengan comparison sort dikarenakan
hanya mengandalkan perbandingan nilai elemen untukmengoperasikan
elemennya
BUBBLE SORT

• Algoritma bubble sort dapat diringkas sebagaiberikut, jika N adalah


panjang elemen struktur data, dengan elemen-elemennya adalah T1,
T2, T3, …, TN-1, TN, maka :
• Lakukan traversal untuk membandingkan dua elemen berdekatan.
• Traversal ini dilakukan dari belakang.
• Jika elemen pada TN-1 > TN , maka lakukan pertukaran (swap). Jika
tidak, lanjutkan ke proses traversal berikutnya sampai bertemu
dengan bagian struktur data yang telah diurutkan.
• Ulangi langkah di atas untuk struktur data yang tersisa
SELECTION SORT

• Algoritma sorting sederhana yang lain adalahSelection Sort. Ide


dasarnya adalah melakukan beberapa kali pass untuk melakukan
penyeleksian elemen struktur data
• Untuk sorting ascending (menaik), elemen yang paling kecil di antara
elemen-elemen yang belum urut, disimpan indeksnya, kemudian
dilakukan pertukaran nilai elemen dengan indeks yang disimpan
tersebut dengan elemen yang paling depan yang belum urut.
Sebaliknya, untuk sorting descending (menurun), elemen yang
paling. besar yang disimpan indeksnya kemudian ditukar
SELECTION SORT

• Temukan nilai yang paling minimum (atau sesuaikeinginan) di dalam


struktur data. Jika ascending, maka yang harus ditemukan adalah
nilai yang paling minimum. Jika descending, maka temukan nilai yang
paling maksimum
• Tukar nilai tersebut dengan nilai pada posisi pertama di bagian
struktur data yang belum diurutkan
• Ulangi langkah di atas untuk bagian struktur data yang tersisa
INSERTION SORT

• Cara kerja insertion sort sebagaimana namanya.Pertama-tama,


dilakukan iterasi, dimana di setiap iterasi insertion sort
memindahkan nilai elemen, kemudian menyisipkannya berulang-
ulang sampai ketempat yang tepat.
• Begitu seterusnya dilakukan.
• Dari proses iterasi, seperti biasa, terbentuklah bagian yang telah di
sorting dan bagian yang belum.
INSERTION SORT

• Simpan nilai Ti ke dalam variabel sementara, dengan i = 1.


• Bandingkan nilainya dengan elemen sebelumnya.
• Jika elemen sebelumnya (Ti-1) lebih besar nilainya daripada Ti, maka
tindih nilai Ti dengan nilai Ti-1 tersebut. Decrement i (kurangi
nilainya dengan 1).
• Lakukan terus poin ke-tiga, sampai Ti-1 ≤ Ti.
• Jika Ti-1 ≤ Ti terpenuhi, tindih nilai di Ti dengan variabel sementara
yang disimpan sebelumnya.
• Ulangi langkah dari poin 1 di atas dengan i di-increment (ditambah
satu)
SHELL SORT

• Metode ini dikembangkan oleh Donald L. Shell pada tahun 1959.


• Dalam metode ini jarak antara dua elemen yang dibandingkan dan
ditukarkan tertentu.
• Secara singkat metode ini dijelaskan sebagai berikut :
• Pada langkah pertama, ambil elemen pertama dan 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
MERGE SORT

• Algoritma Merge Sort ditemukan oleh John von Neumann di tahun 1945.
• Merge Sort termasuk paradigma algoritma divide and conquer (kurang
lebih berarti: bagi dan atasi).
• Hal ini dikarenakan algoritma ini melakukan pembagian struktur data
sebelum kemudian di operasi satu per satu.
• Intinya, algoritma ini menggunakan dua ide utama
• Sebuah list yang kecil membutuhkan langkah yang lebih sedikit untuk
pengurutan dari pada sebuah list yang besar
• Untuk membentuk sebuah list terurut dari dua buah list terurut
membutuhkan langkah yang lebih sedikit daripada membentuk sebuah
list terurut dari dua buah list tak terurut.
• Contoh: hanya diperlukan satu kali traversal untuk masing-masing list jika
keduanya sudah terurut
MERGE SORT

• Algoritma Merge Sort sederhananya, dapat ditulis berikut :


• Bagi list yang tak terurut menjadi dua sama panjang atau salah
satunya lebih panjang satu elemen.
• Bagi masing-masing dari 2 sub-list secara rekursif sampai didapatkan
list dengan ukuran 1.
• Gabung 2 sublist kembali menjadi satu list terurut.
QUICK SORT

• Quick Sort adalah algoritma sorting yang terkenal yang dirancang oleh
C.A.R. Hoare pada tahun 1960 ketika bekerja untuk perusahaan
manufaktur komputer saintifik kecil, Elliott Brothers. Algoritma ini rekursif,
dan termasuk paradigma algoritma divide and conquer
• Jika struktur data terdiri dari 1 atau 0 elemen yang harus diurutkan,
kembalikan struktur data itu apa adanya
• Ambil sebuah elemen yang akan digunakan sebagai pivot point (poin
poros). (Biasanya elemen yang paling kiri)
• Bagi struktur data menjadi dua bagian satu dengan elemen-elemen yang
lebih besar dari pada pivot point, dan yang lainnya dengan elemen-
elemen yang lebih kecil dari pada pivot point
• Ulangi algoritma secara rekursif terhadap kedua paruh struktur data
TERIMA KASIH
ALGORITMA DAN STRUKTUR DATA
UNIJA

Anda mungkin juga menyukai