• Tidak ada hasil yang ditemukan

Metode Devide and Conquer

N/A
N/A
Protected

Academic year: 2019

Membagikan "Metode Devide and Conquer"

Copied!
25
0
0

Teks penuh

(1)

Metode Devide

dan Conquer

Febriyanno Suryana, MM,M.Kom www.suryagsc.wordpress.com

(2)

Pendahuluan

Devide and Qonquer adalah metode pemecahan masalah yang bekerja dengan

membagi masalah/problem menjadi beberapa sub-masalah/sub-problem yang lebih kecil, kemudian menyhelesaikan masing-masing sub-masalah secara

independen dan akhirnya menggabungkan solusi masing-masing sub masalah sehingga menjadi solusi masalah semula.

Masalah

sub masalah 1

Sub solusi 1

Solusi

masalah

(3)

Dengan pembagian masalah yang lebih sederhana tentu lebih mudah

diselesaikan dibandingkan dengan masalah yang rumit.  

Algoritma devide and conquer menawarkan penyederhanaan masalah

dengan pendekatan 3 langkah masalah:

pembagian masalah menjadi sekecil mungkin

penyelesaian masalah-masalah yang dikecilkan

penggabungan solusi untuk mendapatkan solusi optimal secara

(4)
(5)

Pengurutan (Sorting)

proses mengatur sekumpulan obyek/data menurut

urutan atau susunan tertentu.

Urutan obyek/data tersebut dapat menaik (ascending)

atau menurun (desencending).

Data yang diurutkan dapat berupa data bertipe dasar

atau data bertipe struktur

Data yang sudah terurut memiliki keuntungan yaitu

(6)

Metode Pengurutan

Algoritma pengurutan / sorting bermacam-macam dan setiap

algoritma ini memiliki kinerja yang berbeda-beda. Berikut ini macam-macam algoritma pengurutan: 

(7)

1. Selection Sort (Metode

Seleksi)

Tehnik pengurutan dengan cara pemilihan elemen

(8)

Prinsip Kerja dari Teknik Selection Sort ini adalah :

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

2. Tentukan bilangan dengan indeks terkecil dari data bilangan tersebut. 3. Tukar bilangan dengan indeks terkecil tersebut dengan bilangan

pertama (I=1) dari data bilangan tersebut.

(9)

Contoh Metode Seleksi

 Contoh : 22 10 15 3 8 2  Iterasi I :

1 2 3 4 5 6

Langkah 1: 22 10 15 3 8 2 Langkah 2: indeks terkecil adalah 6 2

Langkah 3: tukar indeks 1 dengan 6

2 10 15 3 8 22

(10)

Algoritma metode seleksi

langkah 0 : Baca vector yang akan diurutkan (dalam

program utama)

langkah 1 : Kerjakan langkah 2 sampai 4 untuk i = 1

sampai N -1

langkah 2 : Tentukan awal = i , kerjakan langkah 3

untuk j = i +1 sampai N

langkah 3 : (Mencari data terkecil)

Tes : apakah A[awal] > A[j], jika ya maka ubah awal = j

langkah 4 : Tukarkan nilai A[awal] dengan A[i]

(11)

2. Metode Bubble Sort

Teknik yang diinspirasi oleh gelembung sabun yang berada

dipermukaan air. Karena berat jenis gelembung lebih ringan dari pada air, maka gelembung akan naik keatas.

(benda yang berat akan terbenam, benda ringan terapung). 

Elemen data yang paling kecil diapungkan “diangkat keatas” melalui proses pertukaran.

 

Bubble Sort mengurutkan data dengan cara membandingkan

(12)

Prinsip Kerja Bubble Sort

Pengecekan dimulai dari data ke-1 sampai data ke-n

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

Jika lebih kecil maka pindahkan data tersebut dengan

data yang ada di depannya satu per satu (n-1, n-2, n-3, dst).

 Jika lebih besar maka tidak terjadi pemindahan.

Ulangi langkah 2 dan 3 sampai diperoleh sort yang

(13)

Analogi

Larik dengan urut menaik, elemen larik yang berharga

paling kecil ‘diapungkan’, artinya diangkat ke atas (atau ke ujung kiri larik) melalui proses pertukaran.

Proses pengapungan ini dilakukan sebanyak N-1 langkah

dengan N adalah ukuran larik.

 Pada akhir setiap langkah ke-I, larik L[1..N] akan

terdiri atas dua bagian yaitu bagian yang sudah terurut, yaitu L[1..I] dan bagian yang belum terurut L[I+1..N]. Setelah langkah terakhir, diperoleh larik

(14)

Contoh : 22 10 15 3 8 2

Iterasi I :

Langkah 1 : 2 8 Langkah 2 : 2 3 8 Langkah 3 : 2 15 3 8 Langkah 4 : 2 10 15 3 8 Langkah 5 : 2 22 10 15 3 8

(15)

3. Metode Quick Sort

Sort dengan iterasi secara urut dari posisi elemen 1,

(16)

Prinsip Kerja Quick Sort

Tentukan lower bound (batas bawah) dan upper bound

(batas atas).

Bandingkan lower bound (LB) dengan upper bound (UB).

Jika LB > UB maka tukarkan (cari operasi perbandingan

optimal / terkecil).

 Jika LB =< UB maka next UB dan LB

Ulangi langkah di atas sampai diperoleh sort yang

(17)

Contoh : 22 10 15 3 8 2

Iterasi I : 1 2 3 4 5 6

Langkah 1: 22 10 15 3 8 2

LB UB Langkah 2: 2 10 15 3 8 22

Iterasi II :

Langkah 1: 2 10 15 3 8 22 LB UB Langkah 2: 2 8 15 3 10 22

(18)

4. Metode Insertion Sort

Algoritma ini dianalogikan seperti mengurutkan kartu,

selembar demi selembar kartu diambil dan disisipkan

(insert) ke tempat yang seharusnya.

Pengurutan dimulai dari data ke-2 sampai dengan data

terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya.

Pada penyisipan elemen, maka elemen-elemen lain

(19)

Prinsip Kerja Insertion Sort

Pengecekan mulai data ke-1 sampai data ke-n

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

Bandingkan data ke-I tersebut dengan data sebelumnya

(I-1). Jika lebih kecil maka data tersebut dapat disisipkan ke data awal sesuai dengan posisi yang seharusnya.

Lakukan langkah ke-2 dan ke-3 sampai didapatkan

(20)

Analogi

mengurutkan satu set kartu dari kartu yang bernilai paling kecil hingga

yang paling besar.

Seluruh kartu diletakkan pada meja, kita sebut meja pertama, disusun

dari kiri ke kanan dan atas ke bawah.

Kemudian pada meja kedua tempat meletakkan kartu yang diurutkan.

Ambil kartu pertama yang terletak pada pojok kiri atas meja pertama dan

letakkan pada meja kedua.

Ambil kartu kedua dari meja pertama, bandingkan dengan kartu yang

berada pada meja kedua, kemudian letakkan pada urutan yang sesuai setelah perbandingan.

Proses tersebut akan berlangsung hingga seluruh kartu pada meja

(21)

Contoh : 22 10 15 3 8 2

 Iterasi I : 1 2 3 4 5 6

Langkah 1: 22 10 15 3 8 2 Langkah 2: 10 22 15 3 8 2

Langkah 3: 10 22 15 3 8 2 Langkah 4: 10 15 22 3 10 2

(22)

5. Metode Merge Sort

Merge sort adalah algoritma yang digunakan untuk

(23)

Prinsip Kerja Merge Sort

Kelompokkan deret bilangan ke dalam 2 bagian, 4

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

Urutkan secara langsung bilangan dalam kelompok

tersebut.

Lakukan langkah di atas untuk urutan bilangan yang lain

(24)

Contoh : 22 10 15 3 8 2

Iterasi I : 1 2 3 4 5 6

Langkah 1: 22 10 15 3 8 2 Langkah 2: 10 22 3 15 2 8

Iterasi II :

Langkah 1: 10 22 3 15 2 8 Langkah 2: 3 10 15 22 2 8

Iterasi III :

(25)

Referensi

Dokumen terkait

and the higher relative risk of CVD risk factors (esp. hypertension, diabetes, history of smoking, and metabolic syndrome) compared with other studies, it seems necessary to

Penelitian ini digunakan untuk menjawab permasalahan, apakah penggunaan metode Numbered Heads Together (NHT) dapat meningkatkan hasil belajar mata pelajaran

[r]

Kesimpulan yang dapat diambil dari hasil penelitian ini adalah bahwa sistem pakar dapat digunakan untuk membantu memecahkan permasalahan dalam beragam bidang salah satunya

Data adalah bahan baku informasi dan dikumpulkan dalam suatu basis-data (database) agar pengumpulan, penyimpanan, pemeliharaan, pengolahan, dan pengamanannya dapat

Berangkat dari uraian tersebut diatas, masalah yang diangkat dalam penelitian ini adalah tentang “Nilai -nilai Pendidikan Multikultural “, dimana pada akhir-akhir

PERANCANGAN KAMPANYE EDUKASI PADA ANAK USIA DINI 4-6 TAHUN AGAR LEBIH MENGHARGAI MAKANAN.. ELISSA

Managemen intruksional pesantren Syarifuddindalam menjadikan santri proaktif menjawab isu-isu kontemporer dengan cara mendidik santri yang alim ilmu agama serta