SlideServe
Menu
Préférences
© SlideServe · v2026

ALGORITMA DAN PEMROGRAMAN III

hailey avatar
23 diapositives · 750 Views · Sep 01, 2014

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

ALGORITMA DAN PEMROGRAMAN III - slide 1
01 / 23ALGORITMA DAN PEMROGRAMAN III
1 / 17

Télécharger la présentation

ALGORITMA DAN PEMROGRAMAN III
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. ALGORITMA DAN PEMROGRAMAN III

  2. MATERI • Analisa Algoritma • Algoritma Greedy • Exploring Graph • Algoritma Probabilistic

  3. PENILAIAN • Kuliah 50% • Tugas 20% • UTS 30% • UAS 50% • Praktikum 50%

  4. 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

  5. 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

  6. 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

  7. 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

  8. Problem size

  9. 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

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

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

  12. 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)

  13. 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)

  14. 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

  15. 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

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

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

  18. 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

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

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

  21. 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

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

  23. 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