SlideShare a Scribd company logo
Kompleksitas Algoritma 
Bekerjasama dengan 
Rinaldi Munir
Model Perhitungan Kebutuhan Waktu 
•Menghitung kebutuhan waktu algoritma dengan mengukur waktu sesungguhnya (dalam satuan detik) ketika algoritma dieksekusi oleh komputer bukan cara yang tepat. 
•Alasan: 
1. Setiap komputer dengan arsitektur berbeda mempunyai bahasa mesin yang berbeda  waktu setiap operasi antara satu komputer dengan komputer lain tidak sama. 
2. Compiler bahasa pemrograman yang berbeda menghasilkan kode mesin yang berbeda  waktu setiap operasi antara compiler dengan compiler lain tidak sama.
•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.
•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.
•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.
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.
Contoh operasi khas di dalam algoritma 
•Algoritma pencarian di dalam larik 
Operasi khas: perbandingan elemen larik 
•Algoritma pengurutan 
Operasi khas: perbandingan elemen, pertukaran elemen 
•Algoritma penjumlahan 2 buah matriks 
Operasi khas: penjumlahan 
•Algoritma perkalian 2 buah matriks 
Operasi khas: perkalian dan penjumlahan
•Contoh 1. Tinjau algoritma menghitung rerata sebuah larik (array). 
sum 0 
for i  1 to n do 
sum  sum + a[i] 
endfor 
rata_rata  sum/n 
•Operasi yang mendasar pada algoritma tersebut adalah operasi penjumlahan elemen-elemen ai (yaitu sumsum+a[i]) yang dilakukan sebanyak n kali. 
•Kompleksitas waktu: T(n) = n.
Contoh 2. Algoritma untuk mencari elemen terbesar di dalam sebuah larik (array) yang berukuran n elemen. procedure CariElemenTerbesar(input a1, a2, ..., an : integer, output maks : integer) { Mencari elemen terbesar dari sekumpulan elemen larik integer a1, a2, ..., an. Elemen terbesar akan disimpan di dalam maks. Masukan: a1, a2, ..., an Keluaran: maks (nilai terbesar) } Deklarasi k : integer Algoritma maksa1 k2 while k  n do if ak > maks then maksak endif ii+1 endwhile { k > n } Kompleksitas waktu algoritma dihitung berdasarkan jumlah operasi perbandingan elemen larik (A[i] > maks). Kompleksitas waktu CariElemenTerbesar : T(n) = n – 1.
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
Contoh 3. Algoritma sequential search. 
procedure PencarianBeruntun(input a1, a2, ..., an : integer, x : integer, 
output idx : integer) 
Deklarasi 
k : integer 
ketemu : boolean { bernilai true jika x ditemukan atau false jika x 
tidak ditemukan } 
Algoritma: 
k1 
ketemu  false 
while (k  n) and (not ketemu) do 
if ak = x then 
ketemutrue 
else 
k  k + 1 
endif 
endwhile 
{ k > n or ketemu } 
if ketemu then { x ditemukan } 
idxk 
else 
idx 0 { x tidak ditemukan } 
endif
Jumlah operasi perbandingan elemen tabel: 
1. Kasus terbaik: ini terjadi bila a1 = x. 
Tmin(n) = 1 
2. Kasus terburuk: bila an = x atau x tidak ditemukan. 
Tmax(n) = n 
3. Kasus rata-rata: Jika x ditemukan pada posisi ke-j, maka operasi 
perbandingan (ak = x)akan dieksekusi sebanyak j kali. 
Tavg(n) = 
2 
( 1) 
(1 ) 
2 
1 
(1 2 3 ... )  
 
 
 
    n 
n 
n n 
n 
n
Cara lain: asumsikan bahwa P(aj = x) = 1/n. Jika aj = x maka Tj yang dibutuhkan adalah Tj = j. Jumlah perbandingan elemen larik rata-rata: Tavg(n) =    njjnjjnjjTnnTXjAPT11111)][( =  njjn11= 21) 2)1( ( 1  nnnn
Contoh 4. Algoritma pencarian biner (bynary search). 
procedure PencarianBiner(input a1, a2, ..., an : integer, x : integer, 
output idx : integer) 
Deklarasi 
i, j, mid : integer 
ketemu : boolean 
Algoritma 
i1 
jn 
ketemufalse 
while (not ketemu) and ( i  j) do 
mid  (i+j) div 2 
if amid = x then 
ketemu  true 
else 
if amid < x then { cari di belahan kanan } 
imid + 1 
else { cari di belahan kiri } 
jmid - 1; 
endif 
endif 
endwhile 
{ketemu or i > j } 
if ketemu then 
idxmid 
else 
idx0 
endif
1. Kasus terbaik 
Tmin(n) = 1 
2. Kasus terburuk: 
Tmax (n) = 2log n + 1
Contoh 5. Algoritma pengurutan seleksi (selection sort). 
procedure Urut(input/output a1, a2, ..., an : integer) 
Deklarasi 
i, j, imaks, temp : integer 
Algoritma 
for in downto 2 do { pass sebanyak n – 1 kali } 
imaks1 
for j2 to i do 
if aj > aimaks then 
imaksj 
endif 
endfor 
{ pertukarkan aimaks dengan ai } 
tempai 
aiaimaks 
aimakstemp 
endfor
(i) Jumlah operasi perbandingan elemen 
Untuk setiap pass ke-i, 
i = n  jumlah perbandingan = n – 1 
i = n – 1  jumlah perbandingan = n – 2 
i = n – 2  jumlah perbandingan = n – 3 
 
i = 2  jumlah perbandingan = 1 
Jumlah seluruh operasi perbandingan elemen-elemen larik adalah 
T(n) = (n – 1) + (n – 2) + … + 1 =  
 
 
 
  
1 
1 2 
n ( 1) 
i 
n n 
n k 
Ini adalah kompleksitas waktu untuk kasus terbaik dan terburuk, 
karena algoritma Urut tidak bergantung pada batasan apakah data 
masukannya sudah terurut atau acak.
(ii) Jumlah operasi pertukaran 
Untuk setiap i dari 1 sampai n – 1, terjadi satu kali pertukaran 
elemen, sehingga jumlah operasi pertukaran seluruhnya adalah 
T(n) = n – 1. 
Jadi, algoritma pengurutan seleksi membutuhkan n(n – 1 )/2 buah 
operasi perbandingan elemen dan n – 1 buah operasi pertukaran.
Latihan 
procedure Kali(input x:integer, n:integer, output jumlah : integer) 
{Mengalikan x dengan i = 1, 2, …, j, yang dalam hal ini j = n, n/2, n/4, …,1 
Masukan: x dan n (n adalah perpangakatan dua). 
Keluaran: hasil perkalian (disimpan di dalam peubah jumlah). 
} 
Deklarasi 
i, j, k : integer 
Algoritma 
j  n 
while j  1 do 
for i  1 to j do 
x  x * i 
endfor 
j  d div 2 
endwhile 
{ j > 1 } 
jumlahx 
• Contoh 6. Hitung kompleksitas waktu algoritma berikut berdasarkan 
jumlah operasi kali.
Jawaban 
•Untuk 
j = n, jumlah operasi perkalian = n 
j = n/2, jumlah operasi perkalian = n/2 
j = n/4, jumlah operasi perkalian = n/4 
… 
j = 1, jumlah operasi perkalian = 1 
Jumlah operasi perkalian seluruhnya adalah 
= n + n/2 + n/4 + … + 2 + 1  deret geometri 
= )1(2211)21( 12log     nnn

More Related Content

What's hot

Interpolasi lagrange dan newton
Interpolasi lagrange dan newtonInterpolasi lagrange dan newton
Interpolasi lagrange dan newton
Yuni Dwi Utami
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiZombie Black
 
Matematika Diskrit matriks relasi-dan_fungsi
Matematika Diskrit  matriks relasi-dan_fungsiMatematika Diskrit  matriks relasi-dan_fungsi
Matematika Diskrit matriks relasi-dan_fungsi
Siti Khotijah
 
Interpolasi Newton
Interpolasi  NewtonInterpolasi  Newton
Interpolasi Newton
Ratih Vihafsari
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
Siti Khotijah
 
Relasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali CartesiusRelasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali Cartesius
Eman Mendrofa
 
ANALISIS REAL
ANALISIS REALANALISIS REAL
ANALISIS REAL
Sigit Rimba Atmojo
 
Geometri analitik ruang
Geometri analitik ruangGeometri analitik ruang
Geometri analitik ruang
Edhy Suadnyanayasa
 
Integral Garis
Integral GarisIntegral Garis
Integral Garis
Kelinci Coklat
 
Teori bilangan
Teori bilanganTeori bilangan
Teori bilanganUjang Kbm
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksi
muhamadaulia3
 
Pengantar metode numerik
Pengantar metode numerikPengantar metode numerik
Pengantar metode numerik
putra_andy
 
Matematika Diskrit - 06 relasi dan fungsi - 05
Matematika Diskrit - 06 relasi dan fungsi - 05Matematika Diskrit - 06 relasi dan fungsi - 05
Matematika Diskrit - 06 relasi dan fungsi - 05
KuliahKita
 
Turunan Fungsi Kompleks
Turunan Fungsi KompleksTurunan Fungsi Kompleks
Turunan Fungsi Kompleks
RochimatulLaili
 
Bab 2 Fungsi ( Kalkulus 1 )
Bab 2 Fungsi ( Kalkulus 1 )Bab 2 Fungsi ( Kalkulus 1 )
Bab 2 Fungsi ( Kalkulus 1 )
Kelinci Coklat
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
ahmad haidaroh
 
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Onggo Wiryawan
 

What's hot (20)

Interpolasi lagrange dan newton
Interpolasi lagrange dan newtonInterpolasi lagrange dan newton
Interpolasi lagrange dan newton
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsi
 
Jaringan hebb
Jaringan hebbJaringan hebb
Jaringan hebb
 
Matematika Diskrit matriks relasi-dan_fungsi
Matematika Diskrit  matriks relasi-dan_fungsiMatematika Diskrit  matriks relasi-dan_fungsi
Matematika Diskrit matriks relasi-dan_fungsi
 
Interpolasi Newton
Interpolasi  NewtonInterpolasi  Newton
Interpolasi Newton
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
Relasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali CartesiusRelasi dan Hasil Kali Cartesius
Relasi dan Hasil Kali Cartesius
 
ANALISIS REAL
ANALISIS REALANALISIS REAL
ANALISIS REAL
 
Geometri analitik ruang
Geometri analitik ruangGeometri analitik ruang
Geometri analitik ruang
 
Integral Garis
Integral GarisIntegral Garis
Integral Garis
 
Teori bilangan
Teori bilanganTeori bilangan
Teori bilangan
 
Contoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksiContoh soal dan penyelesaian metode biseksi
Contoh soal dan penyelesaian metode biseksi
 
Pengantar metode numerik
Pengantar metode numerikPengantar metode numerik
Pengantar metode numerik
 
Matematika Diskrit - 06 relasi dan fungsi - 05
Matematika Diskrit - 06 relasi dan fungsi - 05Matematika Diskrit - 06 relasi dan fungsi - 05
Matematika Diskrit - 06 relasi dan fungsi - 05
 
Turunan Fungsi Kompleks
Turunan Fungsi KompleksTurunan Fungsi Kompleks
Turunan Fungsi Kompleks
 
Teori bilangan
Teori bilanganTeori bilangan
Teori bilangan
 
Bab 2 Fungsi ( Kalkulus 1 )
Bab 2 Fungsi ( Kalkulus 1 )Bab 2 Fungsi ( Kalkulus 1 )
Bab 2 Fungsi ( Kalkulus 1 )
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
relasi himpunan
relasi himpunanrelasi himpunan
relasi himpunan
 
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
Relasi rekursi (2) : Menentukan solusi relasi Rekursi Linier Homogen Berkoefi...
 

Viewers also liked

Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04
KuliahKita
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
Icha Dicaprio
 
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
said zulhelmi
 
Analisis algoritma
Analisis algoritmaAnalisis algoritma
Analisis algoritma
Jayner Wennyi
 
Struktur Kontrol
Struktur KontrolStruktur Kontrol
Struktur Kontrol
Icha Dicaprio
 
Desain dan analisis algoritma
Desain dan analisis algoritmaDesain dan analisis algoritma
Desain dan analisis algoritma
Diki Rosandy
 
Algoritma dan Struktur Data - Binary Search
Algoritma dan Struktur Data - Binary SearchAlgoritma dan Struktur Data - Binary Search
Algoritma dan Struktur Data - Binary Search
KuliahKita
 
Algorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma PengurutanAlgorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma Pengurutan
Dudy Ali
 
Sistem pakar diagnosis jantung [autosaved]
Sistem pakar diagnosis jantung [autosaved]Sistem pakar diagnosis jantung [autosaved]
Sistem pakar diagnosis jantung [autosaved]Muhammad Syafri
 
Algoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerAlgoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian biner
Georgius Rinaldo
 
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)Listyowatik (Yanie)
 
Konsep algoritma pemograman
Konsep algoritma pemogramanKonsep algoritma pemograman
Konsep algoritma pemograman
Choirul Anam Ardenbal
 
Pengantar SQL
Pengantar SQLPengantar SQL
Pengantar SQL
Arri Widyanto
 
Modul pengajaran analisa perancangan sistem informasi
Modul pengajaran analisa perancangan sistem informasiModul pengajaran analisa perancangan sistem informasi
Modul pengajaran analisa perancangan sistem informasi
Apriyanto_apo
 
Algoritma dan pemprograman-pertemuan 1
Algoritma dan pemprograman-pertemuan 1Algoritma dan pemprograman-pertemuan 1
Algoritma dan pemprograman-pertemuan 1
azis syah
 
Algoritma Pemrograman - Variabel, Konstanta & Tipe Data
Algoritma Pemrograman - Variabel, Konstanta & Tipe DataAlgoritma Pemrograman - Variabel, Konstanta & Tipe Data
Algoritma Pemrograman - Variabel, Konstanta & Tipe Data
Institut Sains dan Teknologi Nasional
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit
KuliahKita
 

Viewers also liked (20)

Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04Matematika Diskrit - 11 kompleksitas algoritma - 04
Matematika Diskrit - 11 kompleksitas algoritma - 04
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
 
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
 
Analisis algoritma
Analisis algoritmaAnalisis algoritma
Analisis algoritma
 
Struktur Kontrol
Struktur KontrolStruktur Kontrol
Struktur Kontrol
 
Desain dan analisis algoritma
Desain dan analisis algoritmaDesain dan analisis algoritma
Desain dan analisis algoritma
 
Algoritma dan Struktur Data - Binary Search
Algoritma dan Struktur Data - Binary SearchAlgoritma dan Struktur Data - Binary Search
Algoritma dan Struktur Data - Binary Search
 
Algorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma PengurutanAlgorithm & Data Structure - Algoritma Pengurutan
Algorithm & Data Structure - Algoritma Pengurutan
 
Sistem pakar diagnosis jantung [autosaved]
Sistem pakar diagnosis jantung [autosaved]Sistem pakar diagnosis jantung [autosaved]
Sistem pakar diagnosis jantung [autosaved]
 
Algoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerAlgoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian biner
 
UML
UMLUML
UML
 
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
 
Konsep algoritma pemograman
Konsep algoritma pemogramanKonsep algoritma pemograman
Konsep algoritma pemograman
 
Web programming
Web programmingWeb programming
Web programming
 
Pengantar SQL
Pengantar SQLPengantar SQL
Pengantar SQL
 
Fungsi-Fungsi PHP
Fungsi-Fungsi PHPFungsi-Fungsi PHP
Fungsi-Fungsi PHP
 
Modul pengajaran analisa perancangan sistem informasi
Modul pengajaran analisa perancangan sistem informasiModul pengajaran analisa perancangan sistem informasi
Modul pengajaran analisa perancangan sistem informasi
 
Algoritma dan pemprograman-pertemuan 1
Algoritma dan pemprograman-pertemuan 1Algoritma dan pemprograman-pertemuan 1
Algoritma dan pemprograman-pertemuan 1
 
Algoritma Pemrograman - Variabel, Konstanta & Tipe Data
Algoritma Pemrograman - Variabel, Konstanta & Tipe DataAlgoritma Pemrograman - Variabel, Konstanta & Tipe Data
Algoritma Pemrograman - Variabel, Konstanta & Tipe Data
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit
 

Similar to Matematika Diskrit - 11 kompleksitas algoritma - 02

Matematika Diskrit 4.pdf
Matematika Diskrit 4.pdfMatematika Diskrit 4.pdf
Matematika Diskrit 4.pdf
GunkSatria1
 
Bahan Kuliah Analisis Algoritma Materi Kompleksitas Algoritma
Bahan Kuliah Analisis Algoritma Materi Kompleksitas AlgoritmaBahan Kuliah Analisis Algoritma Materi Kompleksitas Algoritma
Bahan Kuliah Analisis Algoritma Materi Kompleksitas Algoritma
mohfajar1343
 
Algoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.pptAlgoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.ppt
ELDONIMOSUL1
 
EFFICIENCY & Complexity.pptx
EFFICIENCY & Complexity.pptxEFFICIENCY & Complexity.pptx
EFFICIENCY & Complexity.pptx
nurnur469094
 
Materi 2 Kompleksitas Waktu dan Ruang (2).pdf
Materi 2 Kompleksitas Waktu dan Ruang (2).pdfMateri 2 Kompleksitas Waktu dan Ruang (2).pdf
Materi 2 Kompleksitas Waktu dan Ruang (2).pdf
AnandaPrasta
 
Referensi Materi Algoritma Brute Force Bagian 1
Referensi Materi Algoritma Brute Force Bagian 1Referensi Materi Algoritma Brute Force Bagian 1
Referensi Materi Algoritma Brute Force Bagian 1
DEDEALAMSYAHSPd
 
Decrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptxDecrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptx
ArunachalamSelva
 
Algoritma-Greedy- Untuk Pengambilan Keputusan
Algoritma-Greedy- Untuk Pengambilan KeputusanAlgoritma-Greedy- Untuk Pengambilan Keputusan
Algoritma-Greedy- Untuk Pengambilan Keputusan
NoerisEkaBudiarti
 
Algoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).pptAlgoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).ppt
sayfa3
 
Pengantar strategi algoritma (2015)
Pengantar strategi algoritma (2015)Pengantar strategi algoritma (2015)
Pengantar strategi algoritma (2015)
RikaDewi18
 
Pseudocode
PseudocodePseudocode
Pseudocode
brigidaarie
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingDea Rokhmatun Iradewa
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basic
rahmi wahyuni
 
1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptx1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptx
wikirezi
 
3. Kompleksitas Waktu Asimptotik (Big O).pptx
3. Kompleksitas Waktu Asimptotik (Big O).pptx3. Kompleksitas Waktu Asimptotik (Big O).pptx
3. Kompleksitas Waktu Asimptotik (Big O).pptx
dimaskalbu3
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi Asimptotik
Adam Mukharil Bachtiar
 
Topik 11 Array
Topik 11 ArrayTopik 11 Array
Topik 11 Array
I Komang Agustino
 

Similar to Matematika Diskrit - 11 kompleksitas algoritma - 02 (20)

Matematika Diskrit 4.pdf
Matematika Diskrit 4.pdfMatematika Diskrit 4.pdf
Matematika Diskrit 4.pdf
 
Bahan Kuliah Analisis Algoritma Materi Kompleksitas Algoritma
Bahan Kuliah Analisis Algoritma Materi Kompleksitas AlgoritmaBahan Kuliah Analisis Algoritma Materi Kompleksitas Algoritma
Bahan Kuliah Analisis Algoritma Materi Kompleksitas Algoritma
 
Algoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.pptAlgoritma Brute Force 12345678901112.ppt
Algoritma Brute Force 12345678901112.ppt
 
EFFICIENCY & Complexity.pptx
EFFICIENCY & Complexity.pptxEFFICIENCY & Complexity.pptx
EFFICIENCY & Complexity.pptx
 
Materi 2 Kompleksitas Waktu dan Ruang (2).pdf
Materi 2 Kompleksitas Waktu dan Ruang (2).pdfMateri 2 Kompleksitas Waktu dan Ruang (2).pdf
Materi 2 Kompleksitas Waktu dan Ruang (2).pdf
 
Tistrukdat9
Tistrukdat9Tistrukdat9
Tistrukdat9
 
Referensi Materi Algoritma Brute Force Bagian 1
Referensi Materi Algoritma Brute Force Bagian 1Referensi Materi Algoritma Brute Force Bagian 1
Referensi Materi Algoritma Brute Force Bagian 1
 
Decrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptxDecrease and Conquer in analysis of algorithms.pptx
Decrease and Conquer in analysis of algorithms.pptx
 
Algoritma-Greedy- Untuk Pengambilan Keputusan
Algoritma-Greedy- Untuk Pengambilan KeputusanAlgoritma-Greedy- Untuk Pengambilan Keputusan
Algoritma-Greedy- Untuk Pengambilan Keputusan
 
Algoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).pptAlgoritma-Greedy-(2016).ppt
Algoritma-Greedy-(2016).ppt
 
207 p11
207 p11207 p11
207 p11
 
Pengantar strategi algoritma (2015)
Pengantar strategi algoritma (2015)Pengantar strategi algoritma (2015)
Pengantar strategi algoritma (2015)
 
Pseudocode
PseudocodePseudocode
Pseudocode
 
Algoritma greedy
Algoritma greedyAlgoritma greedy
Algoritma greedy
 
Analisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah SortingAnalisis Algoritma Pada Masalah Sorting
Analisis Algoritma Pada Masalah Sorting
 
Laporan praktikum iii visual basic
Laporan praktikum iii visual basicLaporan praktikum iii visual basic
Laporan praktikum iii visual basic
 
1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptx1. Pengantar Strategi Algoritma.pptx
1. Pengantar Strategi Algoritma.pptx
 
3. Kompleksitas Waktu Asimptotik (Big O).pptx
3. Kompleksitas Waktu Asimptotik (Big O).pptx3. Kompleksitas Waktu Asimptotik (Big O).pptx
3. Kompleksitas Waktu Asimptotik (Big O).pptx
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi Asimptotik
 
Topik 11 Array
Topik 11 ArrayTopik 11 Array
Topik 11 Array
 

More from KuliahKita

CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuCSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup Menu
KuliahKita
 
CSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup KonfirmasiCSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup Konfirmasi
KuliahKita
 
CSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding DoorCSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding Door
KuliahKita
 
CSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card FlipCSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card Flip
KuliahKita
 
CSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordionCSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordion
KuliahKita
 
CSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tabCSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tab
KuliahKita
 
CSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side MenuCSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side Menu
KuliahKita
 
CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbCSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 Breadcrumb
KuliahKita
 
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarCSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasar
KuliahKita
 
CSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox GridCSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox Grid
KuliahKita
 
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutEksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layout
KuliahKita
 
Eksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanEksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 Pendahuluan
KuliahKita
 
07 equity research (bagian 2)
07 equity research (bagian 2)07 equity research (bagian 2)
07 equity research (bagian 2)
KuliahKita
 
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)
KuliahKita
 
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)
KuliahKita
 
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligencePasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due Dilligence
KuliahKita
 
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03
KuliahKita
 
Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02
KuliahKita
 
Pasar Saham -27 financial ratio 01
Pasar Saham -27 financial ratio  01Pasar Saham -27 financial ratio  01
Pasar Saham -27 financial ratio 01
KuliahKita
 
Pasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementPasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow Statement
KuliahKita
 

More from KuliahKita (20)

CSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup MenuCSS Eksperimen - 05-2 Popup Menu
CSS Eksperimen - 05-2 Popup Menu
 
CSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup KonfirmasiCSS Eksperimen - 05-1 Popup Konfirmasi
CSS Eksperimen - 05-1 Popup Konfirmasi
 
CSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding DoorCSS Eksperimen - 04-4 Elemen Sliding Door
CSS Eksperimen - 04-4 Elemen Sliding Door
 
CSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card FlipCSS Eksperimen - 04-3 Elemen Card Flip
CSS Eksperimen - 04-3 Elemen Card Flip
 
CSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordionCSS Eksperimen - 04-2 accordion
CSS Eksperimen - 04-2 accordion
 
CSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tabCSS Eksperimen - 04-1 informasi tab
CSS Eksperimen - 04-1 informasi tab
 
CSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side MenuCSS Eksperimen - 03-3 Slide Side Menu
CSS Eksperimen - 03-3 Slide Side Menu
 
CSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 BreadcrumbCSS Eksperimen - 03-2 Breadcrumb
CSS Eksperimen - 03-2 Breadcrumb
 
CSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasarCSS Eksperimen - 03-1 navigasi dasar
CSS Eksperimen - 03-1 navigasi dasar
 
CSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox GridCSS Eksperimen - 02-2 Flexbox Grid
CSS Eksperimen - 02-2 Flexbox Grid
 
Eksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layoutEksperimen CSS - 02-1 grid layout
Eksperimen CSS - 02-1 grid layout
 
Eksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 PendahuluanEksperimen CSS - 01 Pendahuluan
Eksperimen CSS - 01 Pendahuluan
 
07 equity research (bagian 2)
07 equity research (bagian 2)07 equity research (bagian 2)
07 equity research (bagian 2)
 
Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)Pasar Saham - 32 Discounted Cash Flow (DCF)
Pasar Saham - 32 Discounted Cash Flow (DCF)
 
Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)Pasar Saham - Equity Research (bagian 1)
Pasar Saham - Equity Research (bagian 1)
 
Pasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due DilligencePasar Saham - 30 Investment Due Dilligence
Pasar Saham - 30 Investment Due Dilligence
 
Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03Pasar Saham - 29 Financial Ratio 03
Pasar Saham - 29 Financial Ratio 03
 
Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02Pasar Saham - 28 Financial Ratio 02
Pasar Saham - 28 Financial Ratio 02
 
Pasar Saham -27 financial ratio 01
Pasar Saham -27 financial ratio  01Pasar Saham -27 financial ratio  01
Pasar Saham -27 financial ratio 01
 
Pasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow StatementPasar Saham - 26 Cash Flow Statement
Pasar Saham - 26 Cash Flow Statement
 

Recently uploaded

Matematika diskrit: metode pohon/trees.ppt
Matematika diskrit: metode pohon/trees.pptMatematika diskrit: metode pohon/trees.ppt
Matematika diskrit: metode pohon/trees.ppt
AzrilAld
 
Pembangkit Listrik Tenaga Surya PLTS.pptx
Pembangkit Listrik Tenaga Surya PLTS.pptxPembangkit Listrik Tenaga Surya PLTS.pptx
Pembangkit Listrik Tenaga Surya PLTS.pptx
muhhaekalsn
 
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASASURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
AnandhaAdkhaM1
 
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdfTUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
jayakartalumajang1
 
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptxTUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
indahrosantiTeknikSi
 
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
HADIANNAS
 
COOLING TOWER petrokimia gresik okdong d
COOLING TOWER petrokimia gresik okdong dCOOLING TOWER petrokimia gresik okdong d
COOLING TOWER petrokimia gresik okdong d
delphijean1
 
Daftar Lembaga Penyedia Jasa Linkungan.pdf
Daftar Lembaga Penyedia Jasa Linkungan.pdfDaftar Lembaga Penyedia Jasa Linkungan.pdf
Daftar Lembaga Penyedia Jasa Linkungan.pdf
Tsabitpattipeilohy
 
436102098-0-K3-Elevator-Dan-Eskalator.ppt
436102098-0-K3-Elevator-Dan-Eskalator.ppt436102098-0-K3-Elevator-Dan-Eskalator.ppt
436102098-0-K3-Elevator-Dan-Eskalator.ppt
rhamset
 
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptxRANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
muhammadiswahyudi12
 

Recently uploaded (10)

Matematika diskrit: metode pohon/trees.ppt
Matematika diskrit: metode pohon/trees.pptMatematika diskrit: metode pohon/trees.ppt
Matematika diskrit: metode pohon/trees.ppt
 
Pembangkit Listrik Tenaga Surya PLTS.pptx
Pembangkit Listrik Tenaga Surya PLTS.pptxPembangkit Listrik Tenaga Surya PLTS.pptx
Pembangkit Listrik Tenaga Surya PLTS.pptx
 
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASASURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
SURVEY REKAYASA SURVEY REKAYASA SURVEY REKAYASA
 
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdfTUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
TUGAS pelaksana pekerjaan jalan jenjang empat 4 .pptx -.pdf
 
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptxTUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
TUGAS UJI KOMPETENSI-INDAH ROSANTI-AHLI UTAMA MANAJEMEN KONSTRUKSI.pptx
 
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
Power Point TEMA 7 SUB TEMA 3 Pembelajaran 2
 
COOLING TOWER petrokimia gresik okdong d
COOLING TOWER petrokimia gresik okdong dCOOLING TOWER petrokimia gresik okdong d
COOLING TOWER petrokimia gresik okdong d
 
Daftar Lembaga Penyedia Jasa Linkungan.pdf
Daftar Lembaga Penyedia Jasa Linkungan.pdfDaftar Lembaga Penyedia Jasa Linkungan.pdf
Daftar Lembaga Penyedia Jasa Linkungan.pdf
 
436102098-0-K3-Elevator-Dan-Eskalator.ppt
436102098-0-K3-Elevator-Dan-Eskalator.ppt436102098-0-K3-Elevator-Dan-Eskalator.ppt
436102098-0-K3-Elevator-Dan-Eskalator.ppt
 
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptxRANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
RANGKAIAN LISTRIK MATERI 7 ANALISIS MESH.pptx
 

Matematika Diskrit - 11 kompleksitas algoritma - 02

  • 1. Kompleksitas Algoritma Bekerjasama dengan Rinaldi Munir
  • 2. Model Perhitungan Kebutuhan Waktu •Menghitung kebutuhan waktu algoritma dengan mengukur waktu sesungguhnya (dalam satuan detik) ketika algoritma dieksekusi oleh komputer bukan cara yang tepat. •Alasan: 1. Setiap komputer dengan arsitektur berbeda mempunyai bahasa mesin yang berbeda  waktu setiap operasi antara satu komputer dengan komputer lain tidak sama. 2. Compiler bahasa pemrograman yang berbeda menghasilkan kode mesin yang berbeda  waktu setiap operasi antara compiler dengan compiler lain tidak sama.
  • 3. •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.
  • 4. •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.
  • 5. •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.
  • 6. 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.
  • 7. Contoh operasi khas di dalam algoritma •Algoritma pencarian di dalam larik Operasi khas: perbandingan elemen larik •Algoritma pengurutan Operasi khas: perbandingan elemen, pertukaran elemen •Algoritma penjumlahan 2 buah matriks Operasi khas: penjumlahan •Algoritma perkalian 2 buah matriks Operasi khas: perkalian dan penjumlahan
  • 8. •Contoh 1. Tinjau algoritma menghitung rerata sebuah larik (array). sum 0 for i  1 to n do sum  sum + a[i] endfor rata_rata  sum/n •Operasi yang mendasar pada algoritma tersebut adalah operasi penjumlahan elemen-elemen ai (yaitu sumsum+a[i]) yang dilakukan sebanyak n kali. •Kompleksitas waktu: T(n) = n.
  • 9. Contoh 2. Algoritma untuk mencari elemen terbesar di dalam sebuah larik (array) yang berukuran n elemen. procedure CariElemenTerbesar(input a1, a2, ..., an : integer, output maks : integer) { Mencari elemen terbesar dari sekumpulan elemen larik integer a1, a2, ..., an. Elemen terbesar akan disimpan di dalam maks. Masukan: a1, a2, ..., an Keluaran: maks (nilai terbesar) } Deklarasi k : integer Algoritma maksa1 k2 while k  n do if ak > maks then maksak endif ii+1 endwhile { k > n } Kompleksitas waktu algoritma dihitung berdasarkan jumlah operasi perbandingan elemen larik (A[i] > maks). Kompleksitas waktu CariElemenTerbesar : T(n) = n – 1.
  • 10. 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
  • 11. Contoh 3. Algoritma sequential search. procedure PencarianBeruntun(input a1, a2, ..., an : integer, x : integer, output idx : integer) Deklarasi k : integer ketemu : boolean { bernilai true jika x ditemukan atau false jika x tidak ditemukan } Algoritma: k1 ketemu  false while (k  n) and (not ketemu) do if ak = x then ketemutrue else k  k + 1 endif endwhile { k > n or ketemu } if ketemu then { x ditemukan } idxk else idx 0 { x tidak ditemukan } endif
  • 12. Jumlah operasi perbandingan elemen tabel: 1. Kasus terbaik: ini terjadi bila a1 = x. Tmin(n) = 1 2. Kasus terburuk: bila an = x atau x tidak ditemukan. Tmax(n) = n 3. Kasus rata-rata: Jika x ditemukan pada posisi ke-j, maka operasi perbandingan (ak = x)akan dieksekusi sebanyak j kali. Tavg(n) = 2 ( 1) (1 ) 2 1 (1 2 3 ... )         n n n n n n
  • 13. Cara lain: asumsikan bahwa P(aj = x) = 1/n. Jika aj = x maka Tj yang dibutuhkan adalah Tj = j. Jumlah perbandingan elemen larik rata-rata: Tavg(n) =    njjnjjnjjTnnTXjAPT11111)][( =  njjn11= 21) 2)1( ( 1  nnnn
  • 14. Contoh 4. Algoritma pencarian biner (bynary search). procedure PencarianBiner(input a1, a2, ..., an : integer, x : integer, output idx : integer) Deklarasi i, j, mid : integer ketemu : boolean Algoritma i1 jn ketemufalse while (not ketemu) and ( i  j) do mid  (i+j) div 2 if amid = x then ketemu  true else if amid < x then { cari di belahan kanan } imid + 1 else { cari di belahan kiri } jmid - 1; endif endif endwhile {ketemu or i > j } if ketemu then idxmid else idx0 endif
  • 15. 1. Kasus terbaik Tmin(n) = 1 2. Kasus terburuk: Tmax (n) = 2log n + 1
  • 16. Contoh 5. Algoritma pengurutan seleksi (selection sort). procedure Urut(input/output a1, a2, ..., an : integer) Deklarasi i, j, imaks, temp : integer Algoritma for in downto 2 do { pass sebanyak n – 1 kali } imaks1 for j2 to i do if aj > aimaks then imaksj endif endfor { pertukarkan aimaks dengan ai } tempai aiaimaks aimakstemp endfor
  • 17. (i) Jumlah operasi perbandingan elemen Untuk setiap pass ke-i, i = n  jumlah perbandingan = n – 1 i = n – 1  jumlah perbandingan = n – 2 i = n – 2  jumlah perbandingan = n – 3  i = 2  jumlah perbandingan = 1 Jumlah seluruh operasi perbandingan elemen-elemen larik adalah T(n) = (n – 1) + (n – 2) + … + 1 =       1 1 2 n ( 1) i n n n k Ini adalah kompleksitas waktu untuk kasus terbaik dan terburuk, karena algoritma Urut tidak bergantung pada batasan apakah data masukannya sudah terurut atau acak.
  • 18. (ii) Jumlah operasi pertukaran Untuk setiap i dari 1 sampai n – 1, terjadi satu kali pertukaran elemen, sehingga jumlah operasi pertukaran seluruhnya adalah T(n) = n – 1. Jadi, algoritma pengurutan seleksi membutuhkan n(n – 1 )/2 buah operasi perbandingan elemen dan n – 1 buah operasi pertukaran.
  • 19. Latihan procedure Kali(input x:integer, n:integer, output jumlah : integer) {Mengalikan x dengan i = 1, 2, …, j, yang dalam hal ini j = n, n/2, n/4, …,1 Masukan: x dan n (n adalah perpangakatan dua). Keluaran: hasil perkalian (disimpan di dalam peubah jumlah). } Deklarasi i, j, k : integer Algoritma j  n while j  1 do for i  1 to j do x  x * i endfor j  d div 2 endwhile { j > 1 } jumlahx • Contoh 6. Hitung kompleksitas waktu algoritma berikut berdasarkan jumlah operasi kali.
  • 20. Jawaban •Untuk j = n, jumlah operasi perkalian = n j = n/2, jumlah operasi perkalian = n/2 j = n/4, jumlah operasi perkalian = n/4 … j = 1, jumlah operasi perkalian = 1 Jumlah operasi perkalian seluruhnya adalah = n + n/2 + n/4 + … + 2 + 1  deret geometri = )1(2211)21( 12log     nnn