Menurut Knuth dalam bukunya The art of Computer programming, Algoritma memiliki 5 ciri penting, yaitu:
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
Aksi-aksi dalam algoritma harus terjadi hanya dalam waktu terbatas. Barikut ini adalah algoritma yang salah karena aksi yang dilakukan dapat menghasilkan pengamatan yang tidak pernah berhenti (looping) :
2. Tiap langkah harus didefinisikan dengan jelas
3. Algoritma memiliki nol atau lebih input (masukan). Input adalah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja
4. Algoritma memiliki satu atau lebih keluaran (output). Output adalah besaran yang memiliki hubungan dengan input.
5. Algoritma harus efektif, tiap langkah harus sederhana, dapat dikerjakan dalam sejumlah waktu yang logis.
- Keuntungan Pembuatan Algoritma
Pembuatan algoritma mempunyai banyak keuntungan diantaranya:
1. Pembuatan atau penulisan algoritma tidak bergantung pada bahasa pemrograman manapun.
2. Notasi salgoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
3. Apapun bahasa pemrogramannya,output yang akan dikeluarkan sama karena algoritmanya sama.
Beberapa hal yang diperhatikan dalam pembuatan algoritma :
1. Teks algoritma berisikan deskripsi langkah – langkah penyelesaian masalah.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman.
3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri.
4. Notasi algoritmik bukan bahasa pemrograman , karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh computer.
5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
6. Algoritma merupakan pemikiran konseptual, supaya dapat dilaksanakan oleh computer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.
Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :
a) Pendeklarasian variable
Untuk mengetahui dibutuhkannya pendeklarasian variable dengan penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.
b) Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variable, maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c) Pemakaian instruksi – instruksi
Beberapa instruksi mempunyai keguanaan yang sama tetapi masing – masing memiliki kelebihan dan kekurangan yang berbeda.
d) Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.
e) Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan.hal – hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f) Cara pengoperasian compiler atau interpreter
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter
reference :
http://nafifm.wordpress.com/2010/02/26/algoritma-dan-pemrograman-kasus-teknik-elektro/
http://if29noltiga.9.forumer.com/index.php?s=6f2fcf4e9d277af1550996f0bc6fa8bd&act=Attach&type=post&id=51