• Tidak ada hasil yang ditemukan

Algoritma Sorting (Selection Insertion)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Algoritma Sorting (Selection Insertion)"

Copied!
33
0
0

Teks penuh

(1)

Algoritma Sorting

(2)

• 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

1. i  1

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)

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)

4

3 6 8 9 7 2 1 5

4 6 8 9 7 2 1 5

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

10

3 10

(6)

4 6 8 9 7 2 1 5

Dua data pertama sudah terurut

3

Selanjutnya menyisipkan 4 di daerah

abu-abu sehingga setelah penyisipan daerah

abu-abu menjadi urut.

10

4 6 8 9 7 2 1 5

(7)

Simpan nilai yang akan diurutkan dalam variabel key Key = 4 5 6 8 9 7 2 1 3 10 4

Nilai 10 digeser pada indek ke-3

5 6 8 9 7 2 1

3 10

4

Sisipkan 4 pada posisi yang tepat

5 6 8 9 7 2 1

3 4 10

C C = Comparison

(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

5

10 8 9 7 2 1

3 4 6

Ulangi Proses ini sampai data terurut semuanya.

5 10 8 9 7 2 1 3 4 6 5 10 8 9 7 2 1 3 4 6

(9)

5 10 8 9 2 1 3 4 6 7 5 10 8 9 2 1 3 4 6 7 5 10 8 9 2 3 4 6 7 1 5 10 8 9 2 1 3 4 6 7 5 8 9 10 2 1 3 4 6 7

(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) + (1 + 2 + .. + n-1) M = (n-1) + n * ( n-1)/2

- Jumlah pembandingan key

C = (1 + 2 + .. + n-1) = n * (n-1) / 2

(13)
(14)

Algoritma Selection Sort

1. i 0

2. selama (i < N-1) kerjakan baris 3 sampai dengan 11 3. min i

4. j i + 1

5. Selama (j < N) kerjakan baris 6 dan 7 6. Jika (A[j] < A[min]) maka min j 7. j j + 1 8. temp = A[i] 9. A[i] = A[min] 10. A[min] = temp 11. i i + 1

(15)

Selection Sort Algorithm

Perbandingan diawali pada dat indeks ke-0. Dibandingkan dengan data sesudahnya untuk mencari elemen yang paling kecil (menggunakan indeks data)

Slide copyright Pearson Education 2002 15

0 10 20 30 40 50 60 70 [1][0] [2][1] [2] [3] [4] [5] [3] [4] [5] [6] 45 21 52 61 9 15 Min = 0 j = 1

(16)

Selection Sort Algorithm – 1

Slide copyright Pearson Education 2002 16

0 10 20 30 40 50 60 70 [1][0] [2][1] [2] [3] [4] [5] [3] [4] [5] [6] 45 21 52 61 9 15 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)

(17)

Selection Sort Algorithm – 2

Slide copyright Pearson Education 2002 17

0 10 20 30 40 50 60 70 [1][0] [2][1] [2] [3] [4] [5] [3] [4] [5] [6] 45 21 52 61 9 15 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

(18)

Selection Sort Algorithm – 3

Slide copyright Pearson Education 2002 18

0 10 20 30 40 50 60 70 [1][0] [2][1] [2] [3] [4] [5] [3] [4] [5] [6] 45 21 52 61 9 15 Min = 1 j = 3 61 < 21 min = 1 Data ke1 dibandingkan dengan Data ke-3

(19)

Selection Sort Algorithm – 4

Slide copyright Pearson Education 2002 19

0 10 20 30 40 50 60 70 [1][0] [2][1] [2] [3] [4] [5] [3] [4] [5] [6] 45 21 52 61 9 15 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)

(20)

Selection Sort Algorithm – 5

Slide copyright Pearson Education 2002 20

0 10 20 30 40 50 60 70 [1][0] [2][1] [2] [3] [4] [5] [3] [4] [5] [6] 45 21 52 61 9 15 15< 9 min = 4 Min = 4 j = 5 Data ke-4 dibandingkan dengan Data ke-5

(21)

Selection Sort Algorithm – 2

• Diawali dengan mencari elemen yang paling kecil • Tukar elemen

yang paling kecil dengan Data

indeks ke-0

Slide copyright Pearson Education 2002 21

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1][0] [2][1] [2] [3] [4] [5] [3] [4] [5] [6]

(22)

Selection Sort Algorithm – 3

Slide copyright Pearson Education 2002 22

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1][0] [2][1] [2] [3] [4] [5] [3] [4] [5] [6]  Diawali dengan mencari elemen yang paling kecil  Tukar elemen yang paling kecil dengan Data indeks ke-0

(23)

Selection Sort Algorithm – 4

• Bagian dari Data yang sudah

terurut

Slide copyright Pearson Education 2002 23

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6]

Sudah terurut Belum terurut

(24)

Selection Sort Algorithm – 5

• Cari elemen terkecil pada bagian yang belum terurut

Slide copyright Pearson Education 2002 24

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6]

Sudah terurut Belum terurut

(25)

Selection Sort Algorithm – 6

• Diawali dengan mencari elemen yang paling kecil • Tukar dengan data paling depan pada daerah yang belum terurut

Slide copyright Pearson Education 2002 25

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6]

Sudah terurut Belum terurut

(26)

Selection Sort Algorithm – 7

• Dua data

telah terurut

Slide copyright Pearson Education 2002 26

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6]

Sudah terurut Belum terurut

(27)

Selection Sort Algorithm – 8

• Proses

dilanjutkan

Slide copyright Pearson Education 2002 27

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6]

Sudah terurut Belum terurut

Elemen terkecil

(28)

Selection Sort Algorithm – 9

• Proses

dilanjutkan

Slide copyright Pearson Education 2002 28

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6]

Sudah terurut Belum terurut

(29)

Selection Sort Algorithm – 10

• Proses

dilanjutkan

Slide copyright Pearson Education 2002 29

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6]

Sudah terurut Belum terurut

(30)

Selection Sort Algorithm – 11

Slide copyright Pearson Education 2002 30

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6]

Sudah terurut Belum terurut

(31)

Selection Sort Algorithm – 12

• Berhenti pada saat bagian yang terurut tinggal hanya satu Data karena Data yang ada pasti bilangan yang paling besar

Slide copyright Pearson Education 2002 31

0 10 20 30 40 50 60 70 [1] [2] [3] [4] [5] [6] 0 10 20 30 40 50 60 70 [1][0] [2][1] [2] [3] [4] [5] [3] [4] [5] [6]

(32)

Selection Sort Algorithm – 13

• Data sudah terurut

Slide copyright Pearson Education 2002 32

0 10 20 30 40 50 60 70 [1][0] [2][1] [2] [3] [4] [5] [3] [4] [5] [6]

(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

Referensi

Dokumen terkait

Pada tahap ini dilakukan dengan merumuskan masalah yang akan dihadapi dan tujuan yang akan dicapai dalam penelitian, antara lain pencarian susunan ketebalan laminasi

Kenyataan ini barangkali cukup sebagai pertimbangan untuk menyatakan bahwa praktik kawin lari Sasak tersebut dari perspektif hukum Islam berpotensi tidak baik dan

Hukum Pidana merupakan mata kuliah yang memberikan uraian mengenai pemahaman awal hukum pidana yang menguraikan Pengertian,tujuan,fungsi, jenis-jenis dan kaitannya

Dengan mengingat nilai sinus, cosinus dan tangen dari tiap sudut tersebut tentu akan sangat membantu kita dalam melakukan perhitungan.. Misalkan seorang tukang

Hal ini bisa terjadi karena rata-rata pasien DM terdiagnosa saat usia 40 tahun, ini menunjukkan pada kelompok usia tersebut banyak penderita RD yang sudah mengalami DM

A fentiekből számos következtetés levonható és számos kérdés fölvethető: Sanders személye és tevékenysége Magyarországon a SZEB mandátumának lejárta

Hasil penelitian menunjukkan bahwa pengembang berperan aktif dalam mengimplementasikan rekomendasi penanganan dampak lalu lintas, utamanya penanganan dampak lalu lintas

Dalam penelitian ini yang dimaksud dengan konsumsi zat gizi adalah jumlah dan jenis zat gizi dari makanan yang dikonsumsi oleh unit percobaan selama penelitian berlangsung,