Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Struktur Data Algoritma Sorting
Rahmady Liyantanto liyantanto.wordpress.com
2
PENGERTIAN 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! 2
3
Tujuan sorting Mudah dalam Membaca data Mudah dalam menemukan data
Penyajian data lebih teratur dll
4
Macam-Macam Algoritma Sorting
Beberapa algoritma untuk melakukan sorting: Bubble sort Selection sort Insertion sort Shell sort Merge sort Quick sort
5
Bubble 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!
6
BUBBLE SORT: SEBUAH ITERASI
2 1 40 3 43 -1 58 65 42 4 2 1 40 3 43 -1 65 58 42 4 2 1 40 3 43 -1 65 58 42 4 2 1 40 3 43 -1 58 65 42 4 2 1 40 3 43 -1 58 65 42 4 2 1 40 3 43 -1 58 42 4 65 2 1 40 3 43 -1 58 42 65 4 2 1 40 3 43 -1 58 42 65 4 2 1 40 3 43 -1 58 65 42 4 2 1 40 3 43 65 -1 58 42 4 2 1 40 3 43 65 -1 58 42 4 2 40 1 43 3 65 -1 58 42 4 2 40 1 43 3 65 -1 58 42 4 40 2 1 43 3 65 -1 58 42 4 2 1 40 43 3 65 -1 58 42 4 2 1 40 43 3 65 -1 58 42 4 2 1 40 3 43 65 -1 58 42 4 2 1 40 3 43 65 -1 58 42 4 2 1 40 43 3 65 -1 58 42 4 2 1 40 3 43 65 -1 58 42 4
7
BUBBLE SORT: ITERASI BERIKUTNYA
40 2 1 43 3 65 -1 58 42 4 1 2 65 2 1 40 3 43 -1 58 42 4 1 2 3 40 -1 43 42 4 3 65 58 4 1 2 3 40 65 -1 43 58 42 4 Perhatikan bahwa pada setiap iterasi, dapat dipastikan satu elemen akan menempati tempat yang benar
8
BUBBLE SORT: TERMINASI ALGORITMA
5 1 2 3 -1 40 65 43 58 42 4 1 -1 3 2 65 43 58 42 40 4 6 -1 1 2 65 3 43 58 42 40 4 7 8 -1 1 2 65 3 43 58 42 40 4 Berhenti di sini!
9
BUBBLE SORT: ALGORITMA
Procedure Procedure bubble(var data:array; jumlah:integer); var I, j : integer; begin for i:=1 to n-1do for j:=1 to n-i do if dta[j] > dta[j+1] then tukar(dta[j],dta[j+1]); //memanggil procedure tukar End;
10
SELECTION 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.
11
SELECTION SORT: CONTOH
40 2 1 43 3 65 -1 58 42 4 40 2 1 43 3 4 -1 58 3 42 65 40 2 1 43 3 4 -1 42 3 58 65 40 2 1 3 3 4 -1 42 43 58 65
12
SELECTION SORT: ALGORITMA
procedure selection; var i,j,min,pos:byte; begin for i:= 1 to jumlah-1 do pos:=i; {pivot=pos} for j:= i+1 to jumlah do if data [j] < data[pos] then pos:=j; ` if i<> pos then tukar(data[i], data[pos]); end;
13
INSERTION 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.
14
INSERTION SORT: CONTOH
40 2 1 43 3 65 -1 58 42 4 40 2 40 1 43 3 65 -1 58 3 42 4 1 2 40 43 3 65 -1 58 3 42 4
15
INSERTION SORT: CONTOH (LANJ.)
1 2 40 43 3 65 -1 58 3 42 4 1 2 3 40 43 65 -1 58 3 42 4 1 2 3 40 43 65 -1 58 3 42 4
16
INSERTION SORT: CONTOH (LANJ.)
1 2 3 40 43 65 -1 58 3 42 4 1 2 3 40 43 65 -1 58 3 42 4 -1 1 1 2 3 2 40 3 43 40 65 43 65 58 3 42 4
17
INSERTION SORT: CONTOH (LANJ.)
-1 1 1 2 2 3 3 40 40 43 43 65 58 65 3 42 4 -1 1 1 2 2 3 3 40 3 43 40 65 43 58 43 58 65 65 42 4 -1 1 2 1 2 3 3 40 43 3 40 65 43 42 65 43 58 65 4 1 2 3 40 43 65 42 -1 58 4
18
INSERTION SORT: ALGORITMA (MODIF.)
procedure asc_insersi; var i,j,temp:byte; begin for i:= 2 to jumlah do temp:=data [i]; j:= i-1 ; while (data[j]>temp) and (j>0)do data[j+1]:=data[j]; dec( j ); end; data[j+1]:=temp;
19
Menggunakan Record / Struct
NRP Nama Mata Kuliah Nilai Angka Nilai Huruf Ali SD 80 A Hasan 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]
20
Terima Kasih
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.