Algoritma, diperkenalkan pertama kali oleh ahli matematika Abu Ja'Far Muhamad Ibnu Musa Al Khawarizmi
Definisi Logika
- Penalaran atau bentuk pemikiran
- Ilmu yang memberikan prinsi-prinsip yang harus diikuti --> agar dapat berfikir falid menurut aturan yang berlaku.
- Langkah-langkah yang harus dilakukan --> agar solusi masalah dapat diperoleh
- suatu prosedur yang merupakan urutan langkah2 yang berintegrasi.
- Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata. (Webster dictionary)
- Ada Output, Suatu algoritma harus memiliki output yang merupakan solusi dari masalah yang dikerjakan.
- Efektifitas dan efisiensi, Algoritama harus menghasilkan solusi yang sesuai dengan masalah atau tepat guna (Efektif). Waktu proses suatu algoritma sesingkat mungkin dan menggunakan memori komputer sekecil mungkin (Efisien).
- Jumlah langkahnya berhingga, barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
- Berakhir, Suatu peroses algoritma harus berakhir, baik itu ditemukan solusinya atau tidak (Baik dalam kondisi diketemukanya solusi atau tidak algoritma harus berhenti dan berakhir). Ada istilah lain dalam algoritma yaitu SEMI ALGORITMA, perosedur yang akan berhenti jika ditemukan solusinya, jika tidak maka algoritma akan berjalan terus tanpa henti.
- Terstruktur
- Bagaimana merencanakan suatu algoritma
Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah.
- Dengan bahasa semu (pseudocode), yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur.
- Dengan diangram
- Dengan statment program
- Bagaimana menyatakan suatu algoritma
- Bagaimana falidasi suatu algoritma
- Bagaimana menganalisa suatu algoritma
- Bagaimana menguji rogram dari suatu algoritma
- Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disni adalah error atau salah dalam penulisan program baik logika maupun sintaksnya.
- Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan dalam menyelesaikan suatu algoritma.
(Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut)
Dapat dilakukan terhadap suatu algoritma dengan melihat pada :
- Waktu Tempuh (Running Time) dr suatu Algortima., satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah. hal-hal yang memperngaruhi adalah: Banyaknya langkah, Besar/jenis data input, jenis operasi
- Jumlah memori yang digunakan
- Banyaknya langkah/Instruksi harus berhingga
- Langkah/instruksi harus jelas
- Proses harus mempunyai batasan
- Input dan Output harus mempunyai batasan
- Efektifitas
- Adanya batasan ruang lingkup