tipe data pada bahasa pemrograman pascal

19

Click here to load reader

Upload: sigit-hari-pranoto

Post on 18-Dec-2015

32 views

Category:

Documents


5 download

DESCRIPTION

PASCAL

TRANSCRIPT

TIPE DATA PADA BAHASA PEMROGRAMAN PASCAL

Nama Anggota: 1. Sigit Hari Pranoto. 2. Dody Permana Putra 3. Hairani Astuti 4. Suharni

AMIKOM MATARAMTAHUN AJARAN 2014/2015

BAB 1PENDAHULUAN

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.Pasal memiliki sintaks yang terstruktur yang memungkinkan penulisan program di pecah menjadi fungsi-fungsi kecil tyang dapat di gunakan berulang-ulang. Bahasa pascal juga merupakan bahasa yang digunakan sebagai standar bahasa pemgrograman yang digunakan sebagai IOI (Internasional Olympiad in informatics).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.

B. RUMUSAN MASALAHAdapun rumusan masalah yang diangkat dari makalah ini ialah apa sajakah tipe-tipe data dalam bahasa pascal?

C. TUJUAN PENULISANDengan adanya makalah ini, diharapkan pembaca dan penulis mengetahui Type Data dalam Bahasa Pascal.BAB 2PEMBAHASAN

A. TIPE DATA SEDERHANAMerupakan tipe data dasar yang sering dipakai oleh program, meliputi: integer (bilangan bulat), real (bilangan pecahan), char (alphanumerik dan tanda baca), dan boolean (logika). Untuk data integer dan real masing-masing terbagi menjadi beberapa kategori.

1. Tipe OrdinalSemua tipe sederhana disebut tipe ordinal kecualireal. 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 standardorddapat diterapkan pada sembarang tipe ordinal untuk mengetahui ordinalitasnya. Fungsi standardpreddapat diterapkan untuk mengetahuipredesesor. Fungsi standardsuccdapat diterapkan untuk mengetahuisuksesor.

2. TipeIntegerMerupakan tipe data berupa bilangan bulat, Ada lima tipe data yang termasuk dalam kelompok ini seperti terlihat pada tabel di bawah ini.TipeUkuran memori(dalam byte) Jangkauan nilai

BYTE10..255

SHORTINT1-128..127

INTEGER2-32768..32767

WORD20..65535

LONGINT2-2147483648..2147483647

Contoh bilangan integer adalah: 34, 6458, -90, 0, 1112Penggolongan 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. TipeRealKonstanta bertiperealadalah 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,extendeddancompseperti terlihat pada tabel di bawah ini.TipeUkuran memori(dalam Byte)Jangkauan NilaiDigit Signifikan

REAL62.9 x 10E-39..1.7 x 10E3811-12

SINGLE41.5x10E-45 .. 3.4x10E387-8

DOUBLE85.0x10E-324 .. 1.7x10E30815-16

EXTENDED101.9x10E-4951 .. 1.1x10E493219-20

COMP8-2E+63+1 .. 2E+63-119-20

4. Tipe CharTipe 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 bertipecharhanya 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. Tipe Data BooleanMerupakan 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.

Tipe DataUkuran Tempat

Boolean1 byte

WordBool2 byte

Longbool3 byte

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 TerbilangDisebut tipe terbilang karena semua nilai disebut satu persatu, contohType 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 fungsipreddansucc.

7. Tipe SubjangkauanTidak 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;

B. TIPE DATA KOMPLEKS ATAU TERSTRUKTURTipe data kompleks atau terstruktur merupakan tipe data yang terdiri dari beberapa item data. Tipe data ini dapat terdiri dari array, record, file ataupun set.

1. TipeStringData yang bertipestringadalah data yang berisi sederetan karakter yang banyaknya karakter bisa berubah-ubah sesuai kebutuhan yaitu dari 1 sampai 255 karakter.Bentuk umum dari deklarasi tipestringadalah:type pengenal = string

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

panjang: bilangan bulat yang menentukan banyaknya karakter, bila parameter panjang karakter tidak ditulis maka dianggap 255 karakter.

2. Tipe LarikLarik (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 adalahtype 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 RekamanSama 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 adalahtype pengenal= recordmedan1 :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 = recordTanggal :1..31;Bulan : 1..12;Tahun : 1900..2000;end;

4. Tipe HimpunanTipe 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 himpunanBentuk umum deklarasi himpunan adalahtype pengenal= set of tipe_data;

atau dapat juga langsung dideklarasikan dalam bagian deklarasi perubah seperti berikutvar 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 BerkasBerkas (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 danoutput, yang menunjukkan piranti masukan keluaran standar (papan ketik dan layar tampilan).Bentuk umum dari deklarasi berkas adalahtype pengenal = file of pengenal1;

Keterangan:pengenal: pengenal yang akan dinyatakan sebagai tipe data berkas.pengenal1: tipe data komponen berkas.

C. TIPE DATA POINTERPointer merupakan suatu tipe data dalam Pascal yang berfungsi untuk menunjuk dan menyimpan alamat memori. Dalam penulisan pointer biasa digambar dengan panah, sedangkan bagian memori yang ditunjuk digambar dengan kotak, dan isinya ditulis di dalam kotak. Bentuk umum dari deklarasi tipe pointer: Untuk pointer bertipe: : ^; Untuk pointer tidak bertipe: : pointer; 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). Dalam Pascal, pointer dapat diisi dengan nilai yang berasal dari:1) Reserved word NIL NIL merupakan reserved word dalam Pascal, di mana pointer yang bernilai NIL dianggap tidak menunjuk alamat memori manapun.NIL biasa digambarkan dengan lambang ground.

2) Fungsi Ptr Sintaks: Function Ptr(Seg, Ofs : word) : pointer; dengan Seg : segmen memori. Ofs : offset memori. Fungsi Ptr mengembalikan pointer dari segmen dan offset yang dimasukkan. 3) Operator @ Sintaks: :=@; Operator ini digunakan untuk mengambil alamat variabel yang akan ditunjuk. 4) Prosedur New dan GetMem Sintaks: New(var P : pointer); GetMem(var P : pointer, size : word); Dengan P : pointer yang akan diisi. Size : ukuran yang dipesan. Prosedur New digunakan untuk memesan memori untuk pointer bertipe, sedangkan prosedur GetMem untuk pointer tidak bertipe. Kedua prosedur ini akan membentuk suatu variabel dinamik yang diletakkan dalam Heap. Heap adalah memori-memori di komputer yang belum dialokasikan, yaitu memori yang tidak digunakan oleh DOS, oleh program-program resident, oleh program Turbo Pascal, internal stack yang digunakan oleh Turbo Pascal dan variabel-variabel di data segmen. Pointer yang belum digunakan sebaiknya diisi dengan NIL, dan untuk pointer yang telah menunjuk sebuah alamat yang sudah dipesan memorinya, isinya dapat dimanipulasi melalui pointer.

CONTOH PENGGUNAAN POINTER Deklarasi tipe data 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: Pada contoh program deklarasi ini, pertama-tama dideklarasikan variabel p sebagai pointer yang bertipe integer. Dibuat sebuah variabel lagi yang diberi nama nilai dan bertipe integer. Variabel nilai diisi dengan nilai 12. Kemudian variabel p menunjuk alamat dari variabel nilai dengan operator @, sehingga variabel p berisi nilai 12, dan ditampilkan outputnya di layar. Kemudian variabel p diberi nilai 100, dan secara otomatis variabel nilai juga bernilai 100 karena sudah ditunjuk oleh variabel p. Kemudian isi dari variabel p yang baru dan variabel nilai ditampilkan di layar.

Manipulasi memori lewat Pointer bertipe: uses wincrt; var p,q,r,s : ^string; nilai : string; begin clrscr; nilai:='ini string nilai!!!'; p:=@nilai; new(q); q^:='ini isi pointer q!!!'; r:=q; s^:=q^; writeln('alamat pointer p = ',seg(p^):4,':',ofs(p^):4,'; isi pointer p = ',p^); writeln('alamat pointer q = ',seg(q^):4,':',ofs(q^):4,'; isi pointer q = ',q^); writeln('alamat pointer r = ',seg(r^):4,':',ofs(r^):4,'; isi pointer r = ',r^);writeln('alamat pointer s = ',seg(s^):4,':',ofs(s^):4,'; isi pointer s = ',s^); readln; end. Output program: alamat pointer p = 4446: 98; isi pointer p = ini string nilai!!! alamat pointer q = 5559: 0; isi pointer q = ini isi pointer q!!! alamat pointer q = 5559: 0; isi pointer r = ini isi pointer q!!! alamat pointer q = 0: 0; isi pointer s = ini isi pointer q!!! 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.

BAB 3PENUTUPA. KESIMPULANDeklarasi 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. SARANKemi mengharapkan agar pembaca dapat memahami isi dari makalah ini dan dapat memberikan kritik yang membangun mengenai makalah ini.

DAFTAR PUSTAKA

Yusra, surya. Bahasa Pemrograman. Diakses dari http://blog.binadarma.ac.id/suryayusra/wp-content/uploads/2011/01/konsep_bhs_pemrograman.pdf pada hari senin tanggal 17 Februari 2014 pukul 19.18Mei. Modul 2 Tabulasi Data. Diakses dari http://ibumei.files.wordpress.com/2013/03/modul2.pdf pada hari senin tanggal 17 Februari 2014 pukul 19.57Dwi 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.48Bonvisa,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

[13]