SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
ANALISIS ALGORITMA
Kelas-Kelas Efisiensi Dasar Algoritma
Pemateri:
Adam Mukharil Bachtiar
adam@email.unikom.ac.id
Efisiensi waktu sejumlah besar
algoritma dikelompokkan ke dalam
beberapa kelas efisiensi dasar.
Konstanta pengali akan diabaikan
dalam kelas efisiensi dasar.
Mungkin saja algoritma efisiensi
buruk memproses lebih cepat
disbanding algoritma efisiensi baik.
Contoh:
Algoritma A = !"
dan algoritma B = 10%
!&
. Kecuali ! >
10%
, algoritma B memproses lebih cepat dibanding
algoritma A sehingga konstanta diabaikan.
Kelas efisiensi dasar ini dibagi menjadi
dua, yaitu kelas algoritma polynomial
dan kelas algoritma eksponensial.
Kelas Efisiensi Dasar Algoritma
Kelompok Algoritma Nama
! 1 Konstan
!(log ') Logaritmik
!(') Linear
!(' log ') ' log '
!(')) Kuadratik
!('*) Kubik
!(2,) Eksponensial
!('!) Faktorial
Urutan
Spektrum
secara
ascending
Kelas Efisiensi Dasar Algoritma
! 1 < !(log () < ! ( < !(( log () < ! (* < !((+) < ⋯ < ! 2. < !((!)
Algoritma Polinomial Algoritma Eksponensial
012 3 3 3 012 3 34 35 43 3!
0 1 0 1 1 2 1
1 2 2 4 8 4 2
2 4 8 16 64 16 24
3 8 24 64 512 256 362880
4 16 64 256 4096 65536 20922789888000
5 32 160 1024 32768 4294967296 Too Big
Kelas Efisiensi Dasar: !(#)
Penjelasan:
1 Algoritma dengan efisiensi waktu terbaik.
2 Waktu pelaksanaan algoritmanya adalah tetap dan tidak
bergantung pada ukuran masukan.
Kelas Efisiensi Dasar: !(#)
% & = 3 = )(1)
Efisiensi Waktu:
Kelas Efisiensi Dasar: !(#$% &)
Penjelasan:
1 Merupakan hasil pemotongan ukuran problem dengan faktor konstan
pada tiap iterasi algoritma
2 Mentransformasikan persoalan besar menjadi beberapa persoalan
kecil yang berukuran sama.
Kelas Efisiensi Dasar: !(#$% &)
3 7 12 15 29
[1] [2] [3] [4] [5]
Ia k Ib
Left Side Right Side
Binary search membagi persoalan pencarian dengan konstan
sehingga masuk ke dalam kelas O(log n)
Kelas Efisiensi Dasar: !(#)
Penjelasan:
1 Merupakan algoritma yang pelaksanaan waktunya linear.
2 Terjadi pada algoritma yang setiap elemen masukannya dikenai
proses yang sama.
Kelas Efisiensi Dasar: !(#)
% & = & = ((&)
Efisiensi Waktu:
Kelas Efisiensi Dasar: !(# $%& #)
Penjelasan:
1 Merupakan waktu pelaksanan algoritma yang memecahkan masalah
besar menjadi beberapa masalah kecil, menyelesaikan secara
independent, dan menggabungkan solusinya.
2 Strategi Divide and Conquer memiliki kompleksitas asimptotik ini.
Kelas Efisiensi Dasar: !(# $%& #)
Kelas Efisiensi Dasar: !(#$
)
Penjelasan:
1 Hanya praktis digunakan untuk persoalan berukuran kecil.
2 Ada dua buah perulangan bersarangan terhadap aksi yang
dilakukan.
Kelas Efisiensi Dasar: !(#$
)
& ' = ')
= *(')
)
Efisiensi Waktu:
Kelas Efisiensi Dasar: !(#$
)
Penjelasan:
1 Hanya praktis digunakan untuk persoalan berukuran kecil.
2 Ada tiga buah perulangan bersarangan terhadap aksi yang
dilakukan.
Kelas Efisiensi Dasar: !(#$
)
& ' = ')
= *(')
)
Efisiensi Waktu:
Kelas Efisiensi Dasar: !(#$
)
Penjelasan:
1 Terjadi pada strategi algoritma Brute Force
2 Salah satu contohnya adalah pencarian sirkuit Hamilton pada suatu
graph.
Kelas Efisiensi Dasar: !(#$
)
Suatu graph akan dikatakan sirkuit Hamilton jika terbentuk lintasan yang melewati
setiap verteks tepat satu kali (kecuali verteks asal)
Kelas Efisiensi Dasar: !(#!)
Penjelasan:
1 Terjadi pada algoritma yang memproses setiap masukannya dan
menghubungkan dengan n-1 masukan lainnya.
2 Contoh paling umum terjadi pada kasus Travelling Salesman
Problem.
Kelas Efisiensi Dasar: !(#!)
Travelling Salesman Problem mencari jarak minimum yang
melewati semua titik dan kembali ke titik asal
Kasus yang memiliki waktu
polinomial (derajat rendah) untuk
kasus terburuk dianggap merupakan
algoritma yang mangkus.
Masalah
Tractable
Intractable
Jika memiliki kompleksitas
polynomial kasus terburuk
Jika tidak memiliki kompleksitas
polynomial kasus terburuk
NP Problem
NP-complete
Problem
Jika solusi masalah masih bisa
ditemukan maka solusinya masih
dapat diperiksa secara polinomial
Jika solusi masalah tidak bisa
diperiksa secara polinomial

Weitere ähnliche Inhalte

Was ist angesagt?

Makalah n-queen problem
Makalah n-queen problemMakalah n-queen problem
Makalah n-queen problem
Eghan Jaya
 

Was ist angesagt? (20)

Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
 
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
 
OPERASI SISTEM BILANGAN.ppt
OPERASI SISTEM BILANGAN.pptOPERASI SISTEM BILANGAN.ppt
OPERASI SISTEM BILANGAN.ppt
 
Analisis Algoritma - Pengantar Analisis Algoritma
Analisis Algoritma - Pengantar Analisis AlgoritmaAnalisis Algoritma - Pengantar Analisis Algoritma
Analisis Algoritma - Pengantar Analisis Algoritma
 
Data Management (Enhanced ERD and Mapping ERD)
Data Management (Enhanced ERD and Mapping ERD)Data Management (Enhanced ERD and Mapping ERD)
Data Management (Enhanced ERD and Mapping ERD)
 
Array dan Contoh
Array dan ContohArray dan Contoh
Array dan Contoh
 
Materi 7 c++ array
Materi 7 c++ arrayMateri 7 c++ array
Materi 7 c++ array
 
Insertion sort
Insertion sortInsertion sort
Insertion sort
 
Materi 2 Kompleksitas Waktu dan Ruang (2).pdf
Materi 2 Kompleksitas Waktu dan Ruang (2).pdfMateri 2 Kompleksitas Waktu dan Ruang (2).pdf
Materi 2 Kompleksitas Waktu dan Ruang (2).pdf
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
 
Makalah n-queen problem
Makalah n-queen problemMakalah n-queen problem
Makalah n-queen problem
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
 
Materi 6. perulangan
Materi 6. perulanganMateri 6. perulangan
Materi 6. perulangan
 
pewarnaan graf
pewarnaan grafpewarnaan graf
pewarnaan graf
 
Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02Matematika Diskrit - 11 kompleksitas algoritma - 02
Matematika Diskrit - 11 kompleksitas algoritma - 02
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputer
 
Makalah Algoritma kruskal
Makalah Algoritma kruskalMakalah Algoritma kruskal
Makalah Algoritma kruskal
 
2 alfabet dan string
2 alfabet dan string2 alfabet dan string
2 alfabet dan string
 

Ähnlich wie Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma

01. Dasar-dasar Algoritma Pemrograman menggunakan Visual Basic
01. Dasar-dasar Algoritma Pemrograman menggunakan  Visual Basic01. Dasar-dasar Algoritma Pemrograman menggunakan  Visual Basic
01. Dasar-dasar Algoritma Pemrograman menggunakan Visual Basic
ArriWidyanto1
 

Ähnlich wie Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma (20)

Diktat MatLab
Diktat MatLabDiktat MatLab
Diktat MatLab
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan Program
 
Algoritma - Chapter - 1
Algoritma - Chapter - 1Algoritma - Chapter - 1
Algoritma - Chapter - 1
 
Bab II
Bab IIBab II
Bab II
 
Berkas
Berkas Berkas
Berkas
 
Bab 1 pengantar algoritma
Bab 1 pengantar algoritmaBab 1 pengantar algoritma
Bab 1 pengantar algoritma
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
3. PPT.pptx
3. PPT.pptx3. PPT.pptx
3. PPT.pptx
 
Algo dn pemrogaman
Algo dn pemrogamanAlgo dn pemrogaman
Algo dn pemrogaman
 
EFFICIENCY & Complexity.pptx
EFFICIENCY & Complexity.pptxEFFICIENCY & Complexity.pptx
EFFICIENCY & Complexity.pptx
 
Analisis algoritma
Analisis algoritmaAnalisis algoritma
Analisis algoritma
 
Chapter 2 - Konsep Dasar Algoritma.pptx
Chapter 2 - Konsep Dasar Algoritma.pptxChapter 2 - Konsep Dasar Algoritma.pptx
Chapter 2 - Konsep Dasar Algoritma.pptx
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
001 algoritma
001 algoritma001 algoritma
001 algoritma
 
Algoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxAlgoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptx
 
analisis data tikus percobaan materi informatika kelas X.pptx
analisis data tikus percobaan materi informatika kelas X.pptxanalisis data tikus percobaan materi informatika kelas X.pptx
analisis data tikus percobaan materi informatika kelas X.pptx
 
informatika 2.pptx
informatika 2.pptxinformatika 2.pptx
informatika 2.pptx
 
01. Dasar-dasar Algoritma Pemrograman menggunakan Visual Basic
01. Dasar-dasar Algoritma Pemrograman menggunakan  Visual Basic01. Dasar-dasar Algoritma Pemrograman menggunakan  Visual Basic
01. Dasar-dasar Algoritma Pemrograman menggunakan Visual Basic
 
Pk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchartPk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchart
 
Pk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchartPk 1 kimia algo and flowchart
Pk 1 kimia algo and flowchart
 

Mehr von Adam Mukharil Bachtiar

Mehr von 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)
 
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
 
Analisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain AlgoritmaAnalisis Algoritma - Langkah Desain Algoritma
Analisis Algoritma - Langkah Desain Algoritma
 
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
 
SCRUM: How to implements
SCRUM: How to implementsSCRUM: How to implements
SCRUM: How to implements
 
Tugas Besar RPL 1
Tugas Besar RPL 1Tugas Besar RPL 1
Tugas Besar RPL 1
 
RPL 1 (Lama) - Pengujian Perangkat Lunak
RPL 1 (Lama) - Pengujian Perangkat LunakRPL 1 (Lama) - Pengujian Perangkat Lunak
RPL 1 (Lama) - Pengujian Perangkat Lunak
 

Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma

  • 1. ANALISIS ALGORITMA Kelas-Kelas Efisiensi Dasar Algoritma Pemateri: Adam Mukharil Bachtiar adam@email.unikom.ac.id
  • 2. Efisiensi waktu sejumlah besar algoritma dikelompokkan ke dalam beberapa kelas efisiensi dasar.
  • 3. Konstanta pengali akan diabaikan dalam kelas efisiensi dasar.
  • 4. Mungkin saja algoritma efisiensi buruk memproses lebih cepat disbanding algoritma efisiensi baik.
  • 5. Contoh: Algoritma A = !" dan algoritma B = 10% !& . Kecuali ! > 10% , algoritma B memproses lebih cepat dibanding algoritma A sehingga konstanta diabaikan.
  • 6. Kelas efisiensi dasar ini dibagi menjadi dua, yaitu kelas algoritma polynomial dan kelas algoritma eksponensial.
  • 7. Kelas Efisiensi Dasar Algoritma Kelompok Algoritma Nama ! 1 Konstan !(log ') Logaritmik !(') Linear !(' log ') ' log ' !(')) Kuadratik !('*) Kubik !(2,) Eksponensial !('!) Faktorial Urutan Spektrum secara ascending
  • 8. Kelas Efisiensi Dasar Algoritma ! 1 < !(log () < ! ( < !(( log () < ! (* < !((+) < ⋯ < ! 2. < !((!) Algoritma Polinomial Algoritma Eksponensial 012 3 3 3 012 3 34 35 43 3! 0 1 0 1 1 2 1 1 2 2 4 8 4 2 2 4 8 16 64 16 24 3 8 24 64 512 256 362880 4 16 64 256 4096 65536 20922789888000 5 32 160 1024 32768 4294967296 Too Big
  • 9. Kelas Efisiensi Dasar: !(#) Penjelasan: 1 Algoritma dengan efisiensi waktu terbaik. 2 Waktu pelaksanaan algoritmanya adalah tetap dan tidak bergantung pada ukuran masukan.
  • 10. Kelas Efisiensi Dasar: !(#) % & = 3 = )(1) Efisiensi Waktu:
  • 11. Kelas Efisiensi Dasar: !(#$% &) Penjelasan: 1 Merupakan hasil pemotongan ukuran problem dengan faktor konstan pada tiap iterasi algoritma 2 Mentransformasikan persoalan besar menjadi beberapa persoalan kecil yang berukuran sama.
  • 12. Kelas Efisiensi Dasar: !(#$% &) 3 7 12 15 29 [1] [2] [3] [4] [5] Ia k Ib Left Side Right Side Binary search membagi persoalan pencarian dengan konstan sehingga masuk ke dalam kelas O(log n)
  • 13. Kelas Efisiensi Dasar: !(#) Penjelasan: 1 Merupakan algoritma yang pelaksanaan waktunya linear. 2 Terjadi pada algoritma yang setiap elemen masukannya dikenai proses yang sama.
  • 14. Kelas Efisiensi Dasar: !(#) % & = & = ((&) Efisiensi Waktu:
  • 15. Kelas Efisiensi Dasar: !(# $%& #) Penjelasan: 1 Merupakan waktu pelaksanan algoritma yang memecahkan masalah besar menjadi beberapa masalah kecil, menyelesaikan secara independent, dan menggabungkan solusinya. 2 Strategi Divide and Conquer memiliki kompleksitas asimptotik ini.
  • 17. Kelas Efisiensi Dasar: !(#$ ) Penjelasan: 1 Hanya praktis digunakan untuk persoalan berukuran kecil. 2 Ada dua buah perulangan bersarangan terhadap aksi yang dilakukan.
  • 18. Kelas Efisiensi Dasar: !(#$ ) & ' = ') = *(') ) Efisiensi Waktu:
  • 19. Kelas Efisiensi Dasar: !(#$ ) Penjelasan: 1 Hanya praktis digunakan untuk persoalan berukuran kecil. 2 Ada tiga buah perulangan bersarangan terhadap aksi yang dilakukan.
  • 20. Kelas Efisiensi Dasar: !(#$ ) & ' = ') = *(') ) Efisiensi Waktu:
  • 21. Kelas Efisiensi Dasar: !(#$ ) Penjelasan: 1 Terjadi pada strategi algoritma Brute Force 2 Salah satu contohnya adalah pencarian sirkuit Hamilton pada suatu graph.
  • 22. Kelas Efisiensi Dasar: !(#$ ) Suatu graph akan dikatakan sirkuit Hamilton jika terbentuk lintasan yang melewati setiap verteks tepat satu kali (kecuali verteks asal)
  • 23. Kelas Efisiensi Dasar: !(#!) Penjelasan: 1 Terjadi pada algoritma yang memproses setiap masukannya dan menghubungkan dengan n-1 masukan lainnya. 2 Contoh paling umum terjadi pada kasus Travelling Salesman Problem.
  • 24. Kelas Efisiensi Dasar: !(#!) Travelling Salesman Problem mencari jarak minimum yang melewati semua titik dan kembali ke titik asal
  • 25. Kasus yang memiliki waktu polinomial (derajat rendah) untuk kasus terburuk dianggap merupakan algoritma yang mangkus.
  • 26. Masalah Tractable Intractable Jika memiliki kompleksitas polynomial kasus terburuk Jika tidak memiliki kompleksitas polynomial kasus terburuk NP Problem NP-complete Problem Jika solusi masalah masih bisa ditemukan maka solusinya masih dapat diperiksa secara polinomial Jika solusi masalah tidak bisa diperiksa secara polinomial