PENGENALAN ANALISIS ALGORITMA

dokumen-dokumen yang mirip
Langkah Awal menuju Analisis Kompleksitas Algoritma

Langkah Awal menuju Analisis Kompleksitas Algoritma

Pengantar Strategi Algoritmik. Oleh: Rinaldi Munir

Analisis dan Strategi Algoritma

Pengantar Strategi Algoritma

Analisa Algoritma. Konsep Algoritma

Analisis Algoritma: Anany Levitin, Introduction to Design and Analysis of Algorithm, 3 rd Edition, Pearson Education, Inc.

STRUKTUR DATA KULIAH KE : 3 ALGORITMA

Pendahuluan Metode Numerik

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

BAB 1 PENDAHULUAN. dapat menyelesaikan masalah maka perlu dirumuskan terlebih dahulu langkahlangkah

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

ALGORITMA RUNUT-BALIK (BACKTRACKING ALGORITHM) PADA MASALAH KNIGHT S TOUR

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

Algoritma dan Struktur Data

SATUAN ACARA PERKULIAHAN PERANCANGAN DAN ANALISIS ALGORITMA ** (S1/TEKNIK INFORMATIKA) PTA 2010/2011

Penyelesaian Berbagai Permasalahan Algoritma dengan Kombinasi Algoritma Brute Force dan Greedy

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

Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy

Menyelesaikan Puzzle Matematika Braingle dengan Algoritma Brute Force

RENCANA PEMBELAJARAN SEMESTER (RPS)

Penggabungan Algoritma Brute Force dan Backtracking dalam Travelling Thief Problem

BAB 2 LANDASAN TEORI

KONTRAK PEMBELAJARAN (KP) MATA KULIAH. Algoritma dan Pemrograman

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016

Implementasi Metode Jumlah Riemann untuk Mendekati Luas Daerah di Bawah Kurva Suatu Fungsi Polinom dengan Divide and Conquer

Pengantar Algoritma & Flow Chart

Pengantar Teknik Informatika

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

Algoritma Pemrograman

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

Aplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force

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

SATUAN ACARA PERKULIAHAN MATA KULIAH LOGIKA DAN ALGORITMA (MI/D3) KODE: IT SKS: 3 SKS. Kemampuan Akhir Yang Diharapkan

PEMROGRAMAN TERSTRUKTUR

BAB 2 LANDASAN TEORI

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS)

BAB 2 LANDASAN TEORI. 2.1 Algoritma

Analisis Algoritma: Anany Levitin, Introduction to Design and Analysis of Algorithm, 3 rd Edition, Pearson Education, Inc.

Universitas Komputer Indonesia

SATUAN ACARA PERKULIAHAN MATA KULIAH GRAPH & ANALISIS ALGORITMA (SI / S1) KODE / SKS : KK / 3 SKS

KOMPUTASI PEMROGRAMAN

UNIVERSITAS GUNADARMA

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB II LANDASAN TEORI

Algoritma dan Struktur Data

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

Pengenalan Algoritma & Struktur Data. Pertemuan ke-1

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

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. What is Algorithm??

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan Algoritma Backtracking pada Game The Lonely Knight

Implementasi Pencocokan String Tidak Eksak dengan Algoritma Program Dinamis

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

BAB 2 LANDASAN TEORI

PERMASALAHAN OPTIMASI 0-1 KNAPSACK DAN PERBANDINGAN BEBERAPA ALGORITMA PEMECAHANNYA

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

PENYELESAIAN TRAVELING SALESMAN PROBLEM (TSP) MENGGUNAKAN ALGORITMA RECURSIVE BEST FIRST SEARCH (RBFS)

SILABUS MATA KULIAH: LOGIKA ALGORITMA

Algoritma dan Flowchart. Dasar Programming 1

Design and Analysis Algorithm

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

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

Penyelesaian Traveling Salesman Problem dengan Algoritma Heuristik

Hubungan Kompleksitas Algoritma dengan Cara Belajar

Penerapan Algoritma Brute Force pada Teka-teki Magic Square 3 x 3

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

PENGENALAN BINARY INDEXED TREE DAN APLIKASINYA

Berpikir Komputasi. Sisilia Thya Safitri, MT Citra Wiguna, M.Kom. 5 Problem Decomposition 24 Oktober 2017

Perbandingan Algoritma Brute Force, Divide and conquer, dan Dynamic Programming untuk Solusi Maximum Subarray Problem

Bagi peserta OSN 2014 dan calon peserta Open OSN William Gozali, Teknis OSN

BAB I PENDAHULUAN. Masalah knapsack adalah permasalahan optimasi yang mendasar. Masalah

EVALUASI KINERJA ALGORITMA PERKALIAN MATRIKS BERANTAI DENGAN TEKNIK DYNAMIC PROGRAMMING

TUGAS RESUME MATERI KULIAH ALGORITMA DAN STRUKTUR DATA STRATEGI ALGORITMA : H

II. TEORI DASAR I. PENDAHULUAN. utang piutang dengan strategi algoritma greedy.

Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack

Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis

Lingkup Metode Optimasi

PERTEMUAN 3 TAHAPAN PEMBUATAN PROGRAM

Algoritma dan Pemrograman

Algoritma dan Pemrograman

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

ALGORITMA GREEDY : MINIMUM SPANNING TREE. Perbandingan Kruskal dan Prim

EKSPLORASI ALGORITMA BRUTE FORCE, GREEDY DAN PEMROGRAMAN DINAMIS PADA PENYELESAIAN MASALAH 0/1 KNAPSACK

Penggunaan Metode Branch And Bound With Search Tree

POKOK BAHASAN - 1 ALGORITMA & PEMROGRAMAN

BAB II LANDASAN TEORI

Algoritma Brute Force (Bagian 2) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik

Metode Numerik. Muhtadin, ST. MT. Metode Numerik. By : Muhtadin

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Strategi Algoritma Penyelesaian Puzzle Hanjie

ALGORITMA. Bahasa Pemrograman adalah prosedur atau tata cara penulisan program.

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency

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

Transkripsi:

PENGENALAN ANALISIS ALGORITMA

Contoh Masalah Masalahataupersoalan: pertanyaanatautugasyang kita cari jawabannya Contoh: [Masalahpengurutan] Diberikansenarai(list) S yang terdiri dari n buah data bilangan bulat. Bagaimana mengurutkan n buah data tersebut sehingga terurut secara menaik? Jawaban dari masalah ini: barisan nilai di dalam senarai yang terurut menaik.

Contoh Masalah [Masalah pencarian] Tentukan apakah suatu bilangan x terdapat di dalam sebuah senarai S yang berisi n buah bilangan bulat! Jawaban dari masalah ini: ya jika x ditemukan di dalam senarai, atau tidak jika x tidak terdapat di dalam senarai.

Instansiasi masalah: parameter nilai yang diasosiasikan pada masalah Jawaban terhadap instansiasi masalah disebut solusi Contoh: Selesaikan masalah pengurutan untuk S = [15, 4, 8, 11, 2, 10, 19] n = 7 Solusi: S = [2, 4, 8, 10, 11, 15, 19].

Algoritma Untuk masalah dengan instansiasi yang besar, solusinya menjadi lebih sulit. Perlu sebuah prosedur umum yang berisi langkah penyelesaian masalah Definisi Algoritmaadalahderetanlangkah-langkahkomputasiyang mentransformasikan data masukan menjadi keluaran[cor92]. Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas. [LEV03]. Algoritma adalah urutan langkah-langkah untuk memecahkan suatu masalah

Notasi Notasi apapun dapat digunakan untuk menuliskan algoritma asalkan mudah dibaca dan dipahami. Algoritma dapat ditulis dengan notasi: 1. Bagan alir (flow chart) 2. Kalimat-kalimat deskriptif 3. Pseudo-code (gabungan antara bahasa alami dengan bahasa pemrograman)

Algorithm Design Process

PenjelasanDesign Process Input : contoh: menentukan jangkauan masalah Kemampuan peralatan komputasi Perkiraan: Masalah tidak dapat diselesaikan dengan tepat misalnya akar pangkat dua Algoritma memiliki solusi secara tepat akan ditolak jika memerlukan waktu yang relatif lama Algortima perkiraan adalah bagian dari algoritma eksak yang lebih memuaskan

PenjelasanDesign Process Algoritma + struktur data = program Pendekatan umum untuk memecahkan masalah secara algoritmik. Menentukan algoritma: Menggunakan bahasa alami Menggunakan flowchart Menggunakan pseudocode Menggunakan source code program Menggunakan desain hardware Bentuk lain yang lebih cocok.

PenjelasanDesign Process Correctness : membuktikan bahwa algoritma menghasilkan hasil yang diinginkan untuk setiap input yang sesuai dalam waktu tertentu Biasanya menggunakan induksi matematis Dapat kita gunakan tracing sederhana incorrectness Approx algotitma Error < limit

PenjelasanDesign Process Kualitasalgoritma: Correctness Efficiency : Efisiensi waktu Efisiensi ruang Simplicity Generality : masalah dan rentang inputan PemrogramanAlgoritma: Resiko: transisis yang tidak benar atau tidak efisien Pembuktiankebenaranprogram Practical : testing dan debugging

Algorithm Design Techniques pendekatan umum untuk memecahkan masalah secara algoritmis yang dapat diterapkan pada beraneka ragam masalah guna mencapai tujuan

Klasifikasi strategi algo 1. Strategi solusi langsung (direct solution strategies) - Algoritma Brute Force - Algoritma Greedy 2. Strategi berbasis pencarian pada ruang status (state-space base strategies) - Algoritma backtracking - Algoritma Branch and Bound

3. Strategi solusi atas-bawah (top-down solution strategies) - Algoritma Divide and Conquer. 4. Strategi solusi bawah-atas (bottom-up solution strategies) - Dynamic Programming.

Problem Types Sorting Searching String processing Graph problem Combinatorial problem Geometric Problem Numerical Problem

TipeProblem : Sorting Problem : menyususn ulang hal-hal yang terdapat pada daftar dengan urutan naik. Jikaadarecords,kitaperlusebuahkey Terdapat beberapa lusin algoritma sorting Dua properti algortima sorting: Stabil : Mempertahankan urutan relatif sembarang dua elemen input yang sama Di tempat : tidak memerlukan memori ekstra kecuali, mungkin beberapa unti memori

TipeProblem :Searching Masalah: menemukan suatu nilai dari sekumpulan nilai yang ada. Jangkauan algoritma searching : Pencariansekuensialhinggabinary (sangatefisien, namun terbatas) dan algoritma didasarkan pada representasi kumpulan nilai tersebut sehingga memungkinkan pencarian yang lebih baik. Tantangan: Kumpulam data yang sangat besar Update : add, edit, delete

TipeProblem : PemrosesanString String = urutan karakter alphabet Minat Khusus: text strings, binary strings dan lain-lain Problem yang khusus: pencocokan string Pencarian suatu kata dalam text

TipeProblem : Graph Problem Algoritmagraph dasar: graph traversal, shortest-path, sorting topologikpadagraph dengan ujung berarah Beberapa masalah sangat sulit diselesaikan dengan cara komputasi hanya beberapa contoh yang dapat diselesaikan dalam waktu yang dapat diterima. Contoh: TSP (Traveling Salesman Problem) GCP(Graph Coloring Problem) Pewarnaan Graph

TipeProblem : Combinatorial Problem Masalah: Menemukan suatu objek kombinatorik sepertipermutasi, kombinasiatausubset yang memenuhi batasan tertentu dan memiliki properti yang diinginkan. Problem yang paling sulit: Sejumlah objek kombinatorik tertentu tumbuh dengan cepat seiring peningkatan ukuran masalah. Tidak diketahui algoritma eksak untuk menyelesaikan masalah tersebut. SalahsatucontohnyaTSP dangcp.

TipeProblem : Geometric Problem Berkaitandenganobjekgeometrik: titik, garis. poligon dan lain-lain Yunani Kuno: membangun geometrik sederhana contohnya segitiga, lingkaran dan lain-lain Masa kini: aplikasi komputer grafik, robot Masalahklasik: Problem closest pair : diberikan titik pada suatu bidang, dan temukan pasangan terdekatnya Convex hull : temukan poligon cembung terkecil yang melibatkan smeua titik yang telah ditentukan

TipeProblem : Numeric Problem Berkaitan dengan objek matematis yang memiliki sifat kontinyu: memecahkanpersamaandansistempersamaan, menghitung integral tak hingga dan lain-lain Mayoritas permasalahan diatas dapat dipecahkan dengan perkiraan. Komputer hanya akan merepresentasi angka real dengan kirakira. Akumulasi kesalahan round-off Perubahan fokus komputasi industri: analisis numerik (pada industri dan ilmu pengetahuan) menuju aplikasi bisnis(penyimpanan informasi, transportasi melalui jaringan dang presentasi kepada pengguna)

Analisis Algoritma Sebuah algoritma tidak hanya harus benar, tetapi juga harus mangkus (efficient) Ukuran kemangkusan algoritma: waktu dan ruang memori (space). Algoritma yang mangkus: algoritma yang meminimumkan kebutuhan waktu dan ruang

Alat ukur efesiensi algoritma Alat ukur kemangkusan algoritma: 1. Kompleksitas waktu, T(n) 2. Kompleksitas ruang, S(n) n = ukuran masukan yang diproses oleh algoritma T(n) : jumlah operasi yang dilakukan untuk menjalankan sebuah algoritma sebagai fungsi dari ukuran masukan n. S(n): ruang memori yang dibutuhkan algoritma sebagai fungsi dari ukuran masukan n