C. Dynamic programming
paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu
masalah yang mengandung sub-struktur yang optimal (, dan mengandung
beberapa bagian permasalahan yang tumpang tindih .
D. Metode serakah
Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik,
bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap;
dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.
E. Algoritma Greedy
ALgoritma greedy merupakan salah satu dari sekian banyak algoritma yang
sering di pakai dalam implementasi sebuah system atau program yang
menyangkut mengenai pencarian “optimasi”
Di dalam mencari sebuah solusi (optimasi) algoritma greedy hanya memakai 2
buah macam persoalan Optimasi,yaitu:
1. Maksimasi (maxizimation)
2. Minimasi (minimization)
Sekarang kita lanjut ke contoh soal yang aja ya..biar lebih enak membedakan
antara soal mengenai optimasi/maksimasi dengan minimum/minimasi.
F. Algoritma Dijkstra
Algoritma Dijkstra, (dinamai menurut penemunya, seorang ilmuwan
komputer, Edsger Dijkstra), adalah sebuah algoritma rakus (greedy algorithm)
yang dipakai dalam memecahkan permasalahan jarak terpendek (shortest path
problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi
(edge weights) yang bernilai tak-negatif.
Misalnya, bila vertices dari sebuah graf melambangkan kota-kota dan bobot
sisi (edge weights) melambangkan jarak antara kota-kota tersebut, maka
algoritma Dijkstra dapat digunakan untuk menemukan jarak terpendek antara
dua kota.
Input algoritma ini adalah sebuah graf berarah yang berbobot (weighted
directed graph) G dan sebuah sumber vertex s dalam G dan V adalah
himpunan semua vertices dalam graph G.
Setiap sisi dari graf ini adalah pasangan vertices (u,v) yang melambangkan
hubungan dari vertex u ke vertex v. Himpunan semua tepi disebut E.
Bobot (weights) dari semua sisi dihitung dengan fungsi
w: E → [0, ∞)
jadi w(u,v) adalah jarak tak-negatif dari vertex u ke vertex v.
Ongkos (cost) dari sebuah sisi dapat dianggap sebagai jarak antara duavertex,
yaitu jumlah jarak semua sisi dalam jalur tersebut. Untuk sepasang
vertex s dan t dalam V, algoritma ini menghitung jarak terpendek dari s ke t.
G. Algoritma Kriptografi
Algoritma kriptografi atau cipher , dan juga sering disebut dengan
istilahsandi adalah suatu fungsi matematis yang digunakan untuk melakukan
enkripsi dan dekripsi (Schneier, 1996). Ada dua macam algoritma kriptografi,
yaitu algoritma simetris (symmetric algorithms) dan algoritma
asimetris(asymmetric algorithms).
H. Algoritma random
algoritma random sering dibutuhkan ketika membuat AI untuk musuh,
misalnya untuk memunculkan pasukan musuh secara random. fungsi
sederhana berikut ini digunakan untuk mencari nilai random dari bilangan
antara min – max.
var a = Math.floor(Math.random() * (max – min + 1)) + min;
misalnya min = 1 dan max = 10, maka akan menghasilkan nilai random pada
var a pada kisaran 1-10.