Tugas02 S1 Algo A H12113319
Tugas02 S1 Algo A H12113319
Di tulis oleh :
Selasa, 02/09/2014
Pengantar algoritma
Algoritma adalah prosedur komputasional yang terdefinisi dengan baik yang
membutuhkan nilai sebagai input dan menghasilkan nilai sebagai output.
Desain dan analisis algoritma
Pseudocode yaitu kode untuk memudahkan pemahaman algoritma yang dapat
ditransformasi kedalam berbagai bahasa pemrograman.
Contoh masalah komputasional
-
Pseudo-code Algoritma
Linear-Search (A,Key)
1. Indeks
1;
2. Ada
false;
Deklarasi
If A[Indeks] = key
6.
7.
Indeks
indeks + 1;
8. If ada = false
9.
Then indeks
length [A] + 1;
Linear-Search 1 (A,Key)
1. Ada
false
2. for indeks
Deklarasi
1 to length [A]
3. if A[indeks] = key
4.
5.
break;
6. if ada = false
7.
then A[Indeks]
8. Return indeks
key;
Linear-Search 2(A,Key)
1. for indeks
1 to length [A]
2. if A[Indeks] = key
3.
then break;
then A[indeks]
6. return indeks
key;
Inisialisasi (initialization)
Pemeliharaan (maintenance)
Penghentian (termination)
Algoritma Insertion-Sort
Insertion-Sort (A)
2 to length [A]
A[j]
key
j1
i = j -1
A[i+1]
A[i+1]
A [i]
i1
key
Unsur [ i + 1 ] = Unsur i
Jadi i = i - 1
Unsur [ i + 1 ] = key
Selasa, 09/09/2014
Pengantar Algoritma
Cost
Times
for j
2 to lenght (A)
C1
key
A[j]
C2
n-1
n-1
C4
n-1
j-1
C5
=2
A[i+1]
A[i]
C6
( 1)
=2
i-1
C7
( 1)
=2
A[i+1]
key
C8
n-1
Waktu komputasi tidak hanya tergantung pada jumlah data, tetapi juga tergantung pada
bagaimana barisan terurut.
Kasus terbaik
() = 1 + 2 + 3 = (1 + 2 ) + (3 1 )
=2
Kasus terburuk
() = 1 + 2 + 3 =
=2
1 2
1
+ ( 1 + 2 ) + (3 1 )
2
2
Ingat =2 =
(+1)
2
Cost
Times
1
ada
false
C1
for i
1 to [lenght [A]/2]
C2
3
4
n+1
C3
C4
=1
ada
true
C5
=1
6
7
C6
n-i+1
C7
=1
ada
true
C8
2
=1
If not(ada) then
10
posisi
11
A[posisi]
C9
length[A]+1
C10
data
C11
=1
=1
3
() = + 2 + 2 + (2 + 3)
2
Simulasi A= (26,28,28,23)
1. ada = F
2. for i = 1
2.1 if (A[1] = key) F
2.2 if (A[4] = key) F
3. for i = 2
3.1 if (A[2] = key) T
3.1.1 posisi = 2
3.1.2 ada = True
Posisi
Selasa, 16/09/2014
Kompleksitas Algoritma
Kompleksitas Algoritma : Perubahan laju pertumbuhan input terhadap perubahan/
penambahan output. (Masalah pencarian : Laju pertumbuhan running time T(n) terhadap
penambahan jumlah data n).
Cg(n)
f(n)
f(n)=O(g(n))
Batas Bawah
f(n)
Cg(n)
f(n)=(g(n))
Lebih Lama
2n2+3n+1=2n2+O(n)