Anda di halaman 1dari 9

MAKALAH ANALISA DAN DESAIN ALGORITMA

KONSEP DASAR ANALISIS KOMPLEKSITAS ALGORITMA


NON REKURSIF

Makalah ini Diajukan Sebagai Salah Satu Syarat Lulus Matakuliah


Analisa dan Desain Algoritma

NAMA : Bintang Fajar Fadilah


NPM : 211055201005

FAKULTAS TEKNIK

PROGRAM STUDI TEKNIK INFORMATIKA

UNIVERSITAS IBNU SINA

2022
KATA PENGANTAR

Bismillahirrahmaanirrahiim,
Puji syukur kami panjatkan ke kehadirat Allah SWT, atas segala rahmat
dan hidayah Nya, sehingga penulis dapat menyelesaikan makalah yang berjudul :

“KONSEP DASAR ANALISIS KOMPLEKSITAS ALGORITMA


NON REKURSIF”

Makalah disusun untuk memenuhi tugas Matakuliah Analisa dan Desain


Algoritma. Selain itu, makalah ini bertujuan menambah wawasan tentang konsep
dasar analisis kompleksitas algoritma non rekursif bagi para pembaca dan juga
bagi penulis.
Akhirnya dengan segala kerendahan hati, penulis menyadari bahwa masih
banyak kekurangan dan kelemahan yang disebabkan oleh keterbatasan penulis.
Oleh karena itu, kritik dan saran yang bersifat membangun dari pembaca sangat
kami harapkan demi kesempurnaan maklah ini, sehingga makalah ini menjadi
lebih baik dan bermanfaat sehingga dapat memberikan wawasan yang lebih luas
dan dapat menjadi sumbangan pemikiran kepada pembaca khususnya para
mahasiswa Fakultas Teknik Universitas Ibnu Sina Batam.
ANALISIS KOMPLEKSITAS ALGORITMA NON REKURSIF

A. Analisis Kompleksitas Algoritma Non Rekursif


1. Efisiensi Waktu Algoritma Nonrekursif
Langkah-langkah dalam analisis matematis dari algoritma nonrekursif:
a. Tentukan parameter n yang menunjukkan ukuran input.
b. Tentukan operasi dasar algoritma (loop terdalam).
c. Tentukan apakah untuk ukuran input yang sama banyaknya eksekusi
operasi dasar yang dilakukan sama atau berbeda.
d. Tentukan rumus sigma yang menunjukkan berapa kali operasi dasar
dijalankan.
e. Selesaikan rumus sigma untuk menghitung banyaknya operasi dasar
dijalankan.
f. Tentukan g(n) dimana t(n) termasuk salah satu O(g(n)),Ω(g(n)), atau
Ɵ(g(n)).

Contoh :
1. Perkalian Matriks

a. Analisis(1)
b. Analisis(2)

c. Visualisasi
2. Max Element

a. Analisis(1)
b. Visualisasi

2. Pertanyaan
a. Mengapa dalam T(n) ∈ O(n) memakai notasi O? Dan mengapa dalam
manipulasi penjumlahan penting terdapat pernyataan ?
b. Buktikan bahwa T(n)O(2n) ?
c. Apa maksud dari terminal dan body fungsi ?
3. Pembahasan
ORDER OF GROWTH

B. Order of Growth
Tingkat perttumbuhan waktu eksekusi algoritma jika ukuran input
bertambah.
1. Membandingkan Orders of Growth dari dua algoritma :
Algoritma A dan B merupakan algoritma untuk menyelesaikan
permasalahan yang sama. Untuk input berukuran n, waktu eksekusi
algoritma A adalah Ta(n) sedangkan waktu eksekusi algoritma B adalah
Tg(n). Orders of growth mana yang paling besar ?
2. Membandingkan Orders of Growth dari dua algoritma

0 maka O0G Tan) « OOG Tsln)


C maka OoG T,(n) - OoG Tgn)
 maka OoG T,(n) ? OoG Tgln)
3. Kelas- kelas Orders of Growth

C Constant
LogN Logaritmic
N Linier
NlogN -
N2 Quadratic
N 3
cubic
2 N
Exponential
N! factorial
Semakin bawah, OoG nya semakin besar.
4. Sifat-sifat OoG
Misal T(n) = T1(n) + T2(n) + ... + T1(n)
Maka OoG T(n) = max OoG (T1(n), T2(n), ... , T1(n)))
Misal T(n) = cf(n)
Maka OoG T(n) = f(n)

Anda mungkin juga menyukai