PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id



dokumen-dokumen yang mirip
Design and Analysis of Algorithm

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

Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes.

Algoritma Divide and Conquer (Bagian 1)

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

Decrease and Conquer

Design and Analysis of Algorithm

Algoritma Divide and Conquer (Bagian 2)

Kompleksitas Algoritma

RESUME ALGORITMA MERGE SORT DAN REKURENS

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.

Algoritma Divide and Conquer. (Bagian 2)

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

Kompleksitas Algoritma

BAB VII ALGORITMA DIVIDE AND CONQUER

STRATEGI DIVIDE AND CONQUER

ALGORITMA DIVIDE AND CONQUER

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

MAKALAH ALGORITMA DIVIDE AND CONQUER

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

Kompleksitas Algoritma

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

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

Kompleksitas Algoritma

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

Design and Analysis Algorithm

Algoritma Pemrograman

BAB I PENDAHULUAN Latar Belakang

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

Algoritma Brute Force

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

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

Algoritma Brute Force

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

Kompleksitas Algoritma (1)

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Algoritma Divide and Conquer

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

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

Kata kunci: definisi, relasi rekursi linier berkoefisien konstan, solusi relasi rekurensi, dan solusi homogen & partikelir

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

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Logika dan Algoritma Yuni Dwi Astuti, ST 2

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

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

Algoritma Pemrograman

Algoritma Brute Force (lanjutan)

Analisis Kecepatan Sorting Dengan Notasi Big O

Kompleksitas Algoritma

Penentuan Hubungan Kompleksitas Algoritma dengan Waktu Eksekusi pada Operasi Perkalian

Kompleksitas Waktu untuk Algoritma Rekursif. ZK Abdurahman Baizal

Perbandingan Algoritma Pengurutan Merge Sort, Quick Sort dan Heap Sort Dilihat dari Kompleksitasnya

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

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

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

REKURSIF. Arkham Zahri Rakhman, S.Kom., M.Eng. Rev.: Dr. Fazat Nur Azizah

Kemangkusan Algoritma Pada Beberapa Variasi Quick Sort

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

Relasi Rekursi. Definisi Relasi Rekursi

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

MODUL IV PENCARIAN DAN PENGURUTAN

Solusi UTS Stima. Alternatif 1 strategi:

Algoritma Pemrograman

METODE DEVIDE AND CONQUER (DANDC)

Penyelesaian Masalah Closest Pair dengan Algoritma Divide and Conquer

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 3

Design and Analysis Algorithm

Algoritma dan Kompleksitas Algoritma

Rekursif. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri.

REKURSIF. Dari bahan Dasar Pemrograman oleh: Arkham Zahri Rakhman Rev.: Fazat Nur Azizah

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Kompleksitas Algoritma Quick Sort

JARINGAN UNTUK MERGING

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency

Multithreading untuk Algoritma Divide and Conquer

Penerapan Rekursif dan Analisa Kompleksitas Algoritma Pada Brute Force Login

Analisis dan Strategi Algoritma

BAB 3 ANALISA SISTEM

Kompleksitas Algoritma Sorting yang Populer Dipakai

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

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Pengantar Analisa Algoritma

Relasi Rekursi. Matematika Informatika 4. Onggo

CHAPTER 3 ALGORITHMS 3.1 ALGORITHMS

Algoritma dan Struktur Data

Algoritma Brute Force (lanjutan)

Penerapan Algoritma Runut-balik pada Permainan Math Maze

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

BAB 2 LANDASAN TEORI

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

FUNGSI. setiap elemen di dalam himpunan A mempunyai pasangan tepat satu elemen di himpunan B.

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

Penerapan Algoritma Backtracking pada Pewarnaan Graf

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

BAB V Tujuan 5.1 Rekursi Dasar

CCH1A4 / Dasar Algoritma & Pemrogramanan

Transkripsi:

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id

Kinerja yang perlu ditelaah pada algoritma: beban komputasi efisiensi penggunaan memori Yang perlu diperhatikan: Kasus rata-rata : running time untuk tipikal data tertentu. Kasus terjelek : running time yang mungkin paling jelek pada konfigurasi masukan data tertentu. Program bahasa yang dipakai Program sensitif terhadap input Program sulit dimengerti, dan secara matematis hasil tak tersedia/diketahui Sering program tak bisa dibandingkan

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa jumlah waktu dan ruang (space) memori yang dibutuhkan untuk menjalankannya. Algoritma yang mangkus ialah algoritma yang meminimumkan kebutuhan waktu dan ruang. Kebutuhan waktu dan ruang suatu algoritma bergantung pada ukuran masukan (n), yang menyatakan jumlah data yang diproses. Kemangkusan algoritma dapat digunakan untuk menilai algoritma yang terbaik.

Bentuk rekursif : a. suatu subrutin/fungsi/ prosedur yang memanggil dirinya sendiri. b. Bentuk dimana pemanggilan subrutin terdapat dalam body subrutin c. Dengan rekursi, program akan lebih mudah dilihat

Bentuk rekursi bertujuan untuk : b. menyederhanakan penulisan program c. menggantikan bentuk iterasi Syarat bentuk rekursif: ada kondisi terminal (basis) ada subroutine call yang melibatkan parameter yang nilainya menuju kondisi terminal (recurrence)

Untuk bentuk rekursif, digunakan teknik perhitungan kompleksitas dengan relasi rekurens

Function Faktorial (input n : integer) {menghasilkan nilai n!, n tidak negatif} Algoritma If n=0 then integer Return 1 Else Return ( n*faktorial (n-1) ) Endif

Kompleksitas waktu : b. untuk kasus basis, tidak ada operasi perkalian (0) c. untuk kasus rekurens, kompleksitas waktu diukur dari jumlah perkalian (1) ditambah kompleksitas waktu untuk faktorial (n-1)

Jadi relasi rekurens :

Relasi Rekurrens :

Persoalan Minimum & Maksimum procedure MinMaks2(input A : TabelInt, i, j : integer, output min, maks : integer) { Mencari nilai maksimum dan minimum di dalam tabel A yang berukuran n elemen secara Divide and Conquer. Masukan: tabel A yang sudah terdefinisi elemenelemennya Keluaran: nilai maksimum dan nilai minimum tabel} Deklarasi min1, min2, maks1, maks2 : integer

Persoalan Minimum &Maksimum if i=j then { 1 elemen } min Ai maks Ai else if (i = j-1) then { 2 elemen } if Ai < Aj then maks Aj min Ai else maks Ai min Aj endif

Persoalan Minimum &Maksimum else { lebih dari 2 elemen } k (i+j) div 2 { bagidua tabel pada posisi k } MinMaks2(A, i, k, min1, maks1) MinMaks2(A, k+1, j, min2, maks2) if min1 < min2 then min min1 else min min2 endif if maks1<maks2 then maks maks2 else maks maks2 endif

Persoalan Minimum Relasi &Maksimum rekurrens: Penyelesaian: Asumsi: n = 2 k, dengan k bilangan bulat positif, maka

Persoalan Minimum &Maksimum

Untuk mengetahui kompleksitas bentuk rekursif, maka T(n) harus diubah dalam bentuk yang bukan rekursif Bagaimana mengubah bentuk rekursif ke non rekursif? Ada dua macam cara untuk menyelesaikan masalah ini, yaitu cara coba-coba dan dengan persamaan karakteristik : 1. Cara coba-coba (deret). 2. Metode dengan persamaan karakteristik

Cara coba-coba Cara ini dilakukan dengan menentukan pola deret yang terbentuk (cara deret). Contoh untuk cara ini telah ditunjukkan dalam mencari kompleksitas waktu untuk beberapa bentuk rekursif sebelumnya. Cara ini agak sulit dan perlu pengalaman.

Sulit untuk diformulasikan

Metode dengan persamaan karakteristik Bentuk Persamaan Linier Tak Homogen Langkah-langkahnya adalah sebagai berikut: 1. Perhatikan bentuk rekursifnya : polinomial dengan orde / derajat terbesar d didapatkan nilai t dan d

Metode dengan persamaan karakteristik 2. Asumsi f(n) = 0 bentuk homogen

3. Diperoleh persamaan karakteristik : t dan d didapatkan dari langkah 1 4. Ada 2 macam kasus : Kasus 1 Semua akar karakteristik berbeda Solusi Umum: c 1, c 2, c 3 adalah konstanta yang harus dicari

Kasus 2 Semua akar karakteristik sama, yaitu x 1 = x 2 =... = x N Solusi Umum: Masalah faktorial

(ii) persamaan homogen (anggap f(n)=0) (suku dengan orde terkecil), didapatkan : x 1 = 0

( iii) Persamaan karakteristik (x 1)(x 1) = 0 Akar akarnya adalah : x 1 = 1 dan x 2 = 1 Akar sama, jadi termasuk kasus 2, sehingga solusi umum : Cari c1 dan c2 : Dari relasi rekurens : Dari solusi umum:

Masalah faktorial

Kompleksitas waktu: Asumsi: n = 2 k T(n) = jumlah perbandingan pada pengurutan dua buah upatabel + jumlah perbandingan pada prosedur Merge T ( n) = 2T ( n a / 2) + cn, n, n = > 1 1

Penyelesaian: T(n) = 2T(n/2) + cn = 2(2T(n/4) + cn/2) + cn = 4T(n/4) + 2cn = 4(2T(n/8) + cn/4) + 2cn = 8T(n/8) + 3cn =... = 2 k T(n/2 k ) +kcn Berhenti jika ukuran tabel terkecil, n = 1: sehingga n/2 k = 1 k = 2 log n T(n) = nt(1) + cn 2 log n = na + cn 2 log n = O(n 2 log n)