Analisa Algoritma. Konsep Algoritma

dokumen-dokumen yang mirip
Pengantar Analisa Algoritma

ALGORITMA OPTIMASI DAN APLIKASINYA

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

Logika dan Algoritma Yuni Dwi Astuti, ST 2

Kompleksitas Algoritma

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

Selection, Looping, Branching

Design and Analysis Algorithm

OPERATOR, PERULANGAN DAN SELEKSI KONDISI

Pengenalan Algoritma

PERTEMUAN 4 DIAGRAM ALUR (FLOWCHART)

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 03

2.4. Struktur Branching

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

JARINGAN UNTUK MERGING

STRATEGI DIVIDE AND CONQUER

Kompleksitas Algoritma

Alih Kontrol dengan Flowchart

Algoritma dan Pemrograman. Pertemuan Ke-8 Statement Pengulangan 1

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Brigida Arie Minartiningtyas, M.Kom

VISUAL BASIC 6.0 SETYO BUDI, M.KOM.

Perulangan, Percabangan, dan Studi Kasus

Refreshing Materi Kuliah Semester Pendek 2010/2011. Logika dan Algoritma. Heri Sismoro, M.Kom.

ALGORITHM. 2 Analysis Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

DASAR PEMROGRAMAN. PERCABANGAN ( if, if else, if ternary, nested if, switch ) Djoko Soerjanto, M.Kom

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Sub Pokok Bahasan. tugas 1 Pascal operator Assignment, Binary, Unary dan Bitwise

Design and Analysis Algorithm

UNIVERSITAS GUNADARMA

Diagram Alur (Flowchart)

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

Algoritma dan Struktur Data

MATERI KULIAH 25 NOVEMBER DESEMBER 2015 Sri Istiyari Uswatun Chasanah G Struktur aliran atau bagan program kontrol.

OPERATOR DAN STATEMEN I/O

Pertemuan II Algoritma Pemrograman & Struktur Data I

ANALISIS ALGORITMA BINARY SEARCH

Kompleksitas Algoritma (1)

Kompleksitas Algoritma

BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b.

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

BAB II TINJAUAN PUSTAKA

Selection / Pemilihan PEMILIHAN

Pengambilan Keputusan. Konsep Pemrograman Oleh Tita Karlita

Pertemuan 4 Diagram Alur / Flowchart

24/09/2017 PERCABANGAN

Algoritma dan Struktur Data

FLOWCHART - LANJUTAN

Algoritma dan Pemrograman. Pertemuan Ke-7 Statement Pengendalian 2

Struktur Data II. Bekerja Dengan Form.

Konsep Dasar Pemrograman

Saifoe El Unas 2. Free Format

Dasar Komputer & Pemrograman 2A

c. Membeli komputer d. Proses 2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b.

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

Pemrograman Dasar S E L E C T I O N

LAPORAN RESMI. Nama :Indah Nur Laila NPM/Semester : Romb/Grup : X / H TemanPraktek :Naufal Alif

METODE DEVIDE AND CONQUER (DANDC)

Judul artikel blog : Select Case pada VB Penggunaan Pernyataan Bersyarat untuk menyeleksi suatu kondisi (Select Case) pada Visual Basic

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

Universitas Komputer Indonesia

6 Maret Structure of Java [Penyeleksian Kondisi]

Variabel dan Tipe data Javascript

Algoritma & Pemrograman #4. by antonius rachmat c, s.kom, m.cs

Pengenalan Bahasa C week 1

Pertemuan 4 Diagram Alur / Flowchart

Pemrograman Prosedural FUNGSI (Subprogram) Tim Pengajar KU1071 Sem

Definisi Percabangan

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Algoritma Sorting (Selection Insertion)

INPUT & OUTPUT SEQUENCE STATEMENT SELECTION STATEMENT. Pengantar Logika & Teknik Pemrograman Politeknik Negeri Jakarta TA.

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

Kondisional/Pencabangan/Pemilihan. Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus)

Analisa Kasus Part 2. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

Teori Algoritma. Struktur Algoritma

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SILABUS MATA KULIAH: LOGIKA ALGORITMA

Kompleksitas Algoritma Dalam Algoritma Pengurutan

Kontrak Perkuliahan & Introduction

Algoritma Pemrograman

PERTEMUAN 9-11 STATEMENT

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

GARIS-GARIS BESAR PROGRAM PENGAJARAN PROGRAM STUDI : S1 SISTEM INFORMASI Semester : 1

STRUKTUR DATA Pertemuan 1 s.d 8

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

Pemrograman Dasar L A T I H A N M E T H O D / F U N G S I M E T H O D R E K U R S I F

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Bubble Sort dan Shell-Sort. Yuliana Setiowati

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Transkripsi:

Analisa Algoritma Konsep Algoritma

Deskripsi Materi ini membahas tentang running time

Tujuan Instruksional Khusus (TIK) Menjelaskan efisiensi algoritma Menjelaskan pengukuran running time

Efisiensi Algoritma? Mengukur jumlah sumber daya (time dan space) yang diperlukan oleh sebuah algoritma Waktu yang diperlukan (running time) oleh sebuah algoritma cenderung tergantung pada jumlah input yang diproses. Running time dari sebuah algoritma adalah fungsi dari jumlah inputnya Selalu tidak terikat pada platform (mesin + OS), bahasa pemrograman, kualitas kompilator atau bahkan paradigma pemrograman (mis. Procedural vs Object-Oriented)

Pengukuran running time Running time dari suatu algoritma berbeda-beda bergantung pada input yang diberikan. Dengan demikian pengukurannya dihitung sebagai fungsi dari besarnya input yang diberikan.

Efisiensi Algoritma : Faktor yang berpengaruh Kecepatan Banyak Langkah Tipe Data Operator Space Alokasi memory

Input Size Menggunakan notasi n Contoh sorting, input size menyatakan banyaknya bilangan yang disorting Digunakan untuk menganalisa eksekusi suatu algoritma Menghitung banyaknya operasi dasar yang digunakan: Every case Worst case Average case Best case

Ex : Tipe data Integer 250 + 17 = Real 250.0 + 15.0 = 0.25 * 10 3 + 0.17 * 10 2 = 0.25 * 10 3 + 0.017 * 10 3 = (0.25 + 0.17) * 10 3 = 0.267 * 10 3 = 267.0

Operator Urutan penggunaan operator/penempatan operator bisa mempengaruhi efisiensi. Contoh perkalian (*) lebih lama daripada penjumlahan (+) Tetapi dalam perkembangan teknologi, perbedaan penggunaan operator maupun tipe data dasar tidak terlalu signifikan. Yang perlu diperhatikan adalah banyaknya operasi aritmatika dan logika yang dilakukan.

Operator Operator aritmatika : +,-,*,/,^,div,mod Operator logika : AND,OR,NOT masing-masing 1. Operator adalah jika hasil perhitungannya termasuk dalam himpunan itu sendiri. 2 < 5 bukan operator tapi konstanta logika karena tidak menghasilkan nilai yang sejenis Operator : H x H H x = 2<5 Tidak ada operation ( 0 operation) x = True Tidak ada operation ( 0 operation) y = 5 Tidak ada operation ( 0 operation) y = 5+0 1 operation y = 2+3*5 2 operation y = 3*5+2 2 operation

Banyaknya langkah algoritma Banyak langkah dalam suatu algoritma dinyatakan dengan banyaknya operasi aritmatika dan logika yang dilakukan. Dengan demikian hal ini bergantung pada statement dan jenis algoritma : sequensial branching looping subroutine call (bisa memanggil prosedur dan bisa memanggil fungsi)

Sequensial Statement s1 dgn banyak langkah n(s1) Statement s2 dgn banyak langkah n(s2) banyak langkah = n(s1)+n(s2) Assigment dgn konstanta mempunyai waktu tempuh 0 x = 0 y = 1 1 operation n = x+y Built in subroutine call mempunyai waktu tempuh 1 Sin(x) 1 op Sin(x*pi/1000) 3 op

Branching /percabangan If (kondisi) Then statement s1 Else statement s2 contoh Jika n(kondisi) = waktu tempuh kondisi 2 op n(s1) = waktu tempuh statement s1 5 op n(s2) = waktu tempuh satement s2 3 op Maka waktu tempuh = n(kondisi) + max(n(s1),n(s2)) = 2 + 5 = 7

Loop For var awal to akhir step diff. Statement S(var) Statement S(var) tidak tergantung var tergantung var Jika statement dalam inner loop tidak bergantung pada var, maka statement tersebut diulang sebanyak akhir awal kali step t akhir awal 1 step jika integer jika non integer

Misalnya waktu tempuh untuk statement tersebut adalah Ts, maka waktu tempuh dengan loop tsb adalah t*ts. Waktu tempuh untuk control loop adalah t*1. Jadi waktu tempuh untuk loop tersebut adalah t * Ts + t = t (Ts+1)

Contoh 1 for i 2 to 30 step 5 x x+1 Ts=2 y x+y Berapa waktu tempuhnya? t 30 2 5 T = t (Ts+1) = 6 (2+1) = 18 6

Contoh 2 n=20 for i 2 to 2*n step 5 x x+1 y x+y Berapa waktu tempuhnya? t 40 5 2 8 T for = t (Ts+1) = 8 (2+1) = 24 Waktu tempuh perkalian 2*n T 2*n = 1 Jadi waktu tempuhnya = T = 24 + 1 = 25

Contoh 3 for i1 to 10 x x+1 if x>=1 then x x-2 y x^2 else y x+y 1 op 2 op 1 op max(2,1) op

Contoh : statement tergantung nilai var for i1 to 10 x x+1 for j1 to i y x+y x x+1 endfor endfor t i i 1 1 i 1 T for (j) = t i (T s +1) = i (2+1) = 3i T(i) = 1+3i+1 = 2+3i 10 T = T ( i) = i1 10 i1 (2 3i) = 20 + 3 * ½ * 10 * (10+1) = 185

Latihan lagi for i1 to 10 x x+1 for ji to 10 y x+y x x+1 endfor endfor T for (i) = t i (T s +1) = (10-i+1) * (2+1) = (10-i+1)*3 = (11-i)*3 T(i) =1+(11-i)*3+1 = 35-3i 10 T = T ( i) = 350-3 * ½ * 10 * (10+1) =185 i1

Latihan : T(n) =? for i1 to 10 x x+1 for j1 to i y x+y endfor Endfor

Latihan : T(n) =? for i1 to n x x+1 for ji to n y x+y endfor Endfor

Latihan : T(n) =? for i1 to n 2 x x+1 for ji+1 to 2n y x+y x x+1 endfor Endfor

Latihan : T(n) =? for i1 to 2n x x+1 for j1 to i+1 y x+y x x+1 endfor Endfor