• Tidak ada hasil yang ditemukan

Analisis dan Strategi Algoritma

N/A
N/A
Protected

Academic year: 2019

Membagikan "Analisis dan Strategi Algoritma"

Copied!
85
0
0

Teks penuh

(1)

K01-1

(2)

Agenda

Apa itu Algoritma

Sekilas Materi Kuliah

Contoh Penerapan Algoritma

(3)

K01-3

TigaAn

• 3 Ciri Algoritma

– Terencana, Dapat dilakukan, Selesai

• 3 AlgoritmaSeminal

– Al-K, Recipe, DNA

• 3 dalam Paradigma

– Input, Proses, Output

• 3 jurus dasar:

– Search, Sort, Merge

• 3 state Algoritma

– Pre, while, Post

• 3 kondisi Analysis

– Best, Worst, Average

• 3 macam Solusi

(4)

Apakah Strategi, Algoritma dan

Analisis Algoritma Itu?

Strategi

adalah rencana yang cermat

mengenai kegiatan untuk mencapai

sasaran khusus

Algoritma

:

Urutan langkah-langkah untuk

memecahkan suatu masalah

(5)

K01-5

Referensi Kuliah

Text

– Introduction to Algorithms, 2nd edition T. H. Cormen, C. E. Leiserson, R. L. Rivest, and Clifford Stein Published by: MIT Press or McGraw-Hill

– Introduction to the design and analysis of algorithm

Anany Levitin Published by: Addison Wesley

Reference:

– Diktat Strategi Algoritmik IF2251, Ir. Rinaldi Munir,

(6)

Strategi algoritmik

adalah

kumpulan metode/teknik untuk

memecahkan masalah guna mencapai

tujuan yang ditentukan,

(7)

K01-7

Standar Kompetensi

Setelah mengikuti matakuliah ini

diharapkan mahasiswa mampu

menganalisis kebenaran suatu

(8)

Pokok Bahasan

Basic algorithmic analysis

– Asymptotic analysis of upper and average complexity bounds

– Identifying differences among best, average, and worst case behaviors

– Big "O," little "o," omega, and theta notation

– Standard complexity classes

– Time and space tradeoffs in algorithms

– Using recurrence relations, characteristic equation, and master theorem to analyze recursive algorithms

Algorithmic strategies

1. Brute-force algorithms 2. Greedy algorithms 3. Divide-and-conquer 4. Backtracking

5. Branch-and-bound 6. Heuristics

7. Pattern matching and string/text algorithms

8. Numerical approximation algorithms

9. Dynamic Programming

– Fundamental computing

(9)

K01-9

3 Algoritma Seminal

I: pen and paper

– Angka Arab, Al-Khawarizmi, Yang mana?

II: Resep Masakan

– China, Cap Cay

III: DNA

(10)

I: Pen and Paper

Bagaimana kita melakukan perkalian

bilangan?

– Hafalan

– Dengan Bantuan

• Tangan

• Kertas

• Kalkulator

(11)

K01-11

Mengalikan menggunakan

Kertas

Menggunakan Angka Arab

2345 678 x 18760 16415

14070 + 1589910

Angka Romawi

MMCCCVL

DLXXVIII x

(12)

Pencil and Paper

• Penjumlahan

• Pengurangan

• Perkalian

• Pembagian

• Akar Bilangan

(13)

K01-13

3 Komponen Algoritma

Paradigma IPO

Setiap Algoritma dapat disebutkan:

Input : masukan

Proses : me-

‘*^%$’

-kan I

O

(14)

Latihan

I: Pen and Paper

Pada Algoritma perkalian

menggunakan kertas, sebutkan

IPOnya.

Input : Dua buah bilangan

Proses :

<pre-memory>

(15)

K01-15

II: Resep Masakan

Resep membuat Cap Cay

Input : Bahan Masakan, dan Cara

Memrosesnya

Proses : <interpretasi> <urutan>

(16)

Algorithm in Action

(17)

K01-17

Why we study Theory?

(18)

A volunteer, please.

(19)

K01-19

Binary Search like

example

(20)

Pick a Card

(21)

K01-21

Loop Invariant:

(22)

Which column?

(23)

K01-23

Loop Invariant:

(24)
(25)

K01-25

(26)

Relax Loop Invariant: I will remember the same

(27)

K01-27

Which column?

(28)

Loop Invariant:

(29)

K01-29

(30)
(31)

K01-31

Which column?

(32)

Loop Invariant:

(33)

K01-33

(34)

Here is your card.

(35)

K01-35

Loop Invariants

Suatu cara yang baik untuk

menyusun program:

Simpan semua yang anda tahu pada

basisdata.

(36)

Introduction

Jeff Edmonds York University

•So you want to be a computer scientist?

(37)

K01-37

(38)

Is your goal to be

(39)

K01-39

(40)
(41)

K01-41

Boss assigns task:

– Given today’s prices of sausage, grain, sawdust, …

– Given constraints on what constitutes a

hotdog.

– Make the cheapest hotdog.

(42)

Um? Tell me what to code.

With more suffocated software engineering systems,

(43)

K01-43

Your answer:

I learned this great algorithm that

will work.

(44)

Your answer:

I can develop a new algorithm for

you.

Great thinkers

(45)

K01-45

– Content: An up to date grasp of

fundamental problems and solutions

– Method: Principles and techniques to solve the vast array of unfamiliar

problems that arise in a rapidly changing field

The future belongs to the

computer scientist who has

(46)

I like understanding things

using a story.

(47)

K01-47

(48)

Problem Specification

• Pre condition: location of home and school

(49)

K01-49

Algorithm

(50)

Algorithm

(51)

K01-51

Algorithm

(52)

Complexity

• There are an infinite number of input instances

(53)

K01-53

Complexity

(54)

• The current “State” of computation is

determined by values of all variables.

(55)

K01-55

• Suppose the computation ends up here?

(56)

Don’t Panic

(57)

K01-57

General Principle

• Do not worry about the entire computation.

(58)

Defining Algorithm

(59)

K01-59

Take a step

(60)

A Measure of Progress

(61)

K01-61

79 km 75 km

Defining Algorithm

(62)

Working Algorithm

•Computation steadily approaches goal

79 km to school

(63)

K01-63

Defining Algorithm

• Extra requirements

78.999 km 79 km

0 km 79 km 75 km

(64)

• Wherever the computation might be, take best step towards school.

(65)

K01-65

• Location too confusing for algorithm

• Algorithm too lazy to define step for every location.

(66)

• Algorithm specifies from which locations it knows how to step.

(67)

K01-67

• “The computation is presently in a safe location.” • Maybe true and maybe not.

(68)

Defining Algorithm

• From every safe location,

(69)

K01-69

Take a step

(70)

• If the computation is in a safe location, it does not step into an unsafe one.

(71)

K01-71

• Can we be assured that the computation will always be in a safe location?

• If the computation is in a safe location, it does not step into an unsafe one.

(72)

• Can we be assured that the computation will always be in a safe location?

• If the computation is in a safe location, it does not step into an unsafe one.

(73)

K01-73

From the Pre-Conditions on the input instance we must establish the loop invariant.

(74)

Maintain Loop Invariant

• Can we be assured that the computation will always be in a safe location?

(75)

K01-75

Maintain Loop Invariant

• By Induction the computation will always be in a safe location.

 



 

S

iS i

S i

(76)

Ending The Algorithm

When we exit, we know

– exit condition is true

– loop invariant is true

Exit

Exit

Exit

Define Exit Condition

Termination:

0 km Exit

With sufficient progress,

(77)

K01-77

(78)

Designing an Algorithm

Define Problem Define Loop

Invariants

Define Measure of Progress

Define Step Define Exit Condition

Maintain Loop Inv

Make Progress Initial Conditions Ending

79 km to school Exit

Exit

(79)

K01-79

Consider an Algorithm

km

 0 km Exit Exit Exit

(80)

Loop Invariant Maintained

(81)

K01-81

(82)

Computation always makes progress

79 km 75 km 79 km 75 km

(83)

K01-83

Computation Terminates

km

79 km 75 km

0 km

0 km

0 km Exit

(84)

Computation Terminates

(85)

K01-85

Consider an Algorithm

This is sufficient!

km

 0 km Exit Exit Exit

Referensi

Dokumen terkait

If a company cannot come up with a business plan that is sound, then it will likely not be very profitable in the end, it does not matter how many people invest into their company..

Tujuan penelitian tesis ini menganalisa kerja kombinasi algoritma One Time Pad dan Algoritma ElGamal untuk proses keamanan pada teks sehingga dari kombinasi algoritma tersebut

Dengan melakuka analisis rantai Markov dan kajian loyalitas, maka pihak Telkomsel dapat menyusun strategi untuk meningkatkan loyalitas pelanggan LOOP dan meminimalisir

Dilakukan Proses pembalikkan, merubah domain file host yang sudah disisipkan watermark dari domain frekuensi ke bentuk semula dengan ISWT..

Perangkat lunak mampu mendukung proses pemahaman untuk setiap prosedur kerja dari algoritma Baby-Step Giant-Step dan Pohlig-Hellman untuk menghitung solusi dari

HASIL DAN PEMBAHASAN Analisis Location Quotient (LQ) Location quotient adalah ukuran dari sebuah konsentrasi sektor di wilayah relatif terhadap wilayah acuan, yang

One step flow communications atau komunikasi satu tahap merupakan proses dimana komunikator dapat mengirim pesan (sesuai dengan tujuan instansinya).. langsung

kombinasi yang lebih kecil. 6) Jika tidak ditemukan kombinasi, maka kartu tersebut dianggap one pair atau tidak diikut sertakan dalam pencarian berikutnya. 7) Kartu yang sudah