220 likes | 529 Views
Analisis dan Perancangan Algoritma Kuliah 3 : Metode Analisis Asymtotic. Eko Aribowo Teknik Informatika Universitas Ahmad Dahlan. Metode Analisis. Asymptotic/theoretic/mathematic : berdasarkan pendekatan secara teori atau atas dasar analisa secara matematik
E N D
AnalisisdanPerancanganAlgoritmaKuliah 3 : MetodeAnalisisAsymtotic EkoAribowo TeknikInformatika Universitas Ahmad Dahlan
Metode Analisis • Asymptotic/theoretic/mathematic : berdasarkan pendekatan secara teori atau atas dasar analisa secara matematik • Empirical/Practical/Empiris/Praktis : berdasarkan pendekatan praktis yang biasanya didasarkan atas data-data yang telah ada atau data-data yang di-generete / dibangkitkan Eko Aribowo-ANPAL-UAD
Asymptotic • Menggambarkan karakteristik/perilaku suatu algoritma pada batasan tertentu (berupa suatu fungsi matematis) • Dituliskan dengan notasi matematis yg dikenal dgn notasiasymptotic • Notasiasymptoticdapat dituliskan dengan beberpa simbul berikut • Q, O, W, o, w Eko Aribowo-ANPAL-UAD
Notasi Asymptotic • Q, O, W, o, w • Didefinisikan untuk fungsi diatas nilai biasa • Contoh:f(n) = Q(n2). • Menggambarkan bagaimana fungsi f(n) tumbuh pd pembandingan untuk n2. • Mendefinisikan himpunan fungsi ; • Pada prakteknya untuk membandingan 2 ukuran fungsi. • Notasi menggambarkan perbedaan rate-of-growthhubungan antara definisi fungsi dan definisi himpunan fungsi. 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 positifc dan n0, sedemikian rupa n n0, sehingga 0 f(n) cg(n) } : ada, : untuk semua Ada konstanta n 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)). Eko Aribowo-ANPAL-UAD
Lanjt 3(pembulatan ke atas dalah 3) • 2.99 = • 2.50 = • 2.0001 = • 3n + 7 = ?(tidak bakal lebih 4n) • 2n2 + 5 = ? 3 3 • Big Oh Oadalah merupakan Upper bound dari suatu fungsi Eko Aribowo-ANPAL-UAD
Contoh f(n) = 3n + 4 berapa / apa bigoh-nya ? 3n+4 <= Cn ? 3*2+4 <=3*3 10<=9 ? • n0 = 2 • C =3 Tidak akan pernah terpenuhi berapapun nilai n Apa kesimpulannya 3n+4 <= cn? 3*2+4 <=4*2 ? • Bgm dgn n0 = 2 • C =4 3n+4 <= cn ? 3*3+4 <=4*3 ? • Bgm dgn n0 = 3 • C =4 ? 3n+4 <= cn ? 3*4+4 <=4*4 ? • Bgm dgn n0 = 4 • C =4 Eko Aribowo-ANPAL-UAD
f(n) 4n 3n+4 n=4 Lanjt Sehingga dari f(n) = 3n+4 akan terpenuhi f(n) <= 4n untuk n >= 4 berarti f(n)=O(4n) untuk n0=4 n Eko Aribowo-ANPAL-UAD
Contoh dan Latihan Apa fungsi big Oh dari 4n ? 2n+7 ? n2 ? n2+3 ? Eko Aribowo-ANPAL-UAD
Notasi (big Omega) Untuk fungsi g(n),kita definisikan (g(n)) sbg big-Omega dari n, sbg himpunan: (g(n)) ={f(n) : konstanta positifc dan n0, sedemikian hinggan n0, maka 0 cg(n) f(n)} Eko Aribowo-ANPAL-UAD
Lanjt f(n) Secara intuitif : himpunan dari semua nilai fungsi yang rate of growth-nya adalah sama atau lebih tinggi dari g(n). g(n) adalah asymptotic lower bound untuk f(n). f(n) = (g(n)) f(n) = (g(n)). (g(n)) (g(n)). Eko Aribowo-ANPAL-UAD
Lanjt 2(batas bawah tidak akan kurang dari 2) • 2.0001= • 2.50 = • 2.99 = • 3n + 7 = • 2n2 + 5 = 2 2 ? ? • Big Omega adalah merupakan Lower bound dari suatu fungsi 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 c1, c2 dan n0, sedmikian rupa n n0, maka 0 c1g(n) f(n) c2g(n)} 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). 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. Eko Aribowo-ANPAL-UAD
Contoh (g(n)) ={f(n) : konstanta positif c1, c2, dan n0, yg manan n0, 0 c1g(n) f(n) c2g(n)} • 10n2-3n = (n2) • Apa nilai konstanta n0, c1, dan c2 sehingga akan terpenuhi fungsi tsb? • Buat c1 sedkit lebih kecil dari koefisien utama, dan c2 sedikit lebih besar. • Untuk membandingkan tingkat pertumbuhan, lihat term utama. • Latihan: Buktikan bahwa n2/2-3n = (n2) Eko Aribowo-ANPAL-UAD
Relasi antara Q, O, W Eko Aribowo-ANPAL-UAD
Relasi antara Q, O, W 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)) ÇW(g(n)) • Dalam prakteknya, nilai (atautight bounds) didapat dari asymptotic upper bounddan lower bound. 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)=n2 berarti fungsi runing time dari sejumlah n data adalah n2 • Running time merupakan fungsi kebutuhan sumberdaya yang diperlukan suatu algoritma (atau implementasinya) untuk memproses sejumlah data n Eko Aribowo-ANPAL-UAD
Lanjt • “Runningtime-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. • Q(f(n)) batasan pd worst-case running time Q(f(n)) batasan pd running time dari setiap input. • “Running time -nya W (f(n))” W(f(n))sbg Best case-nya Eko Aribowo-ANPAL-UAD
Analisis Empiris ? Eko Aribowo-ANPAL-UAD