Sabtu, 04 Desember 2010

Algoritma

Algoritma adalah langkah-langkah komputasi yang mentransformasikan data masukan menjadi keluaran.


Algoritma dapat ditulis dengan notasi:
  1. Flow chart atau Bagan alir
  2. Pseudo-code (gabungan antara bahasa alami dengan bahasa pemrograman)
  3. Kalimat-kalimat deskriptif
Algoritma yang paling baik adalah Algoritma yang benar dan mangkus (efficient). Algoritma yang mangkus artinya algoritma yang membutuhkan waktu (time) yang pendek dan ruang memori (space) untuk komputasi yang minimum, dalam menyelesaikan suatu masalah.

 Pengukuran kemangkusan algoritma dihitung dari
1. Kompleksitas waktu, T(n)
2. Kompleksitas ruang, S(n)

dimana:
• n = ukuran input yang diproses
• T(n) : jumlah operasi yang dilakukan untuk memproses n
• S(n): ruang memori yang dibutuhkan untuk memproses n


Kompleksitas waktu asimptotik adalah perkiraan kebutuhan waktu algoritma sejalan dengan meningkatnya nilai n. Kebanyakan algoritma menghasilkan laju waktu yang semakin lama bila ukuran input n semakin besar/komplek, bahkan seperti deret eksponensial.


Contoh:
  • ukuran problem (n) : 1, 2, 3, 4, 5, 6, dst 
  • waktu proses (t) : 1, 2, 4, 8, 16, 32, dst
Tiga cara dalam menyatakan waktu asimptotik:
  • O(f(n)): untuk batas atas laju kebutuhan waktu
  • W(g(n)): untuk batas bawah laju kebutuhan waktu
  • Q(h(n)) : jika f(n) = g(n)
Klasifikasi dari berbagai strategi yang digunakan dalam pembuatan algoritma, yaitu:
  1. Strategi Langsung (direct solution), contoh: Algoritma Brute Force, Algoritma Greedy
  2. Strategi pencarian berbasis ruang status (state-space base strategies), Contoh: Algoritma Backtracking, BFS (Breadth First Search), DFS (Deep First Search), Branch and Bound.
  3. Strategi solusi atas-bawah (top-down solution), contoh: Algoritma Divide and Conquer.
  4. Strategi solusi bawah-atas (bottom-up solution), contoh: Dynamic Programming.
Pada materi selanjutnya, kami akan menjelaskan lebih detail setiap strategi yang digunakannya beserta penerapannya pada permasalahan-permasalahan seperti metode searching, sorting, games sudoku, pergerakan puzzle, knap-sack problem (membawa barang dengan kapasitas keranjang yang terbatas) serta problem optimasi (minimasi biaya atau maksimasi profit) yang sering diterapkan dalam aplikasi bisnis dan teknik industri, dan lainnya.

1 komentar:

  1. kita juga punya nih jurnal mengenai Algoritma Backtracking silahkan dikunjungi dan dibaca , berikut linknya
    http://repository.gunadarma.ac.id/bitstream/123456789/2747/1/21-PENYELESAIAN%20MASALAH%20N-QUEEN%20DENGAN%20TEKNIK%20BACKTRACKING.pdf

    BalasHapus