Tasmil Yanti
2019
Tasmil Yanti 1
Agenda
KONSEP DASAR BAHASA PASCAL
2.1 Sejarah singkat Bahasa Pascal
2.2 Struktur dan Komponen Dasar Program Pascal
2019 Tasmil Yanti 2
Konsep Dasar Bahasa Pascal
Pengertian
Pemrograman/Programming: adalah pekerjaan penulisan instruksi bagi
komputer untuk menyelesaikan suatu masalah.
Program: adalah himpunan instruksi yang diperuntukkan bagi computer,
untuk menyelesaikan masalah yang diberikan.
Interpreter: menerjemahkan baris demi baris dan langsung
melaksanakannya. Contoh: BASIC.
Compiler: menerjemahkan dulu seluruh perintah dalam bahasa mesin.
Batu kemudian terjemahan tersebut dijalankan oleh computer. Contoh:
FORTRAN, C, PASCAL.
2019 Tasmil Yanti 3
2.1 Sejarah Singkat Bahasa PASCAL
Bahasa PASCAL pertama kali dikembangkan pada awal 70‐an oleh
NICLAUS WIRTIL di Technicel University Zurich Swiss.
Nama PASCAL diambil dari nama seorang ahli matematika bangsa
Perancis yaitu BLEISE PASCAL yang telah berjasa menemukan alat
hitung mekanis pertama di dunia pada abad ke‐17.
Bahasa pemrograman ini termasuk kategori “High Level Languange”.
Instruksi‐instruksi yang dipergunakan dalam bahasa pemrograman
sangat sistematis dan terstruktur.
Pada awalnya bahasa pemrograman ini diperkenalkan dengan tujuan
untuk menjelaskan masalah pemrograman computer bagi mahasiswa
yang belajar pemrograman komputer.
2019 Tasmil Yanti 4
2.1 Sejarah Singkat Bahasa PASCAL
Ternyata dalam waktu singkat, Bahasa pemrograman ini menjadi salah
satu Bahasa yang sangat populer di kalangan universitas sehingga
dijuluki Bahasa universitas.
Maka dari awal perkembangannya hingga saat ini banyak sekali jenis
Bahasa pemrograman ini, masing‐masing merupakan hasil
pengembangannya, antara lain:
• UCSD Pascal
• Microsoft Pascal
• Apple Pascal
• Turbo Pascal
2019 Tasmil Yanti 5
2.1 Sejarah Singkat Bahasa PASCAL
Diantara versi‐versi yang ada Turbo Pascal merupakan versi yang sangat
populer saat ini.
2019 Tasmil Yanti 6
2.2 Struktur dan Komponen Dasar Program PASCAL
Struktur dari suatu program PASCAL terdiri dari sebuah judul program
dan suatu blok program badan program. Blok program dibagi lagi
menjadi 2 (dua) bagian yaitu: bagian deklarasi dan bagian pernyataan
(‘statement’).
Struktur Program
2019 Tasmil Yanti 7
2.2 Struktur dan Komponen Dasar Program PASCAL
Struktur Program
Judul Program PROGRAM nama program
Blok Program
Bagian deklarasi
‐ Deklarasi LABEL LABEL nama label
‐ Deklarasi KONSTANTA CONST ……………………….
‐ Deklarasi TYPE TYPE ………………………….
‐ Deklarasi VARIABEL VAR ………………
‐ Deklarasi PROSEDUR PROCEDURE nama prosedur ……………………
‐ Deklarasi FUNGSI FUNCTION nama fungsi ………
Bagian Pernyataan
BEGIN
(statement)
…………….
END.
2019 Tasmil Yanti 8
2.2 Struktur dan Komponen Dasar Program PASCAL
Contoh: Menghitung luas bidang berbentuk empat persegi panjang
dengan panjang P dan lebar L.
PROGRAM Luas; {*Judul*}
VAR P,L,Luas: real; {*Deklarasi variable*}
BEGIN
Read (P,L): {*Statement*}
Luas :=P*L:
Write (P,L,Luas):
END.
Judul program sifatnya adalah optional, dan bila ditulis, harus terletak
pada awal dari program dan diakhiri dengan titik koma.
2019 Tasmil Yanti 9
2.2 Struktur dan Komponen Dasar Program PASCAL
Bagian deklarasi digunakan bila didalam program digunakan pengenal
(‘identifier’). Identifier dapat berupa label, konstanta, tipe, variabel,
prosedur dan fungsi. Kalau suatu program menggunakan identifier,
PASCAL menuntut supaya identifier tersebut diperkenalkan terlebih
dahulu sebelum digunakan, yaitu dideklarasikan terlebih dahulu pada
bagian ini.
Beberapa aturan dalam program PASCAL
2019 Tasmil Yanti 10
2.2 Struktur dan Komponen Dasar Program PASCAL
Beberapa aturan dalam program PASCAL
• Akhir sebuah program PASCAL ditandai dengan tanda baca titik (.)
setelah END yang paling akhir.
• Tanda titik koma (;) merupakan pemisah antar instruksi satu dengan
lainnya.
• Beberapa statement boleh ditulis menjadi 1 (satu) baris dipisahkan
dengan tanda baca titik koma (;).
Contoh: simpan := akhir; akhir := simpan + awal:
• Baris komentar diletakkan diantara tanda (* dan *) atau diantara tanda
{dan }
Contoh: Var rerata : real; (*nilai rata‐rata*)
Nil : real; {nilai ujian}
2019 Tasmil Yanti 11
2.2 Struktur dan Komponen Dasar Program PASCAL
Statement (pernyataan)
Adalah instruksi atau gabungan instruksi yang menyebabkan komputer
melakukan aksi.
Tipe statement dalam PASCAL terdiri atas:
0 Sederhana
• Menandai sebuah item data ke sebuah variable (assignment statement)
Contoh: X := Y * 4.135
• Pemanggilan procedure dan goto statement
2019 Tasmil Yanti 12
2.2 Struktur dan Komponen Dasar Program PASCAL
Tipe statement dalam PASCAL terdiri atas:
1 Terstruktur
• Compound statement
Contoh: BEGIN
read (x);
y:=x+5;
Write (y);
END.
• Repetitive statement
Contoh: For I := 1 to 100 do
write (count);
• Conditional statement
Contoh: If x > 100 then write (s)
else write (p);
2019 Tasmil Yanti 13
2.2 Struktur dan Komponen Dasar Program PASCAL
Pola susun Bahasa PASCAL dibentuk dengan menggunakan komponen
Bahasa perumpamaan yang umum yaitu:
2 Simbol Dasar
3 Reserve Word (kata pasti)
4 Identifier (penyebut)
5 Simbol Dasar
Simbol Dasar terdiri atas:
6 Simbol huruf, yaitu huruf A sampai dengan Z atau a sampai dengan z
7 Simbol angka atau digit yaitu : 0,1,2,3,4,5,6,7,8,9.
8 Simbol khusus yaitu: + ‐ * / : ; = . ‘ < > <= >= <> { } ( ) [ ]
2019 Tasmil Yanti 14
2.2 Struktur dan Komponen Dasar Program PASCAL
9 Reserve Word (kata pasti)
Reserve Word adalah suatu kata yang secara mutlak tidak boleh diartikan
lain dan harus digunakan sebagaimana yang telah didefinisikan atau
ditentukan kegunaannya oleh Bahasa PASCAL. Reserve Word ini tidak
boleh didefinisikan ulang oleh pemakai, sehingga tidak dapat
dipergunakan sebagai pengenal (identifier). Reserve Word ini jumlahnya
berbeda untuk masing‐masing Bahasa PASCAL.
Contoh beberapa Reserve Word yang telah didefinisikan oleh Bahasa
PASCAL antara lain:
AND CONST END IF OR REPEAT VAR
ARRAY DO FUNCTION IN PROCEDURE SEE WHILE
BEGIN DOWNTO FOR LABEL PROGRAM TYPE WITH
CASE ELSE GOTO OF RECORD UNTIL dsb.
2019 Tasmil Yanti 15
2.2 Struktur dan Komponen Dasar Program PASCAL
10 Identifier (sebutan/pengenal)
Identifier merupakan sebuah kata yang digunakan sebagai nama atau
sebutan terhadap sesuatu didalam program. Pemakai dapat
mendefinisikan sendiri suatu nama sebagai identifier.
Identifier ini terdiri atas:
11 Identifier standar, yaitu identifier yang telah didefinisikan oleh
Bahasa PASCAL.
Contoh dari identifier standar ini antara lain:
ABS CHAR EOF LN ROUND SQR
ARCTAN CHR EOLN ODB READ SQRT
BOOLEAN COS EXP PRED READLN SUCC
Dan masih banyak lagi.
2019 Tasmil Yanti 16
2.2 Struktur dan Komponen Dasar Program PASCAL
12 Identifier Non Standar: yaitu identifier yang didefinisikan oleh
pemakai Bahasa PASCAL, misalnya:
13 Nama suatu program
14 Nama suatu konstanta
15 Nama suatu variable
16 Nama suatu procedure
Identifier ini bebas, tetapi dengan ketentuan‐ketentuan sebagai
berikut.
2019 Tasmil Yanti 17
2.2 Struktur dan Komponen Dasar Program PASCAL
17 Terdiri dari gabungan huruf dan angka dengan karakter pertama
harus berupa huruf.
18 Tidak boleh mengandung blank.
19 Tidak boleh mengandung simbol‐simbol khusus kecuali garis bawah.
20 Panjangnya bebas, tetapi hanya 63 karakter pertama yang dianggap
signifikan.
Contoh:
Identifier Keterangan
GajiKaryawan Benar
No_Mhs Benar
P3K Benar
1X Salah, karakter pertama harus huruf
A&B Salah, tidak boleh mengandung symbol khusus
AB Salah, tidak boleh mengandung blank
2019 Tasmil Yanti 18
B. Penulisan Bahasa Pascal
1 Judul Program
Judul program ini digunakan untuk memberi nama program dan
sifatnya opsional. Jika ditulis harus terletak pada awal progam dan
diakhiri dengan titik koma (;).
Contoh penulisan judul program:
PROGRAM latihan;
PROGRAM latihan(input,output);
PROGRAM lat_1;
PROGRAM lat_satu(output);
2019 Tasmil Yanti 19
B. Penulisan Bahasa Pascal
2 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/statemen yang merupakan instruksi program. Setiap
statemen diakhiri dengan tanda titik koma (;).
Bentuk umumnya adalah sbb:
BEGIN
statemen;
statemen;
END.
2019 Tasmil Yanti 20
B. Penulisan Bahasa Pascal
3 Bagian Deklarasi
Bagian ini menjelaskan/memperkenalkan secara rinci data yang
akan digunakan pada suatu program. Dalam penulisannya tidak boleh
sama dengan kata‐kata cadangan (reserved words) dan selalu diakhiri dengan
tanda titik koma (;).
Deklarasi label
Deklarasi label digunakan jika pada penulisan program akan
menggunakan statemen GOTO (untuk meloncat ke suatu statemen tertentu),
contoh dalam program:
2019 Tasmil Yanti 21
B. Penulisan Bahasa Pascal
Deklarasi label GOTO akhir;
PROGRAM cetak; WRITELN(‘SARANA’);
LABEL akhir;
satu,akhir; END.
BEGIN
WRITELN(‘STMIK’); Bila program dijalankan, output sbb:
GOTO satu; STMIK
WRITELN(‘BINA’) GUNADARMA
satu;
WRITELN(‘GUNADARMA’);
2019 Tasmil Yanti 22
B. Penulisan Bahasa Pascal
Deklarasi konstanta WRITELN(b);
Deklarasi ini digunakan untuk END.
mengidentifikasi data yang nilainya
sudah ditentukan dan pasti, tidak Bila program dijalankan, output sbb:
dapat dirubah dalam program. 50 TAHUN
Contoh: INDONESIA Merdeka
PROGRAM CETAK OUTPUT
CONST
a=50; { selalu
menggunakan tanda = }
b=‘INDONESIA
Merdeka’;
BEGIN
WRITELN(a,’ TAHUN ‘);
2019 Tasmil Yanti 23
B. Penulisan Bahasa Pascal
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. (Tipe‐tipe data dijelaskan di bagian C. Tipe data).
Contoh dalam suatu program:
PROGRAM SATU
TYPE
bulat=integer; { selalu menggunakan tanda = }
hasil,pecahan=real;
ket=string[20];
2019 Tasmil Yanti 24
B. Penulisan Bahasa Pascal
Deklarasi tipe
BEGIN
pecahan := 2.52;
bulat :=2;
hasil :pecahan+bulat;
ket :’hasil penjumlahan =‘;
WRITELN(ket,hasil:4:2);
END.
Output program sbb: hasil penjumlahan = 4.52
2019 Tasmil Yanti 25
B. Penulisan Bahasa Pascal
Deklarasi variabel/perubah
Deklarasi ini berisi data‐data yang bisa berubah‐ubah nilainya didalam
program. Deklarasi variabel harus diletakkan setelah deklarasi tipe (jika
ada).
Contoh:
VAR
satu : integer;
dua : integer;
a : real;
b : real; { selalu menggunakan tanda : }
2019 Tasmil Yanti 26
B. Penulisan Bahasa Pascal
Deklarasi variabel/perubah
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
2019 Tasmil Yanti 27
B. Penulisan Bahasa Pascal
Deklarasi variabel/perubah
Bisa ditulis sbb:
VAR
satu,dua : integer;
a,b : real;
BEGIN
…
statemen
…
END.
2019 Tasmil Yanti 28
B. Penulisan Bahasa Pascal
Deklarasi variabel/perubah
Contoh jika terdapat deklarasi tipe:
TYPE
bilangan =integer;
VAR
satu,dua,a : integer;
b : real;
BEGIN
…
statemen
…
END.
2019 Tasmil Yanti 29
B. Penulisan Bahasa Pascal
Deklarasi prosedur dan fungsi (dibahas di MODUL 4)
Program dapat dibagi menjadi beberapa bagian/subprogram, yang
terdiri dari satu program utama dan satu/lebih program bagian (bisa berupa
prosedur/fungsi).
Deklarasi prosedur/fungsi terletak pada subprogram yang
menggunakannya.
2019 Tasmil Yanti 30
C. Tipe Data
Tipe data dapat terletak pada deklarasi variabel maupun pada deklarasi tipe.
Pascal menyediakan beberapa tipe data, yang terdiri dari:
1. Tipe data sederhana/scalar, terdiri dari:
1.1 Tipe data standar/predefinisi
1.1.1 bulat (integer) 1.1.4 string
1.1.2 real 1.1.5 logika (boolean)
1.1.3 karakter
1.2 Tipe data didefinisikan pemakai:
1.2.1 subjangkauan (subrange)
1.2.2 terbilang (enumerated)
2019 Tasmil Yanti 31
C. Tipe Data
2 Tipe data terstruktur, terdiri dari:
2.1 larik (array)
2.2 rekaman (record)
2.3 berkas (file)
2.4 himpunan (set)
2019 Tasmil Yanti 32
C. Tipe Data
1.1 Tipe data standar
1.1.1 Tipe data integer
Tipe data integer adalah bilangan yang tidak mempunyai titik
desinal/bilangan pecahan. Integer terdiri dari beberapa tipe, yaitu:
byte, dengan jangkauan nilai 0 .. 255
shortint, dengan jangkauan nilai =128 .. 127
integer, dengan jangkauan nilai ‐32768 .. 32767
word, dengan jangkauan nilai 0 .. 65535
longint, dengan jangkauan nilai ‐2147483648 .. 2147483647
2019 Tasmil Yanti 33
C. Tipe Data
1.1.1 Tipe data integer
Operator yang dapat digunakan pada tipe data integer:
+, penjumlahan
‐, pengurangan
*, perkalian
DIV, pembagian
MOD, sisa pembagian
2019 Tasmil Yanti 34
C. Tipe Data
1.1.1 Tipe data integer WRITELN(‘HASIL A =‘,A);
Contoh: WRITELN(‘HASIL B =‘,B);
VAR END.
a,b,jumlah1,jumlah2 : integer;
BEGIN Hasil program: HASIL A = 3
jumlah1 :=10; HASIL B = 1
jumlah2 : =3;
a : =jumlah1 DIV jumlah2;
b : =jumlah1 MOD jumlah2;
2019 Tasmil Yanti 35
C. Tipe Data
1.1.2 Tipe data real
Tipe real adalah bilangan yang mengandung pecahan, paling sedikit
harus ada 1 (satu) digit dan sesudah titik decimal. Operator yang dapat
digunakan pada data tipe real adalah:
• +, penjumlahan
• ‐, pengurangan
• *, perkalian
• /, pembagian
2019 Tasmil Yanti 36
C. Tipe Data
1.1.2 Tipe data real
Contoh:
VAR
nilai1,nilai2,hasil : real;
BEGIN
nilai1 :=2.52;
nilai2 :=3.2;
hasil :=nilai2 +nilai2;
WRITELN(‘HASIL PENJUMLAHAN = ‘,HASIL:4:2);
END.
Output program sbb: HASIL PENJUMLAHAN = 5.72
2019 Tasmil Yanti 37
C. Tipe Data
1.1.3 Tipe data karakter
Nilai data karakter berupa sebuah karakter yang ditulis diantara tanda
petik tunggal, misalnya: ‘A’, ‘b’, ‘@’ dan sebagainya. Karakter yang dapat
diterima komputer:
Huruf besar/kecil A, B, C, …, Z/a, b, c, …, z
Digit 1, 2, 3, …, 9
Operator aritmatika * / + ‐
Tanda baca , . ; : ? !
Simbol khusus $ @ { } ( ) [ ] % #
Spasi
2019 Tasmil Yanti 38
C. Tipe Data
1.1.3 Tipe data karakter
Contoh:
VAR
nilai : char;
BEGIN
nilai1 :=‘A’;
WRITELN(‘NILAI TERBAIK = ‘,NILAI);
END.
Hasilnya: NILAI TERBAIK = A
2019 Tasmil Yanti 39
C. Tipe Data
1.1.4 Tipe data string
Nilai data string adalah 1 (satu) atau lebih karakter yang terletak diantara
tanda petik tunggal, misal: ‘GUNADARMA’. Bila panjang dari suatu
string didalam deklarasi variabel tidak disebutkan, maka dianggap
panjangnya 255 karakter.
Contoh:
VAR
kata1 : string[5];
kata2 : string[9];
kata : char;
2019 Tasmil Yanti 40
C. Tipe Data
1.1.4 Tipe data string
Contoh:
BEGIN
kata1 :=‘STMIK’;
kata2 :=‘GUNADARMA’;
kata :=‘ ’; { karakter berupa spasi }
WRITELN(kata1,kata,kata2);
END.
Hasil: STMIK GUNADARMA
2019 Tasmil Yanti 41
C. Tipe Data
1.1.5 Tipe data boolean
Data tipe boolean mempunyai 2 (dua) nilai, yaitu True dan False.
Contoh:
VAR
benar : Boolean;
BEGIN
benar :=true;
writeln(‘benar =‘,benar);
END.
Hasil: benar = true
2019 Tasmil Yanti 42
C. Tipe Data
1.2 Tipe data terdefinisi
1.2.1 Tipe data subjangkauan
Tipe data ini adalah tipe data yang dapat didefinisikan sendiri oleh
pemakai. Nilai data pada tipe ini mempunyai jangkauan tertentu,
misalkan nilai ujian mempunyai harga 0 sampai 100, maka nilai ujian
dapat didefinisikan sbb:
TYPE
nilai = 0 .. 100
2019 Tasmil Yanti 43
C. Tipe Data
1.2.1 Tipe data subjangkauan
Contoh:
VAR
sks : 1..4;
angkatan : 89..95;
nilai : ‘A’,’B’;
2019 Tasmil Yanti 44
C. Tipe Data
1.2.2 Tipe data terbilang
Tipe data ini juga dapat didefinisikan sendiri oleh pemakai. Disebut tipe
terbilang karena semua nilai disebut satu persatu.
Contoh:
TYPE
hari =(senin,selasa,rabu,kamis,jumat,sabtu,minggu);
hari_kerja = (senin,selasa,rabu,kamis,jumat);
situasi = (senang,gembira,sedih,susah)
2019 Tasmil Yanti 45
C. Tipe Data
2 Tipe data larik (array)
Larik (array) adalah kumpulan data yang mempunyai tipe data sejenis.
Daftar nomor telepon, daftar kode mata kuliah, vektor, matrix
merupakan contoh larik.
Contoh penulisan larik berdimensi 1 (satu) sbb:
CONST
batas =20;
VAR
telpon : ARRAY[1..3] OF STRING[7];
{ larik dengan nama telpon mempunyai 3 data dengan tipe string }
2019 Tasmil Yanti 46
C. Tipe Data
2 Tipe data larik (array)
nilai : ARRAY[1..5] OF INTEGER;
{ larik dengan nama nilai mempunyai 5 data dengan tipe integer }
gaji : ARRAY[1..batas] OF REAL;
{ larik dengan nama gaji mempunyai 20 data dengan tipe real }
Contoh larik yang mempunyai yang mempunyai tipe data terbilang atau
subjangkauan:
TYPE
batas =0..100;
keadaan =(baru,lama,bagus,jelek);
2019 Tasmil Yanti 47
C. Tipe Data
2 Tipe data larik (array)
VAR
nilai : ARRAY[1..30] OF ‘A’..’E’;
{ larik dengan nama nilai mempunyai 30 data dan pengisian data yang
diperbolehkan hanya A, B, C, D, E }
angka : ARRAY[1..50] OF batas;
{ larik dengan nama angka mempunyai 50 data dan pengisian data yang
diperbolehkan 1, 2, 3, …, 99,100 }
baju : ARRAY[1..10] OF keadaan;
{ larik dengan nama baju mempunyai 10 data dan pengisian data yang
diperbolehkan baru, lama, bagus, jelek }
2019 Tasmil Yanti 48
C. Tipe Data
2 Tipe data larik (array)
Contoh program:
VAR
jumlah : integer;
nilai : ARRAY[1..3] OF ‘A’..’E’;
angka : ARRAY[1..3] OF INTEGER;
BEGIN
nilai[1] : =‘C’;
nilai[2] : =‘B’;
nilai[3] : =‘A’;
2019 Tasmil Yanti 49
C. Tipe Data
2 Tipe data larik (array)
Contoh program:
angka[1] : =‘75’;
angka[2] : =’60’;
angka[3] : =‘90’;
jumlah := angka[1]+angka[2]+angka[3];
WRITELN(‘NILAI =‘,ANGKA[2],’ MENDAPAT ‘,NILAI[1]);
WRITELN(‘’JUMLAH =‘,JUMLAH);
END.
Hasil: NILAI 60 MENDAPAT C
JUMLAH = 225
2019 Tasmil Yanti 50
C. Tipe Data
2 Tipe data larik (array)
Contoh penulisan larik berdimensi 2 (dua) sbb:
VAR
table : ARRAY[1..3,1..2] OF byte;
{ larik tabel mempunyai 3 baris dan 2 kolom dengan tipe byte }
BEGIN
table[1,1] :=5; {baris 1 kolom 1}
table[1,2] :=7;
table[2,1] :=21; {baris 2 kolom 1}
table[2,2] :=18;
2019 Tasmil Yanti 51
C. Tipe Data
2 Tipe data larik (array)
Contoh penulisan larik berdimensi 2 (dua) sbb:
table[3,1] :=8;
table[3,2] :=7;
WRITELN(‘BARIS 1 KOLOM 2 = ‘,table[1.2];
END.
Hasil: BARIS 1 KOLOM 2 = 7
2019 Tasmil Yanti 52