Strategi Algoritma Kuliah 3 : Algoritma Efisien

Slides:



Advertisements
Presentasi serupa
Program Dinamis (Dynamic Programming)
Advertisements

Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku
Desain Dan Analisis Algoritma
Kompleksitas Algoritma
Algoritma dan Struktur Data
MATERI 11. TAS Tanggal 30 Nopember 2011 (RABU). Jam 7-9 TUTUP BUKU Materi : 1-11.
PENGURUTAN (SORTING).
Algoritma Branch and Bound
Bahan Kuliah IF3051 Strategi Algoritma Oleh: Rinaldi Munir
Design and Analysis of ALGORITHM (Session 3)
FUNGSI MATEMATIKA DISKRIT K- 6 Universitas Indonesia
PENCARIAN (SEARCHING)
Modul-8 : Algoritma dan Struktur Data
Function(2).
Algoritma dan Struktur Data
STRUKTUR PEMILIHAN (KONTROL PROGRAM) Minggu III - 40 menit
Procedure & Function Sub Program.
Matakuliah: T0034 / Perancangan & Analisis Algoritma Tahun: 2008 Pertemuan 1 PENGENALAN PERANCANGAN & ANALISIS ALGORITMA.
Structure Data - Array Pertemuan 7 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Algoritma dan Pemrograman
1 Nama Kelompok : Doddy Setiawan Moh. Abdul Latief Yosep Pangky ALGORITMA MERGE SORT.
Pertemuan-2 Kriteria kebaikan suatu algoritme Correctness
Analisa Algoritma Running Time.
Strategi Algoritma Kuliah 1 : Peran Algoritma
Materi 9 LOGIKA & ALGORITMA.
Array (bagian 2).
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
Pencarian pada Array Tim PHKI Modul Dasar Pemrograman
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.
Analisa Algoritma (IF1282)
PENGURUTAN (SORTING).
Algoritma Bruteforce (disarikan dari diktat Strategi Algoritma, Rinaldi Munir) Team Fasilkom.
Algoritma Greedy (lanjutan)
Algoritma Traversal di dalam Graf
Kuliah ke 6 Strategi Algoritma
Algoritma dan Struktur Data
Array 1.
Faktor analisa algoritma
Pseudo-code.
Analisis dan Perancangan Algoritma Kuliah 4 : Asymptotic pd Kasus
Algoritma Percabangan
Modul 6 : Analisis Algoritma dan Struktur Data
Analisa Algoritma : Pendahuluan
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma dan Pemrograman Sorting
KUG1E3/ Pemrograman Terstruktur 1
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.
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
Algoritma Runut-balik (Backtracking)
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
Transcript presentasi:

Strategi Algoritma Kuliah 3 : Algoritma Efisien Teknik Informatika Universitas Ahmad Dahlan 29 ก.ค. 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

Referensi Rinaldi Munir, 2010, Diktat Kuliah Strategi Algoritma ITB Gilles Brassard, 1996, Fundamental Of Algoritmh, Prentice Hall, New Jersey Cormen et al, 2009, Introduction to Algorithms : thrid edition, MIT