Algoritma dan Pemrograman

Algoritma 

(foto dari google)

Untuk masalah dengan instansiasi yang kecil, kita dapat menemukan solusinya dengan mudah dan cepat. Bagaimana kalau instansiasi masalah berukuran besar ? Misalnya pada masalah pengurutan, jika n = 1000 jelas tidak mudah mengurutkan data sebanyak itu. Oleh karena itu, kita perlu menuliskan prosedur yang berisi langkah-langkah pengurutan sehingga prosedur tersebut dapat 'dijalankan' oleh sebuah pemroses (komputer , manusia, robot, dan sebagainya) untuk menghasilkan solusi setiap instansiasi masalah pengurutan. Kita katakan langkah-langkah pengurutan itu untuk memecahkan masalah. Prosedur yang berisi langkah-langkah penyelesaian masalah disebut algoritma.

Terdapat beberapa defenisi lain dari algoritma, tetapi pada prinsipnya senada dengan defenisi yang diungkapkan di atas yang kita kutip dari berbagai literatur, antara lain :

Algoritma adalah deretan langkah-langkah komputasi yang mentransformasikan data masukan menjadi keluaran [COR92].

Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas. [LEV92].

Algoritma adalah prosedur komputasi yang terdefenisi dengan baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran. Jadi, algoritma adalah deretan langkah komputasi yang mentransformasikan masukan menjadi keluaran [COR89].

Dalam kehidupan sehari-hari kita banyak menemukan langkah-langkah pengerjaan sesuatu meskipun kita tidak menyebutnya sebagai algoritma :
"Itu bukan algoritma, tapi cara melakukan sesuatu". Contohnya resep membuat masakan (terdapat di dalam tabloid, majalah, atau buku resep masakan), panduan praktikum (terdapat di dalam majalah wanita), langkah-langkah mengaktifkan voucher pulsa ponsel (terdapat di belakang kartu prabayar), cara mencari saluran (ditulis di buku panduan TV), cara merakit barang elektronik, dan sebagainya.

Contoh langkah-langkah pengerjaan di dalam resep masakan :
1. Tuangkan satu gelas santan ke dalam wajan
2. Masukkan bumbu-bumbu yang sudah dihaluskan, aduk hingga merata.
3. Tambahkan garam, merica, dan kecap asin.
4. Masak dengan api sedang sambil duduk.

Langkah-langkah yang kita tuliskan di atas itulah yang disebut algoritma. Meskipun kita tidak menyebutkan langkah-langkah pengerjaan itu sebagai algoritma, tetapi dalam konteks ini semua di atas adalah algoritma.


Sejarah Algoritma

Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang dari ilmu komputer yang diacu dalam terminologi algoritma, misalnya algoritma perutean (routing) pesan di dalam jaringan komputer, algoritma bresenham untuk menggambar garis lurus (bidang grafika komputer), algoritma Knuth-Morris-Pratt untuk mencari suatu pola di dalam teks (bidang information retrieved), dan sebagainya.

Ditinjau dari asal usul kata, kata "Algoritma" sendiri mempunyai sejarah yang cukup aneh. Kata ini tidak muncul di dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka-Arab [KNU73]. Para ahli bahasa berusaha menemukan asal kata algorism ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja'far Muhammad ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca orang barat menjadi algorism). 

Al-Khuwarizmi menulis buku yang berjudul  Kitab al jabar wal-muqabala, yang artinya "Buku pemugaran dan pengurangan" (The book of  restoration and reduction). Dari buku ini juga ditemukan kata "aljabar" (algebra). Perubahan kata algorism menjadi algorithm muncul karena kata "algorism" sering dikelirukan dengan -arithmetic, sehingga akhiran -sm berubah menjadi -thm.

Pada tahun 1950, kata algoritma pertama kali digunakan pada "algoritma Euclidean" (Euclid's algorithm). Euclid, seorang matematikawan Yunani (lahir pada tahun 350 M), dalam bukunya yang berjudul Element menuliskan langkah-langkah untuk menemukan pembagi bersama terbesar (common greates divisor atau gcd), dari dua buah bilangan bulat, m dan n [KNU73].


Program dan Pemrograman

Agar komputer mengerti perintah yang dimaksudkan, maka perintah tersebut harus ditulis dalam bahasa yang dipahami olehnya. Oleh karena itu, algoritma harus ditulis dalam bahasa khusus, yaitu bahasa komputer. Algoritma yang ditulis dalam bahasa komputer dinamakan program. Bahasa komputer yang digunakan dalam menulis program komputer disebut bahasa pemrograman. Orang yang membuat program komputer disebut programmer/pemrogram, dan kegiatan merancang dan menulis program disebut pemrograman. Di dalam pemrograman ada aktivitas menulis kode program, kegiatan ini dinamakan coding.

Demikian informasi singkat tentang Algoritma dan Pemrograman, Semoga Bermanfaat
Next PostPosting Lebih Baru Previous PostPosting Lama Beranda

0 komentar: