SlideShare a Scribd company logo
1 of 29
ANALISIS ALGORITMA DAN
PEMROGRAMAN
Mohammad Zikky
 Anany Levitin, Introduction to the Design &
Analysis of Algorithms, Addison-Wesley, 2003.
 Enem, S. Graph Algorithms, Computer Science
Press, Inc, 1999.
 Kruth, D.E. : Fundamental Algorithms, Addison-
Esley, 1975.
 La Budda, K : Structure Programming
Concepts. Mc.Graw – Hill.
 Pemrograman Borland Delphi 6, Antony
Pranata, Andi offset Yogyakarta
Minggu
ke
Topik Materi
1 Pendahuluan - Definisi algoritma
- Notasi matematis
- Tahapan algoritma (Proses Pemrograman)
2 Dasar
algoritma
- Penulisan algoritma dengan pseudocode
- Masalah analisis algoritma
- Masalah komputasi
3,4 Pendekatan
Pemrograman
Modular
- Model Top Down
- Algoritma Prim
- Algoritma Bouruvka
5 Sorting dan
Searching
- Bubble sort
- Selection sort
- Insertion sort
- Shell sort
- Merge sort
- Quick sort
6,7 Algoritma
Greedy
- Definisi
- Skema umum algoritma greedy
- Minimisasi Waktu di dalam Sistem
(Penjadwalan)
- Pemecahan masalah dengan algoritma Greedy
- Pohon merentang minimum
- Kompleksitas algoritma: O(n2
)
8,9 Algoritma
Divide and
Conquer
- Definisi
- Skema umum algoritma divide and
conquer
- Penyelesaian masalah dengan
algoritma divide and conquer
- Kompleksitas waktu algoritma
- Algoritma pengurutan dengan divide
and conquer
10,11 Pemrograman
Dinamis
- Prinsip optimalitas
- Karakteristik persoalan program
dinamis
12 Algoritma
paralel
- Model komputasi parallel
- Teknik dasar
- Evaluasi paralel
- Parallel sorting
13,14 Kompleks
itas
Algoritma
- Pendahuluan
- Reduksi linear
- Kompleksitas beberapa
algoritma
Asal Usul Kata
Kata algoritma dari nama Abu Ja’fat
Mohammed Ibn Musa al-Khowarizmi,
seorang ilmuan Persia yang menulis buku
berjudul Kitab al jabr w’al-muqabala (rules of
restoration and reduction) sekitar tahun 825
Asal Usul Kata
pada tahun 1950 istilah algorithm selalu
diasosiasikan dengan Euclid’s algorithm,
yaitu suatu proses yang menjelaskan cara
mencari bilangan pembagi terbesar untuk
dua buah bilangan.
Asal Usul Kata
Merriam-Webster’s Collegiet Dictionary istilah
algorithm diartikan sebagai prosedur langkah
demi langkah untuk memecahkan masalah
atau Penyelesaian suatu tugas khususnya
dengan menggunakan bantuan komputer
Syarat Algotitma
Menurut Donald E Knuth algoritma harus
memenuhi persyaratan ;
Finiteness
Definiteness
Input
Output
Effectiveness
Sebagai basis pemerograman komputer, algoritma
mendeskripsikan kan urutan langkah-langkah
yang diperlukan untuk pemecahan masalah
(penyelesaian persoalan), yang memiliki ciri-ciri
sebagai berikut;
 selalu memiliki terminasi/langkah akhir
 setiap langkah dinyatakan secara jelas dan
tegas
 setiap langkah sederhana, sehingga kinerjanya
sehubungan dengan waktu yang effisien/bisa
diterima akal
 memberikan hasil (output), mungkin dengan
satu atau tanpa input.
Tahapan Algoritma (Proses
Pemrograman)
Proses pemecahan masalah dengan algoritma
tertentu hingga menjadi program dapat dibagi
dalam sembilan tahap;
 Mendefinisikan masalah
Masalah yang ingin dipecahkan harus jelas
lingkupnya.
 Membuat model
Yang dimaksud model ini adalah model (bentuk)
matematis yang dapat digunakan untuk
memecahkan masalah, misalnya apakah harus
dilakukan pengurutan terhadap data, apakah
menggunakan perhitungan kombinatorik dan
Tahapan Algoritma (Proses Pemrograman)
 Merancang algoritma
(flowchart/pseudocode)
Apa maksudnya, bagaimana rincian
prosesnya, apa keluarannya.
 Menulis program
Ubah algoritma menjadi program (source
code) dalam bahasa pemrograman tertentu.
 Mengubah source code menjadi executable
code melalui proses compiling.
 Memeriksa hasil compiling, jika salah maka
kembali ke tahap empat.
Tahapan Algoritma (Proses Pemrograman)
 Menjalankan program (run) untuk diuji
kebenarannya dengan menggunakan
berbagai data
 Memperbaiki kesalahan (debugging dan
testing)
Apabila hasilnya salah, kesalahan mungkin
terjadi saat konversi rancangan algoritma
manjadi program, atau salah rancang
algoritma, atau salah menentukan model,
atau salah mendefinisikan masalah. Ulangi
langkah yang sesuai.
Tahapan Algoritma (Proses Pemrograman)
 Mendokumentasi program bila sudah benar.
Penulisan Algoritma dengan Pseudocode
Dengan menggunakan pseudocode pemecahan masalah di atas dapat
ditulis sebagai berikut;
Contoh;
baca jumlah data
tulis jumlah data
while data belum habis
hitung data yang dibaca
baca data no_mhs, nama, nilai
tulis no_mhs dan nama
if nilai > 6,0
else then
tulis “LULUS”
else
tulis “TIDAK LULUS”
else if
when
tulis garis penutup tabal
selesai
Implementasi program dalam bahasa BASIC;
baca jumlah data
Jenis Proses Algoritma
Langkah yang membentuk suatu algoritma dapat
dibagi manjadi 3 kelompok proses;
1). Sequence proces
2). Selection proces
3). Iteration proces
Macam Algoritma
1. Metode Seleksi
2. Metode Sisipan
3. Metode Shell
4. Metode Bubble
5. Metode Cepat
6. Metode Radix
7. Metode Merge
8. Metode Pohon Biner
9. Metode Tournament
10. Metode Heap
Masalah Analisis Algoritma
Kinerja yang perlu ditelaah pada algoritma;
 beban komputasi
 efisiensi penggunaan memory
Masalah Analisis Algoritma
Tantangan yang dihadapi dalam membandingkan kinerja berbagai
algoritma sangat berguna, yang perlu diperhatikan ;
 Kasus rata-rata; running time untuk tipikal data tertentu.
 Kasus terjelek; running time yang mungkin paling jelek pada konfigurasi
masukan data tertentu
 Program → bahasa yang dipakai
 Program sensitif terhadap input
 Program sulit dimengerti, dan secara matematis hasil tah tersedia/
diketahui
 Sering kali program tidak bisa membandingkan, misal untuk data
tertentu sangat efisien, tetapi yang lain pada kondisi yang sangat
berbeda.
Masalah Komputasi
Menurut kesepakatan para ilmuwan komputer, algoritma
berdayaguna untuk komputasi bila kompleksitas waktu
Ο berkembang secara polinomial dalam respect
terhadap ukuran input : n . Secara lebih positif, wajah
polinomial suatu algoritma seperti:
Ο (n) , Ο (n log n),
Ο (n3), Ο (106 n8),
Ο (2n) , Ο (n log n),
Ο (n !) .
23
Pengelompokan Algoritma Berdasarkan Notasi O-Besar
Kelompok Algoritma Nama
O(1)
O(log n)
O(n)
O(n log n)
O(n2
)
O(n3
)
O(2n
)
O(n!)
konstan
logaritmik
lanjar
n log n
kuadratik
kubik
eksponensial
faktorial
Urutan spektrum kompleksitas waktu algoritma adalah :
  
<<<<<<< ...)()()log()()(log)1( 32
nOnOnnOnOnOO
  
)!()2( nOO n
<
algoritma polinomial algoritma eksponensial
Masalah Komputasi
Dalam perkembangan yang lebih
menguntungkan kompleksitas waktu dapat
seperti:
Ο (n) , Ο (n log n), Ο (n2
)
Ο (n3
), Ο (108 n4
), Ο (2n)
Ο (10n) , Ο (n log n), Ο (n !)
Menghadapi Banyaknya paket dalam TI dewasa
ini
 Kita dituntut untuk dapat melakukan pengamatan tentang
kinerja paket-paket yang bersangkutan dan menyajikan
informasi sehubungan dengan efektivitas dan efisiensi
masing-masing paket bagi persoalan yang akan dihadapi.
 Perlu memperhatikan masalah kompatabilitas sistem.
 Perlu memperhatikan tingkat kemudahan oprasional dan
antarmuka.
 Perlu memperhatikan tingkat kemudahan perolehan paket
dan populasi pamakaiannya.
 Perhatikan masalah pemeliharaan di masa mendatang.
Teknik Pemrograman
Penekanan pada pemrograman tersetruktur
 Struktur dasar
Menggunakan flow chart dan pseudocode
Menggunakan sistem modular.
 Program dibuat dalam bentuk modul-modul untuk fungsi
tertentu maupun subroutine tertentu.
 Modul-modul dikendalikan oleh modul utama (program
utama)
Teknik Pemrograman
 Modul bersifat independen (tidak ada modul yang
dapat akses langsung ke modul lain, kecuali
modul pemanggil dan submodulnya sendiri)
 Modul dapat diubah secara radikal tanpa
mempengaruhi modul lain sejauh fungsi modul
tidak berubah..
Teknik Pemrograman
Implementasi pemrograman modul menggunakan subroutine-
subroutine digambarkan sebagai berikut;
Bentuk sub module
 Internal subroutine; berupa bagian dari program
yang menggunakannya
 External subroutine;
 bukan bagian dari program yang menggunakan modul
itu.
 Modul tersimpan dalam library dalam bentuk ”object
module” yang siap digunakan oleh modul-modul yang
akan menggunakan.
 Modul dapat digunakan untuk tugas lebih dari satu
program
 Dalam menggunakan, pemrograman perlu
mengetahui di mana diperoleh, namanya,
bagaimana mengirim data padanya, dan jabawan
baliknya.

More Related Content

What's hot

Pengertian algoritma lengkap by.artayahonest
Pengertian algoritma lengkap by.artayahonestPengertian algoritma lengkap by.artayahonest
Pengertian algoritma lengkap by.artayahonestArtaya Honest
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutanBilly Alhamra
 
Dasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaDasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaKhairul Anwar
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANAziz Moeslim
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Braga Rezpect
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMelva Amma Kalian
 
konsep & struktur algoritma
konsep & struktur algoritmakonsep & struktur algoritma
konsep & struktur algoritmaRohwiyanto Oi
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaApriyanto_apo
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Materi 1 pemrograman prosedural
Materi 1   pemrograman proseduralMateri 1   pemrograman prosedural
Materi 1 pemrograman proseduralnovitasari3001
 
Algoritma pemrograman dasar
Algoritma pemrograman dasarAlgoritma pemrograman dasar
Algoritma pemrograman dasarZee-Tye Zaebah
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanMuraba Nasuha
 
DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMAWalid_1234
 
Konsep Dan Asas Pengaturcaraan
Konsep Dan Asas PengaturcaraanKonsep Dan Asas Pengaturcaraan
Konsep Dan Asas Pengaturcaraanask3areu
 

What's hot (19)

Pengertian algoritma lengkap by.artayahonest
Pengertian algoritma lengkap by.artayahonestPengertian algoritma lengkap by.artayahonest
Pengertian algoritma lengkap by.artayahonest
 
M03b algoritma lanjutan
M03b algoritma lanjutanM03b algoritma lanjutan
M03b algoritma lanjutan
 
Dasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaDasar Pemrogaman Algoritma
Dasar Pemrogaman Algoritma
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
Konsep algoritma pemograman
Konsep algoritma pemogramanKonsep algoritma pemograman
Konsep algoritma pemograman
 
001 algoritma
001 algoritma001 algoritma
001 algoritma
 
Algoritama & Pseudocode
Algoritama & PseudocodeAlgoritama & Pseudocode
Algoritama & Pseudocode
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrograman
 
konsep & struktur algoritma
konsep & struktur algoritmakonsep & struktur algoritma
konsep & struktur algoritma
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritma
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Materi 1 pemrograman prosedural
Materi 1   pemrograman proseduralMateri 1   pemrograman prosedural
Materi 1 pemrograman prosedural
 
Algoritma pemrograman dasar
Algoritma pemrograman dasarAlgoritma pemrograman dasar
Algoritma pemrograman dasar
 
Modul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrogramanModul mata kuliah konsep dasar pemrograman
Modul mata kuliah konsep dasar pemrograman
 
DASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMADASAR - DASAR ALGORITMA
DASAR - DASAR ALGORITMA
 
dasar-dasar algoritma
dasar-dasar algoritmadasar-dasar algoritma
dasar-dasar algoritma
 
Konsep Dan Asas Pengaturcaraan
Konsep Dan Asas PengaturcaraanKonsep Dan Asas Pengaturcaraan
Konsep Dan Asas Pengaturcaraan
 
Algoritma pemrograman (alpro)
Algoritma pemrograman (alpro)Algoritma pemrograman (alpro)
Algoritma pemrograman (alpro)
 

Similar to ALGOANALISIS

Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 
Algoritma - Chapter - 1
Algoritma - Chapter - 1Algoritma - Chapter - 1
Algoritma - Chapter - 1beiharira
 
Diktat penuntun praktikum fortran
Diktat penuntun praktikum fortranDiktat penuntun praktikum fortran
Diktat penuntun praktikum fortranradikaljakas
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANBang Jo
 
Dasar pemrograman
Dasar pemrogramanDasar pemrograman
Dasar pemrogramanUNTUNGSG
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Algoritma dan pemogrman.pptx
Algoritma dan pemogrman.pptxAlgoritma dan pemogrman.pptx
Algoritma dan pemogrman.pptxrince10
 
pertemuan 1__Desain dan analisis algoritma
pertemuan 1__Desain dan analisis algoritmapertemuan 1__Desain dan analisis algoritma
pertemuan 1__Desain dan analisis algoritmaseptiara5
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritmaBraga Rezpect
 
Topik 2 Konsep Dasar Algoritma
Topik 2 Konsep Dasar AlgoritmaTopik 2 Konsep Dasar Algoritma
Topik 2 Konsep Dasar AlgoritmaI Komang Agustino
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartMaryanto Sumringah SMA 9 Tebo
 
Algoritma pemrograman 01
Algoritma pemrograman 01Algoritma pemrograman 01
Algoritma pemrograman 01Indra Panggalo
 
Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarDudy Ali
 
Dasar pemrograman pascal
Dasar pemrograman pascalDasar pemrograman pascal
Dasar pemrograman pascalSimon Patabang
 
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.pdfseptiara5
 

Similar to ALGOANALISIS (20)

Berkas
Berkas Berkas
Berkas
 
Algoritma Pemrogaman
Algoritma PemrogamanAlgoritma Pemrogaman
Algoritma Pemrogaman
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
Algoritma - Chapter - 1
Algoritma - Chapter - 1Algoritma - Chapter - 1
Algoritma - Chapter - 1
 
Diktat penuntun praktikum fortran
Diktat penuntun praktikum fortranDiktat penuntun praktikum fortran
Diktat penuntun praktikum fortran
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMAN
 
Dasar pemrograman
Dasar pemrogramanDasar pemrograman
Dasar pemrograman
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Diktat MatLab
Diktat MatLabDiktat MatLab
Diktat MatLab
 
Algoritma dan pemogrman.pptx
Algoritma dan pemogrman.pptxAlgoritma dan pemogrman.pptx
Algoritma dan pemogrman.pptx
 
pertemuan 1__Desain dan analisis algoritma
pertemuan 1__Desain dan analisis algoritmapertemuan 1__Desain dan analisis algoritma
pertemuan 1__Desain dan analisis algoritma
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritma
 
Topik 2 Konsep Dasar Algoritma
Topik 2 Konsep Dasar AlgoritmaTopik 2 Konsep Dasar Algoritma
Topik 2 Konsep Dasar Algoritma
 
INFORMATIKA - BK1.pptx
INFORMATIKA - BK1.pptxINFORMATIKA - BK1.pptx
INFORMATIKA - BK1.pptx
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 
Algoritma pemrograman 01
Algoritma pemrograman 01Algoritma pemrograman 01
Algoritma pemrograman 01
 
Algorithm & Data Structure - Pengantar
Algorithm & Data Structure - PengantarAlgorithm & Data Structure - Pengantar
Algorithm & Data Structure - Pengantar
 
Dasar pemrograman pascal
Dasar pemrograman pascalDasar pemrograman pascal
Dasar pemrograman pascal
 
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
 

Recently uploaded

Co-funding Pitchdeck 2024.pptxhdhddjdjdjddjjd
Co-funding Pitchdeck 2024.pptxhdhddjdjdjddjjdCo-funding Pitchdeck 2024.pptxhdhddjdjdjddjjd
Co-funding Pitchdeck 2024.pptxhdhddjdjdjddjjdveinlatex
 
Modul 1.2 Jurnal Refleksi Dwi Mingguan.pdf
Modul 1.2 Jurnal Refleksi Dwi Mingguan.pdfModul 1.2 Jurnal Refleksi Dwi Mingguan.pdf
Modul 1.2 Jurnal Refleksi Dwi Mingguan.pdfAndiAliyah2
 
PPT Mengenai Pengelolaan Penataan Kearsipan.pptx
PPT Mengenai Pengelolaan Penataan Kearsipan.pptxPPT Mengenai Pengelolaan Penataan Kearsipan.pptx
PPT Mengenai Pengelolaan Penataan Kearsipan.pptxmuhnurmufid123
 
IMC design - Safety Riding Campaign - Mask Up
IMC design - Safety Riding Campaign - Mask UpIMC design - Safety Riding Campaign - Mask Up
IMC design - Safety Riding Campaign - Mask UpAdePutraTunggali
 
undangan tahlil dan kirim doa pendak 1.doc
undangan tahlil dan kirim doa pendak 1.docundangan tahlil dan kirim doa pendak 1.doc
undangan tahlil dan kirim doa pendak 1.docLaelaSafitri7
 
IMC Campaign - Integrated Marketing Communication Bingo
IMC Campaign - Integrated Marketing Communication BingoIMC Campaign - Integrated Marketing Communication Bingo
IMC Campaign - Integrated Marketing Communication BingoAdePutraTunggali
 

Recently uploaded (6)

Co-funding Pitchdeck 2024.pptxhdhddjdjdjddjjd
Co-funding Pitchdeck 2024.pptxhdhddjdjdjddjjdCo-funding Pitchdeck 2024.pptxhdhddjdjdjddjjd
Co-funding Pitchdeck 2024.pptxhdhddjdjdjddjjd
 
Modul 1.2 Jurnal Refleksi Dwi Mingguan.pdf
Modul 1.2 Jurnal Refleksi Dwi Mingguan.pdfModul 1.2 Jurnal Refleksi Dwi Mingguan.pdf
Modul 1.2 Jurnal Refleksi Dwi Mingguan.pdf
 
PPT Mengenai Pengelolaan Penataan Kearsipan.pptx
PPT Mengenai Pengelolaan Penataan Kearsipan.pptxPPT Mengenai Pengelolaan Penataan Kearsipan.pptx
PPT Mengenai Pengelolaan Penataan Kearsipan.pptx
 
IMC design - Safety Riding Campaign - Mask Up
IMC design - Safety Riding Campaign - Mask UpIMC design - Safety Riding Campaign - Mask Up
IMC design - Safety Riding Campaign - Mask Up
 
undangan tahlil dan kirim doa pendak 1.doc
undangan tahlil dan kirim doa pendak 1.docundangan tahlil dan kirim doa pendak 1.doc
undangan tahlil dan kirim doa pendak 1.doc
 
IMC Campaign - Integrated Marketing Communication Bingo
IMC Campaign - Integrated Marketing Communication BingoIMC Campaign - Integrated Marketing Communication Bingo
IMC Campaign - Integrated Marketing Communication Bingo
 

ALGOANALISIS

  • 2.  Anany Levitin, Introduction to the Design & Analysis of Algorithms, Addison-Wesley, 2003.  Enem, S. Graph Algorithms, Computer Science Press, Inc, 1999.  Kruth, D.E. : Fundamental Algorithms, Addison- Esley, 1975.  La Budda, K : Structure Programming Concepts. Mc.Graw – Hill.  Pemrograman Borland Delphi 6, Antony Pranata, Andi offset Yogyakarta
  • 3. Minggu ke Topik Materi 1 Pendahuluan - Definisi algoritma - Notasi matematis - Tahapan algoritma (Proses Pemrograman) 2 Dasar algoritma - Penulisan algoritma dengan pseudocode - Masalah analisis algoritma - Masalah komputasi 3,4 Pendekatan Pemrograman Modular - Model Top Down - Algoritma Prim - Algoritma Bouruvka
  • 4. 5 Sorting dan Searching - Bubble sort - Selection sort - Insertion sort - Shell sort - Merge sort - Quick sort 6,7 Algoritma Greedy - Definisi - Skema umum algoritma greedy - Minimisasi Waktu di dalam Sistem (Penjadwalan) - Pemecahan masalah dengan algoritma Greedy - Pohon merentang minimum - Kompleksitas algoritma: O(n2 )
  • 5. 8,9 Algoritma Divide and Conquer - Definisi - Skema umum algoritma divide and conquer - Penyelesaian masalah dengan algoritma divide and conquer - Kompleksitas waktu algoritma - Algoritma pengurutan dengan divide and conquer 10,11 Pemrograman Dinamis - Prinsip optimalitas - Karakteristik persoalan program dinamis
  • 6. 12 Algoritma paralel - Model komputasi parallel - Teknik dasar - Evaluasi paralel - Parallel sorting 13,14 Kompleks itas Algoritma - Pendahuluan - Reduksi linear - Kompleksitas beberapa algoritma
  • 7.
  • 8. Asal Usul Kata Kata algoritma dari nama Abu Ja’fat Mohammed Ibn Musa al-Khowarizmi, seorang ilmuan Persia yang menulis buku berjudul Kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825
  • 9. Asal Usul Kata pada tahun 1950 istilah algorithm selalu diasosiasikan dengan Euclid’s algorithm, yaitu suatu proses yang menjelaskan cara mencari bilangan pembagi terbesar untuk dua buah bilangan.
  • 10. Asal Usul Kata Merriam-Webster’s Collegiet Dictionary istilah algorithm diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau Penyelesaian suatu tugas khususnya dengan menggunakan bantuan komputer
  • 11. Syarat Algotitma Menurut Donald E Knuth algoritma harus memenuhi persyaratan ; Finiteness Definiteness Input Output Effectiveness
  • 12. Sebagai basis pemerograman komputer, algoritma mendeskripsikan kan urutan langkah-langkah yang diperlukan untuk pemecahan masalah (penyelesaian persoalan), yang memiliki ciri-ciri sebagai berikut;  selalu memiliki terminasi/langkah akhir  setiap langkah dinyatakan secara jelas dan tegas  setiap langkah sederhana, sehingga kinerjanya sehubungan dengan waktu yang effisien/bisa diterima akal  memberikan hasil (output), mungkin dengan satu atau tanpa input.
  • 13. Tahapan Algoritma (Proses Pemrograman) Proses pemecahan masalah dengan algoritma tertentu hingga menjadi program dapat dibagi dalam sembilan tahap;  Mendefinisikan masalah Masalah yang ingin dipecahkan harus jelas lingkupnya.  Membuat model Yang dimaksud model ini adalah model (bentuk) matematis yang dapat digunakan untuk memecahkan masalah, misalnya apakah harus dilakukan pengurutan terhadap data, apakah menggunakan perhitungan kombinatorik dan
  • 14. Tahapan Algoritma (Proses Pemrograman)  Merancang algoritma (flowchart/pseudocode) Apa maksudnya, bagaimana rincian prosesnya, apa keluarannya.  Menulis program Ubah algoritma menjadi program (source code) dalam bahasa pemrograman tertentu.  Mengubah source code menjadi executable code melalui proses compiling.  Memeriksa hasil compiling, jika salah maka kembali ke tahap empat.
  • 15. Tahapan Algoritma (Proses Pemrograman)  Menjalankan program (run) untuk diuji kebenarannya dengan menggunakan berbagai data  Memperbaiki kesalahan (debugging dan testing) Apabila hasilnya salah, kesalahan mungkin terjadi saat konversi rancangan algoritma manjadi program, atau salah rancang algoritma, atau salah menentukan model, atau salah mendefinisikan masalah. Ulangi langkah yang sesuai.
  • 16. Tahapan Algoritma (Proses Pemrograman)  Mendokumentasi program bila sudah benar.
  • 17. Penulisan Algoritma dengan Pseudocode Dengan menggunakan pseudocode pemecahan masalah di atas dapat ditulis sebagai berikut; Contoh; baca jumlah data tulis jumlah data while data belum habis hitung data yang dibaca baca data no_mhs, nama, nilai tulis no_mhs dan nama if nilai > 6,0 else then tulis “LULUS” else tulis “TIDAK LULUS” else if when tulis garis penutup tabal selesai Implementasi program dalam bahasa BASIC; baca jumlah data
  • 18. Jenis Proses Algoritma Langkah yang membentuk suatu algoritma dapat dibagi manjadi 3 kelompok proses; 1). Sequence proces 2). Selection proces 3). Iteration proces
  • 19. Macam Algoritma 1. Metode Seleksi 2. Metode Sisipan 3. Metode Shell 4. Metode Bubble 5. Metode Cepat 6. Metode Radix 7. Metode Merge 8. Metode Pohon Biner 9. Metode Tournament 10. Metode Heap
  • 20. Masalah Analisis Algoritma Kinerja yang perlu ditelaah pada algoritma;  beban komputasi  efisiensi penggunaan memory
  • 21. Masalah Analisis Algoritma Tantangan yang dihadapi dalam membandingkan kinerja berbagai algoritma sangat berguna, yang perlu diperhatikan ;  Kasus rata-rata; running time untuk tipikal data tertentu.  Kasus terjelek; running time yang mungkin paling jelek pada konfigurasi masukan data tertentu  Program → bahasa yang dipakai  Program sensitif terhadap input  Program sulit dimengerti, dan secara matematis hasil tah tersedia/ diketahui  Sering kali program tidak bisa membandingkan, misal untuk data tertentu sangat efisien, tetapi yang lain pada kondisi yang sangat berbeda.
  • 22. Masalah Komputasi Menurut kesepakatan para ilmuwan komputer, algoritma berdayaguna untuk komputasi bila kompleksitas waktu Ο berkembang secara polinomial dalam respect terhadap ukuran input : n . Secara lebih positif, wajah polinomial suatu algoritma seperti: Ο (n) , Ο (n log n), Ο (n3), Ο (106 n8), Ο (2n) , Ο (n log n), Ο (n !) .
  • 23. 23 Pengelompokan Algoritma Berdasarkan Notasi O-Besar Kelompok Algoritma Nama O(1) O(log n) O(n) O(n log n) O(n2 ) O(n3 ) O(2n ) O(n!) konstan logaritmik lanjar n log n kuadratik kubik eksponensial faktorial Urutan spektrum kompleksitas waktu algoritma adalah :    <<<<<<< ...)()()log()()(log)1( 32 nOnOnnOnOnOO    )!()2( nOO n < algoritma polinomial algoritma eksponensial
  • 24. Masalah Komputasi Dalam perkembangan yang lebih menguntungkan kompleksitas waktu dapat seperti: Ο (n) , Ο (n log n), Ο (n2 ) Ο (n3 ), Ο (108 n4 ), Ο (2n) Ο (10n) , Ο (n log n), Ο (n !)
  • 25. Menghadapi Banyaknya paket dalam TI dewasa ini  Kita dituntut untuk dapat melakukan pengamatan tentang kinerja paket-paket yang bersangkutan dan menyajikan informasi sehubungan dengan efektivitas dan efisiensi masing-masing paket bagi persoalan yang akan dihadapi.  Perlu memperhatikan masalah kompatabilitas sistem.  Perlu memperhatikan tingkat kemudahan oprasional dan antarmuka.  Perlu memperhatikan tingkat kemudahan perolehan paket dan populasi pamakaiannya.  Perhatikan masalah pemeliharaan di masa mendatang.
  • 26. Teknik Pemrograman Penekanan pada pemrograman tersetruktur  Struktur dasar Menggunakan flow chart dan pseudocode Menggunakan sistem modular.  Program dibuat dalam bentuk modul-modul untuk fungsi tertentu maupun subroutine tertentu.  Modul-modul dikendalikan oleh modul utama (program utama)
  • 27. Teknik Pemrograman  Modul bersifat independen (tidak ada modul yang dapat akses langsung ke modul lain, kecuali modul pemanggil dan submodulnya sendiri)  Modul dapat diubah secara radikal tanpa mempengaruhi modul lain sejauh fungsi modul tidak berubah..
  • 28. Teknik Pemrograman Implementasi pemrograman modul menggunakan subroutine- subroutine digambarkan sebagai berikut;
  • 29. Bentuk sub module  Internal subroutine; berupa bagian dari program yang menggunakannya  External subroutine;  bukan bagian dari program yang menggunakan modul itu.  Modul tersimpan dalam library dalam bentuk ”object module” yang siap digunakan oleh modul-modul yang akan menggunakan.  Modul dapat digunakan untuk tugas lebih dari satu program  Dalam menggunakan, pemrograman perlu mengetahui di mana diperoleh, namanya, bagaimana mengirim data padanya, dan jabawan baliknya.