Metode pemecahan masalah Metode Devide and conquer Membagi permasalahan ke dalam sub-sub masalah Metode Greedy Memperoleh hasil dengan memilih solusi yang paling optimal
Metode Devide and Conquer Sorting/Pengurutan
SORTING Metode Selection Sort Metode Bubble Sort Metode Insertion sort Hal yg mempengaruhi Kecepatan Algoritma Sort : Jumlah Operasi Perbandingan & Jumlah Operasi Pemindahan Data
Algoritma Selection Sort Tentukan bilangan terkecil dari data bilangan tersebut Tukar bilangan dengan terkecil tersebut dengan bilangan pertama dari data bilangan tersebut Lakukan langkah 1 dan 2 untuk bilangan berikutnya ( I= I+1 ) sampai didapatkan urutan yg optimal. Contoh : 22 10 15 3 8 2
Algoritma Bubble Sort Bandingkan data ke-n dengan data sebelumnya (n-1) Jika lebih kecil maka pindahkan bilangan tersebut dengan bilangan yg ada di depannya (sebelumnya ) satu persatu (n-1,n-2,n-3,....dst) Jika lebih besar maka tidak terjadi pemindahan Ulangi langkah 1 -3 sampai sort optimal.
INSERTION SORT Bandingkan data ke-2 dengan data sebelumnya, Jika lebih kecil maka data tersebut dapat disisipkan ke data awal sesuai dgn posisi yg seharusnya Lakukan langkah 1 untuk bilangan berikutnya ( I= I+1 ) sampai didapatkan urutan yg optimal.
Searching Pencarian
Algoritma Linear/Sequential Search (Untuk data yang belum terurut / yg sudah terurut) Tentukan I = 0 X adalah data yang dicari Ketika Nilai [I] <> X Maka Tambahkan I = I +1 Jika i == N Maka Cetak “Pencarian Gagal” ulangi langkah No. 3 sampai Nilai(I) = X
Pencarian Linier
Algoritma Binary Search (Untuk data yg sudah terurut ) : Kiri = 0 , kanan = N-1 Ketika kiri <= kanan Maka kerjakan langkah No .3, Jika tidak Maka kerjakan langkah No. 5 Tentukan Nilai Tengah dengan rumus tengah = (kiri+ kanan ) / 2 Jika X < Nil. Tengah Maka kanan = tengah – 1 Jika X > Nil. Tengah Maka kiri = tengah + 1 Jika X == Nil. Tengah Maka Nil. Tengah = Nilai yang dicari Ulangi langkah 3 Jika X > Maka Pencarian GAGAL