SlideShare a Scribd company logo
1 of 43
Download to read offline
ANALISIS ALGORITMA
Langkah Desain Algoritma
Pemateri:
Adam Mukharil Bachtiar
adam@email.unikom.ac.id
Untuk bisa melakukan proses
desain algoritma maka ada
beberapa langkah yang harus
dilakukan
Understand the problem
Decide on:
Computational means,
exact vs approximate
solving, data structure(s),
algorithm design
technique
Design an algorithm
Prove correctness
Analyze the algorithm
Code the algorithm
Langkah-langkah
Desain Algoritma
Langkah 1:
Memahami Jangkauan Masalah
Untuk bisa memahai jangkauan
masalah maka kita harus
memetakan masalah
berdasarkan tipe masalahnya
Tipe permasalahan pada algoritma:
1 Pengurutan
2 Pencarian
3 Pemrosesan String
4 Graph
5 Kombinatorik
6 Geometrik
7 Numerik
Masalah 1: Pengurutan
Inti masalah:
Menyusun ulang hal-hal yang terdapat pada
daftar dengan urutan menaik/menurun
Tantangan:
1 Jika bentuk data adalah record maka kita butuh sebuah key
2 Terdapat beberapa algoritma pengurutan
Masalah 2: Pencarian
Inti masalah:
Menemukan suatu nilai dari sekumpulan nilai
yang ada
Jangkauan Algoritma:
Algoritma sekuensial atau binary search
(efisien tapi penggunaan terbatas)
Tantangan:
1 Kumpulan data yang sangat besar
2 Update: add, edit, delete
Masalah 3:
Pemrosesan String
Masalah Khusus:
Pencocokan string (pencarian kata dalam
suatu teks)
Jangkauan Algoritma:
Algoritma untuk text string, binary string,dan
gene sequences
Masalah 4: Graph
Inti masalah:
Penelusuran graph, pencarian jarak
terpendek, sorting topologic pada graph
dengan ujung berarah
Tantangan:
1 Travelling Salesman Problem
2 Pewarnaan graph
Masalah 5:
Kombinatorik
Inti masalah:
Menemukan suatu objek kombinatorik
(permutasi, kombinasi, atau subset) yang
memiliki batasan-batasan tertentu dan
memiliki property yang diinginkan
Tantangan:
1 Sejumlah objek kombinatorik tertentu tumbuh dengan cepat
seiring perkembangan ukuran masalah
2 Tidak diketahui algoritma eksak untuk menyelesaikan masalah
tersebut dalam waktu yang diinginkan
Masalah 6:
Geometrik
Inti masalah:
membangun bentuk geometrik dengan
menggunakan titik, garis, dan polygon, dan
lainnya
Tantangan:
1 Aplikasi komputer grafik, robot, dan tomography
2 Closest-pair
3 Convex-full
Masalah 7:
Numerik
Jangkauan Algoritma:
Melibatkan objek matematis yang memiliki
sifat
Inti masalah:
membangun bentuk geometrik dengan
menggunakan titik, garis, dan polygon, dan
lainnya
Tantangan:
1 Melibatkan objek matematis yang bersifat kontinu
2 Perubahan fokus pada komputasi industri
Langkah 2:
Memutuskan beberapa hal:
1 Problem memerlukan algoritma eksak atau perkiraan
2 Struktur data yang optimal
3 Teknik desain algoritma
Algoritma eksak tidak akan
ditolerir apabila memerlukan
waktu yang relatif lama
Contoh masalah:
cari solusi dari akar pangkat dua dari
bilangan x dimana x adalah bilangan real.
Jenis masalah:
Algoritma perkiraan karena solusi berupa
bilangan kontinu.
Operasi Array Dynamic Linked List
Get() Ο(1) Ο(%)
Add() Ο(1) Ο 1 à insert first/last
Remove() Ο(%) Ο(%)
Brute Force VS. Divide and Conquer
Contoh masalah:
Pencarian bilangan pada array berukuran
10000
Langkah 3:
Desain algoritma
Pilihan desain algoritma:
1 Menggunakan Bahasa alami
2 Flowchart
3 Desain hardware
4 Menggunakan source code program
5 Pseudo code
6 Bentuk lain?
Langkah 4:
Pembuktian Kebenaran Algoritma
Membuktikan bahwa algoritma
menghasilkan output yang
sesuai dengan input yang
diberikan dalam waktu tertentu
Pilihan pembuktian kebenaran:
1 Induksi matematis
2 Tracing algoritma sederhana
3 Untuk algoritma perkiraan à error < limit error
Langkah 5:
Analisis Kualitas Algoritma
Kualitas algoritma meliputi:
1 Correctness
2 Time and space efficiency
3 Simplicity
4 Generality: masalah dan jangkauan input
Langkah 6:
Koding Algoritma
Hal-hal yang diperhatikan:
1 Transisi yang benar dan efisien
2 Pembuktian kebenaran program
3 Testing dan Debugging

More Related Content

What's hot

Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Ari Septiawan
 
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsistenMenentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
BAIDILAH Baidilah
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsi
Zombie Black
 

What's hot (20)

Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
pewarnaan graf
pewarnaan grafpewarnaan graf
pewarnaan graf
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
31.pembangkit bilangan acak semu (bagian 1)
31.pembangkit bilangan acak semu (bagian 1)31.pembangkit bilangan acak semu (bagian 1)
31.pembangkit bilangan acak semu (bagian 1)
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
Desain dan analisis algoritma
Desain dan analisis algoritmaDesain dan analisis algoritma
Desain dan analisis algoritma
 
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsistenMenentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
Menentukan sistem persamaan linier dalam bentuk sistem konsisten dan inkonsisten
 
Analisis Algoritma - Pengantar Analisis Algoritma
Analisis Algoritma - Pengantar Analisis AlgoritmaAnalisis Algoritma - Pengantar Analisis Algoritma
Analisis Algoritma - Pengantar Analisis Algoritma
 
Matematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi RekursifMatematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi Rekursif
 
Defenisi dan sifat kekongruenan Teobil
Defenisi dan sifat kekongruenan TeobilDefenisi dan sifat kekongruenan Teobil
Defenisi dan sifat kekongruenan Teobil
 
kriptografi hill cipher
kriptografi hill cipherkriptografi hill cipher
kriptografi hill cipher
 
Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)
 
Logika dan Pembuktian
Logika dan PembuktianLogika dan Pembuktian
Logika dan Pembuktian
 
Bab 6 relasi
Bab 6 relasiBab 6 relasi
Bab 6 relasi
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array7 Metode Pencarian Data Array
7 Metode Pencarian Data Array
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsi
 
Pushdown Automata
Pushdown Automata Pushdown Automata
Pushdown Automata
 
Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06
 

Similar to Analisis Algoritma - Langkah Desain Algoritma

berfikirkomputasionalfasee-230417010400-ec46a33d.pptx
berfikirkomputasionalfasee-230417010400-ec46a33d.pptxberfikirkomputasionalfasee-230417010400-ec46a33d.pptx
berfikirkomputasionalfasee-230417010400-ec46a33d.pptx
WebsiteDeveloper4
 
Terbaik jurusan matematika komputasi
Terbaik jurusan matematika komputasiTerbaik jurusan matematika komputasi
Terbaik jurusan matematika komputasi
nanda570316
 

Similar to Analisis Algoritma - Langkah Desain Algoritma (20)

Pengenalan Analisis Algoritma.pdf
Pengenalan Analisis Algoritma.pdfPengenalan Analisis Algoritma.pdf
Pengenalan Analisis Algoritma.pdf
 
Berkas
Berkas Berkas
Berkas
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
pertemuan 1__Desain dan analisis algoritma
pertemuan 1__Desain dan analisis algoritmapertemuan 1__Desain dan analisis algoritma
pertemuan 1__Desain dan analisis algoritma
 
Algo dn pemrogaman
Algo dn pemrogamanAlgo dn pemrogaman
Algo dn pemrogaman
 
Meta Calculator 2.0
Meta Calculator 2.0Meta Calculator 2.0
Meta Calculator 2.0
 
1. Desain dan analisis algoritma__ pengantar algoritma.pdf
1. Desain dan analisis algoritma__ pengantar algoritma.pdf1. Desain dan analisis algoritma__ pengantar algoritma.pdf
1. Desain dan analisis algoritma__ pengantar algoritma.pdf
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute Force
 
Pertemuan1
Pertemuan1Pertemuan1
Pertemuan1
 
Metode numerik-stmik-aub
Metode numerik-stmik-aubMetode numerik-stmik-aub
Metode numerik-stmik-aub
 
Materi metode numerik
Materi metode numerikMateri metode numerik
Materi metode numerik
 
berfikirkomputasionalfasee-230417010400-ec46a33d.pptx
berfikirkomputasionalfasee-230417010400-ec46a33d.pptxberfikirkomputasionalfasee-230417010400-ec46a33d.pptx
berfikirkomputasionalfasee-230417010400-ec46a33d.pptx
 
Terbaik jurusan matematika komputasi
Terbaik jurusan matematika komputasiTerbaik jurusan matematika komputasi
Terbaik jurusan matematika komputasi
 
algoritma 1.pptx
algoritma 1.pptxalgoritma 1.pptx
algoritma 1.pptx
 
BERFIKIR KOMPUTASI.pptx
BERFIKIR KOMPUTASI.pptxBERFIKIR KOMPUTASI.pptx
BERFIKIR KOMPUTASI.pptx
 
M1 KB4.pptx
M1 KB4.pptxM1 KB4.pptx
M1 KB4.pptx
 
M1 KB4.pptx
M1 KB4.pptxM1 KB4.pptx
M1 KB4.pptx
 
M1 KB4 (1).pptx
M1 KB4 (1).pptxM1 KB4 (1).pptx
M1 KB4 (1).pptx
 
M1 KB4 (1).pptx
M1 KB4 (1).pptxM1 KB4 (1).pptx
M1 KB4 (1).pptx
 
Konsep Computational Thinking.pptx
Konsep Computational Thinking.pptxKonsep Computational Thinking.pptx
Konsep Computational Thinking.pptx
 

More from Adam Mukharil Bachtiar

More from Adam Mukharil Bachtiar (20)

Materi 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfMateri 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdf
 
Clean Code - Formatting Code
Clean Code - Formatting CodeClean Code - Formatting Code
Clean Code - Formatting Code
 
Clean Code - Clean Comments
Clean Code - Clean CommentsClean Code - Clean Comments
Clean Code - Clean Comments
 
Clean Method
Clean MethodClean Method
Clean Method
 
Clean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesClean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful Names
 
Model Driven Software Development
Model Driven Software DevelopmentModel Driven Software Development
Model Driven Software Development
 
Scrum: How to Implement
Scrum: How to ImplementScrum: How to Implement
Scrum: How to Implement
 
Pengujian Perangkat Lunak
Pengujian Perangkat LunakPengujian Perangkat Lunak
Pengujian Perangkat Lunak
 
Data Mining Clustering
Data Mining ClusteringData Mining Clustering
Data Mining Clustering
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAnalisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and Conquer
 
Analisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma GreedyAnalisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma Greedy
 
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAnalisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
 
UML dan Use Case View
UML dan Use Case ViewUML dan Use Case View
UML dan Use Case View
 
Validasi ide Menggunakan Javelin Board (Idea Validation)
Validasi ide Menggunakan Javelin Board (Idea Validation)Validasi ide Menggunakan Javelin Board (Idea Validation)
Validasi ide Menggunakan Javelin Board (Idea Validation)
 
Mini Google Design Sprint
Mini Google Design SprintMini Google Design Sprint
Mini Google Design Sprint
 
Scrum: How to Implements (Update)
Scrum: How to Implements (Update)Scrum: How to Implements (Update)
Scrum: How to Implements (Update)
 
Business Model Canvas: Cara Pengisian
Business Model Canvas: Cara PengisianBusiness Model Canvas: Cara Pengisian
Business Model Canvas: Cara Pengisian
 

Analisis Algoritma - Langkah Desain Algoritma