Efisiensi Algoritma →kecepatan (waktu) dan space memori
| Add caption |
Jadi, dalam suatu algoritma analisa yang palin sering dilakukan pada suatu algoritma adalah waktu proses. Dalam menentukan waktu proses secara tepat merupakan pekerjaan yang sangat sulit karena waktu proses secara eksak sangat tergantung pada implementasi algoritma dan perangakt keras yang dipakai. Analisa yang digunakan untuk menyatakan efisiensi haruslah se-umum mungkin. Efisiensi suatu algoritma merupakan salah satu penentu dipakai atau tidaknya suatu algoritma itu.
· Tipe Data
- integer
- real
Dua nilai yg sama dgn operator yg sama tapi dgn variabel yg berbeda, maka terdapat perbedaan kecepatan/proses penyelesaiannya.
Contoh :
250 + 17 = 267 (lebih cepat dari)
250.0 + 17.0 = 0.25*103 + 0.17*102
= 0.25*103 + 0.017*103
= (0.25+ 0.17)*103
= 0.267*103
= 267.0
· Operator
Urutan penggunaan operator/penempatan operator bisa mempengaruhi efisiensi.
Contoh perkalian (*) lebih lama daripada penjumlahan (+)
· Tetapi dalam perkembangan teknologi, perbedaan penggunaan operator maupun tipe data dasar tidak terlalu signifikan.
· Yang perlu diperhatikan adalah banyaknya operasi aritmatika dan logika yang dilakukan.
Operator aritmatika : +,-,*,/,^,div,mod
Operator logika : AND,OR,NOT masing-masing 1.
Operator adalah jika hasil perhitungannya termasuk dalam himpunan itu sendiri.
2 < 5 bukan operator tapi konstanta logika karena tidak menghasilkan nilai yang sejenis
y = 5+0 1 operation
y = 2+3*5 2 operation
y = 3*5+2 2 operation
· Banyak langkah dalam suatu algoritma dinyatakan dengan banyaknya operasi aritmatika dan logika yang dilakukan. Dengan demikian hal ini bergantung pada statement dan jenis algoritma :
- sequensial
- branching
- looping
- subroutine call (bisa memanggil prosedur dan bisa memanggil fungsi)
Banyak langkah (waktu tempuh) + memori
= kompleksitas waktu
CONTOH :
1. for i ß 2 to 30 step 5
Ts = 2
x ß x+1
Ts = 2 |
y ß x+y
Berapa waktu tempuhnya ?
T = t (Ts+1)
= 6 (2+1)
= 18
2. n=20
for i ß 2 to 2*n step 5
Ts = 2
x ß x+1
Ts = 2 |
y ß x+y
Berapa waktu tempuhnya ?
Looping
Tfor = t (Ts+1)
= 8 (2+1)
= 24
Waktu tempuh perkalian 2*n T2*n = 1
Jadi waktu tempuhnya = T = 24 + 1
= 25
SUMBER:
http://wartawarga.gunadarma.ac.id/2011/04/efisiensi-algoritma/
bambang.himatif.or.id/download/Efisiensi%20algoritma.rtf
http://andifharied.blogspot.com/2011/12/manfaat-efisiensi-algoritma.html
http://www.csharp-indonesia.com/2010/08/efisiensi-algoritma.html
urhanm.blogspot.com


No comments:
Post a Comment