Algoritma
adalah urutan langkah-langkah logis penyelesaian masalah yang disusun
secara sistematis dan logis.Kata Logis merupakan kata kunci dalam
Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat
ditentukan bernilai salah atau benar.
Algoritma Merupakan Jantung Ilmu Informatika
Algoritma
adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu
komputer yang diacu dalam terminologi algoritma. Namun, jangan
beranggapan algoritma selalu identik d
engan
ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapat
proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau
masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai
algoritma. Pada setiap resep selalu ada urutan langkah-lankah membuat
masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan
masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan
membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan
proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan
proses disebut pemroses (processor). Pemroses tersebut dapat berupa
manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses
melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma
yang menjabarkan proses tersebut.
Melaksanakan Algoritma berarti
mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses
mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya.
Juru masak membuat kue berdasarkan resep yang diberikan kepadanya,
pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu
Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh
pemroses. Jadi suatu pemroses harus :
1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Belajar
memprogram tidak sama dengan belajar bahasa pemrograman. Belajar
memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan
dipahami. Sedangakan belajar bahasa pemrograman berarti belajar memakai
suatu bahasa aturan-aturan tata bahasanya, instruksi-instruksinya, tata
cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi
tersebut untuk membuat program yang ditulis hanyam dalam bahasa itu
saja. Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat
dibedakan berdasarkan tujuan dan fungsinya. Diantaranya adalah :
• Belajar memprogram ≠ belajar bahasa pemrograman
• Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan
sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang
disepakati bersama
• Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis
• Belajar memprogram, titik berat : designer program
• Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan
sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa
• Belajar bahasa pemrograman , titik berat : coder
• program dengan rancangan yang baik (metodologis, sistematis)
• Dapat dieksekusi oleh mesin
• Berfungsi dengan benar
• Sanggup melayani segala kemungkinan masukan
• Disertai dokumentasi
• Belajar memprogram, titik berat : designer program
Notasi
Algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
Analoginya sama dengan resep membuat kue. Sebuah resep dapat ditulis
dalam bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia, dan
lain sebagainya. Apapun bahasanya, kue yang dihasilkan tetap sama
asalkan semua aturan pada resep diikuti. Mengapa demikian ? Karena
setiap juru masak (sebagai pemroses) dapat melakukan operasi dasar yang
sama, seperti mengocok telur, menimbang berat gula, dan lain sebagainya.
Demikian
juga halnya dengan komputer. Meskipun setiap komputer berbeda
teknologinya, tetapi secara umum semua komputer dapat melakukan
operasi-operasi dasar dalam pemrograman seperti operasi pembacaan data,
operasi perbandingan, operasi aritmatika, dan sebagainya. Perkembangan
teknologi komputer tidak mengubah operasi-operasi dasar it, yang berubah
hanyalah kecepatan, biaya, atau tingkat ketelitian. Pada sisi lain
setiap program dalam bahasa tingkat tinggi selalu diterjemahkan kedalam
bahasa mesin sebelum akhirnya dikerjakan oleh CPU. Setiap instruksi
dalam bahasa mesin menyajikan operasi dasar yang sesuai, dan
menghasilkan efek netto yang sama pada setiap komputer.
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti Algoritma
adalah proses yang procedural.
Definisi Prosedural menurut Kamus Besar Bahasa Indonesia :
1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
2. Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah.
Pada
pemrograman procedural, program dibedakan antara bagian data dengan
bagian instruksi. Bagian instruksi terdiri atas runtutan (sequence)
instruksi yang dilaksanakan satu per satu secara berurutan oleh
pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya
pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi
oleh instrusi secara beruntun atau procedural. Paradigma pemrograman
seperti ini dinamakan pemrograman procedural.
Bahasa-bahasa
tingkat tinggi seperti Cobol, Basic, Pascal, Fortran dan C mendukung
kegiatan pemrograman procedural, karena itu mereka dinamakan juga bahasa
procedural. Selain paradigma pemrograman procedural, ada lagi paradigma
yang lain yaitu pemrograman berorientasi objek (Object Oriented
Programming). Paradigma pemrograman ini merupakan trend baru dan sangat
populr akhir-akhir ini. Paradigma pemrograman yang lain adalah
Pemrograman Fungsional, Pemrograman Deklaratif dan Pemrograman Konkuren.