Algoritma adalah metode efektif diekspresikan sebagai rangkaian terbatas dari instruksi-
instruksi yang telah didefinisikan dengan baik untuk menghitung sebuah fungsi.Dimulai dari
sebuah kondisi awal dan input awal (mungkin kosong), instruksi-instruksi tersebut menjelaskan
sebuah komputasi yang, bila dieksekusi, diproses lewat sejumlah urutan kondisi terbatas yang
terdefinisi dengan baik, yang pada akhirnya menghasilkan "keluaran" dan berhenti dikondisi akhir.
Transisi dari satu kondisi ke kondisi selanjutnya tidak harus deterministik; beberapa algoritma,
dikenal dengan algoritma pengacakan, menggunakan masukan acak.
Asal usul kata algoritma sebenarnya berasal dari kata algorism yang berarti proses
menghitung dengan menggunakan angka Arab. Para ahli banyak yang mencari tahu asal kata
algorism itu, tetapi hasilnya kuraag memuaskan. Tetapi, sebenarnya kata algorism itu berasal dari
nama penulis Arab yang terkenal yaitu Abu Ja'far Muhammad ibnu Musa al-Khuwarizmi. Al-
khwarizmi ini juga yang menemukan aljabar dan algoritma.
Kata algorism berubah menjadi algorithm, ini dikarenakan kata algorism sering
diidentikan dengan arithmetic. Karena perhitungan Arab sudah biasa, maka lambat laun algorithm
berangsur-angsur dipakai dalam perhitungan secara umum. Dalam bahasa Indonesia, algorithm
diserap menjadi algoritma. Pada tahun 1950, kata algoritma kembali digunakan pada algoritma
Euclidean. Seorang matematikawan Yunani yaitu tentang menemukan pembagi bersama
terbesar.
1
Jenis-Jenis Algoritma
1. Divide and Conquer
2. 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.
3. Metode serakah
4. Sistem Flowchart
Sistem flowchart merupakan diagram alir yang menggambarkan suatu sistem peralatan
komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan
tersebut. Sistem flow chart tidak digunakan untuk menggambarkan urutan langkah untuk
memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang
dibentuk.
Pseudo Code (kode semu) merupakan metode yang cukup efisien untuk
menggambarkan suatu algoritma. Pseudo Code dituliskan dengan menggunakan bahasa yang
mudah dipahami (boleh menggunakan bahasa Indonesia) agar alur logika yang digambarkan
dapat dimengeti oleh orang awam sekalipun. Flowchart Pseudo Code (kode semu) disusun
dengan tujuan untuk menggambarkan tahap-tahap penyelesaian suatu masalah dengan kata-
kata (teks). Metode ini mempunyai kelemahan, dimana penyusunan algoritma dengan kode
semu sangat dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kdang sulit
dipahami oleh orang lain. Oleh karena itu kemudian dikembangkan suatu metode lain yang
dapat menggambarkan suatu algoritma program secara lebih mudah dan sederhana yaitu
dengan menggunakan flowchart (diagram alir).
2
PASCAL
Pascal adalah salah satu bahasa pemrograman komputer yang umumnya digunakan
sebagai pengantar untuk mulai belajar algoritma dan pemrograman. Pascal relatif mudah
dipelajari karena perintah-perintahnya yang mirip dengan bahasa inggris sehari-hari
seperti begin, end, write, dan read.
Pascal diambil dari nama ahli matematika prancis abad pertengahan,Blaise Pascal.
Bahasa Pascal dikembangkan oleh Niklaus Wirth pada tahun 1970, dan populer digunakan pada
era 1970 hingga awal 1990an. Nama Pascal dipilih untuk menghormati Blaise Pascal, seorang
ilmuwan matematis Prancis yang pada tahun 1642 membuat kalkulator mekanis pertama di
dunia. Kalkulator ini menjadi cikal bakal komputer modern.