Cs Modul 2.3 Bahasa Pascal
Cs Modul 2.3 Bahasa Pascal
Penulis :
Dr. Ir. Inggriani Liem
Ir. Irya Wisnubhadra, Ph.D., IPM.
Prof. Dr. Mewati Ayub, S.T., M.T.
Pengantar
Belajar sebuah bahasa pemrograman “baru” sama halnya dengan belajar bahasa asing
setelah kita menguasai bahasa Indonesia. Bahasa sehari-hari biasa disebut bahasa natural.
Makna yang disampaikan sama, tinggal membuat sebuah “kamus” yang menerjemahkan
kata demi kata menjadi kamus bahasa yang baru. Misalnya kamus bahasa Indonesia ke
bahasa Inggris dan sebaliknya. Namun kata demi kata diterjemahkan, pada banyak kasus
tidak cukup. Kita perlu mempelajari tata bahasa dari kedua bahasa tersebut. setiap bahasa
mempunyai tata bahasa (sintaks) yang sesuai. Misalnya jika dalam bahasa Indonesia
Indonesia ada hukum DM, maka dalam bahasa Inggris menjadi MD. Contoh kursi merah
(bahasa Indonesia) akan diterjemahkan menjadi red chair. Aturan ini harus diterapkan pada
bahasa target (dalam kasus tadi, bahasa indonesia adalah bahasa asal (teks yang akan
diterjemahkan), dan bahasa Inggris adalah bahasa target (teks hasil terjemahan). Bahasa
Inggris membedakan bentuk kata kerja tergantung kepada subyeknya (Contoh: I make…, He
makes …..; I made …., He made…). Bahasa Inggris juga mempunyai tenses dimana kata kerja
perlu disesuaikan dengan waktu kejadian yang dinarasikan, sedangkan bahasa Indonesia
tidak. dan masih banyak sekali contoh, termasuk “ekspresi” yaitu pengungkapan kalimat
menjadi kalimat yang maknanya bukan sintaksis tapi “semantik”. Kata bunga, dalam bahasa
indonesia bisa berarti bunga di taman, tapi kata bunga juga dipakai untuk menyatakan
bunga deposito atau bunga tabungan. Penerjemah antar bahasa manusia sudah banyak
tersedia. Anda bisa mencoba “google translate” dan memlih bahasa asal dan bahasa tujuan.
Cobalah buka situs https://translate.google.com/, memilih bahasa asl dan bahasa tujuan.
Ketikkan sebuah kata, maka akan presisi terjemahannya. Ketikkan sebuah kalimat (misalnya
dalam bahasa Indonesia: (1) Saya memetik bunga di kebun >> I picked flowers in the garden
, akan berbeda terjemahannya dari (2) saya mengambil bunga dari tabunganku >>> I take
interest from my savings.
Menerjemahkan teks dalam bahasa natural akan rumit prosesnya. dan otomasinya
merupakan bagian dari riset di bidang NLP (Natural Language Processing) yang perlu
dikembangkan bukan hanya oleh programmer tetapi juga perlu keahlian seorang linguist
(ahli bahasa).
Bahasa Pemrograman, seperti halnya dengan bahasa Natural, mempunyai kosa kata (kata
kunci, reserved words) dan aturan sintaks. Anda sudah mempelajari bahasa ALGO yang
lebih dekat dengan manusia karena eksekutornya adalah manusia. Sekarang, Anda akan
mempelajari bagaimana teks program ALGO akan diterjemahkan ke bahasa komputer, yaitu
bahasa pemrograman Pascal. Penerjemahan (translasi) teks dari satu bahasa pemrograman
menjadi bahasa pemrograman lain sangat mudah, tidak se rumit bahasa natural karena kosa
kata bahasa pemrograman sangat sedikit (bahasa Pascal hanya memiliki 32 kata kunci atau
keyword [ https://www.tutorialspoint.com/pascal/pascal_basic_syntax.htm
atau pada https://wiki.freepascal.org/StAndard_Pascal] ), dan beberapa simbol. Pola
kalimatnya juga hanya sedikit. Pada modul AP Fase E ini, Anda akan dikenalkan bagaimana
translasi dari teks program bahasa ALGO menjadi teks dalam bahasa Pascal. kita akan
Terjemahan Bahasa ALGO ke Bahasa Pascal Hlm 2 dari 18
mempelajari lewat contoh program kecil yang setiap programnya menawarkan satu konsep
bahasa pemrograman prosedural tekstual.
Pertama-tama, kita perlu mengenal bahasa pemrogramannya, kemudian akan diberikan
contoh lewat program kecil (program sederhana siap eksekusi, yang secara utuh
menampilkan satu atau beberapa konsep saja). Kemudian, guru memberikan contoh
programkecil dalam bahasa target yang mewakili setiap konsep pemrograman prosedural,
yang samadengan contoh program dalam bahasa ALGO. Dengan demikian, peserta didik
mengenal pola program prosedural tekstual dalam berbagai bahasa.
Bahasa Pascal diciptakan oleh Niklaus Wirth [1] yang ditujukan bagi pemrogram pemula yang
akan belajar pemrograman. Oleh karena itu bahasa ini dirancang ketat type, dan sangat dekat
dengan bahasa Inggris. Bahasa Pascal murni telah dikembangkan oleh beberapa institusi lain,
antara lain Turbo Pascal, Free Pascal [2,3] menjadi bahasa yang mudah diakses dan dilengkapi
dengan keperluan masa kini seperti modul untuk berinteraksi dengan layar berbagai sistem
operasi, modul untuk animasi, dll.
Yang diterjemahkan pada modul ini hanya sebagian kecil dari bahasa Pascal secara
keseluruhan, yaitu hanya pola kalimat dan struktur program yang diperlukan dalam
pembelajaran AP Fase E.
Pada bagian ini, Anda akan belajar memahami program, menuliskan program (koding) dan
mengeksekusi program, dari sekumpulan contoh program kecil Pascal sederhana yang
diberikan (Learning by Example, experiential based learning, constructivist).
Tanpa mengenal bahasa Pascal pun, siapapun dapat melakukan editing, dan menjalankan
program-program kecil yang diberikan. Salah satu online Pascal Compiler yang dapat Anda
gunakan adalah: https://www.tutorialspoint.com/compile_pascal_online.php
Akseslah free online Pascal compiler dengan masuk ke website tersebut melalui browser, dan
Terjemahan Bahasa ALGO ke Bahasa Pascal Hlm 3 dari 18
secara otomatis akan tampil teks program HelloWorld. Perhatikan ada kata-kata yang
diwarnai tertentu yang tidak kelihatan pada teks diktat ini.
Tidak disarankan untuk melakukan copy/paste teks program yang diberikan, karena jika
Anda melakukannya, Anda tidak belajar.
writeln ('Bye..');
end.
Latihan 04. Menentukan Apakah sebuah Bilangan Bernilai NEGATIF / NOL / POSITIF ?
Program Pascal Penjelasan
program NOLKAH; Program menentukan
{ Input: sebuah bilangan bulat }
{ Output: salah satu dari 2 teks sbb. } { Bilangan
bilangan NOL atau
“NOL” } { Bilangan “BUKAN NOL” } { Proses : bukan
menentukan apakah bilangan yang dibaca bernilai 0
atau bukan Nol } Perhatikan ada dua
cara menulis
VAR
BilBul: integer; komentar.
begin
write ('Inputkan sebuah Bilangan bulat: '); Contoh program
read (BilBul);
if (BilBul=0) then yang memudahkan
begin pembaca memahami
writeln ('NOL'); teks, ada
end else spesifikasi I-P-O
begin
writeln ('Bukan NOL');
end;
end.
VAR
Bil: integer;
begin
write ('Inputkan Bilangan: '); read (Bil);
if (Bil<0) then
begin
writeln ('Bilangan NEGATIF');
end else if (Bil=0) then
begin
writeln ('Bukan NOL');
end else (* pasti bukan nol dan negatif *)
begin
writeln ('POSITIF');
end;
end.
VAR
Bil: integer;
i: integer; (* pencacah pengulangan *)
begin
for i:= 1 to 5 do
begin
write ('Inputkan Bilangan: '); read (Bil); if
(Bil<0) then
begin
writeln ('Bilangan NEGATIF');
end else if (Bil=0) then
begin
writeln ('Bilangan NOL');
end else (* pasti bukan nol dan negatif *)
begin
writeln ('Bilangan POSITIF');
end;
end;
end.
Setelah mencoba program dalam bahasa Pascal, refleksikan aktivitas Anda pada LKI yang
telah disediakan.
Setelah Anda mencoba beberapa program di atas, diharapkan bahwa Anda akan mengenali
kata-kata tertentu (yang diwarnai di layar oleh online compiler) yang merupakan “construct”
Terjemahan Bahasa ALGO ke Bahasa Pascal Hlm 9 dari 18
atau elemen pembentuk program. Setiap jenis karakter atau kata mempunyai makna
khusus, dan setiap baris atau sekumpulan baris mempunyai pola khusus.
Pada Bagian III ini Anda diajak mengenal sintaks (tata bahasa) dari bahasa Pascal, setelah
Anda mencoba menjalankan programnya
CATATAN : Bagian III ini bukan utk dibaca oleh peserta didik, tetapi dijelaskan oleh GURU
lewat contoh program kecil
(* instruksi : *)
begin
(* deretan instruksi pemberian nilai variabel, input, output, analisis
kasus, pengulangan yg memakai fungsi *)
end.
Komentar
Komentar adalah teks yang dituliskan dalam program yang akan diabaikan oleh pemroses
bahasa. Komentar ditulis untuk memberikan penjelasan/catatan ke pembaca tentang makna
program atau instruksi yang perlu diperhatikan pembaca teks program.
Komentar dalam ALGO Komentar dalam Pascal Penjelasan
//<tuliskomentar Anda> (* <teks komentar> *) Ada beberapa cara untuk
menAndai bahwa sebuah
teks adalah komentar
pada Pascal.
{ <tulis komentar Anda } Cara pertama mengacu
ke pascal stAndar.
Cara kedua dan ketiga
// <teks Anda> mengacu ke
[https://www.freepascal.or
g/ docs-
html/ref/refse2.html]
Perhatikan contoh
penulisan komentar pada
kerangka program utama
Pascal di atas. Notasi yang
dipakai adalah cara
pertama yang pertama.
Kita boleh
menuliskan dengan cara
lain.
Tabel 1. Terjemahan Kata Kunci ALGO (bahasa Indonesia dan Inggris) ke Pascal
Kata Kunci Kata Kunci Bahasa ALGO Kata Kunci Bahasa Pascal
Bahasa ALGO Bhs Inggris
Bhs Indonesia
PROGRAM PROGRAM Program
<-- <-- :=
JIKA IF if
ULANGI REPEAT
KALI TIMES
BILBUL 10 integer 10
s.d
2147483648
Smallint:
-32768 s.d
32768
Catatan : Hal-hal yang harus diperhatikan (penulisan pesan) dalam input/output , agar
pengguna program tidak perlu membaca source code untuk dapat memberikan input yang
benar.
Konvensi penulisan nama variabel penting untuk diperhatikan. setiap kali seorang pemrogram
mulai menulis program dalam bahasa tertentu (termasuk bahasa Pascal), ia perlu
mempelajari konvensi penulisan nama variabel dalam bahasa tersebut. Pascal case dan Camel
case adalah 2 konvensi penamaan yang sering diacu [2].
Camel case dan Pascal case sama. Keduanya menyarankan bahawa nama variabel terdiri dari
kata majemuk dan kata pertama ditulis dengan huruf besar. Kata berikutnya diawali dengan
huruf besar. Perbedaannya, Pascal case menuliskan huruf kata pertama juga dalam huruf
kapital, yang bukan konvensi camel case, seperti pada contoh berikut
Contoh penamaan variabel dalam Pascal
TanggalLahir
JumlahTotal
Sum
Maksimum
HariKe
AnakKe2
Operator
Operator dalam bahasa ALGO diterjemahkan ke dalam bahasa Pascal pada Tabel
Blok Instruksi
Blok instruksi adalah sekumpulan instruksi yang dicakup dalam sebuah pola. Terjemahan
penulisan blok instruksi ALGO menjadi blok bahasa Pascal diberikan pada Tabel 5. Dalam
sebuah blok, yaitu teks yang ditulis anta { dan } , adalah deretan instruksi berpola tertentu
yang akan dieksekusi program
} end.
} end;
Ekspresi
Ekspresi adalah sebuah teks yang berisi operan dan operator setipe. Pada program Pascal
ditulis secara infix, seperti penulisan rumus matematika pada umumnya, Tabel 6. berisi
contoh ekspresi untuk setiap tipe, dalam ALGO dan Pascal
A x B + 7*C A * B + 7*C
(A-3)/(B*C+A) (A-3)/(B*C+A)
Karakter Khusus
Karakter khusus yang ditulis pada bahasa ALGO sebagian sudah dijelaskan. Terjemahannya
ke bahasa Pascal diberikan pada Tabel 7.
end.
// PenAnda //
komentar/catatan atau
(*)
Berikut ini adalah panduan untuk memilih nama identifier yang baik”:
POLA KALIMAT
Pola kalimat bahasa ALGO akan dipetakan ke Pascal seperti pada Tabel 8.
VARIABEL VAR
{ i:BilBul =10 i:integer = 10;
Pi:BilRiil = 3,1415 Pi:real = 3.1415;
Nama : teks Nama : string;
}
Penutup
Di akhir unit pembelajaran bahasa Pascal ini, lakukan refleksi tentang program dalam
bahasa Pascal dibandingkan dengan program dalam bahasa ALGO.
Apa refleksi Anda setelah mencoba program dalam bahasa Pascal?
Apa perbedaan dan kesamaan bahasa ALGO dibandingkan dengan teks dalam program
Pascal yang disajikan di atas?
Rujukan
[1] [https://wiki.freepascal.org/Basic_Pascal_Tutorial/Chapter_1/Variables_and_Data_Types]
[2] [https://www.theserverside.com/answer/Pascal-case-vs-camel-case-Whats-the-difference]
[3] [https://en.wikipedia.org/wiki/Camel_case]
[4] https://en.wikipedia.org/wiki/Pascal_(programming_language)
[5] https://wiki.freepascal.org/ dan semua sub bab penjelasannya mengenai komponen bahasa
Pascal
[6] [https://www.tutorialspoint.com/pascal/pascal_sets.htm]
Catatan:
Tools Free pascal
https://www.freepascal.org/download.html
Contoh situs untuk memakai IDE bahasa freePascal secara online dan gratis:
Yang dipakai untuk tes program Pascal pada dokumen ini:
https://www.tutorialspoint.com/compile_pascal_online.php