Analisa Algoritma Konsep Algoritma.

Slides:



Advertisements
Presentasi serupa
Algoritma dan Flowchart
Advertisements

Algoritma dan Pemrograman
Bab 1 PENDAHULUAN.
Pendahuluan Dr. Anto Satriyo Nugroho, M.Eng Web: Mata Kuliah: Dasar Pemrograman.
TEORI ALGORITMA.
Algorithma Pemrograman
Pengantar Strategi Algoritma
Bahasa Pemrograman dan Flow Chart
PEMROGRAMAN TERSTRUKTUR
ANALISIS ALGORITMA DAN PEMROGRAMAN
Pemrograman Komputer.
Sudoku IF3051 Strategi Algoritma.
Algoritma Runut-balik (Backtracking)
Pengantar Strategi Algoritmik
Dasar Pemrograman Komputer [TKL-4002 ] Pertemuan 01.
Program Dinamis (dynamic programming): metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah (step) atau tahapan (stage)
1 Pertemuan 1 Algoritma Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
PERTEMUAN 4 TAHAP PEMROGRAMAN.
P31035 Algorithms and Complexity 3 SKS
Mahasiswa diharapkan dapat:
Pertemuan 1 Muhamad Haikal,S.Kom., MT
PERTEMUAN I PENGANTAR ALGORITMA
ALGORITMA & PEMROGRAMAN I-A
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pendahuluan Algoritma dan Pemrograman I-A
Pengantar Pemrograman Basis Data (PPBD)
Pengertian Algoritma Pemrograman Pertemuan 1
ALGORITMA PEMEROGRAMAN
BAHASA PEMROGRAMAN / PEMROGRAMAN KOMPUTER Bab 1 PENDAHULUAN
BAB 1 BAHASA PEMROGRAMAN
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pertemuan 25 MERANCANG ALGORITMA DENGAN KOMPLEKSITAS TERTENTU
ALGORITMA & PEMROGRAMAN
Pengantar Pemrograman
ALGORITHMA DAN ATURAN PENULISANYA
MATERI PERKULIAHAN ANALISIS ALGORITMA
Analisa Algoritma (IF1282)
ALGORITMA DAN PEMROGRAMAN (Pertemuan 01)
Algoritma dan Pemrograman
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pengantar By Serdiwansyah N. A..
MATERI PERKULIAHAN ANALISIS ALGORITMA
PROG.STUDI PEND.FISIKA UIN ALAUDDIN MAKASSAR
Pertemuan 26 PRAKTEK ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
LATIHAN 26 Buatlah sebuah algoritma untuk menampilkan jumlah faktor pembagi bilangan X, dengan X adalah 1 hingga N ! Misal Jumlah faktor dari 1 adalah.
Pertemuan 4 ALGORITMA lanjutan….
PART 6 Algoritma DOSEN : AHMAD APANDI, ST.
Faktor analisa algoritma
Program Dinamis (Dynamic Programming)
Pengenalan Analisis Algoritma
Konsep Algoritma dan Pemrograman
Analisa Algoritma : Pendahuluan
Algoritma dan Pemrograman
Algoritma dan Pemrograman I Dosen : Utami Dewi Widianti
Gambaran Kuliah Pemrograman Terstruktur
Analisa Algoritma 3 SKS.
Bahasa Pemrograman dan Flow Chart
Analisis dan Perancangan Algoritma
EL 2001 – Dasar Pemrograman Budi Rahardjo Teknik Elektro ITB
PROG. STUDI FISIKA UIN ALAUDDIN MAKASSAR
Algoritma Divide and Conquer
Algoritma Divide and Conquer
STRUKTUR DATA Materi 1.
Pengantar Strategi Algoritma
ALGORITMA 1 Temu 1.
Algoritma Pemrograman II
Komputasi & Pemrograman
PEMROGRAMAN DASAR 3.1 & 4.1 KONSEP, STRUKTUR, PENULISAN ALGORITMA DHARU WIHARTASIH, S.PD SMK PALAPA SEMARANG.
Konsep Algoritma Pemrograman
Transcript presentasi:

Analisa Algoritma Konsep Algoritma

Deskripsi Materi ini membahas tentang konsep dasar algoritma

Tujuan Instruksional Khusus (TIK)‏ Menjelaskan konsep dasar algoritma Mendeskripsikan tahapan algoritma Menjelaskan ciri algoritma yang baik Menjelaskan strategi algoritma

Algoritma dan Pemecahan Masalah

Syarat Algoritma Menurut Donald E Knuth algoritma harus memenuhi persyaratan : Finiteness Algoritma harus berakhir (terminate) setelah melakukan sejumlah langkah proses Definiteness tidak menimbulkan makna ganda (ambiguous). Input Setiap algoritma memerlukan data sebagai masukan untuk diolah. Output Setiap algoritma memberikan satu atau beberapa hasil keluaran. Effectiveness Langkah-langkah algoritma dikerjakan dalam waktu yang wajar.

Sebagai basis pemerograman komputer, algoritma mendeskripsikan 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 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 sebagainya.

Tahapan Algoritma 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 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

Presentase tahapan menyelesaikan masalah dengan menggunakan komputer: Analisis masalah (40%) Mendapatkan ide-ide penyelesaian masalah. Merancang algoritma (30%)‏  Menurunkan ide-ide penyelesaian  Menyatakan algoritma (I/O, operasi/operator, percabangan atau perulangan yang digunakan)‏  Memvalidasi (Mengecek apakah benar untuk semua input yang mungkin)‏  Menganalisis (bertujuan untuk mengukur prediksi waktu + memory, efisiensi dan kelayakan saat di buat program)  butuh struktur data dan bahasa pemrograman.

Algoritma pemrograman yang baik memiliki ciri-ciri sebagai berikut: Memiliki logika perhitungan/metode yang tepat dalam memecahkan masalah. Menghasilkan output yang tepat dan benar dalam waktu singkat. Ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak menimbulkan arti ganda. Ditulis dengan format yang mudah dipahami dan diimplementasikan kedalam bahasa pemrograman. Semua operasi yang dibutuhkan terdefinisi dengan jelas. Semua proses harus selalu berakhir setelah sejumlah langkah dilakukan.

Definiteness Setiap langkah harus definite (tertentu dan pasti)‏ Contoh: x0 atau x=5 atau x:=5 Contoh Undefinite Tambahkan nilai x dengan 1 atau 2 (xx+(1 or 2)) Contoh definite Tambahkan nilai x dengan 1 atau 2 yang dipilih secara random X:= x+(random(2)+1)

Proses harus bisa berhenti atau berakhir (ada Stepping Criteria)‏ Contoh 1: X0 Repeat Write (x) XX+2 Until x = 15 Step criteria Salah Contoh 2: Write (x)‏ Until (x >15) Step criteria Benar

Analisa Algoritma Mengapa diperlukan analisa pada suatu algoritma? Agar dapat memprediksi sumber daya (dalam hal ini yang berhubungan dengan waktu komputasi) yang diperlukan untuk menyelesaikan problem sesuai dengan algoritma yang digunakan. Alat bantu dalam analisa algoritma Mathematical background (kombinatorik, teori probabilitas, aljabar, dsb). Relasi rekursif Teori kompleksitas (Struktur Data)

Remember : Notasi Matematik x : ceiling(x) contoh: 1.23 = 2 x : floor(x) contoh: 1.23 = 1 Note: x-1 < x ≤ x dan x ≤ x < x+1 Y = log2x Y = x Y = 2x Y = log2x logarithmic growth x=1  Y=0; x=16  Y = 4 Y = x linear growth x=1  Y=1; x=16  Y = 16 Y = 2x exponential growth x=1  Y=2; x=16  Y = 256

Remember : Notasi Matematik a + (a+d) + (a+2d) + … + (a+(n-1)d) = (n(2a+(n-1)d))/2 1+2+…+n=(n(n+1))/2 Untuk x real dan -1 < x < 1 1+x+x2+…+xn-1=(xn-1)/(x-1) 1+2+22+…+2n-1= 2n-1 1+2x+3x2+…+nxn-1=(nxn+1-(n+1)xn+1)/(x-1)2 Untuk k=0,1,2,…,n

Analisa Algoritma Menurut jenis persoalan Menurut strategi perancangan Searching Sorting Optimization Graph Numerik/Probabilistik Menurut strategi perancangan Greedy Method Divide & Conquer Backtracking Branch & Bound Dynamic Programming Menurut proses komputasi Sekuential Paralel

Klasifikasi Strategi Algoritmik kumpulan metode/teknik untuk memecahkan masalah guna mencapai tujuan yang ditentukan, yang dalam hal ini deskripsi metode atau teknik tersebut dinyatakan dalam suatu urutan langkah-langkah penyelesaian.

Klasifikasi Strategi Algoritmik 1. Strategi solusi langsung (direct solution strategies) - Algoritma Brute Force v - Algoritma Greedy v 2. Strategi berbasis pencarian pada ruang status (state-space base strategies) - Algoritma Backtracking v - Algoritma Branch and Bound 3. Strategi solusi atas-bawah (top-down solution strategies) - Algoritma Divide and Conquer. v 4. Strategi solusi bawah-atas (bottom-up solution strategies) - Dynamic Programming. v

Tips merancang algoritma Formulasikan persoalan dan perhatikan sumber daya yang ada (memori & prosesor) Identifikasi tipe-tipe data abstract yang sesuai untuk model persoalannya. Identifikasi bagian-bagian dari persoalan yang telah diketahui algoritmanya dan rancang algoritma untuk bagian lainnya. Bila algoritma telah selesai dirancang, ujilah correctness dan analisa performance-nya. Apakah masih ada algoritma lain yang lebih baik untuk digunakan.

Survey Berapa buah program yang pernah Anda buat dalam satu semester terakhir Sebutkan tiga yang paling anda buat secara tuntas dan Anda kuasai benar. Algoritma yang digunakan? Bahasa pemrograman? Ceritakan mengenai proses Anda menyelesaikan salah satu program yang Anda buat tersebut