MATERI PERKULIAHAN ANALISIS ALGORITMA

Slides:



Advertisements
Presentasi serupa
Pencarian ( Searching)
Advertisements

Desain Dan Analisis Algoritma
Kompleksitas Algoritma
Algoritma dan Struktur Data
STRUKTUR DASAR ALGORITMA
7. PENJUMLAHAN DUA BUAH MATRIKS
PERTEMUAN 6 Algoritma Presented by : Sity Aisyah, M.Kom
PENGURUTAN (SORTING).
Searching Alpro-2.
Pengantar Algoritma.
LOGIKA DAN ALGORITMA - PERTEMUAN 8 - REKURSI.
PENCARIAN (SEARCHING)
LOGIKA ALGORITMA Pertemuan 6.
Urutan (Sequence) Ery Setiyawan Jullev A.
Notasi Algoritma.
Algoritma dan Struktur Data
Algoritma dan Pemrograman
Algoritma dan Struktur Data
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
PERTEMUAN 2 PENGERTIAN DASAR LOGIKA DAN ALGORITMA.
1 Nama Kelompok : Doddy Setiawan Moh. Abdul Latief Yosep Pangky ALGORITMA MERGE SORT.
Pertemuan-2 Kriteria kebaikan suatu algoritme Correctness
Pertemuan 10 DIVIDE And CONQUER Lanjutan ….
Analisa Algoritma Running Time.
PART 6 Algoritma DOSEN : AHMAD APANDI, ST.
Algoritma Brute Force Oleh: Muhammad Musta’in ( )
Array (bagian 2).
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
Algoritma Pencarian (searching)
Kompleksitas Algoritma
Algoritma Bruteforce Team Fasilkom.
Dasar Algoritma dan Pemrograman
CSG3F3/ Desain dan Analisis Algoritma
Algoritma dan Pemrograman Searching
CSG523/ Desain dan Analisis Algoritma
Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir
Pencarian pada Array Tim PHKI Modul Dasar Pemrograman
MATERI PERKULIAHAN ANALISIS ALGORITMA
STRUKTUR DASAR ALGORITMA
CSG523/ Desain dan Analisis Algoritma
STRUKTUR DASAR ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
PENGURUTAN (SORTING).
CSG523/ Desain dan Analisis Algoritma
MATERI PERKULIAHAN ANALISIS ALGORITMA
Kompleksitas Algoritma
PART 6 Algoritma DOSEN : AHMAD APANDI, ST.
Array 1.
Faktor analisa algoritma
Algoritma & Pemrograman 1
Analisis Algoritma dan Struktur Data
Analisis dan Perancangan Algoritma Kuliah 4 : Asymptotic pd Kasus
Teknik Informatika Politeknik Negeri Batam
Algoritma & Pemrograman 1
SEARCHING (PENCARIAN)
Algoritma & Pemrograman 1
ALGORITMA DAN PEMROGRAMAN III
Algoritma dan Pemrograman Searching
Strategi Algoritma Kuliah 3 : Algoritma Efisien
Algoritma Brute Force.
UJIAN TERDIRI ATAS 50 SOAL
Kompleksitas Algoritma
Analisa algoritma rekursif
Pencarian (searching)
Dr. Mufid Nilmada, SSi., MMSI
Analisis Algoritma E. Haodudin Nurkifli Teknik Informatika
Kuliah 1-2 (Algoritma) Pseudocode Prosedure dan Fungsi
Transcript presentasi:

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 memahaminya dengan tepat secara menyeluruh.

MENGAPA DIANALISIS ? Algoritma dianalisis untuk melihat seberapa efisien suatu algoritma menggunakan resource (waktu & memori).

KOMPLEKSITAS ALGORITMA

Pengaruh signifikan dari efisiensi 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)

Efisiensi WAKTU atau MEMORI ? 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 ( - , + , * , / )

CONTOH KASUS (Menghitung Rata-Rata) Input Array dengan n buah elemen : |a1 |a2 |a3 ... An Procedure HitungRata2(input a1,a2,…,an : integer, output rata2 : real) Deklarasi k, n : integer jumlah : real Algoritma n  10 jumlah  0 k  1 while k < n do jumlah  jumlah + ak k  k + 1 endwhile rata2  jumlah / n

Operasi Pengisian Nilai Operasi Penjumlahan SINTAK JUMLAH n  10 1 jumlah  0 k  1 jumlah  jumlah + ak N k  k + 1 rata2  jumlah / n TOTAL 4 + 2n SINTAK JUMLAH jumlah + ak n k + 1 TOTAL 2n

Total kebutuhan waktu eksekusi algoritma HitungRata2 : Operasi Pembagian Total kebutuhan waktu eksekusi algoritma HitungRata2 : Total Waktu = t1 + t2 + t3 = (4 + 2n)a + (2n)b + c SINTAK JUMLAH jumlah / n 1 TOTAL

Cara demikian kurang berguna, 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.

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)

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)

Diperoleh perhitungan yang independen RUNNING TIME Untuk : T(2n) = 4 x T(n) Cop (kecepatan akses) & Konstanta Pengali (1/2) diabaikan. Diperoleh perhitungan yang independen

CONTOH KASUS (Menghitung Rata-Rata) Input Array dengan n buah elemen : |a1 |a2 |a3 ... An Procedure HitungRata2(input a1,a2,…,an : integer, output rata2 : real) Deklarasi k : integer jumlah : real Algoritma jumlah  0 k  1 while k < n do jumlah  jumlah + ak k  k + 1 endwhile rata2  jumlah / n

Operasi Mendasar adalah Penjumlahan, yaitu : jumlah  jumlah + ak Maka, kompleksitas waktu untuk algoritma HitungRata2 : T(n) = n

WORST, BEST, AVERAGE Worst – case efficiency [Tmax (n)] 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 SeqSearch(input a1,a2,…,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 idx  0

Worst-case : jika (a1 = x) Best-case : jika (an = x) atau (x tidak ditemukan) Average-case : jika x ditemukan pada posisi j, maka perbandingan dieksekusi sebanyak j kali.

Ada Pertanyaan???

TUGAS Tugas Perorangan (Tulis tangan) : Cari 3 buah algoritma ! Analisis kompleksitas setiap algoritma tersebut !