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.
contohnya kurang banyak tapi warna blognya saya suka
BalasHapusMy blog