Alex Budiyanto 
alex@ilmukomputer.com 
 
Apakah Itu Algoritma 
Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Orang 
hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Anda 
dikatakan  Algorist  jika anda menghitung menggunakan Angka Arab. Para ahli bahasa 
berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli 
sejarah matematika menemukan asal kata tersebut yang 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 judul buku itu kita juga memperoleh akar 
kata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karena 
kata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran –sm berubah menjadi 
–thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambat 
laun kata  Algorithm  berangsur-angsur dipakai sebagai  metode perhitungan (komputasi) 
secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kata 
Algorithm diserap menjadi Algoritma. 
 
 
 
Lisensi Dokumen: 
Copyright © 2003 IlmuKomputer.Com 
Seluruh dokumen di  IlmuKomputer.Com dapat digunakan, dimodifikasi dan 
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat 
tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang 
disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, 
kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com. Kuliah Berseri IlmuKomputer.Com 
Copyright © 2003 IlmuKomputer.Com 
 
Pengantar Algoritma dan Pemrograman 
Alex Budiyanto 
2
Definisi Algoritma  
“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 dengan 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. 
 
Mekanisme Pelaksanan Algoritma Oleh Pemroses 
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, 
algoritma hasrus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. 
Jadi program adalah prwujudan atau implementasi teknis Algoritma yang ditulis dalam 
bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer. 
 
Belajar Memprogram Dan Belajar Bahasa Pemrograman 
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 hanya 
dalam bahasa itu saja. 
 
 Kuliah Berseri IlmuKomputer.Com 
Copyright © 2003 IlmuKomputer.Com 
 
Pengantar Algoritma dan Pemrograman 
Alex Budiyanto 
3
Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat dibedakan berdasarkan 
tujuan dan fungsinya. Diantaranya adalah : 
 
 
Belajar Memprogram 
•  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 bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan 
sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa  
•  Belajar bahasa pemrograman , titik berat : coder 
 
Produk yang dihasilkan pemrogram :  
•  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 
 
 
 
Prosedural  
C, Pascal,  
Fortran, 
Basic 
Programming 
Language Paradigm 
Imperative  Declarative 
Parallel 
Processing : 
Ada, Pascal S, 
Occam, C-
Linda 
ObjOriented  
Ada, Object 
Pascal, C++, 
Java, 
Smalltalk, 
Eiffel 
Logic : 
PROLOG 
Functional : 
LISP, APL, 
SCHEME 
Database : 
SQL Kuliah Berseri IlmuKomputer.Com 
Copyright © 2003 IlmuKomputer.Com 
 
Pengantar Algoritma dan Pemrograman 
Alex Budiyanto 
4
Algoritma 
Aksi :  
–  kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 dan 
berakhir pada saat T1) 
–  Menghasilkan efek netto yang terdefinisi dengan baik dan direncanakan 
Contoh :  
–  Ibu Tati  mengupas kentang untuk mempersiapkan makan malam..(luas 
ruang lingkupnya) 
–  Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efek 
netto yang direncanakan ( Initial State dan Final State) 
–  Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, dan 
ditaruh di rak dapur dimana ibu Tati akan mengupasnya 
–  Final State (keadaan akhir) :  T1 kentang dalam keadaan terkupas di panci, 
siap untuk dimasak dan kantong kertasnya harus dikembalikan ke rak lagi. 
–  Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan.  
–  Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian  
–  Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung dari 
sudut pandang. Contoh mengupas kentang dapat dijelaskan : 
  Ambil kantong kentang dari rak 
  Ambil panci dari almari 
  Kupas kentang 
  Kembalikan kantong kentang ke rak 
–  Contoh lain (jika tidak dipandang perlu untuk menjelaskan kantong kentang 
diambil dari rak sebelum ambil panci) : 
  Ambil kantong kentang dari rak dan ambil panci dari almari 
  Kupas kentang 
  Kembalikan kantong kentang ke rak 
Jika esok hari ibu Tati mengupas kentang lagi untuk makan malam juga, dan 
kita mengamati hal-hal yang sama, apakah hal tsb bisa disebut sama ? 
Ini tergantung jawabannya bisa sama bisa tidak. 
Tidak karena ibu Tati tidak mungkin  mengupas kentang yang sama dengan 
kemarin 
Sama  karena kemiripan pola yang dilakukan  
 
Notasi Algoritma Independen Terhadap Bahasa Pemrograman Dan 
Mesin Komputer 
 
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. Kuliah Berseri IlmuKomputer.Com 
Copyright © 2003 IlmuKomputer.Com 
 
Pengantar Algoritma dan Pemrograman 
Alex Budiyanto 
5
 
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. 
 
Pemrograman Prosedural 
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,  pemrogramn 
deklaratif dan pemrograman konkuren. Pada kesempatan ini penulis hanya menyajikan 
paradigma pemrograman procedural saja.
Rabu, 30 Desember 2009
Langganan:
Posting Komentar (Atom)
 




 
 
Tidak ada komentar:
Posting Komentar