Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Analisis dan Perancangan Algoritma Kuliah 3 : Metode Analisis Asymtotic Eko Aribowo Teknik Informatika Universitas Ahmad Dahlan.

Presentasi serupa


Presentasi berjudul: "Analisis dan Perancangan Algoritma Kuliah 3 : Metode Analisis Asymtotic Eko Aribowo Teknik Informatika Universitas Ahmad Dahlan."— Transcript presentasi:

1 Analisis dan Perancangan Algoritma Kuliah 3 : Metode Analisis Asymtotic Eko Aribowo Teknik Informatika Universitas Ahmad Dahlan

2 Eko Aribowo-ANPAL-UAD Metode Analisis 1.Asymptotic/theoretic/mathematic : berdasarkan pendekatan secara teori atau atas dasar analisa secara matematik 2.Empirical/Practical/Empiris/Praktis : berdasarkan pendekatan praktis yang biasanya didasarkan atas data- data yang telah ada atau data-data yang di-generete / dibangkitkan

3 Eko Aribowo-ANPAL-UAD Asymptotic Menggambarkan karakteristik/perilaku suatu algoritma pada batasan tertentu (berupa suatu fungsi matematis) Dituliskan dengan notasi matematis yg dikenal dgn notasi asymptotic Notasi asymptotic dapat dituliskan dengan beberpa simbul berikut , O, , o, 

4 Eko Aribowo-ANPAL-UAD , O, , o,  Didefinisikan untuk fungsi diatas nilai biasa –Contoh: f(n) =  (n 2 ). –Menggambarkan bagaimana fungsi f(n) tumbuh pd pembandingan untuk n 2. Mendefinisikan himpunan fungsi ; Pada prakteknya untuk membandingan 2 ukuran fungsi. Notasi menggambarkan perbedaan rate- of-growth hubungan antara definisi fungsi dan definisi himpunan fungsi. Notasi Asymptotic

5 Eko Aribowo-ANPAL-UAD Notasi O (big Oh) Untuk fungsi g(n),kita definisikan O(g(n)) sbg big-Oh dari n, sbg himpunan: O(g(n)) = { f(n) :  konstanta positif c dan n 0, sedemikian rupa  n  n 0, sehingga 0  f(n)  cg(n) } Ada konstanta n  : ada,  : untuk semua

6 Eko Aribowo-ANPAL-UAD Lanjt f(n) Secara intuitif : himpunan seluruh fungsi yg rate of growth – nya adalah sama atau lebih kecil dari g(n). g(n) adalah asymptotic upper bound untuk f(n). f(n) =  (g(n))  f(n) = O(g(n)).  (g(n))  O(g(n)).

7 Eko Aribowo-ANPAL-UAD Lanjt  2.99  =  2.50  =   =  3n + 7  = ? (tidak bakal lebih 4n)  2n  = ? Big Oh  O adalah merupakan Upper bound dari suatu fungsi 3 (pembulatan ke atas dalah 3) 3 3

8 Eko Aribowo-ANPAL-UAD Contoh f(n) = 3n + 4  berapa / apa big oh-nya ? 3n+4 <= Cn ? 3*2+4 <=3*3  10<=9 ? Bgm dgn n 0 = 2 C =4 3n+4 <= cn ? 3*2+4 <=4*2 ? Bgm dgn n 0 = 3 C =4 3n+4 <= cn ? 3*3+4 <=4*3 ? Tidak akan pernah terpenuhi berapapun nilai n Bgm dgn n 0 = 4 C =4 3n+4 <= cn ? 3*4+4 <=4*4 ? Apa kesimp ulannya n 0 = 2 C =3 ?

9 Eko Aribowo-ANPAL-UAD Lanjt Sehingga dari f(n) = 3n+4 akan terpenuhi f(n) = 4 berarti f(n)=O(4n) untuk n 0 =4 n 4n 3n+4 n=4 f(n)

10 Eko Aribowo-ANPAL-UAD Contoh dan Latihan Apa fungsi big Oh dari 4n ? 2n+7 ? n 2 ? n 2 +3 ?

11 Eko Aribowo-ANPAL-UAD Notasi  (big Omega)  (g(n)) = { f(n) :  konstanta positif c dan n 0, sedemikian hingga  n  n 0, maka 0  cg(n)  f(n) } Untuk fungsi g(n),kita definisikan  (g(n)) sbg big- Omega dari n, sbg himpunan:

12 Eko Aribowo-ANPAL-UAD Lanjt g(n) adalah asymptotic lower bound untuk f(n). f(n) =  (g(n))  f(n) =  (g(n)).  (g(n))   (g(n)). f(n) Secara intuitif : himpunan dari semua nilai fungsi yang rate of growth-nya adalah sama atau lebih tinggi dari g(n).

13 Eko Aribowo-ANPAL-UAD Lanjt   =  2.50  =  2.99  =  3n + 7  =  2n  = Big Omega   adalah merupakan Lower bound dari suatu fungsi 2 (batas bawah tidak akan kurang dari 2) 2 2 ? ?

14 Eko Aribowo-ANPAL-UAD Notasi  (big theta) Untuk fungsi g(n),kita definisikan  (g(n)) sbg big-theta dari n, sbg himpunan sprt berikut  (g(n)) = { f(n) :  konstanta positif c 1, c 2 dan n 0, sedmikian rupa  n  n 0, maka 0  c 1 g(n)  f(n)  c 2 g(n) }

15 Eko Aribowo-ANPAL-UAD Lanjt Big theta   adalah merupakan tight bound dari suatu fungsi f(n) merupakan  (g(n)) pada nilai antara c1 smp c2 g(n) adalah asymptotically tight bound untuk f(n).

16 Eko Aribowo-ANPAL-UAD Lanjt Secara intuitif : himpunan seluruh fungsi yang rate of growth-nya sama dengan g(n). Secara teknik, f(n)   (g(n)). Penggunan sebelumnya, f(n) =  (g(n)). Mana yg akan kita teima … ? f(n) dan g(n) nonnegative, untuk nilai n besar.

17 Eko Aribowo-ANPAL-UAD Contoh  (g(n)) = { f(n) :  konstanta positif c 1, c 2, dan n 0, yg mana  n  n 0, 0  c 1 g(n)  f(n)  c 2 g(n) } 10n 2 - 3n =  (n 2 ) Apa nilai konstanta n 0, c 1, dan c 2 sehingga akan terpenuhi fungsi tsb? Buat c 1 sedkit lebih kecil dari koefisien utama, dan c 2 sedikit lebih besar. Untuk membandingkan tingkat pertumbuhan, lihat term utama. Latihan: Buktikan bahwa n 2 /2-3n =  (n 2 )

18 Eko Aribowo-ANPAL-UAD Relasi antara , O, 

19 Eko Aribowo-ANPAL-UAD Relasi antara , O,  Teorema : untuk 2 fungsi g(n) dan f(n), f(n) =  (g(n)) jika f(n) = O(g(n)) dan f(n) =  (g(n)). Teorema : untuk 2 fungsi g(n) dan f(n), f(n) =  (g(n)) jika f(n) = O(g(n)) dan f(n) =  (g(n)). yakni,  (g(n)) = O (g(n))   (g(n)) Dalam prakteknya, nilai  (atau tight bounds) didapat dari asymptotic upper bound dan lower bound.

20 Eko Aribowo-ANPAL-UAD Running Time Running time dari suatu algoritma, secara matematis adalah suatu fungsi input n untuk sejumlah n data –Misal f(n)=n 2  berarti fungsi runing time dari sejumlah n data adalah n 2 Running time merupakan fungsi kebutuhan sumberdaya yang diperlukan suatu algoritma (atau implementasinya) untuk memproses sejumlah data n

21 Eko Aribowo-ANPAL-UAD Lanjt “Running time-nya O(f(n))”  O(f(n)) adalah sbgWorst case-nya O(f(n)) batasan pd worst-case running time  O(f(n)) batasan pada running time dari setiap input.  (f(n)) batasan pd worst-case running time   (f(n)) batasan pd running time dari setiap input. “Running time -nya  (f(n))”   (f(n)) sbg Best case-nya

22 Eko Aribowo-ANPAL-UAD Analisis Empiris ?


Download ppt "Analisis dan Perancangan Algoritma Kuliah 3 : Metode Analisis Asymtotic Eko Aribowo Teknik Informatika Universitas Ahmad Dahlan."

Presentasi serupa


Iklan oleh Google