Matakuliah Tahun : T0034 / Perancangan & Analisis Algoritma : 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 – Pengurutan • • • • • Selection Sort Insertion Sort Buble Sort Merge Sort Quick Sort – Pencarian • Sequential Search • Binary Search • Metode Greedy – – – – Bina Nusantara Knapsack Problem Pengurutan jobs berdasar deadline Minimum Spanning Tree Shortest Path REVIEW (3) • Dynamic Programming – – – – – • • • • 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 • Traveling Salesman Problem 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 – – – – Bina Nusantara 6 dibagi 1 = 6 6 dibagi 2 = 3 6 dibagi 3 = 2 6 dibagi 6 = 1 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 2 3 4 5 6 7 Bina Nusantara iJumFak=0 for x=1 to N do if (N mod x)=0 then iJumFak=iJumFak+1 end if end for display iJumFak TAHAP 4 • Analisis algoritma • Hitung fungsi kompleksitas • Hitung Big-Oh Bina Nusantara
© Copyright 2026 Paperzz