Logika dan Algoritma Yuni Dwi Astuti, ST 2

dokumen-dokumen yang mirip
ALGORITHM. 2 Analysis Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

MATERI SIMKOMDIG PENGERTIAN DASAR LOGIKA DAN ALGORITMA

Pengertian Dasar Logika Dan Algoritma

Pengenalan Algoritma

Algoritma dan Struktur Data

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

SILABUS MATA KULIAH: LOGIKA ALGORITMA

SILABUS MATA KULIAH: LOGIKA ALGORITMA

Design and Analysis Algorithm

04/03/2013. Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20% By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia

Kompleksitas Algoritma

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

1: Pengertian Dasar Logika dan Algoritma STRUKTUR DASAR. Oleh: Imana Malia kondou, S.T.

STRATEGI DIVIDE AND CONQUER

Kompleksitas Algoritma

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

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

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

Pemrograman Dasar Kelas X RPL KONSEP DASAR ALGORITMA

MAKALAH ALGORITMA, PSEUDOCODE DAN FLOWCHART TENTANG YUFI EKO FIRMANSYAH 1 D3 IT B OLEH

METODE DEVIDE AND CONQUER (DANDC)

Apa Itu Algoritma? Algoritma berasal dari: ahli

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

Pengantar Analisa Algoritma

Analisis Kecepatan Sorting Dengan Notasi Big O

UNIVERSITAS GUNADARMA

Kompleksitas Algoritma

PENGERTIAN FLOWCHART Apa itu Flowchart???

BAB II TINJAUAN PUSTAKA

Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik

Pendahuluan Metode Numerik

Kompleksitas Algoritma

Analisa Algoritma. Konsep Algoritma

Algoritma. Contoh Algoritma

Analisa Kompleksitas Algoritma. Sunu Wibirama

IT234 ALGORITMA DAN STRUKTUR DATA

Algoritma Pemrograman

BAB 2 LANDASAN TEORI

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

Langkah Awal menuju Analisis Kompleksitas Algoritma

Aplikasi OBE Untuk Mengurangi Kompleksitas Algoritma Program Penghitung Determinan Matriks Persegi

Design and Analysis of Algorithms CNH2G3- Week 4 Kompleksitas waktu algoritma rekursif part 1

Setelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai:

Pendahuluan. Ukuran input (input s size)

Aturan Untuk Menentukan Kompleksitas Waktu Asimptotik. Penjelasannya adalah sebagai berikut: T(n) = (n + 2) log(n 2 + 1) + 5n 2

TEKNIK PENGUJIAN PERANGKAT LUNAK. Ign.F.Bayu Andoro.S, M.Kom

BAB VII ALGORITMA DIVIDE AND CONQUER

Algoritma dan Struktur Data. Performansi Algoritma

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I

Design and Analysis of Algorithm

PENGENALAN ALGORITMA & PEMROGRAMAN P E N G A N T A R T E K N O L O G I I N F O R M A S I ( T I F )

BAB II DASAR-DASAR DAN ATURAN PENULISAN ALGORITMA

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

Kompleksitas Algoritma

Pengampu : Agus Priyanto, M.KOM

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

BAB III ANALISIS DAN PERANCANGAN. Perancangan game mencocokkan gambar ini dibuat agar dapat berjalan

SMA SANTO PAULUS PONTIANAK

BAB 2 LANDASAN TEORI

CHAPTER 3 ALGORITHMS 3.1 ALGORITHMS

Algoritma Pemrograman

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I (2 SKS)

Program Development Cycle

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

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

STRUKTUR DATA KULIAH KE : 3 ALGORITMA

METODE GREEDY. Secara matematis, masalah knapsack tersebut dapat ditulis sebagai berikut :

Algoritma dan Struktur Data

UNIVERSITAS GUNADARMA

Bentuk umum : SPL. Mempunyai penyelesaian disebut KONSISTEN. Tidak mempunyai penyelesaian disebut TIDAK KONSISTEN TUNGGAL BANYAK

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Algoritma Pemrograman

KONSEP DASAR BAHASA PASCAL

PEMROGRAMAN TERSTRUKTUR

BAB 2 LANDASAN TEORI

Langkah Awal menuju Analisis Kompleksitas Algoritma

ARRAY. Brigida Arie Minartiningtyas, M.Kom

Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT

Design and Analysis of Algorithm

Algoritma Pemrograman

Dasar Komputer & Pemrograman 2A

3 sks (2,1) 1 sks: Lab Session. Course material: History Algorithm. Programming (C/C++):codeblock,gnu compiler

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

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

Kompleksitas Algoritma (1)

Algoritma dan Pemrograman. Pertemuan Ke-1 Pengantar Algoritma

Pendahuluan. Algoritma

PENYAJIAN ALGORITMA. a. Stuctured English b. Psedoucode

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

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

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

BAB 2 LANDASAN TEORI. Algoritma Optimal Mismatch ini mencari data secara berurut pada tiap

STRUKTUR KONTROL. Struktur WHILE-DO Mempunyai struktur sebagai berikut : Bentuk Umum : WHILE condition Do statement Bentuk Proses (flow chart) :

PERTEMUAN 7 REVIEW (QUIZ)

Start. Baris Program. Baris Program. Baris Program. Selesai. Contoh Program Struktur berurutan menghitung luas empat persegi panjang

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

SATUAN ACARA PERKULIAHAN JURUSAN TEKNIK INFORMATIKA ITP

Transkripsi:

ALGORITMA Istilah algoritma pertama kali diperkenalkan oleh seorang ahli matematika yaitu Abu Ja far Muhammad Ibnu Musa Al Khawarizmi. Yang dimaksud dengan algoritma adalah : Urutan dari barisan instruksi untuk menyelesaikan suatu masalah. Adapun algoritma dapat dinyatakan dalam bentuk : flow chart, diagram alur, bahasa semu. Sedangkan secara bahasa, algoritma berarti suatu metode khusus untuk menyelesaikan suatu masalah yang nyata (dari Webster Dictionary). Dari suatu permasalahan yang akan diselesaikan, bisa terjadi terdapat lebih dari satu algoritma. Dalam memilih algoritma yang terbaik yang dapat digunakan, harus diperhatikan beberapa kriteria. Kriteria tersebut antara lain : Efektif dan efisien Jumlah langkahnya berhingga Berakhir Ada output Terstruktur Adapun langkah-langkah yang dilakukan dalam proses penyelesaian masalah dengan bantuan komputer adalah sebagai berikut :

STUDI TENTANG ALGORITMA Hal-hal yang akan dipelajari mengenai studi algoritma yaitu : 1. Bagaimana Merencanakannya 2. Bagaimana Menyatakannya 3. Bagaimana Validitasnya 4. Bagaimana Menganalisisnya 5. Bagaimana Menguji suatu program Merencanakan algoritma : Merupakan suatu studi tentang teknik variasi design (model). Menyatakan algoritma : Menyatakannya dengan singkat, dibuat dalam bahasa pemrograman yang terstruktur, misalnya Pascal, Bahasa C. Validitas algoritma : Memenuhi kebutuhan yang diinginkan, dan perhitungannya / solusinya selalu benar untuk semua kemungkinan input yang legal. Menganalisis algoritma : Perbandingan dari waktu perhitungan dan banyaknya storage / memori yang digunakan (efisiensi). Menguji suatu program : Pengujian suatu program yang dilakukan dalam dua fase, yakni : Fase Debugging : proses dari eksekusi program yang mengkoreksi kesalahan dalam bahasa pemrograman (logic & syntax). Fase Profiling : program sudah benar melihat/mengukur waktu tempuh & storage ANALISIS ALGORITMA Sebagaimana studi tentang algoritma, maka faktor yang sangat diperhitungkan adalah faktor efisiensi, yang meliputi : a. Waktu tempuh (running time) : * Banyaknya langkah * Jenis operasi * Besar dan jenis input data * Jenis komputer dan kompilator b. Jumlah memori yang dipakai Logika dan Algoritma Yuni Dwi Astuti, ST 2

Dalam hal menganalisis algoritma, dikenal istilah kompleksitas. Kompleksitas adalah Sebuah fungsi F(N) yang diberikan untuk waktu tempuh dan / atau kebutuhan storage dengan ukuran N input data. Kompleksitas ini dapat berupa kompleksitas waktu & memori Beberapa definisi kompleksitas: 1. f(n) = Ο(g(n)) dua konstanta positif c dan n 0 f(n) c g(n) n n 0 2. f(n) = Ω(g(n)) konstanta positif c dan n0 f(n) c g(n) n n 0 3. f(n) = θ(g(n)) konstanta positif c1, c2 dan n0 c 1 g(n) f(n) c 2 g(n) n n 0 4. f(n) ο(g(n)) sebuah konstanta positif n0 lim f ( n) / g( n) 1, n n 0 Dari keempat definisi di atas, yang paling banyak digunakan untuk menganalisis algoritma adalah definisi 1 (Big Oh). n Teorema : Jika f(n) = a m n m + a m-1 n m-1 +...+ a 1 n + a 0 adalah polinomial tingkat m, maka f(n) = Ο(n m ) Sebagai contoh : f(n) = 3n 5 + 4n 4 + 10n 2 + 56 = Ο(n 5 ) f(n) = 9n 7 + 5n 6 + 36 = Ο(n 7 ) f(n) = 8n 9 = Ο(n 9 ) f(n) = n 6 + 19 = Ο(n 6 ) f(n) = 25 = Ο(n 0 ) = Ο(1) Berikut ini adalah urutan dari Big Oh - Big Oh : Ο(1) Ο(log n) Ο(n) Ο(n log n) Ο(n 2 ) Ο(n 3 ) Ο(2 n ) Berikut ini beberapa contoh analisis terhadap algoritma : Contoh 1 : (i) c a + b Logika dan Algoritma Yuni Dwi Astuti, ST 3

(ii) for i 1 to n do c a + b repeat (iii) for i 1 to n do for j 1 to n do c a + b repeat repeat Analisisnya : banyaknya operasi + f(n) Big Oh (i) 1 kali f(n) = 1 Ο(1) (ii) n kali f(n) = n Ο(n) (iii) n 2 kali f(n) = n 2 Ο(n 2 ) Contoh 2 : Penjumlahan 2 buah matriks berorde (m X n) dan elemennya real 1. Set A[i,j], B[i,j], C[i,j] real 2. Untuk i 1 s/d m kerjakan 3. untuk j 1 s/d n kerjakan 4. C[i,j] A[i,j] + B[i,j] 5. akhir j 6. akhir i Analisisnya : jumlah operasi + jumlah memori memori/byte) total = mn kali = 3 mn x 4 = 12 mn (asumsi : 1 elemen memerlukan 4 satuan = 13 mn Logika dan Algoritma Yuni Dwi Astuti, ST 4

KEADAAN DARI KOMPLEKSITAS WAKTU ALGORITMA Keadaan dari kompleksitas waktu algoritma meliputi : a. WORST Case nilai maksimum dari f(n) input yang mungkin b. BEST Case nilai minimum dari f(n) input yang mungkin c. AVERAGE Case nilai ekspektasi dari f(n) Contoh 3 : Menentukan lokasi suatu elemen pada array data secara linier 1. Set k:= 1 ; loc := 0 2. Repeat langkah 3 dan 4 While loc := 0 dan k n 3. If Item := Data(k) then set loc := k 4. Set k := k + 1 5. If loc := 0 then Write Elemen tidak ada pada array data Else 6. Exit Write loc adalah lokasi dari elemen Bila elemen (item) yang dicari merupakan elemen terakhir dari array tersebut atau tidak terdapat dalam array : WORST CASE F(n) = Ο(n) BEST CASE F(n) = Ο(1) Bila elemen yang dicari merupakan elemen pertama dari array tersebut : Bila elemen yang dicari berada diantara elemen pertama dan elemen terakhir dari array tersebut : AVERAGE CASE Banyaknya elemen dalam array tersebut adalah n, maka probabilitas masing-masing elemen adalah 1/n Logika dan Algoritma Yuni Dwi Astuti, ST 5

F(n) = 1. 1/n + 2. 1/n + 3. 1/n +... + n. 1/n = ( 1 + 2 + 3 +... + n ). 1/n = (n + 1). n/2. 1/n = (n + 1)/2 = 1/2 n + 1/2 = Ο(n) Logika dan Algoritma Yuni Dwi Astuti, ST 6