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

7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)Kelinci Coklat
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan DataSimon Patabang
 
Trigger Database
Trigger DatabaseTrigger Database
Trigger DatabasePutra Andry
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatanBuhori Muslim
 
Materi Struktur Data Tree
Materi Struktur Data TreeMateri Struktur Data Tree
Materi Struktur Data TreeMeta N
 
Algoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge SortAlgoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge SortKuliahKita
 
Kisi kisi uas struktur data
Kisi kisi uas struktur dataKisi kisi uas struktur data
Kisi kisi uas struktur dataDwi Mardianti
 
Sequential Search
Sequential SearchSequential Search
Sequential SearchPutra Andry
 
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataLaporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataShofura Kamal
 
Pertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanPertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanwillyhayon
 
Tugas normalisasi imaika penjualan komputer
Tugas normalisasi   imaika penjualan komputerTugas normalisasi   imaika penjualan komputer
Tugas normalisasi imaika penjualan komputerHamdi Hamdi
 
Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Tri Sugihartono
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
Pertemuan 11-aritmatika
Pertemuan 11-aritmatikaPertemuan 11-aritmatika
Pertemuan 11-aritmatikaFrance Rhezhek
 

What's hot (20)

7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data
 
Trigger Database
Trigger DatabaseTrigger Database
Trigger Database
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatan
 
Materi Struktur Data Tree
Materi Struktur Data TreeMateri Struktur Data Tree
Materi Struktur Data Tree
 
Algoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge SortAlgoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge Sort
 
Kisi kisi uas struktur data
Kisi kisi uas struktur dataKisi kisi uas struktur data
Kisi kisi uas struktur data
 
Sistem input output
Sistem input outputSistem input output
Sistem input output
 
circular linked list
circular linked listcircular linked list
circular linked list
 
Sequential Search
Sequential SearchSequential Search
Sequential Search
 
Laporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi DataLaporan Praktikum Basis Data Modul III-Manipulasi Data
Laporan Praktikum Basis Data Modul III-Manipulasi Data
 
JAWABAN Struktur data soal-latihan-2
JAWABAN Struktur data soal-latihan-2JAWABAN Struktur data soal-latihan-2
JAWABAN Struktur data soal-latihan-2
 
Pertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakanPertemuan 4-metode-pencarian-dan-pelacakan
Pertemuan 4-metode-pencarian-dan-pelacakan
 
Tugas normalisasi imaika penjualan komputer
Tugas normalisasi   imaika penjualan komputerTugas normalisasi   imaika penjualan komputer
Tugas normalisasi imaika penjualan komputer
 
Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)
 
GoLang_1
GoLang_1GoLang_1
GoLang_1
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Sistem berkas
Sistem berkasSistem berkas
Sistem berkas
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
Pertemuan 11-aritmatika
Pertemuan 11-aritmatikaPertemuan 11-aritmatika
Pertemuan 11-aritmatika
 

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

064 DSKP KSSM Tingkatan 2 Geografi v2.pdf
064 DSKP KSSM Tingkatan 2 Geografi v2.pdf064 DSKP KSSM Tingkatan 2 Geografi v2.pdf
064 DSKP KSSM Tingkatan 2 Geografi v2.pdfNURULAFIFIBINTIROSLA
 
Slide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkasSlide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkasAdiebsulhy55
 
Reka Bentuk Teknologi Nota Tingkatan satu1
Reka Bentuk  Teknologi Nota Tingkatan satu1Reka Bentuk  Teknologi Nota Tingkatan satu1
Reka Bentuk Teknologi Nota Tingkatan satu1MDFARIDSHAFARIBINHAR
 
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdf
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdfKIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdf
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdfSandyItab
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 

Recently uploaded (12)

064 DSKP KSSM Tingkatan 2 Geografi v2.pdf
064 DSKP KSSM Tingkatan 2 Geografi v2.pdf064 DSKP KSSM Tingkatan 2 Geografi v2.pdf
064 DSKP KSSM Tingkatan 2 Geografi v2.pdf
 
Slide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkasSlide sejarah tingkatan5 bab5 nota ringkas
Slide sejarah tingkatan5 bab5 nota ringkas
 
Reka Bentuk Teknologi Nota Tingkatan satu1
Reka Bentuk  Teknologi Nota Tingkatan satu1Reka Bentuk  Teknologi Nota Tingkatan satu1
Reka Bentuk Teknologi Nota Tingkatan satu1
 
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdf
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdfKIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdf
KIMIA T5 KSSM BAB 1 Keseimbangan Redoks zila khalid =).pdf
 
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
 
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
 
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
 
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
 
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...
 
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
 
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
 

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)