Title: Struktur Data Algoritma Sorting
1Struktur Data Algoritma Sorting
- Rahmady Liyantanto
- liyantanto.wordpress.com
2PENGERTIAN SORT
- Sorting pengurutan
- Sorted terurut menurut kaidah/aturan tertentu
- Data pada umumnya disajikan dalam bentuk sorted.
- Contoh
- Data Mahasiswa
- Kata-kata dalam kamus
- File-file di dalam sebuah directory
- Indeks sebuah buku
- Data mutasi rekening tabungan
- dll
- Bayangkan jika data di atas tidak terurut!
3Tujuan sorting
- Mudah dalam Membaca data
- Mudah dalam menemukan data
- Penyajian data lebih teratur
- dll
4Macam-Macam Algoritma Sorting
- Beberapa algoritma untuk melakukan sorting
- Bubble sort
- Selection sort
- Insertion sort
- Shell sort
- Merge sort
- Quick sort
5Bubble Sort
- Bubble busa/udara dalam air apa yang terjadi?
- Busa dalam air akan naik ke atas. Mengapa?
- Ketika busa naik ke atas, maka air yang di
atasnya akan turun memenuhi tempat bekas busa
tersebut. - Pada setiap iterasi, bandingkan elemen dengan
sebelahnya yang busa naik, yang air turun!
6BUBBLE SORT SEBUAH ITERASI
7BUBBLE SORT ITERASI BERIKUTNYA
1
2
3
4
- Perhatikan bahwa pada setiap iterasi, dapat
dipastikan satu elemen akan menempati tempat yang
benar
8BUBBLE SORT TERMINASI ALGORITMA
5
6
7
8
Berhenti di sini!
9BUBBLE SORT ALGORITMA
- Procedure
- Procedure bubble(var dataarray jumlahinteger)
- var I, j integer
- begin
- for i1 to n-1do
- for j1 to n-i do
- if dtaj gt dtaj1 then
- tukar(dtaj,dtaj1) //memanggil
procedure tukar - End
10SELECTION SORT IDE DASAR
- Kondisi awal
- Unsorted list data
- Sorted list kosong
- Ambil yang terbaik (select) dari unsorted list,
tambahkan di belakang sorted list. - Lakukan terus sampai unsorted list habis.
11SELECTION SORT CONTOH
40
2
1
43
3
4
0
-1
58
3
65
42
40
2
1
43
3
4
0
-1
42
65
58
3
42
40
2
1
3
3
4
0
-1
65
58
43
12SELECTION SORT ALGORITMA
procedure selection var i,j,min,posbyte begin
for i 1 to jumlah-1 do begin posi pi
votpos for j i1 to jumlah do if data
j lt datapos then posj if iltgt pos
then tukar(datai, datapos) end end
13INSERTION SORT IDE DASAR
- Kondisi awal
- Unsorted list data
- Sorted list kosong
- Ambil sembarang elemen dari unsorted list,
sisipkan (insert) pada posisi yang benar dalam
sorted list. - Lakukan terus sampai unsorted list habis.
- Bayangkan anda mengurutkan kartu.
14INSERTION SORT CONTOH
40
2
40
1
43
3
65
0
-1
58
3
42
4
1
2
40
43
3
65
0
-1
58
3
42
4
15INSERTION SORT CONTOH (LANJ.)?
1
2
40
43
3
65
0
-1
58
3
42
4
1
2
3
40
43
65
0
-1
58
3
42
4
1
2
3
40
43
65
0
-1
58
3
42
4
16INSERTION SORT CONTOH (LANJ.)?
1
2
3
40
43
65
0
-1
58
3
42
4
1
2
3
40
43
65
0
-1
58
3
42
4
1
2
3
40
43
65
0
58
3
42
4
1
2
3
40
43
65
0
-1
17INSERTION SORT CONTOH (LANJ.)?
1
2
3
40
43
65
0
58
3
42
4
1
2
3
40
43
65
0
-1
1
2
3
40
43
65
0
58
42
4
1
2
3
3
43
65
0
-1
58
40
43
65
1
2
3
40
43
65
0
42
4
1
2
3
3
43
65
0
-1
58
40
43
65
18INSERTION SORT ALGORITMA (MODIF.)?
procedure asc_insersi var i,j,tempbyte begin
for i 2 to jumlah do begin
tempdata i j i-1 while
(datajgttemp) and (jgt0)do begin
dataj1dataj dec( j )
end dataj1temp end
19NRP Nama Mata Kuliah Nilai Angka Nilai Huruf
10041119 Ali SD 80 A
10041116 Hasan SD 50 E
- Keterangan
- Menggunakan Record / Struct
- Harus bisa Sorting bubble, selection, insertion
berdasarkan NRP, Nama, Mata Kuliah, Nilai. - Nilai Huruf adalah Hasil Conversi dari Nilai
Angka misan 80 maka nilai huruf akan diisi
dengan A, dst
20Terima Kasih