Wednesday, October 5, 2016

Efisiensi Waktu pada Algoritma



Kali ini kami akan membahas tentang efisiensi waktu eksekusi dalam suatu algoritma.
Berikut ini contoh - contoh algoritma dan perhitungan waktunya {T(n)}



Contoh 1 : Algoritma Menghitung Faktorial


procedure factorial(input a:integer, output f:integer)

Deklarasi

i : integer

Algoritma
f <- 1

a <- 5

  for i <- 1 to a do
      f <- f*i
  endfor

output(Faktorial dari a adalah : f)

Perhitungan T(n)



operasi dasar
C(5)
C(n)
Cop
<-
13
2+2n+1
x
*
5
n
y
output
1
1
z

T(n) = (2+2n+1)x + ny + z
T(5) = 13x + 5y + z


Contoh 2 : Algoritma Cetak Nama Lengkap


program ctkNamaLengkap


Deklarasi
nama : array [1..10] of string[15]
nmLkp : string [150]
n, i : integer

Algoritma
   n <- 5
   nmLkp <- ' '
   for i <- 1 to n do
      output("Masukkan nama ke ",i," : ")
      input(nama[i])
      nmLkp <- nmLkp + nama[i] + ' '
   endfor
   output("Nama lengkap anda adalah",nmLkp)

Perhitungan T(n)

operasi dasar 
C(5)
C(n)
Cop
<-
13
2+(2n+1)
a
+
10
2n
b
output
6
n+1
c
input
5
n
d


T(n) = (2+2n+1)a + 2nb + (n+1)c + nd
T(5) = 13a + 10b + 7c + 5d



Contoh 3 : Algoritma Menghitung Kecepatan Kendaraan

PROGRAM MenghitungKecepatan

Deklarasi
v,s,t : integer

Algoritma
input(s)
input(t)

v <- s/t
output(v)

Perhitungan T(n)

operasi dasar 
C(1)
C(n)
Cop
input
2
2n
j
<-
1
n
k
/
1
n
l
output
1
n
m

T(n) = 2nj + nk + nl + nm
T(1) = 2j + k + l + m


Contoh 4 : Algoritma Menghitung Gaji


program Gaji

Deklarasi
nik, nama : string
jhari, tjabatan, tmakan, ttransport, gaji_pokok, gaji_kotor, pajak, gaji_berih : real

Algoritma
Input (nik)
Input (nama)
Input (gaji_pokok)
Input (tjabatan)
Input (jhari)

Tmakan  <-  15000*jhari
Ttransport <- 10000*jhari
Gaji_kotor <- gaji_pokok + tjabatan + tmakan + ttransport
Pajak <- 0.1 * gaji_kotor
Gaji_bersih <- gaji_kotor – pajak

Output (nik)
Output (nama)
Output (tmakan)
Output (ttransport)
Output (gaji_kotor)
Output (pajak)
Output(gaji_bersih)


Perhitungan T(n)

operasi dasar 
C(1)
C(n)
Cop
input
5
5n
p
<-
5
5n
q
*
3
3n
r
+
3
3n
s
-
1
n
t
output
7
7n
u

T(n) = 5np + 5nq + 3nr + 3ns + nt + 7nu
T(1) = 5p + 5q + 3r + 3s + t + 7u



Contoh 5 : Menghitung Luas Lingkaran

Program luas_lingkaran;

deklarasi
  const phi=3.14
  r : integer
  data : real

Algoritma
  input(r)

  data<- phi*(r*r)

  output(data);

Perhitungan T(n)

operasi dasar
C(1)
C(n)
Cop
Input
1
n
w
<-
1
n
a
*
2
2n
s
output
1
1
d

T(n) = nw + na + 2ns + nd
T(1) = w + a + 2s + d


No comments:

Post a Comment