Embed
Email

ALGORITMA

Document Sample

Categories
Tags
Stats
views:
15
posted:
1/10/2012
language:
pages:
5
LOGIKA ALGORITMA

Dini Sundani, ST., MMSI

ALGORITMA



 Definisi



barisan langkah-langkah atau instruksi untuk menyelesaikan suatu

masalah

 flowchart, diagram alur dan bahasa semu.



 Diagram Penyelesaian Masalah yang baik



Masalah



Model



Algoritma



Program Data



Eksekusi



Hasil



 Kriteria Algoritma yang Baik



1. Ada output  solusi dari masalah yang sedang diselesaikan

2. Efektif dan efisien  menghasilkan solusi dan berhubungan

dengan kompleksitas waktu

3. Jumlah langkah berhingga  masalah yang dihadapi selesai

4. Berakhir  ada/tidak ada solusi, proses tetap berhenti

5. Terstruktur ada input, proses, output



Semi Algoritma : prosedur yang hanya akan berhenti jika mempunyai

masalah



Contoh :

Semi Algoritma

(1) Baca bilangan bulat positif y

(2) Nyatakan nilai q = 0

(3) Hitung p = q*q

(4) Jika p = y maka q adalah akarnya, stop

(5) q ditambah 1

(6) kembali ke langkah (3)





1

LOGIKA ALGORITMA

Dini Sundani, ST., MMSI

Prosedur diatas dirubah menjadi algoritma dengan menambahkan

perintah pada langkah (4), yaitu :

(4) Jika p = y maka q adalah akarnya, stop

(5) Jika p > y maka y tidak punya akar, stop



 Studi Tentang Algoritma



1. Bagaimana merencanakannya

merupakan sustu studi tentang teknik variasi design (model)

2. Bagaimana menyatakannya

menyatakan dengan singkat. Dibuat dalam bahasa

pemrograman yang terstruktur

3. Bagaimana validitasnya

memenuhi kebutuhan yang diinginkan

perhitungan solusinya selalu benar untuk semua kemungkinan

input yang mungkin

4. Bagaimana menganalisanya

perbandingan dari waktu perhitungan dan banyaknya storage/

memori yang digunakan

5. Bagaimana menguji suatu program

fase debugging : proses eksekusi program yang mengkoreksi

kesalahan dalam bahasa pemrograman (logic dan syntax)

fase profiling : program sudah benar dan mengukur waktu

tempuh serta storage



 Analisis Algoritma



Efisiensi

1. Waktu tempuh (running time), dipengaruhi oleh :

 Banyaknya langkah

 Besar dan jenis input data

 Jenis operasi

 Komputer dan kompilator

2. Jumlah memori yang digunakan



Kompleksitas waktu (Time complexity)

Sebuah fungsi F(N) yang diberikan untuk waktu tempuh dan atau

kebutuhan memori (storage) dengan ukuran N input data









2

LOGIKA ALGORITMA

Dini Sundani, ST., MMSI

Teorema

Jika f(n) = amnm + am-1nm-1+ ....+ a1n + a0 adalah polinomial tingkat m,

maka f(n) = O(nm)



f(n) merupakan “BIG OH” dari g(n) dengan notasi f(n) = O(g(n)) jika

dan hanya jika terdapat dua buah konstanta bilangan bulat C dan n0

sedemikian sehingga |f(n)| ≤ |g(n)| untuk setiap n ≥ n0



Contoh 1 :

1. f(n) = 3n5 + 4n4 + 10n2 , maka O(n5)

2. f(n) = 9n7 + 5n6 + 56 , maka O(n7)

3. f(n) = 8n9 , maka O(n9)

4. f(n) = n6 + 19 , maka O(n6)

5. f(n) = 25 , maka O(n0) = O(1)



Urutan dari Big Oh :

O(1) < O(log n) < O(n) < O(n log n) < O(n2) < O(n3) < O(2n)



Contoh 2 :



(1) ca+b

(2) for i  1 to n do

c  a+b

(3) for i  1 to n do

for j  1 to n do

c  a+b

repeat

repeat



Banyaknya Operasi + f(n) Big Oh

(1) 1 kali f(n) = 1 O(1)

(2) n kali f(n) = n O(n)

(3) n2 kali f(n) = n2 O(n2)



Contoh :

Algoritma penjumlahan 2 buah matriks berordo nxn

Set A[i,j], B[i,j], C[i,j] real

Untuk i 1 sampai n kerjakan

Untuk j1 sampai n kerjakan

C[i,j]  A[i,j] + B[i,j]

Akhir j

Akhir i





3

LOGIKA ALGORITMA

Dini Sundani, ST., MMSI

Analisis :

1. Waktu tempuh

 Jenis operasi yang digunakan : +

 Banyaknya operasi : n2

2. Jumlah memori : 3 x 4n2 = 12n2

Asumsi : 1 elemen membutuhkan 4 byte

Total = 13n2

f(n) = 13n2

O(n2)



 Keadaan Kompleksitas Waktu Algoritma

1. Worst case

Nilai maksimum dari f(n) untuk setiap input yang mungkin

2. Best case

Nilai minimum dari f(n) untuk setiap input yang mungkin

3. Average case

Nilai ekspektasi dari f(n)



Contoh :

Algoritma menentukan lokasi dari suatu elemen

(1) Set k:= 1; loc := 0

(2) Repeat langkah 3 dan 4 while loc := 0 dan k≤n

(3) If item := data(k) then set loc := k

(4) k := k+1

(5) If loc := 0 then write elemen tidak ada di array data

else write loc adalah lokasi dari item

(6) Exit



Analisis :

1. Bila elemen (item) yang dicari merupakan elemen terakhir dari

array atau tidak terdapat dalam array maka kompleksitas waktu

adalah worst case, f(n) = n, O(n)

2. Bila elemen (item) yang dicari merupakan elemen pertama dari

array maka kompleksitas waktu adalah best case, f(n) = 1, O(1)

3. Bila elemen yang dicari berada diantara elemen pertama dan

terakhir maka kompleksitas waktu adalah average case, banyak

elemen dalam array = n, maka probabilitas masing-masing elemen

= (n+1)/2, O(n)



 Teknik Iteratif dan Teknik Rekursif

Teknik Iteratif

Teknik pembuatan algoritma dengan pemanggilan prosedur

beberapa kali atau hingga suatu kondisi tertentu terpenuhi

4

LOGIKA ALGORITMA

Dini Sundani, ST., MMSI

Teknik rekursif

Salah satu cara pembuatan algoritma dengan pemanggilan

dengan pemanggilan prosedur atau function yang sama



Perbedaan teknik iteratif dengan teknik rekursif

 Teknik iteratif

 Tidak ada variabel lokal baru

 Program tidak sederhana

 Teknik rekursif

 Ada variabel lokal baru

 Program nenjadi lebih sederhana



Contoh :

Function fak(n:integer) : integer

If n := 0 then fak := 1

else fak := n*fa(n-1)



Jika diberikan input = 6, maka

fak(6) = 6*fak(5)





fak(5) = 5*fak(4)





fak(4) = 4*fak(3)





fak(3) = 3*fak(2)





fak(2) = 2*fak(1)





fak(1) = 1*fak(0)



nilai awal









5


Related docs
Other docs by sri sugiarti ...
ALGORITMA
Views: 15  |  Downloads: 0
PENDALAMAN IF
Views: 6  |  Downloads: 0
BloggingForProfit
Views: 1  |  Downloads: 0
EARN 40_ a Day
Views: 0  |  Downloads: 0
LOGIKAINFORMATIKA
Views: 9  |  Downloads: 0
Pertemuan 5 logika dan algoritma
Views: 27  |  Downloads: 0
panduan paypal dan ebay
Views: 5  |  Downloads: 0
DIVIDE_and_CONQUER_2_
Views: 2  |  Downloads: 0
Pertemuan 6 logika dan algoritma
Views: 10  |  Downloads: 3
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!