Komputer merupakan sebuah mesin yang dirancang untuk mengikuti instruksi, sedangkan program komputer sebagai sebuah instruksi yang digunakan oleh komputer untuk memecahkan masalah atau tugas - tugas yang diberikan padanya. Oleh sebab itu, sekumpulan instruksi tersebut disebut dengan algoritma.
Algoritma diterjemahkan sebagai suatu kumpulan instruksi yang terdefinisi langkah demi langkah secara baik dengan tujuan menyelesaikan masalah. Catatan langkah - langkah tersebut diurutkan secara sekensial. Dalam algoritma langkah pertama harus dilakukan lebih dahulu sebelum langkah kedua dan seterusnya. Secara mendasar, langkah - langkah dalam pemrograman komputer tidak bisa terbalik. Misalnya komputer digunakan menghitung pembayaran pada seorang costumer untuk sejumlah barang, maka langkah - langkah yang dilakukan adalah sebagai berikut.
a. Menampilkan pesan pada layar "Nama Barang:"
Menunggu user memasukan data nama barang dan setelah ditekan ENTER maka komputer akan memasukan data kedalam memory.
b. Menampilkan pesan pada layar "Harga Barang:"
Menunggu user memasukan data harga barang dan setelah ditekan ENTER maka komputer akan memasukan data ke dalam memory.
c. Menampilkan pesan pada layar "Jumlah Barang:"
Menunggu user memasukan data jumlah barang dan setelah ditekan ENTER maka komputer akan memasukan data kedalam memory.
d. Komputer melakukan perkalian antara harga barang dengan jumlah barang dan menampilkan hasil perhitungan yang harus dibayar oleh costumer.
Berdasarkan langkah - langkah diatas, terlihat bahwa komputer diinstrusikan untuk menghitung besarnya gaji pegawai, dimana langkah - langkah tersebut dikonversikan terlebih dahulu menggunakan bahasa mesin yang dipahami oleh komputer. Prosesor hanya mengetahui penggunaan bilangan sebagai perintah yang harus dilakukan, oleh karena itu algoritma tersebut harus dikodekan menjadi bahasa mesin. Penulisan bahasa mesin secara langsung akan sangat sulit bahkan cenderung membosankan. Agar penulisan bahasa tersebut lebih mudah maka digunakan bahasa tingkat tinggi yang bahasanya sudah mendekati bahasa manusia. Dengan bahasa inilah programmer dapat menulis instruksi - instruksi yang akan dilakukan oleh komputer.