Dalam kehidupan sehari-hari banyak terdapat proses yang digambarkan dalam suatu algoritma. Contohnya adalah cara-cara untuk memasak mie rebus. Dipastikan bahwa kita harus mengikuti langkah-langkah tertentu (di balik bungkus mie) yang akhirnya kita bisa menyajikan mie rebus dengan tepat.
Algoritma ialah urutan logis langkah-langkah penyelesaian suatu masalah. Algoritma ini merupakan jantung ilmu komputer atau teknik informatika. Software sendiri merupakan kumpulan dari algoritma-algoritma yang sangat kompleks. Atau dala bahasa teknisnya, sebuah program komputer merupakan realisasi teknis dari algoritma. Algoritma tersebut disajikan dengan suatu bahasa pemrograman. Bahasa pemrograman merupakan bahasa penghubung antara manusia dengan komputer sebab komputer sendiri hanya mengerti bahasa pemrograman.
Asal Kata Algoritma
Algoritma memiliki sejarah asal-usul kata yang aneh. Dulu ada kata algorism yang berarti proses menghitung dengan angka Arab. Orang dikatakan algorist jika menggunakan bahasa Arab. Kata algorism berasal dari nama penulis buku Arab, yaitu Abu Ja’far Muhammad ibnu Musa al-Khuwarizmi. Beliau menulis buku “Kitab al jabar wal-muqabala” (The book of restoration and reduction). Karena perhitungan dengan angka Arab jadi lumrah, kata algorithm sering dipakai sebagai metode perhitungan (komputasi) secara umum.
Bahasa Algoritma
Saat ini sangat banyak sekali bahasa pemrograman, contohnya assembly, Fortran,Cobol, Ada, Pascal, C, C++, C#, Basic, Prolog, Perl, Java serta masih banyak yang lainnya. Dari sekian banyak bahasa tersebut algoritma menjadi dasar dalam pembuatan program. Dengan adanya urutan-urutan, maka dengan gampang orang bisa mengubahnya menjadi bahasa pemrograman tertentu. Karena itu, para programmer terdahulu menyepakati untuk membuat bahasa yang mudah dipahamai, namun bukan yang akan dipakai langsung ke komputer. Tujuan lain ialah agar mempermudah kerangka berpikir seorang programmer. Bahasa tersebut ialah bahasa algoritma, namun sayangnya tidak ada aturan khusus yang mengikat penggunaan bahasa pemrograman ini. Sebagian buku menggunakan kata “notasi algoritma”, karena jika disebut bahasa algoritma, terlalu banyak perbedaan untuk sebuah bahasa.
Dasar Algoritma Pemograman
Sebelum kita membuat program, ada 3 dasar dari pemrograman. Ketiga hal itu adalah sequence, selection, repetition.
a. Sequence
Sequence itu sendiri berarti runtunan dari beberapa perintah yang dieksekusi satu persatu. Berikut adalah contoh program yang akan menjelaskan bagaimana sequence itu dieksekusi :
Program tersebut adalah untuk menjumlahkan 2 buah bilangan yang diinputkan user. Dari gambar dapat terlihat bahwa proses eksekusi perintah dilakukan secara teratur. Bisa diambil kesimpulan bahwa dalam pembuatan program, kita tidak bisa sembarangan menyimpan perintah. Mana yang harus dilakukan adalah yang akan ditulis terlebih dahulu.
b. Selection
Selection ialah pengeksekusian suatu perintah berdasarkan kondisi tertentu. Berikut adalah contoh program yang akan menjelaskan bagaimana selection itu terjadi :
Program di atas adalah untuk menentukan apakah suatu bilangan yang diinputkan adalah bilangan positif atau negatif. Bisa dilihat dengan jelas bahwa jika a>0, maka program akan mengeksekusi perintah untuk output bilangan tersebut positif, sebaliknya jika a<0 maka program akan mengeksekusi perintah untuk output bilangan tersebut negatif. Dalam selection ini, setiap baris program tidak akan dieksekusi seluruhnya.
c. Repetition
Berbeda dengan dua hal sebelumnya, repetition ini adalah perintah yang akan diulang selama beberapa kali hingga kondisi tertentu terpenuhi. Atau juga dikenal sebagai perulangan. Perulangan pada dasarnya terdiri dari dua, pengecekan kondisi diawal dan di akhir, untuk lebih jelasnya perhatikan contoh:
Kedua program di atas sebenarnya sama, yaitu untuk mencari nilai a sampai ketemu. Untuk gambar pertama, program tersebut akan melakukan pencarian terlebih dahulu baru kemudian akan mengecek apakah sudah ketemu atau belum, jika belum maka dia akan mengulangnya. Sedangkan untuk gambar kedua, program tersebut justru akan melakukan pencarian selama belum ketemu, dengan mengecek terlebih dahulu apakah belum ketemu atau sudah.
3 hal di atas menjadi dasar dari algoritma pemrograman karena dalam implementasi bahasa pemrograman apa pun, akan selalu dipakai sebagai konsep dasar.