Berdasarkan beberapa sumber yang telah saya baca, belum ada standarisasi tentang bagaimana menyusun algoritma. Secara prinsip kita mempunyai kebebasan untuk menyusun suatu algoritma. Kita dapat menggunakan kata-kata dalam bahasa manusia, pseudocode, atau diagram alir untuk mewujudkan suatu algoritma.
Beberapa hal yang perlu diperhatikan saat menyusun algoritma :
- Kebenaran logika dan penulisan
- Waktu minimum untuk penulisan program
- Kecepatan maksimum eksekusi program
- Ekspresi penggunaan memori
- Kemudahan merawat dan mengembangkan program
- User friendly
- Portabilitas
- Pemrograman Modular
Menurut Cormen, dkk. (1994, hal. 2), sebuah algoritma dikatakan benar, untuk berbagai ragam masukan, jika algoritma berakhir dengan keluaran yang benar. Pada keadaan seperti ini, algoritma menyelesaikan masalah komputasi yang diberikan.
Walaupun begitu ada beberapa hal yang perlu diperhatikan dalam menyusun suatu algoritma. Menurut Knuth (1973, hal. 4) dan juga Horowitz (1999, hal. 1), ada lima ciri-ciri penting yang harus dimiliki sebuah algoritma, yaitu berupa finiteness, definiteness, masukan, keluaran, dan efektivitas.
1. Finiteness
Menyatakan bahwa suatu algoritma harus berakhir untuk semua kondisi setelah memproses sejumlah langkah.
2. Defineteness
Menyatakan bahwa setiap langkah harus dinyatakan dengan jelas (tidak rancu).
3. Masukan
Setiap algoritma dapat tidak memiliki masukan atau mempunyai satu atau beberapa masukan. Masukan merupakan suatu besaran yang diberikan di awal sebelum algoritma diproses.
4. Keluaran. Setiap algoritma memiliki keluaran, entah hanya sebuah keluaran atau banyak keluaran. Keluaran merupakan besaran yang mempunyai kaitan atau hubungan dengan masukan.
5. Efektivitas. Setiap algoritma diharapkan bersifat efektif, dalam arti semua operasi yang dilaksanakan oleh algoritma harus sederhana dan dapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap intruksi dalam algoritma dapat dikerjakan oleh orang dengan hanya menggunakan kertas dan pensil.