Algoritma Struktur Data
3 sks
Materi
Materi
Pengantar Struktur Data
Abstract Data Type (ADT)
Rekursif : Fibonacci
Sorting (Selection, Insertion, Bubble, Shell, Merge, Quick)
Struktur Data Linier (Linked List, Stack, Queu)
Bubble/ Exchange Sort
M embandingkan elemen yang sekarang dengan elemen yang berikut nya, jika elemen sekarang > elemen
berikut nya, maka dit ukar.
M et ode pengurut an gelembung (Bubble Sort ) ,
menginginkan larik t erurut menaik, maka elemen larik yang berharga paling kecil, dipindahkan ke ujung kiri larik melalui proses pert ukaran. Proses met ode ini
Bubble Sort
(M etode Gelembung)
Algorit manya sebagai berikut :
1. i
2
2. Selama (i <= N-1) kerjakan baris 3 s.d. 7
3. j
N
4. Selama (j >= i) kerjakan baris 5 s.d. 7
5. Jika (dat a[j-1] > dat a[j]) maka t ukar dat a[j-1] dengan
dat a[j]
Bubble Sort -
AscendingA: [ 23,17,14,6,13,10,1,5,7, 12]
I t e r a si
D a t a D a t a D a t a D a t a D a t a D a t a D a t a D a t a D a t a
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ]
i= 8 1 5 6 7 10 13 23 1 7 1 4
Bubble Sort -
AscendingA: [ 23,17,14,6,13,10,1,5,7, 12]
I t e r a si
D a t a D a t a D a t a D a t a D a t a D a t a D a t a D a t a D a t a
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ]
i= 9 1 5 6 7 10 13 14 2 3 1 7
Shell Sort
•
M et ode Shell sering disebut juga met ode
pertambahan menurun.
•
M et ode ini mengurut kan data dengan cara
membandingkan suat u data dengan data lain
yang memiliki jarak tertent u, kemudian
Shell Sort
•
Pada met ode ini pert ama-t ama adalah menent ukan jarak mula-mula dari dat a yang akan dibandingkan, yait u N/ 2.•
Set elah it u, dilakukan pengulangan dari 1 sampai dengan N/ 2.•
Pada masing-masing pengulangan dilakukan pembandingan ant ara dat a ke-j dengan dat a ke-(j+N/ 2).•
Apabila dat a ke-j lebih besar dari dat a ke-(j+N/ 2) maka kedua dat a t ersebut dit ukar.Shell Sort
•
Pada proses berikut nya, digunakan jarak (N/ 2)/ 2 at au N/ 4•
Kemudian dilakukan pengulangan dari 1 s.d. (N-N/ 4) at au 3N/ 4•
Pada masing-masing pengulangan dilakukan pembandingan ant ara dat a ke-j dengan dat a ke-(j+N/ 4)•
Apabila diperlukan, kedua dat a t ersebut dit ukar•
Pengulangan dari 1 s.d. 3N/ 4 ini dilakukan sampai semua dat a ke-j < dari pada dat a ke-(j+N/ 4)•
Pada proses berikut nya, digunakan jarak (N/ 4)/ 2 at au N/ 8Shell Sort
(M etode pengurutan penambahan menurun)
Algorit manya sebagai berikut :
1. i
22. Selama (i > 1) kerjakan baris 3 s.d. 10 3. i
i/ 24. Selesai
false5. Kerjakan baris 5 s.d. 9 sampai (Selesai=t rue) 6. Selesai
t rue7. j
18. Selama (j <= N – i) kerjakan baris 9 dan 10