|
15
Menganalisa algoritma
dapat
diartikan
sebagai
proses
memprediksi
sumber-
sumber
yang
dibutuhkan
oleh
algoritma.
Terkadang
sumber-sumber seperti
memori,
communication bandwith,
atau
perangkat
keras
komputer
menjadi
hal-hal
yang
utama,
tetapi sering
kali waktu komputasi
menjadi nilai yang ingin dihitung. Umumnya,
dengan
menganalisa
beberapa
algoritma
dalam
suatu
masalah,
hal
utama
yang
paling
efisien dapat dengan mudah diidentifikasi.
(Thomas H. Cormen, 2001, p21)
2.6
Kompleksitas Waktu
Besarnya
waktu
yang
dibutuhkan
sebuah
algoritma
untuk
menyelesaikan
suatu
permasalahan selalu bergantung
terhadap
jumlah
inputan
yang
harus diproses.
Semakin
besar
data
maka
semakin besar
waktu
yang dibutuhkan.
Sebagai contoh,
untuk
mengurutkan
10.000
elemen
membutuhkan lebih
banyak
waktu
daripada
untuk
mengurutkan 10
elemen.
Tetapi,
pada
keadaan
sebenarnya
nilai
dari
suatu
fungsi
algoritma
tergantung
pada
banyak
faktor,
misalnya
kecepatan
komputer,
kualitas
dari
compiler, dan kualitas dari program itu sendiri.
(Weiss, Mark Allen, 1996, p149).
Waktu dari
sebuah algoritma dapat
diukur dengan
menghitung banyaknya
operasi / instruksi yang dieksekusi. Di dalam sebuah algoritma
mungkin
terdapat
banyak sekali
jenis-jenis operasi,
misalnya operasi penjumlahan, operasi pengisian
nilai,
operasi
pembagian,
operasi
perbandingan,
operasi
pembacaan,
pemanggilan
prosedur,
dan
sebagainya.
Jika
besaran
waktu
(dalam
satuan
detik)
untuk
melaksanakan
sebuah
operasi
tertentu
telah
diketahui,
maka
waktu
yang
dibutuhkan untuk
melaksanakan
algoritma tersebut dapat dihitung.
(Munir, Rinaldi, 2003, p418)
|