10/22/2015
1
1-1Analisis 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 2: The Analysis Framework
Agenda.
• The Analysis Framework
• Measuring an Input’s Size
• Unit for Measuring Running Time
• Order of Growth
• Worst-Case, Best-Case, and Average-Case Efficiency
Analisis Algoritma | 2
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
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
×nmatrik.
10/22/2015
2
The Analysis Framework
• Dalam kasus ini terdapat 2 pengukuran input alami:
1. berdasarkan ukuran matrik berorde;
2. berdasarkan banyaknya lemen matrik berorde n yang saling dikalikan;
• 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
• Latihan 1.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!
Analisis Algoritma | 6
The Analysis Framework
Unit for Measuring Running Time.
• Mengapa perlu dilakukan?
• Secara sederhana dapat menggunakan unit pengukuran waktu proses standar; second, milisecond, microsecond dan lainnya.
• Pengukuran apakah yang dimaksudkan?
Analisis Algoritma | 8 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.
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 operationalgoritma dieksekusi pada input berukuran n.
10/22/2015
3
• Analisis tersebut dapat dinyatakan dengan: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.
The Analysis Framework
Analisis Algoritma | 10
• Contoh kasus: Menghitung jumlah proses program Problem 1: Berapakah jumlah proses yang dibutuhkan oleh sebuah
algoritma pada sebuah komputer untuk mengeksekusi sebuah program?
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?
The Analysis Framework
Analisis Algoritma | 11
• Latihan
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 � � jikainputnya ditingkatkan menjadi 2 kali lipat!
The Analysis Framework
Analisis Algoritma | 12
The Analysis Framework
Order of Growth.
• 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)?
10/22/2015
4
The Analysis Framework
• Latihan
Problem 2: Berdasarkan problem 1, jika setiap nilainya ditingkatkan
ukurannya sebanyak 5 kali, berapa jumlah operasi yang dibutuhkan untuk menyelesaikan operasi tersebut?
Problem 3: Berdasarkan problem 2, tentukan nilai � � dan � � jika
� � = �2!
Analisis Algoritma | 14
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.
• Best-Case efficiency: algoritma beroperasi dengan waktu
tercepat untuk semua kemungkinan input berukuran n.
• Average-Case efficiency: algoritma yang digunakan untuk
mengukur nilai rerata efisiensi yang dihasilkan oleh worst-case efficiencydan best-case efficiency.
Analisis Algoritma | 15
1-16