Anda di halaman 1dari 11

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
– Pengurutan
• 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
– 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
– 6 dibagi 1 = 6
– 6 dibagi 2 = 3
– 6 dibagi 3 = 2
– 6 dibagi 6 = 1
Bina Nusantara
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
TAHAP 4
• Analisis algoritma

• Hitung fungsi kompleksitas


• Hitung Big-Oh

Bina Nusantara

Anda mungkin juga menyukai