STRUKTUR DATA KULIAH KE : 3 ALGORITMA

dokumen-dokumen yang mirip
Analisa Algoritma. Konsep Algoritma

Analisis dan Strategi Algoritma

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

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

Pengantar Strategi Algoritmik. Oleh: Rinaldi Munir

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

STRATEGI DIVIDE AND CONQUER

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

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

PEMROGRAMAN TERSTRUKTUR

BAB VII ALGORITMA DIVIDE AND CONQUER

Kompleksitas Algoritma Sorting yang Populer Dipakai

UNIVERSITAS GUNADARMA

Logika dan Algoritma Yuni Dwi Astuti, ST 2

BAB 2 TINJAUAN PUSTAKA

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

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Pengantar Teknologi Informasi

Analisis Kecepatan Sorting Dengan Notasi Big O

Menyelesaikan Puzzle Matematika Braingle dengan Algoritma Brute Force

Sub Pokok Bahasan dan Sasaran Belajar

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

PENGENALAN ANALISIS ALGORITMA

KOMPUTASI PEMROGRAMAN

BAB II LANDASAN TEORI

RENCANA PEMBELAJARAN SEMESTER (RPS)

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

Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy

BAB 2 LANDASAN TEORI. 2.1 Algoritma

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

Teknik Pengujian (2) Whitebox Testing

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

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

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

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

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

RENCANA PEMBELAJARAN SEMESTER (RPS)

PERTEMUAN 8 MATRIX. Introduction Definition How is matrix stored in memory Declaration Processing

Design and Analysis of Algorithm

Syarat dan Ketentuan yang berlaku:

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan

Implementasi Pencocokan String Tidak Eksak dengan Algoritma Program Dinamis

Pengantar Strategi Algoritma

TESTING & IMPLEMENTASI SISTEM 4KA. Mengukur Produktivitas Perangkat Lunak. helen.staff.gunadarma.ac.id

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

PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA

BAB I PENDAHULUAN Latar Belakang

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

BAB II LANDASAN TEORI

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

1.4. Batasan Masalah Batasan-batasan masalah dalam pembuatan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN. Knapsack adalah suatu permasalahan dalam menentukan pemilihan objek

BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

Kompleksitas Algoritma

Langkah Awal menuju Analisis Kompleksitas Algoritma

Hubungan Kompleksitas Algoritma dengan Cara Belajar

BAB III METODOLOGI PENELITIAN

Array (Tabel) bagian 2

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

BAB 2 LANDASAN TEORI

Decrease and Conquer

BAB 1 PENDAHULUAN. Berbagai cabang ilmunya telah membantu manusia menyelesaikan pekerjaan dengan

BAB III METODOLOGI PENELITIAN

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

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

PERTEMUAN 3 TAHAPAN PEMBUATAN PROGRAM

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

Metode Simpleks dalam Bentuk Tabel (Simplex Method in Tabular Form) Materi Bahasan

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

Solusi UTS Stima. Alternatif 1 strategi:

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

KOMBI ASI GREEDY, MI IMAX, DA ALPHA-BETA PRU I G U TUK PERMAI A REVERSI

BAB I PENDAHULUAN 1.1 Latar Belakang

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

UNIVERSITAS GUNADARMA

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

Algoritma & Struktur Data I. Mia Fitriawati, S.Kom,M.Kom. Tujuan Perkuliahan

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

BAB 2 LANDASAN TEORI. waktu yang diperlukan. Pengukuran waktu yang diperlukan dalam mengeksekusi suatu

BAB I PENDAHULUAN 1.1. Latar Belakang

KONTRAK PEMBELAJARAN (KP) MATA KULIAH. Algoritma dan Pemrograman

BAB 2 LANDASAN TEORI

CHAPTER 3 ALGORITHMS 3.1 ALGORITHMS

BAB I PENDAHULUAN. secara lebih aktual dan optimal. Penggunaan teknologi informasi bertujuan untuk

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR. Pertemuan Ke-1

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

Teknik Riset Operasional Semester Genap Tahun Akademik 2015/2016 Teknik Informatiaka UIGM

TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST

UNIVERSITAS BINA NUSANTARA. Program Ganda Teknik informatika - Matematika Skripsi Sarjana Program Ganda Semester Ganjil 2006/2007

MILIK UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Permasalahan

Modul Praktikum Algoritma dan Struktur Data

Transkripsi:

STRUKTUR DATA KULIAH KE : 3 ALGORITMA

Ciri-ciri algoritma 1. Input 2. Output 3. Definite 4. Efective 5. Terminate : masukan : keluaran : jelas : efektif : berakhir

1. Input 2. Output terdapat nol masukan atau lebih yang diberikan secara eksternal sedikitnya terdapat satu keluaran yang harus dikeluarkan 3. Definite : jelas harus secara sempurna menyatakan apa yang dilakukan. contoh (tidak direkomendasikan) : a. hitung 5/0 b. tambahkan 6 atau 7 ke x 4. Efective : efektif setiap instruksi harus dapat dilakukan secara manual menggunakan pensil dan kertas dalam sejumlah waktu yang berhingga 5. Terminate : berakhir harus berhenti setelah sejumlah terbatas operasi

masalah disebut dapat diselesaikan secara algoritma jika dapat ditulis program komputer yang dapat menghasilkan jawaban benar untuk sembarang masukan (yang dispesifikasikan) dalam waktu yang berhingga dan menggunakan ruang memori yang tersedia.

Model formal studi algoritma Computability theory Computability complexity

Computability theory adalah teori yang mendeskripsikan dan mencirikan masalah yang dapat diselesaikan dan tidak dapat diselesaikan secara algoritma. contoh : perfect chess playing

Computability complexity Ada 2 macam : 1. Kompleksitas dari fungsi komputasi (complexity of computability) 2. Kompleksitas untuk persoalan dan algoritma tertentu

Kegiatan-kegiatan yang terkait dengan algoritma : Perancangan algoritma Validasi algoritma Analisis algoritma Penulisan algoritma menjadi program Pengujian algoritma

Dalam perancangan struktur data diperlukan penguasaan : Kemampuan mengajukan bentuk-bentuk representasi data Kemampuan membuat analisis terhadap algoritma yang beroperasi pada struktur tsb.

1. Perancangan algoritma Merupakan art Strategi : 1. Strategi greedy 2. Strategi divide-and and-conquer 3. Strategi pemrograman dinamis 4. Strategi backtracking 5. Strategi branch-and and-bound 6. Strategi pencarian dan penelusuran ( (search and traversal) 7. Strategi pemrograman linier 8. Strategi pemrograman integer 9. Strategi algoritma genetik 10. Strategi neural network

2. Validasi algoritma Tujuan : Menjamin algoritma bekerja secara benar, tidak bergantung bahasa pemrograman Cara pembuktian kebenaran algoritma : 1. Spesifikasi dinyatakan dengan kalkulus predikat 2. Barisan assertion yang dinyatakan dengan kalkulus predikat

3. Analisis Algoritma Kegunaan : Sebagai kegiatan intelektual yang menyenangkan Memprediksi kelakuan algoritma Sebagai sarana untuk pemilihan algoritma yang efisien Untuk memperbaiki kinerja algoritma

Tugas-tugas yang dilakukan : Penentuan jumlah operasi dan ongkos relatifnya (analisis komputasi) Penentuan jumlah ruang data yang diperlukan algoritma Tipe analisis algoritma : 1. Analisis untuk memeriksa kebenaran algoritma 2. Analisis efisiensi algoritma (kompleksitas komputasi dan ruang) 3. Analisis optimalitas algoritma

1. Analisis Kebenaran Algoritma Yang dilakukan : 1. Penelusuran algoritma 2. Penelusuran logik (assertion) 3. Implementasi algoritma 4. Pengujian dengan data 5. Atau menggunakan teknik matematika untuk pembuktian kebenaran Sering dimasukkan sebagai proses validasi algoritma

2. Analisis Efisiensi Algoritma Terdapat 2 fase : 1. A priori analysis 2. A posteriori testing

A priori analysis Untuk menemukan fungsi (beserta parameter-parameter yang relevan) yang membatasi waktu komputasi algoritma Notasi matematika yang digunakan untuk menunjukkan hasil : O-notation (Big-O) Ω-notation Θ-notation

A posteriori testing Dikumpulkan statistik nyata konsumsi waktu dan ruang suatu algoritma pada mesin dan bahasa pemrograman tertentu. Tujuan : menentukan jumlah waktu dan ruang penyimpanan yang diperlukan program. Kegunaan : Memvalidasi a priori analysis.

3. Analisis optimalitas algoritma Algoritma disebut optimal jika tidak terdapat algoritma lain di kelas persoalan itu yang mempunyai jumlah operasi yang lebih sedikit dibanding algoritma itu. Harus ditemukan lower bound jumlah operasi minimum yang perlu dilakukan untuk penyelesaian masalah. Jika algoritma menyelesaikan masalah dengan jumlah operasi yang sama dengan lower bound maka algoritma disebut optimal.

Pengukuran Kebaikan Algoritma Kebaikan algoritma ditentukan oleh : Seberapa baik algoritma menyelesaikan masalah Seberapa efisien algoritma menyelesaikan masalah

penilaian terhadap algoritma melibatkan analisis algoritma sehingga terdapat 2 tipe analisis algoritma : 1. aspek kualitatif Analisis untuk memeriksa kebenaran algoritma 2. Aspek kuantitatif Analisis terhadap efisiensi algoritma

Analisis Kualitatif Dilakukan dengan penelusuran algoritma, dilakukan penelusuran logik menggunakan teknik matematika untuk membuktikan kebenaran atau implementasi algoritma mengujinya dengan data. Contoh : Algoritma pengurutan data (sorting) tidak dapat disebut sebagai algoritma pengurutan jika algoritma tidak dapat mengurutkan sembarang masukan barisan data.

Analisis Kuantitatif Dilakukan dengan melakukan perhitungan kompleksitas komputasi (waktu) dan ruang. Aspek kuantitatif mencoba mengukur seberapa besar sumber daya yang diperlukan suatu algoritma 2 sumber daya yang diukur : Kecepatan bekerja algoritma Ruang yang diperlukan untuk bekerja

Kompleksitas Komputasi dan Ruang Notasi untuk menyatakan kinerja big-oh (O) yaitu waktu komputasi algoritma berbanding terhadap satu fungsi tertentu Big-O biasanya hanya dinyatakan dengan suku yang paling berarti dan menghilangkan konstanta pengalinya. Jadi O((n 2 -n)/2) hanya dinyatakan dengan O(n 2 ).

Tugas : 1. Cari algoritma untuk mengurutkan data menggunakan metode bubblesort dan insertion sort. 2. Buat programnya.