Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
Nah untuk membuat algoritma yang efisien. Langkah pertama adalah mendefinisikan masalah. Jika terdapat suatu masalah maka definisikan masalah tersebut dan abstrasikan atau degenerelasisasikan hingga mencapai akar permasalahan. Kemudian carilah solusi dari sebuah permasalahan tersebut.
Carilah solusi yang tepat dan efisien seperti jika solusi tersebut menggunakan model matematika, maka sederhanakan model matematika tersebut hingga paling sederhana dan jangan menggunakan pemodelan matematika yang tidak perlu seperti A = A + 0 atau A = A * 1. Kemudian buat algoritma sesuai solusi yang telah anda buat. Kenalilah cara menyajikan suatu algoritma baik itu melalui flowchart atau pseudocode.
Sebaiknya algoritma juga memenuhi berbagai kriteria berikut :
- Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
- Output: algoritma harus memiliki minimal satu buah output keluaran.
- Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
- Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
- Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif.
sumber :
https://andikafisma.wordpress.com : algoritma-dan-pemrograman
https://milayuliani.wordpress.com : algoritma-pemrograman
Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani
Microsoft Press Computer and Internet Dictionaary 1997, 1998