Analisis dan Perancangan Algoritma Kuliah 4 : Asymptotic pd Kasus

Slides:



Advertisements
Presentasi serupa
Pencarian ( Searching)
Advertisements

Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku
Desain Dan Analisis Algoritma
Kompleksitas Algoritma
Algoritma dan Struktur Data
Sorting (Pengurutan).
MATERI 11. TAS Tanggal 30 Nopember 2011 (RABU). Jam 7-9 TUTUP BUKU Materi : 1-11.
PENGURUTAN (SORTING).
Desain dan Analisis Algoritma
Modul-8 : Algoritma dan Struktur Data
Function(2).
Algoritma dan Struktur Data
STRUKTUR PEMILIHAN (KONTROL PROGRAM) Minggu III - 40 menit
Procedure & Function Sub Program.
BAB III PENGURUTAN DATA (SORTING) Tertia Avini, S. Kom tertiaavini
Pemprograman Terstruktur 1
Divide and Conquer Analisa Algoritma.
Algoritma dan Struktur Data
Algoritma dan Pemrograman
Kasus Buat algoritma untuk menghitung total pembayaran dari proses pembelian.
1 Nama Kelompok : Doddy Setiawan Moh. Abdul Latief Yosep Pangky ALGORITMA MERGE SORT.
Pertemuan-2 Kriteria kebaikan suatu algoritme Correctness
Pertemuan 10 DIVIDE And CONQUER Lanjutan ….
Analisa Algoritma Running Time.
ARRAY Array merupakan struktur data yang sering digunakan dalam pemrograman untuk menyimpan data yang akan diolah.
Strategi Algoritma Kuliah 1 : Peran Algoritma
Materi 9 LOGIKA & ALGORITMA.
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
ALGORITMA & PEMROGRAMAN
CSG3F3/ Desain dan Analisis Algoritma
LANJUTAN DARI SHORTING
Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir
Strategi Algoritma Kuliah 2 : Kompleksitas Algoritma
Bubble Sort Metode pengurutan gelembung diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan.
MATERI PERKULIAHAN ANALISIS ALGORITMA
Analisis Algoritma Team Fasilkom.
PENGURUTAN (SORTING).
CSG523/ Desain dan Analisis Algoritma
Algoritma dan Struktur Data
Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008
Array 1.
Faktor analisa algoritma
Pseudo-code.
Algoritma Percabangan
Modul 6 : Analisis Algoritma dan Struktur Data
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma dan Pemrograman Sorting
PERCABANGAN DAN PERULANGAN
Array Buat algoritma untuk mencari nilai terbesar dari 5 nilai mahasiswa yang diinputkan dengan array.
BINARY SEARCH Tim Algoritma Pemrograman Teknik Informatika
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
Seleksi Kondisi merupakan perintah yang memungkinkan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisi tertentu. Operator yang digunakan.
Nama : Siti Hajar Unit : B Nim : No.Hp : 0852 – 2000 – 3786.
PENYELEKSIAN KONDISI.
Modul 4 : Analisis Algoritma & Struktur Data
Strategi Algoritma Kuliah 3 : Algoritma Efisien
Algoritma Brute Force.
Pengurutan (Shorting)
Algoritma dan Pemrograman STRUKTUR ALGORITMA (3)
Analisa algoritma rekursif
ALGORITMA & PEMROGRAMAN
ALGORITMA DAN PROGRAM Erizal, S.Si, M.Kom Sistem Informasi
Desain & Analisis Algoritma
Analisis Algoritma E. Haodudin Nurkifli Teknik Informatika
Pengulangan FOR - DO Temu 9.
Kuliah 1-2 (Algoritma) Pseudocode Prosedure dan Fungsi
Pemilihan Dua Kasus, tiga kasus dan banyak kasus
Transcript presentasi:

Analisis dan Perancangan Algoritma Kuliah 4 : Asymptotic pd Kasus Eko Aribowo Teknik Informatika Universitas Ahmad Dahlan 25 พ.ค. 61

Contoh 1 Waktu prosesnya konstan, misalnya t detik Void main(void) { int x= 4; float y=13.99; float z=12/7*x^3+y/9; int p=z/6*y clrscr; cout <<“Hasil : ” << x<< endl; …. } Waktu prosesnya konstan, misalnya t detik

Contoh 2 a bn+a+c  O (n) b c Waktu prosesnya berarti a + b*n + c .. { … y =…; x =1; …. while( x<n) … cout x++; } Waktu prosesnya berarti a + b*n + c a bn+a+c  O (n) b c

a b c (b+c)n+a  O (n) Waktu prosesnya berarti a + b*n + c*n .. { ... y=1; x =1; ... for(;x<n;x++) {... ...} for( ;y<n;y++) } a Waktu prosesnya berarti a + b*n + c*n b c (b+c)n+a  O (n)

a b c cn2+bn+a  O(n2) Waktu prosesnya berarti a + b*n + c*n2 .. { ... y=1; x =1; ... for(;x<n;x++) {... for( ;y<n;y++) } a Waktu prosesnya berarti a + b*n + c*n2 b c cn2+bn+a  O(n2)

Apa running time dari algorithm berikut? PUZZLE(x) while x != 1     if x is genap      then  x = x / 2      else x = 3x + 1 Contoh pd data:  7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1

Contoh (1/2) Problem: diberikan sekelompok n angka, tentukan angka terbesar ke-k Algoritma 1 Simpan angka dalam array Urutkan array secara descending Hasil angka pada posisi k

Contoh (2/2) Mana algorithm yg lebih baik? Algoritma 2 Simpan angka2, pertama k pada array Urutkan array secara descending Untuk setiap angka sisa, jika angka lebih besar dari angka ke-k,sisipkan angka tsb pd posisi yg benar pd array Hasil angka pada posisi k Mana algorithm yg lebih baik?

Contoh: Algoritma Apa? I.I What is an Algorithm? Problem: Input adlh himp bil integer yg disimpan dlm array. Outputnya adalah bil minimum. Algoritma INPUT m:= a[1]; for I:=2 to size of input if m > a[I] then m:=a[I]; return s OUTPUT Random 25, 90, 53, 23, 11, 34 11 m Data-Structure

Contoh Algoritma A Max:=Y[0]; For i:=1 to n-1 do Problem: Input adlh urutan dari integer yg disimpan dlm array. Outputnya adalah max Algorithm A Max:=Y[0]; For i:=1 to n-1 do   If Y[i]>max then max:=Y[i]

Contoh Algoritma B Algoritma ini menggunakan 2 array temporary Max:=0; For i:= 0 to (n div 2)-1 do Begin If X[2*i]>X[(2*i)+1] then bantu:=X[2*i] else bantu:=X[(2*i)+1]; If bantu>Max then Max:=bantu end; If (n mod 2) = 1 then If Max<X[n-1] then Max:=X[n-1];

Visualisasi Algoritma B 34 6 5 9 20 8 11 7 Loop 0 34 9 20 11 Loop 1 34 20 Loop 2 34

Contoh Algoritma C For i:= 0 to (n div 2)-1 do If X[2*i]<X[(2*i)+1] then X[2*i]:=X[(2*i)+1]; For i:= 1 to (n div 2) do If X[i-1]>X[i] then X[i]:=X[i-1];     If (n mod 2) = 1 then If X[1]<X[n-1] then X[i]:=X[n-1];

Contoh Algoritma D Untuk setiap elemen, test kondisinya minimum.

Contoh Pemanfaatan Mengurutkan input secara menaik. Hasil elemen pertama dari data terurut. 8 9 5 6 11 34 7 20 black box Sorting 5 6 7 8 9 11 20 34

Mana algoritma yg lebih baik? Semua algoritma benar, tetapi mana yang terbaik? Mengukur running time (Jumlah operasi yg dibutuhkan). Mengukur jumlah memori yg digunakan. Catatan bahwa peningkatan dari running time algoritma sebagai peningkatan ukuran dari input .

Apa yg kita perlukan? Kebenaran: kondisi penghitungan algoritma Solusi yg benar untuk semua hal Effisiensi : Resources yg dibutuhkan oleh algoritma 1. Time: Jumlah langkah. 2. Space: Jumlah memori yg dibutuhkan “Model” ukuran : Worst case, Average case and Best case.

Time vs. Ukuran Input Diukur dengan parameter jumlah input Algorihtma A,B,C di implementasikan dan dijalankan pada PC Algoritma D is implementasi-kan dan dijalankan pada supercomputer. 4 2 Tc (n) Running time (second) Td(n) Tb (n) Ta (n) 500 1000 Input Size

Running time untuk input sedikit

Running time untuk input besar

Function of Growth rate