72

PENGANTAR ALGORITMA DAN PEMROGRAMAN
RITAYANI
a

a
Jurusan Teknik Informatika Fakultas Ilmu Komputer Universitas Almuslim
Jln. Almuslim Tlp. (0644) 41384, Fax. 442166 Matangglumpangdua Bireuen

ABSTRAK
Teks algoritma merupakan penjelasan atau deskripsi langkah-langkah dari penyelesaian masalah
yang tersusun secara sistematis. algoritma adalah urutan langkah-langkah logis penyelesaian
masalah yang disusun secara sistematis. Judul algoritma merupakan bagian dari teks algoritma
yang terdiri atas nama algoritma dan penjelasan tentang algoritma tersebut. Tipe-Tipe Algoritma
Berdasarkan Format Penulisan yaitu Untaian Kalimat Deskriptif (Natural), Flow Chart (Diagram
Alir), Pseudocode.

KATA KUNCI: Algoritma, Untaian Kalimat Deskriptif (Natural), Flow Chart (Diagram Alir),
Pseudocode.


I. PENDAHULUAN
Algoritma adalah langkah-langkah yang
disusun secara tertulis dan berurutan untuk
menyelesaikan suatu masalah. Sedangkan
Algoritma Pemrograman adalah langkah-
langkah yang ditulis secara berurutan untuk
menyelesaikan masalah pemrograman
komputer.
Dalam pemrograman yang sederhana,
algoritma merupakan langkah pertama yang
harus ditulis sebelum menuliskan program.
Masalah yang dapat diselesaikan dengan
pemrograman komputer adalah masalah-
masalah yang berhubungan dengan
perhitungan matematik.

Hal yang penting dikuasai dalam
pemrograman adalah logika berpikir
bagaimana cara memecahkan masalah
pemrograman yang akan dibuat. Kadang-
kadang ada masalah matematika yang sangat
gampang jika diselesaikan secara tertulis,
tetapi cukup sulit jika diterjemahkan ke dalam
pemrograman. Jika menemukan hal seperti
itu, maka algoritma dan logika pemrograman
sangat penting untuk memecahkan masalah.

II. LANDASAN TEORI
Pengertian Algoritma Dan Pemrograman
Para ahli sejarah matematika menemukan asal
kata Algorism 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.
Menurut Rinaldi Munir, algoritma adalah
urutan langkah-langkah logis penyelesaian
masalah yang disusun secara sistematis.
Menurut KBBI Algoritma adalah urutan logis
pengambilan keputusan untuk pemecahan
masalah. Jadi, Berdasarkan dua pengertian
algoritma di atas, dapat disimpulkan bahwa

73

algoritma merupakan suatu istilah yang luas,
dan masih banyak lagi pengertian –
pengertian tentang algoritma. Algoritma tidak
hanya berkaitan dengan dunia komputer akan
teapi algoritma juga berlaku dalam kehidupan
sehari-hari.
Beberapa contoh sederhana mengenai
algoritma yang dapat kita ditemui dalam
kehidupan sehari – hari misalnya:
1. Memasak mie instant.
Prosesnya adalah sebagai berikut:
1. Memanaskan air.
2. Membuka pembungkus mie instant.
3. Memasukkan mie ke dalam air mendidih.
4. Taruh bumbu di piring.
5. Angkat mie jika sudah masak.
6. Campurkan mie dengan bumbu yang
sudah ada di piring.
7. Mie siap disajikan.

2. Menelepon.
Prosesnya adalah sebagai berikut:
1. Angkat telepon.
2. Tekan nomor teleponnya yang dituju.
 Jika diangkat maka mulai berbicara
setelah selesai tutup teleponnya.
 Jika tidak diangkat, maka tutup
teleponnya.
Selain contoh diatas masih banyak lagi
contoh – contoh sederhana mengenai
algoritma yang dapat kita jumpai dalam
kehidupan sehari – hari.
Setiap manusia punya pola pikir yang berbeda
antara manusia yang satu dengan manusia
yang lain, oleh karena itu dalam memecahkan
suatu masalah ataupun juga algoritma dengan
hasil yang berbeda. Algortma dikatakan benar
atau baik apabila dapat menyelesaikan suatu
masah.
Pemograman berasal dari kata program yang
berarti serangkaian instruksi yang ditulis
untuk melakukan suatu fungsi spesifik pada
komputer, sedangkan pemograman adalah
segala kegiatan pembuatan program
menggunakan komputer. Komputer
membutuhkan keberadaan program agar bisa
menjalankan fungsinya sebagai komputer.
Selain itu terdapat istilah bahasa pemograman
yang berarti bahasa yang digunakan dalam
pembuatan program komputer. Oleh sebab itu
berdasarkan pengertian algoritma dan
pemograman maka dapat disimpulkan bahwa
program merupakan hasil dari penerapan-
penerapan algoritma.

Bahasa Pemrograman merupakan notasi yang
dipergunakan untuk mendeskripsikan proses
komputasi dalam format yang dapat dibaca
oleh komputer dan juga manusia. Proses
komputasi pada umumnya didefinisikan
secara formal menggunakan konsep
matematika dari Mesin Turing (model
komputasi teoritis yang ditemukan oleh Alan
Turing). Sebenarnya bahasa pemrograman
dirancang sebagai media untuk memfasilitasi
komunikasi antara manusia dengan komputer.

Sebuah bahasa pemrograman disebut Turing
Complete jika dapat dipergunakan untuk
mendeskripsikan semua komputasi yang dapat
dilakukan Mesin Turing, yaitu memiliki
variable integer dan operator aritmatik,
pernyataan penugasan, pernyataan sekuensial,
pernyataan seleksi, dan pernyataan iterasi
didefinisikan secara formal menggunakan
konsep matematika dari Mesin Turing.

III. METODELOGI PENELITIAN
Metode penelitian ini menggunakan
deskriptif, yakni penelitian yang
memberikan gambaran atas uraian suatu
keadaan sejernih mungkin, tanpa adanya
perlakuan terhadap objek yang diteliti
(Kountur, 2003:53). Metode ini merupakan
suatu metode yang berupaya
memberikan gambaran tentang suatu
fenomena tertentu secara terperinci, sehingga
akhirnya diperoleh pemahaman yang lebih
jelas tentang fenomena yang sedang diteliti.
Teknik pengumpulan data dalam
penelitian ini yaitu studi pustaka.

IV. PEMBAHASAN

74

Tipe-Tipe Algoritma Berdasarkan Format
Penulisan
Penulisan algoritma tidak ter-ikat pada
suatu aturan tertentu, tetapi harus jelas
maksudnya dari suatu penulisan algoritma
untuk tiap langkah algoritmanya. Notasi
algoritma bukan merupakan notasi bahasa
pemograman, namun notasi ini dapat
diterjemahkan kedalam berbagai bahasa
pemograman. Algoritma dapat dinotasikan
dalam beberapa cara, yaitu:

1. Untaian Kalimat Deskriptif (Natural)
Algoritma bertipe deskriptif maksudnya
ialah algoritma yang ditulis dalam bahasa
manusia seperti bahasa Indonesia atau bahasa
Ingris dan dalam bentuk kalimat. Notasi ini
cocok digunakan untuk algoritma yang
pendek, namun untuk notasinya yang
panjang, notasi ini kurang efektif digunakan
dan juga pengkonversian notasi algoritma ke
notasi bahasa pemrograman menjadi
cenderung relatif sukar.

2. Pseudocode
Pseudocode berasal dari kata pseudo dan code
. Pseudo berarti imitasi dan code ber-arti
kode yang dihubungkan dengan instruksi
yang ditulis dalam bahasa komputer atau kode
bahasa pemograman. Pseudocode digunakan
untuk menggambarkan logika urut-urutan dari
program tanpa memandang bagaimana bahasa
pemrogramannya.
3. Flow Chart (Diagram Alir)
Diagram alir atau flow chart adalah bagan
menggambarkan urutan langkah-langkah
kegiatan atau program mulai dari awal sampai
akhir dengan menggunakan simbol atau
gambar tertentu dan dan garis alir. Simbol-
simbol yang mewakili fungsi-fungsi langkah
program dan garis alir (flow lines) yang
menunjukkan urutan dari simbol-simbol yang
akan dikerjakan. Flowchart lebih baik
digunakan dibandingkan dengan
menggunakan pseudocode. Jumlah simbol
yang digunakan dalam flowchart sedikit,
karena itu lebih sederhana dan lebih mudah
dipelajari.

Dalam pembuatan flowchart program tidak
ada rumus atau patokan yang bersifat mutlak,
karena flowchart merupakan gambaran hasil
pemikiran dalam menganalisis suatu masalah
dengan komputer sehingga flowchart yang
dihasilkan dapat bervariasi antara satu
pemrogram dengan yang lainnya.


Simbol - simbol Flow chart
Contoh Flow chart untuk menentukan
bilangan terkecil

TEKS ALGORITMA
Teks algoritma merupakan penjelasan atau
deskripsi langkah-langkah dari penyelesaian
masalah yang tersusun secara sistematis.
Langkah-langkah tersebut tidak memiliki
standar yang baku seperti pada bahasa
pemrograman tetapi langkah-langkah tersebut
mudah di mengerti oleh si pembacanya. Agar
teks algoritma yang dibuat mudah di
translasikan ke bahasa pemrograman tertentu
maka sebaiknya langkah-langkah dari teks
algoritma yang dibuat berkoresponden dengan
perintah-perintah bahasa pemrograman. Teks

75

algoritma disusun atas tiga bagian atau blok
yaitu; bagian judul agoritma (header), bagian
deklarasi, dan bagian deskripsi. Setiap bagian
dapat diberi komentar yang biasanya
dituliskan menggunakan kurung kurawal.

 Judul Algoritma
Judul algoritma merupakan bagian dari teks
algoritma yang terdiri atas nama algoritma
dan
penjelasan tentang algoritma tersebut. Nama
algoritma sebaiknya singkat, namun cukup
menggambarkan apa yang akandilakukan oleh
algoritma tersebut. Di bawah nama algoritma
disertai dengan penjelasan singkat atau
tentang apa yang dilakukan oleh algoritma.
Penjelasan di bawah nama algoritma sering
dinamakan juga spesifikasi algoritma.
Algoritma harus ditulis sesuai dengan
spesifikasi yang didefinisikan.
Contoh :
Program Luas_Kubus ← {Judul
Algoritma}
{ Menghitung luas kubus untuk ukuran sisi
yang dibaca dari piranti masukan lalu
mencetak hasilnya kepiranti keluaran} ←
{Spesifikasi Algoritma}
 Deklarasi
Deklarasi atau disebut juga Kamus, deklarasi
adalah bagian teks algoritma sebagai tempat
untuk mendefinisikan semua nama yang
dipakai di dalam algoritma. Nama tersebut
dapat berupa nama type, nama konstanta,
nama variabel, nama fungsi, dan nama
prosedur. Semua nama tersebut baru dapat
dipakai di dalam algoritma jika telah
didefinisikan terlebih dahulu didalam kamus.
Penulisan sekumpulan nama dalam kamus
sebaiknya dikelompokan menurut jenis nama
tersebut. Nama variabel belum terdefinisi
nilainya ketika didefinisikan. Pendefinisian
nama konstanta sekaligus memberikan harga
konstanta tersebut, pendefinisian nama fungsi
dilakukan sekaligus dengan domain atau
range serta spesifikasinya. Pendefinisian nama
prosedur sekaligus dengan pendefinisian
parameter (jika ada) dan spesifikasi prosedur
(kondisi awal “Initial State”, Kondisi akhir “
Final State” dan proses yang dilakukan).
Contoh :
Kamus
{Nama type, hanya untuk type yang bukan
type dasar}
type jam : <hh,mm,ss :integer> {Type jam
terdiri dari 3 masukan yaitu “hh” sebagai
jam. “mm” sebagai menit dan “ss” sebagai
detik}
{Nama konstanta, harus menyebutkan type
dan nilai }
constant phi : real = 3,14159
constant nama : string = „Alex‟
constant benar : boolean = true
{Nama Informasi, menyebutkan type}
x,y : integer {suatu nilai yang bertype
bilangan bulat}
NMax : real {nilai maksimum yang bertype
bilangan real}
Nama : string {suatu nilai yang merupakan
kumpulan character}
P : point {suatu nilai pada bidang kartesian}
Cari : Boolean {suatu nilai logika}
{Nama fungsi, menyebutkan domain dan
range}
function RealToInt (x:real) → integer
{mengubah harga x yang bertype real menjadi
harga ekivalen yang bertype integer}
{Nama prosedur, menyebutkan “IS” initial
state, “FS” final state dan proses}
procedure tukar (input/output x,y : real)
{ IS x dan y terdefinisi, x = a dan y = b
FS x = b dan y = a
Proses : menukar isi informasi bilangan x dan
y }

 Deskripsi
Deskripsi atau sering disebut juga algoritma.
Deskripsi adalah bagian inti dari suatu
algoritma yang berisi instruksi atau
pemanggilan aksi yang telah didefinisikan.
Komponen-komponen teks algoritma dalam
pemrograman yaitu: instruksi dasar seperti
input/output, assignment , sequence

76

(runtutan), analisa kasus, perulangan. Setiap
langkah algoritma dibaca dari langkah paling
atas hingga langkah paling bawah. Urutan
penulisan menentukan urutan pelaksanaan
perintah.

Contoh :
Algoritma
input (c,d) {menerima masukan 2
bilangan c dan d}
if c < d then {operasi kondisional}
e ← a + b {e di assignment oleh nilai a
dan b}
else e ← a – b
output (e) {hasil keluaran berupa
bilangan e}

STRUKTUR DASAR ALGORITMA

Sebuah algoritma dapat dibangun dari tiga
buah struktur dasar yang membentuk
konstruksi suatu algoritma. Struktur-struktur
dasar tersebut ialah:
 Runtunan (sequence)
Pada struktur sekuensial instruksi dikerjakan
secara berurutan baris perbaris mulai dari
baris pertama hingga baris terakhir, tanpa ada
loncatan atau perulangan. Pada struktur ini
Tiap instruksi dikerjakan satu per satu.
 Pemilihan (selection)
Struktur seleksi adalah instruksi yang dipakai
untuk memilih satu aksi dari beberapa
kemungkinan aksi berdasarkan suatu syarat.
 Pengulangan (repetition)
Struktur perulangan adalah instruksi yang
dapat mengulang sederetan instruksi secara
berulang-ulang sesuai persyaratan yang
ditetapkan. Struktur instruksi perulangan pada
dasarnya terdiri atas :
• Kondisi perulangan, yaitu suatu kondisi
yang harus dipenuhi agar perulangan
dapat terjadi.
• Badan atau body perulangan, yaitu
deretan instruksi yang akan diulang-
ulang pelaksanaannya.
• Pencacah (counter) perulangan, yaitu
suatu variabel yang nilainya harus
berubah agar perulangan dapat terjadi
dan pada akhirnya membatasi jumlah
perulangan yang dapatdilaksanakan.




PROSEDUR DAN FUNGSI ALGORITMA
Prosedur
Prosedur adalah suatu program terpisah dalam
blok sendiri yang berfungsi sebagai
subprogram (program bagian). Diawali
dengan kata cadangan “Procedure” didalam
bagian deklarasi prosedur. Procedure biasanya
bersifat suatu aktifitas seperti menghitung
luas, meghitung faktorial, mencari nilai
maksimum/minimum,dsb. Prosedur banyak
digunakan pada program yang terstruktur
karena :
1. Merupakan penerapan konsep program
modular, yaitu memecah-mecah
program yang rumit menjadi program-
program bagian yang lebih sederhana
dalam bentuk prosedur-prosedur.
2. Untuk hal-hal yang sering dilakukan
berulang-ulang, cukup dituliskan
sekali saja dalam prosedur dan dapat
dipanggil atau dipergunakan sewaktu-
waktu bila diperlukan.
3. Membuat kode program lebih mudah
dibaca.
4. Dapat digunakan untuk
menyembunyikan detil program
Notasi Algoritmik
program tukar
kamus : A,R : integer {}
procedure tukar (in/out : A,R : integer)
algoritma : input (A,R)
Tukar (A,R)
Output (A,R)
procedure tukar2(in/out : A,R : integer)
kamus lokal : B : integer
algoritma : B ← A
A ← R

77

R ← A
Pada flowchart, untuk menuliskan prosedur
digunakan notasi Predefined Process. Secara
skematis, penggunaan prosedur dapat dilihat
pada gambar 6.6.

Gambar 6.6. menunjukkan ada proses utama
yang terjadi, dan ada prosedur yang
sebenarnya merupakan bagian dari proses
utama ini. Ketika proses utama membutuhkan
suatu tugas tertentu, maka proses utama akan
memanggil prosedur tertentu menyelesaikan
tugas tersebut. Perhatikan contoh berikut:
Contoh 6.3. Prosedur
Buatlah algoritma menghitung luas segitiga,
segiempat, dan lingkaran.
Penyelesaian:
Untuk membuat algoritma ini kita dapat
memandang proses perhitungan luas segitiga,
luas segiempat, dan luas lingkaran sebagai
bagian program yang berdiri sendiri. Kita
dapat membuat prosedur untuk masing-
masing proses. Dan kita akan memanggil
prosedur tersebut dari proses utama (gambar
6.7).

Urutan proses pada gambar 6.7 adalah sebagai
berikut.
 Pembacaan data
 Pada proses utama akan terjadi
pengecekan pada data yang dibaca,
 Apabila data yang dibaca adalah untuk
segitiga, maka proses utama akan
memanggil prosedur hitung luas
segitiga dengan membawa nilai
variable yang diperlukan oleh
prosedur luas hitung segitga.
 Proses perhitungan luas segitiga hanya
dilakukan pada prosedur tersebut.
 Setelah proses perhitungan, maka hasil
perhitungan akan dibawa kembali ke
proses utama untuk dicetak hasilnya.
Urutan proses yang sama juga terjadi jika data
yang dibaca adalah untuk segi-empat atau
lingkaran.
Prosedur yang baik memiliki ciri-ciri sebagai
berikut:
 Hanya memiliki satu fungsi tujuan
(logical inherent).
Sebuah prosedur sebaiknya hanya
memiliki satu fungsi tujuan dan tidak
bercampur dengan tujuan-tujuan lain.
Hal ini untuk membuat prosedur lebih
focus, sehingga tujuan akan dapat
tercapai dengan baik.

78

 Tidak tergantung pada prosedur lain
(independent).
Sebuah prosedur harusnya bersifat
mandiri, artinya prosedur ini dapat
berjalan dan diuji tanpa menunggu
bagian lainnya selesai. Selain itu
variable-variabel yang digunakan
dalam prosedur tersebut tidak
mempengaruhi variable-variabel yang
digunakan pada bagian lain di
keseluruhan program.
 Berukuran kecil (small size).
Yang dimaksud ukuran disini adalah
panjang algoritma atau panjang kode
program pada suatu prosedur. Ukuran
kecil akan mudah dibaca dan
diperbaiki. Apabila sebuah modul
sudah terlalu besar maka sebaiknya
dipertimbangkan untuk dipecah-pecah
menjadi beberapa modul yang lebih
kecil.
FUNGSI
Fungsi sama seperti halnya dengan prosedur,
namun tetap ada perbedaannya yaitu fungsi
mempunyai output dengan tipe variabel yang
kita tentukan. Dan cara pemanggilan variabel
ada 2 macam dalam pascal. Yaitu :
 Mengoutputkan nilai dari fungsi
tersebut Contoh : Writln
(namafungsi(parameter));
 Dengan assignment Variabel1 :=
namafungsi(parameter);
Berbeda dengan procedure yang bisa tidak
menggunakan parameter, fungsi harus
menggunakan parameter dalam
penggunaannya.
algoritmik
program faktorial
kamus : a : integer
function faktor (a : integer) → integer
algoritma input (a)
output (faktor(a))
function faktor (a:integer) →integer
kamus : i, hasil : integer
algoritma : hasil ← 1
i traversal [a..1]
hasil ← hasil * i
faktor ← hasil
FUNCTION identifier (daftar parameter) :
type ;
Blok fungsi juga diawali dengan kata
cadangan Begin dan di akhiri dengan kata
cadangan End dan titik koma.
Perbedaan fungsi dengan prosedur adalah
:
1. Pada fungsi, nilai yang dikirimkan
balik terdapat pada nama fungsinya (
kalau pada prosedur pada parameter
yang dikirimkan secara acuan).
2. Karena nilai balik berada di nama
fungsi tersebut, maka fungsi tersebut
dapat langsung digunakan untuk
dicetak hasilnya. Atau nilai fungsi
tersebut dapat juga langsung
dipindahkan ke pengenal variable
yang lainnya.
3. Pada prosedur, nama prosedur tidak
dapat digunakan lagsung, yang dapat
langsung digunakan adalah
parameternya yang mengandung nilai
balik.
V. KESIMPULAN
Algoritma adalah langkah-langkah yang
disusun secara tertulis dan berurutan untuk
menyelesaikan suatu masalah. Sedangkan
Algoritma Pemrograman adalah langkah-
langkah yang ditulis secara berurutan untuk
menyelesaikan masalah pemrograman
komputer.


DAFTAR PUSTAKA
Chipp. (2009, 11 March). Algoritma dan
Pemrograman Dengan C++. Diperoleh 15
januari 2013, from
http://ilmukomputer.org/2009/03/11/algoritma
-dan-pemrograman-dengan-c/

Hannan. (2010, 12 Juni). Pengertian
Pemrograman. Diperoleh 15 januari 2013,
from http://hannan.h08.alumni.ipb.ac.id/

79

Wirman. (2009, 3 march). Algoritma
Pemrograman Dengan Menggunakan C++.
Diperoleh 15 januari 2013, from
http://ilmukomputer.org/wp-
content/uploads/2009/03/wirman-algoritma
Hariyanto. (2009). Algoritma Dan
Pemrograman. Diperoleh 15 januari 2013,
from
http://hariyanto.staff.jak-
stik.ac.id/?en_algoritma-dan-pemrograman,20
Anonim. (2012, 13 December). Algoritma.
Diperoleh 15 januari 2013, from
http://id.wikipedia.org/wiki/Algoritma/

Anonim. (2012, 13 December).
Pemrograman. Diperoleh 15 januari 2013,
from
http://id.wikipedia.org/wiki/Pemrograman

Anonim. (2009, 19 Juni). Algoritma dan
Pemrograman. Diperoleh 15 januari 2013,
from http://www.nusinau.com/algoritma-dan-
pemrograman/

PENGANTAR ALGORITMA DAN
PROGRAM. Diperoleh 15 januari 2013, from
http://usupress.usu.ac.id/files/Algoritma%20d
an%20Pemrograman;%20Teori%20dan%20P
raktik%20dalam%20Pascal%20Edisi%20Ked
ua_Normal_bab%201.pd