Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha...

26
PERTEMUAN 10 METODE DEVIDE AND CONQUER

Transcript of Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha...

Page 1: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

PERTEMUAN 10

METODE DEVIDE AND

CONQUER

Page 2: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

• Bentuk Umum Proses Metode D And C dpt dilihat sbb :

n input I

Subproblem I

Subsolusi I

Solusi Optimal

n input

n input II n input III n input K

Subsolusi II Subsolusi III Subsolusi K

Subprob. II Subprob. III Subprob. K

Page 3: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

SORTING

1. Metode Selection Sort

2. Metode Buble Sort

3. Metode Merge Sort

4. Metode Quick Sort

5. Metode Insertion.

Hal yg mempengaruhi Kecepatan Algoritma Sort :

Jumlah Operasi Perbandingan & Jumlah Operasi

Pemindahan Data

Page 4: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Tehnik pengurutan dgn cara pemilihan

elemen atau proses kerja dgn memilih

elemen data terkecil utk kemudian

dibandingkan & ditukarkan dgn elemen pd

data awal, dst s/d seluruh elemen shg akan

menghasilkan pola data yg telah disort.

SELECTION SORT

Page 5: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

1. Pengecekan dimulai data ke-1 sampaidengan data ke-n

2. Tentukan bilangan dengan Index terkecildari data bilangan tersebut

3. Tukar bilangan dengan Index terkeciltersebut dengan bilangan pertama ( I = 1 )dari data bilangan tersebut

4. Lakukan langkah 2 dan 3 untuk bilanganberikutnya ( I= I+1 ) sampai didapatkanurutan yg optimal.

Prinsip Kerja dari Teknik Selection Sort ini

adalah :

Page 6: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Contoh : 22 10 15 3 8 2

Iterasi 1

1 2 3 4 5 6

Langkah 1: 22 10 15 3 8 2

Langkah 2 : 22 10 15 3 8

2

Langkah 3 : 2 10 15 3 8 22

Langkah 4 : Ulangi langkah 2 dan 3 .

Page 7: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Iterasi 2

Langkah 1: 2 10 15 3 8 22

Langkah 2: 2 10 15 3 8 22

Langkah 3: 2 3 15 10 8 22

Langkah 4: Ulangi langkah 2 dan 3 .

Lakukan Iterasi selanjutnya sampai iterasi

ke-6

Page 8: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Prinsip Kerja dari Bubble Sort adalah :

1. Pengecekan mulai dari data ke-1 sampai datake-n

2. Bandingkan data ke-n dengan data sebelumnya(n-1)

3. Jika lebih kecil maka pindahkan bilangantersebut dengan bilangan yg ada didepannya( sebelumnya ) satu persatu (n-1,n-2,n-3,....dst)

4. Jika lebih besar maka tidak terjadi pemindahan

5. Ulangi langkah 2 dan 3 s/d sort optimal.

BUBBLE SORTTehnik Sort yg bekerja dgn menggunakan prinsip

gelembung (bubble) udara yg akan bergerak

naik ke atas secara satuper satu.

Page 9: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Contoh : 22 10 15 3 8 2

terasi 1

1 2 3 4 5 6

Langkah 1: 22 10 15 3 8 2

Langkah 2: 22 10 15 3 8 2

Langkah 3: 22 10 15 3 2 8

Langkah 4: Ulangi langkah 2 dan 3

Hasil iterasi 1 : 2 22 10 15 3 8

Page 10: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Iterasi 2

Langkah 1: 2 22 10 15 3 8

Langkah 2: 2 22 10 15 3 8

- 8>3, maka 8 tidak pindah,

untuk selanjutnya bandingkan

data sebelunya yaitu 3.

Langkah 3: 2 22 10 3 15 8

Langkah 4: Ulangi langkah 2 dan 3

Hasil Iterasi 2 : 2 3 22 10 15 8

Lakukan Iterasi selanjutnya sampai iterasi ke- 6

Page 11: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

QuickSortMetode QuickSort sering disebut metode partition exchangesort, Diperkenalkan oleh C.A.R. Hoare. Pada metode ini jarakkedua elemen yang akan ditukarkan nilainya ditentukan cukupbesar.

Misal ada N elemen dalam keadaan urut turun, adalah mungkinuntuk mengurutkan N elemen tersebut dengan N/2 kali, yaknipertama kali menukarkan elemen paling kiri dengan palingkanan, kemudian secara bertahap menuju ke elemen yang ada ditengah. Tetapi hal ini hanya bisa dilakukan jika kita tahu pastibahwa urutannya adalah urut turun.

Page 12: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Secara garis besar metode ini dijelaskan sebagai berikut, misal kitaakan mengurutkan vektor A yang mempunyai N elemen. Kita pilihsembarang dari vektor tersebut, biasanya elemen pertamamisalnya X. kemudian semua elemen tersebut disusun denganmenempatkan X pada posisi J sedemikian rupa sehingga elemenke 1 sampai ke j-1 mempunyai nilai lebih kecil dari X dan elemenke J+1 sampai ke N mempunyai nilai lebih besar dari X. Dengandemikian kita mempunyai dua buah subvektor, subvektor pertamanilai elemennya lebih keci dari X, subvektor kedua nilai elemennyalebih besar dari X.

Page 13: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Pada langkah berikutnya, proses diatas diulang pada keduasubvektor, sehingga kita akan mempunyai empat subvektor.Proses diatas diulang pada setiap subvektor sehingga seluruhvektor semua elemennya menjadi terurutkan.

Contoh:

23 45 12 24 56 34 27 23 16

12 23 16 23 45 24 56 34 27

Subvektor Kiri Subvektor Kanan

12 23 16 23 24 34 27 45 56

12 16 23 23 24 34 27 45 56

12 16 23 23 24 27 34 45 56

Sumber: Struktur Data (Insap Santosa, 2006 hal: 337-340)

Page 14: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing
Page 15: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

1. Prinsip Kerja Insertion Sort adalah

2. Pengecekan mulai dari data ke-1 sampai data ke-n

3. Bandingkan data ke-I ( I = data ke-2 s/d data ke-n )

4. Bandingkan data ke-I tersebut dengan data sebelumnya (I-1), Jika lebih kecil maka data tersebut dapat disisipkan kedata awal sesuai dgn posisisi yg seharusnya

5. Lakukan langkah 2 dan 3 untuk bilangan berikutnya ( I= I+1) sampai didapatkan urutan yg optimal.

INSERTION SORT

Prinsip dasar Insertion adalah secara berulang-ulang

menyisipkan / memasukan setiap elemen. ke dlm

posisinya / tempatnya yg benar.

Page 16: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Contoh : 22 10 15 3 8 2

Iterasi 1

1 2 3 4 5 6

Langkah 1: 22 10 15 3 8 2

Langkah 2: 22 10 15 3 8 2

Langkah 3: 10 22 15 3 8 2

Langkah 4: Ulangi langkah 2 dan 3

Page 17: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Iterasi 2

Langkah 1: 10 22 15 3 8 2

Langkah 2: 10 22 15 3 8 2

Langkah 3: 10 15 22 3 8 2

Langkah 4: Ulangi langkah 2 dan 3

Lakukan Iterasi selanjutnya sampai iterasi

ke- 6

Catatan : Setiap ada pemindahan, maka elemen.

Yang sudah ada akan di insert sehingga akan

bergeser kebelakang.

Page 18: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Prinsip Kerja Merge Sort adalah :

• Kelompokan deret bilangan kedalam 2 bagian,

4 bagian, 8 bagian, ......dst (2n)

• Urutkan secara langsung bilangan dalam

kelompok tsb.

• Lakukan langkah diatas untuk kondisi bilangan

yg lain sampai didapatkan urutan yg optimal .

MERGE SORT

Page 19: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Contoh : 22 10 15 3 8 2

Iterasi 1

1 2 3 4 5 6

Langkah 1: 22 10 15 3 8 2

Langkah 2: 10 22 3 15 2 8

Iterasi 2

Langkah 1: 10 22 3 15 2 8

Langkah 2: 3 10 15 22 2 8

Page 20: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

Iterasi 3

Langkah 1:3 10 15 22 2 8

Langkah 2:2 3 8 10 15 22

Page 21: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

LATIHAN SOAL

Page 22: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

1. Hal yang mempengaruhi kecepatan algoritma sort

adalah :

a. Jumlah Operasi perbandingan dan jumlah operasi

pemindahan data

b. Jumlah Operasi pembagian dan jumlah operasi

pemindahan data

c. Jumlah Operasi perhitungan

d. Jumlah Operator

e. Jumlah Operasi

2. Teknik Devide and Conguer digunakan dalam

memecahkan masalah antara lain :

a. Array d. Sorting & Searching

b. Max & Min e. Branching

c. Matrix

Page 23: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

2. Teknik Devide and Conguer digunakan dalam memecahkan

masalah antara lain :

a. Array d. Sorting & Searching

b. Max & Min e. Branching

c. Matrix

3. Membagi n input menjadi k subset input yang berbeda

( 1 < k < n ) . Dari k subset yang berbeda akan terdapat k

subproblem dan setiap subproblem mempunyai solusinya

masing-masing . Hal ini merupakan prinsip dasar dari :

a. D and C

b. Searching

c. Sorting

d. Rekursif

e. Branching

Page 24: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

3. Membagi n input menjadi k subset input yang berbeda

( 1 < k < n ) . Dari k subset yang berbeda akan terdapat k

subproblem dan setiap subproblem mempunyai solusinya

masing-masing . Hal ini merupakan prinsip dasar dari :

a. D and C

b. Searching

c. Sorting

d. Rekursif

e, Branching

4. Usaha untuk mengurutkan kumpulan –kumpulan data

dalam suatu array disebut :

a. Searcing d. Concuer

b. Sorting e. D and C

c. Divide

Page 25: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

4. Usaha untuk mengurutkan kumpulan –kumpulan data

dalam suatu array disebut :

a. Searcing

b. Sorting

c. Divide

d. Concuer

e. D and C

5. Manakah dibawah ini yang bukan merupakan metode

sorting :

a. Bubble Sort

b. Quick sort

c. Metode Greedy

d. Insertion

e. Selection

Page 26: Pertemuan 11 METODE DEVIDE AND CONQUER · Metode Quick Sort 5. ... dengan data ke-n 2. ... Usaha untuk mengurutkan kumpulan –kumpulan data dalam suatu array disebut : a. Searcing

5. Berikut ini adalah metode yang digunakan pada teknik

sorting, kecuali :

a. Bubble Sort d. Insertion

b. Heap Sort e. Selection

c. Metode Greedy

1. Hal yang mempengaruhi kecepatan algoritma sort

adalah :

a. Jumlah Operasi perbandingan dan jumlah operasi

pemindahan data

b. Jumlah Operasi pembagian dan jumlah operasi

pemindahan data

c. Jumlah Operasi perhitungan

d. Jumlah Operator

e. Jumlah Operasi