Anda di halaman 1dari 16

Makalah Pengantar Pemrograman

TIPE DATA PADA BAHASA PEMROGRAMAN


PASCAL

Nama : Kurnia Ratna Yuliani

NIM : H11113310

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS HASANUDDIN

MAKASSAR

2013

[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 masing-masing 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 memori Jangkauan nilai


(dalam byte)
BYTE 1 0..255
SHORTINT 1 -128..127
INTEGER 2 -32768..32767
WORD 2 0..65535
LONGINT 2 -2147483648..2147483647

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 memori Jangkauan Nilai Digit Signifikan
(dalam Byte)
REAL 6 2.9 x 10E-39..1.7 x 10E38 11-12
SINGLE 4 1.5x10E-45 .. 3.4x10E38 7-8
DOUBLE 8 5.0x10E-324 .. 1.7x10E308 15-16
EXTENDE 10 1.9x10E-4951 .. 1.1x10E4932 19-20
D
COMP 8 -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 : +, -, *, /
* Tanda Baca :,.;“!?
*Huruf Kecil : a, b, c,…..,x,y,z
* Simbol-simbol Khusus :@&[]()%
[5]
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 1 byte
WordBool 2 byte
Longbool 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)
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

[6]
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

panjang : bilangan bulat yang menentukan banyaknya karakter, bila parameter


panjang karakter tidak ditulis maka dianggap 255 karakter.

2. Tipe Larik

[7]
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:
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

[8]
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;
Untai = set of char;
Huruf = set of ‘A’..’Z’;
Sakit = (pusing, mual, lemas, lesu, letih);
Penyakit = set of sakit;

5. Tipe Berkas

[9]
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;

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

[10]
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.

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

[11]
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

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

[12]
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,';

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:
[13]
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/wp-
content/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-bahasa-pemograman-
turbo.html pada hari selasa tanggal 18 Februari 2014 pukul 16.23

[16]

Anda mungkin juga menyukai