Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Analisa Algoritma (IF1282)
Pendahuluan Teknik Informatika - UPN[V]Yk
2
Teknik Informatika - UPN[V]Yk
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
3
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
4
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
5
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.
6
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
7
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.
8
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 operasi-operasi yang masing-masing dilakukan secara berurutan, sedangkan suatu algoritma paralel menggambarkan banyak operasi yang dapat dilakukan secara simultan.
9
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.
10
Kinerja yang perlu ditelah pada algoritma
beban komputasi efisiensi penggunaan memory Teknik Informatika - UPN[V]Yk
11
Teknik Informatika - UPN[V]Yk
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
12
Teknik Informatika - UPN[V]Yk
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
13
Implementasi : subroutine
Teknik Informatika - UPN[V]Yk
14
Teknik Informatika - UPN[V]Yk
Pendekatan Top Down Bottom Up Teknik Informatika - UPN[V]Yk
15
Teknik Informatika - UPN[V]Yk
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
16
Teknik Informatika - UPN[V]Yk
Penilaian Tugas : 30 % UTS : 35 % UAS : 35 % Teknik Informatika - UPN[V]Yk
17
Teknik Informatika - UPN[V]Yk
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
18
Teknik Informatika - UPN[V]Yk
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
19
Teknik Informatika - UPN[V]Yk
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 anu(2,4) anu(5,2) anu(3,3) Fungsi untuk menghitung apakah anu tersebut ? Teknik Informatika - UPN[V]Yk
20
Teknik Informatika - UPN[V]Yk
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.