Desain Dan Analisis Algoritma

Slides:



Advertisements
Presentasi serupa
TURUNAN/ DIFERENSIAL.
Advertisements

1 MATA KULIAH : “LOGIKA DAN ALGORITMA” PERTEMUAN I PENGANTAR ALGORITMA DAN PROGRAM CREATED BY: AYU ANGGRIANI H PTIK A 2009 PRODI PENDIDIKAN TEKNIK.
Pencarian ( Searching)
Persamaan Garis dan Grafik Kuadrat
Desain Dan Analisis Algoritma
Kompleksitas Algoritma
Algoritma dan Struktur Data
Kasus 1 Buat algoritma untuk menghitung gaji pegawai. Gaji pegawai didapat dari gaji pokok ditambah tunjangan keluarga dan tunjangan jabatan. Tunjangan.
Aryo Pinandito, ST, M.MT - PTIIK UB
Fundamentals Of Algorithmics Gilles Brassard & Paul Bratley.
7. PENJUMLAHAN DUA BUAH MATRIKS
 Mahasiswa dapat menyelesaikan ketiga deret tersebut.
SEARCHING ( PENCARIAN )
Bahan Kuliah IF3051 Strategi Algoritma Oleh: Rinaldi Munir
Meningkatkan kemampuan quick sort
Pertemuan-4 : Recurrences
Desain dan Analisis Algoritma
Pertemuan 2 INDUKSI MATEMATIKA & FUNGSI REKURSIF
Modul 1- Review Java.
Design and Analysis of ALGORITHM (Session 3)
sebuah fungsi yang memanggil dirinya sendiri
Sumber Kepustakaan : indryz.lecture.ub.ac.id/.../analisa-efisiensi- algoritm... 1  Fungsi yang memanggil dirinya sendiri  Sebuah fungsi f juga merupakan.
METODE NUMERIK EDY SUPRAPTO 1.
Pertemuan 5 P.D. Tak Eksak Dieksakkan
Tim Matematika Diskrit
Modul-8 : Algoritma dan Struktur Data
Desain dan Analisis Algoritma
PENCARIAN (SEARCHING)
Himpunan Pertemuan Minggu 1.
Dasar Pemrograman ARRAY/LARIK.
Simulasi Antrian Ipung Permadi, S.Si, M.Cs.
Kompleksitas Algoritma
MATEMATIKA DISKRIT Kompleksitas Algoritma Kelompok 9
Algoritma dan Struktur Data
Kompleksitas Waktu Asimptotik
Kompleksitas Algoritma
PENYELESAIAN PERSAMAAN KUADRAT
Mathematics for Business & Economics Atman P, drs. STIE INDONESIA BANKING SCHOOL
Pertemuan-3 Laju Pertumbuhan Fungsi : Pengertian, motivasi dan manfaat
Desain dan Analisis Algoritma
Design and Analysis Algorithm
Algoritma dan Struktur Data
Desain dan Analisis Algoritma
Pertemuan 3 ALGORITMA & FUNGSI KOMPLEKSITAS
Pertemuan-2 Kriteria kebaikan suatu algoritme Correctness
Analisa Algoritma Running Time.
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
Strategi Algoritma Kuliah 2 : Kompleksitas Algoritma
MATERI PERKULIAHAN ANALISIS ALGORITMA
PENGANTAR STRUKTUR DATA
CSG523/ Desain dan Analisis Algoritma
Algoritma dan Struktur Data
MATERI PERKULIAHAN ANALISIS ALGORITMA
Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008
NOTASI SIGMA Maka:.
Kompleksitas Algoritma
Faktor analisa algoritma
Analisis dan Perancangan Algoritma Kuliah 4 : Asymptotic pd Kasus
MATERI PERKULIAHAN ANALISIS ALGORITMA
Quiz : Pengujian P/L 1 : Jelaskan pengertian dari pengujian kotak hitam, sebutkan dan jelaskan 4 jenisnya 2 : Buat kasus2 uji u/ pengujian jalur dasar.
Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008
Modul 4 : Analisis Algoritma & Struktur Data
UJIAN TERDIRI ATAS 50 SOAL
Analisa algoritma rekursif
Dr. Mufid Nilmada, SSi., MMSI
UJIAN TERDIRI ATAS 50 SOAL
Desain dan Analisis Algoritma
Analisis Algoritma E. Haodudin Nurkifli Teknik Informatika
NOTASI SIGMA Maka:.
Transcript presentasi:

Desain Dan Analisis Algoritma Pertemuan 3 Basic Efficiency Classes

Latihan Algorithm mystery(A[0..n-1]) X ← A[0] for i ← 1 to n – 1 do if A[i] > X X ← A[i] return X Apa yang dilakukan algoritma mystery? Estimasikan waktu eksekusi algoritma mystery Estimasi waktu eksekusi algoritma mystery untuk input A = [1, 2, 5, 9, 4, 4, 7, 10, 1, 6]

Langkah-langkah umum untuk menganalisa efisiensi waktu algoritma nonrekursif Tentukan parameter yang mengindikasikan ukuran input Identifikasi basic operation algoritma Tentukan apakah untuk ukuran input yang sama banyaknya eksekusi basic operation bisa berbeda Tentukan rumus sigma yang menunjukkan berapa kali basic operation dieksekusi Selesaikan rumus sigma untuk menghitung banyaknya eksekusi basic operation

Untuk apa kita mencari T(N)? Apakah untuk mengestimasi running time algoritma? Tujuan utama mencari T(n) bukan mencari waktu eksak yang dibutuhkan untuk mengeksekusi sebuah algoritma Tetapi untuk mengetahui tingkat pertumbuhan waktu eksekusi algoritma jika ukuran input bertambah (order of growth)

Latihan Algoritma mystery T(n) = n – 1. Estimasi waktu eksekusi algoritma jika array inputnya memiliki anggota 10 elemen 20 elemen 30 elemen Buat grafik yang menunjukkan hubungan antara banyaknya elemen array yang dieksekusi dengan waktu eksekusi

Orders of Growth Tingkat pertumbahan waktu eksekusi algoritma jika ukuran input bertambah

Latihan Urutkan waktu eksekusi algoritma 1 – 4 berdasar order of growthnya dari kecil ke besar T1(n) = n2 T1 (10) = 100 T1 (100) = 10,000 T2(n) = n3 T2(10) = 1,000 T2(100) = 1,000,000 T3(n) = n T3(10) = 10 T3(100) = 100 T4(n) = log2n T4(10) = 3.3 T4(100) = 6.6

Membandingkan Orders of Growth dari dua algoritma Algoritma A dan B merupakan algoritma untuk menyelesaikan permasalahan yang sama. Untuk input berukuran n, waktu eksekusi algoritma A adalah TA(n) sedangkan waktu eksekusi algoritma B adalah TB(n). Orders of growth mana yang paling besar?

Membandingkan Orders of Growth dari dua algoritma 0 maka OoG TA(n) < OoG TB(n) C maka OoG TA(n) = OoG TB(n) ~ maka OoG TA(n) > OoG TB(n)

LATIHAN Terdapat dua algoritma yang menyelesaikan permasalahan yang sama. Untuk input berukuran n, Algoritma 1 menyelesaikan dalam T1(n) = 30n2 + 2n + 5. Algoritma 2 dalam T2(n) = n3 + n Mana yang lebih besar, OoG T1 atau T2 Untuk n kecil mana yang anda pilih? Untuk n besar, mana yang anda pilih?

Kelas-kelas Orders of Growth C constant logN logarithmic N linear NlogN N2 quadratic N3 cubic 2N exponential N! factorial Makin ke bawah, OoGnya makin besar

Sifat OoG Misal T(n) = cf(n) Maka OoG T(n) = f(n) Misal T(n) = T1(n) + T2(n) + … + Ti(n) Maka OoG T(n) = max OoG(T1(n), T2(n), … , Ti(n)) Misal T(n) = cf(n) Maka OoG T(n) = f(n)

Latihan Tentukan kelas orders of growth dari T1(n) = 2n3 + 4n + 1 T3(n) = n3 + n logn T4(n) = 2n + 4n3 + logn +10

(1) Waktu pelaksanaan algoritma adalah tetap, tidak bergantung pada ukuran input. (log n) Kompleksitas waktu logaritmik berarti laju pertumbuhan waktunya berjalan lebih lambat daripada pertumbuhan n.

(n) Bila n dijadikan dua kali semula, maka waktu pelaksanaan algoritma juga dua kali semula. (n log n) Bila n dijadikan dua kali semual, maka n log n menjadi lebih dari dua kali semula (tetapi tidak terlalu banyak)

(n2) Bila n dinaikkan menjadi dua kali semula, maka waktu pelaksanaan algoritma meningkat menjadi empat kali semula. (n3) Bila n dinaikkan menjadi dua kali semula, waktu pelaksanan algoritma meningkat menjadi delapan kali semula.

(2n) Bila n dijadikan dua kali semula, waktu pelaksanaan menjadi kuadrat kali semula! (n!) Bila n dijadikan dua kali semula, maka waktu pelaksanaan algoritma menjadi faktorial dari 2n.

TUGAS Minggu Depan Bisa dilihat di http://indryz.lecture.ac.id