• Tidak ada hasil yang ditemukan

Handout TIF207 Ch 1 Introduction

N/A
N/A
Protected

Academic year: 2017

Membagikan "Handout TIF207 Ch 1 Introduction"

Copied!
4
0
0

Teks penuh

(1)

10/22/2015

1

1-1

Analisis Algoritma:

Fakultas Teknologi dan Desain Program Studi Teknik Informatika

Anany Levitin, Introduction to Design and Analysis of Algorithm, 3rdEdition, Pearson Education, Inc., Addison-Wesley

Bab 1: Pendahuluan

Agenda

• Introduction

• What is an Algorithm?

• Fundamental of Algorithmic Problem Solving

• Important Problem Solving

• Fundamental Data Structures

Analisis Algoritma | 2

Introduction

Mengapa kita mempelajari algoritma?

• Terdapat 2 alasan mengapa kita mempelajari algoritma:

• alasan praktis: memahami algoritma standar yang digunakan dari berbagai area komputasi yang berbeda; dan

• alasan teoritis: algoritma sebagai “nyawa” dari ilmu komputer (algoritmik).

• David Harel “Algorithmics: the Spirit of Computing”

menyatakan “algorithmics is more than a branch of computer science. It is the core of computer science, and, in all fairness, can be said to be relevant to most of science, business, and technology.”[Har92, p.6]

Analisis Algoritma | 3

Introduction

• Tidak ada program yang dibuat/dibangun tanpa

menggunakan algoritma.

• Mempelajari algotritma mengembangkan kemampuan

analitik.

• Algoritma dapat dipandang sebagai sebuah solusi khusus

dalam penyelesaian masalah.

• Algoritma bukan hanya sekedar solusi, tetapi lebih kepada

mendefinisikan prosedur penyelesaian masalah.

(2)

10/22/2015

2

What is an Algorithm?

• Algoritma adalah:

“a sequence of unambiguous instructions for solving a problem.”

Analisis Algoritma | 5

What is an Algorithm?

• Algoritma dapat berupa resep, proses, metode, tehnik,

prosedur, routine yang memenuhi kriteria beriku:

1. Finiteness, berhenti ketika mencapai sebuah tahapan tertentu 2. Definiteness, rigorously and unambiguously specified 3. Input, nilai masukan yang valid telah ditentukan

4. Output, dapat dibuktikan dengan hasil yang tepat setelah sebuah

masukan valid diberikan

5. Effectiveness, memiliki tahapan-tahapan sederhana.

Analisis Algoritma | 6

What is an Algorithm?

Sebagai contoh: tentukan prosedur penyelesaian masalah

untuk kasus menyajikan segelas minuman jus alpukat!

• Prosedur penyelesaian masalah untuk kasus di atas tidak

dapat dikatakan sebagai algoritma (walaupun sistematis dan benar). Why?

Algoritma adalah prosedur penyelesaian masalah yang

sistematis yang dieksekusi oleh komputer.

• Contoh kasus lain: algoritma pencarian solusi menggunakan

Euclid’s algorithm

Analisis Algoritma | 7

What is an Algorithm?

Euclid’s algorithm, algoritma untuk menentukan nilai pembagian 2 bilangan bulat non-negatif terbesar (greatest common divisor of two nonnegative integer) yang dinotasikan dengan:

• Contoh: menentukan gcd(60, 24)

gcd(60, 24) = gcd(24,12) = gcd(12,0) = 12

• Algoritmanya?

(3)

10/22/2015

3

Fundamentals of Algorithmic Problem Solving

Analisis Algoritma | 10 exact and approximate algorithms

methods of specifying an algorithm pseudocode, flowchar

analyze the algorithm time efficiency, space efficiency, simplicity, generality

algorithm design technique

a general approach to solving problems algorithmically that is applicable to a variety of

problems from different areas of computing.”

sequential and parallel algorithms

Fundamentals of Algorithmic Problem Solving

Analisis Algoritma | 11

• Terdapat 2 isu yang terkait dengan algoritma:

1. Bagaimana merancang sebuah algoritma?

2. Bagaimana melakukan analisa terhadap algoritma secara efisien?

1. Bagaimana merancang sebuah algoritma?

• Menentukan strategi/tehnik yang digunakan

• Strategi/tehnik yang data digunakan:

1. Brute force 2. Divide conquer

Fundamentals of Algorithmic Problem Solving

Analisis Algoritma | 12

3. Decrease conquer 4. Space and time tradeoffs 5. Greedy approach 6. Dynamic programming 7. Iterative improvement 8. Backtracking 9. Branch and bound

Fundamentals of Algorithmic Problem Solving

Analisis Algoritma | 13 2. Bagaimana melakukan analisa terhadap algoritma secara

efisien?

1. Seberapa baikkah sebuah algoritma?

• correctnest;

• time efficiency; dan

• space efficiency

2. Apakah terdapat algoritma lainnya yang lebih baik?

• Lower bound

(4)

10/22/2015

4

Important Problem Solving

• Sorting

• Searching

• String Processing

• Graph Problems

• Combinatorial Problems

• Geometric Problems

• Numerical Problems

Analisis Algoritma | 14

Fundamental Data Structures

• List

• Array

• Linked list

• String

• Stack

• Queue

• Priority queue

• Graph

Analisis Algoritma | 15

• Trees

• Set and dictionary

1-16

Analisis Algoritma:

Referensi

Dokumen terkait

Hasil yang didapat menunjukan kepiting bakau yang dipelihara didaerah mangrove memiliki penambahan biomasa yang lebih besar bila dibandingkan dengan yang dipelihara pada daerah

Pengetahuan responden tentang penyebab malaria diketahui dari jawaban mereka yaitu disebabkan karena gigitan nyamuk malaria (95,8%) responden dan sisanya (4,2%) responden

3 Member atau Admin menulis comment Member atau Admin dapat memberikan komentar Member atau Admin Menulis comment Comment - 4 Member Memberikan Suggestion Member

Berdasarkan uraian di atas dapat disimpulkan bahwa pada sebagian penderita kanker payudara yang dalam kondisi setelah mastectomy dan munculnya kembali kanker payudara

Tentunya penentuan segmen anak muda ini sangat jelas terlihat dari desain- desain yang dikeluarkan IM3 sebagai media Promosi, dari logo dan cover kartu

SADIS yang menggunakan becak mempunyai fungsi sebagai alat transportasi wisata ramah lingkungan di Kota Batu akan menjadi semakin ramah lingkungan karena menggunakan

Piagam Pengawasan Intern adalah pernyataan formal yang menjelaskan visi, misi, nilai, tugas, fungsi, kedudukan, lingkup, kewenangan, dan tanggung jawab Inspektorat

Gambar.5 distribusi frekuensi tingkat pengetahuan tentang menopause di Dusun Ngepoh Badran Kranggan Temanggunng Jawa Tengah didapatkan hasil tingkat pengetahuan