Kompleksitas Algoritma - PowerPoint PPT Presentation

About This Presentation
Title:

Kompleksitas Algoritma

Description:

Kompleksitas Algoritma Pertemuan 1 Kompleksitas Algoritma Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). – PowerPoint PPT presentation

Number of Views:428
Avg rating:3.0/5.0
Slides: 23
Provided by: amethyst07
Category:

less

Transcript and Presenter's Notes

Title: Kompleksitas Algoritma


1
Kompleksitas Algoritma
  • Pertemuan 1
  • Kompleksitas Algoritma

2
Pendahuluan
  • Sebuah algoritma tidak saja harus benar, tetapi
    juga harus mangkus (efisien).
  • Algoritma yang bagus adalah algoritma yang
    mangkus.
  • Kemangkusan algoritma diukur dari berapa jumlah
    waktu dan ruang (space) memori yang dibutuhkan
    untuk menjalankannya.

3
  • Algoritma yang mangkus ialah algoritma yang
    meminimumkan kebutuhan waktu dan ruang.
  • Kebutuhan waktu dan ruang suatu algoritma
    bergantung pada ukuran masukan (n), yang
    menyatakan jumlah data yang diproses.
  • Kemangkusan algoritma dapat digunakan untuk
    menilai algoritma yang bagus.

4
Model Perhitungan Kebutuhan Waktu/Ruang
  • Kita dapat mengukur waktu yang diperlukan oleh
    sebuah algoritma dengan menghitung banyaknya
    operasi/instruksi yang dieksekusi (basic
    operation) operasi dasar dari suatu algoritma
    yg terjadi selama running time.
  •  
  • Jika kita mengetahui besaran waktu (dalam satuan
    detik) untuk melaksanakan sebuah operasi
    tertentu, maka kita dapat menghitung berapa waktu
    sesungguhnya untuk melaksanakan algoritma tersebut

5
(No Transcript)
6
(No Transcript)
7
Model perhitungan kebutuhan waktu seperti di atas
kurang berguna, karena 1. Dalam praktek, tidak
mempunyai informasi berapa waktu sesungguhnya
untuk melaksanakan suatu operasi tertentu
2. Komputer dengan arsitektur yang berbeda akan
berbeda pula lama waktu untuk setiap jenis
operasinya.
8
  • Model abstrak pengukuran waktu/ruang harus
    independen dari pertimbangan mesin dan compiler
    apapun.
  •  
  • Besaran yang dipakai untuk menerangkan model
    abstrak pengukuran waktu/ruang ini adalah
    kompleksitas algoritma.
  •  
  • Ada dua macam kompleksitas algoritma, yaitu
    kompleksitas waktu dan kompleksitas ruang.

9
  • Kompleksitas waktu, T(n), diukur dari jumlah
    tahapan komputasi yang dibutuhkan untuk
    menjalankan algoritma sebagai fungsi dari ukuran
    masukan n.
  •  
  • Kompleksitas ruang, S(n), diukur dari memori yang
    digunakan oleh struktur data yang terdapat di
    dalam algoritma sebagai fungsi dari ukuran
    masukan n.
  •  
  • Dengan menggunakan besaran kompleksitas
    waktu/ruang algoritma, kita dapat menentukan laju
    peningkatan waktu (ruang) yang diperlukan
    algoritma dengan meningkatnya ukuran masukan n.

10
  • Ukuran masukan (n) jumlah data yang diproses
    oleh sebuah algoritma.
  • Contoh algoritma pengurutan 1000 elemen larik,
    maka n 1000.
  • Contoh algoritma TSP pada sebuah graf lengkap
    dengan 100 simpul, maka n 100.
  • Contoh algoritma perkalian 2 buah matriks
    berukuran 50 x 50, maka n 50.
  • Dalam praktek perhitungan kompleksitas, ukuran
    masukan dinyatakan sebagai variabel n saja.

11
Kompleksitas Waktu
  • Jumlah tahapan komputasi dihitung dari berapa
    kali suatu operasi dilaksanakan di dalam sebuah
    algoritma sebagai fungsi ukuran masukan (n).
  • Di dalam sebuah algoritma terdapat bermacam jenis
    operasi
  • Operasi baca/tulis
  • Operasi aritmetika (, -, , /)
  • Operasi pengisian nilai (assignment)
  • Operasi pengakasesan elemen larik
  • Operasi pemanggilan fungsi/prosedur
  • dll
  • Dalam praktek, kita hanya menghitung jumlah
    operasi khas (tipikal) yang mendasari suatu
    algoritma

12
  • Contoh 2. Tinjau algoritma menghitung rerata pada
    Contoh 1. Operasi yang mendasar pada algoritma
    tersebut adalah operasi penjumlahan elemen-elemen
    ak (yaitu jumlah?jumlahak), yang dilakukan
    sebanyak n kali.
  •  
  • Kompleksitas waktu T(n) n.

13
Kompleksitas waktu dibedakan atas tiga macam
1. Tmax(n) kompleksitas waktu untuk kasus
terburuk (worst case), ?kebutuhan waktu
maksimum. 2. Tmin(n) kompleksitas waktu untuk
kasus terbaik (best case), ?kebutuhan waktu
minimum. 3. Tavg(n) kompleksitas waktu untuk
kasus rata-rata (average case) ? kebutuhan waktu
secara rata-rata
14
Efisiensi Worst-Case, Best-Case, dan
Average-Case
  • Untuk menghitung efisiensi suatu algoritma tidak
    hanya tergantung pada parameter size dari input,
    tetapi juga tergantung pada spesifikasi inputan.

15
  • Worst-case efficiency
  • Efisiensi untuk input worst-case berukuran n,
    dimana algoritma berjalan paling lama dari
    kemungkinan input yang ada.
  • Analisa worst-case menjamin bahwa suatu program
    tidak akan pernah melebihi Cworst (n), yaitu
    running time pada inputan worst-case (terburuk).

16
  • Best-case efficiency
  • Efisiensi untuk input best-case berukuran n,
    dimana algoritma berjalan paling cepat dari
    kemungkinan input yang ada.
  • Average-case efficiency
  • Dihitung bukan berdasarkan rata-rata worst-case
    dan best-case.
  • Untuk menganalisanya, kita harus membuat
    asumsi-asumsi dari input berukuran n yang
    mungkin.

17
(No Transcript)
18
(No Transcript)
19
(No Transcript)
20
Tugas 1
  • Hitung kompleksitas waktu algoritma berikut

21
(No Transcript)
22
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com