Senin, 19 November 2012

DESAIN & ANALISIS ALGORITMA


 
I.      PENGERTIAN DESAIN DAN ANALISIS ALGORITMA
Desain ialah perencanaan dalam pembuatan sebuah konsep atau struktur.Algoritma ialah prosedur atau urutan langkah yang jelas dan untuk menyelesaikan suatu permasalahan.Analisis Algoritma ialah untuk melihat faktor efisiensi & efektifitas dari algoritma.
Jadi,desain dan analisis algoritma yaitu perencanaan dalam pembuatan sebuah konsep atau struktur untuk melihat faktor efisiensi & efektifitas dari prosedur atau urutan langkah yang jelas dan logis untuk menyelesaikan suatu permasalahan.
II.      CONTOH ALGORITMA DENGAN FLOWCHART
Berikut algoritma dan flowchart menghitung nilai faktorial :
Keterangan :
y : Bilangan yang akan dicari nilai faktorialnya
hsl : hasil menghitung nilai faktorial

1.      Mulai
2.      Masukkan bilangan y
3.      Proses berulang langkah ke-3
cek bilangan y
IF y=0
jika ya,hsl(y)=1,lanjut langkah ke-4
jika tidak,hsl(y)=y * hsl(y-1)
4.      Cetak hasil
hsl(y)
5.      Selesai




III.      JENIS-JENIS ALGORITMA
Jenis-jenis Algoritma terdapat beragam klasifikasi algoritma dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritmanya. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
o       Divide and Conquer yaitu paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
o       Dynamic programming yaitu paradigma yang digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
o       Greedy Algorithm yaitu serupa dengan sebuah pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan “serakah” yang dilihat terbaik pada saat itu.
o       Kompresi Data adalah sebuah cara untuk memadatkan data sehingga hanya memerlukan ruangan penyimpanan lebih kecil sehingga lebih efisien dalam menyimpannya atau mempersingkat waktu pertukaran data tersebut.
o       Backtracking merupakan perbaikan dari pendekatan kekerasan, yang secara sistematis mencari solusi untuk masalah di antara semua pilihan yang tersedia.
o       Branch and Bround (B&B) juga merupakan metode pencarian di dalam ruang solusi secara sistematis. Branch and Bround digunakan untuk mencari solusi optimal dari berbagai optimasi masalah, terutama dalam diskrit dan optimasi kombinatorial. Ini terdiri dari pencacahan sistematis semua solusi kandidat, dimana himpunan bagian besar calon sia-sia dibuang secara massal, dengan menggunakan perkiraan batas bawah dan atas kuantitas yang sedang dioptimalkan.
o       Bahasa Semu (pseudo code) yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan struktur.
o       Diagram Alir/Alur (Flowchart) yaitu dengan membuat suatu penulisan atau penyajian algoritma berupa diagram yang menggambarkan susunan alur logika dari suatu permasalahan




Referensi :
Sutanta,Edhy.2004.Algoritma.Yogyakarta:Graha Ilmu.


1 komentar: