Anda di halaman 1dari 8

ALGORITMA DAN PEMROGRAMAN DALAM KEHIDUPAN SEHARI-HARI

Oleh :
I Gusti Ayu Dian Sasmita Ratih (0904505001)
Riza Afriza Islami (0904505016)
Deria Dwi Antari (0904505038)

ABSTRAK
Kemajuan teknologi yang sangat pesat dewasa ini sangat memudahkan kita untuk menyelesaikan berbagai
persoalan.Salah satu alat yang digunakan untuk menyelesaikan masalah adalah komputer. Bagaimana
caranya sehingga komputer dapat menyelesaikan masalah kita? Karena tentu saja komputer tidak dapat
bekerja secara otomatis tanpa ada yang menggerakkan dan mengisi komputer itu. Cara untuk
menggunakan komputer agar bisa digunakan untuk menyelesaikan masalah adalah dengan algoritma dan
bahasa pemrograman.Masalah itu dapat kita selesaikan dengan mengikuti langkah-langkah sistematis
pembuatan program yanng terkandung algoritma di dalamnya. Algoritma merupakan dasar dari ilmu
komputer yang mempelajari tentang bagaimana memecahkan suatu masalah dengan dapat merumuskan
dan menggunakan bahasa pemrograman. Setiap masalah yang diselesaikan dengan menggunakan
komputer pasti menggunakan algoritma sebagai bahasa pemrogramannya. Langkah-langkah tersebut dapat
ditulis dengan notasi manapun asal mudah dimengerti karena tidak ada ada notasi baku dalam penulisan
bahasa pemrograman. Tiap orang dapat membuat dan menciptakan bahasa pemrogramannya sendiri, tetapi
agar bahasa pemrograman tersebut dapat ditranslasikan maka sebaiknya bahasa pemrograman yang
digunakan tersebut dalam bentuk notasi pemrograman pada umumnya. Adapun aturan penulisan algoritma
adalah memiliki judul, kamus, dan algoritma itu sendiri. Ada 3 cara umum yang diketahui untuk menotasikan
bahasa pemrograman, yaitu kalimat deskriptif, flowchart, dan menggunakan program Pascal (pseudocode).

Kata kunci : Algoritma,Flowchart,dan Bahasa Pascal

I. Pendahuluan
Algoritma sangat penting dalam
menggunakan sebuah komputer untuk
memproses informasi. Komputer tersusun dari
algoritma yang mengkhususkan instruksi yang
spesifik oleh sebuah program.Dalam
matematika dan komputasi, algoritma
merupakan kumpulan perintah untuk
menyelesaikan suatu masalah. Perintah-
perintah ini dapat diterjemahkan secara
bertahap dari awal hingga akhir. Masalah
tersebut dapat berupa apa saja, dengan
catatan untuk setiap masalah, ada kriteria
kondisi awal yang harus dipenuhi sebelum
menjalankan algoritma. Algoritma akan dapat
selalu berakhir untuk semua kondisi awal yang
memenuhi kriteria, dalam hal ini berbeda
dengan heuristik. Algoritma sering mempunyai
langkah pengulangan (iterasi) atau memerlukan
keputusan (logika Boolean dan perbandingan)
sampai tugasnya selesai.
Kompleksitas dari suatu algoritma
merupakan ukuran seberapa banyak komputasi
yang dibutuhkan algoritma tersebut untuk
menyelesaikan masalah. Secara informal,
algoritma yang dapat menyelesaikan suatu
permasalahan dalam waktu yang singkat
memiliki kompleksitas yang rendah, sementara
algoritma yang membutuhkan waktu lama untuk
menyelesaikan masalahnya mempunyai
kompleksitas yang tinggi. Untuk itulah orang
yang menggunakan komputer haruslah
mengerti tentang bagaimana cara
mengaplikasikan algoritma. Bahasa
pemrograman yang digunakan utnk menyusun
suatu algoritma matematika pada komputer
sangatlah banyak. Bahasa pemrograman yang
sering dipakai dalam menulis algorima adalah
bahasa pemrograman C.
II. Tinjauan Pustaka
A. Sejarah Istilah Algoritma
Kata algoritma berasal dari nama
seorang ahli matematika yang bernama
Abu Jafar Mohammed Ibn Musa al-
Khowarizmi, ilmuan Persia yang menulis
kitab al jabr wal-muqabala (rules of
restoration and reduction) yang berasal
dari Uzbekistan. Nama ahli matematika
ini kemudian dilatinkan menjadi algorima
sebagaimana tercantum dalam karyanya
pada abad XII yang berjudul Algorithmi
de numero indorum.Banyak orang pada
zaman itu menyalahartikan terjemahan
Algorihtmi itu sebagai bahasa latin yang
jamak sehingga menyebabkan terjadinya
perubahan terhadap penyebutan
algorithmi untuk yang tidak jamak
menjadi algoritma yang berarti metode
kalkulasi. Pada awalnya kata algoritma
adalah istilah yang merujuk kepada
aturan-aturan aritmetis untuk
menyelesaikan persoalan dengan
menggunakan bilangan numerik arab
yang sebenarnya berasal dari India
tersebut. Pada abad XVIII istilah
algorithm berkembang dan mengalami
perubahan arti menjadi cakupan semua
prosedur atau urutan langkah yang jelas
dan diperlukan untuk menyelesaikan
suatu permasalahan.
B. Definisi dan Kriteria Algoritma
Algoritma adalah urutan langkah logis
tertentu untuk memecahkan suatu
masalah. Yang ditekankan adalah urutan
langkah logis, yang berarti algoritma
harus mengikuti suatu urutan tertentu,
tidak boleh melompat-lompat.
Kriteria algoritma menurut Donald E.
Kuth, yaitu :
1. Input
Algoritma dapat memiliki nol atau
lebih inputan dari luar
2. Output
Algoritma harus memiliki minimal
satu output keluaran
3. Definiteness (pasti)
Algoritma memiliki instruksi-instruksi
yang jelas dan tidak ambigu
4. Finiteness (ada batas)
Algoritma harus memiliki titik
berhento (stopping role)
5. Effectiveness (efisien dan efektif)
Algoritma sebisa mungkin harus
dilakukan seefisien dan seefektif
mungkin
C. Langkah Sistematis Pembuatan Program
Algoritma merupakan suatu unsur yang
sangat penting dan memiliki urgensi yang
tinggi dalam pembuatan suatu program,
karena yang menggerakkan program itu
adalah bahasa-bahasa pemrograman
yang terlingkup dalam algoritma.
Pembuatan suatu program sangatbperku
untuk dipikirkan dengan matang sehingga
algoritma yang akan digunakan pun tepat.
Langkah-langkah pembuatan suatu
program adalah sebagai berikut :
1. Pendefenisian Masalah
Tujuan dari pendefenisian masalah
adalah untuk mendapatkan pengertian
atau pemahaman yang lebih mendalam
tentang masalah yang ada. Pada tahap
ini dapat ditentukan batasan-batasan
agar masalah menjadi tidak tak
terbatas. Adapun langkah-langkah
dalam mendefenisikan masalah adalah
sebagai berikut :
a. Pahami masalah dengan tepat
b. Identifikasi dan definisikan masalah
2. Analisis kebutuhan
Bertujuan untuk dapat mengetahui
dan menentukan spesifikasi yang
diperlukan untuk pembuatan suatu
program. Analisis kebutuhan
bermanfaat untuk dasar evaluasi pada
akhir pembuatan program.
3. Perancangan Arsitektur Program
Tahap ini sangat penting karena
pada tahap ini akan dibentuk program
yang memiliki konstruksi yang baik,
proses pengolahan data yang tepat dan
akirat, bernilai seni, memiliki aspek
yang dapat digunakan untuk
kepentingan orang banyak dan memiliki
dasar untuk pengembangan
selanjutnya.
Setelah perancangan ini selesai,
maka pemrograman dapat dilanjutkan
dengan menyusun algoritma. Algoritma
dibuat untuk menyelesaikan masalah.
Algoritma yang sudah tersusun harus
diperiksa dan dikoreksi kembali apabila
terjadi kesalahan. Algoritma harus
memiliki kebenaran secara logika
sehingga setelah langkah-langkah
revisi selesai maka harus dilakukan
pengecekan logika sebelum siap untuk
diimplementasikan dalam bentuk
program.
4. Pemrograman
Tahap ini merupakan suatu proses
yang mengimplementasikan algoritma
dengan menggunakan suatu hasa
pemrograman. Dalam hal ini,
pemrogram harus sangat berhati-hati
dalam memilih bahasa program yang
akan digunakannya. Fungsi bahasa
pemrograman adalah sebagai media
untuk menyusun dan memahami alat
komunikasi antara pemrograman
dengan komputer.
Secra umum bahasa pemrograman
dapat dibagi menjadi 4, yaitu :
a. Bahasa aras rendah (Low level
Language)
Merupakan bahasa yanng
berorientasi pada bahasa mesin.
Contohnya adalah bahasa
assembly.
b. Bahasa aras menengah (middle
level language)
Merupakan bahasa pemrograman
yang memiliki instruksi-instruksi
tertentu yang dapat diakses
langsung oleh komputer.
Contohnya adalah bahasa C.
c. Bahasa aras tinggi (High level
language)
Merupakan bahasa pemrograman
yang dapat dipahami langsung
oleh manusia. Contohnya adalah
bahasa Pascal, Fortran, dan
Power basic.
d. Bahasa berorientasi objek (object
oriented language)
Merupakan bahasa pemrograman
yang tidak perlu lagi menuliskan
detail semua pernyataan dan
ekspresi seperti pada high level
language, melainkan cukup
dengan memasukkan kritera-
kriteria yang dikehendaki saja.
Contohnya adalah bahasa C++,
Visual basic, Java, dan FoxPro.
5. Sistematika Penulisan Program
Secara umum, penulisan program
terdiri dari :
a. Inisialisasi
Merupakan penulisan nama
program, piranti yang digunakan,
konstanta, variabel, fungsi, dan
prosedur yang digunakan.
b. Input
Pemrogram memasukkan
perintah-perintah untuk
memasukkan data yang akan
diproses dengan suatu proses.
c. Proses
Pemrogram memasukkan proses
pengolahan data, baik berupa
rumus matematika, statistik,
maupun logika.
d. Output
Pemrogram menuliskan perintah-
perintah untuk menampilkan hasil
pengolahan data dalam bentuk
format tertentu.
6. Testing dan Debuging
Testing merupakan proses
mengeksekusi program secara intensif
untuk menemukan kesalahan,
sedangkan debuging adalah saat
menemukan kesalahan sampai
kesalahan itu diperbaiki kembali.
7. Galat
Galat nama lainnya adalah bug. Ada 5
macam bug atau galat, yaitu :
a. Galat Sintaksis
Terjadi jika salah dalam pengetikan
perintah-peritah yang sesuai
dengan bahasa pemrograman yang
digunakan.
b. Galat Eksekusi
Terjadi pada saat suatu program
dieksekusi.
c. Galat Logika
Terjadi karena salah dalam
melakukan perancangan algoritma
suatu program.
d. Galat Numerik
Terjadi karena karena pengukuran
atau pengamatan angka yang tidak
tepat.
e. Galat Hitung
Terjadi bila ada proses
penjumlahan, pengurangan,
perkalian dan pembagian yang
masing-masing angkanya membawa
kesalahan.
8. Dokumentasi
Dokumentasi program merupakan
hal penting dalam pembuatan suatu
program karena menyangkut
profesional dal amatirnya suatu
program. Ada 3 jenis pemakai
dokumentasi, yaitu :
a. Dokumentasi pemrogram
Suatu program pada umumnya akan
digunakan dalam beberapa sistem
kerja. Dalam waktu tersebut dapat
ditemukan banyak perubahan yang
dapat merubah penikaian
pemrogram itu sendiri terhadap
program yang dibuatnya.
b. Dokumentasi Operatot
Dokumentasi sangatlah perlu untuk
dimiliki operator, karena operator
tidak akan mengerti tentang
program yang baru saja dibuat, dan
bagaimana program itu persisnya
bekerja. Oleh karena itu, operator
perlu memiliki dokumentasi sebagai
pedoman yang berisi tata
pengoperasian program.
9. Pemeliharaan Program
Program yang sudah selesai
disusun pasti membutuhkan
pemeliharaan dan perawatan yang
meliputi :
a. Penambahan atau peningkatan atau
perbaikan program
b. Adaptasi program dengan produk
perangkat keras atau lunak yang
baru
c. Pembetulan terhadap kesalahan
yang timbul
D. Klasifikasi 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.
Adapun berdasarkan perhatian
terhadap paradigma, algoritma dibagi
menjadi 6 jenis, yaitu:
1. Brute Force
Ini merupakan cara yang naif yang
mencoba segala kemungkinan dan
solusi yang ada untuk menentukan
yang mana yang terbaik.
2. Divide and Conquer
Paradigma yang digunakan 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.
3. 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.
4. Metode Serakah (Greedy Method)
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.
Cara ini kadang tidak dapat
memberikan jawaban yang akurat
pada beberapa masalah.
5. Linear Programming
Ketika menyelesaikan masalah
dengan menggunakan program liner
ini, ketidaksamaan yang spesifik
meliputi input dan kemudian
menggunakan beberapa fungsi linear
pada input tersebut.
6. Reduction
Cara ini meliputi bagaimana
menyelesaikan suatu masalah yang
susah dan kompleks. Tujuannya
adalah untuk menemukan algoritma
yang berkurang.
E. Aturan Penulisan Algoritma
Setiap penulisan algoritma haruslah
mengikuti aturan penulisan yang ada
yang terdiri dari 3 unsur yaitu :
1. Judul (header)
Judul adalah bagian teks algoritma
yang digunakan sebagai tempat
mendefinisikan nama dengan
menentukan apakah teks tersebut
adalah program,prosedur,fungsi.
Setelah judul disarankan untuk
menuliskan spesifikasi singkat dari
teks algoritma tersebut.Nama
algoritma sebaiknya singkat namun
cukup menggambarkan apa yang
akan dilakukan oleh algoritma
tersebut.
Contoh : Program Volume_Balok
2. Kamus (deklarasi)
Kamus adalah bagian algoritma yang
digunakan untuk mendefenisikan :
a. Nama tipe
b. Nama konstanta
c. Nama variabel
d. Nama fungsi
e. Nama prosedur
Semua nama tersebut baru dapat
digunakan di dalam algoritma jika
telah didefinisikan terlebihdahulu
didalam kamus. Penulisan
sekumpulan nama dalam kamus
sebaiknya dikelompokan menurut
jenis nama tersebut. Nama variabel
belum terdefinisikan namanya ketika
didefinisikan. Pendefenisian nama
konstanta sekaligus memberikan
harga konstanta tersebut.
Pendefinisian nama fungsi dilakukan
sekaligus dengan domain/range serta
spesifikasinya. Pendefinisian nama
prosedur sekaligus dengan
pendefenisian parameter jika ada dan
spesifikasi prosedur.
Contoh :
a. Nama tipe (bukan tipe dasar)
Typejam : <hh,mm,ss:integer>
b. Nama konstanta
Constant phi : real = 3,14
Constant nama : string = David
Constant benar : boolean = true
c. Nama informasi (menyebutkan
tipe)
X,y : integer (bilangan bulat)
Cari : boolean (suatu nilai logika)
P : point (suatu nilai bidang
kartesian)
d. Nama fungsi (sebut range dan
domain)
function RealToInt (x:real)
integer
e. Nama prosedur (sebut 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 }
3. Algoritma (deskripsi)
Algoritma adalah bagian inti dari
suatu algoritma yang berisi instruksi
atau pemanggilan aksi yanng telah
didefinisikan. Komponen teks
algoritma dalam proses procedural
berupa :
a. Instruksi dasar seperti input/
output, assignment
b. Sequence (runtutan)
c. Analisa kasus
d. Perulangan
F. Penotasian Algoritma
Sebenarnya algoritma dapat
menggunakan bahasa apa saja yang
mudah dimengerti. Akan tetapi, untuk
memudahkan dalam penyusunan
algoritma, lebih baik menggunakan
notasi-notasi yang telah digunakan
secara umum dan diketahui oleh banyak
orang.
Adapun penotasian yang banyak
dikenal orang dalam menyusun suatu
algoritma dapat dibagi menjadi 3, yaitu :
1. Kalimat Deskriptif
Merupakan kalimat atau
penotasian algoritma yang
menggunakan untaian kata
sederhana dan mudah dimengerti.
Kalimat deskriptif jarang digunakan
dalam penyusunan algoritma karena
ketidaksamaannya penggunaan
bahasa.
Contoh : Algoritma Luas_lingkaran
Deklarasi
Const phi = 3,14
Var
R : real ;
Luas_link : real ;
Deskripsi
Baca (R) ;
Jika R0 maka tulis (Data
salah)
Selain itu Luas_link= phi x R
x R
Tulis hasilnya (Luas_link)
Selesai
2. Flowchart (diagram alir)
Flowchart banyak digunakan
dalam penotasian algoritma.
Flowchart merupakan bagan-bagan
yang mempunyari arus yang
menggambarkan langkah-langkah
penyelesaian suatu masalah.Sebuah
flowchart memiliki satu titik start dan
satu titik end.Jalannya proses
digambarkan dari atas ke bawah dan
diberikan tanda panah untuk
memperjelas. Flowchart bervariasi
antara program yang satu dan yang
lainnya. Ada 2 macam Flowchart,
yaitu :
a. System flowchart
Urutan proses dalam sistem
dengan menunjukkan alat media
input, output serta jenis media
penyimpanan dalam proses
pengolahan data.
b. Program flowchart
Merupakan urutan instruksi yang
digambarkan dengan simbol
tertentu untuk memecahkan
masalah dalam bentuk suatu
program.
Flowchart memiliki banyak
simbol, yang merupakan bentuk
bentuk yang akan digunakan nanti
dalam pembuatan suatu algoritma.
Adapun simbol-simbol dalam
flowchart tersebut adalah sebagai
berikut :







3. Pseudocode (bahasa Pascal)
Pascal adalah bahasa
pemrograman yang sangat akrab di
kalangan akademisi. Tak terkecuali
kalangan akademisi di Indonesia.
Wajar saja, bahasa yang satu ini
memiliki sintaks yang bersih dan
dekat dengan bahasa manusia, dan
sebagai bahasa general purpose,
Pascal dapat digunakan mulai dari
membuat aplikasi low level sampai
aplikasi bisnis. Bahasa Pascal juga
datang dengan tipe data yang cukup
untuk membuat aplikasi tanpa
membuat programernya harus
mempelajari berbagai hal low level
lainnya.
Secara ringkas struktur tubuh
Pascal meliputi :
a. Judul Program
Digunakan untuk memberi
nama program dan bersifat
optional. Jikat ditulis harus
terletak pada awal program dan
diakhiri dengan titik koma.
Contoh : Program lat_1;
b. Bagian Pernyataan/Terproses
Bagian ini adalah bagian
yang akan terproses dan
terdapat dalam suatu blok yang
diawali dengan BEGIN dan
diakhiri dengan END (penulisan
END diikuti dengan tanda titik).
Bagian ini berisi pernyataan /
statamen yang merupakan
instruksi program. Setiap
statemen diakhiri dengan tanda
titik koma (;). Bentuk umum
bagian pernyataan adalah
sebagai berikut :
BEGIN
...
Statement;
Statement;
...
END.
c. Bagian Deklarasi
Bagian ini menjelaskan /
memperkenalkan secara rinci
semua data yang akan
digunakan pada suatu program.
Dalam penulisannya tidak boleh
sama dengan kata-kata
cadangan (reserved words) dan
selalu diakhiri dengan titik koma
(;).
Deklarasi label
Deklarasi label digunakan
Jika pada penulisan program
akan menggunakan statemen
GOTO (untuk meloncat ke
suatu statement tertentu).
Contoh :
PROGRAM cetak;
LABEL satu,akhir;
BEGIN
WRITELN('UNUD);
GOTO SATU;
WRITELN('FT');
satu:
WRITELN('TEKNIK
INFORMATIKA');
GOTO akhir;
WRITELN('2009');
akhir:
END.
Bila program di atas
dijalankan, output sbb :
UNUD
TEKNIK INFORMATIKA
Deklarasi konstanta
Deklarasi ini digunakan
untuk mengidentifikasikan
data yang nilainya sudah
ditentukan dan pasti, tidak
dapat dirubah dalam program.
Contoh :
PROGRAM
CETAK_2(OUTPUT);
CONST a = 64; (* selalu
menggunakan tanda = *)
b = 'INDONESIA Merdeka';
BEGIN
WRITELN(a,' TAHUN ');
WRITELN(b);
END.
Bila program dijalankan,
output sbb :
64 tahun
INDONESIA Merdeka
Deklarasi Tipe
Deklarasi ini digunakan
untuk menyebutkan tipe
setiap data yang akan
digunakan pada program
Pascal.Tipe data menentukan
jangkauan nilai yang mungkin
dari data yang digunakan.
Contoh :
PROGRAM SATU;
TYPE bulat = INTEGER;
hasil,pecahan = REAL;
ket = STRING[20];
BEGIN
pecahan := 2.52;
bulat := 2;
hasil := pecahan + bulat;
ket := 'hasil penjumlahan = ';
WRITE(ket,hasil:4:2);
END.
Output program, sbb : hasil
penjumlahan = 4.52
Deklarasi Variabel/Peubah
Deklarasi ini berisi data-
data yang bisa berubah-ubah
nilainya di dalam program.
Deklarasi variabel harus di
letakkan setelah deklarasi tipe
(jika ada).
Contoh :
VAR satu : INTEGER;
dua : INTEGER;
a : REAL;
b : REAL;
BEGIN
satu := 5;
dua := 4;
a := 2.3;
b := 5+4*2.3; { hasil real }
WRITE('hasil = ',b:4:1)
END.
Output program : hasil = 14.2
Deklarasi Prosedur
Program dapat dibagi
menjadi beberapa
bagian/subprogram, yang
terdiri dari satu program
utama dan satu / lebih
program bagian (bisa berupa
prosedur / fungsi). Deklarasi
prosedure/ fungsi terletak
pada subprogram yang
menggunakannya.
Salah satu unsur dari struktur
Pascal adalah statemen. Statemen
adalah perintah untuk pengerjaan
program Pascal. Statemen terletak di
bagian deklarasi statemen dengan
diawali oleh kata cadangan BEGIN
dan diakhiri oleh END. Statemen-
statemen tersebut terdiri dari
statemen yang membentuk
penghitungan aritmatik, statemen
yang digunakan untuk memasukkan
input/output, statemen yang
digunakan untuk memanipulasi data,
statmen yang digunakan untuk
memanipulasi string, statemen yang
digunakan untuk pengaturan letak di
layer, statemen untuk transfer nilai
dari suatu variabel, dan statemen-
statemen tambahan yang berupa
warna, huruf, dan sebagainya.