Setiap orang dalam kehidupan sehari-harinya dipaksa untuk menyelesaikan sejumlah besar tugas yang berbeda. Dia tidak berpikir untuk memecahkan beberapa masalah ("membeli bahan makanan"), sementara yang lain menyebabkan kesulitan dan refleksi panjang ("mengumpulkan kubus Rubik"). Contoh tugas sederhana dan kompleks di atas memiliki kesamaan bahwa mereka dapat dipecah menjadi langkah-langkah yang dapat dimengerti individu. Urutan langkah-langkah tersebut dapat digunakan sebagai pengingat untuk membantu memecahkan masalah. Urutan ini bisa disebut algoritma.
Tentu saja, Anda dapat mengumpulkan kubus Rubik tanpa memo, cukup dengan menggerakkan ujung-ujungnya secara acak. Tetapi menghitung opsi yang mungkin bisa memakan waktu lama, itu akan menjadi proses yang tidak produktif dan suboptimal. Jauh lebih nyaman untuk memiliki daftar langkah-langkah, yang eksekusi berurutannya akan selalu mengarah pada hasil yang positif. Prinsip-prinsip inilah yang membentuk konsep seperti "algoritma".
Algoritma adalah seperangkat instruksi (langkah) yang menggambarkan urutan operasi pelaksana untuk mencapai hasil pemecahan masalah dalam sejumlah tindakan yang terbatas.
Apa itu pemain?
Untuk pemahaman yang lebih baik tentang algoritma secara umum, perlu juga mempertimbangkan konsep "pelaksana algoritma". Pelaksana dalam konsep algoritma berarti sistem abstrak yang mampu melakukan tindakan yang dijelaskan oleh algoritma, serta memiliki sejumlah karakteristik. Sebagai pemain, satu atau lain sarana teknis paling sering dimaksudkan (printer 3D, mesin CNC, komputer), namun, harus dipahami bahwa ini adalah konsep yang luas: pemain dapat, misalnya, seseorang.
Namun demikian, hanya sistem yang secara bersamaan memiliki sejumlah parameter yang dapat disebut sebagai performer:
- lingkungan;
- sistem perintah;
- tindakan dasar;
- penolakan, jika pelaksanaan tindakan tidak mungkin.
Properti algoritma
Pembatasan yang dikenakan pada konsep "performer" mengarah pada fakta bahwa konsep "algoritma" juga memiliki sejumlah properti dan batasan. Algoritma telah menyebar luas justru karena keterbatasan ini, yang berkontribusi pada standardisasi. Di antara sifat-sifat algoritma adalah:
- masif (kemampuan algoritme untuk tetap benar untuk kumpulan data input yang berbeda);
- kepastian (pada setiap langkah algoritme, pelaku harus memiliki data yang cukup untuk menjalankannya);
- determinisme (dengan set data input yang sama, hasil yang sama harus diperoleh);
Mengapa algoritma dibutuhkan?
Properti di atas menyediakan penggunaan algoritma secara luas. Jadi algoritma berfungsi untuk membakukan deskripsi dari setiap proses. Tanpa algoritme, segala jenis komputasi tidak mungkin dilakukan, dan solusi untuk masalah apa pun akan dimulai dari awal - bahkan jika diselesaikan berkali-kali. Penggunaan algoritme memungkinkan Anda untuk dengan cepat menyelesaikan masalah dengan jenis yang sama, mengurangi waktu yang dihabiskan untuk menemukan solusi, mengotomatiskan proses menemukannya, dan juga mendistribusikan solusi yang ditemukan dalam bentuk standar, yang berarti semua orang dapat memahaminya.