Anda di halaman 1dari 11

MACAM-MACAM SORTING

ESSAY
Diajukan Untuk Memenuhi Salah Satu Syarat Tugas
Dalam Menempuh Mata Kuliah Algoritma dan Komputasi

Disusun Oleh :

211012000024 Budi Isdiyanto

FAKULTAS TEKNIK

PROGRAM STUDI TEKNIK INFORMATIKA

UNIVERSITAS PAMULANG

Jl. Puspitek, Buaran, Kec. Pamulang, Kota Tangerang Selatan, Banten 15310
PEMBAHASAN

1. Buble Sort

Merupakan algoritma pengurutan paling tua dengan metode pengurutan paling


sederhana. Pengurutan yang dilakukan dengan membandingkan masing-masing item
dalam suatu list secara berpasangan, menukar item jika diperlukan, dan mengulaginya

Algoritma Bubble Sort :


Proses dari bubble sort ini menggunakan 2 kalang , kalang pertama melakukan
pengulangan dari elemen ke-2 sampai dengan elemen ke N-1 (misalnya variable a ),
sedangkan kalang kedua melakukan pengulangan menurun dari elemen ke N sampai
elemen ke a (misalkan variable b). pada setiap pengulangan , elemen ke b-1
dibandingkan dengan elemen ke b . apabila data ke b-1 lebih besar daripada data ke
b-1, dilakukan penukaran .

1. Dilakukan pembandingan setiap pasangan elemen yang berdekatan , misalnya


pada elemen ke-2 dan ke-3 . jika nilai pertama lebih besar daripada nilai
kedua maka dilakukan penukaran .
2. Periksa elemen selanjutnya , apakah nilainya sudah lebih kecil atau masih
lebih besar . jika masih lebih besar maka akan tetap dan dilanjutkan
pemeriksaan elemen lain .
3. Ulangi langkah tersebut setidaknya satu sudah melakukan satu kali pertukaran
4. Sampai semua elemen urut sesuai dengan diinginkan . baik ascending maupun
descending .
Flowchart :

Contoh permasalahan :

Data Awal 30 70 10 40 60 20 50
Pass 30 70 10 40 60 20 50
Pass 30 70 10 40 60 20 50
Pass 30 10 70 40 60 20 50
Pass 30 10 40 70 60 20 50
Pass 30 10 40 60 70 20 50
Pass 30 10 40 60 70 70 50
Pass 30 10 40 60 70 50 70

Data Akhir 10 20 30 40 50 60 70
2. Insertion Sort

Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi
dua bagian, yang belum diurutkan dan yang sudah diurutkan. Elemen pertama
diambil dari bagian array yang belum diurutkan dan kemudian diletakkan sesuai
posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan
secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang
belum diurutkan.

Algoritma :

1. Langkah pertama mencari data yang paling terkecildari data awal sampai
akhir.
2. Data yang paling kecil ditukar ke data pertama , sehingga data pertama
menjadi data yang paling kecil.
3. Data terkecil dicari mulai dari data kedua sampai data terakhir .
4. Data kecil yang diperoleh maka akan ditukar dengan data kedua .
5. Kemudian seterusnya hingga semua data menjadi urut .

Contoh Permasalahan :

Data Awal 30 70 10 40 60 20 50
Pass 30 70 10 40 60 20 50
Pass 30 70 10 40 60 20 50
Pass 10 30 70 40 60 20 50
Pass 10 30 40 70 60 20 50
Pass 10 30 40 60 70 20 50
Pass 10 20 30 40 60 70 50

Data Akhir 10 20 30 40 50 60 70
Flowchart :

3. Selection Sort

Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling
rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai
dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.

Algoritma :

1. Bandingkan bilangan ke-1 atau bilangan ke-2


2. Apabila Benar pindahkan bilangan ke-2 ke bilangan sisip
3. Pindah bilangan ke-1 ke bilangan ke-2
4. Pindah bilangan sisip ke bilangan ke-1
5. Jika Tidak, proses akan berlanjut
6. Bandingkan bilangan ke-2 > atau < bilangan ke-3
7. Jika Benar, pindahkan bilangan ke-3 ke bilangan sisip
8. Pindah bilangan ke-2 ke bilangan ke-3
9. Pindah bilangan sisip ke bilangan ke-2
10. Jika Tidak, proses berlanjut
11. Ulangi langkah no. 3 sampai hasil sesuai yang diinginkan

Flowchart :
Contoh Permasalahan :

Data Awal 30 70 10 40 60 20 50
Pass 30 70 10 40 60 20 50
Pass 10 70 30 40 60 20 50

Pass 10 20 30 40 60 70 50
Pass 10 20 30 40 60 70 50

Pass 10 20 30 40 60 70 50
0
Pass 10 20 30 40 60 70 50

Data Akhir 10 20 30 40 50 60 70

4. Merge Sort

Algoritma dirumuskan dalam 3 langkah berpola divide-and-conquer. Berikut


menjelaskan langkah kerja dari Merge sort.

1 Divide : Memilah elemen – elemen dari rangkaian data menjadi dua bagian.
2 Conquer : Conquer setiap bagian dengan memanggil prosedur merge sort secara
rekursif
3 Kombinasi : Mengkombinasikan dua bagian tersebut secara rekursif untuk
mendapatkan rangkaian data berurutan

Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana
bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu
elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian.

Algoritma :

1. Data dipecah menjadi dua kelompok dimana kelompok pertama adalah


setengah apabila data genap atau setengah kurang satu apabila data ganjil dari
seluruh data.
2. Kemudian dilakukan pemecahan kembali pada masing-masing kelompok
hingga hanya terdapat satu data pada satu kelompok.
3. Setelah digabungkan kembali dengan membandingkan pada blok yang sama
apakah data pertama lebih besar dari pada data ketengah ditambah satu, jika
iya maka data ketengah ditambah satu dipindah menjadi data pertama.
4. Kemudian data pertama tadi hngga data ketengah dipindah menjadi data
kedua sampai data ketengah ditambah satu.
5. Begitu seterusnya sehingga membentuk sebuah data yang tersusun dalam satu
kelompok yang utuh.

Flowchart Merge Sort:


Contoh Permasalahan :

Data Awal 30 70 10 40 60 20 50

30 70 10 40 60 20 50

30 70 10 40 20 60 50

10 30 70 40 20 60 50

10 30 40 70 20 60 50

10 30 40 70 20 50 60

10 20 30 40 70 50 60

10 20 30 40 50 70 60

Data Akhir 10 20 30 40 50 60 70

5. Quick Sort

Algoritma ini berdasar pada pola divide-and-conquer. Berbeda dengan merge sort,
algoritma ini hanya mengikuti langkah – langkah sebagai berikut :

1 Divide
Memilah rangkaian data menjadi dua sub-rangkaian A[p…q-1] dan A[q+1…r]
dimana setiap elemen A[p…q-1] adalah kurang dari atau sama dengan A[q] dan
setiap elemen pada A[q+1…r] adalah lebih besar atau sama dengan elemen pada
A[q]. A[q] disebut sebagai elemen pivot. Perhitungan pada elemen q 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.
Algoritma:

1. Mempunyai data A yang memiliki N elemen, pilih sembarang elemen dari


data tersebut biasanya elemen pertama misalkan elemen x
2. Kemudian semua elemen tersebut disusun dengan menempatkan x pada posisi
j sedemikian rupa sehingga elemen ke satu sampai pada j-1 dan memiliki nilai
yang lebih besar dari x
3. Begitu seterusnya setiap sub data

Flowchart quicksort :
Contoh Permasalahan

Data Awal 30 70 10 40 60 20 50
Pass 30 70 10 40 60 20 50
Pass 30 70 10 40 60 20 50
Pass 20 10 70 40 60 30 50
Pass 30 10 40 70 60 20 50
Pass 30 10 40 60 70 20 50
Pass 30 10 40 60 70 70 50
Pass 30 10 40 60 70 50 70

Data Akhir 10 20 30 40 50 60 70

Anda mungkin juga menyukai