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 Peancis).
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:
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.
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.
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);