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

dokumen-dokumen yang mirip
UNIVERSITAS GUNADARMA

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

ALGORITMA GREEDY : MINIMUM SPANNING TREE. Perbandingan Kruskal dan Prim

Algoritma Greedy (lanjutan)

ALGORITMA DIVIDE AND CONQUER

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

MAKALAH ALGORITMA DIVIDE AND CONQUER

Decrease and Conquer

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

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

Algoritma Divide and Conquer (Bagian 1)

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

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

STRATEGI DIVIDE AND CONQUER

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Solusi UTS Stima. Alternatif 1 strategi:

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

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

UNIVERSITAS GUNADARMA

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

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

Design and Analysis of Algorithm

Algoritma Greedy (lanjutan)

ALGORITHM. 3 Rekursif Algorithm. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

BAB VII ALGORITMA DIVIDE AND CONQUER

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

ALGORITMA RUNUT-BALIK UNTUK MENGGANTIKAN ALGORITMA BRUTE FORCE DALAM PERSOALAN N-RATU

BAB IV PERANCANGAN. IV.1 Evaluasi Usulan untuk Perancangan Iteratif

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

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

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

Gambar 13.1 Ilustrasi proses algoritma sorting

METODE DEVIDE AND CONQUER (DANDC)

Design and Analysis of Algorithm

Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy

Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data

KATA PENGANTAR. Puji syukur kami panjatkan ke hadirat Alloh SWT atas terbentuknya Lembar Tugas

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Algoritma Brute Force

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

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

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

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

Algoritma Pendukung Kriptografi

Algoritma Divide and Conquer (Bagian 2)

Teknik Pengurutan Kartu Remi

BAB I PENDAHULUAN Latar Belakang

Algoritma Divide and Conquer. (Bagian 2)

METODE DEVIDE AND CONQUER

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Implementasi Brute Force dan Greedy dalam Permainan Big Two (Capsa)

Penggunaaan Algoritma Greedy Dalam Aplikasi Vending Machine

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

Penerapan Algoritma Runut-balik pada Permainan Math Maze

Penerapan Algoritma Greedy dalam Pencarian Rantai Penjumlahan Terpendek

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

Sorting Algorithms. Divide and Conquer

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

SEARCHING & SORTING. Pendahuluan

Penerapan Algoritma Backtracking pada Pewarnaan Graf

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

RENCANA PEMBELAJARAN SEMESTER (RPS)

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

IF5110 Teori Komputasi. Teori Kompleksitas. (Bagian 1) Oleh: Rinaldi Munir. Program Studi Magister Informatika STEI-ITB

Model Jaringan. Ahmad Sabri, MSi, Riset Operasional 2, Universitas Gunadarma

BAB 3 ANALISA SISTEM

BAB 2 TINJAUAN PUSTAKA

Design and Analysis Algorithm

Implementasi Algoritma Greedy pada Permainan Ludo

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Algoritma Brute Force

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

BAB 2 LANDASAN TEORI

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

Syarat dan Ketentuan yang berlaku:

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

Algoritma. Begin at the beginning and go on /ll you come to the end: then stop. Lewis Caroll, Alice s Adventures in Wonderland, 1865

PENGGUNAAN ALGORITMA GREEDY PADA MESIN PENCARI

BAB V Tujuan 5.1 Rekursi Dasar

PERBANDINGAN KOMPLEKSITAS PENERAPAN ALGORITMA GREEDY UNTUK BEBERAPA MASALAH

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

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

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

BAB 1 PENDAHULUAN. 1.1 Latar belakang

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

Design and Analysis Algorithm

PERBANDINGAN ALGORITMA GREEDY DAN BRUTE FORCE DALAM SIMULASI PENCARIAN KOIN

Permodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal

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

Kompleksitas Algoritma Sorting yang Populer Dipakai

RANCANG BANGUN APLIKASI MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

Gambar 6. Graf lengkap K n

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

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

Penerapan Algoritma Greedy untuk Permainan Flood It

Transkripsi:

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

Teknik rekursif dan iteratif Algoritma rekursif adalah algoritma yang memanggil dirinya sendiri sampai tercapai kondisi yang ditetapkan Algoritma iteratif adalah algoritma yang menggunakan loop untuk mencapai solusi

Algoritma untuk menghitung n faktorial Versi rekursif function factorial(n) if n = 0 then return 1; else return (n * factorial(n-1)); end function Versi iteratif r := 1; for i := 1 to n do r := r * i; end for

Algoritma untuk menghitung bilangan Fibonacci ke-n Versi rekursif Versi iteratif function fibo(n) if (n = 1 or n = 2) then return 1; else return fibo(n-1) + fibo(n-2); end function Ket: n 1 prev1 := 1; prev2 := 1; fibo := 0; for i := 3 to n do fibo := prev1 + prev2; prev1 := prev2; prev2 := fibo; end (Ket: n 3)

Metode dasar algoritma Brute force Divide and conquer Greedy

Metode brute force Ide: Menyelesaikan masalah dengan pendekatan "langsung jadi", umumnya dilakukan berdasarkan definisi permasalahan yang ada dan batasan yang diterapkan Catatan: Disebut juga skema "naif" Metode brute force mengabaikan kompleksitas, namun selalu memberikan solusi Metode brute force menjadi sangat tidak efisien jika ukuran masalah (yaitu, input data) semakin besar Umumnya digunakan untuk menyelesaikan masalah berukuran kecil, di mana pengaruh kompleksitas tidak terlalu signifikan terhadap kinerja algoritma

Brute force: selection sort 1.Diberikan sebarang barisan bilangan integer 2.Temukan elemen terkecil pada (sub)barisan yang belum terurut 3.Tempatkan elemen terkecil tersebut pada posisi pertama dari barisan yang belum terurut tersebut 4.Kembali ke langkah 1 sampai diperoleh barisan yang terurut

Brute force: selection sort Urutkanlah barisan bilangan 51364287 secara naik, dengan metode selection sort

Beberapa masalah yang diselesaikan dengan brute force 1.Sorting 2.String matching/searching 3.Generating object

Metode divide and conquer Ide: 1.Bagilah masalah menjadi beberapa bagian masalah yang lebih kecil 2.Pecahkan setiap masalah yang lebih kecil tersebut 3.Gabungkanlah solusi masalah yang lebih kecil tersebut untuk memperoleh solusi masalah semula.

Divide and conquer: merge sort 1.Diberikan sebarang barisan bilangan integer 2.Bagilah barisan tersebut menjadi dua bagian sampai didapat bagian terkecil 3.Gabungkanlah (merge) setiap dua subbarisan yang berurutan, dengan mengurutkan bilangannya. 4.Kembali ke langkah 3 sampai diperoleh barisan semula yang telah terurut.

Divide and conquer: merge sort Urutkanlah barisan 38,27,43,3,9,82,10 dengan teknik merge sort

Metode greedy Ide: 1. Mulailah dari solusi masalah terkecil 2. Secara bertahap, bentuklah solusi untuk masalah yang lebih besar. Ulangi langkah ini sampai tercapai solusi masalah semula. Dengan menemukan solusi lokal, "diharapkan" solusi global dapat ditemukan Algoritma greedy memberikan solusi, namun belum tentu diperoleh solusi terbaik

Greedy: masalah pohon rentangan minimal Algoritma Kruskal 1. Mulai dengan himpunan semua simpul pada graf G tanpa mengikutsertakan ruasnya 2. Tambahkan sebuah ruas berbobot terkecil yang tidak menghasilkan loop. Jika ada terdapat beberapa ruas dengan bobot terkecil yang sama, pilih salah satunya secara sebarang. 3. Kembali ke langkah 2, sampai semua simpul terhubung.

Algoritma Prim 1. Mulai dengan himpunan semua simpul pada G tanpa mengikutsertakan ruasnya 2. Tentukan simpul awal. Hubungkan simpul ini dengan simpul terdekatnya 3. Kategorikan simpul yang sudah terhubung sebagai C, dan simpul yang belum terhubung sebagai C 4. Pilih sebuah simpul berkategori C yang dapat dihubungkan dengan salah satu simpul berkategori C dengan ruas berbobot terkecil. 5. Hubungkan kedua simpul tersebut, dan dari keduanya, ubah simpul yang berkategori C menjadi C. 6. Kembali ke langkah 3 sampai semua simpul terhubung.

Greedy: masalah pohon rentang minimal Sebuah jaringan TV kabel berencana membangun jaringan kabel yang menghubungkan stasiun pusat di kota 1 menuju kelima kota lainnya (2,..,6), berdasarkan diagram jarak berikut. Dengan pertimbangan ekonomis, panjang kabel yang digunakan harus seminimal mungkin. Tentukan diagram jaringan kabel yang perlu dibangun. Sumber: Operations Research, Hamdy Taha

Algoritma Kruskal (dengan metode greedy) selalu menemukan solusi terbaik untuk masalah pohon rentangan minimal Namun, metode greedy tidak selalu menemukan solusi terbaik untuk masalah traveling salesman