Apa sih algoritma itu ?



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