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

Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksimuhamadaulia3
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsuokti agung
 
Neuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbNeuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbSherly Uda
 
Kelompok 3 integrasi numerik fix
Kelompok 3 integrasi numerik fixKelompok 3 integrasi numerik fix
Kelompok 3 integrasi numerik fixliabika
 
Teori bilangan
Teori bilanganTeori bilangan
Teori bilanganUjang Kbm
 
Penjelasan listing program
Penjelasan listing programPenjelasan listing program
Penjelasan listing programPenyiar Unpab
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)Kelinci Coklat
 
Panduan matlab
Panduan matlabPanduan matlab
Panduan matlabgiya12001
 
Pt 2 turunan fungsi eksponen, logaritma, implisit dan cyclometri-d4
Pt 2 turunan fungsi eksponen, logaritma, implisit dan cyclometri-d4Pt 2 turunan fungsi eksponen, logaritma, implisit dan cyclometri-d4
Pt 2 turunan fungsi eksponen, logaritma, implisit dan cyclometri-d4lecturer
 
04. ral
04. ral04. ral
04. ralUNTAN
 
Metode Dualitas (Primal-Dual)
Metode Dualitas (Primal-Dual)Metode Dualitas (Primal-Dual)
Metode Dualitas (Primal-Dual)hazhiyah
 
Matematika Diskrit - 07 teori bilangan - 02
Matematika Diskrit - 07 teori bilangan - 02Matematika Diskrit - 07 teori bilangan - 02
Matematika Diskrit - 07 teori bilangan - 02KuliahKita
 

What's hot (20)

Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksi
 
Makalah metode posisi palsu
Makalah metode posisi palsuMakalah metode posisi palsu
Makalah metode posisi palsu
 
Bab 6 relasi
Bab 6 relasiBab 6 relasi
Bab 6 relasi
 
Neuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan HebbNeuron Mc Culloch Pitts dan Hebb
Neuron Mc Culloch Pitts dan Hebb
 
Modul 2 pd linier orde n
Modul 2 pd linier orde nModul 2 pd linier orde n
Modul 2 pd linier orde n
 
Distribusi peluang
Distribusi peluangDistribusi peluang
Distribusi peluang
 
Kelompok 3 integrasi numerik fix
Kelompok 3 integrasi numerik fixKelompok 3 integrasi numerik fix
Kelompok 3 integrasi numerik fix
 
Teori bilangan
Teori bilanganTeori bilangan
Teori bilangan
 
Variabel random
Variabel randomVariabel random
Variabel random
 
Iterasi jacobi
Iterasi jacobiIterasi jacobi
Iterasi jacobi
 
Metode Profile matching
Metode Profile matchingMetode Profile matching
Metode Profile matching
 
Penjelasan listing program
Penjelasan listing programPenjelasan listing program
Penjelasan listing program
 
Polar Coordinates & Polar Curves
Polar Coordinates & Polar CurvesPolar Coordinates & Polar Curves
Polar Coordinates & Polar Curves
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
interpolasi
interpolasiinterpolasi
interpolasi
 
Panduan matlab
Panduan matlabPanduan matlab
Panduan matlab
 
Pt 2 turunan fungsi eksponen, logaritma, implisit dan cyclometri-d4
Pt 2 turunan fungsi eksponen, logaritma, implisit dan cyclometri-d4Pt 2 turunan fungsi eksponen, logaritma, implisit dan cyclometri-d4
Pt 2 turunan fungsi eksponen, logaritma, implisit dan cyclometri-d4
 
04. ral
04. ral04. ral
04. ral
 
Metode Dualitas (Primal-Dual)
Metode Dualitas (Primal-Dual)Metode Dualitas (Primal-Dual)
Metode Dualitas (Primal-Dual)
 
Matematika Diskrit - 07 teori bilangan - 02
Matematika Diskrit - 07 teori bilangan - 02Matematika Diskrit - 07 teori bilangan - 02
Matematika Diskrit - 07 teori bilangan - 02
 

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

MESYUARAT KOKURIKULUM BIL 4 & 1 2023 PPT.pptx
MESYUARAT KOKURIKULUM BIL 4 & 1 2023 PPT.pptxMESYUARAT KOKURIKULUM BIL 4 & 1 2023 PPT.pptx
MESYUARAT KOKURIKULUM BIL 4 & 1 2023 PPT.pptxTaniaNaggelas2
 
TEMPLATE CONTOH PENULISAN KERTAS CADANGAN KAJIAN TINDAKAN.pdf
TEMPLATE CONTOH PENULISAN KERTAS CADANGAN KAJIAN TINDAKAN.pdfTEMPLATE CONTOH PENULISAN KERTAS CADANGAN KAJIAN TINDAKAN.pdf
TEMPLATE CONTOH PENULISAN KERTAS CADANGAN KAJIAN TINDAKAN.pdfcrvwr4zf9r
 
ASSIGNMENT 1_10 BARANG SELALU DIPEGANG KANAK-KANAK KECIL (A186111).pptx
ASSIGNMENT 1_10 BARANG SELALU DIPEGANG KANAK-KANAK KECIL (A186111).pptxASSIGNMENT 1_10 BARANG SELALU DIPEGANG KANAK-KANAK KECIL (A186111).pptx
ASSIGNMENT 1_10 BARANG SELALU DIPEGANG KANAK-KANAK KECIL (A186111).pptxNORADILAHBINTIMOHAMA
 
Malaysia sebagai hub halal antarabangsa.
Malaysia sebagai hub halal antarabangsa.Malaysia sebagai hub halal antarabangsa.
Malaysia sebagai hub halal antarabangsa.AfifahSalim2
 
Pertemuan 9 dan 10 - Sistem Persamaan Linear.ppt
Pertemuan 9 dan 10 - Sistem Persamaan Linear.pptPertemuan 9 dan 10 - Sistem Persamaan Linear.ppt
Pertemuan 9 dan 10 - Sistem Persamaan Linear.pptArieAdie
 
Taklimat Peruntukan Balkis sekolah r.pptx
Taklimat Peruntukan Balkis sekolah r.pptxTaklimat Peruntukan Balkis sekolah r.pptx
Taklimat Peruntukan Balkis sekolah r.pptxRyno Hardie
 
Bab 5 Ting 4 5.2 Persekutuan Tanah Melayu
Bab 5 Ting 4  5.2 Persekutuan Tanah MelayuBab 5 Ting 4  5.2 Persekutuan Tanah Melayu
Bab 5 Ting 4 5.2 Persekutuan Tanah MelayuSITINURULSYARAFINABI
 
SEJARAH PENGENALAN RINGKAS TKRS SEKOLAH KEBANGSAAN PUTRAJAYA PRESINT 8(2).pptx
SEJARAH PENGENALAN RINGKAS TKRS SEKOLAH KEBANGSAAN PUTRAJAYA PRESINT 8(2).pptxSEJARAH PENGENALAN RINGKAS TKRS SEKOLAH KEBANGSAAN PUTRAJAYA PRESINT 8(2).pptx
SEJARAH PENGENALAN RINGKAS TKRS SEKOLAH KEBANGSAAN PUTRAJAYA PRESINT 8(2).pptxMUHAMMADHAZIQBINHAMD1
 

Recently uploaded (8)

MESYUARAT KOKURIKULUM BIL 4 & 1 2023 PPT.pptx
MESYUARAT KOKURIKULUM BIL 4 & 1 2023 PPT.pptxMESYUARAT KOKURIKULUM BIL 4 & 1 2023 PPT.pptx
MESYUARAT KOKURIKULUM BIL 4 & 1 2023 PPT.pptx
 
TEMPLATE CONTOH PENULISAN KERTAS CADANGAN KAJIAN TINDAKAN.pdf
TEMPLATE CONTOH PENULISAN KERTAS CADANGAN KAJIAN TINDAKAN.pdfTEMPLATE CONTOH PENULISAN KERTAS CADANGAN KAJIAN TINDAKAN.pdf
TEMPLATE CONTOH PENULISAN KERTAS CADANGAN KAJIAN TINDAKAN.pdf
 
ASSIGNMENT 1_10 BARANG SELALU DIPEGANG KANAK-KANAK KECIL (A186111).pptx
ASSIGNMENT 1_10 BARANG SELALU DIPEGANG KANAK-KANAK KECIL (A186111).pptxASSIGNMENT 1_10 BARANG SELALU DIPEGANG KANAK-KANAK KECIL (A186111).pptx
ASSIGNMENT 1_10 BARANG SELALU DIPEGANG KANAK-KANAK KECIL (A186111).pptx
 
Malaysia sebagai hub halal antarabangsa.
Malaysia sebagai hub halal antarabangsa.Malaysia sebagai hub halal antarabangsa.
Malaysia sebagai hub halal antarabangsa.
 
Pertemuan 9 dan 10 - Sistem Persamaan Linear.ppt
Pertemuan 9 dan 10 - Sistem Persamaan Linear.pptPertemuan 9 dan 10 - Sistem Persamaan Linear.ppt
Pertemuan 9 dan 10 - Sistem Persamaan Linear.ppt
 
Taklimat Peruntukan Balkis sekolah r.pptx
Taklimat Peruntukan Balkis sekolah r.pptxTaklimat Peruntukan Balkis sekolah r.pptx
Taklimat Peruntukan Balkis sekolah r.pptx
 
Bab 5 Ting 4 5.2 Persekutuan Tanah Melayu
Bab 5 Ting 4  5.2 Persekutuan Tanah MelayuBab 5 Ting 4  5.2 Persekutuan Tanah Melayu
Bab 5 Ting 4 5.2 Persekutuan Tanah Melayu
 
SEJARAH PENGENALAN RINGKAS TKRS SEKOLAH KEBANGSAAN PUTRAJAYA PRESINT 8(2).pptx
SEJARAH PENGENALAN RINGKAS TKRS SEKOLAH KEBANGSAAN PUTRAJAYA PRESINT 8(2).pptxSEJARAH PENGENALAN RINGKAS TKRS SEKOLAH KEBANGSAAN PUTRAJAYA PRESINT 8(2).pptx
SEJARAH PENGENALAN RINGKAS TKRS SEKOLAH KEBANGSAAN PUTRAJAYA PRESINT 8(2).pptx
 

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)