Pertemuan 25 MERANCANG ALGORITMA DENGAN KOMPLEKSITAS TERTENTU Matakuliah : T0034 / Perancangan & Analisis Algoritma Tahun : 2008 Pertemuan 25 MERANCANG ALGORITMA DENGAN KOMPLEKSITAS TERTENTU
REVIEW (1) Pengenalan algoritma Komponen-komponen algoritma Perulangan Percabangan Modul Rekursif Induksi matematika Analisis algoritma Fungsi kompleksitas Abstract Data Type Stack Queue Priority Queue Tree Binary Tree Heap Graph Bina Nusantara
REVIEW (2) Divide and Conquer Metode Greedy Pengurutan Pencarian Selection Sort Insertion Sort Buble Sort Merge Sort Quick Sort Pencarian Sequential Search Binary Search Metode Greedy Knapsack Problem Pengurutan jobs berdasar deadline Minimum Spanning Tree Shortest Path Bina Nusantara
REVIEW (3) Dynamic Programming Code Optimization Huffman Code Fibonacci Sequence Problem Coin Change Problem Multistage Graph Problem Traveling Salesman Problem Knapsack Problem Code Optimization Huffman Code Graph Coloring Search Tree Tree Traversal Backtracking Branch and Bound Bina Nusantara
MEMBUAT PROGRAM KOMPUTER Meneliti masalah Jika masalah berupa sebuah soal, baca dan pahami soal dulu sebaik-baiknya Memahami masalah Membuat model masalah Merancang algoritma Membuat pseudocode Menterjemahkan pseudocode ke bahasa pemrograman Analisis algoritma Menghitung fungsi kompleksitas Menghitung Big-Oh Optimisasi algoritma Kompilasi Percobaan Implementasi Pelatihan bagi pengguna Perawatan Bina Nusantara
KASUS 1 Buatlah sebuah algoritma untuk menghitung jumlah faktor pembagi bilangan N ! Bina Nusantara
TAHAP 1 Pahami dulu soalnya ! Kasus ini mirip dengan kasus bilangan prima Faktor pembagi = bilangan yang habis membagi bilangan tertentu Bilangan prima : mencari apakah jumlah faktor = 2 Kasus 1 : mencari jumlah faktor sebuah bilangan N Misal : Jumlah faktor dari 5 adalah 2 5 dibagi 1 = 5 5 dibagi 5 = 1 Jumlah faktor dari 6 adalah 4 6 dibagi 1 = 6 6 dibagi 2 = 3 6 dibagi 3 = 2 6 dibagi 6 = 1 Bina Nusantara
Contoh permodelan sederhana : TAHAP 2 Buat model masalah ! Contoh permodelan sederhana : Sebuah bilangan X adalah faktor dari N jika N mod X = 0 Bina Nusantara
TAHAP 3 Merancang algoritma Untuk sebuah bilangan N, kita perlu mencari semua bilangan X yang habis membagi N Jadi, semua bilangan dari 1 hingga N dicoba satu per satu Contoh pseudocode awal 1 iJumFak=0 2 for x=1 to N do 3 if (N mod x)=0 then 4 iJumFak=iJumFak+1 5 end if 6 end for 7 display iJumFak Bina Nusantara
Hitung fungsi kompleksitas Hitung Big-Oh TAHAP 4 Analisis algoritma Hitung fungsi kompleksitas Hitung Big-Oh Bina Nusantara