You are on page 1of 6

Kata algoritma diserap dari Bahasa Inggris algorithm.

Kata algorithm sendiri


sebenarnya bukan dari kata asli bahasa Inggris, melainkan berasal dari kata
algorism yang berarti "proses menghitung dengan angka Arab". Para ahli
matematika meyakini bahwa kata algorism berasal dari nama penulis buku
berkebangsaan Arab yang terkenal yaitu Abu Ja'far Muhammad Ibnu Musa AlKhwarizmi (770-840 M), orang barat melafalkan Al-Khwarizmi sebagai Algorism.
Pengertian algoritma adalah logika, metode, dan tahapan (urutan) sistematis
yang digunakan untuk memecahkan suatu permasalahan. Algoritma dapat juga
diartikan sebagai urutan langkah secara sistematis dan logis. Dalam
perkembangannya, algoritma banyak dipakai di bidang komputer.
Secara spesifik, pengertian algoritma adalah suatu metode khusus yang tepat
dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara
matematis, yang akan dikerjakan untuk menyelesaikan suatu masalah dengan
bantuan komputer. Jadi berdasarkan definisi ini, dapat dikatakan algoritma
merupakan langkah penyelesaian suatu masalah yang manghasilkan solusi dalam
bentuk program komputer. Namun penting diketahui bahwa algoritma tidaklah
tergantung oleh suatu bahasa pemrograman tertentu, artinya suatu algoritma harus
dapat diwujudkan oleh bahasa pemrograman komputer apa apun.
Algoritma dapat disajikan dalam dua bentuk, yaitu dalam bentuk tulisan/bahasa
dan dalam bentuk gambar. Penyajian algoritma dalam bentuk tulisan haruslah
menggunakan bahasa yang dapat dimengerti manusia dalam menyajikan langkahlangkah algoritma. Penyajian algoritma dalam bentuk tulisan juga dapat dilakukan
menggunakan pseudocode. Pseudocode berasal dari kata pseudo yang berarti
"mirip atau menyerupai" dan code yang berarti "kode program". Contoh bahasa
pemrograman yang digunakan untuk menyatakan pseudocode adalah BASIC,
Pascal, C, dan lain-lain. Sedangkan, penyajian algoritma dalam bentuk gambar
sering disebut flow chart.

A. Sejarah algoritma
Sebelum membahas defenisi algoritma terlebih dahulu kita mengenal asal muasal kata algoritma
tersebut. Algoritma diambil dari nama ilmuwan ahli matematika dari uzbekistan bernama Jafar
mohammad Ibn Musa Al-khuwarizmi (algorizm) dalam kitabnya yang berjudul al jabr w` almuqabala yang artinya buku pemugaran dan pengurangan ( rules of restoration and reduction)
sekitar tahun 825. Kata algorizm menjadi populer karena populernya angka arab digunakan
dalam perhitungan masa kini. Lebih lanjut, kata algorithm berubah menjadi algoritma setelah
pemrograman komputer dimulai di indonesia.
B.Defenisi algoritma
Adapun defenisi algoritma yaitu sebagai berikut
1.Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara

sistematis. (Rinaldi Munir, 2006)


2.Algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau
penyelesaian tugas khususnya dengan menggunakan bantuan komputer (merriam-webster`s
Collegiate Dictionary).
3.Algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah (Kamus
Besar Bahasa Indonesia)
4.Algoritma adalah teknik penyusunan langkah demi langkah penyelesaian masalah dalam
bentuk kalimat singkat dengan jumlah kata terbatas, namun tersusun secara logis sistematis
(suarga, 2006).
5.Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan
jumlah terbatas tetapi tersusun secara logis dan sistematis.
6.Prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkahlangkah tertentu dan terbatas jumlahnya.
Berdasarkan beberapa petikan defenisi, bahwa algoritma merupakan urutan langkah yang logis
dan mengikuti suatu urutan tertentu, tidak boleh melompat-lompat (Microsoft Press Computer
and internet Dictionaary 1997, 1998). Ini berarti, hasil dari urutan langkah-langkah tersebut
harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberi hasil
yang salah. Dan, alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara
tertulis menyebatkan alogaritma seseorang dapat juga berbeda dari alogaritma yang lain, yang
tertuang dalam bentuk kalimat, gambar, atau table tertentu (Moh. Sjukani, Algoritma dan struktur
data dengan C, C++, dan JAVA).
Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah
pemprograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik, maka
proses pemprograman akan menjadi salah atau rusak, lambak dan tidak efisien.
Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemprograman dan komputer yang
mengeksekusinya. Notasi alogaritma bukan notasi bahasa pemprograman tetapi dapat
diterjemahkan kedalam berbagai bahasa pemprograman.
Penulisan algoritma dapat dilakukan dengan cara berikut:
1.Menggunakan bahasa natural (bahasa indonesia, bahasa inggris atau bahasa yang di mengerti
oleh manusia), kendala yang sering muncul adalah pernyataan yang dibuat menggunakan bahasa
natural adalah sering menimbulkan kebingungan (ambiguous).
2.Menggunakan flowchard (diagram alir). Pengguna diagram ali dalam algoritma lebih baik
dibanding pain 1, karena alogaritma dalam bentuk flowchart baik secara visual tetapi bila
algoritmanya panjang maka flowchartnya juga menjadi repot.
3. menggunakan pseudo-code. Penulisan ini dekat pada bahasa pemprograman namun sulit
dimengerti oleh orang yang tidak mengerti pemrograman

C.Jenis jenis algoritma


Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah
satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan
paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa

paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini.
Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
1.Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi
permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus
sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya
menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan
permasalahan-permasalahan kecil yang terbentuk.
2.Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada
suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian
permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma
Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub
permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan
yang dihadapi.
3.Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik,
bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan
pilihan "serakah" apa yang dilihat terbaik pada saat itu.
D.Syarat/ciri Algoritma
Syarat sebuah algoritma yang baik menurut Donald E. Knuth sebagai berikut:
1.Finiteness
Algoritma harus berakhir setelah melakukan sejumlah langkah proses.
2.Definiteness
Setiap langkah algoritma harus didefenisikan dengan tepat dan tidak menimbulkan makna ganda.
Sehingga, langkah yang tepat menuliskan algoritma adalah dengan menggunakan languange
(bahasa pemprograman computer).
3.Input
Setiap algoritma memerlukan data sebagai data untuk masukan untuk diolah.
4.Output
Setiap algoritma memberikan satu atau beberapa hasil luaran.
5.Effectiveness
Langkah-langkah algoritma dikerjakan dalam waktu yang wajar sebisa mungkin harus dapat
dilaksanakan dan efektif.
E.Jenis Proses Algoritma
Jenis proses Algoritma sebagai berikut:
1.Sequace Process merupakan Instruksi dikerjakan secara sekuensial (berurutan).
2.Selection Process merupakan Instruksi dikerjakan jika memenuhi kriteria tertentu.
3.Interation Process merupakan Instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4.Concurret Process merupakan beberapa instruksi dikerjakan secara bersama.
F.Algoritma sebagai subbidang ilmu komputer
Ilmu komputer (computer science) adalah ilmu pengetahuan yang berisi tentang teori,
metodologi, desain dan implementasi, yang berhubungan dengan komputasi, komputer dan
algoritmanya dalam perspektif perangkat lunak (sofware) maupun perangkat keras (hardware).
Ilmu komputer sangat berkaitan erat dengan algoritma, hampir semua bidang dari ilmu komputer
(computer science) tidak terlepas dari algoritma. Bahkan pada saat ini, studi tentang algoritma
telah menjadi subbidang khusus dalam ilmu komputer. Studi atau ilmu yang mempelajari tentang

algoritma sering disebut dengan istilah algorithmics.


Pembahasan
A.PENULISAN DAN STRUKTUR DASAR ALGORITMA
Perlu diketahui bahwa algoritma bukan bahasa pemrograman, sehingga setiap orang dapat
membuat notasi algoritmik (notasi-notasi deskriptif) yang berbeda. Notasi algoritmik, bukan
notasi baku bila dibandingkan dengan bahasa pemprograman, yang dibuat merupakan notasi
yang mudah dibaca dan dimengerti untuk menghindari terjadinya kekeliruan.
1.Penulisan menggunakan Flow chart
Bagan alir merupakan diagram yang tersusun dari symbol-simbol atau bagan-bagan yang
berbada, sesuai dengan jenis dan perintahnya, yang mempunyai aliran untuk menggambarkan
langkah-langkah penyelesaian suatu masalah (memperlihatkan urutan dan hubungan antara
proses beserta instruksinya). Bagan alir merupakan suatu cara penulisan algoritma yang
bertujuan memudahkan dalam penulisan/perencangan program.
Berikut symbol-simbol bagan alir yang digunakan dalam penulisan algoritma

Perlu dipahami bahwa, tidak ada kaida yang baku dalam penggunaan bagan alir diatas karena
merupakan gambaran hasi analisis suatu masalah. Bagan alir dapat bervariasi antara satu
pemprogram dengan pemprogram lainnya. Secara garis besar, bagan alir terdiri dari 3 bagian
utama yaitu, input, proses, dan, output.
Hal-hal yang perlu diperhatikan dalam pembuatan bagan alir adalah:
1.Hindari pengulangan proses yang tidak perlu dan logika yang berbelit-belit sehingga jalannya
proses menjadi singkat.
2.Jalannya proses digambarkan dari atas ke bawah dan berikan tanda panah untuk memperjelas.
3.Sebuah flowchart diawali dari satu tiik START (mulai) dan akhiri dengan END (selesai)
2.Penulisan menggunakan Pseudo-code
Ilmuwan komputer menyukai menuliskan algoritma agar lebih praktis yaitu notasi pseudo code.
Pseudo code (pseudo berarti semu atau tidak sebenarnya) merupakan notasi yang mirip dengan
notasi bahasa pemprograman. Pseudo code merupakan campuran antara bahasa alami (natural)
dengan bahasa pemprograman. Kemudahan menggunakan pseudo code adalah kemudahan

menkonversikan (mentralisasi) ke nota bahasa pemprograman karena terdapat korespondin


(hubungan yang saling terkait) antara setiap pseudo code dengan notasi bahasa pemprograman.
Pedoman yang perlukan diketahui bagaimana menyusun pseudo code yang digunakan adalah
1.Notasi dipakai untuk memberikan nilai ke suatu variabel.
2.Setiap pernyataan atau suatu perintah yang dapat berdiri sendiri akan ditulis dalam sebuah baris
tersendiri.
3.Setiap variable (nama yang digunakan untuk menyimpan data yang dapat diubah-ubah) akan
ditulis dengan awalan huruf.
4.tipe data majemuk atau disebut tipe data rekaman (tipe data yang dapat mengandung beberapa
data dengan nama yang berbeda-beda ).
5.Indentasi (penjorokan ke kanan) digunakan untuk menuliskan pernyataan yang berada dalam
suatu struktur blok.
6.Symbol // digunakan untuk menyatakan komentar (keterangan yang ditujukan untuk pembaca
algoritma, tidak ditujukan untuk proses oleh komputer).
7.Notasi masukkan ( ) dan tampilkan ( ) secara berurutan mewakili perintah untuk memperoleh
masukan dan menyajikan keluaran.
8.Nilai logika yang dapat dipakai untuk membandingkan pernyataan dan logika yang akan
memberikan suatu hasil apakah bernilai benar atau salah.
9.Bentuk menyatakan model penulisan untuk menangani struktur selesai.
3.Tahapan algoritma
Proses pemecahan masalah dengan algoritma tertentu hingga menjadi program dapat dibagi
dalam tahapan berikut:
A.Mendefinisikan masalah : masalah yang ingin dicapai harus jelas lingkupnya.
B.Membuat model (bentuk) matematis yang dapat digunakan untuk memecahkan masalah.
C.Merancang algoritma: apa masukannya, bagaimana rincian prosesnya dan apa keluarannya.
D.Menuliskan program: ubah algoritma menjadi program (source code) sesuai dengan bahasa
pemprograman tertentu.
E.Mengubah source code menjadi executable code melalui proses compiling
F.Memeriksa hasil compiling, jika salah maka kembali ke tahap empat.
G.Menjalankan program (run) untuk diuji kebenarannya dengan menggunakan berbagai data.
H.Memperbaiki keselahan
I.Mendokumentasikan program bila sudah benar.
B.STRUKTUR ALGORITMA
Pada dasarnya terdapat tiga buah struktur yang digunakan dalam menyusun suatu algoritma,
yaitu runtunan (sequace), pemilihan (selection ) dan pengulangan.
1.Struktur runtunan (sequace)
Sebuah runtutan terdiri dari satu atau lebih instruksi dimana setiap instruksi dikerjakan secara
berurutan sesuai dengan urutan penulisannya (sebuah instruksi dilaksanakan setelah instruksi
sebelumnya selesai dikerjakan).

2.Struktur pemilihan
Struktur pemilihan (seleksi) menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi
(pengambilan keputusan).
3.Struktur pengulangan
Instruksi yang dapat mengulangi pelaksanaan sederetan instruksi-intruksi sesuai dengan
persyaratan yang ditetapkan. Suatu kelebihan komputer adalah kemampuannya untuk
mengerjakan pekerjaan yang sama berulang tampa lelah.

You might also like