PENGERTIAN ALGORITMA
Dalam MATEMATIKA dan komputasi, algoritma atau algoritme 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 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.
SERJARAH ISTILAH “ALGORITMA”
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.
JENIS-JENIS ALGORIMA
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.
·
Divide and Conquer,
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 memecahkanpermasalahan-permasalahan kecil yang
terbentuk.
·
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.
·
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.
ingin in formasi yang lain kilk aja DISINI
0 komentar:
Posting Komentar