Algoritma 800 M | Definisi, Teori dan Implementasi Algoritma

Algoritma dan istilah-istilah terkait lainnya seperti; Algoritme, Algoritmi, Algorism, dan Algorithm, merupakan istilah-istilah yang merujuk pada nama pencipta teori Algoritma itu sendiri, Al-Khawarizmi, yang memiliki nama lengkap Abu Ja'far Muhammad ibn Musa Al-Khawarizmi, penulis kitab al-jabr wal-muqabala "Aturan Pemugaran dan Pengurangan" (rules of restoration and reduction) dan penemu teori Algoritma. Al-Khawarizmi adalah seorang cendikiawan yang berasal dari Persia, ahli dalam bidang matematika, aritmatika, astronomi, astrologi, dan geografi. Tidak ada biografi pasti mengenai Tanggal lahir dan kematiannya. Namun beberapa sumber memperkirakan Al-Khawarizmi lahir sekitar tahun 780M di Khwārizm dan wafat sekitar tahun 850M di Baghdad. Beberapa sumber ada yang menuliskan kelahiran nya sekitar tahun 770M, dan wafat sekitar tahun 840M. Terlepas dari perbedaan pendapat mengenai; asal, kepercayaan, dan tahun kelahirannya, Keilmuan dan karya Al-Khawarizmi telah diakui oleh berbagai kalangan sebagai tokoh penting yang memiliki peranan besar dan membawa perubahan signifikan  untuk ilmu pengetahuan.

Dalam  bahasa pemrograman komputer seperti; Visual Basic, C, Pascal, Java dan lainnya; mengimplementasikan teori dan metodologi algoritma secara benar adalah sebuah keharusan, dimana tiap proses, dan rangkaian instruksinya harus dapat dideklarasikan secara Logis dan Sistematis. Ini bertujuan untuk mendapatkan detail dan tujuan yang jelas, menemukan akar permasalahan, memecahkan permasalahan, dan mencegah kekeliruan dalam membangun suatu program/aplikasi. Untuk mencapai tujuan itu,  biasanya setiap programmer akan memulainya dengan membuat desain flow chart (alur diagram) sebagai ilustrasi motif dan kronologi rancangan suatu program/aplikasi.
Pada ilmu matematika, algoritma menjadi terapan penting pada proses perhitungan aritmetika, dimana hasil operasi dasar aritmetika seperti penjumlahan, pengurangan, perkalian, pembagian, dan pembulatan yang kemudian diterapkan secara berurutan untuk mendapatkan suatu hasil logis dalam proses perhitungan. Contoh sederhana algoritma dalam runutan formula aritmetika adalah, dengan mendeklarisakan suatu nilai logis berupa pernyataan benar/salah (True/False) dalam proses aritmetika.

Selain pada cabang Ilmu Komputer dan Matematika, teori algoritma juga dapat ditemukan secara alami dalam kehidupan sehari-sehari. Sebagian dari kita bisa jadi tidak menyadari, bahwa ketika seseorang berhasil memecahkan suatu masalah melalui serangkai tindakan logis dan sistematis, hal itu merupakan terapan teori Algoritme alami dalam kehidupan sehari-hari. Perencanaan berdasar  Logika dan tindakan Secara Sistematis merupakan kunci dasar dalam terapan teori Algoritma. Karena itu Algoritma harus dideklarasikan dalam bentuk-bentuk yang dapat dimengerti selama pelaksanaannya.

Definisi Algoritma
  • 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. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
  • 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. (Dari Algoritma danStruktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
Mekanisme Pelaksanan Algoritma pada Komputer
Dalam membangun suatu program atau aplikasi berbasis komputasi, seorang programmer berinteraksi dengan komputer dengan menggunakan aplikasi bahasa pemrograman. Dimana seorang programmer menempatkan perangkat komputer sebagai alat yang bertugas untuk memproses dan mengeksekusi perintah. Agar dapat dilaksanakan oleh komputer, algoritma dalam pemrograman harus ditulis dalam bentuk syntax (bahasa pemrograman). Dengan demikian suatu program yang dibangun dapat diartikan sebagai implementasi teknis dari Algoritma yang diterapkan pada bidang kerja berbasis komputer. Aplikasi bahasa pemrograman komputer sangat beragam, diantaranya: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan lainnya. Dimana terdapat beberapa perbedaan intruksi algoritma dalam susunan syntax-nya, akan tetapi memiliki tujuan  yang sama untuk menghasilkan suatu program/aplikasi.

Contoh Terapan Algoritma Dalam Kehidupan Nyata:
Asumsi; Si Jendol (julukan untuk seorang pemuda desa yang berasal dari utara Karawang), ingin berkunjung ke rumah kekasihnya yang berada di Kota Bandung. Maka upaya (langkah-langkah) yang harus dilakukan oleh Si Jendol dapat diprediksi dan diuraikan secara logis berdasar skenario "Algoritma Lancar (tanpa kendala)" sebagai berikut:
  1. Menghubungi kekasihnya untuk rencana kunjungannya (kecuali untuk surprise; ignore)
  2. Mempersiapkan biaya dan berbagai keperluan untuk perjalanan :
  3. Menyiapkan kendaraan
  4. Menyiapkan rute perjalanan
  5. Menentukan waktu perjalanan
  6. Dan selanjutnya memulai perjalanan itu sendiri, hingga kemudian mencapai tujuannya,  "bertemu dengan kekasihnya" di Kota Bandung. 
Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang dengan baik maka dapat dipastikan proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.

Jenis Proses Algoritma
  1. Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.
  2. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
  3. Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
  4. Concurrent Process: beberapa instruksi dikerjakan secara bersama.