loading...

Tipe Data Bahasa Pascal


Tipe Data Pada Bahasa Pascal
Penggunaan tipe data ini sangat penting pada semua bahasa pemrograman bukan pascal saja. Karena pengunaan tipe data yang benar akan menjamin kesuksesan program yang tepat. Tipe data juga berpengaruh terhadap memori yang dibutuhkan oleh suatu program.
1. Tipe Data Bilangan Bulat (Integer)
Untuk tipe data bilangan bulat pada pascal disebut dengan integer. Bilangan bulat merupakan bilangan yang tidak terdapat bilangan pecahan, contohnya -15, 0, 4, 573 dan seterusnya. Tipe data bilangan bulat dibagi lagi menjadi beberapa kategori seperti pada tabel berikut.

Tipe Data
Ukuran Tempat
Rentang Nilai
Minimum
Maksimum
Shortint
1 byte
-128
127
Integer
2 bytes
-32768
32767
Longint
4 bytes
-2147483648
2147483647
Byte
1 byte
0
255
Word
2 bytes
0
65535
Penggolongan tipe data bilangan bulan tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan, misalkan untuk suatu perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya adalah 32767, kita cukup mendeklarasikan variabel bilangan sebagai integer, daripada sebagai longint yang nilai maksimumnya jauh lebih besar. Penggunaan tipe data yang tidak sesuai dengan tipe data yang diinginkan atau melebihi rentang maksimum akan menghasilkan keluaran yang tidak sesuai, misalkan dibutuhkan nilai x sadalah 255 dan tipe data yang digunakan adalah shortint maka akan menghasilkan angka -1. Karena rentang maksimum tipe data shortint adalah 127, dan total rentang nilai dari -128 sampai dengan 127 adalah 256. Jadi nilai -1 berasal dari 255 – 256.
2. Tipe Data Bilangan Pecahan
Nama dari tipe data bilangan pecahan adalah real. Bilangan real merupakan jenis bilangan pecahan, dapat dituliskan secara biasa ataupun model scientific. Tipe data bilangan real dibagi menjadi beberapa kategori seperti pada tabel berikut:
Tipe Data
Ukuran Tempat
Rentang Nilai
Minimum
Maksimum
Real
6 bytes
2.9e-39
1.7e38
Single
4 bytes
1.5e-45
3.4e38
Double
8 bytes
5.0e-324
1.7e308
Extended
10 bytes
3.4e-4932
1.1e4932
Comp
8 bytes
-9.2e18
9.2e18
Pada bilangan real 2.9e-39, huruf e merupakan simbol perpangkatan 10. Jadi bilangan 2.9e-39 mempunyai nilai sama dengan 2.9 x 10-39.
3. Tipe Data String
Nama dari tipe data string adalah string. Tipe data string adalah kumpulan dari beberapa karakter dan panjangnya tidak boleh melebihi 255 karakter. Jika string mengandung tanda kutip satu (‘), maka tanda kutip tersebut harus diberi tanda kutip lagi, atau dengan kata lain sebuah tipe data string harus diapit tanda kutip satu. Ukuran tempat untuk tipe data ini adalah 2 sampai dengan 256 byte, dengan jumlah elemen 1 sampai dengan 255. Bila ukuran string tidak didefinisikan maka akan banyak memakan ruang, karena ukuran string menyesuaikan dengan defaultnya. Misalkan, var x : string [10], karena string merupakan larik dari karakter. Maka x[1] merupakan karakter pertama dari string, kemudian x[2], merupakan elemen kedua, dan seterusnya. Jumlah dari karakter yang dapat diinputkan dibatasi sampai 10 karakter saja.
4. Tipe Data Karakter
Untuk tipe data karakter ditulis dengan nama char. Tipe data ini menyimpan karakter yang diketikkan dari keyboard, memiliki 266 macam yang terdapat dalam tabel ASCII (American Standard Code for Information Interchange). Contohnya ‘a’, ‘Y’, ‘+’, ♥, dan sebagainya. Domain karakter adalah huruf di dalam alphabet,  tanda baca, operator aritatmatika dan karakter-karakter khusus. 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.
5. Tipe Data Logika
Untuk nama tipe data logika adalah boolean (berasal dari nama seorang ilmuan matematika , George Boole). Tipe data logika memiliki 2 tetapan yaitu True (benar) dan False (salah), karena pada tipe data ini hanya memiliki dua domain nilai. Sebagai bilangan ordinal boolean True mempunyai nilai 1(satu), sedangkan False nilainya adalah 0(nol). Berikut adalam macam-macam tipe data boolean dan operasi yang dapat dilakukan dengan tipe data logika adalah sebagai berikut:

Tipe Data
Ukuran
Boolean
1 byte
ByteBool
1 byte
WordBool
2 byte (1 word)
LongBool
4 byte (2 word)
Definisi
Pascal
Negasi
Not
Konjungsi
And
Disjungsi Inklusif
Or
Disjungsi Eksklusif
Xor


Operator penghubung untuk tipe logika adalah =, <>, >, <, >=, <=, IN

6. Tipe Data Structured
Tipe data structured merupakan tipe data yang terdiri lebih dari satu nilai. Jadi misalkan kita menginputkan 2 nilai maka kita dapat membuat 2 nilai yang berbeda. Tipe data structured masih dibagi lagi menjadi beberapa bagian yaitu:
Tipe Array
Tipe data array atau larik adalah suatu bentuk struktur data yang menampung satu atau lebih dari satu data yang sejenis (bertipe data sama), yang diwakili oleh satu nama variabel yang sama. Posisi masing-masing komponen dalam array dinyatakan dengan nomer indeks. Array mempunyai tipe indeks yang merupakan batasan nilai.
Tipe Record
Sama seperti tipe array yang memiliki fungsi untuk menampung lebih dari 1 data, namun tipe data record dapat menampung data dengan variabel yang berbeda. Jadi dengan tipe data record, dapat dikumpulkan beberapa item data yang masing-masing mempunyai tipe data berbeda-beda. Masing- masing item data disebut field.
Tipe Data Pada Bahasa Pemograman Turbo Pascal

Tipe data yang disediakan oleh PASCAL meliputi:
1. Tipe Data Sederhana
Merupakan tipe data dasar yang sering dipakai oleh program, meliputi: integer (bilangan bulat), real (bilangan pecahan), char (alphanumerik dan tanda baca), dan boolean (logika). Untuk data integer dan real masing-masing terbagi menjadi beberapa kategori
a.      Bilangan Integer
Merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti terlihat dalam tabel 1. tabel 1 menunjukkan jenis data, ukuran dalam memori dan rentang nilainya.

Tabel 1. 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).

b.      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 2.

Tabel 2. 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 255 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.

Tabel 3. Tipe Data Boolean

Tipe Data
Ukuran Tempat
Boolean
1 byte
WordBool
2 byte
Longbool
3 byte

2.    Tipe Data Terstruktur
a.      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;
Contoh:
b.      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';
        Day = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
        CharSet = set of Char;
Days = set of Day;
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 Cth_Set;
USES WINCRT;
Type HARI = (AHAD, SENIN, SELASA, RABU, KAMIS, JUMAT, SABTU);
VAR SEMUA_HARI : SET OF HARI;
          HARI_KERJA   : SET OF SENIN.. JUMAT;
          HARI_INI          : HARI;
BEGIN
HARI_INI := SENIN;
IF HARI _INI   IN   HARI_KERJA  THEN
WRITELN('HARI INI HARI KERJA')
ELSE
WRITELN('HARI LIBUR');
END.
Salah satu manfaat dari penggunaan tipe data set adalah untuk mengecek apakah suatu nilai muncul dalam suatu range tertentu. Misalnya, untuk menentukan apakah suatu karakter berupa Lower Case Letter (huruf kecil), mis. Ch adalah tipe Char, kita bisa menulis, if (Ch >= 'a') and (Ch <= 'z') then Writeln( Ch,' merupakan huruf kecil.'); atau, dengan notasi set, kita bisa menulis, if Ch in ['a'..'z'] then Writeln( Ch,' merupakan huruf kecil.');

Tipe Data Pointer
Pointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memori. 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 variabel.
-       Generic (umum) : merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variabel.
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 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; { M sekarang menunjuk ke N }
P=M; { { hal ini sama dengan N:= M; }
WRITELN('M = ',M,', N = ',N); { M = 12, N = 12 }
END.
Ketika P menunjuk ke M ( P:=@M;), mengakses P^ sama dengan mengakses M. Dalam membuat program, dalam penggunaan pointer kita memerlukan alokasi memori tertentu: Ketika kita mendeklarasikan variabel pointer dalam "VAR" sehingga merupakan suatu static variabel, yang mana Static Variabel ini dibatasi oleh kapasitas 64KB untuk tiap modul. Yang berarti dalam program utama kita hanya bisa menggunakan hanya 64KB dan tiap unit Pascal hanya bisa memakai 64KB. Sehingga kita perlu memecahkan program kebeberapa unit.
Operator
Beberapa operator yang disediakan oleh PASCAL:
1. Aritmatika
2. Boolean
3. Relasional
4. Set
Tabel 4. 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)

Tabel 5. 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 6. 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 variabel 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)

Operasi pada Set
a. Operasi Relasional pada Set
Ada empat perbandingan relasional yang diperkenankan pada set.

Tabel 7. 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 8. 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.
Ekspresi
Ekspresi merupakan kombinasi antara operator dan operand.
Ekspresi matematik yang terjadi dalam dunia nyata diterjemahkan kedalam bahasa Pascal dengan sedikit perubahan tanda.

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)

Fungsi Matematik Standar dalam PASCAL
Tabel 9. 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


Demikian Tipe Data Pada Bahasa Pascal, semoga bermanfaat…
Salam Sahabat Dowerr :)


Subscribe to receive free email updates:

0 Response to "Tipe Data Bahasa Pascal"

Post a Comment