TIPE DATA DALAM PASCAL

dokumen-dokumen yang mirip
Tipe Data. Definisi Tipe Data

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 1 & 2

Struktur Data. Pertemuan 2

BAB I PENGENALAN STRUKTUR DATA DAN ALGORITMA

Tabel 1. Jenis data integer Ukuran memori (dalam byte)

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

MODUL 1. Struktur Bahasa PASCAL secara umum

Konsep tipe data pada bahasa pemrograman mempunyai standar bentuk umum, yaitu :

Sesi/Perkuliahan ke: II

Algortima. Teguh Cahyono, ST.M.Kom

Variabel dan Tipe Data Kusrini 1, Heri Sismoro 2

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

KONSEP DASAR BAHASA PASCAL

Dasar Komputer & Pemrograman 2A

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

MODUL STRUKTUR DATA. Erna Kumalasari Nurnawati

BAB 2 BAGAIMANA MENULISKAN PROGRAM PASCAL

TIPE DATA, VARIABLE, dan OPERATOR DELPHI

Pertemuan 4 KONSEP TIPE DATA

Algoritma Pemrograman I KONSEP DASAR

AP2a (Pascal) Akuntansi Kelas 1 Semester 2. Hana Pertiwi S.T

STRUKTUR PROGRAM. Secara ringkas, struktur suatu program Pascal dapat terdiri dari : 1.Judul Program 2.Blog Program a.

.::BAB II.::MENGENAL PASCAL

PERKENALAN STRUKTUR DATA. Firmansyah, S.Kom

Algoritma Pemrograman I

JENIS-JENIS DATA DAN STATEMEN INPUT OUTPUT

Pengenalan Pascal/DevPascal

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

Pengenalan Pascal. Sejarah Singkat Pascal

KONSEP DASAR BAHASA PASCAL. Pengertian SEJARAH SINGKAT BAHASA PASCAL STRUKTUR DAN KOMPONEN DASAR PROGRAM PASCAL.

KONSEP DASAR BAHASA PASCAL

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

ARRAY. Larik / array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama.

Teori Algoritma TIPE DATA

Dasar Komputer & Pemrogaman 2A

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Tipe Data dan Operator dalam Pemrograman

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

PENGERTIAN VARIABEL, KONSTANTA DAN TIPE DATA

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-5

Lecturer: Abdusy Syarif. Undergraduate Course Informatics Engineering Dept. Universitas Mercu Buana. Tipe Data

STRUKTUR BAHASA PEMROGRAMAN

Algoritma Pemrograman

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

Chapter 3.2 : Tipe, Nama dan Nilai

Tipe Data dan Operator

LAPORAN PRAKTIKUM RESMI TIPE DATA, KONSTANTA DAN VARIABEL

Pemrograman Dasar Pascal

IF32222 STRUKTUR DATA TIPE DATA. Oleh : Andri Heryandi, M.T.

P A S C A L D A S A R

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

STRUKTUR KONTROL. Struktur WHILE-DO Mempunyai struktur sebagai berikut : Bentuk Umum : WHILE condition Do statement Bentuk Proses (flow chart) :

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Bab 2 DASAR-DASAR ALGORITMA

BAB III Pengenalan Tipe Data dan Bahasa Pemrograman C/C++

TIPE, NAMA, DAN NILAI

PROSES PENJUALAN BUKU

AlGorItma PemRoGraman TIPE- TIPE DATA DALAM TURBO PASCAL

Bab II Algoritma dan logika

PRAKTIKUM 7 TIPE DATA TERSTRUKTUR. Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll.

Lab. Teknik Informatika Struktur Data 1

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

KONSEP DASAR BAHASA PASCAL

SMA SANTO PAULUS PONTIANAK

Algoritma Pemrograman

PEMANFAAT FUNGSI SQR DAN SQRT UNTUK PERHITUNGAN BESARAN VEKTOR DAN HAMBATAN AC. Ulul Ilmi *)

Modul 1 Pengantar Bahasa Pascal

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

Algoritma dan Pemrograman Bab II Dev Pascal, Variabel, Tipe Data. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Brigida Arie Minartiningtyas, M.Kom

Struktur Data. PDE - Struktur Data 1

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Daftar field MODUL 13 RECORD

A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10] Nilai elemen array Index array Inelemen array

Algoritma dan Struktur Data

Algoritma Pemrograman

Algoritma Pemrograman

Pertemuan III ARRAY dan RECORD

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date]

PROGRAM PASCAL. 2. Tunggu beberapa saat sampai muncul tampilan program Turbo Pascal

Algoritma,Flowchart, Konsep

Algoritma dan Struktur Data

MODUL II. OBJECK, PROPERTY, METHOD dan EVENT

Struktur Bahasa C dan C++

MODUL I DAN 2 PENGANTAR dan IDENTIFIER PASCAL

Komentar Program. Komentar program dapat diletakkan dimanapun di dalam program. pembatas (* dan *).

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

POINTER. Altien Jonathan Rindengan, S.Si, M.Kom

Achmad Solichin.

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA

Perkuliahan Pemrograman II (Teori / Praktikum) Minggu 3

Brigida Arie Minartiningtyas, M.Kom

Silabus Struktur Data. Bandung 2013

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Modul PVB-POLINEMA V1.0

Transkripsi:

TIPE DATA DALAM PASCAL Dalam Pascal, menentukan tipe data suatu iabel, berarti sekaligus menentukan batasan nilai iabel tersebut dan jenis operasi yang dapat dilaksanakan pada iabel tersebut. Tipe data yang terdapat dalam Turbo Pascal dapat digambarkan sebagai berikut : Tipe sederhana (SimpleType) Tipe ordinal Integer Shortint Longint Boolean Char Byte Word Subrange (Subjangkauan) Terbilang (Enumerated) Tipe Data Tipe string Tipe terstruktur (Structured Type) Tipe Pointer Tipe real larik (Array) rekaman (Record) himpunan (Set) berkas (File) Gambar 1 Bagan tipe data dalam Pascal. Bentuk umum dari deklarasi tipe adalah Type pengenal = tipe; Dalam satu program dapat dideklarasikan beberapa tipe yang berbeda, tapi harus ada pengenal yang dapat membedakan tipe data yang dideklarasikan tersebut. Type Bulat = integer; Jumlah = Byte; Nilai1 = Shortint; Logika = Boolean; Huruf = String[25]; Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

Dari contoh di atas, tipe data integer, byte, shortint, boolean, dan string dapat digantikan dengan kata Bulat, Jumlah, Nilai1, Logika, dan Huruf dalam deklarasi iabel. Total Juml Nilai Status Kata : Bulat; : Jumlah; : Nilai1; : Logika; : Huruf; Selain itu, tipe data dapat juga langsung deklarasikan pada saat pendeklarasian iable. Total : Integer; Juml : byte; Nilai : Shortint; Status : Boolean; Kata : String; Tipe data dalam pascal seperti yang terlihat pada gambar 1 dapat dijelaskan sebagai berikut : 1. Data tipe sederhana ( simple-type data). Tipe data sederhana juga disebut dengan tipe data skalar. Data tipe ini dihubungkan dengan sebuah identifier untuk suatu data. Tipe data sederhana dapat dibagi dua yaitu tipe data ordinal dan tipe data real. a) Tipe data ordinal. Tipe data ordinal mempunyai 4 karakteristik yaitu sebagai berikut : Nilai dari tipe data ordinal mempunyai nilai yang berurutan. Semua nilai kecuali yang pertama mempunyai nilai pendahulu (predesor) dan semua nilai kecuali yang terakhir mempunyai suksesor. Fungsi standard ord dapat diterapkan pada sembarang tipe ordinal untuk mengetahui ordinalitasnya. Fungsi standard pred, berfungsi untuk mengetahui predesornya. Jika fungsi ini diterapkan pada nilai pertama, akan menyebabkan kesalahan. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 2

Fungsi standard succ, berfungsi untuk mengetahui suksesornya. Jika fungsi ini diterapkan pada nilai yang terakhir akan menyebabkan kesalahan. Ada beberapa macam tipe data yang dapat diklasifikasikan dalam tipe data ordinal, antara lain adalah sebagai berikut: Tipe Data Integer Tipe integer adalah tipe data yang nilainya tidak mempunyai titik desimal. Ada lima tipe data yang termasuk dalam tipe data integer, yaitu shortint, integer, longint, byte, dan word. Batas nilai untuk masing-masing tipe data di atas dapat dilihat pada tabel 1 berikut. Tabel 1 Batas Nilai Tipe Integer Tipe Batas Nilai Ukuran dalam byte Byte 0...255 1 Shortint -128 127 1 Integer -32768 32767 2 Word 0 65535 2 Longint -2147483648 214748647 4 Type Begin End. Bulat Jumlah Nilai1 = integer; = Byte; = Shortint; Untuk data tipe integer, Turbo Pacal juga menyediakan konstanta standard bernama MaxInt yang bernilai 32767 dan MaxLongInt yang bernilai 2147483647. Kedua konstanta ini dapat digunakan dalam program tanpa didefinisikan terlebih dahulu. Tipe Data Boolean Tipe data boolean mempunyai dua buah nilai, yaitu True (Benar) dan False (Salah). Tipe data boolean dapat digunakan untuk mengendalikan loop, indikator end of file, ataupun kondisi TRUE atau FALSE dalam program. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 3

Ada tiga iabel yang bertipe boolean yaitu CheckIn, Tiket, dan Periksa. Ketiga iabel diatas mewakili persyaratan administrasi untuk naik ke pesawat terbang. Tiket bernilai TRUE jika penumpang mempunyai tiket, jika tidak berarti FALSE. CheckIn bernilai TRUE jika penumpang sudah melakukan CheckIn dan memperoleh boarder pass, jika tidak maka bernilai FALSE. Periksa bernilai TRUE jika penumpang telah memeriksakan barang bawaannya, jika tidak berarti FALSE. Maka deklarasi tipe data untuk iabel tersebut diatas adalah: Begin Tiket, CheckIn, Periksa : Boolean; Tiket CheckIn Periksa := TRUE; := TRUE; := TRUE; If Tiket AND CheckIn AND Periksa Then WriteLn( Administrasi lengkap, Anda boleh masuk! ); Else WriteLn( Administrasi Belum Lengkap! ); End. Tipe Data Char Tipe data Char dapat digunakan untuk mendefinisikan tipe data yang nilainya merupakan himpunan karakter yang dikenal komputer seperti yang terdapat pada tabel kode ASCII. Nilai data karakter ditulis diantara tanda petik tunggal, seperti misalnya A, a,!, %, 5, dan sebagainya. Begin End. Karakter : Char; Karakter := A ; WriteLn( Karakter tersebut =,Karakter); Pusat Pengembangan Pendidikan Universitas Gadjah Mada 4

Tipe Data Terbilang (Enumerated Data Types) Disebut data terbilang karena semua nilai disebut satu per satu. Tipe data ini didefinisikan oleh user di dalam program. Tujuan utama dari dari tipe data ini adalah untuk mengijinkan programmer untuk membuat nama data yang berarti. Kadang lebih mudah menggunakan tipe data terbilang dibanding menginput data sebagai string. Bentuk umum : type datatypeidentifier = typespecification; Bentuk umum typespecification: type (identifier1, identifier2,... identifiern) MonthType = (January, February, March, April, May, June,July, August, September, October, November, December); Vehicle = (Bicycle, Motorcycle, Car, Train); School = (Primary, Elementary, Junior High, Senior High, College, University); Dan kemudian dideklarasikan iabel. Month : MonthType; Ride : Vehicle; Study : School; Begin for Month := January to December do {*Mengerjakan statement perulangan*} end. Perlu diperhatikan bahwa dalam tipe data terbilang (enumerated datatypes), semua data harus diletakkan diantara tanda kurung. Urutan data perlu diperhatikan karena akan mempengaruhi nilai fungsi pred dan succ. Pred(February) adalah January Succ(February) adalah March Tipe Data Subjangkauan (Subrange Data-type) Batasan nilai untuk suatu iabel merupakan bagian dari data yang didefinisikan oleh programmer. Misalnya subrange untuk nilai akademis adalah 0 Pusat Pengembangan Pendidikan Universitas Gadjah Mada 5

sampai 100 atau A sampai E. Data subrange dapat didefinisikan pada data ordinal yang sebelumnya telah didefinisikan terlebih dahulu. Bentuk umum: Type pengenal = Nilai Terendah Nilai tertinggi Nilai terendah < nilai tertinggi. type DaysOfWeek = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); {* Menunjukkan nama hari dalam satu minggu*} DaysOfWorkWeek = Monday..Friday; {*Menunjukkan hari kerja dalam seminggu*} Type Nilai = 0 100;{*Jangkauan nilai dari 0 sampai 100*} b) Tipe Data Real Data tipe real adalah salah satu dari tipe data sederhana selain tipe ordinal. Konstanta bertipe real adalah bilangan yang berisi titik desimal. Paling sedikit harus ada satu digit sesudah titik desimal. Bilangan real juga bisa dinyatakan dalam bentuk eksponensial. Pangkat dari bilangan dasar 10 (yang digunakan untuk menunjukkan eksponensial) dinyatakan dengan notasi E. Dalam Pascal terdapat lima macam tipe data real yaitu real, single, double, extended, dan comp. Batasan masing-masing tipe dapat dilihat pada tabel 2 berikut. Tabel 2. Tipe real dan batasannya Tipe Batasan Nilai Angka Signifikan Byte Real 2.9 x 10E-39.. 1.7 x 10E38 11 12 6 Single 1.5 x 10E-45.. 3.4 x 10E38 7 8 4 Double 5.0 x 10E-324.. 1.7 x 10E308 15-16 8 Extended 1.9 x 10E-4951.. 1.1 x 10E4932 19 20 10 Comp -2E63 +1.. 2E63-1 19-20 8 S D E : single; : Double; : Extended; Pusat Pengembangan Pendidikan Universitas Gadjah Mada 6

C : Comp; 2. Tipe String Data tipe string merupakan data yang berisi sederetan karakter yang banyaknya karakter bisa berubah-ubah sesuai kebutuhan, yaitu dari 1 sampai 255 karakter. Tipe string yang tidak dinyatakan panjang karakternya dianggap mempunyai 255 karakter. Data string terletak diantara dua tanda petik tunggal. Bentuk umum: type pengenal = string[panjang]; Tanggal : string[10]; Hari : string[6]; Spasi : Char; 3. Tipe data terstruktur (structured-type data). Dalam tipe data terstruktur setiap iabel bisa menyimpan lebih dari satu nilai data yang disebut komponen. Karakteristik tipe data ini ditentukan berdasarkan cara penstrukturan dan tipe data masing-masing komponen. Jika komponennya juga terstruktur maka tipe terstruktur yang dihasilkan juga lebih dari sebuah tingkat perstrukturan dan bisa tidak terbatas. Ada empat buah tipe data terstruktur, yaitu array, record, set, dan file. a) Tipe Array Tipe data terstruktur yang mempunyai komponen dalam jumlah tetap dan setiap komponen mempunyai tipe data yang sama. Posisi masing-masing data dalam array dinyatakan sebagai nomor indeks. Array dapat bertipe byte, word, integer, real, boolean, char, atau string dan juga subrange. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi, maupun banyak dimensi. arrayname : array [x..y] of type; contoh: ourdata : array[1..100] of byte; myarray : array[5..25] of char; Pusat Pengembangan Pendidikan Universitas Gadjah Mada 7

Artinya adalah bahwa terdapat 100 elemen dalam array ourdata, indeks array tersebut dimulai dari 1 dan terdapat 20 elemen yang terdapat disarray myarray dan indeks arrau tersebut dimulai dari 5. Array Multidimensi Bentuk umum array multidimensi adalah sebagai berikut: type datatypeidentifier = array[enum_type1,enum_type2] of datatype; table : array[1..5, 1..3] of byte; {* array dua dimensi *} Cara mengakses : table[5,3]:=5; table[1,2]:=4; table[4,1]:=table[1,2]*table[5,3]; table3d : array [1..5, 1..4, 1..6] of byte; {* array tiga dimensi *} Cara aksesnya sama: table3d[3,4,5]:=6; Dan begitu juga dengan array 4 dimensi dan seterusnya: table4d : array[1..2, 1..3, 1..4, 1..5] of byte; {* array empat dimensi *} Array Of Record Berhubungan dengan tipe record, maka dapat juga dibuat array of record. Array of record akan dibahas pada pembahasan tipe record. b) Tipe Record Tipe data record adalah kumpulan tipe data dengan tipe yang berbeda satu sama lain. Tipe data record dipakai pada data akademis mahasiswa, data gaji pegawai, data persediaan barang, dan lain-lain. Bentuk umum: Type TypeName = record identifierlist1 : datatype1;... identifierlistn : datatypen; end; Pusat Pengembangan Pendidikan Universitas Gadjah Mada 8

type TEmployee = record name : string[25]; address : string[40]; age : byte; position : string[10]; commision : real; end; x : TEmployee; Deklarasi tipe record diatas dapat diakses dengan cara berikut: begin x.name := 'Paul Doherty'; x.address := '11th Kingston Avenue'; x.age := 35; x.position := 'Salesman'; x.commision := 0.10; end. Untuk mengakses data record, statement with...do adalah statement yang tepat. Dapat dilihat pada contoh berikut. begin with x do begin name := 'Paul Doherty'; := '11th Kingston Avenue'; address age := 35; position := 'Salesman'; commision := 0.10; end; end. Array Of Record Data record dibutuhkan untuk menangani data yang lebih dari satu tipe, dan jumlah data untuk satu deklarasi record bisa lebih dari satu, untuk itu dapat digunakan array of record. Cara mendeklarasikan array of record sama dengan mendeklarasikan array biasa. MyEmployee : array[1..100] of TEmployee; Misalkan akan diakses elemen array of record yang pertama. begin MyEmployee[1].name := 'Paul Doherty'; Pusat Pengembangan Pendidikan Universitas Gadjah Mada 9

MyEmployee[1].address := '11th Kingston Avenue'; MyEmployee[1].age := 35; MyEmployee[1].position := 'Salesman'; MyEmployee[1].commision := 0.10; end. Cara mengaksesnya dengan statement with. begin with MyEmployee[1] do begin name := 'Paul Doherty'; address := '11th Kingston Avenue'; age := 35; position := 'Salesman'; commision := 0.10; end; end. c) Tipe Himpunan (Set). Himpunan adalah kumpulan obyek dengan mempunyai tipe data yang sama dan urutan penulisannya tidak diperhatikan. Setiap obyek di dalam suatu himpunan disebut anggota atau elemen-elemen himpunan. Sifat-sifat himpunan dalam pascal sama dengan sifat himpunan dalam matematika. Bentuk umum: Type pengenal = set of type; Himpunan dapat juga dideklarasikan dalam deklarasi iabel. iabel pengenal : set of tipe_data; type days = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); allday : set of days; workday : set of Monday.. Friday; thisday : days; begin thisday:=monday; if thisday in workday then writeln('this day I''m in work') else writeln('this day I''m on holiday'); end. Misalkan ada iabel myday, didefinisikan sebagai set sebagai berikut. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 10

myday : set of days; Biasanya isi myday adalah Sunday, Monday, Saturday. Seandainya kita tidak ingin memasukkan Wednesday dan Friday ke dalam set, maka dapat dilakukan sebagai berikut. exclude(myday,wednesday); exclude(myday,friday); Untuk memasukkan Friday kembali ke dalam set dapat dilakukan seperti contoh berikut. include(myday,friday); d) Tipe Berkas (File). Tipe data berkas adalah kumpulan sejumlah komponen yang bertipe sama, yang jumlahnya tidak tertentu, dan biasanya tersimpan dalam suatu media penyimpanan luar. Jumlah dalam komponen berkas dapat ditambah jika diperlukan. Data yang ada di dalam berkas dapat digunakan oleh sembarang program yang tipe datanya disesuaikan dengan kebutuhan. Dalam Pascal dikenal juga berkas teks. Komponen-komponen dalam berkas teks membentuk suatu baris dan setiap baris diakhiri dengan tanda akhir baris (end Of Line, Carriage return, atau line feed). Dan setiap berkas selalu diakhiri dengan end of file atau Ctrl Z. Bentuk umum: Type pengenal = file of pengenal1; Const Jumlah_Mk = 5; Type Nilai = record Nama_Mhs : String[25]; No-Mhs : String[5]; Angkatan : String[5]; Nilai_Ujian : array[1..jumlah_mk] Of Integer; Rata_Rata : real; D_Nilai = File of Nilai; Daf_Nilai : D_Nilai; 4. Tipe data pointer (pointer-type data). Pusat Pengembangan Pendidikan Universitas Gadjah Mada 11

Data ini digunakan untuk membuat data terstruktur tipe dinamik.iabel akan dialokasikan pada saat dibutuhkan dan setelah selesai dapat didealokasikan kembali. Bentuk umum: <Nama> : <^TipeData>; Type StringType = String[15]; StringPointer = ^StringType; Name : StringPointer; NameData : String; Begin Name^ := Samples ; NameData := Samples ; End; Dalam contoh diatas iabel Name adalah iabel pointer. iabel ini tidak berisi data, tetapi berisi alamat letak dari data yang ditunjuk. iabel nama adalah iabel pointer dengan tipe StringPointer, sedang StringPointer adalah suatu tipe data pointer yang mnunjukkan letak dari nilai String[15]. Sedang Name^ menunjukkan isi dari memori yang alamatnya ditunjukkan oleh iabel pointer Name atau dengan kata lain menunjukkan nilai String[15] tersebut. Sedangkan iabel NameData berisi data berupa string yaitu Samples. Pendeklarasian iabel pointer tidak jauh berbeda dengan pendeklarasian iabel biasa, hanya perlu ditambahkan simbol topi (^) sebelum tipe datanya. Simbol topi tersebut menandakan bahwa iabel tersebut menunjuk ke lokasi tertentu pada memori. iabel pointer dapat juga dibuat bertipe record. Pendeklarasiannya adalah seperti berikut ini. Bentuk Umum: Type <NamaPointer> = <^NamaRecord>; <NamaRecord> = Record <Item1>:<tipeData1>; <Item2>:<tipeData2>;. <ItemN>:<TipeDataN>; End; <Nama> : <NamaPointer>; Pusat Pengembangan Pendidikan Universitas Gadjah Mada 12

Dalam Pointer dikenal iabel dinamik yang dapat dibuat dan dialokasikan dengan prosedur standar NEW. Bentuk umum: New(iabel) Contoh : Type Begin Str20 PointMhs RecMhs = String[20]; = ^RecMhs; = record; Nama : String[25]; NIM : String[10]; Alm : String[30]; IPK : real; End; DataMhs1, DataMhs2, DataMhs3, DataMhs4, DataMhs5, DataMhs6 : PointMhs; New(DataMhs1); New(DataMhs2); New(DataMhs3); New(DataMhs4); New(DataMhs5); New(DataMhs6);... Prosedure New hanya mengalokasikan iabel dinamik di heap, belum mengisi dengan nilai datanya. Untuk memasukkan data ke iabel dinamik dapat dilakukan seperti biasa pada iabel statik. Misalnya : DataMhs1^.Nama := Deviyanti ; DataMhs1^.NIM := 00403 ; DataMhs1 Deviyanti 00403 DataMhs2 Jika diberi Statemen: DataMhs1 := DataMhs2 maka gambar diatas akan berubah menjadi. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 13

DataMhs1 Deviyanti 00403 DataMhs2 Operasi diatas disebut operasi mengkopi pointer, konsekuensinya, simpul yang semula ditunjuk oleh suatu pointer akan bisa terlepas dan tidak bisa dimasup lagi. Kembali ke gambar sebelumnya. Jika statemen DataMhs1^ := DataMhs2^ dibuat maka gambar tersebut akan berubah menjadi: DataMhs1 Deviyanti 00403 DataMhs2 Deviyanti 00403 Operasi diatas disebut operasi mengkopi isi simpul. Konsekuensinya adalah isi kedua simpul sama. iabel dinamik dapat dihapus dari heap dengan menggunakan prosedur standar Dispose dan prosedur standar Mark dan Release. Contoh : Dispose(DataMhs3^); Prosedur Standar release digunakan untuk menghapus sejumlah iabel dinamik mulai dari suatu iabel dinamik tertentu sampai dengan iabel dinamik terakhir. Contoh : New(DataMhs1); New(DataMhs2); New(DataMhs3); Mark(Hapus); New(DataMhs4); New(DataMhs5); New(DataMhs6); Release(Hapus); Statement diatas akan menyebabkan enam buah data dinamik dialokasikan ke heap dan iabel hapus akan menandai letak dari data iabel yang akan dihapus. Dengan adanya statemen Release maka iabel dinamik dimulai dari letak yang ditunjukkan iabel pointer hapus akan dihapus. Dalam hal ini yang terhapus adalah DataMhs4, DataMhs5, dan DataMhs6. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 14