Sunday, August 28, 2016

Apa Itu Algoritma?

Sebagai mahasiswa jurusan Teknik Informatika dan sebangsanya, atau SMK jurusan Rekayasa Perangkat Lunak, kata "algoritma" seharusnya sudah sering diucapkan. Namun tidak banyak yang tahu apa itu sebenarnya algoritma dan dari mana kata algoritma berasal.

Alkisah, saat dunia Eropa mengalami masa yang disebut abad kegelapan (darkness age), di belahan dunia lain justru sedang terjadi abad pencerahan. Dunia Islam sangat berjasa dalam menjaga mata rantai ilmu pengetahuan melalui para ilmuwan yang belajar dari terjemahan buku-buku Yunani/Romawi.

Tersebutlah salah seorang matematikawan bernama Muhammad Ibnu Musa al-Khawarizmi. Tidak hanya matematikawan dia juga seorang ahli astronomi dan geografi berkebangsaan Persia. Seorang ulama (kata lain dari sarjana) dari Baitul Hikmah (Rumah Kebijaksanaan).

Konon, kata "algoritma" berasal dari namanya "al-khawarizm" kemudian lidah Eropa (setelah keluar dari masa kegelapannya itu) menyebutnya sebagai "algorithm".

Gambar A-Khawarizmi. Foto diambil dari sini

Fibonacci, seorang matematikawan yang pastinya kita kenal, sangat tergila-gila dengan karya-karya al-Khawarizmi. Al-Khawarizmi dalam setiap awal bukunya selalu memuji keagungan Sang Pencipta. Fibonacci pun kemudian mengamati ciptaan dari Sang Pencipta ini dan dari hasil kontemplasinya ini terciptalah deret Fibonacci yang dia klaim sebagai "deretan bilangan alami". Mungkin Fibonacci tidak tahu kalau hampir seluruh karya tulis yang disusun oleh umat Islam selalu (meski tidak semua) diawali dengan kata pengantar (muqaddimah) dengan memuji keagungan Allah dan sholawat kepada Nabi Muhammad saw.

Jadi sudah tahu kan, teman-teman. Itulah asal kata Algoritma.

Lalu apa sih algoritma itu?

Oh iya, pertanyaan ini belum terjawab, sodara. Pengertian algoritma bisa jadi sangat membosankan:
Algoritma adalah susunan yang logis dan sistematis untuk memecahkan suatu masalah atau untuk mencapai tujuan tertentu.

Gimana? Bosenin kan? Sebenarnya algoritma itu nggak selalu identik dengan komputer. Hanya saja, ketika kita berbicara "algoritma pemrograman" maka pasti yang dibahas adalah menggunakan algoritma dalam pembuatan kode-kode program.

Contoh algoritma dalam kehidupan sehari-hari, misalnya ketika kita mandi. Eh, jangan ambil contoh itu. Terlalu v*lg*r. Kita ambil contoh lain, misalnya saat menyalakan motor.

1) Keluarkan motor dari garasi
2) Putar kunci ke posisi on
3) Nyalakan motor dengan menggunakan salah satu cara:
    3.a) Kick starter, atau
    3.b) Electric starter
4) Jika menggunakan motor bergigi, masukkan gigi 1
5) Tarik gas
6) Selesai

Penting sekali untuk menulis kata "Selesai" karena itu artinya algoritma kita telah sampai pada tujuan yang dimaksud.

Pada dasarnya dalam kehidupan kita tidak pernah lepas dari algoritma, disadari atau tidak. Apapun yang berkaitan dengan prosedur dan tujuan, pasti berhubungan dengan algoritma. Hanya saja, sesuatu prosedur bisa disebut sebagai algoritma ketika dia disusun secara sistematis seperti pada algoritma "menyalakan motor" di atas.

Inti dari algoritma adalah mencapai tujuan tertentu. Jika tujuan tidak tercapai, berarti algoritma kamu gatot alias gagal total. Dikatakan secara logis dan sistematis, jadi kesampingkan keajaiban di sini. Tidak mungkin sebuah komputer melakukan tugas tanpa kita program. Dan tidak ada program yang bisa digunakan tanpa algoritma. Jadi, algoritma dan pemrograman itu bagaikan dua sisi dalam satu mata uang.

Satu hal lagi. Karena algoritma didasarkan pada hasil, maka bisa jadi setiap orang memiliki algoritma yang berbeda-beda asalkan hasilnya benar.

Sekian dulu pembahasan apa itu algoritma dari seorang pemula ini. Moga teman-teman sudah punya gambaran sekilas tentang apa itu algoritma. Kalau ada waktu akan dijelaskan dasar-dasar algoritma. Selamat menunggu.

No comments:

Post a Comment