Anda di halaman 1dari 6

DESAIN DAN ANALISIS ALGORITMA

Mathematical Analysis of Non-Recursive and Recursive Algorithms

OLEH :

Sofia Shieldy Budhiono (1608561021)

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
BALI
2017
A. Mathematical Analysis of Nonrecursive Algorithms
1. Compute the following sums:
a. 1 + 3 + 5 + 7 ++ 999
1 + 3 + 5 + 7 ++ 999=
atau
a =1
b = 3-1
=2
Un = a + (n-1) b
999 = 1 + (n-1) 2
999 = 1 + 2n - 2
999 = -1 + 2n
999+1 =2n
1000 = 2n
1000/2 = n
500 = n
Sehingga, jumlah semua bilang adalah
Sn = n/2 (a + Un)
= 500/2 ( 1 + 999)
= 250 ( 1000)
= 250.000
b. 2 + 4 + 6 + 8 ++ 1024
a =2
b = 4-2
=2
Un = a + (n-1) b
1024 = 2 + (n-1) 2
1024 = 2 + 2n - 2
1024 = 2n
1024/2 = n
512 = n
Sehingga, jumlah semua bilang adalah
Sn = n/2 (a + Un)
= 512/2 ( 2 + 1024 )
= 256 ( 1026 )
= 262.656
n 1
c. 1 (n 1) - 3 1 n - 1.
i 3
n 1 n 1 2
n 1 n 2 3 n 2 3n 4
d. i i i
i 3 i 0 i 0 2 2
e.

f.
g.

2. Compute order of growth of the following sums


a.

b.

c.

3. Algorithm Mystery(n)
//input: a nonnegative integer n
S0
for i 1 to n do
SS+i*i
return S
a. What does this algorithm compute?
Algoritma tersebut adalah untuk menghitung penjumlahan dari n bilangan kua
kuadrat
S(n) =
b. What is its basic operation?
Perkalian (atau jika perkalian dan penambahan diasumsikan mengambil jumlah waktu
yang sama, maka salah satu dari keduanya adalah basic operationnya).
c. How many times is the basic op executed?
Sebanyak n kali ( C(n) =
d. What is the efficiency class of this algorithm?
Ketika nilai dari bilangan b = , maka ,

e. Can you make any improvement?

Bisa, dengan menggunakan formula maka penghitungan

dapat dilakukan 1 waktu saja.


4. Algorithm Secret(A[0..n-1])
//input: an array A[0..n-1] of n real number
mi A[0]; ma A[0]
for i 1 to n-1 do
if A[i] < mi then mi A[i]
if A[i] > ma then ma A[i]
return ma - mi
a. What does this algorithm compute?
Algoritma tersebut adalah untuk menghitung jarak antara elemen maksimal dan
elemen minimalnya suatu array.
b. What is its basic operation?
Elemen perbandingan
c. How many times is the basic op executed?

d. What is the efficiency class of this algorithm?


(n).
e. Can you make any improvement?
Bisa, dengan cara merubah statement perbandingan menjadi seperti
if A[i] < mi then mi A[i]
else if A[i] > ma then ma A[i].
karena bisa mengefisiensikan waktu walaupun hanya sedikit.

B. Mathematical Analysis of Recursive Algorithms


1.
Solusi juga bisa diperoleh dengan menggunakan rumus aritmatika:

2.

Solusi juga bisa diperoleh dengan menggunakan rumus geometri:

3.

4. )
5. )

Anda mungkin juga menyukai