Konsep Tipe Data
Bahasa
Pemrograman PASCAL
Pascal
, merupakan bahasa pemrograman tingkat
tinggi.
Pascal
dirancang oleh Prof. Niklaus Writh (Technical University di Zurich, Switzerland)
pada tahun 1971
Nama
Pascal diambil sebagai penghargaan kepada Blaise Pascal (ahli matematika dan
philosopi dari Perancis).
Pembagian
Tipe Data:
1.
Tipe Data Sederhana (Simple Type)
Disebut
juga sebagai tipe data skalar,yakni bahwa dalam sebuah perubah hanya
dimungkinkan untuk menyimpan sebuah nilai data,yakni bahwa tipe data skalar
menunjukkan untuk data tersebut nilainya terbentuk menurut suatu urutan
tertentu. Tipe data sederhana terbagi menjadi:
A.
Tipe Ordinal (berurutan)
adalah
sebuah subset dari tipe data sederhana. Semua tipe sederhana disebut sebagai
data dengan tipe ordinal kecuali tipe real. Dalam bahasa pascal, tipe data
skalar menunjukkan bahwa untuk data tersebut nilainya terbentuk menurut urutan
tertentu, yaitu nilainya ada dalam urutan.
Karakteristik
tipe Ordinal adalah
Merupakan
Himpunan Berurutan (ordered set) → nilai
dari tipe data ordinal memiliki nilai yang berurutan
Memiliki
Fungsi standard ORD/Ordinalitas (digunakan untuk menghasilkan nilai urutannya.)
Memiliki
Fungsi standard PRED/Predecessor (digunakan untuk menghasilkan nilai urutan
sebelumnya.). Jika diterapkan pada nilai pertama akan menyebabkan error.
Memiliki
Fungsi standard SUCC/Successor(digunakan untuk menghasilkan nilai urutan
sesudahnya). Jika diterapkan pada nilai terakhir akan menyebabkan error.
Contoh
Program:
uses
crt;type
Colors
= (MERAH,BIRU,HIJAU);
begin
clrscr;
Writeln(‘BIRU
mempunyai nilai ordinal ‘,Ord(BIRU));
Writeln(‘kode
ASCII dari “c” adalah ‘, Ord(‘c’), ‘ desimal’);
writeln;
Writeln(‘predecessor
dari 5 adalah ‘,Pred(5));
Writeln(‘successor
dari 10 adalah ‘,Succ(10));
if
Succ(MERAH) = BIRU then
Writeln(‘DALAM
TIPE Colors ,MERAH merupakan ‘,
‘predecessor
dari BIRU.’);
readln;
end.
HASIL
:BIRU mempunyai nilai ordinal 1
kode
ASCII dari “c” adalah 99 desimal
predecessor
dari 5 adalah 4
successor
dari 10 adalah 11
DALAM
TIPE Colors ,MERAH merupakan predecessor dari BIRU.
Macam
dari tipe ordinal adalah:
a.
Integer → tipe data yang digunakan untuk menyimpan bilangan bulat (tidak
memiliki titik desimal)
Ada lima tipe data yang termasuk dalam kelompok
ini, yaitu integer, short int, long int, byte dan word.
Tipe
Jangkauan
Ukuran
Shortint 128…127 Signed 8 bit
Integer -32768…32767 Signed
16 bit
Longint -2147483648…2147483647 Signed 32 bit
Byte 0…255 UnSigned
8 bit
Word 0…65535 UnSigned
16 bit
b.
Boolean → adalah tipe data yang hanya mempunyai dua nilai, yaitu BENAR (TRUE)
dan SALAH (FALSE). Operator yang digunakan adalah AND, OR atau NOT.
c.
Char → tipe data yang digunakan untuk menyimpan data alfanumeris. Dalam program
Pascal, nilai data tipe char ditulis diantara tanda petik, seperti: ‘A’, ‘Z’,
‘8’, ‘*’, dsb. Ada empat fungsi yang
telah didefinisikan dapat digunakan untuk memanipulasi data tipe char, yaitu:
Fungsi
ordinal, ORD(kar), dan kar adalah adalah data tipe char yang nilai ORD(kar)
adalah angka urutan dalam kode ASCII yang digunakan untuk melambangkan karakter
tersebut. Sebagai contoh ORD(‘A’) adalah 65.
Fungsi
karakter, CHR(I) dengan I bilangan bulat positif, merupakan kebalikan dari
fungsi ORD. Nilai yan diperoleh merupakan karakter ASCII yang dinyatakan dengan
urutan ke I, contohnya: CHR(65) adalah ‘A’
Fungsi
pendahulu, PRED(kar), dengan Kar adalah data tipe char dimana nilai PRED(kar)
adalah karakter yang dalam urutannya mendahului kar. Contoh:PRED(‘B’) adalah
‘A’
Fungsi
penerus, SUCC(kar) dengan nilai SUCC(kar) adalah karakter yang dalam ururtannya
sesudah kar. Contoh: SUCC(‘B’) adalah ‘A’
d.
Terbilang → digunakan untuk memberi nama pada beberapa nilai tertentu. (Tipe
data yang didefinisikan sendiri oleh pembuatnya → dikenal juga dengan tipe data
enumerated)
Contoh:
Type
Hari
= (Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu)
e.
Sub Jangkauan → digunakan untuk mendeklarasikan tipe yang berada pada jangkauan
tertentu. Pada dasarnya tipe subjangkauan hampir sama dengan tipe bilangan
bulat, bedanya kita bebas menentukan jangkauan dari tipe ini, misalnya dari 1
sampai 100.
Contoh:
Type
Batas
= 0 .. 100
B.
Tipe Real
Adalah
tipe data yang menggunakan menyimpan bilangan real / pecahan.
Terdapat
5 macam data pada tipe real, yaitu: real, single, double, extended dan comp.
Tipe
data
Jangkauan
Digit
penting
Ukuran
Real 2.9 * 10-39 … 1.7 * 1038 11-12 6
byte
Single 1.5 * 10-45 … 3.4 * 1038 7-8 4
byte
Double 5.0 * 10-324 … 1.7 * 10308 15-16 8
byte
Extented 3.4 * 10-39 … 1.1 * 104932 19-20 10
byte
Comp -263+1 … 1063-1 19-20 8byte
Operator
matematika yang digunakan adalah +, -, *, /.Penggunaan tipe data real ini
adalah dalam perhitungan matematika, sains dimana derajat ketelitian sangat
diperhatikan.
2.
Tipe STRING
adalah
tipe data yang digunakan untuk menyimpan data yang berupa gabungan dari
beberapa karakter, seperti: ‘Pascal’, ‘Logika dan Algoritma’, dsb. Besarnya
adalah antara 1 sampai dengan 255 karakter.
Bentuk
umum penulisan tipe data ini adalah:
Type
Pengenal
= String[panjang];
dengan:
Pengenal
= nama tipe data
Panjang = bilangan bulat yang menunjukkan jumlah
karakter
Sebagai
contoh:
Type
Kata
= String[50]
Var
Nama1,
Nama2 : Kata;
OPERASI
STRING
Operasi
string terbagi mencadi dua macam, yaitu:
A.
Prosedur Standar
Prosedur-prosedur
standar pada operasi string ada beberapa macam, yaitu:
#
DELETE
→
Berfungsi menghapus sebagian karakter dari sebuah string.
Sintaks:
DELETE (S,Index,Count)
Keterangan:
S = String
Index
= Posisi awal karakter yang akan dihapus
Count
= Banyaknya karakter yang akan dihapus
Contoh:
S = ‘BINA SARANA INFORMATIKA’
DELETE
(S,5,7)
hasilnya
adalah: ‘BINA INFORMATIKA’
Perlu
diperhatikan bahwa spasi juga dihitung sebagai satu karakter.
#
INSERT
→
Berfungsi menyisipkan satu atau beberapa karakter kedalam sebuah string.
Sintaks:
INSERT (Source, Var S, Index)
Keterangan:
Source = Sumber string untuk disisipkan (string)
Var
S = String tujuan yang akan disisipi
oleh string Source (string)
Index = posisi mulai (integer)
Contoh:
S =
‘LOGIKA’
T =
‘ALGORITMA’
INSERT
(‘ALGO’,S,3)
INSERT(T,S,1)
#
STR
Sintaks: Str (N [:lebar [:desimal]],var S : string);
→
Digunakan untuk merubah nilai numerik (ditunjukkan oleh nilai N) menjadi nilai
string (ditunjukkan oleh pengenal variabel S). Nilai N dapat berupa bilangan
real atau integer. Nilai lebar menunjukkan format panjang dari nilai utuh dan
nilai desimal menunjukkan format dari panjang nilai dibelakang koma.
Keterangan
:
N =
data tipe integer atau real
S =
data tipe string.
Contoh:
N =
1234
STR
(N,S)
STR(N:8,S)
#
VAL
Sintaks:
VAL (S:String,N,PosisiSalah)
→
Digunakan untuk mengkonversi suatu nilai string menjadi nilai numerik. Variabel
S harus berisi angka atau tanda plus/minus bila tidak berarti salah dan letak
kesalahannya ditunjukkan oleh nilai PosisiSalah. Nilai dari PosisiSalah akan
nol jika tidak terjadi kesalahan.
Contoh:
S =
‘-123′
VAL
(S,N,PosisiSalah)
S =
‘123.A5′
VAL
(S,N,PosisiSalah)
B.
Fungsi Standar
#
COPY
Sintaks
:
COPY
(s : string, index : integer, count : integer) : string
Digunakan
untuk menyalin sejumlah karakter (jumlah karakter yang disalin ditunjukkan oleh
nilai count) mulai dari posisi yang ditunjukkan oleh nilai integer index dari
nilai string yang ditunjukkan oleh s.
Contoh:
S =
‘INFORMATIKA’
P =
COPY (S,1,4)
Q =
COPY (S,6,4)
#
CONCAT
Sintaks
:
CONCAT
(s1 [,s2, … , sn] : string) : string
Digunakan
untuk merangkai beberapa nilai string yang ditunjukkan oleh nilai string s1,
s2, …. , sn
Contoh:
S =
‘INFORMATIKA’
P =
‘BINA’
Q =
‘SARANA’
V =
CONCAT (P,Q,S)
W =
CONCAT(P,’_’,Q,’_’,S)
#
POS
Sintaks
:
POS
(Substr : string, s: string) : byte
Digunakan
untuk mencari posisi letak dari suatu nilai string (ditunjukkan oleh Substr)
yang ada didalam nilai string yang lain (ditunjukkan oleh s). Nilai yang
dihasilkan adalah berupa nilai byte yang menunjukkan letaknya. Bila bernilai
nol berarti nilai string yang dicari tidak ada.
Contoh:
S =
‘INFORMATIKA’
P =
POS(‘ATI’,S)
Q =
POS(‘FORMASI’,S)
#
LENGTH
Sintaks
:
LENGTH
(s : string) : integer
Digunakan
untuk menghitung panjang atau jumlah karakter yang ada dinilai string yang
ditunjukkan oleh s. Hasil dari fungsi ini adalah nilai numerik integer positif.
Contoh:
S =
‘INFORMATIKA’
Q =
‘BINA’
P =
LENGTH(S)
R =
LENGTH(CONCAT(S,Q))
3.
Tipe Struktur
Pada
tipe ini setiap perubah dapat menyimpan lebih dari sebuah nilai data yang
masing-masing nilai data disebut komponen. Karakteristik tipe data terstruktur
ini adalah ditentukan berdasarkan cara penstrukturan dan tipe masing-masing
komponen. Ukuran tipe terstruktur dalam bahasa pemrograman Turbo Pascal
maksimum 65520 byte. Pada tipe ini terdapat empat buah tipe data terstruktur,
yaitu larik, rekaman, himpunan, dan berkas
a.
Tipe larik(array tipe)
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 index.
Bentuk
umum penulisan:
Type
pengenal = array[tipe index] of tipe;
dengan
Pengenal
= nama tipe data
Tipe
index = tipe data untuk tiap nomor index
Tipe
= tipe data komponen
Parameter
tipe index akan menentukan banyaknya komponen larak/array tersebut, sebagai
contoh:
Type
vek = array[1..100] of integer;
Akan
menunjukkan bahwa vek adalah tipe data yang berupa larik/array yang komponennya
bertipe integer dan banyaknya adalah 100 buah. Dekalarasi yang disebutkan
diatas disebut dengan deklarasi array/larik dimensi satu atau dapat disebut
juga dengan vektor, sedangkan untuk larik/array dimensi banyak dapat dilihat
pada conoth deklarasi berikut:
Type
Tbl = array[1..100 ] of array [1..5] of real; atau
Type
Tbl = array[1..100,1..5] of real;
b.
Tipe record
adalah
kumpulan data yang setiap elemennya bisa mempunyai tipe data yang berbeda satu
sama lainnya. Pada larik, semua elemen harus bertipe sama.
c.
Tipe set/himpunan
adalah
kumpulan objek yang mempunyai tipe data yang sama dan urutan penulisannya tidak
diperhatikan. Setiap objek dalam suatu set disebut anggota atau elemen
himpunan.
d.
Tipe file atau berkas
adalah
kumpulan sejumlah komponen yang bertipe sama yang jumlahnya tidak tertentu dan
biasanya tersimpan dalam suatu media penyimpanan luar.
e.
Tipe pointer
adalah
fasilitas yang memungkinkan pemakai menggunakan perubah yang bersifat dinamis
f.
Tipe terbilang atau enumerated, disebut demikian karena semua nilai yang ada
disebut dengan cara satu persatu.
Contoh:
Type
TOKO = (baru,ramai,sukses,rapi);
TypeHARI
=(minggu,senin,selasa,rabu,kamis,jum’at,sabtu,minggu);
TypeBULAN
=(jan,feb,mar,apr,mei,jun,jul,ags,sep,okt,nop,des);
typeSEKOLAH=(tk,sd,smp,sma,universitas);
Komentar
Posting Komentar