T
Tipe
data yang dikenal dalam bahasa pascal antara lain :
·
Tipe data sederhana
/ Jenis data yang standar (Dasar)
1. Integer
2. Real
3. Karakter
4. Boolean
·
Tipe data non
standar (user defined)
1. Enumerated
2. Sub-range
·
Tipe data berstuktur
1.
Array
2.
Record
3.
Set
4.
File
·
Jenis data Pointer
INTEGER
Jenis
data ini merupakan nilai bilangan bulat, yang
terdiri atas integer positif, integer negatif dan nol. Pada TURBO PASCAL
jenis data ini di bagi atas beberapa bagian.
(lihat tabel 1)
Tabel
1. Jenis data integer
Tipe
|
Ukuran memori
(dalam byte)
|
Jangkauan nilai
|
BYTE
|
1
|
0..255
|
SHORTINT
|
1
|
-128..127
|
INTEGER
|
2
|
-32768..32767
|
WORD
|
2
|
0..65535
|
LONGINT
|
4
|
-2147483648..2147483647
|
Operator
Integer terdiri atas : + , - , * , DIV
dan MOD
Var
Jumlah : byte;
Begin
Jumlah := 200;
WriteLn(‘Nilai JUMLAH = ‘,Jumlah);
End.
Hasilnya
bila dijalankan :
Nilai JUMLAH = 200
REAL
Penulisan
untuk jenis data ini selalu menggunakan titik desimal. Nilai konstanta numerik
real berkisar dari 1E-38 sampai dengan 1E+38 dengan mantissa yang signifikan
sampai dengan 11 digit. E menunjukkan nilai 10 pangkat. Nilai konstanta numerik
real menempati memori sebesar 6 byte.
Contoh
:
123.45
12345. ® salah, titik desimal tidak boleh
dibelakang
12E5
12E+5
-12.34
.1234 ® salah, titik desimal tidak boleh
dimuka
Pada TURBO PASCAL, jenis data ini dibedakan (
lihat tabel 2.)
Tabel
2. Jenis data Real
Tipe
|
Ukuran memori
(dalam byte)
|
Jangkauan nilai
|
Digit signifikan
|
SINGLE
|
4
|
1.5x10E-45 .. 3.4x10E38
|
7-8
|
DOUBLE
|
8
|
5.0x10E-324 .. 1.7x10E308
|
15-16
|
EXTENDED
|
10
|
1.9x10E-4951 .. 1.1x10E4932
|
19-20
|
COMP
|
8
|
-2E+63+1 .. 2E+63-1
|
19-20
|
Operator
untuk jenis data ini terdiri atas : + , - , * dan /
KARAKTER
Yang
dimaksud dengan jenis data ini adalah karakter tunggal atau sebuah karakter
yang ditulis diantara tanda petik tunggal, seperti misalnya ‘A’, ’a’, ’!’, ’5’
dsb.
Dasarnya
adalah ASCII CHARACTER SET.
Misalnya
: 032 pada tabel ASCII CHARACTER SET menunjukkan karakter.
Blank.
033
!
048
0
076 L
dst
STRING
Nilai
data string merupakan urut-urutan dari karakter yang terletak di antara tanda
petik tunggal. Nilai data string akan menenpati memori sebesar banyaknya
karakter stringnya ditambah dengan 1 byte. Bila panjang dari suatu string di
dalam deklarasi variabel tidak disebutkan, maka dianggap panjangnya adalah 255
karakter.
Contoh
:
Var
Kampus : string[10];
Begin
Kampus := ‘Gunadarma’;
Write(Kampus);
End.
BOOLEAN
Jenis
data ini mempunyai nilai TRUE atau FALSE.
Operator
untuk jenis data ini adalah :
1. Logical
Operator, yaitu : NOT, AND dan OR
2. Relational
Operator, yaitu : >, <, >=, <=, <> dan =
JENIS DATA
NON-STANDARD (USER DEFINED)
ENUMERATED.
Jenis
data ini terdiri atas barisan identifier yang terurut dimana setiap identifier
tersebut dianggap sebagai suatu individual data item (elemen data yang berdiri
sendiri).
Pada
saat mendeklarasikan jenis data ini kita harus menuliskan semua
elemen-elemennya.
Bentuk
umum deklarasinya adalah :
TYPE nama =
(data_item_1, data_item_2, ……., data_item_n);
Contoh
:
TYPE
hari = (sen,sel,rab,kam,jum,sab,ming);
TYPE
warna = (red,blue,green,yellow,black,white);
Setelah
jenis data ini dideklarasikan, maka selanjutnya kita dapat mendeklarasikan
suatu variabel yang berjenis data sama dengan jenis data ini.
Misalnya
:
TYPE nama_hari =
(sen,sel,rab,kam,jum,sab,ming);
VAR libur : nama_hari;
Fungsi
standar yang dapat digunakan pada jenis data ini adalah :
PRED,
SUCC dan ORD
Misalnya
:
PRED (sel) = sen
SUCC (sen) = sel
ORD (sen) = 0
ORD (sel) = 1
dsb
SUB-RANGE.
Jenis
data ini berupa range dari suatu kumpulan data yang mempunyai urutan..
Bentuk
umum deklarasinya adalah :
TYPE nama = data_item_pertama ..
data_item_terakhir;
Contoh
:
TYPE jam_kuliah
= 1 .. 10;
tanggal
= 1 .. 31;
abjad
= ‘A’ .. ‘Z’;
TYPE bulan
= (jan,feb,mar,apr,mei,jun,jul,agt,sep,okt,nov,des);
hari
= (sen,sel,rab,kam,jum,sab,ming);
ata
= agt .. jan;
pta
= feb .. jun;
hari_kerja
= sen .. jum;
Tanda Operator
Tanda
operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam 9 kategori,
1. Assignment
operator.
2. Binary
operator.
3. Unary
operator.
4. Bitwise
operator.
5. Relational
operator.
6. Logical
operator.
7. Address
operator.
8. Set
operator.
9. String
operator.
Assignment operator
Assignment
operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda
sama dengan (:=).
Contoh
:
A:=B;
Binary operator
Digunakan untuk mengoperasikan dua
buah operand. Operand dapat berbentuk konstanta ataupun variabel. Operator ini
digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data
integer dan real.
Operator |
Operasi
|
Tipe operand
|
Tipe hasil
|
*
|
Perkalian
|
real,real
integer,integer
real,integer
|
real
integer
real
|
DIV
|
Pembagian
bulat
|
integer,integer
|
integer
|
/
|
Pembagian
real
|
real,real
integer,integer
real,integer
|
real
real
real
|
MOD
|
Sisa
pembagian
|
integer,integer
|
integer
|
+
|
Pertambahan
|
real,real
integer,integer
real,integer
|
real
integer
real
|
-
|
pengurangan
|
real,real
integer,integer
real,real
|
real
integer
real
|
Contoh
:
15*5 hasilnya 75
20/3 hasilnya 6.6666666667E+00
20 div 3 hasilnya 6
20 mod 3 hasilnya 2
Unary operator
Operator
ini hanya menggunakan sebuah operand saja. Dapat berupa unary minus dan unary
plus. Unary minus digunakan untuk menunjukkan nilai negatif, baik pada operang
numerik real maupun integer. Unaru plus adalah operator untuk memberai tanda
plus.
Contoh
:
-5 +7
-2.5 +2.5
Bitwise operator
Digunakan untuk operasi bit per bit
pada nilai integer. Terdiri dari operator NOT, AND, OR, XOR, Shl, Shr.
Relational operator
Relational operator digunakan
untuk membandingkan hubungan antara dua
buah operand dan akan didapatkan hasil tipe boolean, yaitu True atau False.
Terdiri dari operator : =, <, >, <=, >=, <>
Logical operator
Terdapat 4 buah logical operator yaitu
: NOT, AND, OR dan XOR. Operator ini bekerja dengan nilai-nilai logika, yaitu
True dan False.
Set operator
Digunakan untuk operasi himpunan.
String operator
Digunakan untuk operasi string. Hanya
ada sebuah operator string saja, yaitu operator + yang digunakan untuk menggabungkan
dua buah nilai string.
Contoh
:
Nama1 := ‘Arief ‘;
Nama2 := ‘Kurniawan’;
Nama3 := Nama1 + Nama2;
OPERATOR DAN JENIS DATA DALAM PASCAL
OPERATOR
DALAM PASCAL
Dalam menulis program kita tidak mungkin terlepas dari penggunaan operator. Operator sendiri didefinisikan sebagai sesuatu yang digunakan untuk melakukan operasi-operasi tertentu, misalnya operasi aritmatika, penggabungan string dan banyak lagi yang lainnya.
Dalam menulis program kita tidak mungkin terlepas dari penggunaan operator. Operator sendiri didefinisikan sebagai sesuatu yang digunakan untuk melakukan operasi-operasi tertentu, misalnya operasi aritmatika, penggabungan string dan banyak lagi yang lainnya.
Nilai yang
dioperasikan oleh operator bersama operand membentuk suatu ekspresi.
Contoh :
1 + 2 – 3,
yang disebut ekspresi. Tanda + dan – merupakan tanda operator sedangkan nilai
1,2 dan 3 disebut operand.
Operator Assignment
Operator
assignment digunakan untuk melakukan pemberian nilai terhadap suatu variabel
sehingga operator ini juga sering dikenal dengan operator penugasan. Dalam
bahasa Pascal operator yang digunakan untuk melakukan hal ini adalah operator
:=. Berikut ini bentuk umum untuk melakukan pemberian nilai terhadap suatu
variabel.
NamaVariabel := nilai_yang_akan_dimasukkan;
Contoh:
Var
x: integer;
y: real;
str: string;
Begin
x := 123;
y :=
56.04;
str :=
‘Mencoba memasukkan nilai ke dalam variabel’;
....
End.
Operator Aritmatika
Bahasa
Pascal menyediakan beberapa operator yang dapat digunakan dalam operasi
aritmatika, seperti penjumlahan, pengurangan, perkalian, pembagian dan
penentuan sisa bagi.
Operator
|
Jenis Operasi
|
Tipe Operand
|
Tipe Hasil
|
Contoh
|
+
|
Penjumlahan
|
Integer,
real
|
Integer,
real
|
a + b
|
-
|
Pengurangan
|
Integer,
real
|
Integer,
real
|
x – 1
|
*
|
Perkalian
|
Integer,
real
|
Integer,
real
|
a * b
|
/
|
Pembagian
untuk bilangan riil
|
Integer, real
|
real
|
5 / 3
|
div
|
Pembagian
untuk bilangan bulat
|
Integer
|
Integer
|
10 div 4
|
mod
|
Sisa bagi
|
integer
|
integer
|
10 mod 3
|
Operator
Logika
Operator
logika digunakan untuk melakukan operasi-operasi yang menghasilkan nilai logik
(true dan false). Bahasa pascal menyediakan 4 buah operator logika, yaitu:
Operator
|
Jenis Operasi
|
Tipe Operand
|
Tipe Hasil
|
not
|
Negasi
|
boolean
|
boolean
|
and
|
Conjunction
|
boolean
|
boolean
|
or
|
Disjunction
|
boolean
|
boolean
|
xor
|
Exlusive
disjunction
|
boolean
|
boolean
|
OPERATOR NOT
Operator ini
digunakan untuk menentukan negasi atau pengingkaran dari nilai logik lain. Jika
nilai yang dihasilkan adalah true
maka negasi-nya adalah false. Begitu
juga sebaliknya. Berikut ini table yang menunjukkan hubungan operator not.
A
|
not A
|
true
|
False
|
false
|
true
|
Contoh program dengan operator not
Program operator_not;
Uses wincrt;
Var
A:boolean;
Begin
Clrscr;
A:=false;
A:=not A;
Writeln(A);
Readln;
End.
OPERATOR and
Untuk
memudahkan penggunaan operator and, ingatlah bahwa operand and hanya akan bernilai true jika semua operandnya bernilai true.
Selain itu operasi akan menghasilkan nilai false.
A
|
B
|
A and B
|
True
|
True
|
True
|
True
|
False
|
False
|
False
|
True
|
False
|
false
|
false
|
false
|
Contoh program menggunakan operator and:
Program Operator_And;
Uses wincrt;
Begin
Clrscr;
Writeln(‘TRUE and TRUE =’, true and true);
Writeln(‘TRUE and FALSE =’, true
and false);
Writeln(‘FALSE and TRUE =’, false
and true);
Writeln(‘FALSE and FALSE =’,false
and false);
Readln;
End.
OPERATOR or
Operator or akan menghasilkan nilai true apabila satu
atau semua operand-nya bernilai true. Untuk memudahkan ingatlah bahwa operator
or akan menghasilkan nilai false apabila semua operandnya bernilai false.
Selain itu, operator ini akan menghasilkan nilai true.
A
|
B
|
A or B
|
true
|
true
|
true
|
true
|
false
|
true
|
false
|
true
|
true
|
false
|
false
|
false
|
Contoh program menggunakan operator or :
Program operatorOr;
Uses wincrt;
Begin
Clrscr;
Writeln(‘TRUE or TRUE =’,true or true);
Writeln(‘TRUE or FALSE =’,true or false);
Writeln(‘FALSE or TRUE =’,false or true);
Writeln(‘FALSE or FALSE =’,false or false);
Readln;
End.
OPERATOR xor
Operator
exclusive or (xor) ini akan menghasilkan nilai true apabila hanya terdapat satu
operand yang bernilai true. Apabila kedua operandnya bernilai
true maka operasi ini akan menghasilkan nilai false, begitu juga apabila
keduanya bernilai false.
A
|
B
|
A xor B
|
true
|
true
|
false
|
true
|
false
|
true
|
false
|
true
|
true
|
false
|
false
|
false
|
Contoh program menggunakan operator xor:
Program
operator_or;
Uses wincrt;
Begin
Clrscr;
Writeln(‘TRUE xor TRUE =’,true xor
true);
Writeln(‘TRUE xor FALSE =’,true xor false);
Writeln(‘FALSE xor TRUE =’,false xor true);
Writeln(‘FALSE xor FALSE =’,false xor false);
Readln;
End.
Operator Relasional
Operator
relasional adalah operator yang digunakan untuk menentukan relasi atau hubungan
dari dua buah nilai atau operand. Operator ini terdapat dalam sebuah ekspresi
yang selanjutnya akan menentukan benar atau tidaknya ekspresi tersebut.
Operator relasional biasanya digunakan untuk melakukan pengecekan kondisi dalam
blok pemilihan. Adapun yang termasuk kedalam operasional didalam bahasa Pascal
adalah sebagai berikut:
Operator
|
Jenis Operasi
|
Tipe Operand
|
Tipe Hasil
|
Contoh
|
=
|
Sama
dengan
|
Tipe
dasar, string, Pchar, set
|
boolean
|
A = 3
|
<>
|
Tidak sama
dengan
|
Tipe
dasar, string, Pchar, set
|
boolean
|
A <>
3
|
<
|
Lebih
kecil
|
Tipe
dasar, string, Pchar
|
boolean
|
A < 1
|
>
|
Lebih
besar
|
Tipe
dasar, string, Pchar
|
boolean
|
A > 5
|
<=
|
Lebih
kecil atau sama dengan
|
Tipe
dasar, string, Pchar, set
|
boolean
|
A <= B
|
>=
|
Lebih
besar atau sama dengan
|
Tipe
dasar, string, Pchar, set
|
boolean
|
A >= B
|
Description
of the following Reserved Words
Below is a
table of the new words:
Reserved Word
|
Crt: Yes/No
|
Description
|
Clrscr
|
Yes
|
Clears screen
|
Gotoxy(int,int)
|
Yes
|
Takes the cursor to the pre-defined position
|
Textbackground(word/int)
|
Yes
|
Background colour
|
Textcolor(word/int)
|
Yes
|
Colour of text
|
Readkey
|
Yes
|
Reads a key; Could be assigned to a variable
|
Delay(int)
|
Yes
|
Waits for the included time(milliseconds)
|
Halt(parameter)
|
No
|
Program terminates
|
key
(variable type) :
int -
integer (-32768 to 32767), word - 0 to 65535.
Example of
each
writeln('When
you press enter, the screen would be cleared!');
readln;
clrscr;
readln;
clrscr;
gotoxy(10,10);
Writeln('The position is 10 pixels from the left of the screen, and ten pixels');
Writeln('from the top of the screen.');
readln;
Writeln('The position is 10 pixels from the left of the screen, and ten pixels');
Writeln('from the top of the screen.');
readln;
Textbackground(red);
{word - red}
Writeln('Note the difference');
Textbackground(5); {integer - 5}
ClrScr;
Writeln('Note the difference'); Readln;
Writeln('Note the difference');
Textbackground(5); {integer - 5}
ClrScr;
Writeln('Note the difference'); Readln;
Textcolor(red);
{word - red}
Writeln('Text colour');
Textcolor(5); {integer - 5}
Writeln('Text colour'); Readln;
Writeln('Text colour');
Textcolor(5); {integer - 5}
Writeln('Text colour'); Readln;
Example 1:
Writeln('Press
ANY key!!!');
Readkey;
Readkey;
Example 2:
Writeln('Press
ANY key');
Keypress := readkey; {keypress is a DECLARED string variable(can be an integer variable)}
Writeln(Keypress);
Keypress := readkey; {keypress is a DECLARED string variable(can be an integer variable)}
Writeln(Keypress);
Writeln('1');
Delay(1000);{1000 milliseconds}
Writeln('2');
Delay(1000);
Writeln('3');
Readln;
Delay(1000);{1000 milliseconds}
Writeln('2');
Delay(1000);
Writeln('3');
Readln;
writeln('Press
enter and the program terminates!);
Readln;
Halt(0);
Readln;
Halt(0);
Note that
instructions following 'halt' are not executed since the program terminates
when halt is encountered.