A. Algoritma
Algoritma merupakan urutan langkah-langkah (komputasi atau perhitungan) untuk memecahkan suatu masalah (dari data input, kemudian diproses, dan menghasilkan output) sesuai keinginan dalam batas waktu tertentu. Istilah Algoritma sendiri diambil dari sebuah nama yang berasal dari seorang tokoh ilmuwan muslim yang bernama Muhammad Ibnu Musa al-Khuwarizmi (kata al-Khuwarizmi dalam lafal orang eropa menjadi algorism). Masalah dapat berupa soal dalam bentuk perhitungan maupun bentuk lainnya. Misalnya, kita memiliki tujuh buah angka dengan urutan sebagai berikut: 15, 4, 8, 11, 2, 10, 19. Maka kita dapat menentukan masalah apa yang akan diselsesaikan menggunakan Algoritma.
Jika pertanyaannya adalah bagaimana kita menyusun angka tersebut dari nilai terkecil ke nilai terbesar. Dengan kata lain, kita harus menyelesaikan masalah pengurutan angka terkecil ke terbesar. Maka kemungkinan penyelesaiannya yaitu kita akan memilih angka-angka dengan nilai terkecil terlebih dahulu hingga nilai terbesar. Sehingga hasil dari pengurutan tujuh buah angka tersebut yaitu: 2, 4, 8, 10, 11, 15, 19. Mudah bukan? Tetapi, bagaimana jika angka yang harus diurutkan itu jumlahnya sangat banyak misalnya 1000 atau 1000000 angka. Apa yang harus kita lakukan?
Dalam hal ini, Algoritma dapat mempermudah penyelesaian masalah dengan berbagai sudut pandang dan kemungkinan yang beragam. Dengan bantuan program yang dibuat menggunakan bahasa pemrograman (Misal: C, Java, Pytho, dll.) maka proses pengurutan angka dalam jumlah sebanyak apapun akan menjadi lebih mudah dan dapat digunakan untuk berbagai kebutuhan.
B. Notasi Algoritmik
Untuk mempermudah pemahaman seseorang dalam membuat Algoritma (terlepas dari bahasa pemrograman yang dipakai), maka dibuat suatu notasi yang disebut Notasi Algoritmik. Ada tiga jenis notasi yang dapat kita gunakan untuk menggambarkan suatu Algoritma yang dibuat yaitu:
- Kalimat Deskriptif
- Diagram Alur (Flowchart)
- Pseudo-code
Misal diberikan dua bilangan bulat tidak negatif m dan n (m >= n), kita akan cari nilai hasil bagi dari dua bilangan tersebut. Maka, dapat kita gambarkan sebagai berikut:
Dengan memperhatikan ketiga notasi tersebut, maka bisa dilihat bahwa notasi yang mendekati kode program yaitu Notasi dengan menggunakan Pseudocode.
C. Pemrograman
Suatu program dihasilkan ketika kita sudah menerjemahkan bagaimana suatu masalah dapat diselesaikan dengan Algoritma. Kita dapat membuat program dengan menggunakan bahasa pemrograman yang banyak jenisnya. Pada dasarnya, program bertujuan untuk menerjemahkan maksud dari seseorang untuk bisa menyelesaikan suatu permasalahan menggunakan teknologi komputer yang terdiri dari komponen input (data), process (bagaimana proses penyelesaian), output (hasil dan infromasi), dan memori (dimana program dapat disimpan). Sehingga, bahasa pemrograman dikategorikan menjadi dua macam yaitu bahasa tingkat rendah (mendekati bahasa mesin) dan bahasa tingkat tinggi (mendekati bahasa manusia). Contoh program menggunakan bahasa C untuk menyelesaikan masalah konversi suhu Celcius dengan Fahrenheit:
#include <stdio.h>
main()
{
float F, C;
int x, y, step;
scanf("%d", &x);
scanf("%d", &y);
scanf("%d", &step);
F = x;
while(F <= y)
{
C = (5.0 / 9.0) * (F - 32);
printf("%3.0f" %6.1f \n, F, C);
F = F + step;
}
}
Sumber: Munir, R. 2011. Algoritma dan Pemrograman. Informatika, Bandung.