Minggu, 12 Desember 2010

Selection Sort

Tipe algoritma brute force lainnya dalam pengurutan data adalah selection sort. Dikatakan selection sort karena algoritma ini mencoba memilih satu per satu elemen data dari posisi awal, untuk mencari data paling kecil dengan mencatat posisi index-nya saja, lalu dilakukan pertukaran hanya sekali pada akhir setiap tahapan.

Algoritma Selection Sort dilakukan untuk menyempurnakan kekurangan dari bubble sort yang melakukan pertukaran setiap kali perbandingan memenuhi kriterianya.

Gambar: Hasil running

Linear Search

Salah satu contoh tipe algoritma brute force lainnya adalah linear search (pencarian berurutan), Dikatakan demikian karena algoritma ini menggunakan strategi langsung dengan membandingkan data secara berurutan (lurus) tanpa menggunakan strategi khusus.

Gambar: Linear Search

Pada contoh di atas terlihat, terdapat 15 data dan dilakukan pencarian terhadap kosakata "access". Jika linear search dimulai dari kiri, maka posisi berawal dari elemen ke-1 dan membandingkannya sampai ketemu. Kompleksitas dari algoritma ini sebanyak n pebandingan untuk kasus terburuk (data tidak ditemukan atau berada di posisi terakhir). Bila rata-rata posisi data ada ditengah, maka kompleksitas menjadi 1/2 n. 

Bubble Sort

Salah satu contoh tipe algoritma brute force adalah bubble sort (pengurutan gelembung). Dikatakan demikian karena algoritma ini menggunakan strategi langsung dengan membandingkan semua posisi dan melakukan pertukaran.

Gambar: Tahapan pengurutan data pada  bubble sort

Jumat, 10 Desember 2010

Linear Congruential Generator

Gambar: Hasil running LCG
Salah satu Pembangkit bilangan acak Semu atau Pseudo Random Number Generator (PRNG) sebagai dasar yang cukup baik untuk dipelajari adalah Linear Congruential Generator (LCG) dengan rumus:

Xn = (a * Xn – 1 + b) mod m

Dimana:
  • Xn = bilangan acak ke-n dari deretnya
  • Xn – 1 = bilangan acak sebelumnya
  • a = faktor pengali
  • b = increment
  • m = modulus pembagi