PART 6 Algoritma DOSEN : AHMAD APANDI, ST
OBJECTIVE Memahami apa yang dimaksud dengan algoritma Memahami apa yang dimaksud dengan analisis algoritma Memahami kriteria algoritma yang baik
PENGERTIAN ALGORITMA Algoritma adalah urutan langkah yang tepat dan pasti dalam memecahkan suatu masalah secara logis. Cara menyelesaikan suatu proses yang terdiri atas langkah-langkah yang terdefinisi dengan baik. Bisa dihitung (computable) atau bisa diukur(measurable) serta dapat menerima input dan menghasilkan output. Algoritma dapat dianalisis efisiensi dan kompleksitasnya.
KRITERIA ALGORITMA YANG BAGUS Sebuah algoritma dikatakan BENAR (correct) jika algoritma tersebut berhasil mengeluarkan output yang benar untuk semua kemungkinan input. Penilaian algoritma didasarkan pada : 1. Waktu eksekusi. 2. Penggunaan memori/sumber daya. 3. Kesederhanaan dan kejelasan algoritma.
ANALISIS SUATU ALGORITMA (1) Langkah-langkah analisis algoritma adalah : Menentukan jenis/sifat data input. Mengidentifikasi abstract operation dari data input. Mengenalisis secara matematis untuk menentukan best case, average case atau worst case-nya.
ANALISIS SUATU ALGORITMA (2) Faktor-faktor yang menyulitkan analisis algoritma adalah : Implementasi instruksi oleh bahasa pemrograman yang berbeda. Ketergantungan algoritma terhadap jenis data. Ketidakjelasan algoritma yang diimplementasikan.
ANALISIS SUATU ALGORITMA (3) Analisis algoritma tidak mudah dilakukan secara pasti, maka hanya diambil : Kondisi rata-rata (average case). Kondisi Terbaik (best case). Kondisi terburuk (worst case). Waktu eksekusi dipengaruhi oleh : Jenis data input. Jumlah data input. Pemilihan instruksi bahasa pemrograman.
KOMPLEKSITAS ALGORITMA (1) Besaran yang dipakai untuk menerangkan model abstrak pengukuran waktu/ruang Ada dua macam kompleksitas algoritma, yaitu: kompleksitas waktu dan kompleksitas ruang.
KOMPLEKSITAS ALGORITMA (2) Kompleksitas waktu, T(n), diukur dari jumlah tahapan komputasi yang dibutuhkan untuk menjalankan algoritma sebagai fungsi dari ukuran masukan n. Kompleksitas ruang, S(n), diukur dari memori yang digunakan oleh struktur data yang terdapat di dalam algoritma sebagai fungsi dari ukuran masukan n.
CONTOH PERHITUNGAN KOMLEKSITAS WAKTU