NIM : H11113310
JURUSAN MATEMATIKA
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.
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
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.
[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.
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;
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
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.
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:
2) Fungsi Ptr
Sintaks:
Function Ptr(Seg, Ofs : word) : pointer;
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.
New(var P : pointer);
[11]
alamat yang sudah dipesan memorinya, isinya dapat dimanipulasi melalui 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:
[12]
juga bernilai 100 karena sudah ditunjuk oleh variabel p. Kemudian isi dari variabel p yang
baru dan variabel nilai ditampilkan di layar.
uses wincrt;
nilai : string;
begin
clrscr;
p:=@nilai;
new(q);
r:=q;
s^:=q^;
readln;
end.
Output program:
[13]
alamat pointer p = 4446: 98; isi pointer p = ini string nilai!!!
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
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]