Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabar w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M
- 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)
- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
- Urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah.
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. 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. Pada dasarnya terdapat beberapa algoritma yang harus dikuasai dalam pemrograman yaitu:
1. Operator
2. Input/output: Bagaimana meminta suatu input dan menampilkan suatu output.
3. Selection: Bagaimana membuat program yang dapat memilih bagian yang akan dijalankan.
4. Repetition / looping: Bagaimana membuat program yang dapat mengulang suatu bagian program yang dijalankan.
Contoh Algoritma :
Mengirim surat kepada teman:
1. Tulis surat pada secarik kertas surat.
2. Ambil sampul surat.
3. Masukkan surat ke dalam sampul.
4. Tutup sampul surat menggunakan perekat.
5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat pada sampul surat.
7. Tempel perangko pada surat.
8. Bawa surat ke kantor pos untuk diposkan.
Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap.
1. Masukkan sebuah bilangan sembarang
2. Bagi bilangan tersebut dengan bilangan 2
3. Hitung sisa hasil bagi pada langkah 2.
4. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi
bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.
Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap
(algoritma pemrograman).
1. Sisa=0
2. Input Bil
3. sisa=Bil/2
4. MOD(sisa)
5. If Sisa=0 THEN “Bilangan GENAP” ELSE “Bilangan GANJIL”