Soal Matakuliah Analisis Algoritma

4
Tugas ANALISIS ALGORITMA SOAL : 1. a. jelaskan tujuan dari analisis algoritma? b. jelaskan mengenai worst case, best case, dan average case? 2. Tn = 1/3 + 2/3 + 1 + 4/3 + …… + 1/3n a. Tentukan kompleksitas waktu b. Tentukan big O 3. Terdapat persoalan berikut:Terdapat sekumpulan array bertipe integer, kemudian tentukan total nilainya. a. Jelaskan operasi dasarnya b. Buat algoritmanya c. Tentukan kompleksitas waktu 4. A. Jelaskan karakteristik dari brute force B. apa kelebihan dan kekurangan brute force 5. Terdapat algoritma : for i → 1 to n-1 do for j → n down to n-1 do if ( A [ j ] > A[ j-1 ] ) then temp → A [ j ] A [ j ] → A [ j-1 ] A [ j-1 ] → temp end if end for end for Tentukan Big-O-nya ??

description

Mengerjakan Soal Analisis Algoritma Unikom

Transcript of Soal Matakuliah Analisis Algoritma

Page 1: Soal Matakuliah Analisis Algoritma

Tugas ANALISIS ALGORITMA

SOAL :

1. a. jelaskan tujuan dari analisis algoritma?b. jelaskan mengenai worst case, best case, dan average case?

2. Tn = 1/3 + 2/3 + 1 + 4/3 + …… + 1/3na. Tentukan kompleksitas waktub. Tentukan big O

3. Terdapat persoalan berikut:Terdapat sekumpulan array bertipe integer, kemudian tentukan total nilainya.a. Jelaskan operasi dasarnyab. Buat algoritmanyac. Tentukan kompleksitas waktu

4. A. Jelaskan karakteristik dari brute forceB. apa kelebihan dan kekurangan brute force

5. Terdapat algoritma :for i → 1 to n-1 do for j → n down to n-1 do

if ( A [ j ] > A[ j-1 ] ) thentemp → A [ j ]A [ j ] → A [ j-1 ]A [ j-1 ] → temp

end ifend for

end forTentukan Big-O-nya ??

Page 2: Soal Matakuliah Analisis Algoritma

JAWABAN :

1. a. jelaskan tujuan dari analisis algoritma? Tujuan dari analisa algorithma adalah untuk mengetahui efisiensi algoritma,

baik itu efisiensi waktu dan juga efisiensi storage.b. jelaskan mengenai worst case, best case, dan average case?

Worst-case : kompleksitas waktu untuk waktu terburuk (waktu tempuh bernilai maksimum dari suatu fungsi f(n)) atau Tmax(n)

Best-case : kompleksitas waktu untuk waktu terbaik (kompleksitas waktu yang bernilai minimum dari suatu fungsi f(n)) atau Tmin(n)

Average-case : kompleksitas waktu untuk kasus rata-rata

2. a). Tn = 1/3 + 2/3 + 1+ 4/3+………….+ 1/3 nTn = 1/3 (1+2+3+4+………………….+ n)

1/3. ½ n (n+1) 1/6 n (n+1)

1/6 n2 + 1/6 n Tn = O (n2)

b). 1/6 n2 + 1/6 n ≤ 1/6 n2 + 1/6 n2 1/6 n2 + 1/6 n ≤ 1/3 n2 C = 1/3 , n0= 1 , n ≥ 1

3. a). Menjumlahkan semua nilai dari masing- masing arrayb). tot ← 0 for i ← 1 to n do

tot ← tot + A [i] O(1) endforc). Tn = n . O(1) = O (n)

4. a). Karakteristik Algoritma Brute Force Algoritma brute force umumnya tidak “cerdas” dan tidak mangkus, karena ia

membutuhkan jumlah langkah yang besar dalam penyelesaiannya. Kadang-kadang algoritma brute force disebut juga algoritma naif (naïve algorithm).

Algoritma brute force seringkali merupakan pilihan yang kurang disukai karena ketidakmangkusannya itu, tetapi dengan mencari pola-pola yang mendasar, keteraturan , atau trik-trik khusus, biasanya akan membantu kita menemukan algoritma yang lebih cerdas dan lebih mangkus.

Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan daripada ketidakmangkusannya. Algoritma brute force sering digunakan sebagai basis bila membandingkan beberapa alternatif algoritma yang mangkus.

Meskipun brute force bukan merupakan teknik pemecahan masalah yang mangkus, namun teknik brute force dapat diterapkan pada sebagian besar

Page 3: Soal Matakuliah Analisis Algoritma

masalah. Agak sukar menunjukkan masalah yang tidak dapat dipecahkan dengan teknik brute force. Bahkan ada masalah yang hanya dapat dipecahkan secara brute force. Beberapa pekerjaan mendasar di dalam komputer dilakukan secara brute force, seperti menghitung jumlah dari n buah bilangan, mencari elemen terbesar di dalam tabel, dan sebagainya.

Selain itu, algoritma brute force seringkali lebih mudah diimplementasikandaripada algoritma yang lebih canggih, dan karena kesederhanaannya, kadang-kadang algoritma brute force dapat lebih mangkus (ditinjau dari segi implementasi).

b). kelebihan dan kekurangan brute force

Kelebihan: Metode brute force dapat digunakan untuk memecahkan hampir

sebagian besar masalah (wide applicability). Metode brute force sederhana dan mudah dimengerti. Metode brute force menghasilkan algoritma yang layak untuk

beberapa masalah penting seperti pencarian, pengurutan, pencocokan string, perkalian matriks.

Metode brute force menghasilkan algoritma baku (standard) untuk tugas-tugas komputasi seperti penjumlahan/perkalian n buah bilangan, menentukan elemen minimum atau maksimum di dalam tabel (list).

Kekurangan : Metode brute force jarang menghasilkan algoritma yang mangkus. Beberapa algoritma brute force lambat sehingga tidak dapat

diterima. Tidak sekontruktif/sekreatif teknik pemecahan masalah lainnya.

5. Tn = (n-1+n-2+n-3+....+n)Tn = -1 (1+2+3+....+n)Tn = -1. 1/2n(n-1)Tn = -1/2n(n-1)Tn = -1/2n2 + 1/2n

-1/2n2 + 1/2n ≤ ∈ O (n2)-1/2n2 + 1/2n ≤ -1/2n2 + 1/2n2 -1/2n2 + 1/2n ≤ 0C = 0no = 1n ≥ 1