Dilihat dari istilahnya algoritma, berasal dari nama seorang matematikawan muslim bernama
Abu Ja‟far Muhammad Ibnu Musa Al-Khuwarizmi (780 M-850), yang oleh orang barat menyebut AlKhuwarizm sebagai Algorism, yang diartikan proses menghitung dengan angka arab. Salah satu karya beliau yang monumental adalah buku berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction), yang menjadi cikal bakal istilah “Aljabar” (Algebra) yang dipakai hingga sekarang ini. Seiring dengan perkembangan jaman isitilah "Algorism" berubah menjadi algorithm yang kemudian diartikan sebagai metode perhitungan (komputasi) secara umum. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
Menurut definisi, algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun secara sistematis dan logis. Dalam beberapa konteks, algoritma dapat diartikan urutan langkah-langkah yang spesifik (tertentu) untuk melakukan suatu pekerjaan. Jadi algoritma tidak hanya diartikan sebatas pada perhitungan dengan komputer saja tapi dapat diartikan lebih luas dalam kehidupan sehari-hari. Resep masakan adalah contoh algoritma yang ada di kehidupan sehari-hari. Petunjuk pemasangan AC, petunjuk perakitankomputer, petunjuk installasi software, panduan pengisian token listrik, Jadwal acara kegiatan adalah berbagai bentuk algoritma yang ada di kehidupan sehari-hari.
Menurut makna yang pertama, algoritma adalah langkah-langkah logis penyelesaian masalah, artinya langkah-langkah dalam suatu algoritmaharus logis, sesuai dengan tujuan yang akan dicapai dan dapat ditentukan nilai kebenarannya. Sebagai contoh dalam sebuah resep masakah, ada sebuah langkah “Rebus bahan x selama 30 menit” atau dalam merakit komputer, “sambungkan kabel VGA monitor dengan komputer”. Dua langkah ini adalah langkah yang logis, karena jelast diketahui kebenarannya. Kalo si A merebus selama 15 menit saja maka dapat dikatakan langkahnya tidak sesuai atau salah, atau misalkankabel VGA tidak tersambung maka jelas bahwa langkahnya tidak sesuai.
Langkah yang logis juga dapat diartikan pula tidak ambigu. Langkah “tambahkan garam secukupnya”, merupakan contoh langkah atau proses yang ambigu atau bermakna ganda. Secukupnya bisa berarti setengah sendok teh, satu sendok teh atau satu sendok makan, tidak ada kriteria yang pasti, maka antara satu orang pengguna dengan yang bisa menghasilkan output yang tidak sama, dalam hal ini rasanya. Demikian juga misalkan dalam suatu algoritma ada perintah
“Tambahkan x dengan sebuah bilangan”, juga bermakna ambigu karena bilangan seperti apa yang harus ditambhakan apakah bilangan asli atau real, genap atau ganjil, tidak ada nilai yang pasti.
Selain itu penyusunan langkah-langkah harus sistematis, atau terstruktur menurut aturan/sistem tertentu sesuai denga tujuan yang dicapai. Artinya langkah-langkah yang ada pada algoritma harus dapat diikuti atau ditelusuri dengan baik sehingga mencapai hasil akhir yang diinginkan. Oleh karena itu dalam suatu algoritma, biasanya setiap langkah diberikan nomer agar pengguna algoritma dapat mengikuti setiap instruksi yang diberikan dengan baik. Selain itu langkah-langkah dalam algoritma juga harus terbatas, artinya ia akan berhenti setelah melakukan sejumlah langkah. Karena tujuan dari algoritma adalah mencari penyelesaian. Jika sebuah algoritma mempunyai langkah yang tidak terbatas, ini berarti usaha mencari penyelesaian yang tidak kunjung berhasil. Maka dapat dikatakan algoritma tersebut sia-sia atau tidak berguna.
Struktur Algoritma
Inti dari algoritma adalah menemukan solusi dari suatu permasalahan. Untuk menyelesaikan masalah, algoritma membutuhkan spesifikasi input (masukan) sesuai yang diperlukan, memprosesnya melalui serangkaian langkah-langkah dan menghasilkan output sebagai solusi dari permasalahan.
Secara umum struktur Algoritma terdiri dari 3 bagian,yaitu::
1. Nama/judul Algoritma
Nama Algoritma memberikan gambaran secara singkat apa tujuan dari Algoritma, misalkan nama resep masakan, petunjuk melakukan sesuatu, jadwal kegiatan, langkah-langkah penyelesaian sebuah masalah, dan sebagainya. Pemberian nama Algoritma disarankan singkat dan jelas, namun sudah mewakili maksud dari algoritma. Dalam Algoritma komputer biasanya nama algoritma dituliskan tanpa menggunakan spasi, misalkan Algoritma VolumeBalok atau Algoritma Volume_Balok.
2. Bagian Deklarasi
Bagian deklarasi merupakan tahap persiapan dari algoritma . Pada bagian ini dijelaskan kebutuhan agar algoritma dapat berjalan. Istilah lainnya di sinilah alat dan bahan didefinisikan. Dalam algoritma pemrograman, bagian deklarasi menjelaskan input (masukan) apa saja yang akan diproses oleh algoritma termasuk jenis data input (tipe data), juga output apa yang akan dihasilkan serta semua hal yang akan dipakai dalam algoritma. Yang didefiniskan dalam algoritma ini termasuk variabel, tipe data, konstanta, nama prosedur, tipe, dan fungsi.
3. Bagian Deskripsi
Pada bagian ini dijelaskan serangkaian langkah-langkah (instruksi) atau pernyataan (statement) untuk memproses alat dan bahan atau inputan untuk menghasilkan output sesuai yang diharapkan. Langkah-langkah dalam algoritma dituliskan dari atas ke bawah. Urutan penulisan menentukan urutan perintah.
Untuk lebih jelasnya, perhatikan contoh berikut.
RESEP PUDING MUTIARA
Bahan :
1 bungkus tepung hunkwe
250 gram gula pasir
1 gelas santan kental
3 gelas air
100 gram mutiara/ pacar cina, rebus, tiriskan
1 lembar daun pandan
½ sendok teh garam
Cara Pembuatan:
1) Campurkan tepung hunkwe, gula pasir dan santan, tambahkan air, garam dan daun pandan lalu masak sambil diaduk agar rata.
2) Masukkan mutiara ke dalam adonan tepung hunkwe, aduk hingga rata.
3) Tunggu hingga adonan mendiddih dan mengental, angkat dan tuang dalam cetakan, kemudian dinginkan
4) Jika puding sudah dingin dan padat, keluarkan dari cetakan dan sajikan.
Dalam algoritma resep masakan di atas dapat dilihat bahwa proses disusun dengan sistematis dalam bentuk urutan rangkaian kerja. Dalam kasus ini semua proses harus urut satu persatu dikerjakan dari nomor 1 hingga 4.