You are on page 1of 33

METODE

DEVIDE AND CONQUER

PERTEMUAN 18
Bentuk Umum Proses Metode D And C dpt dilihat sbb :

n input

n input I n input II n input III n input K

Subproblem I Subprob. II Subprob. III Subprob. K

Subsolusi I Subsolusi II Subsolusi III Subsolusi K

Solusi Optimal
SORTING
1. Metode Selection Sort
2. Metode Bubble 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
SELECTION SORT

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 (Lanjutan)

Prinsip Kerja dari Teknik Selection Sort ini adalah :

1. Pengecekan dimulai data ke-1 sampai dengan data ke-n


2. Tentukan bilangan dengan Index terkecil dari data
bilangan tersebut
3. Tukar bilangan dengan Index terkecil tersebut dengan
bilangan pertama ( I = 1 ) dari data bilangan tersebut
4. Lakukan langkah 2 dan 3 untuk bilangan berikutnya
( I= I+1 ) sampai didapatkan urutan yg optimal.
Contoh SELECTION SORT
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 : 2 10 15 3 8 22
Langkah 3 : Ulangi langkah 1 dan 2 .
Iterasi 2 SELECTION SORT

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 .
Iterasi 3 SELECTION SORT

Langkah 1: 2 3 15 10 8 22
Langkah 2: 2 3 15 10 8 22
Langkah 3: 2 3 8 10 15 22
Langkah 4: Ulangi langkah 2 dan 3 .
Iterasi 4 SELECTION SORT

Langkah 1: 2 3 8 10 15 22
Langkah 2: 2 3 8 10 15 22
Langkah 3: 2 3 8 10 15 22
Langkah 4: Ulangi langkah 2 dan 3 .
Iterasi 5 SELECTION SORT

Langkah 1: 2 3 8 10 15 22
Langkah 2: 2 3 8 10 15 22
Langkah 3: 2 3 8 10 15 22
Langkah 4: Ulangi langkah 2 dan 3 .
Iterasi 6 SELECTION SORT

Langkah 1: 2 3 8 10 15 22
Langkah 2: 2 3 8 10 15 22
Langkah 3: 2 3 8 10 15 22
Langkah 4: Ulangi langkah 2 dan 3 .

Dikarenakan dari iterasi ke-4 data sudah terurut,


sehingga iterasi 4 sampai ke 6 tidak ada
perubahan
Latihan

Buatlah pengurutan dari data berikut ini:


29, 27, 10, 8, 76, 21
Hasil dari
Iterasi 1: …
Iterasi 2: …

Sampai iterasi ke 5: …
BUBBLE SORT
• Tehnik Sort yg bekerja dgn menggunakan prinsip
gelembung (bubble) udara yg akan bergerak naik ke atas
secara satuper satu.
• Prinsip Kerja dari Bubble Sort adalah :
1. Pengecekan mulai dari data ke-1 sampai data ke-n
2. Bandingkan data ke-n dengan data sebelumnya (n-1)
3. Jika lebih kecil maka pindahkan bilangan tersebut
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.
Contoh BUBBLE SORT
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 2 8
Langkah 3 : Ulangi langkah 1 dan 2

Hasil iterasi 1 : 2 22 10 15 3 8
Langkah Penyelesaian BUBBLE SORT :

Proses 1
22 10 15 3 8 2

22 10 15 3 ~8

-<
22 10 15 ~3 8

22 10 15 3 8

22
.>;22
?< 10 15 3 8

2 10 15 3 8

Proses 2
2 22 10 15 Tidak <1da penukaran.
~ karena 3 < 8
2 22 10 15 3 8

»<
»<
2 22 10 15 8

2 22 10 15 8

2 ?< 22 10 15 8
Pegurutan berhenti di sini!

2 3 22 10 15 8
Langkah Penyelesaian BUBBLE SORT (Lanjutan)

Proses 3
2 3 22 10 15 8

2 3 22 10 ~15

2 3 22 ~10 15

2 3 ?< 22 10 15
Pcgurutan berhenti di sini!

2 3 8 22 10 15

2 3 8 22 10 15

Proses 4
2 3 8 22 10 15) Tidak ada penukaran, karena
10 < 15
2 3 8 22 10 15

2 3 8 1?<22 15 Pegurutan berhenti di sini!

2 3 8 10 22 15

2 3 8 10 22 15

2 3 8 10 22 15
Langkah Penyelesaian BUBBLE SORT (Lanjutan)

Pr-oses 5
2 3 8 10 2x1s
2 3 8 10 15 22 Pegurutan berhenti di sini!

2 3 8 10 15 22

2 3 8 10 15 22

2 3 8 10 15 22

2 3 8 10 15 22
Iterasi 2 BUBBLE SORT

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
QuickSort
Metode QuickSort sering disebut metode partition
exchange sort, Diperkenalkan oleh C.A.R. Hoare. Pada
metode ini jarak kedua elemen yang akan ditukarkan
nilainya ditentukan cukup besar.
Misal ada N elemen dalam keadaan urut turun, adalah
mungkin untuk mengurutkan N elemen tersebut dengan
N/2 kali, yakni pertama kali menukarkan elemen paling kiri
dengan paling kanan, kemudian secara bertahap menuju
ke elemen yang ada di tengah. Tetapi hal ini hanya bisa
dilakukan jika kita tahu pasti bahwa urutannya adalah urut
turun.
QuickSort (Lanjutan)
Secara garis besar metode ini dijelaskan sebagai berikut,
misal kita akan mengurutkan vektor A yang mempunyai N
elemen. Kita pilih sembarang dari vektor tersebut,
biasanya elemen pertama misalnya X. kemudian semua
elemen tersebut disusun dengan menempatkan X pada
posisi J sedemikian rupa sehingga elemen ke 1 sampai
ke j-1 mempunyai nilai lebih kecil dari X dan elemen ke
J+1 sampai ke N mempunyai nilai lebih besar dari X.
Dengan demikian kita mempunyai dua buah subvektor,
subvektor pertama nilai elemennya lebih keci dari X,
subvektor kedua nilai elemennya lebih besar dari X.
QuickSort (Lanjutan)
Pada langkah berikutnya, proses diatas diulang pada kedua
subvektor, sehingga kita akan mempunyai empat subvektor.
Proses diatas diulang pada setiap subvektor sehingga
seluruh vektor semua elemennya menjadi terurutkan.
Contoh:
23 45 12 24 56 34 27 23 16

Subvektor Kiri Subvektor Kanan


12 23 16 23 45 24 56 34 27

12 23 16 23 24 34 27 45 56

12 16 23 23 24 34 27 45 56

45 56
12 16 23 23 24 27 34
INSERTION SORT
• Prinsip dasar Insertion adalah secara berulang-ulang
menyisipkan / memasukan setiap elemen. ke dlm posisinya
/ tempatnya yg benar.
• Prinsip Kerja Insertion Sort adalah :
1. Pengecekan mulai dari data ke-1 sampai data ke-n
2. Bandingkan data ke-I ( I = data ke-2 s/d data ke-n )
3. Bandingkan data ke-I tersebut dengan data sebelumnya
(I-1), Jika lebih kecil maka data tersebut dapat disisipkan
ke data awal sesuai dgn posisisi yg seharusnya
4. Lakukan langkah 2 dan 3 untuk bilangan berikutnya
( I= I+1 ) sampai didapatkan urutan yg optimal.
Contoh INSERTION SORT

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 15 3 8 2
Langkah 3: Ulangi langkah 1 dan 2
Iterasi 2 INSERTION SORT

Langkah 1: 10 22 15 3 8 2
Langkah 2: 10 15 22 3 8 2
Langkah 3: 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.
MERGE SORT
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 .
Contoh MERGE SORT

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
Iterasi 3 MERGE SORT

Langkah 1 : 3 10 15 22 2 8

Langkah 2 : 2 3 8 10 15 22
LATIHAN SOAL

PERTEMUAN 10
Latihan Soal
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 Conquer digunakan dalam


memecahkan masalah antara lain :
a. Array d. Sorting & Searching
b. Max & Min e. Branching
c. Matrix
Latihan Soal
2. Teknik Devide and Conquer 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 d. Rekursif
b. Searching e. Branching
c. Sorting
Latihan Soal
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 d. Rekursif
b. Searching e. Branching
c. Sorting

4 . Usaha untuk mengurutkan kumpulan–kumpulan data


dalam suatu array disebut :
a. Searcing d. Concuer
b. Sorting e. D and C
c. Divide
Latihan Soal
4 . Usaha untuk mengurutkan kumpulan–kumpulan data
dalam suatu array disebut :
a. Searcing d. Concuer
b. Sorting e. D and C
c. Divide

5. Manakah dibawah ini yang bukan merupakan metode


sorting :
a. Bubble Sort d. Insertion
b. Quick sort e. Selection
c. Metode Greedy
Latihan Soal
5. Manakah dibawah ini yang bukan merupakan metode
sorting :
a. Bubble Sort d. Insertion
b. Quick 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

You might also like