Anda di halaman 1dari 16

Makalah Pengantar Pemrograman

TIPE DATA PADA BAHASA


PEMROGRAMAN PASCAL

[1]

BAB 1
PENDAHULUAN

A. LATAR BELAKANG
Bagi sebagian orang yang bisa mengoperasikan computer pada saat ini,
bahasa pemgrograman computer masih merupakan bahasa yang sulit untuk
di mengerti sehingga sebagian orang tersebut enggan atau malas untuk
mempelajari lebih jauh mengenai bahasa pemgrograman komputer tersebut.
Sehingga walau tanpa proses poling, survai, statistic dan sebagainya.
Dalam bahasa pascal yang dikatakan rumit oleh sebagian awam
ternyata memiliki tipe data yang sangat bagus bisa digunakan untuk sebuah
variable atau konstanta pada program. Tipe data tersebut antara lain adalah
Byte yaitu angka dari 0 sampai 225, Integer yaitu angka dari -32768 to
32767, Real yaitu semua nilai pecahan dari 1E-38 to 1E+38, Boolean yaitu
nilai TRUE atau FALSE, char yaitu semua karakter dari table ASCII, dan string
yaitu semu huruf, spasi, frasa. Dimana tipe-tipe data tersebut memiliki
desktipsi (Range Variabel) yang berbeda-beda.
Pasal memiliki sintaks yang terstruktur yang memungkinkan penulisan
program di pecah menjadi fungsi-fungsi kecil tyang dapat di gunakan
berulang-ulang. Bahasa pascal juga merupakan bahasa yang digunakan
sebagai standar bahasa pemgrograman yang digunakan sebagai IOI
(Internasional Olympiad in informatics).
Oleh karena itu melihat seberapa pentingnya peranan bahasa pascal
dalam dunia pemrograman maupun dalam dunia pendidikan, maka kami
menulis makalah yang berjudul type data dalam bahasa pascal. Tidak
hanya itu, salah satu latar belakang penulisan makalah ini adalah sebagai
tugas mata kuliah pengantar pemgrograman.

[2]

B. RUMUSAN MASALAH
Adapun rumusan masalah yang diangkat dari makalah ini ialah apa
sajakah tipe-tipe data dalam bahasa pascal?
C. TUJUAN PENULISAN
Dengan adanya makalah ini, diharapkan pembaca dan penulis
mengetahui Type Data dalam Bahasa Pascal.

[3]

BAB 2
PEMBAHASAN
A. 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 masingmasing terbagi menjadi beberapa kategori.
1. Tipe Ordinal
Semua tipe sederhana disebut tipe ordinal kecuali real. Karakteristik tipe
data ordinal antara lain :
Semua kemungkinan nilai

dari

suatu

tipe ordinal merupakan

himpunan berurutan dan setiap nilai berkaitan dengan ordinalitasnya


yaitu nilai integral.
Fungsi standard ord dapat diterapkan pada sembarang tipe ordinal
untuk mengetahui ordinalitasnya.
Fungsi standard pred dapat diterapkan untuk mengetahui predesesor.
Fungsi standard succ dapat diterapkan untuk mengetahui suksesor.
2. Tipe Integer
Merupakan tipe data berupa bilangan bulat, Ada lima tipe data yang
termasuk dalam kelompok ini seperti terlihat pada tabel di bawah ini.
Tipe

Ukuran

Jangkauan nilai

memori
BYTE
SHORTINT
INTEGER
WORD
LONGINT

(dalam byte)
1
1
2
2
2

0..255
-128..127
-32768..32767
0..65535
2147483648..2147483
647

Contoh bilangan integer adalah: 34, 6458, -90, 0, 1112

[4]

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).
3. Tipe Real
Konstanta bertipe real adalah bilangan yang berisi titik desimal. Dalam
Pascal paling sedikit harus ada satu digit sebelum dan sesudah titik
desimal, tidak boleh ada koma dan nilainya bisa positif atau negatif.
Dalam Turbo Pascal terdapat lima macam tipe real yaitu real, single,
double, extended dan comp seperti terlihat pada tabel di bawah ini.
Tipe

Ukuran

Jangkauan Nilai

memori
REAL
SINGLE
DOUBLE
EXTENDE
D
COMP

Digit
Signifikan

(dalam Byte)
6

2.9 x 10E-39..1.7 x

11-12

4
8

10E38
1.5x10E-45 .. 3.4x10E38
5.0x10E-324 ..

7-8
15-16

10

1.7x10E308
1.9x10E-4951 ..

19-20

1.1x10E4932
-2E+63+1 .. 2E+63-1

19-20

4. Tipe 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. Perlu diingat bahwa data bertipe char hanya terdiri dari 1
karakter.
Himpunan karakter tersebut adalah sebagai berikut :
* Hurup Kapital / Besar : A,B,C,X,Y,Z
* Digit
: 0,1,2,,8,9
* Operator Aritmatika
: +, -, *, /
[5]

* Tanda Baca
*Huruf Kecil
* Simbol-simbol Khusus

:,.;!?
: a, b, c,..,x,y,z
:@&[]()%

5. 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.
Tipe Data

Ukuran
Tempat

Boolean
WordBool
Longbool

1 byte
2 byte
3 byte

Sebagai bilangan ordinal boolean true mempunyai nilai 1(satu),


sedangkan false nilainya adalah 0(nol).
Contoh:
Program display_bool;
uses wincrt;
begin
writeln(ord(true));
writeln(ord(false));
end.
6. Tipe Terbilang
Disebut tipe terbilang karena semua nilai disebut satu persatu, contoh
Type Toko = (baru, ramai, sukses, rapi,
gadjah)

[6]

Perlu diperhatikan bahwa dalam tipe terbilang semua data harus


diletakkan di antara kurung, urutan datanya harus diperhatikan karena
akan mempengaruhi fungsi pred dan succ.
7. Tipe Subjangkauan
Tidak jarang terjadi batas nilai yang mungkin untuk suatu perubah
merupakan bagian atau subjangkauan dari tipe data yang telah
didefinisikan, contoh nilai ujian adalah dari 0 sampai 100.
type
Nilai = 0..100;
B. TIPE DATA KOMPLEKS ATAU TERSTRUKTUR
Tipe data kompleks atau terstruktur merupakan tipe data yang terdiri
dari beberapa item data. Tipe data ini dapat terdiri dari array, record, file
ataupun set.
1. Tipe String
Data yang bertipe string adalah data yang berisi sederetan karakter
yang banyaknya karakter bisa berubah-ubah sesuai kebutuhan yaitu
dari 1 sampai 255 karakter.
Bentuk umum dari deklarasi tipe string adalah:
type pengenal = string <[panjang]>
Keterangan:
pengenal : nama tipe data.
Contoh:
Program hal_string;
Uses wincrt;
Var s: string;
Begin s:=Hello;
Writeln(s);
Writeln(panjang dari string adalah :,ord(s[0]));
end

[7]

panjang : bilangan bulat yang menentukan banyaknya karakter, bila


parameter panjang karakter tidak ditulis maka dianggap 255 karakter.
2. Tipe Larik
Larik (array) adalah tipe terstruktur yang mempunyai komponen dalam
jumlah yang tetap dan setiap komponen mempunyai tipe data yang
sama. Posisi masing-masing komponen dalam larik dinyatakan sebagai
nomor indeks.
Bentuk umum dari tipe larik adalah
type pengenal = array [tipe_index] of tipe;
pengenal : nama tipe data.
tipe_index : tipe data untuk nomor index.
tipe : tipe data komponen.
Contoh,
type Vek = array [1..100] of integer;

3. Tipe Rekaman
Sama halnya dengan larik, rekaman (record) adalah kumpulan data.
Perbedaan antara larik dengan rekaman adalah dalam larik semua
elemennya harus bertipe sama tetapi dalam rekaman setiap elemen
bisa mempunyai tipe data yang berbeda satu sama lainnya.
Bentuk umum deklarasi rekaman adalah
type pengenal = record
medan1 :tipe1;
medan2 :tipe2;
.
.
.
medann :tipen;
end;
Keterangan:

[8]

pengenal :

pengenal yang menunjukkan tipe

data

yang akan

dideklarasikan.
medan1,, medann : nama medan yang akan digunakan.
tipe1,, tipen : sembarang tipe data yang telah dideklarasikan
sebelumnya.
Contoh deklarasi rekaman,
type Tgl_Kalender = record
Tanggal :1..31;
Bulan : 1..12;
Tahun : 1900..2000;
end;

4. Tipe Himpunan
Tipe himpunan adalah kumpulan obyek yang mempunyai tipe data
yang sama dan urutan penulisannya tidak diperhatikan.Setiap onyek di
dalam

suatu

himpunan

disebut

dengan

anggota

atau

elemen

himpunan
Bentuk umum deklarasi himpunan adalah
type pengenal = set of tipe_data;
atau dapat juga langsung dideklarasikan dalam bagian deklarasi
perubah seperti berikut
var pengenal = set of tipe_data;
Keterangan:
pengenal : nama perubah atau pengenal yang akan dinyatakan
sebagai tipe himpunan.
tipe_data : tipe data dari anggota himpunan, harus bertipe ordinal.
Contoh deklarasi himpunan adalah sebagai berikut.
type Irama = (jazz, rock, blues, country, classic);
Musik = set of Irama;
Nilai = set of 0..10;
[9]

Untai = set of char;


Huruf = set of A..Z;
Sakit = (pusing, mual, lemas, lesu, letih);
Penyakit = set of sakit;
5. Tipe Berkas
Berkas (file) adalah kumpulan sejumlah komponen yang bertipe data
sama yang jumlahnya tidak tentu dan biasanya tersimpan dalam suatu
media

penyimpan

luar.

Jumlah

komponen

dalam

berkas

dapat

ditambah jika diperlukan.


Dalam Pascal, berkas menyediakan data yang nantinya akan
digunakan oleh suatu program. Berkas dapat berupa berkas yang
disimpan di dalam cakram magnetis, pita magnetis, kartu plong dan
sejenisnya atau berupa piranti logika yang selama ini kita gunakan,
yaitu dengan statemen input dan output, yang menunjukkan piranti
masukan keluaran standar (papan ketik dan layar tampilan).
Bentuk umum dari deklarasi berkas adalah
type

pengenal

file

of

pengenal1;
Keterangan:
pengenal : pengenal yang akan dinyatakan sebagai tipe data berkas.
pengenal1 : tipe data komponen berkas.

C. TIPE DATA POINTER


Pointer merupakan suatu tipe data dalam Pascal yang berfungsi untuk
menunjuk dan menyimpan alamat memori. Dalam penulisan pointer biasa
digambar

dengan panah, sedangkan bagian memori yang ditunjuk

digambar dengan kotak, dan isinya ditulis di dalam kotak.


Bentuk umum dari deklarasi tipe pointer:
Untuk pointer bertipe:
<nama_var> : ^<tipe_data>;
Untuk pointer tidak bertipe:
<nama_var> : pointer;

[10]

Suatu pointer dapat menunjuk ke data bertipe elementer, terstruktur,


pointer yang lain, atau tidak bertipe. Jika suatu pointer tidak menunjuk
ke mana-mana,

pointer itu dinamakan dangling, sedangkan bagian

memori yang tidak dapat diakses

karena tidak ada pointer yang

menunjuk dinamakan garbage (sampah).


Dalam Pascal, pointer dapat diisi dengan nilai yang berasal dari:
1) Reserved word NIL
NIL merupakan reserved word dalam Pascal, di mana pointer yang
bernilai NIL dianggap tidak menunjuk alamat memori manapun.NIL
biasa digambarkan dengan lambang ground.
2) Fungsi Ptr
Sintaks:
Function Ptr(Seg, Ofs : word) : pointer;
dengan Seg : segmen memori.
Ofs : offset memori.
Fungsi Ptr mengembalikan pointer dari segmen dan offset yang
dimasukkan.

3) Operator @
Sintaks:
<nama_var>:=@<variabel_yang_alamatnya_diambil>;
Operator ini digunakan untuk mengambil alamat variabel yang akan
ditunjuk.

4) Prosedur New dan GetMem


Sintaks:
New(var P : pointer);
GetMem(var P : pointer, size : word);
Dengan P

: pointer yang akan diisi.

Size : ukuran yang dipesan.


[11]

Prosedur New digunakan untuk memesan memori untuk pointer


bertipe, sedangkan prosedur GetMem untuk pointer tidak bertipe. Kedua
prosedur ini akan membentuk suatu variabel dinamik yang diletakkan dalam
Heap. Heap adalah memori-memori di komputer yang belum dialokasikan,
yaitu memori yang tidak
digunakan oleh DOS, oleh program-program
resident, oleh program Turbo Pascal, internal stack yang digunakan oleh
Turbo Pascal dan variabel-variabel di data segmen. Pointer yang belum
digunakan sebaiknya diisi dengan NIL, dan untuk pointer
yang telah
menunjuk sebuah alamat yang sudah dipesan memorinya, isinya dapat
dimanipulasi melalui pointer.

CONTOH PENGGUNAAN POINTER


Deklarasi tipe data pointer:
program deklarasi;
uses crt;
var p : ^integer;
nilai : integer;
begin
clrscr;
nilai:=12;
p:=@nilai;
writeln(p^);
p^:=100;
writeln(p^);
writeln(nilai);
readln;
end.
Output: 12
[12]

100
100
Pembahasan:
Pada contoh program deklarasi ini, pertama-tama dideklarasikan variabel p
sebagai pointer yang bertipe integer. Dibuat sebuah variabel lagi yang diberi
nama nilai dan bertipe integer. Variabel nilai diisi dengan nilai 12. Kemudian
variabel p menunjuk alamat dari variabel nilai dengan operator @, sehingga
variabel p berisi nilai 12, dan ditampilkan outputnya di layar. Kemudian
variabel p diberi nilai 100, dan secara otomatis variabel nilai juga bernilai
100 karena sudah ditunjuk oleh variabel p. Kemudian isi dari variabel p yang
baru dan variabel nilai ditampilkan di layar.

Manipulasi memori lewat Pointer bertipe:


uses wincrt;
var p,q,r,s : ^string;
nilai : string;
begin
clrscr;
nilai:='ini string nilai!!!';
p:=@nilai;
new(q);
q^:='ini isi pointer q!!!';
r:=q;
s^:=q^;
writeln('alamat pointer p = ',seg(p^):4,':',ofs(p^):4,';
isi pointer p = ',p^);
writeln('alamat pointer q = ',seg(q^):4,':',ofs(q^):4,';

[13]

isi pointer q = ',q^);


writeln('alamat pointer r = ',seg(r^):4,':',ofs(r^):4,';
isi pointer r = ',r^);
writeln('alamat pointer s = ',seg(s^):4,':',ofs(s^):4,';
isi pointer s = ',s^);
readln;
end.
Output program:
alamat pointer p = 4446: 98; isi pointer p = ini string nilai!!!
alamat pointer q = 5559: 0;

isi pointer q = ini isi pointer q!!!

alamat pointer q = 5559: 0;

isi pointer r = ini isi pointer q!!!

alamat pointer q = 0: 0;

isi pointer s = ini isi pointer q!!!

Pembahasan:
Pada program ini dibuat 4 variabel pointer yang bertipe string, yaitu p, q,
r, s. Dan sebuah variabel dengan nama nilai yang bertipe juga string (bukan
pointer).
Pertama-tama variabel nilai diisi dengan nilai ini string nilai!!!. Kemudian
variabel p (pointer) menunjuk alamat dari variabel nilai dengan operator @,
sehingga variabel p juga berisi ini string nilai!!!. Kemudian dipesan tempat
pada heap dengan prosedur New untuk variabel q. Kemudian variabel q diisi
ini isi pointer q!!!. Setelah itu variabel r menunjuk alamat dari variabel q,
sehingga alamat maupun isinya sama. Kemudian variabel s diisi dengan nilai
dari variabel q, tapi dalam hal ini hanya nilainya saja, sedangkan alamatnya
tidak.

[14]

BAB 3
PENUTUP
A. KESIMPULAN
Deklarasi tipe data dapat dikelompokan menjadi tiga yaitu tipe data
sederhana, tipe data terstruktur dan tipe data pointer. Adapun tipe data
sederhana merupakan tipe data yang paling kecil, yang hanya melibatkan
satu item saja, tipe data terstruktur merupakan tipe data yang terdiri dari
beberapa item data, sedangkan tipe data pointer digunakan untuk
menunjuk pada alamat memori suatu data yang lain. Jadi, tipe data
pointer pada dasarnya tidak menyimpan nilai data secara langsung,
melainkan hanya menyimpan alamat dimana data berada.

B. SARAN
Kemi mengharapkan agar pembaca dapat memahami isi dari makalah ini
dan dapat memberikan kritik yang membangun mengenai makalah ini.

[15]

DAFTAR PUSTAKA

Yusra, surya. Bahasa Pemrograman. Diakses dari


http://blog.binadarma.ac.id/suryayusra/wpcontent/uploads/2011/01/konsep_bhs_pemrograman.pdf pada hari senin
tanggal 17 Februari 2014 pukul 19.18
Mei. Modul 2 Tabulasi Data. Diakses dari
http://ibumei.files.wordpress.com/2013/03/modul2.pdf pada hari senin
tanggal 17 Februari 2014 pukul 19.57
Dwi Riyani, et., al. Struktur Suatu Bahasa Pemrograman. Diakses dari
http://yagatama.files.wordpress.com/2010/01/presentation-bu-elly3.ppt
pada hari senin tanggal 17 Februari 2014 pukul 20.48
Bonvisa,Hardy. Tipe Data Pada Bahasa Pemrograman Turbo Pascal. Diakses
dari http://hardy-bonvisa.blogspot.com/2013/05/tipe-data-pada-bahasapemograman-turbo.html pada hari selasa tanggal 18 Februari 2014
pukul 16.23

[16]

Anda mungkin juga menyukai