Kata algoritma, berasal dari nama matematikawan abad ke-9 Muhammad ibn
Mūsā al-Khwārizm, yang jika dilatinkan disebut sebagai Algoritmi. Al-Khawarizmi
adalah matematikawan yang paling banyak dibaca di Eropa pada akhir Abad
Pertengahan, melalui bukunya Aljabar. Dalam bahasa Latin akhir abad
pertengahan disebut ‘algorismus’, bahasa Inggris disebut ‘algorism’, yang berarti
“sistem bilangan desimal”. Pada abad ke-15, di bawah pengaruh kata Yunani
(arithmos) berarti “bilangan”, kata Latin diubah menjadi algoritma, dan istilah
bahasa Inggris yang sesuai ‘algoritma’ pertama kali dibuktikan pada abad ke-17.
Sampai abad modern diperkenalkan pada abad ke-19.
Algoritma adalah setiap prosedur komputasi yang terdefinisi dengan baik yang
membutuhkan beberapa nilai, atau kumpulan nilai, sebagai input dan
menghasilkan beberapa nilai, atau kumpulan nilai, sebagai keluaran. Dengan
demikian, algoritma adalah urutan langkah komputasi yang mengubah masukan
ke dalam keluaran. Algoritma sebagai alat untuk memecahkan masalah komputasi
yang ditentukan dengan baik dalam hubungan masukan/keluaran. Algoritma
menggambarkan proses komputasi tertentu selama untuk mencapai hubungan
input/output tersebut.
B. Notasi Algoritmik
Terdapat tiga cara dalam menuliskan algoritma yaitu secara deskriptif, pseudo
code, dan flowchart.
1. Teks Deskriptif
Contoh langkah-langkah Algoritma dalam bentuk deskriptif:
Pemrograman Komputer|1
2. Pseudo Code (Kode Semu)
Tidak ada notasi standar untuk pseudocode, tetapi beberapa yang paling dikenal
adalah:
INPUT – menunjukkan pengguna akan memasukkan sesuatu
OUTPUT – menunjukkan bahwa output akan muncul di layar
WHILE – loop (iterasi yang memiliki kondisi di awal)
FOR – loop penghitungan (iterasi)
REPEAT – UNTIL – loop (iterasi) yang memiliki kondisi di akhir
IF – THEN – ELSE – keputusan (seleksi) di mana pilihan dibuat setiap instruksi
yang terjadi di dalam seleksi atau iterasi biasanya menjorok
Start
Int A, B, C;
A←4
B←5
C=A+B
Print C
End
Pemrograman Komputer|2
Gambar 1.1. Algoritma menggunakan Flowchart
Flowchart dibagi kedalam dua jenis yaitu flowchart untuk program dan flowchart
untuk sistem.
Mempresentasikan sekumpulan
Proses
operasi yang mengubah nilai, bentuk,
(Processing)
atau lokasi data.
Masukkan/ Menunjukkan proses masukkan dan
Keluaran keluaran data. Misalnya input teks
(Input/ Output) dan menampilkannya.
Menampilkan operasi bersyarat yang
Pilihan/ Keputusan
menentukan salah satu dari dua jalur
(Decision)
yang akan diambil program.
Subroutines
Proses yang telah ditentukan
(Predefined
sebelumnya ditempat lain.
Process)
Komentar atau
Menunjukkan informasi tambahan
anotasi
tentang suatu langkah dalam
(Comment/
program.
Annotation)
Penghubung Pasangan konektor berlabel
(Connector) menggantikan garis panjang atau
Pemrograman Komputer|3
membingungkan dalam diagram alir
(flowchart).
Penghubung
Konektor berlabel yang digunakan
Halaman
untuk target pada halaman lain.
(Page connector)
Garis alir
(Flowline/ flow Menunjukkan urutan proses operasi
direction)
Penyimpanan
Menunjukkan media penyimpanan
(Random Acces
disk magnetik.
Drum Disk)
Penyimpanan Pita
Menunjukkan media penyimpanan
Magnetik
pita magnetik.
(Magnetic Tape)
Pemrograman Komputer|4
C. Sejarah Singkat Bahasa C
Bahasa C dikembangkan di Bell Labs oleh Dennis Ritchie antara tahun 1972 dan
1973 untuk membangun utilitas yang berjalan di system operasi Unix. Selama
tahun 1980-an, secara bertahap bahasa C mendapatkan popularitas dan menjadi
salah satu bahasa pemrograman yang paling banyak digunakan untuk hampir
semua arsitektur komputer modern dan sistem operasi.
Banyak bahasa telah meminjam secara langsung atau tidak langsung struktur
kontrol dan fitur dasar lainnya dari C, termasuk C++, C#, C shell Unix, D, Go, Java,
JavaScript, Julia, Limbo, LPC, Objective-C, Perl, PHP, Python, Ruby, Rust, Swift,
Verilog dan SystemVerilog (bahasa deskripsi perangkat keras.
D. LATIHAN 1
a. Buatlah algoritma proses membuat martabak menggunakan kalimat
deskriptif!
b. Buatlah algoritma menghitung bilangan ganjil genap menggunakan pseudo
code!
c. Buatlah algoritma menghitung bilangan prima menggunakan flowchart!
Pemrograman Komputer|5