Algoritma adalah jantung ilmu komputer a

SEJARAH ALGORITMA
Algoritma adalah jantung ilmu komputer atau informatika.
Ditinjau dari asal usul katanya, kata algoritma sediri memiliki sejarah yang cukup aneh
(Rinaldi Munir, 2011), karena kata ini tidak muncul di kampus Webster sampai akhir 1957.
Kata Algorism yang berarti menghitung dengan angka-angka Arab (Donald E. Knuth, 1973).
Hingga pada akhirnya para ahli sejarah matematika menemukan bahwa kata Algorism berasal
dari nama penulis buku (matematika) Arab yang terkenal, yaitu Abu Ja’far Muhammad
ibnu Musa al-Khawarizmi yang dibaca dalam bahasa orang barat menjadi Algorism). AlKhawarizmi sendiri adalah penulis buku kitab al jabar wal-muqabala yang artinya “buku
pemugaran dan pengurangan” (the book of restoration and reduction). Dari buku itulah kita
mengenal kata aljabar (algebra) yang dipelajari di ilmu matematika.
Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering
dikeluarkan dengan arithmatic, sehingga akhiran –sm berubah menjadi –thm. Karena angka
Arab sudah menjadi hal yang sudah biasa digunakan dalam perhitungan, selain itu angka
Arab lebih mudah untuk hitungan dari pada angka Romawi, maka berangsur-angsur algorith
dipakai sebagai metode perhitungan (komputasi) secara umum (Thomas W. Parsons, 1995).
Dalam bahasa Indonesia, algorithm diserap menjadi kata algoritma.
Kata algoritma sendiri pertama kali digunakan pada “algoritma Eucliden” (Euclid’s
Algorithm). Euclid sendiri adalah seorang matematikawan Yunani yang lahir pada tahun
350M, dalam bukunya yang berjudul Element. Euclid sendiri tidak menyebut metode ini
sebagai algoritma, karena baru pada abad modernlah orang-orang menyebut metode ini
sebagi algoritma Euclidean.

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 (ITERASI) atau memerlukan keputusan (LOGIKA BOOLEAN dan
PERBANDINGA) sampai tugasnya selesai
BERAPA DEFINISI ALGORITMA :
1. Algoritma secara singkat merupakan prosedur yang berisi langkah-langkah
penyelesaian masalah (Rinaldi Munir, Algoritma dan Pemprograman. 2011)
2. Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu
untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu
yang terbatas (Anany Levitin, Introduction to The Design and Analisys of
Algorithms.2003)
3. Algoritma adalah prosedur komputasi yang terdefinisi dengan baik yang
menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang
disebut keluaran(Thomas H. Cormen, Abstract Data Types, 1989. Atau bisa disebuth

juga sebagai deretan langkah komputasi yang mentransformasi masukan menjadi

keluaran) (Thomas H. Cormen, Introduction to Algorithms. 1990)
4. Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan masalah
logika atau matematika (Microsoft Press Computer and Internet Dictionary, 1998).
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.

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
memecahkan permasalahan-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.

Daftar Pustaka
wikipedia
http://okto-sumberdayaalam-okto.blogspot.com
guru.sma1pekalongan.sch.id/tik/sejarah-algoritma/