Mengenal Algoritma

Algoritma memiliki arti sebuah alat untuk memecahkan masalah komputasional yang spesifik. Dalam algortima harus terdapat input sebagai bahan yang digunakan, langkah-langkah prosedural untuk memetakan input menjadi output, dan tentu harus memiliki output sebagai hasil komputasi. Selain itu, algoritma harus menemukan titik akhir/berhenti, tidak mengambang dan terus-menerus melakukan looping tanpa henti.

Beberapa aspek yang harus diperhatikan dalam menganalisis sebuah algoritma adalah Correctness (Kebenaran). Kebenaran yang dimaksud adalah output yang dihasilkan algoritma sesuai dengan apa yang diinginkan atau sesuai dengan fakta yang sesuai dengan perhitungan komputasi. Kebenaran berkaitan dengan akurasi dan presisi.

Selain kebenaran, aspek lainnya adalah efisiensi. Efisiensi berarti mengoptimalkan sumber daya, tidak ada pemborosan sumber daya entah itu sumber daya berbentuk data, memori, dan juga waktu. Efisiensi sendiri berbanding terbalik dengan kompleksitas komputasi. Semakin rendah kompleksitas komputasi yang dijalankan, maka waktu pemrosesan pun akan lebih cepat yang berakibat baiknya efisiensi dalam hal waktu.

Penyajian algoritma pun dapat dilakukan dalam beberapa bentuk sesuai dengan objek sasaran penyajian. Tentunya untuk dimengerti mesin, algoritma harus disajikan dengan bahasa pemrograman hingga compiler/interpreter dapat mengartikannya hingga dimengerti untuk mesin. Selain itu, algoritma juga dapat disajikan dalam bentuk flowchart bahkan natural language seperti langkah-langkah untuk membuat suatu menu makanan.

Algoritma juga berkaitan dengan struktur data. Pentingnya struktur data untuk mengorganisir penyimpanan data di memori. Salah satu permasalahan komputasi adalah keterbatasan sumber daya, salah satunya memori. Dalam hal ini lah efisiensi sangat penting untuk penataan data pada memori, selain masalah kecepatan waktu. Good algorithms need good data structure. Setiap algoritma pun memiliki pasangan struktur data yang pas agar dapat berjalan secara efisien. Karena setiap algoritma yang berbeda memililki spesifikasi yang berbeda dalam hal penataan data di memori yang mengakibatkan harus diiringi dengan struktur data yang paling efektif.

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s