You are on page 1of 13

Algoritma dan pemograman menggunakan

bahasa Pascal (PART 1)


Pendahuluan

Sebelum beranjak kepada pembahasan tema apa itu Algoritma, sebaiknya kita mengenok terlebih dahulu kepada
bentuk-bentuk permsalahan dan tata cara, aturan main dan mekanisme penyelesaiannya yang senantiasa terjadi
dalam kehidupan kita sehari-hari.

Dalam kehidupan kita sehari-hari, beragam permasalahan senantiasa muncul ditengah-tengah hiruk pikuk aktivitas
kita. Ambil contoh sederhana dalam menyelesaikan permasalahan mendasar kehidupan manusia, yaitu
menghilangkan rasa lapar dengan makan. Kita senantiasa mengetahui bahwasyahnya lapar merupakan suatu
indikasi permasalah diri yang mesti kita cari bagaimana menyelesaikannya, kita tahu bahwa lapar merupakan salah
satu bentuk dari kekurangan diri maka apa dan bagaimana bentuk dalam menyempurnakannya.

Kita sekarang tahu bahwa lapar adalah permasalahannya dan makan merupakan solusinya. Untuk mencapai solusi
kita mesti tahu bahwa solusi yang hendak dikejar merupakan suatu bentuk penyelesaian yang dapat memberikan
efek terhadap hilangnya suatu permasalahan dan menimbulkan suatu hal baru dari kebalikan dari rasa lapar itu
sendiri yaitu rasa kenyang. Jika saja makan sebagai suatu solusi tidak dapat memberikan efek menghilangkan rasa
lapar dan menimbulkan rasa kenyang, maka makan yang kita anggap sebagai solusi itu merupakan suatu kekeliruan,
atau jika makan memang merupakan solusi yang sebenarnya berarti ada suatu mekanisme yang salah dalam
mencapai dan melakukan makan tersebut, misal makan ditunjukan untuk aktivitas memakan makanan yang dapat
memberikan nutirisi pada tubuh bukan makanan asal yang dimana keadaan tubuh tetap kekurangan nutrisi sehingga
saraf-saraf yang ada pada tubuh tetap memberikan sinyal kepada otak bahwa tubuh kekurangan nutrisi dan tetap
menimbulkan rasa lapar. Atau kita keliru dalam melakukan langkah pencapaian dalam menemukan makanan
sehingga yang kita temukan hanyalah minuman, maka aktivitas makan tetap tidak dapat kita laksanakan.

Untuk kasus yang lain dalam menujukan bahwa bukan hanya mekanisme dalam pencapaian dan menjalankan solusi
yang ada dapat menjadi kekeliruan tetapi juga dari penujukan solusi yang diharapkan. Misal kita tahu bahwa kita
sedang lapar maka merokok adalah solusinya, contoh lain ketika seseorang mengetahui dirinya tertolak dalam
melamar suatu pekerjaan maka meminum minuman keras lah solusinya, atau kita tahu bahwa dilingkungan kita
terjadi suatu praktek ketidak adilan dan kita tahu bahwa ketidak adilan merupakan suatu kekeliruan yang berefek
tidak baik maka bersabar dan beribadah sajalah solusinya?.

Nah Algoritma dalam dunia pemograman sebenarnya dapat dimengerti keberadaannya dari gambaran peristiwa
diatas, dimana Algoritma ini hadir sebagai suatu bentuk jiwa dan kerangka dari struktur program guna memenuhi
kebutuhannya mulai dari penujukan dan pencapaian-pencapaian hasil yang diharapkan dari keberadaan progam itu
sendiri.

Pengertian Algoritma dan Pemograman

Secara bahasa atau etimologis, jika kita cari asal-usul kata dari Algoritma yaitu Algorism, yang berarti proses
menghitung dengan angka Arab. Sedangkan kata Algorist dikenakan bagi seseorang yang ahli dalam menggunakan
perhitungan dengan angka Arab. Menurut sejarah perjalanan matematik, kata Algorism didapat dari penulis buku
Arab terkenal yaitu Abu Ja’far Muhammad ibnu Musa al-Kuwarizmi. Dalam buku yang berjudul Kitab al
jabr w’almuqabala atau “Buku Pemugaran dan Pengurangan” (The book of restoration and reduction).

Karena penggunaan kata Algorism sering di salah artikan dalam dunia matematik dengan penggunaan kata
Arithmetic, maka –sm berubah menjadi –thm yaitu menjadi Algorithm. Dalam bahasa Indonesia, kata
Algorithm diserap menjadi Algoritma. Secara istilah atau termonologis, menurut buku Kamus Besar Bahasa
Indonesia terbitan Balai Pustaka 1988, dikatakan bahwa Algoritma adalah urutan logis pengambilan keputusan
untuk pemecahan masalah.

Dengan uraian dari pengertian diatas, maka kita dapat mendefinisikan Algoritma sebagai metoda atau urutan dari
langkah-langkah yang logis dalam penyelesaian suatu masalah dan tersusun secara sistematis.

Keberadaan Algoritma didalam dunia informatika atau ilmu komputer dinilai sangatlah penting. Banyak cabang dari
ilmu komputer yang diacu ke dalam termonolgi Algortima ini. Secara umum, pemroses (Processor) merupakan
pihak yang melakukan suatu proses dengan melaksanakan atau mengeksekusi Algoritma yang terdefinisikan dan
terjabarkan didalam proses tersebut. Adapun pihak-pihak yang dapat dikatakan pemroses secara umum dapat berupa
manusia, mesin, robot, komputer dan alat-alat mesin lainnya.

Algoritma harus dibuat secara benar dan dituangkan ke dalam bahasa yang dapat dimengerti oleh pemroses, karena
pemroses mesti melakukan urutan langkah secara pasti dan benar terhadap Algortima. Selain itu agar penyelesaian
permasalahan yang sesuai dapat terjadi, dari sudut pandang pemroses setidaknya ada beberapa hal yang mesti
diperhatikan yaitu pemroses mesti memahami setiap langkah dalam Algoritma dan pemroses harus dapat
mengerjakan operasi yang bersesuaian dengan langkah tersebut.

Algoritma yang dituangkan ke dalam bahasa tertentu (notasi) yang dapat dimengerti oleh pemroses dapat dikatakan
sebagai program. Adapun notasi yang dimaksud merupakan suatu bahasa pemograman tertentu. Dengan kata lain
program merupakan implementasi dari Algoritma. Sedangkan dalam melakukan pemograman senantiasa melibatkan
data maka dapat dikatakan secara simbolik program = Algoritma + struktur data.

Perlu diperhatikan, bahwa ada perbedaan secara mendasar antara apa itu belajar memogram dengan belajar bahasa
pemograman. Belajar memogram berarti belajar bagaimana membuat atau menentukan suatu strategi, metodologi,
tata cara, dan sistematika pemecahan permasalahan. Dalam belajar memogram diperlukan adanya pemahaman
terhadap persoalan yang ditunjuk, kemampuan analisis dan sintesis. Secara komprehensif belajar memogram identik
dengan mendesain program. Adapun belajar bahasa pemograman, ialah belajar untuk dapat menggunakan suatu
bahasa pemograman tertentu diantara lain mempelajari aturan, sintaksis, dan pemanfaatan intruksi-intruksi spesifik
(key word) bawaan. Belajar bahasa pemograman lebih ditekankan ke coding.

Aturan Pembuatan  Algoritma

Menurut Donald E Knuth[1] Algoritma harus memiliki ciri-ciri sebagai berikut:

1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah-langkah yang telah ditentukan.
2. Setiap langkah yang telah ditentukan harus terdefinisi dengan jelas dan tepat sehingga tidak mempunyai
arti ganda.
3. Algoritma dapat mempunyai nol atau lebih masukan.
4. Algoritma dapat mempunyai nol atau lebih keluaran.
5. Algoritma harus efektif dan sedeherna sehingga dapat dikerjakan dengan waktu yang rasional.

Algoritma dalam urutan aksinya harus menekankan kepada setiap kejadian yang terjadi pada selang waktu tertentu
(terbatas) yaitu dimulai saat T0 (Initial State/ Keadaan Awal) dan berakhir pada T1 (Final State/ Keadaan Akhir)
serta menghasilkan efek netto yang terdefinisi dengan baik dan sesuai dengan apa yang direncanakan sejak awal.

Seperti yang dapat kita simpulkan bahwa pemograman merupakan aktivitas dalam menulis Algoritma yang
dituangkan ke dalam notasi / bahasa pemograman tertentu yang dapat dimengerti oleh komputer. Langkah-langkah
dalam pemograman setidaknya meliputi:

1. Mendefinisikan masalah, tahapan ini kita masih dalam mencari permasalahan yang hendak dipecahkan
dengan mempertimbangkan sumber daya (resource) yang ada dan hasil yang kita inginkan.
2. Menentukan solusi, dari pendefinisian masalah diatas maka menentukan bagaimana pemecahannya dengan
tetap mempertimbangkan ketepatan dalam pencapaian sasaran dan penggunaan waktu yang dibutuhkan.
3. Memilih Algoritma, ketika tahapan ini kita harus dapat membuat dan menentukan mana Algoritma yang
paling sesuai yang dapat kita terapkan dalam pemecahan permasalahan yang ada.
4. Menulis program, dari Algoritma yang ada maka kita tinggal menuangkannya kedalam bahasa
pemograman tertentu yang kita gunakan.
5. Menguji program, tahap ini diperlukan untuk mengetahui kesesuaian dan ketepatan dengan tujuan awal.
Tahap ini memberikan beberapa kasus permasalahan yang diuji cobakan terhadap jalannya program dengan
melihat aspek-aspek dari masukan (input), langkah-langkah penyelesaian dan keluaran (output).
6. Menulis dokumentasi, tahapan ini dapat dilakukan sejak awal bersamaan dengan aktivitas penulisan
program. Penambahan komentar pada setiap blok program atau sintaks program tertentu diperlukan untuk
kemudahan dalam perbaikan dan pengembangan program. Selain memberikan komentar dalam kode
program, dokumentasi juga ditunjukan untuk pembendaharan dan penjelasan dari masing-masing keyword,
icon, fungsi atau prosedure program yang kita buat ataupun tatacara penggunaan dari masing-masing
perintah dalam penggunaan program. Dokumentasi dapat berupa tools helper ataupun hand out petunjuk
penggunaan program.
7. Merawat program, tahapan ini merupakan runtinitas yang dilakukan oleh pemogram atau user end. Jika
pemogram melakukannya dengan cara mencari kemungkinan BUG yang ada dan memperbaikinya maka
end user melakukannya dengan cara menggunakan program sesuai dengan petunjuk dan batasannya
ataupun restore program (restore, backup data, install ulang, dll).

Pemodelan Algoritma

Pemodelan Algoritma merupakan aktivitas dalam mengilustrasikan jalannya suatu alur Algoritma dalam program
dengan menggunakan simbol dan aturan-aturan tertentu. Ada tiga tipe pemodelan, yaitu:

1. Flowcharts
2. Nassi Scheniderman (Ns Diagram), dan
3. Pseudecode

Dari ketiga model diatas, model terakhir yaitu pseudecode lah yang amat banyak digunakan dan populer dikalangan
para pemrogramam, khususnya di Indonesia. Hal itu dapat terlihat di hampir semua perguruan tinggi atau sekolah
menggunakan pemodelan algoritma Pseudecode dalam melakukan pendekatan terhadap code. Di dalam
pembelajaran ini pun kita menggunakan pemodelan Pseudecode.

Pseudecode

Pseudecode adalah pemodelan algoritma dengan menggunakan kode yang mirip dengan kode pemograman yang
sebenarnya, seperti BASIC, PASCAL, C, dan lain-lain. Secara bahasa, Pseudecode berasal dari kata Pseudo yang
artinya mirip atau imitasi atau menyerupai. Dan akar kata kedua yaitu Code yang berarti program.

Ada beberapa bagian algoritma di dalam Pseudecode, yaitu :

1. Judul (Header)
2. Deklarasi (Kamus)
3. Deskripsi

Pada setiap bagian tersebut dapat kita berikan dokumentasi berupa komentar. Untuk memberikan komentar kita
gunakan kurung kurawa contoh {komentar}. Notasi algoritmis yang ditulis didalam kurung kurawa {} maka tidak
akan dieksekusi oleh compiler.

Judul (Header)
Judul merupakan bagian kepala yang berisi nama algoritma dan penjelasan spesifik mengenai algoritma tersebut
seperti cara kerja, kondisi awal dan kondisi akhir.

Contoh:

Program Perkenalan; {Judul/Header Program}

{ mencetak String “Hallo, nama saya Pascal!”, “Boleh kita berkenalan, Siapa nama kamu?”, “Oh!,
TheName. Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa Pascal” ke piranti keluaran
(monitor). Dan menerima inputan sebuah nama (TheName)dari user.}

Deklarasi (Kamus)

Bagian ini merupakan ruang untuk mendefinisikan beberapa komponen data (type data, konstanta), variabel, fungsi
dan prosedure.

Contoh:

{Deklarasi/Kamus}

TheName:String; {variabel penampung inputan bertipe data String}

Deskripsi

Bagian yang berisi uraian langkah-langkah penyelesaian masalah.  Deskripsi merupakan bagian inti dari algoritma,
biasa berisi intruksi-intruksi penyelesaian dan pemanggilan aksi tertentu yang sudah didefinisikan.

Contoh:

{Deskripsi}

Output(‘Hallo, nama saya Pascal!’);

Output(‘Boleh kita berkenalan, Siapa nama kamu?’);

Input(TheName);

Output(‘Oh! ’,TheName ,‘. Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa
Pascal’);

Dalam pembelajaran ini, notasi algoritma yang kita buat dengan model pseudecode akan kita konversikan ke dalam
bahasa pemograman Pascal. Sebelum beranjak lebih jauh dan untuk mempermudah pelajaran selanjutnya, sebaiknya
kita bahas dulu apa itu bahasa pemograman Pascal.

Bahasa pemograman Pascal, penamaan Pascal di ambil dari sebuah nama guru besar di Francis yaitu Blaise Pascal.
Pascal termasuk ke dalam kategori bahasa pemograman prosedural yaitu suatu bahasa pemograman yang
impelemtasinya berdasarkan kepada penyelesaian permasalahan yang mengandalkan langkah terurut dari beberapa
fungsi dan prosedure program yang di definisikan. Kelemahan kategori ini akan terlalu banyak melibatkan coding
dalam penggunaan fungsi dan prosedure dalam satu medan kerja untuk permasalahan yang kompleks dan sulit
dalam pemeriksaan lebih lanjut terhadap pengembangan code-nya. Namun kemudahan bahasa pemograman ini jika
dibandingkan dengan bahasa pemogaman non-prosedural lainnya ialah mudah untuk dipelajari, khususnya bagi para
pemula dalam mempelejari dan mengenal apa itu bahasa pemograman.
Struktur Pascal terdiri dari beberapa bagian yang dimana tiap bagiannya sama dengan bagian-bagian yang dimiliki
oleh Algoritma-Pseudecode. Adapun struktur Pascal yang dimaksud yaitu:

1. Programe name dan Processor directive yang sama dengan judul program pada pseudecode, namun untuk
processor directive adalah key word wajib yang mesti dipanggil paling awal pada saat program di buat dan
dijalankan. Processor directive ini mengacu kepada library bawaan Pascal untuk melakukan standar baku
pemograman, misal wincrt, crt, graphic dan lain-lain.
2. Global variabel block merupakan kamus atau deklarasi dalam pseudecode.
3. Main procedure dan Main procedure code merupakan deksripsi dalam pseudecode.

Jika secara sederhana template dari struktur pascal tampak sebagai berikut:

{ Program name }

PROGRAM my_program_1;

{ Preprocessor directives }

USES crt;

{ Global Variable Block }

VAR

Int_var : Integer;

String_var : String;

Any_var : Real;

{ Main Procedure }

BEGIN

{ Main procedure code }

END.

Contoh konversi pseudecode program perkenalan ke pascal

Pseudecode

Program Perkenalan; {Judul/Header Program}

{Deklarasi/Kamus}

TheName:String; {variabel penampung inputan bertipe data String}

{Deskripsi}
Output(‘Hallo, nama saya Pascal!’);

Output(‘Boleh kita berkenalan, Siapa nama kamu?’);

Input(TheName);

Output(‘Oh! ’,TheName ,‘. Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa
Pascal’);

Pascal

{judul program}

PROGRAM perkenalan;

USES crt;

{ Deklarasi }

VAR

TheName : String;

{ Deskripsi }

BEGIN

Writeln(‘          Program Perkenalan          ‘);

Writeln(‘======================================’);

Writeln;

write(‘Hallo, nama saya Pascal!’); {write: keyword keluaran}

writeln; {writeln: keyword keluaran dengan satu enter ke bawah}

writeln(‘Boleh kita berkenalan, Siapa nama kamu?’);

read(TheName); {read: keyword untuk masukan}

writeln(‘Oh! ’,TheName ,‘. Selamat Belajar Algoritma dan Pemrograman Menggunakan Bahasa
Pascal’);

readln; {readln: keyword masukan dengan satu enter ke bawah}

END.

LATIHAN
 Program Konversi Suhu Farenhit ke Celcius

Pseudecode

{nama program}

Program Konversi_Suhu;

{kamus}

{nama tetapan}

Const k=5/9; {k: konstanta farenhit}

Const kh=32; {kh: konstanta suhu}

{nama variable}

var f,c:real;

{Deskripsi}

Input(f);

c:=k*(f-kh);{proses konversi}

Output(c);

Pascal

Program Konversi_Suhu;

Uses WinCrt;

Const k=5/9;

Const kh=32;

var f,c:real;

begin

Writeln(‘Program Konversi Fareinheit Ke Celcius’);

Writeln(‘======================================’);

Writeln;
Write(‘Masukan Suhu dalam Farenheit: ‘);readln(f);

c:=k*(f-kh);

Writeln;

Writeln(‘Jadi Suhu Dalam Celcius Adalah: ‘,c:4:2);

readln;

end.

 Program Konversi Waktu (Jam ke Detik)

Pseudecode

{nama program}

Program Konversi_Waktu;

{kamus}

j,m,d,h:integer;

{deskripsi}

Input(j); {jam}

Input(m); {menit}

Input(d); {detik}

h:=(j*3600)+(m*60)+d; {proses konversi}

Output(h); {detik akumulatif hasil konversi}

Pascal

Program Konversi_Waktu;

Uses Wincrt;

Var j,m,d,h:integer;

begin
Writeln(‘Program Konversi Waktu’);

Writeln(‘======================’);

Writeln;

Write(‘Masukkan Jumlah Jam : ‘);readln(j);

Write(‘Masukkan Jumlah Menit : ‘);readln(m);

Write(‘Masukkan Jumlah Detik : ‘);readln(d);

Writeln;

h:=(j*3600)+(m*60)+d;

Writeln(‘Jadi Hasil Konversi : ‘,h,’ Detik’);

readln;

end.

 Program Menukar Nilai

Pseudecode

{nama program}

Program Menukar_Nilai;

{kamus}

var A,B,C:integer;

{deskripsi}

Input(A);

Input(B);

{proses tukar}

C:=A;

A:=B;

B:=C;
Output( A,B);

Pascal

Program Menukar_Nilai;

Uses WinCrt,WinDos;

var A,B,C:integer;

Begin

Clrscr; {keyword untuk membersihkan layar}

Writeln(‘Program Menukar Nilai A Menjadi B’);

Writeln(‘=================================’);

Writeln;

Write(‘Masukkan Nilai A: ‘);readln(A);

Write(‘Masukkan Nilai B: ‘);readln(B);

Writeln;

C:=A;

A:=B;

B:=C;

Writeln;

Writeln(‘Hasil A=’,A,’ B=’,B);

readln;

End.

 Program Hitung Karakter (Nama)

Pseudecode

{nama program}
PROGRAM Hitung_Karakter;

{kamus}

nama    : string;

namalen : integer;

{deskripsi}

input (nama);

namalen := length(nama); {length: keyword untuk hitung karakter}

output (nama, namalen);

Pascal

PROGRAM Hitung_Karakter;

USES crt;

VAR

nama    : string;

namalen : integer;

BEGIN

clrscr;

Writeln(‘Program Hitung Karakter’);

Writeln(‘=================================’);

Writeln;

write (‘Masukan nama Anda? ‘);

readln (nama);

namalen := length(nama); {length: keyword untuk hitung karakter}

writeln (‘Nama ‘, nama,’ memiliki panjang karakter ‘, namalen);

readln;
END.

 ‘Program Konversi Teks ke Uper ke Lower

Pseudecode

{nama program}

PROGRAM convert_uper_lower;

{kamus}

text : string;

i    : integer;

{deskripsi}

input (text);

{proses uper}

text := upcase(text); {upcase: keyword untuk upercase karakter}

output(text);

{proses lower}

text:= lowercase(text);

output(text);

Pascal

PROGRAM convert_uper_lower;

USES crt;

VAR

text : string;

i    : integer;

BEGIN

clrscr;
Writeln(‘Program Konversi Teks ke Uper ke Lower’);

Writeln(‘=======================================’);

Writeln;

write (‘Masukan sebuah kalimat ‘);

readln (text);

text := upcase(text);

writeln (‘Uppercase dari kalimat tersebut adalah: ‘);

write (‘  ‘, text);

readln;

text:= lowercase(text);

writeln (‘lowercase dari kalimat tersebut adalah: ‘);

write (‘  ‘, text);

readln;

END.

You might also like