Algoritma didefinisikan sebagai urutan langkah-langkah komputasi atau prosedur yang tepat yang akan di eksekusi oleh computer untuk mentransformasikan masukan (input) yang valid menjadi keluaran (ouput) yang di inginkan. Dengan demikina algoritma dapat kita pandang sebagai suatu alat untuk menyelesaikan masalah komputasi. Untuk memecahkan masalah biasanya dengan menggunakan bantuan komputer serta menggunakan suatu bahasa pemrograman tertentu seperti Pascal, Visual Basic, Java, dan lain-lain. fungsi algoritma adalah untuk mempermudah seseorang dalam membuat program atau biasa disebut problem solving. Selain itu, algoritma dapat menyelesaikan masalah logika dan masalah matematika.
Konsep dasar algoritma
Algoritma merupakan kumpulan perintah yang dibuat secara jelas dan sistematis berdasarkan urutan yang logis untuk meyelesaikan suatu masalah. Untuk keperluan matematikan dan program komputer metode yang sering digunakan yaitu
- Bahasa semu (Pseudo Code)
Yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur.
- Diagram alur (Flowchart)
Yaitu dengan membuat suatu penulisan atau penyajian algoritma berupa diagram yang menggambarkan susunan alur logika dan suatu permasalahan.
- Algoritma fundamental
Dalam merancang sebuah algoritma ada tiga komponen yang harus ada, yaitu:
1. Komponen masukan (input), biasanya terdiri dari pemilihan variable, jenis variable, tope variable, konstanta dan parameter (dalam fungsi).
2. Komponen keluaran (output), merupakan tujuan dari perancangan algoritma dan program.
3. Komponen proses (processing), pada pbagian ini terdapat logika masalah, logika alogritma, rumusan, metode (rekursi, perbandingan, penggabungan, dan lain-lain).
Jenis-jenis algoritma
Jenis-jenis algoritma terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alas an tersendiri. Salah satu cara untuk melakuka klasifikasi adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda. Berikut jenis jenis algoritma, antara lain:
- Divide and Conquer
- Algoritma Greedy
- Brute Force
- Dynamic Programming, dll.