Handout TIF207 Ch 2 The Analysis Framework

10/22/2015

Bab 2: The Analysis Framework

Analisis Algoritma:

Agenda.

• The Analysis Framework

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






Measuring an Input’s Size
Unit for Measuring Running Time
Order of Growth

Worst-Case, Best-Case, and Average-Case Efficiency

Fakultas Teknologi dan Desain
1-1 Informatika
Program Studi Teknik

Analisis Algoritma |

The Analysis Framework
• Dibutuhkan framework (kerangka kerja) untuk melakukan analisa
tingkatan efisiensi sebuah algoritma.
• Efisiensi algoritma: time efficiency dan space efficiency.
• Kapasitas penyimpanan yang dibutuhkan algoritma tidak terlalu
diperhatikan.
• Beberapa kasus, peningkatan efisiensi algoritma sisi time
efficiency lebih tinggi peningkatan efisiensi algoritma sisi space
efficiency.

Analisis Algoritma |


3

2

The Analysis Framework
Measuring an Input’s Size.
• Pada umumnya, ukuran input dan waktu proses saat algoritma
bekerja adalah berbanding terbalik.
• Pemilihan parameter sangat penting. Sebagai contoh, memilih
parameter n untuk ukuran input algoritma.
• Contoh kasus: Menetukan ukuran input untuk proses perkalian n
× n matrik.

Analisis Algoritma |

4

1

10/22/2015


The Analysis Framework
• Dalam kasus ini terdapat 2 pengukuran input alami:

The Analysis Framework
• Latihan 1.

1. berdasarkan ukuran matrik berorde;
2. berdasarkan banyaknya lemen matrik berorde n yang saling dikalikan;

Kasus: Algoritma pengujian menentukan bilangan prima dari suatu deret
bilangan bulat positif (positive integer ).
Problem: (1) Bagaimanakah menentukan mekanisme pengukuran ukuran
input dalam operasi penentuan bilangan prima suatu deret bilangan bulat
positif antara 1 – 10?;
(2) Tuliskan dalam bentuk pseudocode algoritmanya!

• Pemilihan ukuran matrik yang sesuai dapat mempengaruhi
operasi algoritma.
• Contoh kasus lainnya: Algoritma pengujian ejaan.

Problem: Bagaimana menentukan mekanisme untuk mengukur ukuran
input algoritma pengujian ejaan (spell-checking algorithm)?

Analisis Algoritma |

5

The Analysis Framework

6

The Analysis Framework
• Mengukur waktu proses dalam hal ini adalah mengukur efisiensi
algoritma dari sisi waktu pengolahan.
• Pendekatan yang memungkinkan adalah dengan menghitung
banyaknya jumlah operasi algoritma (basic operation ) yang
dieksekusi.
• Bagaimana caranya menentukan basic operation sebuah
algoritma?
• Analisa dilakukan berdasarkan banyaknya jumlah operasi basic

operation algoritma dieksekusi pada input berukuran n.

Unit for Measuring Running Time.
• Mengapa perlu dilakukan?
Karena kecepatan pengolahan komputer bergantung kepada: (1) kualitas
algoritma yang diterapkan dalam program; (2) kemampuan compiler
dalam menghasilkan machine code; dan (3) tingkat kesulitan
menyamakan waktu (cloaking) dengan waktu aktual program bekerja.

• Secara sederhana dapat menggunakan unit pengukuran waktu
proses standar; second, milisecond, microsecond dan lainnya.
• Pengukuran apakah yang dimaksudkan?
Analisis Algoritma |

Analisis Algoritma |

8

Analisis Algoritma |


9

2

10/22/2015

The Analysis Framework
• Analisis tersebut dapat dinyatakan dengan:

The Analysis Framework
• Contoh kasus: Menghitung jumlah proses program
Problem 1: Berapakah jumlah proses yang dibutuhkan oleh sebuah
algoritma pada sebuah komputer untuk mengeksekusi sebuah program?

Dimana:
cop = waktu eksekusi basic operation algoritma pada komputer tertentu;
C(n) = banyaknya jumlah kebutuhan operasi yang akan diekseskusi;
T(n) = banyaknya waktu operasi yang dibutuhkan oleh mesin untuk mengeksekusi
algoritma yang diterapkan pada sebuah program.


Analisis Algoritma |

Problem 2: Bagaimanakah kecepatan proses algoritma pada sebuah
komputer untuk mengeksekusi sebuah program jika komputer yang
digunakan ditingkatkan kemampuannya hingga 10 kali lipat dari
sebelumnya?

10

Analisis Algoritma |

The Analysis Framework
• Latihan

11

The Analysis Framework
Order of Growth.

Problem 3: Berdasarkan problem 2, hitunglah banyaknya jumlah

kebutuhan operasinya jika diasumsikan � � = �2!

Problem 4: Berdasarkan problem 3, tentukan banyaknya waktu operasi
yang dibutuhkan oleh komputer untuk mengeksekusi algoritma yang
diterapkan pada sebuah program � � jika inputnya ditingkatkan menjadi
2 kali lipat!

Analisis Algoritma |

12

• Analisis ini menekankan pada jumlah peningkatan ukuran input.
• Mengapa penting?
• Contoh kasus: Euclid’s algorithm.
Problem 1: Jika setiap kali operasi yang dilakukan pada algoritma Euclid
diasumsikan sebagai 1 operasi, berapa jumlah operasi yang dibutuhkan
untuk menyelesaikan gcd(12,8)?

Analisis Algoritma |


13

3

10/22/2015

The Analysis Framework
• Latihan

The Analysis Framework
Worst-Case, Best-Case, and Average-Case Efficiencies.
• Worst-Case efficiency: algoritma beroperasi dengan waktu
terlama untuk semua kemungkinan input berukuran n.

Problem 2: Berdasarkan problem 1, jika setiap nilainya ditingkatkan
ukurannya sebanyak 5 kali, berapa jumlah operasi yang dibutuhkan untuk
menyelesaikan operasi tersebut?

• Best-Case efficiency: algoritma beroperasi dengan waktu
tercepat untuk semua kemungkinan input berukuran n.


Problem 3: Berdasarkan problem 2, tentukan nilai � � dan � � jika
� � = �2!

Analisis Algoritma |

• Average-Case efficiency: algoritma yang digunakan untuk
mengukur nilai rerata efisiensi yang dihasilkan oleh worst-case
efficiency dan best-case efficiency.
14

Analisis Algoritma |

15

Analisis Algoritma:
Anany Levitin, Introduction to Design and Analysis of Algorithm, 3rd Edition,
Pearson Education, Inc., Addison-Wesley

1-16


4