ALGORITMA DAN PEMROGRAMAN III

Slides:



Advertisements
Presentasi serupa
Desain Dan Analisis Algoritma
Advertisements

Kompleksitas Algoritma
Algoritma : CONTROL STRUCTURES
Tipe data dan algoritma dasar
Struktur Perulangan Week 4 & 5.
CS1023 Pemrograman Komputer
Struktur Kontrol #2 Perulangan
Desain dan Analisis Algoritma
sebuah fungsi yang memanggil dirinya sendiri
Tim Matematika Diskrit
PERTEMUAN V Logika Algoritma Algoritma : Metoda pemecahan suatu masalah langkah demi langkah. Karakteristik Algoritma :  Presisi ; langkah-langkahnya.
Oleh Nila Feby Puspitasari
Pemrograman Terstruktur
Notasi Algoritma.
ALGORITMA PSEUDOCODE Pertemuan Ke-2 Meilia Nur Indah Susanti, ST.,MKom
Teknik Optimasi.
PERTEMUAN 1 Pendahuluan Materi - Endra Rahmawati, S.Kom -
Procedure & Function Sub Program.
Pemograman 1 Pertemuan 6.
Nested IF (If di dalam If) dan Operator Logika
Operasi Perulangan pada FORTRAN Pertemuan 6
Algoritma dan Pemrograman
PERTEMUAN 2 PENGERTIAN DASAR LOGIKA DAN ALGORITMA.
Pertemuan-2 Kriteria kebaikan suatu algoritme Correctness
INF-301 FEB 2006 Univ. INDONUSA Esa Unggul PERTEMUAN V Tujuan Instruksional Umum : Permutasi & Kombinasi Tujuan Instruksional Khusus : Mahasiswa dapat.
Variabel, Konstanta, Tipe Data Dan Operator pada VB
Analisa Algoritma Running Time.
{Pertemuan 4 Struktur Kondisi IF}
Prodi S1-Sistem Komputer, F Teknik Elektro
Materi Kuliah 1. Pertemuan ke : 1 Pengenalan Komputer dan Pemrograman
ALGORITMA PEMROGRAMAN 2A
STRUKTUR DASAR ALGORITMA
{Pertemuan 4 Struktur Kondisi IF}
Strategi Algoritma Kuliah 2 : Kompleksitas Algoritma
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pertemuan 25 MERANCANG ALGORITMA DENGAN KOMPLEKSITAS TERTENTU
ALGORITMA & PEMROGRAMAN
Analisis Algoritma Team Fasilkom.
Struktur Seleksi (Percabangan)
FLOWCHARTING Pertemuan 3 & 4 Muhamad Haikal, S.Kom., MT.
Analisa Algoritma (IF1282)
{Pertemuan 4 Struktur Kondisi IF}
PROG.STUDI PEND.FISIKA UIN ALAUDDIN MAKASSAR
MATERI PERKULIAHAN ANALISIS ALGORITMA
Mata kuliah : K0144/ Matematika Diskrit Tahun : 2008
Kompleksitas Algoritma
Faktor analisa algoritma
YOHANA NUGRAHENI Pengantar Algoritma YOHANA NUGRAHENI
Pengenalan Analisis Algoritma
Analisa Algoritma : Pendahuluan
MATERI PERKULIAHAN ANALISIS ALGORITMA
PERCABANGAN DAN PERULANGAN
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.
Notasi Asymtotik Pertemuan 2.
DIAGRAM ALUR (FLOWCHART)
ALGORITMA & PEMROGRAMAN
Dasar-Dasar Pemrograman
Percabangan dan Perulangan
Kompleksitas Algoritma
Analisa algoritma rekursif
CCM110, MATEMATIKA DISKRIT Pertemuan ke 10, Logika Algoritma
STATEMEN GO TO DAN IF-THEN Pertemuan IX.
LOGIKA & ALGORITMA KONSEP ALGORITMA & FLOWCHART M. Febriansyah, ST., MT.
Dr. Mufid Nilmada, SSi., MMSI
Teori Bahasa Otomata (1) 2. Searching
Analisis Algoritma E. Haodudin Nurkifli Teknik Informatika
Prosedur Oleh : Tim Teaching Bernadus Anggo Seno Aji, S.Kom., M.Kom
Algoritma dan Pemrograman
PEMROGRAMAN DASAR Pertemuan Ke-1
Transcript presentasi:

ALGORITMA DAN PEMROGRAMAN III

MATERI Analisa Algoritma Algoritma Greedy Exploring Graph Algoritma Probabilistic

PENILAIAN Kuliah 50% Tugas 20% UTS 30% UAS 50% Praktikum 50%

ANALISA ALGORITMA Algoritma membantu kita memahami skalabilitas program kita Analisa algoritma memberi gambaran informasi tentang ‘perilaku program’ kita Mempelajari bagaimana menerapkan algoritma yang baik untuk kasus tertentu membedakan profesi system analyst dan programmer

Prinsip Perbandingan Algoritma Apa yang membuat sebuah algoritma dikatakan LEBIH BAIK dari algoritma yang lain? Kompleksitas waktu (Time Complexity) Kompleksitas ruang (Space Complexity) Kecenderungan saat ini: ruang (hard disk) semakin murah kapasitas data yang diproses semakin besar waktu pemrosesan harus semakin cepat Kompleksitas waktu menjadi variabel yang sangat penting

Ukuran Efisiensi Waktu Efisiensi suatu algoritma tidak dapat diukur dengan satuan waktu (detik, milidetik dsb), karena waktu tempuh algoritma sangat tergantung pada : Banyaknya data Spesifikasi komputer  Hardware Compiler  software Tegangan listrik Lain-lain

Efisiensi Waktu Efisiensi waktu dalam algoritma diukur dengan satuan n (problem size) 4 langkah untuk menentukan ukuran efisiensi waktu antara lain : Menentukan problem size (n) Menentukan operasi dominan Menentukan fungsi langkah  g(n) Menentukan kompleksitas waktu O(f(n))  Big Oh

Problem size

Menentukan Operasi Dominan Operasi dominan merupakan operasi yang paling banyak dilakukan untuk memecahkan suatu permasalahan. Operasi dominan ini sangat tergantung pada permasalahan dan operasi yang dilakukan yang banyaknya tergantung pada n

Contoh Pada algoritma menentukan max/min  operasi dominannya adalah operasi perbandingan “<“ atau “>” Pda algoritma searching  operasi dominannya adalah operasi “=“

Menentukan fungsi langkah  g(n) g(n) = banyak kali operasi dominan dilakukan dalam (n)

Menentukan kompleksitas waktu O(f(n)) Suatu algoritma dengan fungsi langkah g(n) dikatakan mempunyai kompleksitas waktu O(f(n)) jika terdapat konstanta c>0 sedemikian hingga : g(n) ≤ c.f(n) untuk n > n0 Algoritma MaxMin  g(n)= 2n-2  O(n) Algoritma Bubblesort  g(n) = n2/2-n/2  O(n2)

Efisiensi Algoritma Faktor-faktor yang menentukan banyak langkah antara lain : 1. Banyaknya operator dasar yang digunakan 2. Assigment (konstanta c) 3. Function Call 4. Struktur Program - Sekuensial - Percabangan - Kalang (loop)

SEKUENSIAL Misalkan dalam algoritma terdapat blok statement, masing-masing mempunyai banyak langkah : S1 banyak langkah P1 S2 banyak langkah P2 S3 banyak langkah P3 Sn banyak langkah Pn Total banyak langkah blok-blok statement tersebut adalah

Contoh Sekuensial x  x * y operasi 1 = 1 y  a * sin(x) operasi 1, procedure 1 = 2 Readln(b) assigment 1 = 1 Writeln (x+y+b) assigment 1 operasi 2 = 3 Banyak langkah = 7

Soal Hitung banyak langkah dari algoritma berikut : read(panjang) read(lebar) luas  panjang * lebar keliling  2 * (panjang + lebar) write(luas) write(keliling)

Percabangan Bentuk IF k THEN S1 ELSE S2 k = kondisi dengan banyak langkah c S1 , S2 = blok statement dengan banyak langkah P1,P2

Percabangan Kasus terbaik mempunyai banyak langkah c + min (P1, P2) Kasus terburuk mempunyai banyak langkah c + max (P1, P2) Operator dasar logika : AND, OR, NOT dihitung 1 langkah

Percabangan C = 1 P1 = 2 P2 = 1 Kasus terburuk = c + max (P1, P2) = 1 + max(2,1) = 3

Perulangan (Loop) Yang dianalisa hanya For Loop Bentuk umum For variable nilai awal To nilai akhir Step S

Perulangan (Loop) Kasus I Statement S mempunyai banyak langkah yang tidak tergantung nilai counter For counter : awal To akhir S Counter ≤ Akhir S dieksekusi sebanyak akhir – awal + 2 kali Counter = counter + 1 S dieksekusi sebanyak akhir – awal + 1 kali

Perulangan (Loop) Banyak Langkah = (akhir – awal + 2) + (akhir – awal + 1) (p + 1) Contoh : For i = 1 to n x : = x + 5 y : = y + x

Perulangan (Loop) Kasus II Banyak langkah S bergantung nilai Counter Contoh : For i := 1 To n x := x + y For j := i To n y := i + j