JARINGAN KOMPUTER - moh cecep sumarna

Download Report

Transcript JARINGAN KOMPUTER - moh cecep sumarna

Analisa Algoritma
(IF1282)
Pendahuluan
Teknik Informatika - UPN[V]Yk
1
Deskripsi
Mata kuliah ini mengkaji tentang konsep
dasar Algoritma, konsep matematika,
kompleksitas waktu, notasi Asymptotic,
Recurrence Solution (rekursi), brute force,
exhaustive search, Algoritma Greedy,
divide and conquer, serta backtracking
dan pemrograman dinamis
Teknik Informatika - UPN[V]Yk
2
Tujuan Instruksional Umum (TIU)
Menjelaskan cara menganalisa algoritma
dengan konsep matematika,
menyelesaikan solusi untuk menganalisa
algoritma rekursi, dan menggunakan
notasi-notasi untuk menjelaskan
kompleksitas algoritma serta
menggunakan berbagai strategi algoritma.
Teknik Informatika - UPN[V]Yk
3
Sejarah Algoritma
Kata algoritma dari nama Abu Ja’fat
Mohammed Ibn Musa al-Khowarizmi,
seorang ilmuan Persia yang menulis buku
berjudul Kitab al jabr w’al-muqabala (rules
of restoration and reduction) sekitar tahun
825
Sejarah
pada tahun 1950 istilah algorithm selalu
diasosiasikan dengan Euclid’s algorithm,
yaitu suatu proses yang menjelaskan cara
mencari bilangan pembagi terbesar untuk
dua buah bilangan.
Istilah
Merriam-Webster’s Collegiet Dictionary
istilah algorithm diartikan sebagai
prosedur langkah demi langkah untuk
memecahkan masalah atau Penyelesaian
suatu tugas khususnya dengan
menggunakan bantuan computer

Definisi. Algoritmik adalah suatu studi secara
sistematik pada penggunaan teknik-teknik dasar
untuk merancang dan menganalisa algoritma yang
efisien.

Definisi Algoritma. Suatu algoritma adalah suatu
prosedur komputasi langkah demi langkah yang
terdefinisi dengan lengkap dan baik, termasuk di
dalamnya definisi sekumpulan input yang diijinkan,
yang menghasilkan satu atau sekumpulan nilai valid
sebagai outputnya.

Contoh: Tidak semua persoalan dapat dibuatkan algoritma yang
menghasilkan solusi, atau yang biasa dikenal dengan istilah
noncomputable. Salah satunya adalah halting problem, yaitu suatu
persoalan untuk membuat suatu algoritma yang dapat menentukan
apakah suatu program komputer yang diberikan dapat berhenti
atau tidak.

Catatan:: Sebuah algoritma sekuensial menggambarkan operasioperasi yang masing-masing dilakukan secara berurutan,
sedangkan suatu algoritma paralel menggambarkan banyak operasi
yang dapat dilakukan secara simultan.
Analisa Algoritma?

Analisa Algoritma adalah tahapan yang
dilakukan dengan tujuan untuk
mengukur prediksi waktu + memory,
efisiensi dan kelayakan saat dibuat
program, correctness, serta
kompleksitas algoritma tersebut.
Kinerja yang perlu ditelah pada
algoritma
beban komputasi
 efisiensi penggunaan memory

Teknik Informatika - UPN[V]Yk
10
Perbandingan kinerja






Kasus rata-rata; running time untuk tipikal data tertentu.
Kasus terjelek; running time yang mungkin paling jelek
pada konfigurasi masukan data tertentu
Program → bahasa yang dipakai
Program sensitif terhadap input
Program sulit dimengerti, dan secara matematis hasil telah
tersedia/ diketahui
Sering kali program tidak bisa membandingkan, misal
untuk data tertentu sangat efisien, tetapi yang lain pada
kondisi yang sangat berbeda.
Teknik Informatika - UPN[V]Yk
11
Teknik Pemrograman
Penekanan pada pemrograman tersetruktur
 Struktur dasar
Menggunakan flow chart dan pseudocode
Menggunakan sistem modular.
 Program dibuat dalam bentuk modul-modul untuk fungsi tertentu
maupun subroutine tertentu.
 Modul-modul dikendalikan oleh modul utama (program utama)
 Modul bersifat independen (tidak ada modul yang dapat akses
langsung ke modul lain, kecuali modul pemanggil dan
submodulnya sendiri)
 Modul dapat diubah secara radikal tanpa mempengaruhi modul
lain sejauh fungsi modul tidak berubah..
Teknik Informatika - UPN[V]Yk
12
Implementasi : subroutine
Teknik Informatika - UPN[V]Yk
13
Pendekatan

Top Down

Bottom Up
Teknik Informatika - UPN[V]Yk
14
Materi Perkuliahan












Pendahuluan
Konsep algoritma
Running time
Faktor analisa algoritma
Notasi asimptotik
Relasi Rekurens & algoritma rekursif
Brute Force
Exhaustive Search
Devide & Conquer
Algoritma Greedy
Algoritma Backtrack
Dynamic Programming
Teknik Informatika - UPN[V]Yk
15
Penilaian



Tugas
UTS
UAS
: 30 %
: 35 %
: 35 %
Teknik Informatika - UPN[V]Yk
16
Referensi
Berisi sumber bahan
 A. Textbook
:
Brassad&Bratley (1996), Fundamentals of
Algorithmics, PrenticeHall.
 B. Acuan/Referensi
:
Hartono, Gatot, Analisa algoritma
Munir, Rinaldi, Pengantar Strategi Algoritma
Teknik Informatika - UPN[V]Yk
17
Pre Test

Terdapat cuplikan fungsi sebagai berikut dalam
bahasa Pascal
function anu(a,b,c:integer):integer;
begin
hasil := 6
if a<b then
if b<c then hasil := 7
else
hasil := 8
writeln(hasil);
End;
Berapakah
a. anu(1,2,3)
b. anu(2,1,3)
c. anu(1,3,2)
Teknik Informatika - UPN[V]Yk
18
Pre Test

Terdapat fungsi sebagai berikut
Function anu(a,b:integer): integer;
Begin
if a=b then
anu:=1
else if a<b then
anu:=anu(a,b-1)+1
else if a>b then
anu:=anu(a-1,b)+1
End;
Hitunglah
a. anu(2,4)
b. anu(5,2)
c. anu(3,3)
Fungsi untuk menghitung apakah anu tersebut ?
Teknik Informatika - UPN[V]Yk
19
Pre Test

Sebutkan macam macam sorting, Diantara
sorting yang Anda sebutkan,
a. manakah yang dirasa paling cepat?
b. manakah yang dirasa paling lambat?
c. manakah yang dirasa paling mudah
dibuatkan programnya?
d. manakah yang dirasa paling sulit dibuat
programnya? Kenapa?
Teknik Informatika - UPN[V]Yk
20