Anda di halaman 1dari 11

Pengantar dalam Bahasa Pemrograman

Turbo Pascal
Penulis:
William
www.etersoul.com
Computer Club of Bunda Hati Kudus
SMA Bunda Hati Kudus
Pengantar Bahasa Pemrograman Pascal Page 1 / 11
License Agreements
Sebelum anda membaca isi dari buku digital (e-book) ini, anda harus membaca dengan
baik dan menyetujui seluruh isi dari persetujuan lisensi (License Agreements) yang dimuat
di halaman ini.
Seluruh materi yang ada di dalam e-book ini merupakan hak cipta dari penulis. Walau
demikian isi dari e-book ini dapat dicetak dan didistribusikan dalam bentuk hard copy
melalui media printing atau fotocopy. endistribusian dari e-book ini harus melampirkan
setiap halaman yang ada di dalam e-book, termasuk pula halaman License Agreements ini.
!si dari buku ini tidak boleh diubah tanpa persetujuan dari penulis. enulis harus
mengetahui setiap perubahan yang akan dibuat oleh pihak ketiga terhadap isi e-book ini.
"elalui lisensi ini penulis hanya ingin para pembaca menyadari betapa sakitnya bila karya
yang telah dibuat oleh penulis-penulis (termasuk penulis yang lain) dibajak oleh orang-
orang tak bertanggung ja#ab sehingga penulis tersebut tidak mendapat credit atau
penghargaan atas karyanya sendiri.
Selain hal di atas, pembaca juga harus menyetujui paling tidak $ hal dari % hal yang ada di
ba#ah ini&
'. embaca setuju untuk mengurangi penggunaan kendaraan pribadi sebanyak $()
atau lebih.
*. embaca setuju untuk menghemat listrik dalam kegiatan sehari-hari.
$. embaca setuju untuk menghemat penggunaan air dalam kegiatan sehari-hari.
+. embaca setuju untuk membuang sampah pada tempat yang benar. &)
%. embaca setuju untuk membuat suatu karya digital sebagai bentuk dukungan
terhadap ,omptius dan mungkin akan diperlombakan.
-ila anda tidak menyetujui isi dari ,opyright License, anda dapat segera menutup e-book
ini. Lisensi ini hanya berlaku untuk karya yang dibuat oleh William.
Pengantar Bahasa Pemrograman Pascal Page 2 / 11
Pengenalan Pascal
ascal merupakan salah satu bahasa pemrograman tingkat tinggi. emrograman tingkat
tinggi menandakan bah#a ascal banyak menggunakan bahasa manusia dalam penulisan
sintaksnya.
-eberapa bahasa pemrograman tingkat tinggi lainnya yang ada yaitu -AS!, dan ./L0!.
Sedangkan bahasa pemrograman tingkat rendah yaitu bahasa pemrograman yang masih
banyak menggunakan tanda-tanda sehingga bahasa ini cenderung lebih 1kotor2. -eberapa
bahasa pemrograman tingkat rendah yang sering digunakan adalah ,, ,33 dan 4a5a.
"ari kita melihat perbedaan antara bahasa ascal dan , untuk pembanding dalam sintaks
yang digunakan&
PASCAL
uses crt;
var a : integer;
begin
clrscr;
writeln('Masukkan nilai antara 0 sampai 100 : ');
readln(a);
if a > 5 then begin
writeln('ilai a lebih besar dari 5');
writeln('!ekan sembarang t"mb"l untuk keluar');
end
else begin
writeln('ilai a lebih kecil atau sama dengan 5');
writeln('!ekan sembarang t"mb"l untuk keluar');
end;
readke#;
end$
C
%include &stdi"$h>
%include &c"ni"$h>
int a;
v"id main() '
clrscr();
printf((Masukkan nilai antara 0 sampai 100 : ();
scanf(()d*+ ,a);
if (a > 5) '
printf((ilai a lebih besar dari 5-n!ekan sembarang t"mb"l untuk keluar*);
. else '
Pengantar Bahasa Pemrograman Pascal Page 3 / 11
printf((ilai a lebih kecil atau sama dengan 5-n!ekan sembarang t"mb"l
untuk keluar*);
.
getch();
.
.ua penggalan program di atas akan menghasilkan program yang sama persis yaitu
meminta sebuah input berupa angka antara ( sampai '((. 6emudian sebuah tulisan akan
muncul tergantung dari nilai input yang dimasukkan.
.ari * bahasa tersebut, dapat dilihat bah#a dalam bahasa ascal lebih sederhana dan
lebih banyak menggunakan bahasa manusia. Sedangkan dalam bahasa ,, lebih banyak
penggunaan simbol.
7urbo ascal dan , merupakan program compiler. ,ompiler sendiri berarti program
yang menerjemahkan tulisan berupa kode program menjadi bahasa mesin yang dapat
dimengerti oleh komputer. roses yang dilakukan disebut compile atau compiling. Suatu
program dapat di-compile dengan menggunakan kombinasi tombol Alt 3 89. Sedangkan
untuk menjalankan program, tombol yang dapat digunakan adalah ,trl 3 89. -ila selama
proses compile terdapat error atau kesalahan dalam penulisan program, maka 7urbo
ascal atau , akan memberitahukan letak kesalahan tersebut sehingga pengguna dapat
memperbaikinya di halaman editor.
7urbo ascal merupakan bahasa yang case insensiti5e yang berarti penulisan dalam huruf
kapital maupun huruf kecil tidak dipermasalahkan. Akan tetapi pada , yang case sensiti5e,
maka penulisan huruf kapital atau kecil harus benar-benar diperhatikan.
:ntuk pembahasan berikutnya, kita akan menggunakan program 7urbo ascal dengan
bahasa pemrograman ascal sebagai pengantar contoh. erlu diingat bah#a bila anda
telah menguasai satu bahasa pemrograman, maka anda akan dengan cukup mudah
berpindah ke bahasa pemrograman lainnya selama anda memiliki dasar algoritma dan
logika yang baik. ;leh sebab itu, pada pembahasan yang selanjutnya, yang akan
ditekankan adalah algoritma dan logika, bukan sintaks dan function < procedure yang
terdapat dalam 7urbo ascal. 8unction atau procedure yang telah disediakan oleh 7urbo
ascal dapat anda pelajari sendiri penggunaannya melalui 0elp yang terdapat di 7urbo
ascal.
Pengantar Bahasa Pemrograman Pascal Page 4 / 11
Struktur kode
ada setiap kode pemrograman, terdapat aturan yang harus dipatuhi agar program
tersebut dapat menjalankan (compile) suatu program dengan baik tanpa error. Struktur
utama pada 7urbo ascal adalah sebagai berikut.
pr"gram $$$ ; 'deklarasi nama pr"gram.
uses $$$ ; 'deklarasi penggunaan unit.
label $$$ ; 'deklarasi label.
c"nst $$$ ; 'deklarasi k"nstant.
t#pe $$$ ; 'deklarasi tipe data.
var $$$ ; 'deklarasi variabel.
pr"cedure $$$ ; 'deklarasi pr"cedure.
functi"n $$$ ; 'deklarasi functi"n.
begin
statement; 'pr"gram ditulis di sini.
$$$
end$
7ulisan yang diapit oleh tanda kurung kura#al => adalah comment dan tidak dianggap
sebagai bagian program ketika di-compile oleh compiler. ada baris pertama, anda dapat
mendeklrasikan nama program. :mumnya untuk mengefisiensikan pengerjaan suatu
program (khususnya pada lomba), baris pertama dapat diacuhkan atau dile#atkan.
-aris kedua yaitu 1:S/S2 merupakan deklarasi penggunaan unit dalam 7urbo ascal. :nit
merupakan bagian dari program yang berisi kumpulan function dan procedure. ,ontoh
fungsi yang banyak digunakan adalah CRT, dengan function yang terdapat di dalamnya
yaitu clrscr dan readkey. Anda dapat menjalankan suatu program tanpa menggunakan
:S/S, akan tetapi anda hanya dapat menggunakan function dan procedure yang sudah
terkandung secara nati5e dalam 7urbo ascal. ,ontohnya anda tidak dapat menggunakan
clrscr atau readkey tanpa ,?7, tetapi bisa menggunakan #riteln dan readln tanpa ,?7
tersebut karena ,?7 merupakan unit untuk pengolahan output ke layar dan input dari
keyboard.
Label digunakan bersamaan dengan key#ord GOTO. @;7; sendiri jarang digunakan
karena tidak efisien dan cenderung membingungkan penggunanya.
,onst digunakan untuk mendeklarasikan suatu konstan. 6onstan merupakan suatu
key#ord yang memiliki nilai tertentu. "isalnya bila anda mendeklrasikan ! sebagai $.'+,
maka ketika anda menggunakan ! pada baris program, ! akan digantikan dengan $.'+.
7ype digunakan untuk mendeklarasikan suatu tipe data baru dari tipe data yang sudah ada
Pengantar Bahasa Pemrograman Pascal Page 5 / 11
sebelumnya. -erguna ketika harus menggunakan pointer.
Aar digunakan untuk mendeklarasikan suatu 5ariabel. Aariabel yang dideklarasikan harus
memiliki tipe data tertentu. enjelasan dalam penggunaan 5ariabel akan dibahas di bagian
berikutnya.
rocedure dan function merupakan sub-program. rocedure tidak mengembalikan
nilai, sedangkan function mengembalikan nilai. rocedure dan function mengandung
suatu penggalan program yang dapat dipanggil oleh program utama atau sub-program
yang lainnya. -ila anda belum mengerti maksud dari 1mengembalikan nilai2 maka anda
dapat membayangkan bah#a hasil dari function dapat dimasukkan ke dalam suatu
5ariabel atau menghasilkan suatu nilai, sedangkan procedure hanya menjalankan suatu
potongan program. ,ontoh procedure adalah #riteln dan clrscr karena kedua procedure
tersebut tidak mengembalikan nilai apapun. Sedangkan contoh function adalah 1sBrt2
yang akan mengembalikan nilai berupa akar kuadrat dari bilangan yang dimasukkan.
Sebagai informasi: 1procedure2 adalah istilah yang digunakan pada ascal. ada bahasa
pemrograman yang lainnya, biasa disebut 1function yang tidak mengembalikan nilai2 atau
15oid function2.
rogram utama yang akan dijalankan oleh 7urbo ascal dapat ditulis diantara -/@!C
sampai dengan /C..
Variael dan ti!e data
7erdapat beberapa tipe data yang dapat dipergunakan dalam suatu 5ariabel, di antaranya
adalah (beserta range yang dapat diterima)&
!nteger
!nteger (-*D'% sampai *D'%), #ord (( sampai *D'E), shortint (-*DF sampai *DF), byte ((
sampai *DF), longint (-*D*$ sampai *D*$)
8loat < ?eal
?eal (E byte), singel (+ byte), double (G byte), eHtended ('( byte), comp (G byte)
-oolean
-ernilai 7?:/ atau 8ALS/ (' atau ()
,har
"erupakan integer yang telah dikon5ersikan ke kode AS,!!.
Pengantar Bahasa Pemrograman Pascal Page " / 11
Array
"erupakan deretan suatu 5ariabel yang bertipe data sama. embahasan yang lebih
lengkap akan terdapat di bagian tersendiri. String merupakan array dari char.
Algoritma dasar
ada dasarnya terdapat beberapa algoritma yang harus dikuasai dalam pemrograman
yaitu&
'. ;perator
*. !nput<output& -agaimana meminta suatu input dan menampilkan suatu output.
$. Selection& -agaimana membuat program yang dapat memilih bagian yang akan
dijalankan.
+. ?epetition < looping& -agaimana membuat program yang dapat mengulang suatu
bagian program yang dijalankan.
#angkuman o!erator
.alam bahasa pemrograman, sebuah proses dibagi menjadi * yaitu operand dan operator.
;perand dapat berupa 5ariabel atau nilai. Sedangkan operator merupakan tanda-tanda
yang dipakai untuk mengolah.
7erdapat banyak jenis operator, tapi + jenis yang perlu dipelajari untuk saat ini adalah
assignment operator, arithmatic operator, comparison operator, logical operator.
Assignment operator ditandai dengan :=, dan digunakan untuk memberi nilai ke suatu
5ariabel.
Aritmatic operator ditandai dengan !, ", #, $, di%, mod& .igunakan untuk
pengolahan nilai matematika.
Comparison " Relational operator ditandai dengan =, ', (, '=, (=, '(, dan !C.
.igunakan untuk perbandingan * nilai sehingga menghasilkan nilai true dan false.
Logical operator ditandai dengan AC., ;?, I;? dan C;7. .igunakan untuk
perbandingan logika antara dua pernyataan atau lebih.
Penting: penggunaan J dan &J harus diperhatikan karena penggunaan operator ini
terkadang salah tempat.
$n!ut %ut!ut&
7erdapat * jenis input<output secara umum yaitu layar<keyboard dan file.
Pengantar Bahasa Pemrograman Pascal Page ' / 11
!nput menggunakan readln() dan read(). .alam penggunaan melalui keyboard, kedua
procedure ini tidak berbeda. Akan tetapi bila input berasal dari file, kedua procedure akan
berbeda dalam mengambil input. ?eadln() akan mengambil input dalam suatu baris,
kemudian cursor akan dipindahkan ke baris selanjutnya. ada read() akan mengambil
input dalam suatu baris, kemudian cursor akan dipindahkan ke sebelah bagian yang
diinput. -ila tidak ada lagi bagian yang dapat diinput, maka cursor baru dipindah ke
ba#ah.
;utput menggunakan #riteln() dan #rite(). enggunaannya hampir sama dengan yang
read() dan readln(). ada #riteln dan #rite, keduanya akan berpengaruh baik di file
maupun di layar.
Conto program:
uses crt;
var a+b: integer;
begin
clrscr;
write('Masukkan bilangan antara 1 / 100: ');
readln(a);
b:0 a 1 2;
writeln('3ilangan #ang dimasukkan adalah '+ a);
writeln('3ilangan setelah dikali 2 adalah '+ b);
readke#;
end$
#angkuman Selection
Selection merupakan salah satu proses program di samping seBuential (pengerjaan secara
berurut) dan repetition < looping. .alam selection, program akan memilih bagian yang
akan dijalankan (sehingga terdapat bagian yang tak dijalankan).
:mumnya selection menggunakan !8 ... 70/C ... /LS/ ..., akan tetapi terdapat pula ,AS/
... ;8. enggunaan !8 lebih umum digunakan bila terdapat pilihan yang tidak terlalu
banyak dan eksekusi baris program yang panjang.
-lok pertama untuk !8 dijalankan bila condition yang digunakan bernilai 7?:/,
sedangkan blok /LS/ dijalankan bila nilai conditionnya adalah 8ALS/.
Contoh:
uses crt;
var bil1+ bil2: integer;
begin
clrscr;
write('Masukkan bilangan 1 : ');
readln(bil1);
write('Masukkan bilangan 2 : ');
readln(bil2);
Pengantar Bahasa Pemrograman Pascal Page ( / 11
if bil1&bil2 then begin
writeln('3ilangan 1 lebih kecil');
end
else begin
writeln('3ilangan 2 lebih kecil');
end
readke#;
end$
enggunaan !8 dapat dikombinasikan sehingga suatu blok !8 dapat menampung blok !8
yang lainnya (nested selection). enggunaan !8 tidak selalu harus selalu bersama /LS/
(simple selection). !8 juga dapat digunakan lebih dari satu kondisi setelah /LS/ (linear
selection) atau pada !8 yang sama menggunakan operator logika < logical operator
(combined selection). ,ontohnya adalah seperti baris program di ba#ah&
if (c"nditi"n1) then begin
if (c"nditi"n2) then begin
statement1;
stetement2;
end
else if (c"nditi"n4) then begin
statement4;
statement5;
end
else begin
statement5;
end;
statement6;
statement7;
if (c"nditi"n5) then begin
statement8;
statement#;
end;
end
else if (c"nditi"n8 9: c"nditi"n# ;< c"nditi"n=) begin
statement01;
statement02;
end;
enting& Ada baiknya setiap blok !8 selalu dipisahkan dan ditandai dengan spasi kosong
atau menggunakan 7A- untuk menghindari kebingungan dalam pembuatan blok
statement.
#angkuman #e!etition / Loo!ing
?epetition dapat digunakan untuk menjalankan suatu bagian program secara berulang-
ulang sesuai dengan kondisi yang ada.
Looping pada ascal menggunakan beberapa key#ord seperti 8;?....;, W0!L/....; dan
?//A7...:C7!L.
)OR&&&*O dipergunakan ketika nilai yang akan digunakan sudah diketahui dengan nilai
yang ada di dalamnya selalu ditambah atau dikurangi satu ketika mengalami perulangan.
Pengantar Bahasa Pemrograman Pascal Page ) / 11
Sintaks:
>;< variable :0 startinde8 (!;?:;@!;) endinde8 :; 3ABC
statement;
A:;
.ari sintaks di atas, terdapat dua jenis perubahan yang dapat digunakan, yaitu 7; dan
.;WC7;. 7; akan menghasilkan nilai incremental atau penambahan satu setiap kali
terjadi perulangan. Sedangkan .;WC7; akan menghasilkan nilai decremental atau
pengurangan satu setiap kali terjadi perulangan.
Conto penggunaan )OR&&&*O:
f"r i:01 t" 10 d" begin
write(i+' ');
end;
f"r D:010 d"wnt" 1 d" begin
write(D+' ');
end;
+,-L.&&&*O dapat digunakan tanpa harus ada perubahan pada nilai kondisi. Selama
kondisi masih bernilai 7?:/, maka perulangan akan dilakukan terus.
Sintaks:
@ECFA (c"nditi"n) :; 3ABC
statement;
A:;
Conto penggunaan +,-L.&&&*O:
i:010;
while i>2 d" begin
i:0i/2;
writeln(i);
end;
R.P.AT&&&/0T-L berfungsi hampir sama dengan W0!L/....;. ada ?//A7...:C7!L,
looping akan berhenti justru ketika kondisi bernilai 7?:/. Selain itu kondisi akan diuji
pada akhir perulangan sehingga blok di dalam perulangan akan dijalankan minimal satu
kali #alaupun kondisi yang ada masih 8ALS/.
Pengantar Bahasa Pemrograman Pascal Page 1* / 11
Sintaks:
<AGA9!
statement;
H!CF (c"nditi"n);
Conto penggunaan R.P.AT&&&/0T-L:
i:010;
repeat
i:0i/4;
writeln(i);
until i&1;
.ari penggalan program di atas, dapat dilihat bah#a ?//A7...:C7!L tidak memerlukan
-/@!C dan /C. untuk menjalankan suatu blok statement.
T-PS: @unakan 5ariabel i, j, k, dan seterusnya untuk menandai indeks perulangan atau
looping.
Pengantar Bahasa Pemrograman Pascal Page 11 / 11

Anda mungkin juga menyukai