Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Matakuliah: T0034 / Perancangan & Analisis Algoritma Tahun: 2008 Pertemuan 3 ALGORITMA & FUNGSI KOMPLEKSITAS.

Presentasi serupa


Presentasi berjudul: "Matakuliah: T0034 / Perancangan & Analisis Algoritma Tahun: 2008 Pertemuan 3 ALGORITMA & FUNGSI KOMPLEKSITAS."— Transcript presentasi:

1

2 Matakuliah: T0034 / Perancangan & Analisis Algoritma Tahun: 2008 Pertemuan 3 ALGORITMA & FUNGSI KOMPLEKSITAS

3 Bina Nusantara LANGKAH DASAR ALGORITMA Sederhanakan masalah Membangun rencana penyelesaian secara matematis Merancang algoritma Menguji kebenaran algoritma Implementasi dengan suatu bahasa pemrograman yang dimengerti Dokumentasi Analisis kompleksitas algoritma

4 Bina Nusantara WAKTU PROSES ALGORITMA Waktu proses algoritma adalah lamanya waktu yang diperlukan komputer untuk menjalankan sebuah algoritma. Karena kecepatan komputer yang biasa kita gunakan sangat tinggi, maka biasanya waktu proses itu tidak terlalu kita perhatikan. Tidak semua algoritma dapat selesai diproses dalam waktu kurang dari satu detik. Algoritma yang kompleks dapat memerlukan waktu beberapa menit hingga berhari-hari untuk menyelesaikan prosesnya. Hal ini berlaku bahkan di komputer paling canggih sekalipun. Sejumlah algoritma dengan kompleksitas sangat tinggi bahkan ada yang memakan waktu lebih dari satu tahun untuk mengeluarkan hasil. Dalam hal merancang algoritma yang cukup kompleks, sangat penting bagi kita untuk menghitung waktu proses algoritma. [buku utama, bab 3.1]

5 Bina Nusantara VARIASI WAKTU PROSES Algoritma bekerja berdasarkan input yang dimasukkan user. Setiap input memiliki ukuran. Misalnya kita hendak mengurutkan sejumlah bilangan, banyaknya bilangan yang perlu diurutkan merupakan ukuran besarnya input Makin besar ukuran input yang dimasukkan, pada umumnya waktu proses akan semakin lama. Tergantung pada isi input, waktu proses dapat bervariasi : –Keadaan terbaik (best case) Dilambangkan dengan notasi  (...) dibaca Theta –Keadaan rata-rata (average case) Dilambangkan dengan notasi  (...) dibaca Omega –Keadaan terburuk (worst case) Dilambangkan dengan notasi O(...) dibaca Big-O Kinerja sebuah algoritma biasanya diukur dengan menggunakan patokan keadaan terburuk (worst case) yang dinyatakan dengan Big-O

6 Bina Nusantara ALGORITMA  Definisi 1 : waktu terburuk iff ada dua bilangan konstanta c dan n o  Theorema : Misal adalah suatu polinom derajat n. Maka

7 Bina Nusantara ALGORITMA  Definisi 2 : waktu tercepat iff ada dua konstanta c dan n o 

8 Bina Nusantara ALGORITMA  Definisi 3 : waktu rata-rata iff ada tiga konstanta positif c 1, c 2, dan n o 

9 Bina Nusantara MENGHITUNG WAKTU PROSES (1) Contoh : Pseudocode Selection Sort (pseudocode 3.6) 1 for i=1 to N-1 do 2 min=i 3 for j=i+1 to N do 4 if A[j]

10 Bina Nusantara MENGHITUNG WAKTU PROSES (2) Asumsi bahwa nilai N belum diketahui Bisa dihitung bahwa untuk setiap perulangan i akan terjadi perulangan j sebanyak N-1, N-2, N-3,..., 1 kali Misalkan nilai N adalah 5, berarti kita perlu menghitung (rumus deret hitung) Dengan nilai a dan b = 1 diperoleh :

11 Bina Nusantara GROWTH RATE Dengan rumus Fungsi Kompleksitas N(N+1)/2 berarti jika N=5 maka waktu proses adalah 15. Jika nilai N diperbesar menjadi 8, maka waktu proses menjadi 36. Nilai N dan waktu proses bisa dipetakan dalam sebuah koordinat Cartesius dengan N di sumbu x dan waktu proses di sumbu y. Terlihat bahwa waktu proses algoritma Selection Sort bertumbuh (growth rate) secara linear.

12 Bina Nusantara FUNGSI KOMPLEKSITAS Fungsi Kompleksitas algoritma Selection Sort di atas Jenis-jenis Fungsi Kompleksitas –Big Oh f(n) adalah O(n) jika ada c > 0 dan n 0 ≥ 1 yang memenuhi f(n) ≤ c.g(n) untuk n ≥ n 0 –Big Omega f(n) adalah Ω(n) jika ada c > 0 dan n 0 ≥ 1 yang memenuhi f(n) ≥ c.g(n) untuk n ≥ n 0 –Big Theta f(n) adalah θ(n) jika ada c 1 > 0, c 2 > 0 dan n 0 ≥ 1 yang memenuhi c 1.g(n) ≤ f(n) ≤ c 2.g(n) untuk n ≥ n 0 –Little oh f(n) adalah ο(n) jika ada c > 0 dan n 0 ≥ 0 yang memenuhi f(n) ≤ c.g(n) untuk n ≥ n 0 –Little omega f(n) adalah ω(n) jika ada c > 0 dan n 0 ≥ 0 yang memenuhi f(n) ≥ c.g(n) untuk n ≥ n 0

13 Bina Nusantara ANALISIS KOMPLEKSITAS ALGORITMA Apriori analysis –yaitu suatu analisis waktu proses (computing time) suatu algoritma yang menyatakan dalam bentuk fungsi Aposteriori testing –yaitu analisis dengan cara melakukan sejumlah percobaan untuk mengetahui waktu proses eksak dari suatu algoritma pada suatu komputer tertentu; bisa juga dilakukan untuk memperoleh data statistik dari waktu proses dan jumlah memori space yang digunakan

14 Bina Nusantara MEMBACA BIG-OH O(1) artinya algoritma konstan O(n) artinya algoritma linear O(n 2 ) artinya algorritma quadratic O(n 3 ) artinya algoritma qubic O(log n) contohnya pada full balanced Binary Search Tree O(n m ) artinya algoritma eksponensial Notasi Big-O bisa berisi kombinasi dari contoh di atas Penyederhanaan Big-O dilakukan pada komponen yang “less important”

15 Bina Nusantara LATIHAN Hitunglah Fungsi Kompleksitas untuk algoritma bilangan Fibonacci yang terdapat di pertemuan sebelumnya!

16 Bina Nusantara REVIEW Apa yang sudah dipahami? Apa yang akan dibahas selanjutnya?


Download ppt "Matakuliah: T0034 / Perancangan & Analisis Algoritma Tahun: 2008 Pertemuan 3 ALGORITMA & FUNGSI KOMPLEKSITAS."

Presentasi serupa


Iklan oleh Google