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).
TIPE DATA
1.Tipe data Sederhana
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:
-->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.
Yang termasuk tipe data ordinal :
a.Integer tipe data untuk bilangan bulat (short int,word, byte dll).
b.Boolean tipe data yang memiliki nilai TRUE dan FALSE
c.Char tipe data yang berisi 1 buah karakter.
d.Terbilang
e.Sub Jangkauan
-->Real tipe data untuk menampung bilangan pecahan.
2.Tipe data String
tipe data yang terdiri dari sekumpulan karakter.
3.Tipe data Terstruktur
Array, Record, Set, File, objek
1.Tipe data Sederhana
# TIPE ORDINAL
tipe data yang merupakan subset dari tipe data sederhana, tipe sederhana adalah semua tipe data sederhana kecuali tipe data numerik real.
Macam tipe data ordinal :
a.Integer tipe data yang digunakan untuk menyimpan bilangan bulat.
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 yang hanya dapat bernilai benar atau salah (TRUE or FALSE).
c.Char tipe data yang digunakan untuk menyimpan data alfanumeris, seperti ‘A’,’Z’,’@’,’$’,’1’,’9’ dsb.
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:
1.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.
2.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’
3.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’
4.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 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 subjangkuan hampir sama dengan tipe bilangan bulat, bedanya kita bebas menentukan jangkauan dari tipe ini, misalnya dari 1 sampai 100.
Contoh :
Type
Nilai = 0..100;
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.).
•Memiliki Fungsi standard SUCC/Successor(digunakan untuk menghasilkan nilai urutan sesudahnya)
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.
Note ! Fungsi (seperti: ord,pred,succ,chr,length,concat dsb )adalah sebuah perintah / instruksi program yang digunakan untuk keperluan pemrograman yang disediakan oleh bahasa pemrograman PASCAL
TIPE REAL
Tipe data yang digunakan untuk menyimpan bilangan real/pecahan.
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
1.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))
2.TIPE TERSTRUKTUR
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.ARRAY / larik
yaitu tipe data berindeks yang terdiri dari satu atau lebih elemen/komponen yang memiliki tipe data yang sama. (mendeklarasikan kumpulan variabel yang bertipe sama)
Bentuk umum penulisan
type pengenal =array[topt index] of tipe;dengan
pengenal =nam tope data
topt index =tipe data untuk tiap nomor index
tipe =tipe data komponen
penulisan :
Var
Nama_larik : array [batas_bawah..batas_atas] of tipe larik;
Var
a: array[1..8] of longint;
Sama artinya dengan :
a1, a2, a3, a4, a5, a6, a7, a8 : longint;
b.RECORD / Rekaman
Tipe data ini digunakan untuk merepresentasikan kumpulan elemen/komponen yang memiliki satu jenis atau lebih tipe data. Tiap element disebut juga field atau property atau attribute.
Type
TKaryawan = record;
Nama : string;
Alamat : string;
Gaji : longint;
End;
c.SET / Himpunan
kumpulan objek yang mempunyao tope data yang sama dan urutan penilosan nya tidak doperhatikan. Setiap objek dalam suatu set dosebut anggota atau elemen himpunan.
Type
HimpunanKarakter = set of char;
d.FILE
tipe data untuk mengakses file.
Type
Nomorfile = file of integer;
e. Tipe file atau berkas
adalah kumpulan sejumlah komponen yang bertipe sama yang jumlahnya tidak tertentu dan biasanya tersimpan dalam suatu media penyimpanan luar.
f. Tipe pointer
adalah fasilitas yang memungkinkan pemakai menggunakan perubah yang bersifat dinamis
g. 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);
Type Subjangkauan atau subrange merupakan batas nilai suatu variable dari tipe data yang telah didefinisikan.
Bentuk umum penulisannya:
Type pengenal =konstanta1….konstanta2;dengan
Pengenal =nama tipe data yang dideklarasikan
Konstanta1 =batas bawah suatu nilai data
Konstanta2 =batas atas nilai data
Contoh:
Type nilai =0….100;kemarau=apr…okt;
Hari kerja =senin…..sabtu
MENGENAL PEMROGRAMAN PASCAL
Secara ringkas, struktur bahasa PASCAL dapat terdiri dari:
1.Judul Program
2.Blok Program
-deklarasi label
-definisi konstanta
-definisi tipe
-deklarasi variabel
-deklarasi prosedur
-deklarasi fungsi
3.Bagian Pernyataan (statetement program/baris perintah)
PROGRAM nama_program; {judul Program}
USES nama_unit; {deklarasi unit yang dipakai}
VAR { Deklarasi Variabel }
BEGIN dan END-->Blok Program Utama
a.Deklarasi variabel
Untuk membuat variabel/pengenal/indentifier pada pascal yaitu dengan menuliskan nama variabel dan tipe datanya pada bagian deklarasi variabel
Format penulisan: [ nama_identifier : tipe_data; ]
contoh :
Var
I : integer;
nama : string;
Jenis_kelamin : boolean;
Luas,Panjang,Lebar : integer;
b.Operator Aritmatika
contohnya:
Operator Operasi Tipe Operand Tipe Hasil
* Perkalian real, real real
integer, integer integer
real, integer real
DIV Pembagian bulat integer, integer Integer
/ Pembagian real real, real real
integer, integer real
real, integer real
Contoh :
operasi perkalian antara variabel PANJANG dan LEBAR di masukan kedalam variabel LUAS
LUAS := PANJANG * LEBAR;
c.Operator pemberi nilai (assignment operator)
Menggunakan sintax : “ := “ (titik dua sama dengan)
contoh:
LUAS := PANJANG * LEBAR
(hasil perkalian PANJANG * LEBAR dimasukan kedalam variabel LUAS)
d.Pernyataan masukan dan keluaran
READ dan READLN
Digunakan untuk meminta masukan dari papan ketik untuk diolah computer.
READ (nama);memasukan nilai ke variabel
WRITE dan WRITELN
Digunakan untuk menampilkan data kelayar.
WRITE (‘Halo ’);menampilkan string halo
WRITE (nama);menampilkan isi variable nama.
@ Perbedaan WRITE dengan WRITELN yaitu ketika perintah write ini dikerjakan kursor tidak akan ganti baris (tetap diposisi semula) sedangkan ketika perintah writeln ini dikerjakan kursor akan pindah baris.
Langganan:
Posting Komentar (Atom)
.jpg)
Tidak ada komentar:
Posting Komentar