Diagram Alur sering digunakan untuk
menggambarkan sebuah algoritma.
Dalam
matematika
dan
komputasi,
algoritma
atau
algoritme
[1]
merupakan
kumpulan
perintah
untuk
menyelesaikan
suatu
masalah. Perintah-perintah ini dapat
diterjemahkan secara bertahap dari
awal hingga akhir. Masalah tersebut
dapat berupa apa saja, dengan catatan
untuk setiap masalah, ada kriteria
kondisi awal yang harus dipenuhi
sebelum menjalankan algoritma.
Algoritma akan dapat selalu berakhir
untuk semua kondisi awal yang
memenuhi kriteria, dalam hal ini
berbeda dengan heuristik. Algoritma
sering mempunyai langkah
pengulangan (iterasi) atau
memerlukan keputusan (logika
Boolean dan perbandingan) sampai
tugasnya selesai.
Desain dan analisis algoritma adalah
suatu cabang khusus dalam ilmu
komputer yang mempelajari
karakteristik dan performa dari suatu
algoritma dalam menyelesaikan
masalah, terlepas dari implementasi
algoritma tersebut. Dalam cabang
disiplin ini algoritma dipelajari secara
abstrak, terlepas dari sistem komputer
atau bahasa pemrograman yang
digunakan. Algoritma yang berbeda
dapat diterapkan pada suatu masalah
dengan kriteria yang sama.
Kompleksitas dari suatu algoritma
merupakan ukuran seberapa banyak
komputasi yang dibutuhkan algoritma
tersebut untuk menyelesaikan
masalah. Secara informal, algoritma
yang dapat menyelesaikan suatu
permasalahan dalam waktu yang
singkat memiliki kompleksitas yang
rendah, sementara algoritma yang
membutuhkan waktu lama untuk
menyelesaikan masalahnya
mempunyai kompleksitas yang tinggi.
Sejarah
Kata algoritma berasal dari latinisasi
nama seorang ahli matematika dari
Uzbekistan Al Khawārizmi (hidup
sekitar abad ke-9), sebagaimana
tercantum pada terjemahan karyanya
dalam bahasa latin dari abad ke-12
"Algorithmi de numero Indorum".
Pada awalnya kata algorisma adalah
istilah yang merujuk kepada aturan-
aturan aritmetis untuk menyelesaikan
persoalan dengan menggunakan
bilangan numerik arab (sebenarnya
dari India, seperti tertulis pada judul
di atas). Pada abad ke-18, istilah ini
berkembang menjadi algoritma, yang
mencakup semua prosedur atau
urutan langkah yang jelas dan
diperlukan untuk menyelesaikan suatu
permasalahan. Masalah timbul pada
saat akan menuangkan bagaimana
proses yang harus dilalui dalam suatu/
sebuah sistem (program) bagi
komputer sehingga pada saat
eksekusinya, komputer dapat bekerja
seperti yang diharapkan. Programer
komputer akan lebih nyaman
menuangkan prosedur komputasinya
atau urutan langkah proses dengan
terlebih dahulu membuat gambaran
(diagram alur) diatas kertas.
[sunting]Jenis-jenis Algoritma
Jenis-jenis Algoritma
Terdapat beragam klasifikasi
algoritma dan setiap klasifikasi
mempunyai alasan tersendiri. Salah
satu cara untuk melakukan klasifikasi
jenis-jenis algoritma adalah dengan
memperhatikan paradigma dan
metode yang digunakan untuk
mendesain algoritma tersebut.
Beberapa paradigma yang digunakan
dalam menyusun suatu algoritma akan
dipaparkan dibagian ini. Masing-
masing paradigma dapat digunakan
dalam banyak algoritma yang
berbeda.
1. Divide and Qonquer, 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.
2. Dynamic programming, paradigma
pemrograman dinamik akan sesuai
jika 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.
3. Metode serakah. Sebuah algoritma
serakah mirip dengan sebuah
Pemrograman dinamik, bedanya
jawaban dari submasalah tidak perlu
diketahui dalam setiap tahap; dan
menggunakan pilihan "serakah" apa
yang dilihat terbaik pada saat itu.
0 komentar:
Posting Komentar