SlideShare a Scribd company logo
1 of 15
Download to read offline
Sorting AlgorithmS
1. Selection
2. Bubble
3. InSertion
4. Merge
5. Quick
6. Shell
DefiniSi
• Metode ini diSebut juga dengan metode
pertambahan menurun (diminiShing
increment Sort). 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 –
Sehingga membentuk Sebuah Sub-liSt-,
kemudian dilakukan penukaran bila
diperlukan
DefiniSi
• Jarak yang dipakai didaSarkan pada
increment value atau Sequence number k
• MiSalnya Sequence number yang dipakai
adalah 5,3,1. Tidak ada pembuktian di
Sini bahwa bilangan-bilangan terSebut
adalah Sequence number terbaik
• Setiap Sub-liSt beriSi Setiap elemen ke-k
dari kumpulan elemen yang aSli
DefiniSi
• Contoh: Untuk array S, jika k = 5 maka sub-list nya adalah
sebagai berikut :
- S[0] S[5] S[10] ...
- S[1] S[6] S[11] …
- S[2] S[7] S[12] …
- dst
• Begitu juga jika k = 3 maka sub-list nya adalah:
- S[0] S[3] S[6] ...
- S[1] S[4] S[7] …
- dst
Proses Shell Sort
• Buatlah sub-list yang didasarkan pada
jarak (Sequence number) yang dipilih
• Urutkan masing-masing sub-list
tersebut
• Gabungkan seluruh Sub-list
Let’s see this algorithm in action
Proses Shell Sort
• Urutkan sekumpulan elemen di bawah ini,
misalnya diberikan Sequence number : 5, 3, 1
30 62 53 42 17 97 91 38
[0] [1] [2] [7][3] [4] [5] [6]
Proses Shell Sort utk k=5
3030 62 53 42 17 97 91 3862 53 42 17 97 91 38
S[3]
S[0] S[5]
S[1] S[6]
S[2] S[7]
Step 1: Buat sub list k = 5
Step 2 - 3: Urutkan Sub list & gabungkan
S[0] < S[5] This is OK
S[1] < S[6] This is OK
S[2] > S[7] This is not OK.
Swap them
30 62 53 42 17 97 91 38
[0] [1] [2] [7][3] [4] [5] [6]
30 62 38 42 17 97 91 53
[0] [1] [2] [7][3] [4] [5] [6]
Proses Shell Sort utk k=3
3030 62 53 42 17 97 91 3862 53 42 17 97 91 38
S[0] S[3] S[6]
S[1] S[4] S[7]
S[2] S[5]
Step 1: Buat sub list k = 3
Step 2 - 3: Urutkan sub list & gabungkan
S[0] S[3] S[6] 30, 42, 91 OK
S[1] S[4] S[7] 62, 17, 53 not OK
SORT them 17, 53, 62
S[2] S[5] 38, 97 OK
30 62 38 42 17 97 91 53
[0] [1] [2] [7][3] [4] [5] [6]
30 17 38 42 53 97 91 62
[0] [1] [2] [7][3] [4] [5] [6]
Shell Sort Proses utk k=1
3030 62 53 42 17 97 91 3862 53 42 17 97 91 38
S[0] S[1] S[2] S[3] S[4] S[5] S[6] S[7]Step 1: Buat Sub list k =1
Step 2 - 3: Urutkan Sub list & gabungkan
Sorting akan Seperti insertion sort
DONE
30 17 38 42 53 97 91 62
[0] [1] [2] [7][3] [4] [5] [6]
17 30 38 42 53 62 91 97
[0] [1] [2] [7][3] [4] [5] [6]
Pemilihan Sequence Number
• Disarankan jarak mula-mula dari data
yang akan dibandingkan adalah: N / 2.
• Pada proses berikutnya, digunakan jarak
(N / 2) / 2 atau N / 4.
• Pada proses berikutnya, digunakan jarak
(N / 4) / 2 atau N / 8.
• Demikian seterusnya sampai jarak yang
digunakan adalah 1.
Urutan prosesnya…
• Untuk jarak N/2 :
- Data pertama (j=0) dibandingkan dengan data dengan jarak N / 2. Apabila
data pertama lebih besar dari data ke N / 2 tersebut maka kedua data tersebut
ditukar.
- Kemudian data kedua (j=1) dibandingkan dengan jarak yang sama yaitu N / 2.
- Demikian seterusnya sampai seluruh data dibandingkan sehingga semua data
ke-j selalu lebih kecil daripada data ke-(j + N / 2).
• Ulangi langkah-langkah di atas untuk jarak = N / 4 lakukan
pembandingan dan pengurutan sehingga semua data ke-j lebih
kecil daripada data ke-(j + N / 4).
• Ulangi langkah-langkah di atas untuk jarak = N / 8 lakukan
pembandingan dan pengurutan sehingga semua data ke-j lebih
kecil daripada data ke-(j + N / 8).
• Demikian seterusnya sampai jarak yang digunakan adalah 1 atau
data sudah terurut (did_swap = false).
Algoritma Metode Shell Sort
1. Jarak ← N
2. Selama Jarak>1 kerjakan baris 3 Sampai dengan 12
3. Jarak ← Jarak / 2.
4. did_swap ← true
5. Kerjakan baris 6 sampai dengan 11 selama did_swap
= true
6. did_swap ← false
7. j ← 0
8. Selama j < (N – Jarak) kerjakan baris 9 dan 12
9. Jika Data[j] > Data[j + Jarak] kerjakan baris
10 dan 11
10. tukar(Data[j], Data[j + Jarak])
11. did_swap ← true
12. j ← j + 1
Analisis Metode Shell Sort
• Running time dari metode Shell Sort
bergantung pada beratnya pemilihan
Sequence number.
• Disarankan untuk memilih Sequence number
dimulai dari N/2, kemudian membaginya lagi
dengan 2, Seterusnya hingga mencapai 1.
• Shell Sort menggunakan 3 nested loop, untuk
merepresentasikan Sebuah pengembangan
yang substansial terhadap metode insertion
Sort
Pembandingan Running time
(millisecond) antara insertion and Shell
N insertion ShellSort
1000 122 11
2000 483 26
4000 1936 61
8000 7950 153
16000 32560 358
Ref: Mark Allan Wiess
(Florida International University)
ShellSort AnalySiS
Ref: Mark Allan WieSS

More Related Content

What's hot

Scheduling - Penjadwalan Sistem Operasi
Scheduling - Penjadwalan Sistem OperasiScheduling - Penjadwalan Sistem Operasi
Scheduling - Penjadwalan Sistem Operasiraenigalih
 
Makalah Metode Numerik : Sistem Persamaan Linear
Makalah Metode Numerik : Sistem Persamaan Linear Makalah Metode Numerik : Sistem Persamaan Linear
Makalah Metode Numerik : Sistem Persamaan Linear Kannal Bakti Pakinde
 
metode euler
metode eulermetode euler
metode eulerRuth Dian
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03KuliahKita
 
Makalah Algoritma kruskal
Makalah Algoritma kruskalMakalah Algoritma kruskal
Makalah Algoritma kruskalzaenal mustofa
 
Metode Numerik Trapesium
Metode Numerik TrapesiumMetode Numerik Trapesium
Metode Numerik TrapesiumWahyu Priyanti
 
Heuristic search-best-first-search
Heuristic search-best-first-searchHeuristic search-best-first-search
Heuristic search-best-first-searchAMIK AL MA'SOEM
 
Metode simpleks dua fase
Metode simpleks dua faseMetode simpleks dua fase
Metode simpleks dua fasespecy1234
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Aprioridedidarwis
 
Metode transportasi
Metode transportasiMetode transportasi
Metode transportasihazhiyah
 
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )Kelinci Coklat
 
Soal peta kendali variabel
Soal peta kendali variabelSoal peta kendali variabel
Soal peta kendali variabelMuhammad Hamid
 
Menyelesaikan sistem persamaan linear dengan operasi baris elementer
Menyelesaikan sistem persamaan linear dengan operasi baris elementerMenyelesaikan sistem persamaan linear dengan operasi baris elementer
Menyelesaikan sistem persamaan linear dengan operasi baris elementerAna Sugiyarti
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)Simon Patabang
 

What's hot (20)

Scheduling - Penjadwalan Sistem Operasi
Scheduling - Penjadwalan Sistem OperasiScheduling - Penjadwalan Sistem Operasi
Scheduling - Penjadwalan Sistem Operasi
 
2. galat
2. galat2. galat
2. galat
 
Queue
QueueQueue
Queue
 
Makalah Metode Numerik : Sistem Persamaan Linear
Makalah Metode Numerik : Sistem Persamaan Linear Makalah Metode Numerik : Sistem Persamaan Linear
Makalah Metode Numerik : Sistem Persamaan Linear
 
Tabel.biseksi.regula falsi
Tabel.biseksi.regula falsiTabel.biseksi.regula falsi
Tabel.biseksi.regula falsi
 
metode euler
metode eulermetode euler
metode euler
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
Makalah Algoritma kruskal
Makalah Algoritma kruskalMakalah Algoritma kruskal
Makalah Algoritma kruskal
 
Metode Numerik Trapesium
Metode Numerik TrapesiumMetode Numerik Trapesium
Metode Numerik Trapesium
 
Heuristic search-best-first-search
Heuristic search-best-first-searchHeuristic search-best-first-search
Heuristic search-best-first-search
 
Metode simpleks dua fase
Metode simpleks dua faseMetode simpleks dua fase
Metode simpleks dua fase
 
Interpolasi Newton
Interpolasi  NewtonInterpolasi  Newton
Interpolasi Newton
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Apriori
 
Metode stepping stone
Metode stepping stoneMetode stepping stone
Metode stepping stone
 
Turunan numerik
Turunan numerikTurunan numerik
Turunan numerik
 
Metode transportasi
Metode transportasiMetode transportasi
Metode transportasi
 
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )Bab 5. Aplikasi Turunan ( Kalkulus 1 )
Bab 5. Aplikasi Turunan ( Kalkulus 1 )
 
Soal peta kendali variabel
Soal peta kendali variabelSoal peta kendali variabel
Soal peta kendali variabel
 
Menyelesaikan sistem persamaan linear dengan operasi baris elementer
Menyelesaikan sistem persamaan linear dengan operasi baris elementerMenyelesaikan sistem persamaan linear dengan operasi baris elementer
Menyelesaikan sistem persamaan linear dengan operasi baris elementer
 
4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)4 diagram relasi antar entitas (ERD)
4 diagram relasi antar entitas (ERD)
 

More from Fajar Zain

Bahaya Pornografi dan Pencegahannya
Bahaya Pornografi dan PencegahannyaBahaya Pornografi dan Pencegahannya
Bahaya Pornografi dan PencegahannyaFajar Zain
 
9. geostrategi indonesia (Acuan 2006)
9. geostrategi indonesia (Acuan 2006)9. geostrategi indonesia (Acuan 2006)
9. geostrategi indonesia (Acuan 2006)Fajar Zain
 
7. ham dan rule of law (Acuan 2006)
7. ham dan rule of law (Acuan 2006) 7. ham dan rule of law (Acuan 2006)
7. ham dan rule of law (Acuan 2006) Fajar Zain
 
6. demokrasi indonesia (Acuan 2006)
6. demokrasi indonesia (Acuan 2006)6. demokrasi indonesia (Acuan 2006)
6. demokrasi indonesia (Acuan 2006)Fajar Zain
 
5. negara dan konstitusi (Acuan 2006)
5. negara dan konstitusi (Acuan 2006)5. negara dan konstitusi (Acuan 2006)
5. negara dan konstitusi (Acuan 2006)Fajar Zain
 
4. hak dan kewajiban warga negara (Acuan 2006)
4. hak dan kewajiban warga negara (Acuan 2006)4. hak dan kewajiban warga negara (Acuan 2006)
4. hak dan kewajiban warga negara (Acuan 2006)Fajar Zain
 
3. identitas nasional (Acuan 2006)
3. identitas nasional (Acuan 2006)3. identitas nasional (Acuan 2006)
3. identitas nasional (Acuan 2006)Fajar Zain
 
2. filsafat pancasila (Acuan 2006)
2. filsafat pancasila (Acuan 2006)2. filsafat pancasila (Acuan 2006)
2. filsafat pancasila (Acuan 2006)Fajar Zain
 
1. Pengantar (Acuan 2006)
1. Pengantar (Acuan 2006)1. Pengantar (Acuan 2006)
1. Pengantar (Acuan 2006)Fajar Zain
 
Sorting selection-sort
Sorting   selection-sortSorting   selection-sort
Sorting selection-sortFajar Zain
 
Sorting quick-sort
Sorting   quick-sortSorting   quick-sort
Sorting quick-sortFajar Zain
 
Sorting merge-sort
Sorting   merge-sortSorting   merge-sort
Sorting merge-sortFajar Zain
 
Sorting insertion-sort
Sorting   insertion-sortSorting   insertion-sort
Sorting insertion-sortFajar Zain
 
Sorting bubble-sort
Sorting   bubble-sortSorting   bubble-sort
Sorting bubble-sortFajar Zain
 
Sorting bubble-sort anim
Sorting   bubble-sort animSorting   bubble-sort anim
Sorting bubble-sort animFajar Zain
 
06. struktur cpu 2
06. struktur cpu 206. struktur cpu 2
06. struktur cpu 2Fajar Zain
 
05. struktur cpu
05. struktur cpu05. struktur cpu
05. struktur cpuFajar Zain
 

More from Fajar Zain (20)

Bahaya Pornografi dan Pencegahannya
Bahaya Pornografi dan PencegahannyaBahaya Pornografi dan Pencegahannya
Bahaya Pornografi dan Pencegahannya
 
Bentuk negara
Bentuk negaraBentuk negara
Bentuk negara
 
9. geostrategi indonesia (Acuan 2006)
9. geostrategi indonesia (Acuan 2006)9. geostrategi indonesia (Acuan 2006)
9. geostrategi indonesia (Acuan 2006)
 
7. ham dan rule of law (Acuan 2006)
7. ham dan rule of law (Acuan 2006) 7. ham dan rule of law (Acuan 2006)
7. ham dan rule of law (Acuan 2006)
 
6. demokrasi indonesia (Acuan 2006)
6. demokrasi indonesia (Acuan 2006)6. demokrasi indonesia (Acuan 2006)
6. demokrasi indonesia (Acuan 2006)
 
5. negara dan konstitusi (Acuan 2006)
5. negara dan konstitusi (Acuan 2006)5. negara dan konstitusi (Acuan 2006)
5. negara dan konstitusi (Acuan 2006)
 
4. hak dan kewajiban warga negara (Acuan 2006)
4. hak dan kewajiban warga negara (Acuan 2006)4. hak dan kewajiban warga negara (Acuan 2006)
4. hak dan kewajiban warga negara (Acuan 2006)
 
3. identitas nasional (Acuan 2006)
3. identitas nasional (Acuan 2006)3. identitas nasional (Acuan 2006)
3. identitas nasional (Acuan 2006)
 
2. filsafat pancasila (Acuan 2006)
2. filsafat pancasila (Acuan 2006)2. filsafat pancasila (Acuan 2006)
2. filsafat pancasila (Acuan 2006)
 
1. Pengantar (Acuan 2006)
1. Pengantar (Acuan 2006)1. Pengantar (Acuan 2006)
1. Pengantar (Acuan 2006)
 
Sorting selection-sort
Sorting   selection-sortSorting   selection-sort
Sorting selection-sort
 
Sorting quick-sort
Sorting   quick-sortSorting   quick-sort
Sorting quick-sort
 
Sorting merge-sort
Sorting   merge-sortSorting   merge-sort
Sorting merge-sort
 
Sorting insertion-sort
Sorting   insertion-sortSorting   insertion-sort
Sorting insertion-sort
 
Sorting bubble-sort
Sorting   bubble-sortSorting   bubble-sort
Sorting bubble-sort
 
Sorting bubble-sort anim
Sorting   bubble-sort animSorting   bubble-sort anim
Sorting bubble-sort anim
 
08. memory 2
08. memory 208. memory 2
08. memory 2
 
07. memory
07. memory07. memory
07. memory
 
06. struktur cpu 2
06. struktur cpu 206. struktur cpu 2
06. struktur cpu 2
 
05. struktur cpu
05. struktur cpu05. struktur cpu
05. struktur cpu
 

Recently uploaded

PBKK3143 TUTO M4 asas penyelidikan dalam pendidikan
PBKK3143 TUTO M4 asas penyelidikan dalam pendidikanPBKK3143 TUTO M4 asas penyelidikan dalam pendidikan
PBKK3143 TUTO M4 asas penyelidikan dalam pendidikangipgp24202619
 
Buku Program Pelancaran Nilam SMK Johor Bahru.pptx
Buku Program Pelancaran Nilam SMK Johor Bahru.pptxBuku Program Pelancaran Nilam SMK Johor Bahru.pptx
Buku Program Pelancaran Nilam SMK Johor Bahru.pptxHussalwaHussain1
 
Topik 8 - PERANAN ETIKA DAN PERADABAN MENDOKONG TANGGUNGJAWAB SOSIAL DI MALAY...
Topik 8 - PERANAN ETIKA DAN PERADABAN MENDOKONG TANGGUNGJAWAB SOSIAL DI MALAY...Topik 8 - PERANAN ETIKA DAN PERADABAN MENDOKONG TANGGUNGJAWAB SOSIAL DI MALAY...
Topik 8 - PERANAN ETIKA DAN PERADABAN MENDOKONG TANGGUNGJAWAB SOSIAL DI MALAY...NursKitchen
 
TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINI
TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINITUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINI
TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINIZAINABAFINABINTISUHA
 
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdf
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdfReka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdf
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdfMDFARIDSHAFARIBINHAR
 
Reka Bentuk Teknologi Nota Tingkatan satu1
Reka Bentuk  Teknologi Nota Tingkatan satu1Reka Bentuk  Teknologi Nota Tingkatan satu1
Reka Bentuk Teknologi Nota Tingkatan satu1MDFARIDSHAFARIBINHAR
 
Slide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkasSlide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkasAdiebsulhy55
 
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genap
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genapKISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genap
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genapDewiUmbar
 
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdfTopik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdfNursKitchen
 
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...MDFARIDSHAFARIBINHAR
 
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdfPENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf1370zulaikha
 

Recently uploaded (11)

PBKK3143 TUTO M4 asas penyelidikan dalam pendidikan
PBKK3143 TUTO M4 asas penyelidikan dalam pendidikanPBKK3143 TUTO M4 asas penyelidikan dalam pendidikan
PBKK3143 TUTO M4 asas penyelidikan dalam pendidikan
 
Buku Program Pelancaran Nilam SMK Johor Bahru.pptx
Buku Program Pelancaran Nilam SMK Johor Bahru.pptxBuku Program Pelancaran Nilam SMK Johor Bahru.pptx
Buku Program Pelancaran Nilam SMK Johor Bahru.pptx
 
Topik 8 - PERANAN ETIKA DAN PERADABAN MENDOKONG TANGGUNGJAWAB SOSIAL DI MALAY...
Topik 8 - PERANAN ETIKA DAN PERADABAN MENDOKONG TANGGUNGJAWAB SOSIAL DI MALAY...Topik 8 - PERANAN ETIKA DAN PERADABAN MENDOKONG TANGGUNGJAWAB SOSIAL DI MALAY...
Topik 8 - PERANAN ETIKA DAN PERADABAN MENDOKONG TANGGUNGJAWAB SOSIAL DI MALAY...
 
TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINI
TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINITUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINI
TUGASAN MODUL 4 TS25 RUJUKAN SEKOLAH TERKINI
 
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdf
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdfReka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdf
Reka Bentuk dan Teknologi_Tingkatan_2-1-31-10-31.pdf
 
Reka Bentuk Teknologi Nota Tingkatan satu1
Reka Bentuk  Teknologi Nota Tingkatan satu1Reka Bentuk  Teknologi Nota Tingkatan satu1
Reka Bentuk Teknologi Nota Tingkatan satu1
 
Slide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkasSlide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkas
 
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genap
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genapKISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genap
KISI-KISI SOAL DAN KARTU SOAL KELAS Xi semester genap
 
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdfTopik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
 
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...
1 rbt kandungan-dan-cadangan-rekod-pembelajaran-dan-pemudahcaraan-formula-a-k...
 
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdfPENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf
PENTAKSIRAN dalam pendidikan tajuk enam hingga lapan.pdf
 

Sorting shell-sort bw

  • 1. Sorting AlgorithmS 1. Selection 2. Bubble 3. InSertion 4. Merge 5. Quick 6. Shell
  • 2. DefiniSi • Metode ini diSebut juga dengan metode pertambahan menurun (diminiShing increment Sort). 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 – Sehingga membentuk Sebuah Sub-liSt-, kemudian dilakukan penukaran bila diperlukan
  • 3. DefiniSi • Jarak yang dipakai didaSarkan pada increment value atau Sequence number k • MiSalnya Sequence number yang dipakai adalah 5,3,1. Tidak ada pembuktian di Sini bahwa bilangan-bilangan terSebut adalah Sequence number terbaik • Setiap Sub-liSt beriSi Setiap elemen ke-k dari kumpulan elemen yang aSli
  • 4. DefiniSi • Contoh: Untuk array S, jika k = 5 maka sub-list nya adalah sebagai berikut : - S[0] S[5] S[10] ... - S[1] S[6] S[11] … - S[2] S[7] S[12] … - dst • Begitu juga jika k = 3 maka sub-list nya adalah: - S[0] S[3] S[6] ... - S[1] S[4] S[7] … - dst
  • 5. Proses Shell Sort • Buatlah sub-list yang didasarkan pada jarak (Sequence number) yang dipilih • Urutkan masing-masing sub-list tersebut • Gabungkan seluruh Sub-list Let’s see this algorithm in action
  • 6. Proses Shell Sort • Urutkan sekumpulan elemen di bawah ini, misalnya diberikan Sequence number : 5, 3, 1 30 62 53 42 17 97 91 38 [0] [1] [2] [7][3] [4] [5] [6]
  • 7. Proses Shell Sort utk k=5 3030 62 53 42 17 97 91 3862 53 42 17 97 91 38 S[3] S[0] S[5] S[1] S[6] S[2] S[7] Step 1: Buat sub list k = 5 Step 2 - 3: Urutkan Sub list & gabungkan S[0] < S[5] This is OK S[1] < S[6] This is OK S[2] > S[7] This is not OK. Swap them 30 62 53 42 17 97 91 38 [0] [1] [2] [7][3] [4] [5] [6] 30 62 38 42 17 97 91 53 [0] [1] [2] [7][3] [4] [5] [6]
  • 8. Proses Shell Sort utk k=3 3030 62 53 42 17 97 91 3862 53 42 17 97 91 38 S[0] S[3] S[6] S[1] S[4] S[7] S[2] S[5] Step 1: Buat sub list k = 3 Step 2 - 3: Urutkan sub list & gabungkan S[0] S[3] S[6] 30, 42, 91 OK S[1] S[4] S[7] 62, 17, 53 not OK SORT them 17, 53, 62 S[2] S[5] 38, 97 OK 30 62 38 42 17 97 91 53 [0] [1] [2] [7][3] [4] [5] [6] 30 17 38 42 53 97 91 62 [0] [1] [2] [7][3] [4] [5] [6]
  • 9. Shell Sort Proses utk k=1 3030 62 53 42 17 97 91 3862 53 42 17 97 91 38 S[0] S[1] S[2] S[3] S[4] S[5] S[6] S[7]Step 1: Buat Sub list k =1 Step 2 - 3: Urutkan Sub list & gabungkan Sorting akan Seperti insertion sort DONE 30 17 38 42 53 97 91 62 [0] [1] [2] [7][3] [4] [5] [6] 17 30 38 42 53 62 91 97 [0] [1] [2] [7][3] [4] [5] [6]
  • 10. Pemilihan Sequence Number • Disarankan jarak mula-mula dari data yang akan dibandingkan adalah: N / 2. • Pada proses berikutnya, digunakan jarak (N / 2) / 2 atau N / 4. • Pada proses berikutnya, digunakan jarak (N / 4) / 2 atau N / 8. • Demikian seterusnya sampai jarak yang digunakan adalah 1.
  • 11. Urutan prosesnya… • Untuk jarak N/2 : - Data pertama (j=0) dibandingkan dengan data dengan jarak N / 2. Apabila data pertama lebih besar dari data ke N / 2 tersebut maka kedua data tersebut ditukar. - Kemudian data kedua (j=1) dibandingkan dengan jarak yang sama yaitu N / 2. - Demikian seterusnya sampai seluruh data dibandingkan sehingga semua data ke-j selalu lebih kecil daripada data ke-(j + N / 2). • Ulangi langkah-langkah di atas untuk jarak = N / 4 lakukan pembandingan dan pengurutan sehingga semua data ke-j lebih kecil daripada data ke-(j + N / 4). • Ulangi langkah-langkah di atas untuk jarak = N / 8 lakukan pembandingan dan pengurutan sehingga semua data ke-j lebih kecil daripada data ke-(j + N / 8). • Demikian seterusnya sampai jarak yang digunakan adalah 1 atau data sudah terurut (did_swap = false).
  • 12. Algoritma Metode Shell Sort 1. Jarak ← N 2. Selama Jarak>1 kerjakan baris 3 Sampai dengan 12 3. Jarak ← Jarak / 2. 4. did_swap ← true 5. Kerjakan baris 6 sampai dengan 11 selama did_swap = true 6. did_swap ← false 7. j ← 0 8. Selama j < (N – Jarak) kerjakan baris 9 dan 12 9. Jika Data[j] > Data[j + Jarak] kerjakan baris 10 dan 11 10. tukar(Data[j], Data[j + Jarak]) 11. did_swap ← true 12. j ← j + 1
  • 13. Analisis Metode Shell Sort • Running time dari metode Shell Sort bergantung pada beratnya pemilihan Sequence number. • Disarankan untuk memilih Sequence number dimulai dari N/2, kemudian membaginya lagi dengan 2, Seterusnya hingga mencapai 1. • Shell Sort menggunakan 3 nested loop, untuk merepresentasikan Sebuah pengembangan yang substansial terhadap metode insertion Sort
  • 14. Pembandingan Running time (millisecond) antara insertion and Shell N insertion ShellSort 1000 122 11 2000 483 26 4000 1936 61 8000 7950 153 16000 32560 358 Ref: Mark Allan Wiess (Florida International University)