Tipe Data Dalam Bahasa Pemograman Pascal

Macam - macam jenis tipe data dalam Pemograman Pascal beserta penjelasannya

 - Apa itu tipe data ? pernah denger si waktu pas sekolah kelas 1 SMK, dulu pernah belajar dan membahas ini didalam mata pelajaran " Pemograman Dasar ", Sempet lupa dan gagal paham dalam mempelajari dari pengertian ini, kalau begitu yuk kita bahas dan kita pahami diartikel ini :)

Didalam ilmu pemograman komputer, ada sebuah kata yakni, "Tipe Data". Jadi maksud dari pengertian tipe data itu ialah klarisifikasi data yang mengenalkan compiller ( penerjemah ) bagaimana seorang programmer bermaksud untuk menggunakan data. Dari sebagian besar bahasa pemograman mendukung berbagai macam Tipe Data Dalam Bahasa Pemograman Pascal , seperti yang kita tampilkan pada artikel dibawah ini :

A. Tipe data
Jenis sebuah objek sangat menetukan range nilai yang dapat dioperasikan terhadap suatu objek tersebut. Dalam kompile freepascal, terdapat dua jenis penggunaan tipe data, yaitu :

➤ Tipe data yang sudah terintergrasi atau built-in dalam compiler yang artinya tipedata tersebut tidak memerlukan pendeklarasian terlebih dahulu sebelum menggunakannya.

➤ Tipe data yang harus dideklarasikan terlebih dahulu sebelum memanggilnya dalam badan program utama atau disebut user defined type.


➝ Kode yang dibuat dalam freepascal dapat diintegrasikan dengan bahasa assembler dan diterjemahkan deplhi.

* Tampilan pendeklasian tipe data.

Var identifier : ( identifier_1,identifier_2,identifier_n );

* Contoh :

Var x : integer;;

B. Basic type atau tipe dasar 

➤ 1. Ordinal types 

      Karakteristik utama tipe ordinal adalah dukungan terhdapa penggunaan data yang memiliki data bernilai kecil dan bernilai besar. Selain itu, tipe ini data melakukan pengoperasian beberapa fungsi pascal seperti : Succ, High, Ord, Dec, Pred, Low, dan Inc.

A. INTEGER ATAU BILANGAN BULAT

    Tipe data ini tidak mengandung nilai pecahan atau desimal, seperti : Bilangan 77, 4.
Tipe data integer termasuk kategori tipe data smallint, Sedangkan  tipe data cardinal lebih senderung sebagai jenis tipe data longward. Dalam compiler freepascal, ada 10 tipe data jenis integer ( Bilangan Bulat ).

Tipe Data integer :



Operasi aritmatika pada tipe data integer :



Contoh : 

Mendeklarasikan tipe data integer ( Bilangan Bulat )

Program tipe data_integer;
uses crt;
var
      x,y :byte;
begin
      clrscr;
   x:10;
   y:x*5;
   writeln ('nilai y:',y)
End

 B. TIPE DATA BOOLEAN

    Tipe data boolean merupakan salah satu tipe data dengan hanya dua kemungkinan yaitu " False (0) atau True (1). Compiler freepascal mendukung type Bytebool, wordbool, dan Longbool. karena masih merupakan tipe ordinal, nilainya dapat diketahui urutannya dengan menggunakan fungsi ord. operasi logika yang dapat terjadi pada tipe ini adalah NOT, AND, OR.

Contoh : 

Mendeklarasikan tipe data boolean

Program crh_booelan;
uses crt;
var
     x:boolean;
     a:byte;
begin
     clrscr;
     a:=0;
     if a>100 then x:=true
     else x:=false;
     writeln ('nilai',a,' >100 ternyata ',x);
     writeln ('nilai  adalah ',ord(x));
End,


C. ENUMERATED TYPE

    Tipe data enumerasi menggambarkan nilai data secara berurutan dari deretan elemen menjadi sebuah daftar identifier menggunakan penomoran indeks elemen mulai dari 0,1, dan seterusnya.

- Bentuk format penulisan enumerated type dengan deklarasi var adalah sebagai berikut.

Contoh : 

Mendeklarasikan tipe data enumerated type  dengan variabel.

Program cth_enum;
uses crt;
var mobil : ( jazz, xenia, avanza )
begin
        clrscr;
        mobil :=xenia;
writeln ('nomor indeks mobil=',ord(mobil));
writeln ('nilai dengan fungsi pred=',pred(mobil));
writeln ('nilai dengan fungsi succ=',succ(mobil));
readln ();
End.

Adapun bentuk penulisan dengan metode type adalah sebagai berikut

Var identifier : ( identifier_1,identifier_2,identifier_n );

Contoh :

Type mobil = ( jazz, xenia, avanza );


D. SUBRANGE TYPE 

    Tipe ini mendefinisikan daftar elemen dari nilai terkecil hingga paling besar. format penulisan dengan tipe dataaa subrange adalah sebagai berikut.

Type identifier = nilai 1.. nilai 2;

Contoh :

Type nilai = 'a'..'z';

Nilai 1 dan nilai 2 adalah nilai dengan tipe ordinal yang sama dna dioperasikan dnegan fungsi ORD, PRED, dan SUCC. yang masih mengacu pada tipe enumerasi asalnya.

Contoh :

Mendeklarasikan type subrange langsung dengan variabel.

Program cth_subrange;
uses crt;
var
x:'a'..'e';
begin
         clrscr;
         x:='d';
         writeln ('nilai x dengan fungsi ord =',ord(x));
         writeln ('nilai x dengan fungsi pred =',pred(x));
         readln();
End.
         
➤ 2. Real type
    Tipe real mendukung penulisan bilangan pecahan atau penulisan angka dibelakang digit yang disebut Floating Point. ada enam jenis tipe dalam free pascal yang disajikan pada tabel berikut.

Tipe data real :



Contoh :

Program perkalian dengan tipe data real

Program Tipe_Real;
uses crt;
var
      x:real;
begin
      x:=1100.55;
      writeln ('nilai pada variabel x adalah =',x/6/2),
end.

Operasi yang dapat dilakukan pada tipe data real adalah ( +, -, *, /, OR, AND, NOR )


C. Character Type

1. Char

      Tipe data char membutuhkan 1 byte memori untuk melakukan penyimpanan karakter ASCII ( Huruf alfabet " a, z, A, Z ", Angka numerik " 0,9 ", tanda baca, operator aritmatika, dan simbol - simbol khusus ). untuk melakukan assigment terhadap variabel bertipe char, kita harus melampirkan tanda kutip tunggal, misalnya : 'a' atau 'A' atau dengan menambahkan simbol # diikuti kode a\ASII. karena masih termasuk tipe Ordinal, Char dapat dioperasikan dengan menggunakan fungsi ord ( untuk mengetahui urutannya ), fungsi succ, fungsi pred, prosedur inc, prosedur dec, dan fungsi CHR ( mengubah suatu bilangan bulat menjadi karakter yang sesuai dengan ASII ).

Contoh : 

Mendeklarasikan tipe data char

Program cth_char;
uses crt;
var x, y, z :char;
begin
         clrscr;
         x := 'A';
         y :=chr (100);
         z :=#70;
Writeln ('nilai x = ',x);
Writeln ('nilai y = ',y);
Writeln ('nilai z = ',z);

2. Widechar

      Freepascal mendukung tipe data widechar yang membutuhkan 2 byte memori untuk menampung satu karakter UNICODE dalam UTF-16 encoding. Sebuah karakter unicode dapat ditentukan oleh nilai karakter ( kode UTF-16 ) dengan mendahului nilai ordinal dengan simbol (#).

Contoh :

Const
          C3 : widechar = #$03A8;
          C4 : widechar = #$03A9;
atau
const
          C3 : widechar = widechar ($03A8);
          C4 : widechar = widechar ($03A9);

3. Other character

      Freepascal mendukung pemakaian beberapa jenis karakter lain diunit sistem operasi seperti : UCS2char, U

4. String

      Tipe data string memiliki jumlah maksimal karakter sepanjang 255 karakter. berikut ini format penulisan string. 

Type
identifier=string [panjang];

     Jika ada spesifikasi panjang ukuran karakter dalam deklarasi string, banyaknya karakter tergantung nilai yang ditentukan. berikut ini contoh penulisan pendeklarasian dalam bentuk type, char, maupun const.

Contoh :

Mendeklarasikan tipe data string

Program cth_string;
uses crt;
type
       kalimat =string[100];
var  
       x=kalimat;
       y=string [10];
const tahap= String (7) = 'contoh';
          baris= String (2) = '#13#10';
          benar= String (5) = 'yes';
          salah= String (5) = 'no';
begin
         clrscr;
         x:='ini adalah string';
         y:='dengan pascal;'
         writeln (x);
         writeln (y);
         writeln (tahap);
         writeln (baris);
         writeln (benar);
         writeln (salah);
end.
         
     Perintah length digunakan untuk mencari panjang dari string dengan output dalam bentuk integer. untuk menentukan urutan karakter dalam string, kita dapat membandingkannya, sebagai contoh 'AC' lebih besar dari 'B' dengan notasi 'AC' > 'B' menghasilkan nilai logika TRUE. string kosong ( panjangnya 0 ) adalah string yang mempunyai urutan terendah.

➤ 5. Shortstring

     ➝ Jika pilihan off (dimatikan) dengan simbol {$H-}, string akan bernilai shortstring.

     ➝ Jika pilihan on (dihidupkan) dengan simbol {$H+}, dan diberikan panjang tertentu, deklarasi tersebut adalah shortstring dengan format :

Shortstring = string [255];


6. Ansistrings

     Tipe antistrings merupakan referensi pascal yang digunakan oleh delphi dengan panjang karakter tanpa batas. setelah dikompilasi, anistrings dianggap sebagai sbuah tipe data pointer. apabila nilai string kosongs ' ', pointer merujuk pada NIL. namun, jika terdapat nilai data string, pointer merujuk kesebuah alamat heap memory. format penulisannya adalah sebagai berikut.

Type
identifier=ansistring;

➤ 7. Pchar

     Pchar merupakan tipe data pemograman deplhi yang didukung freepascal seperti sebuah variabel berjenis pointer yang merujuk keelemen array bertipe char yang diakhiri dengan karakter U (#0). Format pendeklarasian Pchar adalah sebagai berikut.

Type
identifier=pchar;

Contoh :

Mendeklarasikan tipe data pchar

Program cth_pchar;
uses crt;
const
         x : pchar='deklarasi pchar dengan konstanta';
var
         y : pchar;
         z : pchar;
         kata : string [30];
begin
         clrscr;
         y :='String menggunakan tipe data pchar';
         kata :='Belajar tipe data pchar'#0;
         z :=@kata[1];
         writeln (x);
         writeln (y);
         writeln (z);
         readln ();
end.

D. Structured Type

       Tipe terstruktur adalah tipe data yang memiliki satu atau lebih nilai data.

- Berikut adalah tipe data terstruktur

➤ 1. Array

      Tipe array merupakan sebuah tipe data yang dapat menyimpan satu atau lebih nilai data bertipe sama, baik satu dimensi atau multidimensi dengan mengacu indeks untuk setiap elemennya.

- Format penulisannya :

Type
Identifier= array [indeks_1, indeks_2..indeks_n] of
type data;

- Contoh

     Mendeklarasikan tipe data array

Program tarik 1;
uses crt;
type newlarik = array [1.100] of
integer; {nama tipe}
var a : new larik; {A=array newlarik}
begin
         clrscr;
         a [1]:=102;
         write ('nilai array A indeks ke1=',a (1));
         readln;
End.

2. Record

     Record adalah salah satu pemodelan tipe data bentuk baru yang mengandung lebih dari satu variabel dengan berbagai tipe data. bedanya model array dan record adalah bahwa setiap elemen array ditandai dengan indeks. tetapi setiap record  ditandai nama variabel anggotanya.

- Format deklarasinya adalah sebagai berikut.

Type anam_record=record
field1 : tipe_data1
field2 : tipe_data2
field3 : tipe_data3
....
field_n : tipe_data_n
End;

- Contoh :

Mendeklarasikan tipe data record.

Program cth_record;
uses crt;
type siswa=record
        nis : string [20]
        nama : string [30]
        umur : integer ;
     end;
var x : siswa;
begin
         clrscr;
         text color (14);
         write ('nis siswa:');read1n (x.nis);
         write ('nama siswa:');read1n (x.nama);
         write ('umur siswa:');read1n (x.umur);
         write ('===biodata siswa===');
         clrscr;
         writeln ('nis siswa adalah', x.nis);
         writeln ('nama siswa adalah', x.nama);
         writeln ('umur siswa adalah', x.umur);
         readln;
End.

➤ 3. Set

     Tipe data set terdiri dari beberapa nilai data bertipe ordinal yang secara otomatis akan berturut dari paling kecil hingga yang paling besar. Dalam set type tidak akan terdapat duplikasi data atau data kembar.

- Format penulisannya adalah sebagai berikut.

Indentifier = set of ordinal_type;

- Contoh :

Mendeklarasikan tipedata set type.

Program set_type;
uses crt;
typecth = set of 1..250;
varset1, set2 : cth;
              hasil 1 : boolean;
begin
         Clrscr;
         set 1 : [1,2,3,4];
         set 2 : [2,3,4,5,6];
         hasil1:
         write11:
         writeln(hasil 11);
         readln();
end.

➤ 4. File

     File merupakan sekumpulan elemen dengan tipe data tertentu.

- Format penulisannya adalah sebagai berikut.

Type FileType Name = File of type

Dengan file typename merupakan sebuah identifier yang bertipe tetap.

- Contoh : 

Mendeklarasikan tipe data file type

Program cth_file_type;
uses crt;
type siswa=record
         nis:string[20];
         nama:string[30];
         umur:integer;
       end;
       murid=file of siswa;
var x :murid;
begin
end.

E. Pointer dan Procedural type
     Pointer merupakan variabel yang mengandung alamat sebuah memory bukan sebuah nilai data. Format penulisan :

Type pointer type name =^type

 Sementara itu, tipe berjenis prosedural memiliki notasi penulisan dalam program berikut.

Type typoc = penulisan ( var x : integer );
         tyfun c = function :real;
var proc : typroc;
func : typroc;

- Contoh :

Mendeklarasikan tipe data pointer.

Program point_1
uses crt;
var
x,y : integer;
z :^integer;
begin
         clrscr;
         x:=100;
         z:=@x;
         y:=z^;
  writeln ('nilai x=',x);
  writeln ('nilai y=',y);
  readln();
End.

F. Variabel
     Variabel merupakan wadah sementara nilai dengan tipe data tertentu pada sebuah alamat memory. Ketika mendapatkan nilai ke variabel, compiler free pascal menghasilkan kode mesin sebagai tanda lokasi variabel disimpan pada memori. Notasi penulisan variabel adalah sebagai berikut.

Var variable_name:type_data;

➤ Syarat pemberian nama identifier adalah sebagai berikut.

1. Harus diawali dengan karakter huruf atau underscore (_)
2. Karakter kedua boleh menggunakan simbol atau angka, tetapi tidak boleh spasi.
3. Panjang identifier maksimal hanya 63 karakter karena karakter berikutnya tidak dianggap sebagai bagian dari karakter.
4. Tidak boleh terdapat duplikasi identifier
5. Identifier tidak boleh menggunakan daftar reserved word yang tersedia pada pascal.

➤ Ada 2 jenis variabel yang dapat dideskripsikan dalam pascal, yaitu :

1. Variabel global adalah variabel yang dideklarasikan diunit atau program, tetapi tidak dikenali dan tidak dipergunakan dalam prosedur fungsi. variabel ini disimpan pada alamat memori secara tetap selama proses program berjalan.

2. Variabel lokal  adalah dideklarasikan didalam prosedur atau fungsi. nilainya disimpan pada program stacks, yaitu tidak dilokasi tetap.

- Berikut ini daftar pendeklarasian variabel yang benar.

Jari_jari
ibukota
_kanan_ke2
result_x

- contoh deklarasi variabel.

Uses crt;
var
      var 1 : integer;
      var 2 : integer;cvar;
      var 3 : integer;cvar;external;
      var 4 : integer;external name'var 3';
      var 5 : integer;external'libc'name'var9';
      var 6 : integer absolute var1;
      var 7 : integer;cvar;export;
      var 8 : integer;cvar;public;
      var 9 : integer;integer;export name'me';
      var 10 : integer;public name 'ma';
      var 11 : integer=1;
begin
end.

➤ Keterangan :

- Bentuk pertama ( var 1 ) mendefinisikan variabel biasa

- Bentuk kedua ( var 2 ) merupakan variabel biasa dengan menetapkan identifier dalam baahsa assembler sama dengan nama variabel ( Var 2 )

- Bentuk ketiga ( var 3 ) merupakan variabel eksternal yang berarti kompiler akan menganggap memori terletak ditempat lain

- Bentuk keempat ( var 4 ) hampir sama dengan bentuk ketiga yang merupakan bentuk variabel yang disimpan secara eksternal sekaligus menetukan lokasi identifier assembler

- Bentuk kelima ( var 5) merupakan varian bentuk keempat yang menyertakan library memory cadangan

- Bentuk keenam ( var 6) merupakan varian tersimpan pada lokasi memori yang sama dengan variabel ( var 1 )
- Bentuk ketujuh ( var 7 ) menyatakan varian dan identifier assembler merujuk file objek lainnya
- Bentuk kedelapan ( var 8 ) merupakan varian mirip dengan bentuk ( var 7 ), dimana 'pulic' adalah alias untuk 'eksport'
- Bentuk kesembilan ( var 9 ) dan ( var 10 ) untuk merujuk nama variabel assembler
- Bentuk kesebelas ( var 11 ) yang menginisialisasi var 11 adalah integer dengan nilai sebesar 1.

- Contoh :

Mendeklarasikan tipe data pointer.

Program deklarasi_variabel;
uses crt;
var x,y,z:integer;
begin
         clrscr;
         x:=11;
         y:=2;
         z:=x mod y;
      writeln('sisa hasil bagi',x,' dan ',y;'=',z);
      readln ();
end.

G. Konstanta
        Konstanta merupakan nilai peubah layaknya variabel yang memiliki yang memiliki nilai data yang bersifat tetap. Besaran nilai konstanta ditetapkan ketika pertama kali dideklarasikan. ada 2 deklarasi jenis konstanta :

1. Konstanta tidak bertipe data
    Const

Const_nama = value;

- Contoh : 

Mendeklarasikan konstanta tanpa tipe data

Program deklarasi_const_tak_bertipe;
uses_crt;
const
         x='namaku adalah andi novianto';
         y=2;
      skul='SMK Negeri';
      kota='Surakarta';
      Prov='Jawa Tengah';
begin
      clrscr;
      writeln(x);
      writeln(skul),' ',y,' ',kota);
      writeln(prop);
      readln();
end

2. Konstanta dengan tipe data

    Const

Const_nama:type data=value;

Contoh : 

Mendeklarasikan konstanta dengan tipedata

Program cth_const_tipe;
uses crt;
const
        phi :real=3.14;
        r :=2;
        hasil :real =2*10.2;
var luas: real;
begin
         clrscr;
         luas:=phi*r*r;
         writeln (luas);
         writeln (hasil);
         readln ();
end.

Keterangan :

- Integer berguna untuk membulatkan angka pecahan menjadi sebuah bilangin positif
- LN ( Logaritma Natural ) berfungsi untuk menghasilkan nilai algoritma dari sebuah bilangan
- SIN ( SINUS ) berfungsi untuk menghitung nilai sinus dari sebuah bilangan yang biasanya digunakan untuk menghitung sudut tertentu dari 10 derajat - 360 derajat pada operasi matematika
- SQR ( Square ) berfungsi untuk melakukan perhitungan kuadrat ( pangkat 2 ) dari sebuah bilangan
- SQRT ( Square root ) berfungsi untuk mencari perhitungan akar kuadrat dari sebuah bilangan
- PRED berfungsi untuk menghasilkan nilai yang lebih kecil dari perintah pada tipe data Numerik
- FRAC berfungsi untuk menghasilkan nilai mutlak dari sebuah bilangan negatif
- ABS ( Absolute ) berfungsi untuk menghasilkan nilai mutlak dari sebuah bilangan negatif
Operator BLI → Digunakan untuk melakukan manipulasi bit pada bilangan data byte & word
   Operator Bitwipe → ( aljabar ) : Pascal AND, CR, SHRAN, SHI ( Jenis )
   Operator String ( karakter ) ~max = 255 char.

    → Procedur standar : - Delete : Menghapus substring ( String x,n )
                                          - Insert : Menyisipkan substring
                                          - STR : mengubah bentuk numerik menjadi nilai string
                                          - VAR : Mengubah nilai suatu argumen string menjadi numerik

   →  Fungsi Standar : - Concat : Menggabungkan 2 string / secara berurutan ( ban dung ) :
                                       - Copy : Menyalin substring pada string
                                       - Pos : mencari posisi bagian dari substring ( integer )
                                       - Lenght : memberikan nilai pada suatu string ( max 14 char )

   → Bahasa turbo pascal merupakan bahasa terstuktur

Seperti itu pembahasan mengenai penjelasan dari jenis tipe data dalam pemograman pascal Jika kalian ( Pembaca ) ada yang kurang paham / mempunyai pendapat yang berbeda dalam mengenai pemahaman dari , Silahkan masukkan komentar dibawah ini mengenai pengertian diatas. "Hatur Nuhun".

I will do something that starts from attraction :)

Share this