MATERI PERKULIAHAN ANALISIS ALGORITMA KOMPLEKSITAS ALGORITMA 1 Ken
- Slides: 34
MATERI PERKULIAHAN ANALISIS ALGORITMA KOMPLEKSITAS ALGORITMA 1 Ken Kinanti Purnamasari
ANALISIS ALGORITMA
ANALISIS Pengkajian bagian-bagian dan hubungan antarbagian dalam suatu hal untuk memahaminya dengan tepat secara menyeluruh.
ALGORITMA Langkah-Langkah Penyelesaian Masalah.
ANALISIS ALGORITMA Penguraian & Pengkajian Langkah-langkah penyelesaian masalah, untuk menyeluruh. memahaminya dengan tepat secara
MENGAPA DIANALISIS ? Algoritma dianalisis untuk melihat seberapa efisien suatu algoritma menggunakan resource (waktu & memori).
KOMPLEKSITAS ALGORITMA
Mengapa Harus Efisien ? Pengaruh signifikan dari efisiensi algoritma
EFISIENSI ALGORITMA - Algoritma yang baik adalah algoritma yang efisien. - Efisiensi Algoritma diukur dari jumlah waktu & kapasitas memori yang dibutuhkan saat eksekusi. - Makin sedikit waktu & memori yang dibutuhkan, suatu algoritma makin efisien. - Kebutuhan waktu & memori bergantung pada ukuran jumlah masukan (n)
KOMPLEKSITAS WAKTU & RUANG
WAKTU & RUANG Time Efficiency => Time Complexity ( T(n) = Jumlah Waktu pengerjaan suatu Algoritma) Space Efficiency => Space Complexity ( S(n) = Jumlah ruang Memori yang dibutuhkan suatu Algoritma untuk input & output)
EFISIENSI ALGORITMA Mana lebih penting ? Efisiensi WAKTU atau MEMORI ?
UKURAN INPUT Didefinisikan sebagai parameter n Contoh : Menghitung total jumlah 100 bilangan (n = 100) Menghitung determinan matriks 5 x 5 (n = 25)
PERHITUNGAN WAKTU Waktu Algoritma dapat diukur dari jumlah operasi / instruksi dasar yang dieksekusi algoritma tersebut. Operasi Dasar Perbandingan ( > , < , = ) Aritmatika ( - , + , * , / )
RUNNING TIME T(n) ≈ Cop C(n) Cop = Waktu Eksekusi operasi dasar di suatu komputer C(n) = Jumlah operasi dasar di suatu algoritma T(n) = Waktu Eksekusi suatu algoritma (Running Time)
CONTOH KASUS (Menghitung Rata-Rata) Input Array dengan n buah elemen : |a 1 |a 2 |a 3 . . . An Procedure Hitung. Rata 2(input a 1, a 2, …, an : integer, output rata 2 : real) Deklarasi k, n : integer jumlah : real Algoritma n 10 jumlah 0 k 1 while k < n do jumlah + ak k k + 1 endwhile rata 2 jumlah / n
a. Operasi Pengisian Nilai SINTAK JUMLAH n 10 1 jumlah 0 1 k 1 1 jumlah + ak 10 k k + 1 10 rata 2 jumlah / n 1 TOTAL 24 b. Operasi Penjumlahan SINTAK JUMLAH jumlah + ak 10 k + 1 10 TOTAL 20
c. Operasi Pembagian SINTAK JUMLAH jumlah / n TOTAL 1 1 Total kebutuhan waktu eksekusi algoritma Hitung. Rata 2 : T(n) = t 1 + t 2 + t 3 = 24 a + 20 b + c
CONTOH KASUS (Menghitung Rata-Rata) Input Array dengan n buah elemen : |a 1 |a 2 |a 3 . . . An Procedure Hitung. Rata 2(input a 1, a 2, …, an : integer, output rata 2 : real) Deklarasi k, n : integer jumlah : real Algoritma input(n) jumlah 0 k 1 while k < n do jumlah + ak k k + 1 endwhile rata 2 jumlah / n
a. Operasi Pengisian Nilai SINTAK JUMLAH input(n) 1 jumlah 0 1 k 1 1 jumlah + ak N k k + 1 N rata 2 jumlah / n 1 TOTAL 4 + 2 n b. Operasi Penjumlahan SINTAK JUMLAH jumlah + ak n k + 1 n TOTAL 2 n
c. Operasi Pembagian SINTAK jumlah / n TOTAL JUMLAH 1 1 Total kebutuhan waktu eksekusi algoritma Hitung. Rata 2 : T(n) = t 1 + t 2 + t 3 = (4 + 2 n)a + (2 n)b + c
Tapi, terdapat masalah pada perhitungan di atas, karena : - Tiap komputer punya kecepatan akses yang berbeda. - Jadi, tidak ada informasi pasti mengenai waktu yang dibutuhkan dalam eksekusi suatu operasi dasar. Diperlukan : - Model yang independen terhadap spesifikasi mesin & compiler tertentu.
Berapa lama waktu untuk menjalankan algoritma dengan input yang 2 kali lebih besar? misalnya, kita punya C(n) = ½ n (n – 1) dari suatu algoritma. . .
RUNNING TIME T(n) ≈ Cop C(n) Cop = Waktu Eksekusi operasi dasar di suatu komputer C(n) = Jumlah operasi dasar di suatu algoritma T(n) = Waktu Eksekusi suatu algoritma (Running Time)
RUNNING TIME Untuk : T(2 n) = 4 x T(n) Cop (kecepatan akses) & Konstanta Pengali (1/2) diabaikan. Diperoleh perhitungan yang independen
RUNNING TIME Untuk :
CONTOH KASUS (Menghitung Rata-Rata) Input Array dengan n buah elemen : |a 1 |a 2 |a 3 . . . An Procedure Hitung. Rata 2(input a 1, a 2, …, an : integer, output rata 2 : real) Deklarasi k : integer jumlah : real Algoritma input(n) jumlah 0 k 1 while k < n do jumlah + ak k k + 1 endwhile rata 2 jumlah / n
Operasi Utama, cirinya : - Paling dalam - Paling banyak dikerjakan Operasi Mendasar algoritma Hitung. Rata 2 adalah Penjumlahan, yaitu : jumlah + ak Maka, kompleksitas waktu untuk algoritma Hitung. Rata 2 : T(n) = n
WORST, BEST, AVERAGE Untuk beberapa algoritma tertentu, kompleksitas waktu dibagi 3 : Worst – case efficiency [Tmax (n)] Kompleksitas dengan jumlah paling besar. Best – case efficiency [Tmin (n)] Kompleksitas dengan jumlah paling kecil. Average – case efficiency [Tavg (n)] Kompleksitas dengan jumlah rata-rata keseluruhan kemungkinan
CONTOH KASUS (Sequential Search) Procedure Seq. Search(input a 1, a 2, …, an : integer, x : integer, output idx : integer) Deklarasi k : integer ketemu : boolean Algoritma x 8 n 10 k 1 ketemu false while (k < n) and (not ketemu) do if ak = x then ketemu true else k k + 1 endif endwhile if ketemu then idx k else idx 0 endif
- Worst-case : jika (a 1 = x) - Best-case ditemukan) - Average-case kali. : jika x ditemukan pada posisi j, maka perbandingan dieksekusi sebanyak j
Ada Pertanyaan ? ? ?
TUGAS Tugas Perorangan (Tulis tangan) : - Cari 3 buah algoritma ! - Analisis kompleksitas setiap algoritma tersebut !
- Intake kkm
- Kompleksitas algoritma dianalisis untuk kasus
- Asymptotic notation exercises
- Pengertian algoritma brute force
- Kompleksitas algoritma adalah
- Kompleksitas algoritma
- Cara menghitung kompleksitas algoritma
- Notasi erd
- Mata kuliah pip
- Modul flowchart
- Daftar dosen fitk uin walisongo 2019
- Satuan acara perkuliahan
- Kontrak perkuliahan
- Apa pengertian ringkasan
- Materi analisis sosial
- Materi pkn kelas 2
- Muatan materi pkn sd
- Pengertian dependecy ratio adalah angka menunjukkan
- Materi analisis laporan keuangan pemerintah daerah
- Materi analisis volumetri
- Merintis usaha baru
- Kompleksitas
- Dimensi organisasi adalah
- Dimensi kompleksitas adalah
- Bab 10 analisis risiko: analisis rasio
- Analisis cross section
- Analisis jabatan dan analisis beban kerja guru
- Analisis yang mempertajam analisis rasio dengan memisahkan
- Contoh nisbah keberuntungan
- Algoritma adalah
- Desain analisis algoritma
- Ken charles barger
- Mojoworld generator
- Ken youssefi
- Kenneth ott ecommerce