Anda di halaman 1dari 14

TEKNIK KIMIA

Teknik Kimia
UNIVERSITAS MUHAMMADIYAH PURWOKERTO

KONSEP DASAR ALGORITMA

Disusun Oleh :
A. HARIS MULYADI, M.T.
(haris_mulyadi@yahoo.co.id)

Tahun
2016

Pengertian Umum Algoritma


Pada prinsipnya seluruh aspek kehidupan kita dipenuhi oleh
berbagai permasalahan. Setiap orang tentunya berupaya
menyelesaikan
masalah.
Untuk
menyelesaikan
masalah
dilakukan berbagai langkah. Misalnya, jika seseorang ingin kuliah
di suatu perguruan tinggi maka yang ia lakukan tentunya
mendaftar ke perguruan tinggi dimaksud, kemudian mengikuti
tesnya, dan jika lulus ia melakukan pendaftaran ulang, dan
seterusnya. Jika seseorang ingin memiliki SIM ia tentunya akan
mendatangi kantor polisi, kemudian mengambil formulir
pendaftaran, mengisi data,
membayar sejumlah uang,
mengerjakan tes, sampai pemotretan, dan seterusnya. Demikian
pula halnya jika seseorang hendak menikmati mie instan,
memiliki rumah, memiliki KTP, atau
mengganti ban bocor,
semuanya memiliki kesamaan : memerlukan langkah-langkah
penyelesaian masalah.
Semua yang kita lakukan seperti contoh di atas pada dasarnya
adalah proses. Menjadi mahasiswa, memiliki SIM, membangun
rumah dan menikmati mie instan tidak dapat terjadi begitu saja
tanpa proses. Proses merupakan serangkaian tindakan (aksi)
dilakukan untuk mencapai suatu tujuan. Jadi proses adalah nama
lain dari langkah-langkah penyelesaian masalah.
Langkah-langkah ini berjalan dengan urutan tertentu. Anda tidak
bisa memiliki KTM (kartu tanda mahasiswa) sebelum anda
membayar biaya kuliah. Anda tidak bisa membayar mendaftar
ulang sebelum anda dinyatakan lulus dalam tes. Berarti urutan
dalam langkah-langkah tersebut merupakan hal yang penting
untuk
menentukan
keberhasilan
meyelesaikan
masalah.
Langkah-langkah penyelesaian masalah dengan urutan tertentu
ini kita sebut dengan algoritma. Ini adalah pengertian umumnya.
Baiklah, untuk jelasnya kita coba mendefinisikan sebuah masalah
dan langkah-langkah penyelesaiannya atau algoritmanya.
Misalnya, kita memiliki masalah tentang bagaimana cara agar
bisa kuliah di suatu perguruan tinggi. Langkah apa yang harus
dilakukan dan bagaimana urutannya. Salah satu solusinya dapat
dijabarkan sebagai berikut.
1. Mulai
2. Memilih perguruan tinggi
3. Mengisi formulir pendaftaran
2

4.
5.
6.
7.
8.

Mengikuti tes masuk


Jika lulus tes, lakukan lanjut ke 6. Jika tidak lanjut ke 8
Mendaftar ulang/bayar SPP
Ambil KTM
Selesai

Anda bisa lihat bahwa untuk bisa mencapai tujuan (menjadi


mahasiswa) anda harus melewati beberapa tahapan tertentu.
Perhatikan langkah-langkah menjadi mahasiswa berikut ini
1.
2.
3.
4.
5.
6.
7.
8.

Mulai
Mengikuti tes masuk
Memilih perguruan tinggi
Mengisi formulir pendaftaran
Membayar SPP
Jika lulus tes, lanjut ke 3. Jika tidak lanjut ke 8
Ambil KTM
Selesai

Bagaimana menurut anda langkah-langkah di atas? Kacau sekali,


bukan? Urut-urutannya tidak tertata dengan benar. Kita sebut
langkah-langkah tersebut di atas tidak logis, artinya ia tidak
sesuai dengan kaidah berpikir yang benar. Dengan demikian,
langkah-langkah penyelesaian masalah tidak akan memberikan
solusi jika urutannya tidak tertata dengan benar. Namun
demikian, perlu diingat bahwa bisa jadi suatu persoalan dapat
diselesaikan dengan beragam langkah dan urutan. Misalnya,
untuk membuat mie instan dapat dilakukan dengan langkah
1.
2.
3.
4.
5.
6.
7.

Mulai
Merebus air
Memasukkan mie ke dalam air yang mendidih
Menuangkan mie yang telah matang ke dalam mangkok
Masukkan bumbu masak
Aduk sampai rata
Selesai

Atau langkah ini


1.
2.
3.
4.
5.
6.
7.

Mulai
Merebus air
Memasukkan mie ke dalam air yang mendidih
Masukkan bumbu masak
Aduk sampai rata
Menuangkan mie yang telah matang ke dalam mangkok
Selesai

Bagaimana menurut anda kedua langkah di atas? Tentunya


keduanya berbeda, tetapi kedua cara tersebut dapat
menyelesaikan persoalan yang sama. Dengan demikian, sebuah
persoalan dapat diselesaikan dengan berbagai macam cara. Hal
yang sama akan anda temukan dalam membuat sebuah
program. Seringkali kita temukan begitu banyak cara untuk
menyelesaikan sebuah persoalan. Hal itu bisa saja selama tujuan
yang diinginkan dapat tercapai.
Barangkali ada yang bertanya, bukankan pernyataan-pernyataan
algoritma di atas memiliki sub aksi yang lebih kecil? Misalnya,
aksi merebus air bisa jadi terdiri dari beberapa aksi, seperti :
mengambil panci, meletakkan panci di bawah keran, kemudian
membuka keran. Jika telah cukup, matikan keran, lalu letakkan
panci di atas kompor, lalu hidupkan kompor, dan seterusnya.
Bahkan sub pernyataan dari merebus air pun jika diurai lebih
dalam akan terdiri dari beberapa sub pernyataan lebih banyak
lagi.
Betul, demikian adanya. Namun, jika kita terus menuliskan
semua sub pernyataan tersebut, bisa tak hingga banyaknya.
Dalam hal ini ada banyak hal yang kita anggap sudah cukup
mewakili atau jelas dengan satu pernyataan aksi saja. Misalnya,
untuk menyatakan semua proses yang terjadi dalam aksi
merebus air seperti yang telah disebutkan di atas, cukup diwakili
oleh satu pernyataan yaitu : merebus air.
Bagaimana ukurannya apakah suatu pernyataan aksi sudah
dianggap jelas atau belum? Hal ini bisa jadi sangat subyektif. Ia
sangat tergantung kepada siapa instruksi itu diberikan. Jika
instruksi memasak rendang diberikan kepada seseorang yang
baru belajar memasak, rincian instruksinya haruslah cukup
mendetail. Tetapi bagi seorang koki yang sudah berpengalaman,
satu instruksi memasak rendang sudah cukup baginya tanpa
harus dirinci lebih jauh.

Pengertian Algoritma Pemrograman


Seperti telah dijelaskan sebelumnya algoritma secara umum
berhubungan dengan semua langkah-langkah penyelesaian
masalah dengan urutan tertentu. Tetapi istilah algoritma saat ini
lebih sering dikaitkan dengan pemrograman komputer sehingga
dikenal algoritma pemrograman. Pada dasarnya algoritma
pemrograman merupakan kerangka dari program komputer.
Dalam konteks pemrograman komputer terdapat banyak definisi
algoritma. Sebenarnya tidak ada definisi algoritma yang baku.
Namun secara sederhana algoritma (dalam kaitannya dengan
pemrograman) dapat kita definisikan sebagai urutan langkah

berhingga untuk menyelesaikan masalah matematika dan logika.


Dengan pengertian itu dapat kita simpulkan bahwa
1. Algoritma adalah kumpulan langkah, artinya algoritma
merupakan proses di dalam penyelesaian masalah.
2. Langkah-langkah dalam algoritma berhingga banyaknya,
artinya langkah-langkah tersebut memiliki akhir. Algoritma
tanpa akhir, bukanlah termasuk algoritma karena tidak akan
memberikan solusi apapun.
3. Digunakan untuk menyelesaikan masalah matematika dan
logika, artinya tidak semua masalah bisa diselesaikan dengan
algoritma.
Algoritma
hanya
bisa
digunakan
untuk
menyelesaikan suatu masalah jika masalah tersebut dapat
diterjemahkan ke dalam bahasa logika dan matematika.
Komputer adalah alat bantu manusia untuk menyelesaikan
masalah. Untuk bisa membantu manusia, komputer harus diberi
instruksi. Instruksi itu dikenal dengan program. Namun demikian
untuk memberi instruksi kepada komputer tidak sama dengan
memberi instruksi kepada manusia. Komputer memiliki logika
berpikirnya sendiri yang berbeda dengan manusia. Oleh karena
itu untuk bisa memberi instruksi kepada komputer, manusia
harus bisa memberi instruksi yang mampu dipahami komputer.
Algoritma adalah cara manusia untuk merangkai instruksi yang
akan diberikan kepada komputer. Itu sebabnya semua orang
yang belajar pemrograman komputer sangat dianjurkan
memahami dulu algoritma. Pemahaman terhadap algoritma
sangat penting untuk melatih calon pemrogram berpikir secara
terstruktur dan sistematis. Kemampuan berpikir terstruktur dan
sistematis akan sangat membantu dalam memudahkan
pencarian solusi dengan cara yang sesederhana mungkin.
Pemrogram yang buruk adalah pemrogram yang meskipun
mampu membuat program dan memecahkan masalahnya,
namun programnya tidak terstruktur dengan baik. Programer
jenis ini akan menulis 100 baris instruksi program untuk
menyelesaikan persoalan yang sebenarnya bisa diselesaikan
dengan 20 atau 30 baris instruksi saja.

Penulisan Algoritma dengan Teks


Instruksi algoritma pemrograman dapat dinyatakan dalam dua
cara : dengan teks dan diagram alir (flowchart). Algoritma teks
adalah algoritma yang dinyatakan dengan aksara / huruf (dan
angka) yang yang lazim kita kenal selama ini. Algoritma ini juga
dikenal dengan istilah pseudocode. Penulisan algoritma ini
5

bersifat bebas (tidak baku), yang penting harus mudah dipahami


oleh pembacanya. Berikut ini adalah contoh algoritma yang
menghitung dan menampilkan hasil penjumlahan dua buah
bilangan yang ditulis dengan teks umum.
1.
2.
3.
4.
5.

Mulai
Baca bilangan a dan b
Hitung a ditambah b, simpan pada c
Tulis nilai c
Selesai

Meskipun penulisan algoritma teks sebenarnya tidaklah baku,


namun dalam buku ini teknis penulisannya sengaja agak
dibakukan agar proses konversi algoritma ke bahasa program
menjadi lebih mudah.
Format algoritma yang kita bakukan ini terdiri dari tiga bagian :
1. Bagian Nama : bagian yang menuliskan nama algoritma serta
keterangan lain perihal algoritma tersebut
2. Bagian deklarasi : bagian yang mendefinisikan konstanta dan
variabel objek yang terlibat dalam algoritma tersebut
3. Bagian dekripsi (badan algoritma) : adalah bagian yang
merupakan langkah-langkah penyelesaian masalah.
Contoh:
Algoritma Luas Lingkaran
Deklarasi
const phi = 3.14;
real jari_jari, luas;
Deskripsi
read(jari_jari);
luas = phi*jari_jari*jari
write(luas);

Penulisan Algoritma dengan Flowchart


Bentuk penyelesaian masalah dengan algoritma teks terkadang
agak sulit dimengerti terutama untuk persoalan yang relatif
kompleks. Untuk itu sebagian orang terkadang lebih mudah
menggunakan algoritma yang disusun dari menggunakan
diagram, lazim disebut flowchart (diagram alir). Dibandingkan
dengan teks, cara ini lebih mudah dipahami pembaca tetapi
penulisannya banyak menyita ruangan. Setengah halaman
algoritma teks bisa jadi harus ditulis dengan berlembar-lembar
algoritma flowchart.

Beberapa bentuk dasar flowchart berikut artinya dapat dilihat


pada tabel dibawah ini.

Lambang
Flowchart

Nama Simbol

Arti

Terminal
(terminator)

Digunakan untuk menunjukkan awal dan akhir


dari program

Input/Output
(data)

Digunakan untuk membaca masukan (input) dan


menampilkan keluaran (output)

Pengolahan
data

Digunakan untuk pengolahan data melalui


operasi aritmatika dan logika

Kotak
keputusan

Digunakan untuk menetapkan pilihan proses


selanjutnya

Kotak
penghubung

Digunakan untuk menunjukkan


proses yang terpisah

Arus data

Digunakan untuk menunjukkan arah proses


berikutnya

Subrutin

Digunakan untuk proses yang detail instruksinya


dijelaskan secara terpisah

hubungan

Perintah Dasar Algoritma


Membaca Data (Input)

Masukan atau input adalah perintah menyimpan suatu nilai ke


dalam suatu variabel melalui piranti masukan (keyboard, mouse,
scanner, dll).
Kata perintahnya dalam algoritma standar adalah read atau
readln
Bentuk umum perintahnya adalah:
read (argumen1, argumen2,...)

Argumen dalam hal ini adalah media penyimpanan nilai input


tersebut, yaitu variabel. Banyaknya bisa satu atau lebih. Berikut
ini adalah contoh perintah input dalam bentuk teks standar dan
umum.
Contoh 1
Perintah umum
Perintah algoritma
Keterangan

: Masukkan nilai temperatur


: read (temp)
: temp merupakan variabel yang
disiapkan
Untuk menyimpan nilai temperatur

read (tem p)

Bentuk flowchart :

Contoh 2
Perintah umum
Perintah algoritma

: Masukkan nilai ujian1 dan ujian2


: read (uji1, uji2)

Keterangan

: uji1 dan uji2 adalah variabel yang

disiapkan untuk menyimpan data Ujian


1 dan Ujian 2

read
(uji1,uji2)

Bentuk flowchart

Menampilkan Keluaran (Output)


Keluaran atau output adalah proses menampilkan nilai pada
media keluaran. Media keluaran pada komputer dapat berupa
layar monitor, printer, ploter, speaker, dll. Namun dalam konteks
ini media keluaran yang kita maksud adalah layar/monitor
komputer. Format penulisan perintahnya secara umum adalah
write(argumen1, argumen2, ...)

atau menggunakan perintah ini:


writeln(argumen1, argumen2,...)

Banyaknya argumen dapat lebih dari satu. Bentuknya bisa


berupa nilai, variabel, konstanta, dan ekspresi.
Contoh :
Perintah umum
Perintah algoritma
Bentuk keluaran

: Tampilkan tulisan Selamat Datang


: write(Halo)
: Halo

w rite(halo)

Bentuk flowchart :
9

Berikut ini adalah beberapa contoh lain ekspresi output.

Teks Umum

Teks
Algoritma
Standar

Keterangan

Keluaran

Tampilkan nilai write (Halo)


Halo

Perintah
Halo
menampilkan tulisan
(string)
Halo.
Perhatikan, penulisan
nilai
string
selalu
diapit oleh tanda ()

Tampilkan nilai write (temp)


variabel
temperatur

Perintah
25
menampilkan
nilai
yang
terkandung
pada variabel temp.
Misalnya , temp = 25

Tampilkan nilai write (a, b)


a dan b secara
horizontal

Perintah
7 11
menampilkan nilai a
dengan b. Misalnya
nilai a=7, dan b =11

Tampilkan
write(a+b)
hasil
penjumlahan a
dengan b

Perintah
18
menampilkan
hasil
operasi penjumlahan
variabel a dengan b.
Misalnya a=7, dan b
10

=11

Tampilkan nilai write (100)


100

Perintah
menampilkan
numerik 100

100
nilai

Operasi
Dalam algoritma kita seringkali melakukan berbagai operasi
matematika dan logika. Inilah sebenarnya yang dimaksud
dengan pengolahan atau manipulasi data komputer, yaitu proses
operasi matematika dan logika. Ada banyak bentuk operasi
matematika dan logika. Salah satunya adalah operasi aritmetika
seperti : menambah, mengurang, mengali dan membagi.
Hasil perhitungan ini biasanya kita simpan ke dalam sebuah
variabel. Perintah menyimpan nilai dalam suatu variabel ini
disebut dengan operasi penugasan (assignment). Misal, jika kita
mengalikan dua variabel a dan b, sedang hasilnya kita simpan
pada c, maka penulisan operasi penugasannya
ca*b
Perintah di atas dibaca : Kalikan a dengan b, simpan pada c.
Simbol a, b, dan c kita sebut dengan operan sedangkan tanda
dan * masing-masing kita sebut dengan operator
penugasan dan operator perkalian. Kita tidak menggunakan
simbol =, tetapi , untuk menunjukkan bahwa hasil
perhitungan di kanan disimpan pada variabel yang ada di kiri.
Contoh.
Jika kita hendak mengitung hasil perkalian dua buah bilangan,
maka kita tulis algoritmanya :
deskripsi
read(a,b)
ca*b
write(c)

11

I. Soal Konsep Dasar Algoritma


1.
2.
3.

Apa yang dimaksud dengan algoritma?


Jelaskan perbedaan antara algoritma dengan program!
Jelaskan perbedaan algoritma teks dan flowchart! Sebutkan
kelebihan dan kekurangan kedua metode ini masing-masing.
4.
Apa yang dimaksud dengan operasi?
5.
Tuliskan perintah berikut ini dalam bentuk algoritma
standar dan flowchart
a. Tampilkan nilai yang terkandung pada variabel a
b. Masukkan nilai variabel nama
c. Jumlahkan nilai x dan y, simpan pada z
d. Tampilkan tulisan Selamat Datang
e. Kurangi A dengan B, lalu kalikan dengan 2, simpan pada C
f. Tampilkan nilai yang disimpan pada variabel P dan Q
g. Tampilkan hasil perkalian M dengan N
6.
Nyatakan perintah berikut ini dalam pernyataan biasa
a. P Q R
b. Write (i+j)
c. Read (a,b,c)
d. x(y1+y2)*y3
e. write(nama)
f. write(nama)
g. read(x,y)
12

II. Soal Algoritma Runtunan


1. Diketahui algoritma berikut ini
Algoritma UtakAtik1
Deskripsi
Read(A)
B 0.5 * A + 15
C A * A -3
DB+C
Write(B,C,D)
Tentukan keluaran algoritma jika
a. A = 4
b. A = 6

c. A = -3

2. Terjemahkan algoritma soal no 1 ke dalam bentuk flowchart


3. Diketahui algoritma berikut ini
Algoritma UtakAtik2
Deskripsi
Read(A,B)
C 0.5 * (A + B)
DA*C-3
EC+D
Write(C,D,E)
Tentukan keluaran algoritma jika masukan A dan B masingmasing :
a. 5 dan 4
b. -2 dan 9
c. 3 dan 6
4. Terjemahkan algoritma no 3 ke dalam bentuk flowchart.
5. Setiap pegawai dalam perusahaan X mendapat penghasilan
dari gaji pokok dan tunjangan. Besar tunjangan adalah 20%
dari gaji pokok. Selain itu penghasilan tersebut terkena pajak
yang besarnya 5% dari penghasilan. Buatlah algoritma
menghitung penghasilan bersih pegawai dengan masukan gaji
pokok.
6. Andi 8 tahun lebih tua dari Ali. Ali lebih muda 5 tahun dari
Ahmad. Usia Amir adalah setengah dari jumlah usia Andi dan
Ahmad. Buatlah algoritma menghitung usia Andi, Ali dan Amir,
dengan masukan usia Ahmad.
7. Berkaitan dengan soal no, 6. Tuliskan keluaran algoritma
tersebut jika masukannya :
a. 45
b. 28
c. 36

13

8. Buatlah algoritma untuk mengkonversi waktu dari satuan jam,


menit, dan detik ke dalam satuan detik.
9. Berkebalikan dengan soal no 8, buatlah algoritma yang
mengkonversi waktu dari satuan detik ke dalam satuan jam,
menit, dan detik.
10. PT Telkom memberlakukan ketentuan tarif percakapan lokal

sebesar Rp 50/menit sedangkan interlokal Rp 100/menit.


Selain itu pelanggan juga dikenai biaya abonemen sebesar Rp
500 dan pajak sebesar 10% dari total tagihan. Buatlah
algoritma menghitung biaya rekening telpon dengan masukan
lama percakapan lokal dan interlokal (dalam menit).

14

Anda mungkin juga menyukai