SlideShare a Scribd company logo
1 of 54
SORTING DATA (1)
Sesi 10
Sorting (Pengurutan)
• Sorting adalah proses mengatur sekumpulan
objek menurut aturan atau susunan tertentu.
Urutan objek tersebut dapat menaik (ascending
= dari data kecil ke data lebih besar) atau
menurun (descending = dari data besar ke data
lebih kecil).
2
Outline
Metode Gelembung
Metode Seleksi
Metode Sisipan
Metode Shell
Metode Merge
3
Metode Gelembung (Bubble Sort)
• Metode pengurutan gelembung (bubble sort)
diinspirasi oleh gelembung sabun yang ada di
permukaan air.
• Asumsi: berat jenis gelembung sabun lebih
ringan daripada berat jenis air maka gelembung
sabun akan selalu mengapung.
• Prinsip pengapungan ini juga dipakai pada
pengurutan gelembung.
4
Metode Gelembung
• Cara pengurutan elemen yang paling sederhana
• Menggunakan metode pembandingan dan pertukaran
• Tiap putaran, elemen yang bersebelahan akan
dibandingkan dan isinya akan ditukar jika nilainya tidak
berurut
• Pengurutan Ascending (urut naik)
Jika elemen sekarang lebih besar dari elemen
berikutnya maka kedua elemen tersebut ditukar
• Pengurutan Descending ( urut turun)
Jika elemen sekarang lebih kecil dari elemen berikutnya,
maka kedua elemen tersebut ditukar
5
Metode Gelembung: Pseudocode
BUBBLESORT(A)
1 for i←1 to length[A]
2 do for j←length[A] downto i+1
3 do if A[j] < A[j-1]
4 then exchange A[j] ↔ A[j-1]
6
banyaknya data: n
Contoh: Data diurutkan/disorting dari yang bernilai
besar ke kecil
Proses
step 1 : Periksalah nilai dua elemen mulai dari
urutan ke-n sampai urutan ke-1. Jika nilai kiri<kanan,
tukarkan kedua data itu.
step 2 : Periksalah nilai dua elemen mulai dari
urutan ke-n sampai urutan ke-2. Jika nilai kiri<kanan,
tukarkan kedua data itu.
step n-1 : Periksalah nilai dua elemen mulai dari
urutan ke-n sampai urutan ke-n-1. Jika nilai
kiri<kanan, tukarkan kedua data itu.
Metode Gelembung: Algoritma
(Descending)
7
7 4 5 8 10Awal
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
7 4 5 8 10Step-1
Awal
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
7 4 5 10 8Step-1
Awal
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
7 4 10 5 8Step-1
Awal
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
7 10 4 5 8Step-1
Awal
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
10 7 4 5 8Step-1
Awal
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 7 4 5 8
Step-1
Awal
Step-2
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 7 4 8 5
Step-1
Awal
Step-2
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 7 8 4 5
Step-1
Awal
Step-2
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 8 7 4 5
Step-1
Awal
Step-2
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 8 7 4 5
10 8 7 4 5
Step-1
Awal
Step-2
Step-3
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 8 7 4 5
10 8 7 5 4
Step-1
Awal
Step-2
Step-3
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 8 7 4 5
10 8 7 5 4
Step-1
Awal
Step-2
Step-3
Metode Gelembung:
tahap demi tahap
7 4 5 8 10
10 7 4 5 8
10 8 7 4 5
10 8 7 5 4
10 8 7 5 4
Step-1
Awal
Step-2
Step-3
Step-4
Metode Gelembung:
tahap demi tahap
Metode Gelembung  berakhir…
Jika seluruh array telah diperiksa dan tidak ada
pertukaran lagi yang bisa dilakukan, serta
tercapai perurutan yang telah diinginkan
22
Metode Seleksi (Selection Sort)
Metode pengurutan ini disebut pengurutan maksimum /
minimum karena didasarkan pada pemilihan elemen
maksimum atau minimum kemudian
mempertukarkan elemen maksimum/minimum
tersebut dengan elemen terujung larik (elemen ujung
kiri atau elemen ujung kanan).
Selanjutnya elemen terujung itu kita “isolasi” dan tidak
diikut sertakan pada proses selanjutnya. Karena
proses utama dalam pengurutan adalah pemilihan
elemen maksimum / minimum, maka metode ini
disebut metode seleksi (selection sort).
23
Metode Seleksi: Algoritma
(Ascending)
• Langkah 1: Tentukan Harga Maksimum didalam L1[1..N]
Pertukarkan harga maksimum dng L[N]
• Langkah 2: Tentukan Harga Maksimum didalam L1[1..N-1]
Pertukarkan harga maksimum dng L[N-1]
• Langkah 3: Tentukan Harga Maksimum didalam L1[1..N-2
Pertukarkan harga maksimum dng L[N-2]
• ……..
• Langkah N-1: Tentukan Harga Maksimum didalam L1[1..2]
Pertukarkan harga maksimum dng L[2].
24
Metode Seleksi: Pseudocode
SELECTIONSORT(A)
1 for i← 1 to length[A]-1
2 min = i;
3 do for j ← i+1 to length[A]
4 do if A[j] < A[min]
5 min = j;
6 exchange A[min] ↔ A[i]
Prinsip kerja:
Dari elemen sebanyak n,
Carilah elemen terkecil dari array A, dan swap-lah elemen terkecil
tersebut dengan elemen pertama (A[1] ).
Carilah elemen terkecil kedua dari array A, dan swap-lah elemen
tersebut dengan elemen kedua (A[2])
Ulangi sampai n-1 elemen pertama dari array A
Metode Seleksi: Contoh
(Asecending)
5 2 4 6 1 3
1 2 3 4 5 6
1 2 4 6 5 3
1 2 4 6 5 3
1 2 3 6 5 4
1 2 3 4 5 6
Carilah elemen terkecil & tukar dengan “5”
1 fixed. Carilah elemen terkecil & tukar
dengan “2”
1,2 fixed. Carilah elemen terkecil & tukar
dengan “4”
1,2,3 fixed. Carilah elemen terkecil & tukar
dengan “6”
1,2,3,4 fixed. Carilah elemen terkecil &
tukar dengan “5”
1,2,3,4,5 fixed, otomatis elemen terakhir
sudah pada posisi yang benar
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1
2
3
4
5
6
Metode Sisipan (Insertion Sort)
• Dari namanya, pengurutan sisip (insertion sort)
adalah metode pengurutan dengan cara
menyisipkan elemen larik pada posisi yang
tepat.
• Pencarian posisi yang tepat dilakukan dengan
pencarian beruntun. Selama pencarian posisi
yang tepat dilakukan pergeseran elemen larik.
27
Metode Sisipan: Pseudocode
INSERTION-SORT(A)
1 for j←2 to length[A]
2 do key←A[j]
3 Insert A[j] ke sekuens yang sudah disorting
A[1…j-1]
4 i← j-1
5 while i>0 and A[i] > key
6 do A[i+1] ←A[i]
7 i ← i -1
8 A[i+1] ←key
28
Metode Sisipan: Algoritma
(Ascending)
• Andaikan: L[1] dianggap sudah tempatnya.
• Langkah 2: L[2] harus dicari tempatnya yang tepat pada L[1..2]
dengan cara menggeser elemen L[1] ke kanan bila L[1]
lebih besar dari L[2]. Misalkan posisi elemen yang
tepat adalah K sisipkan L[2] pada K.
• Langkah 3: L[3] harus dicari tempatnya yang tepat pada L[1..3]
dengan cara menggeser elemen L[1..2] ke kanan bila
L[1..2] lebih besar dari L[3]. Misalkan posisi elemen
yang tepat adalah K sisipkan L[3] pada K.
29
Metode Sisipan: Algoritma
(Ascending)
• Langkah 4: L[4] harus dicari tempatnya yang tepat pada L[1..4]
dengan cara menggeser elemen L[1..4] ke kanan bila
L[1..4] lebih besar dari L[4]. Misalkan posisi elemen
yang tepat adalah K sisipkan L[4] pada K.
• Langkah N: L[N] harus dicari tempatnya yang tepat pada L[1..N]
dengan cara menggeser elemen L[1..N ke kanan bila
L[1..N] lebih besar dari L[N]. Misalkan posisi elemen
yang tepat adalah K sisipkan L[N] pada K.
30
Metode Sisipan: Contoh (Ascending)
31
5 2 4 6 1 3
1 2 3 4 5 6
1
2
3
4
5
6
2 5 4 6 1 3
2 4 5 6 1 3
2 4 5 6 1 3
1 2 4 5 6 3
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
6
Elemen L1 dianggap sudah terurut
1 2 3 4 5 6
Cari posisi yang tepat untuk L[2] pada L[1..2]
Cari posisi yang tepat untuk L[3] pada L[1..3]
Cari posisi yang tepat untuk L[4] pada L[1..4]
Cari posisi yang tepat untuk L[5] pada L[1..5]
Cari posisi yang tepat untuk L[6] pada L[1..6]
SELESAI
Metode Shell
• Penemu : Donald Shell pada tahun 1959
• Metode perbandingan dan pertukaran
• Perbandingan dimulai dari separuh list yang
akan disortir dengan separuh bagian yang lain.
• Metode ini mengurutkan data dengan cara
membandingkan suatu data dengan data lain
yang memiliki jarak tertentu – sehingga
membentuk sebuah sub-list, kemudikan
dilakukan penukaran bila diperlukan
32
Metode Shell
• Contoh :
– Jika terdapat 100 elemen, diperbandingkan elemen 1
dan elemen 51, elemen 2 dan elemen 52 dst.
Selanjutnya algoritma akan membandingkan elemen
1 dan elemen 26, elemen 2 dan elemen 27 dst.
33
 Langkah 1: GAP = 10/2 = 5
50 82 56 77 32 90 95 88 62 99
90 95 88 77 99 50 82 56 62 32
90
50
95
82
88
56
77
62
99
32
Metode Shell: Contoh (Descending)
 Langkah 2: GAP = 5
90 95 88 77 99 50 82 56 62 32
90 95 88 77 99 50 82 56 62 32
90
50
95
82
88
56
77
62
99
32
Metode Shell: Contoh
 Langkah 3: GAP = 5/2=2
90 95 88 77 99 50 82 56 62 32
90 95 99 77 88 56 82 50 62 32
90
8295
5099 6277
50
88 32
88
77
88
50
56
82
Metode Shell: Contoh
 Langkah 4: GAP = 2
90 95 99 77 88 56 82 50 62 32
99 95 90 77 88 56 82 50 62 32
99
8295
5090 6277
50
88 32
90
77
88
56
56
82
Metode Shell: Contoh
 Langkah 5: GAP = 2
99 95 90 77 88 56 82 50 62 32
99 95 90 77 88 56 82 50 62 32
99
8295
5090 6277
50
88 32
90
77
88
56
56
82
Metode Shell: Contoh
 Langkah 6: GAP = 2/2=1
99 95 90 77 88 56 82 50 62 32
99 95 90 88 77 82 56 62 50 32
99
5695
5690
5088
62
77 50
95
90
77 77
82
56
50
32
Metode Shell: Contoh
 Langkah 7: GAP = 1
99 95 90 88 77 82 56 62 50 32
99 95 90 88 82 77 62 56 50 32
99
7795
5690
5688
56
82 50
95
90
88 77
77
62
50
32
Metode Shell: Contoh
 Langkah 8: GAP = 1
99 95 90 88 82 77 62 56 50 32
99 95 90 88 82 77 62 56 50 32
99
7795
6290
5688
56
82 50
95
90
88 82
77
62
50
32
Metode Shell: Contoh
Metode Merge
• Metode penggabungan biasanya digunakan
pada pengurutan berkas.
• Kunci dari Merge Sort adalah menggabung dua
berkas terurut menjadi sebuah kesatuan
Asumsi: ada 2 berkas X (x1x2…xm) dan
Y(y1y2…yn) maka hasilnya adalah Z(z1z2…zm+n)
• Contoh:
L1 = { 3 8 9 } L2 = { 1 5 7 }
merge(L1, L2) = { 1 3 5 7 8 9 }
42
Merge Sort: Algoritma
Diberikan berkas L dengan panjang k:
• If k == 1  berkas sudah terurut
• Else:
– Merge Sort sisi kiri (0 thru k/2)
– Merge Sort sisi kanan (k/2+1 sampai k)
– Merge sisi kanan dengan sisi kiri
99 6 86 15 58 35 86 4 0
Merge Sort: Contoh (Ascending)
99 6 86 15 58 35 86 4 0
99 6 86 15 58 35 86 4 0
Merge Sort: Contoh
99 6 86 15 58 35 86 4 0
99 6 86 15 58 35 86 4 0
86 1599 6 58 35 86 4 0
Merge Sort: Contoh
99 6 86 15 58 35 86 4 0
99 6 86 15 58 35 86 4 0
86 1599 6 58 35 86 4 0
99 6 86 15 58 35 86 4 0
Merge Sort: Contoh
99 6 86 15 58 35 86 4 0
99 6 86 15 58 35 86 4 0
86 1599 6 58 35 86 4 0
99 6 86 15 58 35 86 4 0
4 0
Merge Sort: Contoh
99 6 86 15 58 35 86 0 4
4 0Merge
Merge Sort: Contoh
15 866 99 58 35 0 4 86
99 6 86 15 58 35 86 0 4
Merge
Merge Sort: Contoh
6 15 86 99 0 4 35 58 86
15 866 99 58 35 0 4 86
Merge
Merge Sort: Contoh
0 4 6 15 35 58 86 86 99
6 15 86 99 0 4 35 58 86
Merge
Merge Sort: Contoh
0 4 6 15 35 58 86 86 99
Merge Sort: Contoh
Referensi
• http://elearning.amikom.ac.id/index.php/download/materi
/190302146-DM025-
19/2011/01/20110121_Materi%207%20SORTING%20(P
ENGURUTAN).ppt
• http://efendi2612.files.wordpress.com/2010/08/penguruta
n-bubble-sort-2.ppt
• http://power.lecture.ub.ac.id/files/2011/06/sorting.ppt
• http://www.cs.bu.edu/fac/gkollios/cs113/Slides/quicksort.
ppt
• http://www.cs.sjsu.edu/~lee/cs146/24CS146JCMerge.ppt
• http://repository.binus.ac.id/content/A0474/A047487253.
ppt
54

More Related Content

Similar to Asd sesi sorting part1

Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2maidah .
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Mutia Rahmadania
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaMutia Rahmadania
 
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianLaporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianShofura Kamal
 
kiki andriani , 5 metode sorting
kiki andriani , 5 metode sortingkiki andriani , 5 metode sorting
kiki andriani , 5 metode sortingkiki andriani
 
Sorting selection-sort
Sorting   selection-sortSorting   selection-sort
Sorting selection-sortFajar Zain
 
7 sorting-algoritma-bubble-sort
7 sorting-algoritma-bubble-sort7 sorting-algoritma-bubble-sort
7 sorting-algoritma-bubble-sortkusno hariyanto
 
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).pptAlgoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).pptMangarasYanuF
 
Bab 2 sorting array (1)
Bab 2 sorting array (1)Bab 2 sorting array (1)
Bab 2 sorting array (1)Fahuda E
 
Bab 2 sorting_array
Bab 2 sorting_arrayBab 2 sorting_array
Bab 2 sorting_arrayarii_manroe
 
Kelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancanaKelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancanaRirin Indah
 
Bab 2 sorting array
Bab 2 sorting arrayBab 2 sorting array
Bab 2 sorting arrayFahuda E
 
Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017Vita Kumala Jati
 

Similar to Asd sesi sorting part1 (20)

Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2Metode sorting dan aplikasinya2
Metode sorting dan aplikasinya2
 
207 p10
207 p10207 p10
207 p10
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Tugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadaniaTugas Algoritma Mutia rahmadania
Tugas Algoritma Mutia rahmadania
 
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung MedianLaporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
Laporan Praktikum Algoritma Pemrograman Modul V-Menghitung Median
 
kiki andriani , 5 metode sorting
kiki andriani , 5 metode sortingkiki andriani , 5 metode sorting
kiki andriani , 5 metode sorting
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
 
Sorting selection-sort
Sorting   selection-sortSorting   selection-sort
Sorting selection-sort
 
ratna mustika sari
ratna mustika sariratna mustika sari
ratna mustika sari
 
7 sorting-algoritma-bubble-sort
7 sorting-algoritma-bubble-sort7 sorting-algoritma-bubble-sort
7 sorting-algoritma-bubble-sort
 
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).pptAlgoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
Algoritma dan Pemrograman Cp. 6 Sorting (ralat).ppt
 
tugas algoritma
tugas algoritmatugas algoritma
tugas algoritma
 
Ifc modul 4(sotring)
Ifc   modul 4(sotring)Ifc   modul 4(sotring)
Ifc modul 4(sotring)
 
Pertemuan 10 Tehnik Sorting
Pertemuan 10  Tehnik SortingPertemuan 10  Tehnik Sorting
Pertemuan 10 Tehnik Sorting
 
Bab 2 sorting array (1)
Bab 2 sorting array (1)Bab 2 sorting array (1)
Bab 2 sorting array (1)
 
Siti rohmatul khoiriah
Siti rohmatul khoiriahSiti rohmatul khoiriah
Siti rohmatul khoiriah
 
Bab 2 sorting_array
Bab 2 sorting_arrayBab 2 sorting_array
Bab 2 sorting_array
 
Kelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancanaKelompok algoritma ririn and friends STT wastukancana
Kelompok algoritma ririn and friends STT wastukancana
 
Bab 2 sorting array
Bab 2 sorting arrayBab 2 sorting array
Bab 2 sorting array
 
Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017Array satu dimensi vita kumalajati_0320110017
Array satu dimensi vita kumalajati_0320110017
 

More from BintangWijaya5

Asd sesi sorting part2
Asd sesi sorting part2Asd sesi sorting part2
Asd sesi sorting part2BintangWijaya5
 
Asd sesi searching part 2
Asd sesi searching part 2Asd sesi searching part 2
Asd sesi searching part 2BintangWijaya5
 
Asd sesi searching part1
Asd sesi searching part1Asd sesi searching part1
Asd sesi searching part1BintangWijaya5
 
Buku struktur data pages-111-122
Buku struktur data pages-111-122Buku struktur data pages-111-122
Buku struktur data pages-111-122BintangWijaya5
 

More from BintangWijaya5 (7)

Materi Searching
Materi Searching Materi Searching
Materi Searching
 
Asd sesi sorting part2
Asd sesi sorting part2Asd sesi sorting part2
Asd sesi sorting part2
 
Asd sesi searching part 2
Asd sesi searching part 2Asd sesi searching part 2
Asd sesi searching part 2
 
Asd sesi searching part1
Asd sesi searching part1Asd sesi searching part1
Asd sesi searching part1
 
Asd sesi tree part2
Asd sesi tree part2Asd sesi tree part2
Asd sesi tree part2
 
Asd sesi tree part1
Asd sesi tree part1Asd sesi tree part1
Asd sesi tree part1
 
Buku struktur data pages-111-122
Buku struktur data pages-111-122Buku struktur data pages-111-122
Buku struktur data pages-111-122
 

Recently uploaded

Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...Shary Armonitha
 
PPT ANEMIA pada remaja maupun dewasapptx
PPT ANEMIA pada remaja maupun dewasapptxPPT ANEMIA pada remaja maupun dewasapptx
PPT ANEMIA pada remaja maupun dewasapptxsitifaiza3
 
Geologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfGeologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfAuliaAulia63
 
Instrumen Penelitian dalam pengukuran fenomena .pptx
Instrumen Penelitian dalam pengukuran fenomena .pptxInstrumen Penelitian dalam pengukuran fenomena .pptx
Instrumen Penelitian dalam pengukuran fenomena .pptxZhardestiny
 
Contoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data miningContoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data miningSamFChaerul
 
KISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkksKISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkksdanzztzy405
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxzidanlbs25
 
Menggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxMenggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxImahMagwa
 
393479010-POWER-POINT-MODUL-6-ppt.pdf. tugas
393479010-POWER-POINT-MODUL-6-ppt.pdf. tugas393479010-POWER-POINT-MODUL-6-ppt.pdf. tugas
393479010-POWER-POINT-MODUL-6-ppt.pdf. tugaslisapalena
 

Recently uploaded (9)

Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
 
PPT ANEMIA pada remaja maupun dewasapptx
PPT ANEMIA pada remaja maupun dewasapptxPPT ANEMIA pada remaja maupun dewasapptx
PPT ANEMIA pada remaja maupun dewasapptx
 
Geologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfGeologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdf
 
Instrumen Penelitian dalam pengukuran fenomena .pptx
Instrumen Penelitian dalam pengukuran fenomena .pptxInstrumen Penelitian dalam pengukuran fenomena .pptx
Instrumen Penelitian dalam pengukuran fenomena .pptx
 
Contoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data miningContoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data mining
 
KISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkksKISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkks
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
 
Menggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxMenggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptx
 
393479010-POWER-POINT-MODUL-6-ppt.pdf. tugas
393479010-POWER-POINT-MODUL-6-ppt.pdf. tugas393479010-POWER-POINT-MODUL-6-ppt.pdf. tugas
393479010-POWER-POINT-MODUL-6-ppt.pdf. tugas
 

Asd sesi sorting part1

  • 2. Sorting (Pengurutan) • Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data kecil ke data lebih besar) atau menurun (descending = dari data besar ke data lebih kecil). 2
  • 3. Outline Metode Gelembung Metode Seleksi Metode Sisipan Metode Shell Metode Merge 3
  • 4. Metode Gelembung (Bubble Sort) • Metode pengurutan gelembung (bubble sort) diinspirasi oleh gelembung sabun yang ada di permukaan air. • Asumsi: berat jenis gelembung sabun lebih ringan daripada berat jenis air maka gelembung sabun akan selalu mengapung. • Prinsip pengapungan ini juga dipakai pada pengurutan gelembung. 4
  • 5. Metode Gelembung • Cara pengurutan elemen yang paling sederhana • Menggunakan metode pembandingan dan pertukaran • Tiap putaran, elemen yang bersebelahan akan dibandingkan dan isinya akan ditukar jika nilainya tidak berurut • Pengurutan Ascending (urut naik) Jika elemen sekarang lebih besar dari elemen berikutnya maka kedua elemen tersebut ditukar • Pengurutan Descending ( urut turun) Jika elemen sekarang lebih kecil dari elemen berikutnya, maka kedua elemen tersebut ditukar 5
  • 6. Metode Gelembung: Pseudocode BUBBLESORT(A) 1 for i←1 to length[A] 2 do for j←length[A] downto i+1 3 do if A[j] < A[j-1] 4 then exchange A[j] ↔ A[j-1] 6
  • 7. banyaknya data: n Contoh: Data diurutkan/disorting dari yang bernilai besar ke kecil Proses step 1 : Periksalah nilai dua elemen mulai dari urutan ke-n sampai urutan ke-1. Jika nilai kiri<kanan, tukarkan kedua data itu. step 2 : Periksalah nilai dua elemen mulai dari urutan ke-n sampai urutan ke-2. Jika nilai kiri<kanan, tukarkan kedua data itu. step n-1 : Periksalah nilai dua elemen mulai dari urutan ke-n sampai urutan ke-n-1. Jika nilai kiri<kanan, tukarkan kedua data itu. Metode Gelembung: Algoritma (Descending) 7
  • 8. 7 4 5 8 10Awal Metode Gelembung: tahap demi tahap
  • 9. 7 4 5 8 10 7 4 5 8 10Step-1 Awal Metode Gelembung: tahap demi tahap
  • 10. 7 4 5 8 10 7 4 5 10 8Step-1 Awal Metode Gelembung: tahap demi tahap
  • 11. 7 4 5 8 10 7 4 10 5 8Step-1 Awal Metode Gelembung: tahap demi tahap
  • 12. 7 4 5 8 10 7 10 4 5 8Step-1 Awal Metode Gelembung: tahap demi tahap
  • 13. 7 4 5 8 10 10 7 4 5 8Step-1 Awal Metode Gelembung: tahap demi tahap
  • 14. 7 4 5 8 10 10 7 4 5 8 10 7 4 5 8 Step-1 Awal Step-2 Metode Gelembung: tahap demi tahap
  • 15. 7 4 5 8 10 10 7 4 5 8 10 7 4 8 5 Step-1 Awal Step-2 Metode Gelembung: tahap demi tahap
  • 16. 7 4 5 8 10 10 7 4 5 8 10 7 8 4 5 Step-1 Awal Step-2 Metode Gelembung: tahap demi tahap
  • 17. 7 4 5 8 10 10 7 4 5 8 10 8 7 4 5 Step-1 Awal Step-2 Metode Gelembung: tahap demi tahap
  • 18. 7 4 5 8 10 10 7 4 5 8 10 8 7 4 5 10 8 7 4 5 Step-1 Awal Step-2 Step-3 Metode Gelembung: tahap demi tahap
  • 19. 7 4 5 8 10 10 7 4 5 8 10 8 7 4 5 10 8 7 5 4 Step-1 Awal Step-2 Step-3 Metode Gelembung: tahap demi tahap
  • 20. 7 4 5 8 10 10 7 4 5 8 10 8 7 4 5 10 8 7 5 4 Step-1 Awal Step-2 Step-3 Metode Gelembung: tahap demi tahap
  • 21. 7 4 5 8 10 10 7 4 5 8 10 8 7 4 5 10 8 7 5 4 10 8 7 5 4 Step-1 Awal Step-2 Step-3 Step-4 Metode Gelembung: tahap demi tahap
  • 22. Metode Gelembung  berakhir… Jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan, serta tercapai perurutan yang telah diinginkan 22
  • 23. Metode Seleksi (Selection Sort) Metode pengurutan ini disebut pengurutan maksimum / minimum karena didasarkan pada pemilihan elemen maksimum atau minimum kemudian mempertukarkan elemen maksimum/minimum tersebut dengan elemen terujung larik (elemen ujung kiri atau elemen ujung kanan). Selanjutnya elemen terujung itu kita “isolasi” dan tidak diikut sertakan pada proses selanjutnya. Karena proses utama dalam pengurutan adalah pemilihan elemen maksimum / minimum, maka metode ini disebut metode seleksi (selection sort). 23
  • 24. Metode Seleksi: Algoritma (Ascending) • Langkah 1: Tentukan Harga Maksimum didalam L1[1..N] Pertukarkan harga maksimum dng L[N] • Langkah 2: Tentukan Harga Maksimum didalam L1[1..N-1] Pertukarkan harga maksimum dng L[N-1] • Langkah 3: Tentukan Harga Maksimum didalam L1[1..N-2 Pertukarkan harga maksimum dng L[N-2] • …….. • Langkah N-1: Tentukan Harga Maksimum didalam L1[1..2] Pertukarkan harga maksimum dng L[2]. 24
  • 25. Metode Seleksi: Pseudocode SELECTIONSORT(A) 1 for i← 1 to length[A]-1 2 min = i; 3 do for j ← i+1 to length[A] 4 do if A[j] < A[min] 5 min = j; 6 exchange A[min] ↔ A[i] Prinsip kerja: Dari elemen sebanyak n, Carilah elemen terkecil dari array A, dan swap-lah elemen terkecil tersebut dengan elemen pertama (A[1] ). Carilah elemen terkecil kedua dari array A, dan swap-lah elemen tersebut dengan elemen kedua (A[2]) Ulangi sampai n-1 elemen pertama dari array A
  • 26. Metode Seleksi: Contoh (Asecending) 5 2 4 6 1 3 1 2 3 4 5 6 1 2 4 6 5 3 1 2 4 6 5 3 1 2 3 6 5 4 1 2 3 4 5 6 Carilah elemen terkecil & tukar dengan “5” 1 fixed. Carilah elemen terkecil & tukar dengan “2” 1,2 fixed. Carilah elemen terkecil & tukar dengan “4” 1,2,3 fixed. Carilah elemen terkecil & tukar dengan “6” 1,2,3,4 fixed. Carilah elemen terkecil & tukar dengan “5” 1,2,3,4,5 fixed, otomatis elemen terakhir sudah pada posisi yang benar 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
  • 27. Metode Sisipan (Insertion Sort) • Dari namanya, pengurutan sisip (insertion sort) adalah metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. • Pencarian posisi yang tepat dilakukan dengan pencarian beruntun. Selama pencarian posisi yang tepat dilakukan pergeseran elemen larik. 27
  • 28. Metode Sisipan: Pseudocode INSERTION-SORT(A) 1 for j←2 to length[A] 2 do key←A[j] 3 Insert A[j] ke sekuens yang sudah disorting A[1…j-1] 4 i← j-1 5 while i>0 and A[i] > key 6 do A[i+1] ←A[i] 7 i ← i -1 8 A[i+1] ←key 28
  • 29. Metode Sisipan: Algoritma (Ascending) • Andaikan: L[1] dianggap sudah tempatnya. • Langkah 2: L[2] harus dicari tempatnya yang tepat pada L[1..2] dengan cara menggeser elemen L[1] ke kanan bila L[1] lebih besar dari L[2]. Misalkan posisi elemen yang tepat adalah K sisipkan L[2] pada K. • Langkah 3: L[3] harus dicari tempatnya yang tepat pada L[1..3] dengan cara menggeser elemen L[1..2] ke kanan bila L[1..2] lebih besar dari L[3]. Misalkan posisi elemen yang tepat adalah K sisipkan L[3] pada K. 29
  • 30. Metode Sisipan: Algoritma (Ascending) • Langkah 4: L[4] harus dicari tempatnya yang tepat pada L[1..4] dengan cara menggeser elemen L[1..4] ke kanan bila L[1..4] lebih besar dari L[4]. Misalkan posisi elemen yang tepat adalah K sisipkan L[4] pada K. • Langkah N: L[N] harus dicari tempatnya yang tepat pada L[1..N] dengan cara menggeser elemen L[1..N ke kanan bila L[1..N] lebih besar dari L[N]. Misalkan posisi elemen yang tepat adalah K sisipkan L[N] pada K. 30
  • 31. Metode Sisipan: Contoh (Ascending) 31 5 2 4 6 1 3 1 2 3 4 5 6 1 2 3 4 5 6 2 5 4 6 1 3 2 4 5 6 1 3 2 4 5 6 1 3 1 2 4 5 6 3 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 6 Elemen L1 dianggap sudah terurut 1 2 3 4 5 6 Cari posisi yang tepat untuk L[2] pada L[1..2] Cari posisi yang tepat untuk L[3] pada L[1..3] Cari posisi yang tepat untuk L[4] pada L[1..4] Cari posisi yang tepat untuk L[5] pada L[1..5] Cari posisi yang tepat untuk L[6] pada L[1..6] SELESAI
  • 32. Metode Shell • Penemu : Donald Shell pada tahun 1959 • Metode perbandingan dan pertukaran • Perbandingan dimulai dari separuh list yang akan disortir dengan separuh bagian yang lain. • Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu – sehingga membentuk sebuah sub-list, kemudikan dilakukan penukaran bila diperlukan 32
  • 33. Metode Shell • Contoh : – Jika terdapat 100 elemen, diperbandingkan elemen 1 dan elemen 51, elemen 2 dan elemen 52 dst. Selanjutnya algoritma akan membandingkan elemen 1 dan elemen 26, elemen 2 dan elemen 27 dst. 33
  • 34.  Langkah 1: GAP = 10/2 = 5 50 82 56 77 32 90 95 88 62 99 90 95 88 77 99 50 82 56 62 32 90 50 95 82 88 56 77 62 99 32 Metode Shell: Contoh (Descending)
  • 35.  Langkah 2: GAP = 5 90 95 88 77 99 50 82 56 62 32 90 95 88 77 99 50 82 56 62 32 90 50 95 82 88 56 77 62 99 32 Metode Shell: Contoh
  • 36.  Langkah 3: GAP = 5/2=2 90 95 88 77 99 50 82 56 62 32 90 95 99 77 88 56 82 50 62 32 90 8295 5099 6277 50 88 32 88 77 88 50 56 82 Metode Shell: Contoh
  • 37.  Langkah 4: GAP = 2 90 95 99 77 88 56 82 50 62 32 99 95 90 77 88 56 82 50 62 32 99 8295 5090 6277 50 88 32 90 77 88 56 56 82 Metode Shell: Contoh
  • 38.  Langkah 5: GAP = 2 99 95 90 77 88 56 82 50 62 32 99 95 90 77 88 56 82 50 62 32 99 8295 5090 6277 50 88 32 90 77 88 56 56 82 Metode Shell: Contoh
  • 39.  Langkah 6: GAP = 2/2=1 99 95 90 77 88 56 82 50 62 32 99 95 90 88 77 82 56 62 50 32 99 5695 5690 5088 62 77 50 95 90 77 77 82 56 50 32 Metode Shell: Contoh
  • 40.  Langkah 7: GAP = 1 99 95 90 88 77 82 56 62 50 32 99 95 90 88 82 77 62 56 50 32 99 7795 5690 5688 56 82 50 95 90 88 77 77 62 50 32 Metode Shell: Contoh
  • 41.  Langkah 8: GAP = 1 99 95 90 88 82 77 62 56 50 32 99 95 90 88 82 77 62 56 50 32 99 7795 6290 5688 56 82 50 95 90 88 82 77 62 50 32 Metode Shell: Contoh
  • 42. Metode Merge • Metode penggabungan biasanya digunakan pada pengurutan berkas. • Kunci dari Merge Sort adalah menggabung dua berkas terurut menjadi sebuah kesatuan Asumsi: ada 2 berkas X (x1x2…xm) dan Y(y1y2…yn) maka hasilnya adalah Z(z1z2…zm+n) • Contoh: L1 = { 3 8 9 } L2 = { 1 5 7 } merge(L1, L2) = { 1 3 5 7 8 9 } 42
  • 43. Merge Sort: Algoritma Diberikan berkas L dengan panjang k: • If k == 1  berkas sudah terurut • Else: – Merge Sort sisi kiri (0 thru k/2) – Merge Sort sisi kanan (k/2+1 sampai k) – Merge sisi kanan dengan sisi kiri
  • 44. 99 6 86 15 58 35 86 4 0 Merge Sort: Contoh (Ascending)
  • 45. 99 6 86 15 58 35 86 4 0 99 6 86 15 58 35 86 4 0 Merge Sort: Contoh
  • 46. 99 6 86 15 58 35 86 4 0 99 6 86 15 58 35 86 4 0 86 1599 6 58 35 86 4 0 Merge Sort: Contoh
  • 47. 99 6 86 15 58 35 86 4 0 99 6 86 15 58 35 86 4 0 86 1599 6 58 35 86 4 0 99 6 86 15 58 35 86 4 0 Merge Sort: Contoh
  • 48. 99 6 86 15 58 35 86 4 0 99 6 86 15 58 35 86 4 0 86 1599 6 58 35 86 4 0 99 6 86 15 58 35 86 4 0 4 0 Merge Sort: Contoh
  • 49. 99 6 86 15 58 35 86 0 4 4 0Merge Merge Sort: Contoh
  • 50. 15 866 99 58 35 0 4 86 99 6 86 15 58 35 86 0 4 Merge Merge Sort: Contoh
  • 51. 6 15 86 99 0 4 35 58 86 15 866 99 58 35 0 4 86 Merge Merge Sort: Contoh
  • 52. 0 4 6 15 35 58 86 86 99 6 15 86 99 0 4 35 58 86 Merge Merge Sort: Contoh
  • 53. 0 4 6 15 35 58 86 86 99 Merge Sort: Contoh
  • 54. Referensi • http://elearning.amikom.ac.id/index.php/download/materi /190302146-DM025- 19/2011/01/20110121_Materi%207%20SORTING%20(P ENGURUTAN).ppt • http://efendi2612.files.wordpress.com/2010/08/penguruta n-bubble-sort-2.ppt • http://power.lecture.ub.ac.id/files/2011/06/sorting.ppt • http://www.cs.bu.edu/fac/gkollios/cs113/Slides/quicksort. ppt • http://www.cs.sjsu.edu/~lee/cs146/24CS146JCMerge.ppt • http://repository.binus.ac.id/content/A0474/A047487253. ppt 54