ALGORITMA
Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed
Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala
(rules of restoration and reduction) sekitar tahun 825 M
Definisi Algoritma
Algoritma adalah urutan langkah logis tertentu untuk
memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang
berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh
melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary
1997, 1998).
Dalam bidang komputer
Algoritma sangat diperlukan dalam menyelesaikan berbagai
masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang
dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat
dan tidak efisien.
Dimana pelaksana
algoritma adalah Komputer.Manusia
dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada
komputer berupa instruksi-instruksi yang disebut program. Alat yang
digunakan untuk membuat program tersebut adalah bahasa pemrograman.
Bahasa pemrograman sangat bermacam-macam: C,
C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak
bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya
berbeda-beda namun bertujuan menghasilkan output yang sama
Beberapa pakar memberi formula
bahwa:
Program
= Algoritma + Bahasa (Struktur Data)
Program adalah kumpulan pernyataan
komputer, sedangkan metode dan tahapan sistematis dalam program adalah
algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa
disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
Bagaimanapun juga struktur data
dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik
tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang
baik, demikian juga sebaliknya.
Kriteria Algoritma
Menurut Donald E. Knuth
1. Input: algoritma dapat memiliki nol atau lebih inputan
dari luar.
2. Output: algoritma harus memiliki minimal satu buah
output keluaran.
3. Definiteness (pasti): algoritma memiliki
instruksi-instruksi yang jelas dan tidak ambigu.
4. Finiteness (ada batas): algoritma harus
memiliki titik berhenti (stopping role).
5. Effectiveness (tepat dan efisien): algoritma
sebisa mungkin harus dapat dilaksanakan
dan efektif.
Contoh instruksi
yang tidak efektif adalah: A = A + 0 atau A = A * 1
Namun ada beberapa
program yang memang dirancang untuk unterminatable: contoh Sistem Operasi.
Jenis-jenis Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu
masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence),
pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari
ketiganya.
- Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
- Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
- Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu. Program yang pernyataannya akan dieksekusi berulang-ulang
- Concurrent Process: Beberapa Instruksi Dikerjakan Secara Bersama
Contoh Algoritma Dalam Kehidupan Sehari-hari :
A. Jika
seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak
pasti akan
melakukan suatu langkah-langkah tertentu sehingga masakannya atau
kuenya jadi.
B.
Jika seseorang ingin mengirim surat kepada kenalannya di
tempat lain, langkah yang
harus dilakukan
adalah:
- Menulis surat
- Surat dimasukkan ke dalam amplop tertutup
- Amplop ditempeli perangko secukupnya.
- Pergi ke Kantor Pos terdekat untuk mengirimkannya.
Tidak ada komentar:
Posting Komentar