Anda di halaman 1dari 4

UTS DESAIN DAN ANALISIS ALGORITMA

NAMA : saltriani jelita


NIM : 20120115
KELAS : B
PRODI : TI S1

1. Menurut Donald E. Knuth, terdapat 5 kriteria kebaikan dari suatu algoritma. Sebut
dan jelaskan ke-5 kriteria tersebut :
 Input
Program minimal harus memiliki nol input atau lebih dari pengguna.
Program pasti memiliki input.Yang dimaksud dengan nol input adalah
program tidak mendapatkan masukan data dari pengguna secara langsung,
tapi semua data yang digunakan oleh program sudah di deklarasikan dari
luar
Contoh : algortima perhitungan Luas Lingkaran
Nol input = nilai phi (3,14) ➔ sudah dideklarasikan di dalam program
Data inputan = Jari-jari ➔ data inputan dari pengguna melalui program
 Output
Program minimal harus memiliki 1 output atau keluaran. Program pasti
menghasilkan output karena program dibuat untuk tujuan tertentu.
Output program bisa berbentuk file, video, teks atau disimpan di clipboard
untuk kemudian digunakan di program lain atau di simpan dalam basis data
 Finite (Terbatas)
• Program yang dibuat harus pasti dan terbatas.
• Suatu program yang di eksekusi haruslah berhenti dan selesai. Bukan
berjalan terus-menerus hingga hang up atau not responding hingga
akhirnya harus di kill secara paksa.
• Suatu program dapat mengalami infite karena kesalahan programmer
 Definite (Pasti)
Program harus jelas arah dan tujuannya. Program harus jelas kapan mulai
dan kapan berakhir, apa tujuannya dan memiliki logika yang jelas agar
dapat menghasilkan output yang sesuai dengan yang di inginkan.
 Efisien
Program harus efesien artinya program tidak memakan banyak memori dan
tidak melakukan hal-hal yang tidak perlu.

2. Kompleksitas Algoritma merupakan besaran yang dipakai untuk menerangkan model


abstrak suatu pengukuran. Sebut dan jelaskan 2 jenis kompleksitas dari suatu algoritma
yang Anda ketahui :
 Kompleksitas Waktu
Kompleksitas waktu, T(n), diukur dari jumlah tahapan komputasi yang
dibutuhkan untuk menjalankan algoritma sebagai fungsi dari ukuran
masukan n.
 Kompleksitas Ruang
Kompleksitas ruang, S(n), diukur dari memori yang digunakan oleh struktur
data yang terdapat di dalam algoritma sebagai fungsi dari ukuran masukan
n.

3. Kompleksitas waktu dalam suatu algorima dibedakan menjadi 3 macam, sebut dan
jelaskan ke-3 kompleksitas waktu tersebut :
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

4. Apa yang Anda ketahui tentang fungsi rekursif dan sebutkan contoh penerapan dari
fungsi rekursif :
 Rekursif adalah salah satu dalam metode matematika dimana defenisi sebuah
fungsi mengandung fungsi itu sendiri.
 Dalam dalam dunia pemrograman, rekursif diimplementasikan sebagai fungsi
yang memanggil dirinya sendiri sehingga terjadi perulangan didalam fungsi
tersebut.
 Contoh penerapan dari fungsi Rekrusif :
 Contoh Fungsi Rekursif misalnya : Pangkat, Faktorial, Fibonocci.
 Dalam fungsi pangkat x y semua bilangan yang dipangkatkan dengan 0
nilainya sama dengan 1. Jika x dipangkatkan dengan y, dimana y > 0 maka
hasilnya sama dengan x dikalikan dengan x dipangkatkan y-1 jika
dituliskan dalam notasi matematika sbb : x y = 1, jika y =0 x y = x * x y-1 ,
jika y > 0 Kita lihat pada defenisi y > 0, bentuk pemangkatan muncul
kembali disisi kanan, itulah yang disebut rekursif.

5. Apa yang Anda ketahui tentang divide and conquer?sebutkan contoh penerapan dari
metode divide and conquer :
 Divide and Conquer dulunya adalah strategi militer yang dikenal dengan nama divide
ut imperes.
 Sekarang strategi tersebut menjadi strategi fundamental di dalam ilmu komputer
dengan nama Divide and Conquer.
 Defenisi
 Divide :
Membagi masalah menjadi sub-sub masalah yang lebih kecil sehingga lebih
mudah diselesaikan.
 Conquer :
Menyelesaikan sub-sub masalah tersebut secara rekursif.
 Combine:
Solusi masalah awal dibentuk dari solusi-solusi sub masalah.

 Obyek persoalan yang dibagi : masukan (input) atau instances persoalan yang
berukuran n seperti:-
- tabel (larik),
- matriks,
- eksponen,
- dll, bergantung persoalannya.
 Tiap-tiap upa-masalah mempunyai karakteristik yang sama (the same type) dengan
karakteristik masalah asal.
 sehingga metode Divide and Conquer lebih natural diungkapkan dengan skema
rekursif.
 Contoh penerapannya adalah mencari nilai minimum dan maksimum

Anda mungkin juga menyukai