• Tidak ada hasil yang ditemukan

Pemrograman Berorientasi Objek ... - UNIKOM Kuliah Online

N/A
N/A
Protected

Academic year: 2023

Membagikan "Pemrograman Berorientasi Objek ... - UNIKOM Kuliah Online"

Copied!
21
0
0

Teks penuh

(1)

MATERI PERKULIAHAN

ANALISIS ALGORITMA

ANALISA MATEMATIS

3

Ken Kinanti Purnamasari

(2)

NON-REKURSIF

(3)

Langkah Analisis Algoritma

1. Tentukan parameter ukuran input.

2. Tentukan operasi dasar.

(biasanya terletak di iterasi paling dalam)

3. Perhatikan apakah butuh worst, average, dan best-case.

(jika jumlah eksekusi tidak hanya tergantung pada

ukuran input, maka worst, average, dan best-case perlu dihitung)

4. Tentukan jumlah eksekusi operasi dasar.

5. Temukan fungsi OoG algoritma.

(dengan menggunakan formula dan manipulasi penjumlahan)

(4)

Formula Penjumlahan

dimana lower [l] < upper [u]

(5)

Manipulasi Penjumlahan

(6)

CONTOH KASUS 1 (Menghitung Nilai Maksimum Array)

Input Array dengan n buah elemen :

|a0 |a2 |a3 ... An-1

Program Maksimum(input a0,a2,…,an-1 : integer, output max : integer)

Deklarasi

maks, i : integer Algoritma

maks A[0]

for i 1 to n – 1 do if A[i] > maks then

maks A[i]

endif

(7)

CONTOH KASUS 1 (Menghitung Nilai Maksimum Array)

Operasi Dasar utama : A[1] > max Dilakukan 1 kali di setiap kali iterasi.

Mulai dari i = 1 sampai n-1 .

Maka,

(8)

CONTOH KASUS 2 (Menguji keunikan data dalam array)

Input Array dengan n buah elemen :

|a1 |a2 |a3 ... An

Program Unik(input a1,a2,…,an: integer, output unik: boolean) Deklarasi

i, j, n : integer Algoritma

n 10

for i 0 to n – 2 do

for j i + 1 to n – 1 do if A[i] = A[j] then

unik false endif

endfor

(9)

CONTOH KASUS 2 (Menguji keunikan data dalam array) - Parameter input : n

- Operasi Dasar : perbandingan A[i] dan A[j]

- Perhitungan : worst-case

- Jumlah eksekusi & Fungsi Algoritma

(10)

CONTOH KASUS 3 (Perkalian Matriks)

Program Matriks(input A,B : array[0..n-1,0..n-1] of integer, output C : array[0..n-1,0..n-1] of integer)

Deklarasi

i, j, k, n : integer Algoritma

n 10

for i 0 to n – 1 do

for j 0 to n – 1 do C[i,j] 0.0

for k 0 to n – 1 do

C[i,j] C[i,j] + A[i,k] * B[k,j]

endfor endfor

(11)

- Parameter input : n

- Operasi Dasar : perkalian dan penjumlahan - Jumlah eksekusi & Fungsi Algoritma

Perkalian

Perkalian & Penjumlahan

CONTOH KASUS 3 (Perkalian Matriks)

(12)

CONTOH KASUS 4

(Menghitung jumlah digit biner suatu desimal)

Program HitungDigit(input x : integer, output jum: integer) Deklarasi

jum, x : integer Algoritma

jum 1

while x > 1 do jum jum + 1 x x / 2

endwhile

(13)

REKURSIF

(14)

Langkah Analisis Algoritma

1. Tentukan parameter ukuran input.

2. Tentukan operasi dasar.

3. Perhatikan apakah butuh worst, average, dan best-case.

jika jumlah eksekusi suatu operasi dasar bervariasi untuk berbagai input berukuran sama, maka dibutuhkan

perhitungan worst, average, dan best-case.

4. Tentukan hubungan recurrence, dengan sebuah kondisi awal, untuk jumlah waktu operasi dasar dieksekusi.

5. Selesaikan recurrence atau, setidaknya pastikan OoG dari

(15)

CONTOH KASUS 1 (Menghitung Fungsi Faktorial)

Program Faktorial(input x : integer, output hasil : integer) Deklarasi

Algoritma

if x = 0 then hasil 1 else

hasil Faktorial (x-1) * x endif

(16)

CONTOH KASUS 1 (Menghitung Fungsi Faktorial) Operasi Dasar utama : perkalian

F(n) = F(n-1)*n untuk n > 0

(17)

CONTOH KASUS 2 (Tower of Hanoi)

(18)

CONTOH KASUS 2 (Tower of Hanoi)

(19)

CONTOH KASUS 2 (Tower of Hanoi)

(20)

CONTOH KASUS 3 (Menghitung Jumlah Digit Biner)

Program Digit(input x : integer, output hasil : integer) Deklarasi

Algoritma

if x = 1 then hasil 1 else

hasil Digit (x/2) + 1 endif

(21)

Ada Pertanyaan???

Ada Pertanyaan???

Referensi

Dokumen terkait

Dosen Ken Kinanti Purnamasari Chat FB / Messenger Ken Kinanti Purnamasari Materi Online kuliahonline.unikom.ac.id TK - 2019... Compilers Principles, Techniques, and

Error Recovery Mengembalikan compiler ke kondisi stabil supaya dapat melanjutkan proses Beberapa strategi yang digunakan : - Mekanisme Ad Hoc - Syntax Directed Recovery - Secondary

Reaksi Kompilator - Reaksi yang dapat diterima  Recovery/Memulihkan suatu kesalahan, kemudian menemukan error lainnya jika ada  Repair/Memperbaiki kesalahan, kemudian

Error Recovery Mengembalikan compiler ke kondisi stabil supaya dapat melanjutkan proses Beberapa strategi yang digunakan : - Mekanisme Ad Hoc - Syntax Directed Recovery - Secondary

Brute-Force Selection Sort CONTOH KASUS 1 Diberikan n buah bilangan bulat yang dinyatakan sebagai a0, a2, …, an-1.. Urutkan bilangan-bilangan tersebut secara

Konversi indeks hanya digunakan apabila perubahan dimensi pada larik membuat algoritma menjadi sangat kompleks... ~ Matriks M merupakan larik 2 dimensi matriks berukuran berorde mxn

Prinsip Optimalitas “ Jika solusi total optimal, maka bagian solusi sampai tahap ke-k juga optimal ” Cost[k + 1] = Cost[k] + Cost[k] ke [k+1] Dynamic Programming... Karakter

Setiap obyek dibangun dari sekumpulan data atribut yang disebut variabel untuk menjabarkan karakteristik khusus dari obyek, dan juga terdiri dari sekumpulan method yang menjabarkan