Rabu, 31 Oktober 2012

Tipe data dan Operartor di Pascal


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.
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
  • Clrscr: (clear screen)
writeln('When you press enter, the screen would be cleared!');
readln;
clrscr;
  • Gotoxy(int,int): (Go to position x and y);
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;
  • Textbackground(word/int): (Background colour);
Textbackground(red); {word - red}
Writeln('Note the difference');
Textbackground(5); {integer - 5}
ClrScr;
Writeln('Note the difference'); Readln;
  • Textcolor(word/int): (Text colour);
Textcolor(red); {word - red}
Writeln('Text colour');
Textcolor(5); {integer - 5}
Writeln('Text colour'); Readln;
  • Readkey: (Reads a key-press);
Example 1:
Writeln('Press ANY key!!!');
Readkey;
Example 2:
Writeln('Press ANY key');
Keypress := readkey; {keypress is a DECLARED string variable(can be an integer variable)}
Writeln(Keypress);
  • Delay(int): (Waits for some time);
Writeln('1');
Delay(1000);{1000 milliseconds}
Writeln('2');
Delay(1000);
Writeln('3');
Readln;
  • Halt(int): (Program terminates with an exit code);
writeln('Press enter and the program terminates!);
Readln;
Halt(0);
Note that instructions following 'halt' are not executed since the program terminates when halt is encountered.

KOMENTAR FACEBOOK

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Host