Design and Analysis of Algorithm Introduction

Slides:



Advertisements
Presentasi serupa
Developing Knowledge Management dalam perusahaan Week 10 – Pert 19 & 20 (Off Class Session)
Advertisements

Pengujian Hipotesis untuk Satu dan Dua Varians Populasi
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation. All.
Algoritma & Pemrograman #10
Mata Kuliah : ALGORITMA dan STRUKTUR DATA 1.
PEMOGRAMAN BERBASIS JARINGAN
Materi Analisa Perancangan System.
Desain Dan Analisis Algoritma
Algoritma dan Struktur Data
THE FINDING A PATTERN STRATEGY STRATEGI MENEMUKAN POLA Oleh Kelompok 3.
IT SEBAGAI ALAT UNTUK MENCIPTAKAN KEUNGGULAN KOMPETISI
PERULANGANPERULANGAN. 2 Flow of Control Flow of Control refers to the order that the computer processes the statements in a program. –Sequentially; baris.
Slide 3-1 Elmasri and Navathe, Fundamentals of Database Systems, Fourth Edition Revised by IB & SAM, Fasilkom UI, 2005 Exercises Apa saja komponen utama.
Review IS & Software System Concept Diah Priharsari PTIIK – Universitas Brawijaya Source: 1.Obrien & Marakas, Management Information.
Introduction to The Design & Analysis of Algorithms
Aryo Pinandito, ST, M.MT - PTIIK UB
PROSES PADA WINDOWS Pratikum SO. Introduksi Proses 1.Program yang sedang dalam keadaan dieksekusi. 2.Unit kerja terkecil yang secara individu memiliki.
Review Operasi Matriks
Jeff Howbert Introduction to Machine Learning Winter Classification Nearest Neighbor.
How to express certainty and uncertainty
Internal dan Eksternal Sorting
DEPARTEMEN ILMU KOMPUTER FMIPA IPB 2011 Praktikum Bahasa Pemrograman.
Pengantar/pengenalan (Introduction)
Could not load an object because it is not avaliable on this machine. Tidak dapat memuat sebuah benda karena tidak tersedia pada mesin ini.
Interface Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Bilqis1 Pertemuan bilqis2 Sequences and Summations Deret (urutan) dan Penjumlahan.
Risk Management.
Design and Analysis of Algorithm Recursive Algorithm Analysis
Implementing an REA Model in a Relational Database
METODE SAMPLING by Achmad Prasetyo, S.Si., M.M..
MEMORY Bhakti Yudho Suprapto,MT. berfungsi untuk memuat program dan juga sebagai tempat untuk menampung hasil proses bersifat volatile yang berarti bahwa.
Kinematics in One Dimension - Kinematika dalam Satu Dimensi -
Basisdata Pertanian. After completing this lesson, you should be able to do the following Identify the available group functions Describe the use of group.
1 Magister Teknik Perencanaan Universitas Tarumanagara General View On Graduate Program Urban & Real Estate Development (February 2009) Dr.-Ing. Jo Santoso.
2nd MEETING Assignment 4A “Exploring Grids” Assignment 4 B “Redesign Grids” Create several alternatives grid sysytem using the provided elements: (min.
Slide 1 QUIS Langkah pertama caranya Buat di slide pertama judul Slide kedua soal Slide ketiga waktu habis Slide keempat jawaban yang benar Slide kelima.
LOGO Manajemen Data Berdasarkan Komputer dengan Sistem Database.
TRAVERSING BINARY TREE
1 Algoritma Bahasa Pemrograman dan Bab 1.1. Pengertian Algoritma.
Linked List dan Double Linked List
Definisi VLAN Pemisahan jaringan secara logis yang dilakukan pada switch Pada tradisional switch, dalam satu switch menunjukkan satu segmentasi LAN.
Metodologi Penelitian dalam Bidang Informatika
Contentment Philippians 4: Contentment What does it mean to be content? What does it mean to be content? Are you a content person? Are you a content.
SMPN 2 DEMAK GRADE 7 SEMESTER 2
Algoritma Pencarian Blind
THE IMMERSED TUNNELS MAIN BENEFITS AND INNOVATION BY. WAWAN SETIAWAN.
STRUCTURAL CONTROL continuation STATEMENT  SWITCH  WHILE  DO..WHILE.
THE EFFICIENT MARKETS HYPOTHESIS AND CAPITAL ASSET PRICING MODEL
1. 2 Work is defined to be the product of the magnitude of the displacement times the component of the force parallel to the displacement W = F ║ d F.
TCP, THREE-WAY HANDSHAKE, WINDOW
Menu Standard Competence Based Competence.
Retrosintetik dan Strategi Sintesis
Web Teknologi I (MKB511C) Minggu 12 Page 1 MINGGU 12 Web Teknologi I (MKB511C) Pokok Bahasan: – Text processing perl-compatible regular expression/PCRE.
Algoritma Asal kata Algoritma (algorism -algorithm) berasal dari nama Abu Ja’far Muhammad ibn Musa Al-Khuwarizmi Ilmuwan Persia yang menulis kitab “al.
DANDC wijanarto.
Slide 1 Chapter 1: Introduction to Systems Analysis and Design Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc.
Pemrograman Komputer.
Design and Analysis of Algorithm Dynamic Programming
Design and Analysis of Algorithm Back Track Algorithm
Algoritma Indriati ,ST .,M.Kom.
1 Diselesaikan Oleh KOMPUTER Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan benar dan efisien. ALGORITMA.
CSG523/ Desain dan Analisis Algoritma
Analisis dan Perancangan Algoritma Kuliah 4 : Asymptotic pd Kasus
Algoritma Indriati ,ST .,M.Kom.
Strategi Algoritma Kuliah 3 : Algoritma Efisien
Algoritma dan Pemrograman I
Desain & Analisis Algoritma
IT234 ALGORITMA DAN STRUKTUR DATA
Algoritma & Pemrograman 1 Achmad Fitro The Power of PowerPoint – thepopp.com Chapter 4.
Xuan Huo and Ming Li and Zhi-Hua Zhou
Transcript presentasi:

Design and Analysis of Algorithm Introduction Aryo Pinandito, ST, M.MT - PTIIK UB

Algoritma Apa itu Algoritma? Kenapa memerlukan algoritma? Asal Usul Kata 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 Masehi Tahun 1950 istilah algorithm selalu diasosiasikan dengan Euclid's algorithm, yaitu suatu proses yang menjelaskan cara mencari bilangan pembagi terbesar untuk dua buah bilangan.

Definisi Algoritma Merriam-Webster's Collegiet Dictionary istilah algorithm diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau penyelesaian suatu tugas khususnya dengan menggunakan bantuan komputer Step-by-step procedure for calculations. More precisely, it is an effective method expressed as a finite list of well-defined instructions for calculating a function

Syarat Algoritma Menurut Donald E Knuth (The Art of Computer Programming), algoritma harus memenuhi persyaratan berikut: Input: Memiliki nol atau lebih masukan dari luar. Output Memiliki minimal satu buah keluaran. Definiteness (pasti) Memiliki instruksi-instruksi yang jelas dan tidak ambigu. Finiteness (ada batas): Memiliki titik berhenti (stopping role) Effectiveness (tepat dan efisien) Sebisa mungkin harus dapat dilaksanakan dan efektif.

Algorithm Definition Overview Algoritma mendeskripsikankan urutan langkah- langkah yang diperlukan untuk menyelesaikan suatu permasalahan dan memiliki ciri-ciri sebagai berikut; Selalu memiliki terminasi/langkah akhir Setiap langkah dinyatakan secara jelas, tegas, dan tidak bermakna ganda (ambigu) Setiap langkah sederhana, sehingga kinerjanya efisien Memberikan hasil (output), mungkin dengan satu atau tanpa input.

What is a Program? A program is the expression of an algorithm in a programming language a set of instructions which the computer will follow to solve a problem

Algoritma dalam Kerangka Penyelesaian Permasalahan Solusi Penyelesaian Masalah Algoritma Source Code Program Executable Code

Algoritma: Kasus I Terdapat ember A yang berisi cairan biru dan ember B yang berisi cairan kuning. Misalkan ada sesorang yang ingin menukarkan isi cairan dari kedua ember tersebut bagaimana caranya?

Algoritma: Kasus II Ada dua buah ember dengan kapasitas 5 liter dan 3 liter. Gunakan dua buah ember tersebut untuk mendapatkan tepat 4 liter air.

Algoritma: Kasus III Misalkan seorang pemuda tiba ditepisebuah sungai. Pemuda tersebut membawa seekor kambing, seekor serigala, dan sekeranjang sayur. Mereka hendak menyeberangi sungai. Pemuda itu menemukan sebuah perahu kecil yang hanya dapat memuat satu bawaannya setiap kali menyeberang. Situasinya dipersulit dengan kenyataan bahwa serigala tidak dapat ditinggal berdua dengan kambing (karena serigala akan memangsa kambing) atau kambing tidak dapat ditinggal berdua dengan sekeranjang sayur (karena kambing akan memakan sayur). Bagaimana cara menyeberangkan pemuda dan seluruh bawaannya dengan selamat?

Notasi algoritmik Menggunakan uraian kalimat deskriptif Flow chart Pseudo code

The study of algorithm How to devise/design algorithms How to express algorithms How to validate algorithms How to analyze algorithms How to test a program

Importance of analyze algorithm Need to recognize limitations of various algorithms for solving a problem Need to understand relationship between problem size and running time When is a running program not good enough? Need to learn how to analyze an algorithm's running time without coding it Need to learn techniques for writing more efficient code Need to recognize bottlenecks in code as well as which parts of code are easiest to optimize

What do we analyze about them? Correctness Does the input/output relation match algorithm requirement? Amount of work done (aka complexity) Basic operations to do task Amount of space used Memory used Simplicity, clarity Verification and implementation. Optimality Is it impossible to do better?

Kompleksitas algoritma The complexity of an algorithm is simply the amount of work the algorithm performs to complete its task. Ukuran yang digunakan untuk menyatakan keefektifan sebuah algoritma Ukuran yang digunakan untuk mengukur seberapa besar pertumbuhan komputasi sebuah algoritma Asymptotic Notations: O (big oh)  (big omega)  (big theta)

Example: The Minimum Number Problem Input: a sequence of integers stored in array. Problem: Output the minimum. Algorithm: Search

Algorithm A

Algorithm B copy the input a to array t1; assign n  size of input; While n > 1 For i  1 to n/2 t2[ i ]  min (t1 [ 2*i ], t1[ 2*i + 1] ); copy array t2 to t1; n n/2; Output t2[1];

Visualization of Algorithm B 34 6 5 9 20 8 11 7 Loop 1 6 5 8 7 Loop 2 5 7 Loop 3 5

Algorithm C Using sort method to sort the input in increasing order and return the first element of the sorted data. 8 9 5 6 11 34 7 20 black box Sorting 5 6 7 8 9 11 20 34

Algorithm D For each element, test whether it is the minimum.

Which Algorithm Is Better? The algorithms are correct, but which is the best? Measure the running time (number of operations needed). Measure the amount of memory used. Note that the running time of the algorithms increase as the size of the input increases.

What do we need? Correctness: Whether the algorithm computes the correct solution for all instances Efficiency: Resources needed by the algorithm 1. Time: Number of steps. 2. Space: Amount of memory used. Measurement “model”: Worst case, Average case and Best case.

Time vs. Size of Input 4 2 Tc (n) Running time (second) Td(n) Measurement parameterized by the size of the input. The algorithms A,B,C are implemented and run in a PC. Algorithms D is implemented and run in a supercomputer. Let Tk( n ) be the amount of time taken by the Algorithm Tb (n) Ta (n) 500 1000 Input Size

감사합니다 Gratias Terima Kasih ありがとうございます Grazias Kiitos Gratias Danke ﺷﻜﺮﺍﹰ Terima Kasih 谢谢 Merci Thank You धन्यवाद ありがとうございます