1. type data
a. Type Integer
merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti terlihat dalam tabel. Tabel menunjukkan jenis data, ukuran dalam memori dan rentang nilainya.
merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti terlihat dalam tabel. Tabel menunjukkan jenis data, ukuran dalam memori dan rentang nilainya.
tabel. Tipe Data Bilangan Integer
Tipe Data
|
Ukuran Tempat
|
Rentang Nilai
|
Byte
|
1 byte
|
0 s/d +255
|
Shortint
|
1 byte
|
-28 s/d +127
|
integer
|
2 bytes
|
-32768 s/d 32767
|
Word
|
2 bytes
|
0 s/d 65535
|
Longint
|
4 bytes
|
2147483648 s/d 2147483647
|
Contoh bilangan integer adalah: 34 6458 -90 0 1112 Penggolongan tipe data integer tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan misalkan untuk suatu perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya 32767 kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte), daripada sebagai longint(4 byte). Di dalam kompilernya, Pascal menyediakan konstanta untuk bilangan Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa menggunakannya di dalam programnya tanpa harus terlebih dahulu mendefinisikannya.
-MaxInt bernilai 32.767
-MaxLongint bernilai 2.147.483.647.
contoh:
-MaxInt bernilai 32.767
-MaxLongint bernilai 2.147.483.647.
contoh:
Program display_maxint;
uses wincrt;
begin writeln (maxint)
end.
Hasilnya: 32.767
uses wincrt;
begin writeln (maxint)
end.
Hasilnya: 32.767
b. Type Real
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific . Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2. Penggolongan tipe data bilangan real dapat dilihat pada tabel.
tabel. Bilangan Real
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific . Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2. Penggolongan tipe data bilangan real dapat dilihat pada tabel.
tabel. Bilangan Real
Tipe Data
|
Ukuran Tempat
|
Rentang Nilai
|
real
|
6 bytes
|
2.9 x 10-39 s/d 1.7 x1038
|
single
|
4 bytes
|
1.5 x 1045 s/d 3.4 x 1038
|
double
|
8 bytes
|
5.0 x 10-324 s/d 1.7 x 10308
|
extended
|
10 bytes
|
3.4 x 10-4932 s/d 1.1 x 104932
|
comp
|
8 bytes
|
-9.2x 1018 s/d 9.2x 1018
|
c. Char
tipe data ini menyimpan karakter yang diketikkan dari keyboard, memiliki 266 macam yang terdapat dalam tabel ASCII (American Standard Code for Information Interchange). Contoh: 'a' 'B' '+', dsb. Yang perlu diingat bahwa dalam menuliskannya harus dengan memakai tanda kutip tunggal. Jenis data ini memerlukan alokasi memori sebesar 1(satu) byte untuk masing-masing data.
tipe data ini menyimpan karakter yang diketikkan dari keyboard, memiliki 266 macam yang terdapat dalam tabel ASCII (American Standard Code for Information Interchange). Contoh: 'a' 'B' '+', dsb. Yang perlu diingat bahwa dalam menuliskannya harus dengan memakai tanda kutip tunggal. Jenis data ini memerlukan alokasi memori sebesar 1(satu) byte untuk masing-masing data.
d. Tipe Data Boolean
merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu: Boolean, WordBool, dan LongBool. Tipe boolean memakai memori paling kecil, sedangkan WordBool dan LongBool dipakai untuk menulis program yang sesuai dengan lingkungan Windows.
merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu: Boolean, WordBool, dan LongBool. Tipe boolean memakai memori paling kecil, sedangkan WordBool dan LongBool dipakai untuk menulis program yang sesuai dengan lingkungan Windows.
Tabel. Tipe Data Boolean
Tipe Data
|
Ukuran Tempat
|
Boolean
|
1 byte
|
WordBool
|
2 byte
|
Longbool
|
3 byte
|
Sebagai bilangan ordinal boolean true mempunyai nilai 1(satu), sedangkan false nilainya adalah 0(nol).
Contoh:
Contoh:
Program display_bool;
uses wincrt;
begin writeln(ord(true));
writeln(ord(false));
end.
Hasilnya: 1 0 3.2.
uses wincrt;
begin writeln(ord(true));
writeln(ord(false));
end.
Hasilnya: 1 0 3.2.
e. Tipe Data String
merupakan suatu data yang menyimpan array (larik), sebagai contoh 'ABCDEF' merupakan sebuah konstanta string yang berisikan 6 byte karakter. Ukuran Tempat untuk tipe data ini adalah 2 s/d 256 byte, dengan jumlah elemen 1 s/d 255. String dideklarasikan dengan string [ konstanta ] atau string. Bila ukuran string tidak didefinisikan maka akan banyak memakan ruang, karena ukuran string menyesuaikan dengan defaultnya. Misalkan
var kata: string [20]; atau var kata: string; karena string merupakan array dari karakter. Maka kata[1] merupakan karakter pertama dari string, kemudian kata[2], merupakan elemen kedua, dst.
Contoh:
Program hal_string;
Uses wincrt;
var s : string;
begin s:='Hello';
writeln(s);
writeln('panjang dari string adalah: ',ord(s[0]));
end.
Uses wincrt;
var s : string;
begin s:='Hello';
writeln(s);
writeln('panjang dari string adalah: ',ord(s[0]));
end.
f. Tipe Data Set
Sebuah set merupakan suatu himpunan yang berisi nilai (anggota). set merupakan Tipe data yang khusus untuk Pascal. Set dalam pemrograman sangat mirip dengan himpunan dalam ilmu matematika,
contoh: A = { 1, 2, 3, 4, 5 }
Syntax: set of contoh:
type Digits = set of 0..9;
Letters = set of 'A'..'Z';
type Day = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
CharSet = set of Char;
Digits = set of 0..9;
Days = set of Day;
const EvenDigits: Digits = [0, 2, 4, 6, 8];
Vowels: Letters = ['A', 'E', 'I', 'O', 'U', 'Y'];
Kita tidak bisa menulis atau membaca isi dari set, tetapi kita bisa melakukan operasi yang lain dengan data yang ada pada set (mis. relasional).
Contoh:
Program contoh_set;
Uses wincrt;
type hari = (ahad, sen, sel, rab, kam,jum, Sab);
var semua_hari : set of hari;
hari_kerja : set of sen .. jum;
hari_ini : hari;
begin
hari_ini:=sen;
if hari_ini in hari_kerja then
writeln('HARI INI HARI KERJA')
else
writeln('HARI LIBUR');
end.
Uses wincrt;
type hari = (ahad, sen, sel, rab, kam,jum, Sab);
var semua_hari : set of hari;
hari_kerja : set of sen .. jum;
hari_ini : hari;
begin
hari_ini:=sen;
if hari_ini in hari_kerja then
writeln('HARI INI HARI KERJA')
else
writeln('HARI LIBUR');
end.
g. Tipe Data Pointer
pointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memory. Suatu variabel yang points(menunjuk) ke sesuatu sehingga disebut pointer. Ada dua macam pointer:
-typed(tertentu): merupakan pointer yang menunjuk pada tipe data tertentu pada variable.
-generic(umum): merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variable.
Contoh deklarasi pointer:
var p : ^integer;
Contoh di atas merupakan deklarasi variabel p sebagai pointer dari integer. Dengan menambahkan tanda caret (^) di depan nama tipe data variabel yang dideklarasikan:
contoh :
program contoh_pointer1;
uses wincrt;
var p : ^integer;
m, n : integer;
begin
m:=10;
n:=15;
p:=@m; { p sekarang menunjuk ke m }
p^:=12; { hal ini sama dengan m:=12; }
p:=@n; { p sekarang menunjuk ke n }
p^=m; { { hal ini sama dengan n:=m; }
writeln('m = ',m,', n = ',n); { m = 12, n = 12 }
end.
uses wincrt;
var p : ^integer;
m, n : integer;
begin
m:=10;
n:=15;
p:=@m; { p sekarang menunjuk ke m }
p^:=12; { hal ini sama dengan m:=12; }
p:=@n; { p sekarang menunjuk ke n }
p^=m; { { hal ini sama dengan n:=m; }
writeln('m = ',m,', n = ',n); { m = 12, n = 12 }
end.
2. Beberapa operator:
1. Aritmatika
2. Boolean
3. Relasional
4. Set
1. Aritmatika
2. Boolean
3. Relasional
4. Set
Tabel Operator Aritmatika PASCAL
Operator
|
Operasi
|
Tipe Operand
|
Tipe Hasil Operasi
|
+
|
Penjumlahan
|
Integer, real
|
Integer, real
|
-
|
Pengurangan
|
Integer, real
|
Integer, real
|
*
|
Perkalian
|
Integer, real
|
Integer, real
|
/
|
Pembagian
|
Integer, real
|
Integer, real
|
div
|
Pembagian
|
integer, integer
|
integer
|
mod
|
Sisa pembagian
|
integer, integer
|
integer
|
Contoh :
9 + 2 (hasil: 11)
9 - 2 (hasil: 7)
9 * 2 (hasil: 18) 9 / 2 (hasil: 4.5)
9 div 2 (hasil: 4)
9 mod 2 (hasil: 1)
9 + 2 (hasil: 11)
9 - 2 (hasil: 7)
9 * 2 (hasil: 18) 9 / 2 (hasil: 4.5)
9 div 2 (hasil: 4)
9 mod 2 (hasil: 1)
Tabel Operator Boolean PASCAL
Operator
|
Operasi
|
Tipe Operand
|
Tipe Hasil Operasi
|
not
|
negasi
|
boolean
|
boolean
|
and
|
logika ‘and’
|
boolean
|
boolean
|
or
|
logika ‘or’
|
boolean
|
boolean
|
xor
|
logika ‘xor’
|
boolean
|
boolean
|
Contoh: A dan B suatu variabel boolean
A
|
not (A)
|
TRUE
|
FALSE
|
FALSE
|
TRUE
|
A
|
B
|
A and B
|
A or B
|
A xor B
|
TRUE
|
TRUE
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
FALSE
|
FALSE
|
TRUE
|
TRUE
|
FALSE
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
FALSE
|
FALSE
|
Tabel . Operator Relasional
Operator
|
Operasi
|
Tipe Operand
|
Tipe Hasil Operasi
|
=
|
Sama dengan
|
tipe sederhana, string, pointer dan set
|
boolean
|
<>
|
Tidak sama dengan
|
tipe sederhana, string, pointer dan set
|
boolean
|
<
|
Lebih kecil dari
|
tipe sederhana, string
|
boolean
|
>
|
Lebih besar dari
|
tipe sederhana, string
|
boolean
|
<=
|
Lebih kecil atau =
|
tipe sederhana, string
|
boolean
|
>=
|
Lebih besar atau =
|
tipe sederhana, string
|
boolean
|
Contoh: Misal suatu variable A:=9 dan B:=2,
maka: A = B (hasil: FALSE);
A <= B (hasil: FALSE) A <> B (hasil: TRUE);
A >= B (hasil: TRUE)
A < B (hasil: FALSE)
A > B (hasil: TRUE)
maka: A = B (hasil: FALSE);
A <= B (hasil: FALSE) A <> B (hasil: TRUE);
A >= B (hasil: TRUE)
A < B (hasil: FALSE)
A > B (hasil: TRUE)
Operasi pada Set
a. Operasi Relasional pada Set
Ada empat perbandingan relasional yang diperkenankan pada set.
Tabel Operator Relasional pada set
a. Operasi Relasional pada Set
Ada empat perbandingan relasional yang diperkenankan pada set.
Tabel Operator Relasional pada set
Operator
|
Operasi
|
Tipe Operand
|
Tipe Hasil Operasi
|
=
|
Sama dengan
|
Set, set
|
boolean
|
<>
|
Tidak sama dengan
|
Set, set
|
boolean
|
<=
|
Lebih kecil atau =
|
Set, set
|
boolean
|
>=
|
Lebih besar atau =
|
Set, set
|
boolean
|
Misal A dan B adalah merupakan dua buah set. A = B : mempunyai hasil True jika A dan B memiliki anggota-anggota yang sama.
Contoh: [Sun, Tue, Fri] = [Tue, Fri, Sun].
A <> B: mempunyai hasil True jika A dan B memiliki anggota-anggota yang tidak sama.
A <= B : menunjukkan bahwa A adalah subset dari B.
Contoh: Jika A berisi [Sun, Mon, Tue] dan B berisi [Sun, Mon, Tue, Wed, Thu], maka A adalah merupakan subset dari B dan ekspresi menghasilkan nilai True.
A >= B : menunjukkan bahwa A adalah superset dari B.
Contoh: Jika A berisi [Sun..Sat] dan B berisi [Mon..Fri], maka A adalah merupakan superset dari B dan ekspresi menghasilkan nilai True.
b. Operasi Logika pada Set
Ada tiga operasi logika pada set.
Tabel 5. Operator Logika pada set
Ada tiga operasi logika pada set.
Tabel 5. Operator Logika pada set
Operator
|
Operasi
|
Tipe Operand
|
Tipe Hasil Operasi
|
+
|
Union
|
Set
|
Set
|
-
|
Difference
|
Set
|
Set
|
*
|
Intersection
|
Set
|
Set
|
Misal:
+ atau Union: [Sun, Mon, Tue, Wed] + [Mon, Thu, Fri] menghasilkan [Sun, Mon, Tue, Wed, Thu, Fri].
- atau Difference: [Sun, Mon, Tue, Wed] - [Mon, Tue, Fri] menghasilkan [Sun, Tue, Wed], yang merupakan anggota adari set pertama yang bukan anggota set yang kedua.
* atau Intersection: [Sun, Mon, Tue, Wed] * [Mon, Tue, Fri] menghasilkan [Mon,Tue], yang merupakan anggota kedua set.
+ atau Union: [Sun, Mon, Tue, Wed] + [Mon, Thu, Fri] menghasilkan [Sun, Mon, Tue, Wed, Thu, Fri].
- atau Difference: [Sun, Mon, Tue, Wed] - [Mon, Tue, Fri] menghasilkan [Sun, Tue, Wed], yang merupakan anggota adari set pertama yang bukan anggota set yang kedua.
* atau Intersection: [Sun, Mon, Tue, Wed] * [Mon, Tue, Fri] menghasilkan [Mon,Tue], yang merupakan anggota kedua set.
5. Ekspresi Merupakan kombinasi antara operator dan operand. Ekspresi matematik yang terjadi dalam dunia nyata diterjemahkan kedalam bahasa Pascal dengan sedikit perubahan tanda.
Contoh:
Contoh:
Ekspresi matematika
|
Ekspresi PASCAL
|
• a + b
|
• a + b
|
• x ( y + z )
|
• x * ( y + z )
|
• b2 - 4ac
|
• b * b - 4*a*c
|
Contoh: Bila dideklarasikan var i, j: integer; maka, i + j adalah ekspresi aritmatik (menghasilkan suatu bilangan integer) i < j adalah ekspresi boolean (menghasilkan logika TRUE atau FALSE)
6. Fungsi Matematik Standar dalam PASCAL
Tabel 6. Beberapa fungsi matematik standar yang disediakan oleh PASCAL
Tabel 6. Beberapa fungsi matematik standar yang disediakan oleh PASCAL
Nama Fungsi
|
Deskripsi
|
Tipe Argumen
|
Tipe Hasil Operasi
|
abs
|
absolute value
|
real/integer
|
real/integer
|
arctan
|
arctan (radian)
|
Real/integer
|
real
|
cos
|
cosine (radian)
|
real/integer
|
real
|
sin
|
sin (radian)
|
real/integer
|
real
|
exp
|
fungsi Perpangkatan e
|
real/integer
|
real
|
ln
|
ln
|
real/integer
|
real
|
round
|
Pembulatan terdekat
|
real
|
integer
|
sqr
|
kuadrat
|
real/integer
|
real/integer
|
sqrt
|
Akar kuadrat
|
real/integer
|
real
|
trunc
|
Pembulatan ke bawah
|
real/integer
|
integer
|
Contoh :
Abs(-11) (hasil: 11)
Round(10.6) (hasil: 11)
Trunc(10.6) (hasil: 10)
Sqrt(4) (hasil: 2)
Sqr(4) (hasil: 16)
Untuk fungsi trigonometri:
x = sin phi menjadi x:=sin (3.1416);
Abs(-11) (hasil: 11)
Round(10.6) (hasil: 11)
Trunc(10.6) (hasil: 10)
Sqrt(4) (hasil: 2)
Sqr(4) (hasil: 16)
Untuk fungsi trigonometri:
x = sin phi menjadi x:=sin (3.1416);