Anda di halaman 1dari 12

PENGURUTAN(SORTING)

Nama Anggota Kellompok :


1. Fifi Aprilia Putri Hidayat (22104410080)
2. Anisa Hikmawati Amalia (22104410087)
3. Laila Ivone Bella Prabawati (22104410090)
4. Muhammad Nurifqi Paulan (22104410112)
Definisi Pengurutan
(Sorting)
Pengurutan data (sorting) merupakan suatu proses dimana suatu susunan data yang
semula dalam kondisi acak dapat menjadi terurut, baik dari data terkecil sampai
dengan data yang terbesar, atau sebaliknya dari data terbesar sampai dengan data
terkecil (Wahyudi, 2009). Untuk dapat melakukan pengurutan data, sebuah algoritma
pengurutan data (sorting) sangat penting dan dibutuhkan dalam pengolahan data
informasi.
Teknologi informasi telah berkembang sangat pesat pada masa ini. Pencarian
informasi yang berjumlah kecil dan besar dalam waktu yang cepat, sangat dibutuhkan
sebagai upaya efisiensi waktu. Pencarian sebuah dokumen akan lebih cepat apabila
informasi-informasi mengenai dokumen yang akan dicari tersebut diurutkan terlebih
dahulu daripada pencarian-pencarian dokumen tanpa pengurutan. Terdapat lima
algoritma pengurutan data yaitu Quick sort, Shell sort, Selection sort, Insertion sort dan
Bubble sort
Terdapat 5 jenis pengurutan :

1. Quick Sort 2. Shell Sort 3. Selection Sort


(pengurutan cepat) (pengurutan shell) (pengurutan seleksi)
terdapat 2 jenis didalamnya :
·Metode Quick Sort Non Rekursif
·Metode Quick Sort Rekursif

4. Insertion Sort 5. Bubble sort


(pengurutan sisip) (Metode Gelembung)
1. Quick Sort (pengurutan cepat)
Metode Quick sering disebut juga metode partisi (partition exchange sort). Metode ini
diperkenalkan pertama kali oleh C.A.R. Hoare pada tahun 1962. Untuk mempertinggi efektifitas dari
metode ini, digunakan teknik menukarkan dua elemen dengan jarak yang cukup besar

·Metode Quick Sort Non Rekursif


Implementasi secara non rekursif memerlukan dua buah tumpukan (stack) yang digunakan yang digunakan
untuk menyimpan batas-batas subbagian. Pada prosedur ini menggunakan tumpukan yang bertipe record
(struktur) yang terdiri dari elemen kiri (untuk mencatat batas kiri) dan kanan (untukmencatat batas kanan.
Tumpukan dalam hal ini dideklarasikan sebagai array.

·Metode Quick Sort Rekursif


1. x = Data [(L + R) / 2]
2. i = L
3. j = R
4. Selama ( i <= j) kerjakan baris 5 sampai dengan 12
5. Selama (Data[i] < x) kerjakan i = i + 1
6. Selama (Data[j] > x) kerjakan j = j – 1
7. Jika (i <= j) maka kerjakan baris 8 sampai 10; jika tidak kerjakan baris 11
8. Tukar Data[i] dengan Data[j]
9. i = i + 1
10. j = j –1
11. Jika (L < j) kerjakan lagi baris 1 dengan R = j
12. Jika (i < R) kerjakan lagi baris 1 dengan L = i
2. Shell Sort
(pengurutan shell)
Metode ini disebut juga dengan metode pertambahan menurun (diminishing increment). Metode
ini dikembangkan oleh Donald L. Shell pada tahun 1959, sehingga sering disebut dengan Metode
Shell Sort. Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data
lain yang memiliki jarak tertentu, kemudian dilakukan penukaran bila diperlukan.

Algoritma metode Shell dapat dituliskan sebagai berikut:


1. Jarak = N
2. Selama (Jarak > 1) kerjakan baris 3 sampai dengan 9
3. Jarak = Jarak / 2. Sudah = false
4. Kerjakan baris 4 sampai dengan 8 selama Sudah = false
5. Sudah = true
6. j = 0
7. Selama (j < N – Jarak) kerjakan baris 8 dan 9
8. Jika (Data[j] > Data [j + Jarak] maka tukar Data[j],
Data [j + Jarak].
Sudah = true
9. j = j + 1
3. Selection Sort (pengurutan seleksi)
Metode seleksi melakukan pengurutan dengan cara mencari data yang
terkecil kemudian menukarkannya dengan data yang digunakan sebagai
acuan atau sering dinamakan pivot.

Algoritma seleksi dapat dituliskan sebagai berikut:


i=0
2. selama (i < N-1) kerjakan baris 3 sampai dengan 9
3. k = i
4. j = i + 1
5. Selama (j < N) kerjakan baris 6 dan 7
6. Jika (Data[k] > Data[j]) maka k = j
7. j = j + 1
8. Tukar Data[i] dengan Data[k]
9. i = i + 1
4. Insertion Sort
(pengurutan sisip)
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.

Algoritma penyisipan langsung dapat dituliskan sebagai berikut:


i=1
2. selama (i < N) kerjakan baris 3 sampai dengan 9
3. x = Data[i]
4. j = i – 1
5. selama (x < Data[j]) kerjakan baris 6 dan 7
6. Data [j + 1] = Data[j]
7. j = j – 1
8. Data[j+1] = x
9. i = i + 1
5. Bubble sort
(Metode Gelembung)

Algoritma gelembung dapat


PENGERTIAN dituliskan sebagai berikut:

Metode gelembung (bubble sort) sering juga i=0


disebut dengan metode penukaran (exchange 2. selama (i < N-1) kerjakan baris 3 sampai
dengan 7
sort) adalah metode yang mengurutkan data
3. j = N – 1
dengan cara membandingkan masing-masing
4. Selama (j >= i) kerjakan baris 5 sampai dengan
elemen, kemudian melakukan penukaran bila 7
perlu. Metode ini mudah dipahami dan 5. Jika (Data[j-1] > Data[j]) maka tukar Data[j-1]
diprogram, tetapi bila dibandingkan dengan dengan Data[j]
metode lain yang kita pelajari, metode ini 6. j = j – 1
merupakan metode yang paling tidak efisien 7. i = i + 1
Kelebihan Selection Sort
- Algoritmanya sangat rapat dan mudah
Kelebihan Pengurutan diimplementasikan.
- Operasi pertukarannya hanya dilakukan
(Sorting) sekali.
- Waktu pengurutan dapat lebih ditekan.

Kelebihan Quick Sort


- Secara umum memiliki kompleksitas O(n log n). Kelebihan Insertion Sort
- Algoritmanya sederhana dan mudah diterapkan - Sederhana dalam implementasinya.
pada berbagai bahasa pemrograman. - Efektif jika jumlah data sedikit.
- Dalam prakteknya adalah yang tercepat dari
- Jika list sudah terurut atau sebagian
berbagai algoritma pengurutan dengan
perbandingan, seperti merge sort dan heap sort.
terurut makas Insertion Sort akan
lebih efisien dibanding Quicksort.

Kelebihan Shell Sort Kelebihan Bubble Sort


- Algoritmanya sangat rapat dan mudah - Metode pengurutan yang paling
diimplementasikan.
simple.
- Operasi pertukarannya hanya dilakukan
sekali. - Sangat mudah dipahami
- Waktu pengurutan dapat lebih ditekan. algoritmanya.
Kekurangan Pengurutan
(Sorting)
Kekurangan Quick Sort
- Sedikit kesalahan dalam penulisan program membuatnya bekerja tidak beraturan
(hasilnya tidak benar atau tidak pernah selesai).
- Memiliki ketergantungan terhadap data yang dimasukkan, yang dalam kasus terburuk
memiliki kompleksitas O(n2).

Kekurangan Shell Short


- Membutuhkan method tambahan.
- Sulit untuk membagi masalah.

Kekurangan Selection Sort


- Sulit untuk membagi masalah.
Kekurangan Insertion Sort
- Banyaknya operasi yang diperlukan dalam mencari posisi yang
tepat untuk elemen larik.
- Untuk larik yang jumlahnya besar metode ini tidak praktis.

Kekurangan Bubble Sort


-Pada Bubble Sort jumlah pengulangannya akan tetap sama jumlahnya
walaupun data sudah cukup terurut. Karena disebabkan membandingkan
semua data untuk menentukan posisinya.
Contoh Code lainya
Mengurutkan bilangan 4,7,1,2,9,5

Anda mungkin juga menyukai