Tugas Resume Analisis Algoritma

Tugas Resume Analisis Algoritma
(Muhammad ammar)
Apa itu algoritma?
Prosedur komputasional yang terdefinisi dengan baik yang membutuhkan nilai (himpunan nilai)
sebagai input dan menghasilkan nilai (himpunan nilai) sebagai output
Alat bantu (tools) menyelesaikan masalah koputasional yang terdefinisi dengan baik (well
defined composesional problem)
Metode penyelesaian yang logis dan wajib benar (correctness) sesuai keinginan masalah (desired
solution)
Algoritma adalah prosedur atau alat bantu yang harus logis. Sifatnya step by step.
Pseudocode : Code untuk memudahkan pemahaman algoritma yang dapat di transformasikan
kedalam berbagai bahasa pemrograman.
Kompleksitas algoritma : analisis kebutuhan dari algoritma khususnya waktu komputasi dan
kapasitas memori
algoritma

input

masalah

output

Contoh masalah komputasional


masalah pencarian data

Input : Barisan n bilangan Asli (a1,a2,…,an) dalam larik A dan sebuah bilangan key yang ingin
di cari.
Output : lokasi key dalam A. Jika key tidak di temukan maka tambahkan key sebagai unsur
terakhir.

Contoh :
Input : Barisan bilangan A = {31,41,59,26,41,58} key =26
Output : indeks dari posisi key. Untuk kasus ini key=26
Algoritma pencarian mengembalikan nilai(unsur) dari indeks posisi key adalah 4

Masalah pencarian data (searching problem)
Input : barisan n bilangan asli (a1, a2 ,… ,an ) dalam larik A dan sebuah bilangan key yang dicari
Output : lokasi key dalam A. jika key tidak ditemukan dalam A . tambahkan key sebagai unsure
tersebut.
ALGORITMA LINEAR SEARCHING (NAÏVE)
a.

Telusuri seluruh indeks A untuk membandingkan apakah unsure dalam indeks yang di

telusuri sama dengan key
b.

Jika key= unsur dalam indeks, algorima berhenti. Jika key tidak di temukan maka indeks

terakhir dari A, tambahkan key sebagai unsure terkahir dari indeks terkahir
c.

Algoritma berhenti dan kembalikan nilai indeks dari A

LINEAR SEARCH(A, key)
1.

Indeks ← 1;

2.

Ada ← False;

3.

Mengecek key dalam A[1…length[A]]

4.

While indeks ≤ length[A] and ada=False

5.

If [indeks] = key

6.

Then ada=true;

7.

Indeks ← indeks+1;

8.
9.

If ada=False
Then indeks ← length[A] + 1;

10. Return indeks-1

Contoh
A = {31,41 ,26,41 } key =26
1. Indeks=1
2. Ada= false
3. While 1 ≤ 4 and ada=False
1. If A[1]=26 (F)
2. Indeks=1+1=2
4. While 2 ≤ 4 and ada=False
a. If A[2]=26 (F)
b. Indeks=2+1=3
5. While 3 ≤ 4 and ada=False
c. If A[3]=26 (T)
i. Ada=true
d. Indeks=3+1=4
6. While 4≤ 4 and ada=False

( T and T)
( T and T)
( T and T)

( T and F)

7. If ada=false (F)
Return 3

Kesipulannya berdasarkan data yang ada dalam A key=26 terdapat diindeks 3
ALGORITMA INSENTION-SORT
Insention sort (A)
1. For J ← 2 to length [A]
2. Key ← 2 [j]
3. Sisipkan A[j] kedalam barisan terurut A[1…j-1]
4. I ← j – 1
5. While (i > 0 Λ A[i] > key)
6. A [ i + 1] ← A [i]
7. i ← i – 1
8. A [ i+ 1] ← key

*while di lakukan maksimal sebanyak j ( j=jumlah deret) untuk mengontrol perbandingannya
masih ada atau tidak.
Contoh
A = {27,41 ,20,38 }
1. For j=2
a. Key=A[2]=41
b. i=j-1=2-1=1
c. while (i>0 ¿ A[1]>key)
d. A[2]=key=41

27

41

2. For j=3
a. Key=A[3]=20
b. i=j-1=3-1=2
c. while (i>0 ¿ A[2]>key)
i.
A[3]=A[2]=41
ii.
i=2-1=1
d. while (i>0

(T and F)

(2>0

27

¿

41>20)

41

41

38

¿

e. while (i>0 ¿ A[0]>key)
f. A[1]=key=20
3. For j=4
a. Key=A[4]=38
b. i=j-1=4-1=3
c. while (i>0 ¿ A[3]>key)
i.
A[4]=A[3]=41
ii.
i=3-1=2

A[2]>key)

27>41)

38

(T and T)

(1>0

¿

27

d. while (i>0

¿

20

A[1]>key)
(T and T)
i.
A[2]=A[1]=27
i=1-1=0

ii.

(1>0

27

(F and F)

(T and T)

41

(0>0

20

¿

27

(T and T)

27
(2>0

¿

27>41)

¿

38

- >20)

41
(3>0

20

¿

27>20)

38

41>38)

41

41

e. A[3]=key= 38

Sehingga didapatkan urutan sebagai berikut
20

27

n

n

j=1

j=1
n

38

T ( j)=n+3(n−1)+ ∑ t j +2 ∑ t j −1
n

=n+3( n−1)+ ∑ t j +2
j=1

(∑
j=2

t j −( n−1)

)

n

=2 n+3 ∑ t j−1
j=1

tj

Kasus terbaik (

=1 terjadi satu kali perulangan)

n

T ( j)=2 n+3 ∑ 1−1
j=1

=5n−4
Kasus terburuk (

tj

=j

terjadi perulangan sebanyak j)

n

T ( j)=2 n+3 ∑ j−1
j=1

=2n+3

(n(2 n+1) )−1

3 n2 3 n
=2 n+
+ −1
2
2
2
3n 7n
=
+ −1
2
2

41

Dokumen yang terkait

Dokumen baru

Tugas Resume Analisis Algoritma