Sejarah Algoritma
Algoritma adalah jantung ilmu computer atau informatika.
Banyak cabang dari ilmu computer yang diacu dalam terminologi algoritma,
misalnya algoritma perutean (routing) pesan didalam jaringan komputer,
algoritma brensenham untuk menggambar garis lurus (bidang grafika komputer),
algoritma Knuth-Morris-Pratt untuk mencari suatu pola di dalam teks (bidang
information retrievel),dan lain sebagainya.
Ditinjau dari asal usul kata, kata “algoritma” sendiri
mempunyai sejarah yang cukup aneh. Kata ini tidak muncul di dalam kamus Webster
sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses
menghitung dengan angka Arab. Anda dikatakan algorist jika Anda menggunakan
angka Arab. Para ahli bahasa berusaha menemukan asal kata algorism ini namun
hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal
mula kata tersebut. Kata algorism berasal dari nama penulis buku Arab yang
terkenal,yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi (al-Khuwarizmi
dibaca orang barat menjadi algorism). Al-Khuwarizmi menulis buku yang berjudul
Kitab al jabar wal-muqabala,yang artinya “Buku pemugaran dan pengurangan” (The
book of restoration and reduction). Dari judul buku itu kita juga memperoleh
akar kata “aljabar”(algebra). Perubahan dari kata algorism menjadi algorithm
muncul karena kata algorism sering dikelirukan dengan arithmetic,sehingga
akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah
menjadi hal yang sudah biasa/lumrah, maka lambat laun kata algorithm
berangsur-rangsur dipakai sebagai metode perhitungan (komputasi) secara
umum,sehingga kehilangan makna aslinya. Dalam Bahasa Indonesia,kata algorithm
diserap menjadi “algoritma”.
Pada tahun 1950, kata algoritma pertama kali digunakan pada “algoritma
Euclidean” (Euclid’s algorithm). Euclid seorang matematikawan Yunani (lahir
pada tahun 350 M),dalam bukunya yang berjudul Element menuliskan langkah-langkah untuk menemukan pembagi bersama
terbesar (common greatest divisor atau gcd), dari dua buah bilangan bulat, m
dan n (tentu saja Euclid tidak menyebut metodenya itu sebagai algoritma, baru
di abad modernlah orang-orang menyebut metodenya itu sebagai “algoritma
Euclidean”). Pembagi bersama terbesar dari dua buah bilangan bulat tak-negatif
adalah bilangan bulat positif terbesar yang habis membagi kedua bilangan
tesebut.
Menurut Donald E Knuth dalam bukunya yang berjudul The Art of Computer Programming, sebuah
algoritma harus mempunyai lima ciri penting,sebagai berikut :
1.
Algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas. Program yang tidak pernah berhenti mengindikasikan
bahwa program tersebut berisi algoritma yang salah. 2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous).
3. Algoritma memiliki nol atau lebih masukan (input). Masukan ialah besaran yang diberikan kepada algoritma untuk di proses.
4. Algoritma mempunyai nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan.
5. Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.
Program dan Pemrogram
Algoritma baru efektif jika dijalankan oleh sebuah pemroses
(processor). Pemroses itu bias manusia, computer, robot, mesin, dan sebagainya.
Pemroses membaca setiap instruksi di dalam algoritma lalu mengerjakannya. Suatu
pemroses harus :
1. Mengerti setiap langah dalam algoritma.
2. Mengerjakan operasi yang bersesuaian dengan langkah
tersebut.
Kita memfokuskan pemroses algoritma adalah komputer.
Komputer adalah alat bantu untuk menjalankan perintah-perintah di dalam
algoritma yang telah “dimasukkan” ke dalamnya. Agar komputer mengerti perintah
yang dimaksudkan, maka perintah tersebut harus ditulis dalam bahasa yang
dipahami olehnya. Oleh karena itu, algorisma harus ditulis dalam bahasa khusus,
yaitu bahasa komputer. Algoritma yang ditulis dalam bahasa komputer dinamakan program. Bahasa komputer yang digunakan
dalam menulis program dinamakan bahasa
pemrograman. Orang yang membuat program komputer disebut pemrogram, dan kegiatan merancang dan
menulis program disebut pemrograman.
Di dalam pemrograman ada aktivitas menulis kode program, kegiatan ini dinamakan
coding.
Secara garis besar komputer tersusun atas empat komponen
utama : piranti masukan, piranti keluaran, unit pemroses utama, dan memori.
Unit pemroses utama ( Central Processing Unit – CPU ) adalah “otak” komputer,
yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi
membaca dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan
atau mengingat-ingat. Yang disimpan di dalam memori adalah program (berisi
operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu
yang diolah oleh operasi-operasi). Piranti masukan dan keluaran ( I/O devices)
adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang
digunakan komputer untuk mengomunikasikan hasil-hasil aktivitasnya. Contoh
piranti masukan antara lain papan ketik ( keyboard ), pemindai (scanner),
tetikus (mouse), joystick, dan cakram (disk). Contoh piranti keluaran adalah
layar peraga (monitor), printer, plotter, dan cakram.
No comments:
Post a Comment