Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehMoh Fallen Telah diubah "10 tahun yang lalu
1
Algoritma Sorting (Selection – Insertion)
2
Algoritma Insertion Sort
Dengan Algoritma Insertion bagian kiri array terurut sampai seluruh array Misal pada data array ke-k, data tersebut akan disisipkan pada indeks sebelum k, sesuai dengan urutannya. Proses ini dilakukan berulang-ulang sehingga seluruh data terurut
3
Algoritma Insertion Sort
2. selama (i < N) kerjakan baris 3 sampai dgn 9 3. key A[i] 4. j i – 1 5. selama j >= 0 dan (A[j] > key) kerjakan baris 6 dan 7 6. A[j + 1] A[j] 7. j j – 1 8. A[j+1] key 9. i i + 1 C = Comparison M = Move M = Move
4
Proses Insertion Sort 3 10 4 6 8 9 7 2 1 5 Nilai yang paling kiri (3) terurut terhadap dirinya sendiri. Sehingga kita tidak perlu melakukan apa-apa
5
3 10 4 6 8 9 7 2 1 5 3 10 4 6 8 9 7 2 1 5 Key = 10 Cek apakah nilai pada indek ke-2 (10) lebih kecil dari indek ke-1 (3). Jika ya maka tukar. Kondisi diatas maka data tidak perlu diswap
6
Dua data pertama sudah terurut
3 10 4 6 8 9 7 2 1 5 Dua data pertama sudah terurut 3 10 4 4 6 8 9 7 2 1 5 Selanjutnya menyisipkan 4 di daerah abu-abu sehingga setelah penyisipan daerah abu-abu menjadi urut.
7
Simpan nilai yang akan diurutkan dalam variabel key
C C = Comparison 4 3 10 6 8 9 7 2 1 5 Nilai 10 digeser pada indek ke-3 4 M = Move M 3 10 6 8 9 7 2 1 5 Sisipkan 4 pada posisi yang tepat 3 4 10 6 8 9 7 2 1 5
8
Sekarang 3 data pertama sudah terurut secara relatif dan sisipkan data ke-4 ke daerah abu-abu. 4 Data pertama sudah terurut secara relatif 3 4 6 10 8 9 7 2 1 5 Ulangi Proses ini sampai data terurut semuanya. 3 4 6 8 10 9 7 2 1 5 3 4 6 8 9 10 7 2 1 5
9
7 3 4 6 2 1 5 8 9 10 3 4 6 7 8 9 10 2 1 5 2 3 4 6 7 8 9 10 1 5 1 2 3 4 6 7 8 9 10 5 1 2 3 4 5 6 7 8 9 10
10
Analisa Insertion Sort
Basic Operation (Operasi Dasar) terdapat pada perbandingan key (A[j] > key)
11
Analisa Insertion Sort Best Case
- Array sudah dalam keadaan terurut naik - Data ke-k yang akan diurutkan dibandingkan sebanyak satu kali dengan data ke- (k-1) - Loop terdalam tidak pernah dieksekusi - Jumlah pergeseran (movement) M = 0 - Jumlah pembandingan key (comparison) C = n – 1
12
Worst Case: - Array dalam urutan kebalikannya
- Loop terdalam dieksekusi sebanyak p-1 kali, untuk p = 2,3,..,n - Jumlah pergeseran M = (n-1) + ( n-1) M = (n-1) + n * ( n-1)/2 Jumlah pembandingan key C = ( n-1) = n * (n-1) / 2
13
Selection Sort
14
Algoritma Selection Sort
selama (i < N-1) kerjakan baris 3 sampai dengan 11 min i j i + 1 Selama (j < N) kerjakan baris 6 dan 7 Jika (A[j] < A[min]) maka min j j j + 1 temp = A[i] A[i] = A[min] A[min] = temp i i + 1
15
Selection Sort Algorithm
Min = 0 j = 1 (A[j] < A[min]) ? min j Perbandingan diawali pada dat indeks ke-0. Dibandingkan dengan data sesudahnya untuk mencari elemen yang paling kecil (menggunakan indeks data) 61 52 45 21 15 9 [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
16
Selection Sort Algorithm – 1
Min = 0 j = 1 21 < 45 min = 1 Data ke-0 dibandingkan dengan data ke-1. Ternyata data min pada indeks ke-1 (min=1) 61 52 45 21 15 9 [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
17
Selection Sort Algorithm – 2
Min = 1 j = 2 52 < 21 min = 1 Data ke1 dibandingkan dengan Data ke-2. Nilai yang paling kecil tetap pada data indeks ke-1 61 52 45 21 15 9 [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
18
Selection Sort Algorithm – 3
Min = 1 j = 3 61 < 21 min = 1 Data ke1 dibandingkan dengan Data ke-3 61 52 45 21 15 9 [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
19
Selection Sort Algorithm – 4
Min = 1 j = 4 9 < 21 min = 4 Data ke1 dibandingkan dengan Data ke-4. Data yang paling kecil sekarang pada data indeks ke-4 (min =4) 61 52 45 21 15 9 [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
20
Selection Sort Algorithm – 5
Min = 4 j = 5 15< 9 min = 4 Data ke-4 dibandingkan dengan Data ke-5 61 52 45 21 15 9 [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
21
Selection Sort Algorithm – 2
Diawali dengan mencari elemen yang paling kecil Tukar elemen yang paling kecil dengan Data indeks ke-0 [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
22
Selection Sort Algorithm – 3
Diawali dengan mencari elemen yang paling kecil Tukar elemen yang paling kecil dengan Data indeks ke-0 [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
23
Selection Sort Algorithm – 4
Sudah terurut Belum terurut Bagian dari Data yang sudah terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
24
Selection Sort Algorithm – 5
Sudah terurut Belum terurut Cari elemen terkecil pada bagian yang belum terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
25
Selection Sort Algorithm – 6
Sudah terurut Belum terurut Diawali dengan mencari elemen yang paling kecil Tukar dengan data paling depan pada daerah yang belum terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
26
Selection Sort Algorithm – 7
Sudah terurut Belum terurut Dua data telah terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
27
Selection Sort Algorithm – 8
Sudah terurut Belum terurut Elemen terkecil Proses dilanjutkan [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
28
Selection Sort Algorithm – 9
Sudah terurut Belum terurut Tukar Dengan depan Proses dilanjutkan [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
29
Selection Sort Algorithm – 10
Sudah terurut Belum terurut Proses dilanjutkan [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
30
Selection Sort Algorithm – 11
Sudah terurut Belum terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
31
Selection Sort Algorithm – 12
Berhenti pada saat bagian yang terurut tinggal hanya satu Data karena Data yang ada pasti bilangan yang paling besar Sudah terurut Belum terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
32
Selection Sort Algorithm – 13
Data sudah terurut [0] [1] [2] [3] [4] [5] Slide copyright Pearson Education 2002
33
Analisa Selection Sort
Basic Operasi (A[j] < A[min]) Tidak ada Best Case dan Worst Case Total pergeseran M = 3 * n-1 (pada setiap penukaran terjadi 3 x pergeseran) Jumlah pembandingannya C = n-1 = n*(n-1)/2
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.