Konsep Tipe Data
Pertemuan 4 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 Peancis).
TIPE DATA 1. Tipe data Sederhana 1. Tipe Ordinal (berurutan) 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 2. 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 Created: (jkw) April 2008
Konsep Tipe Data
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. 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;
2 Created: (jkw) April 2008
Konsep Tipe Data
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
3 Created: (jkw) April 2008
Konsep Tipe Data
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
2. TIPE STRING Tipe string digunakan untuk menyimpan data yang berupa untaian karakter, seperti ‘ Pascal ’ , ’Algoritma ‘ Var Kalimat : string;
# ConCat[fungsi]. Untuk menggabungkan 2 atau beberapa variabel string. Sintaks: ConCat (s1 [,s2,...,sn]: String) : String; contoh: ConCat ('ABC','DEF') { ABCDEF } # Copy [fungsi]. Mengambil satu atau beberapa karakter dari sebuah string. Sintaks: Copy (S,Index,Count) : String; Keterangan : S = sebuah string (string). Index = posisi awal kita akan mengambil beberapa karakter (integer) Count = banyaknya karakter yang akan diambil (integer). # Delete [prosedur]. Menghapus sebagian karakter dari sebuah string. Sintaks: Delete (S,Index,Count); Keterangan : sama dengan statemen Copy. # Insert [prosedur]. Menyisipkan satu atau beberapa karakter ke dalam sebuah string. Sintaks: Insert (Source,var S,Index); Keterangan : Source = sumber string untuk disisipi (string) var S = string tujuan yang akan disisipi oleh string Source (string) Index = posisi mulai (integer).
4 Created: (jkw) April 2008
Konsep Tipe Data # Length [fungsi]. Memberikan nilai panjang dari suatu string (jumlah karakter dalam string). Sintaks: Length (S); Keterangan : S = string Length(S) menghasilkan nilai integer. # Pos [fungsi]. Mencari posisi sebuah bagian string (substring) didalam sebuah string. Sintaks: Pos (Substr,S); {menghasilkan nilai Byte} Keterangan : Substr = substring yang akan dicari posisinya di dalam sebuah string S. Bila bernilai 0 berarti nilai string yang dicari tidak ada. # Str [prosedur]. Merubah nilai numerik ke dalam nilai string. Sintaks: Str (N,S); Keterangan : N = data tipe integer, S = data tipe string. # Val [prosedur]. Merubah nilai string ke dalam nilai numerik. Sintaks: Val (S,N,P); Keterangan : S = nilai string, N = nilai real, P = posisi salah. Nilai string harus berisi angka, plus atau minus, bila tidak berarti kesalahan dan letak kesalahannya ditunjukkan oleh variabel posisi salah. Jika benar, maka nilai variabel tsb = 0 (nol). # UpCase [fungsi]. Memberikan huruf kapital dari argumen. Sintaks: UpCase (S); Keterangan : S = variabel bertipe karakter.
5 Created: (jkw) April 2008
Konsep Tipe Data
3. TIPE TERSTRUKTUR 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) 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 digunakan untuk menyimpan kumpulan nilai ( disebut juga anggota himpunan) yang bertipe sama. Type HimpunanKarakter =
set of char;
d. FILE tipe data untuk mengakses file. Type Nomorfile = file of integer;
6 Created: (jkw) April 2008
Konsep Tipe Data
SUPLEMEN 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 Blok Program Utama END. 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;
7 Created: (jkw) April 2008
Konsep Tipe Data b. Operator Aritmatika Operator
Operasi
Tipe Operand real, real
Tipe Hasil real
Perkalian
integer, integer
integer
DIV
Pembagian bulat
real, integer integer, integer real, real
real Integer real
/
Pembagian real
integer, integer
real
Sisa pembagian
real, integer integer, integer real, real
real integer real
Penambahan
integer, integer
integer
real, integer real, real
real real
integer, integer
integer
real, integer
real
*
MOD
+
-
Pengurangan
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
8 Created: (jkw) April 2008
Konsep Tipe Data WRITE dan WRITELN Digunakan untuk menampilkan data kelayar. WRITE (‘Halo ’); WRITE (nama);
menampilkan string halo 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.
Referensi: Bina Sarana Informatika
9 Created: (jkw) April 2008