pengenalan turbo pascal

25
PENGENALAN TURBO PASCAL A. PENDAHULUAN Turbo pascal merupakan bahasa pemograman tingakt tinggi. Sebagai bahasa pemograman tingkat tinggi, Turbo Pascal mudah dipelajari karena instruksi-instruksinya mendekati bahasa manusia. Instruksi-instruksi Turbo Pascal menggunakan kata-kata dari bahasa Inggris. Turbo Pascal merupakan bahasa pemograman terstruktur sehingga program yang dibuat dengan Turbo Pascal dapat dipecah-pecah menjadi blok-blok kecil. Blok-blok kecil ini menyusun blok besar yang kemudian secara keseluruan membentuk program utuh/lengkap. Dalam Turbo Pascal blok- blok kecil tersebut biasa disebut procedure/fungction. B. MENJALANKAN TURBO PASCAL Untuk dapat menjalankan program Turbo Pascal ini kita harus mempunyai disket atau cd yang berisikan program pascal dan untuk program pascal for windows kita harus menginstal program ini terlebih dahulu. Setelah dinstal program pascal, dan kita menjalankannya dilayar akan tampil seperti berikut: 1

Upload: dzikri86

Post on 12-Jun-2015

9.681 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Pengenalan Turbo Pascal

PENGENALAN TURBO PASCAL

A. PENDAHULUAN

Turbo pascal merupakan bahasa pemograman tingakt tinggi. Sebagai bahasa pemograman tingkat tinggi, Turbo Pascal mudah dipelajari karena instruksi-instruksinya mendekati bahasa manusia. Instruksi-instruksi Turbo Pascal menggunakan kata-kata dari bahasa Inggris.

Turbo Pascal merupakan bahasa pemograman terstruktur sehingga program yang dibuat dengan Turbo Pascal dapat dipecah-pecah menjadi blok-blok kecil. Blok-blok kecil ini menyusun blok besar yang kemudian secara keseluruan membentuk program utuh/lengkap. Dalam Turbo Pascal blok-blok kecil tersebut biasa disebut procedure/fungction.

B. MENJALANKAN TURBO PASCAL

Untuk dapat menjalankan program Turbo Pascal ini kita harus mempunyai disket atau cd yang berisikan program pascal dan untuk program pascal for windows kita harus menginstal program ini terlebih dahulu.

Setelah dinstal program pascal, dan kita menjalankannya dilayar akan tampil seperti berikut:

C. STRUKTUR PROGRAM PASCAL

Pada dasarnya Turbo Pascal dibagi atas 3 Bagian :

1

Page 2: Pengenalan Turbo Pascal

1. Bagian Kepala Program , diawali kata tercadang PROGRAM diikuti dengan judul program dan diakhiri dan tanda koma, untuk versi sesudah 4.0 pada bagian ini dapat mengandung klausa USES (unit yang dipakai pada program yang akan ditulis)

2. Bagian definisi dan deklarasi, pada bagian ini berisi definisi dan deklarasi yang akan digunakan program.

3. Bagian Pernyataan, pada bagian ini berisi program-program yang an dieksekusi, yang diawali dengan BEGIN dan diakhiri dengan END dan tanda titik.

D. KEGUNAAN MENU PADA TURBO PASCAL

Pada Turbo Pascal terdapat beberapa menu yang berguna untuk proses suatu program, edit proram, memanggil program paa disket maupun hardisk, serta mengcompile program, merubah tampilan pascal dan lain-lain.

Tampilan menu pada pascal antara lain sebagai berikut:

Menu utamanya adalah :1. File2. Edit3. Search4. Run

5. Compile6. Options7. Window8. Help

Untuk mengatifkan salah satu menu utama kita bisa menggunakan cara cepat menggunakan keyboard, yaitu dengan menekan tombol Alt + huruf depan menu utamanya.

2

Page 3: Pengenalan Turbo Pascal

BAB I. DASAR PEMROGRAMAN

A. KARAKTER PADA TUBO PASCAL

Karakter disini dalam Tubo Pascal berpengertian sebagai huruf, angka atau berupa simbol-simbol khusus, seperti :1. huruf A sampai dengan Z atau a sampai z2. angka 0 sampai 93. angka heksa desimal 0 sampai 9 dan A sampai F4. spasi5. karakter kontrol : karakter yang mempunyai kode ASCII antara 0 sampai 316. karakter ASCII tak standar kode 128 smapi 2557. simbol-simbol khusus berpasangan, seperti <= , >= , := atau yang lainnya.

B. PENGENAL

Pengenal (identifier) digunakan untuk memberi nama : konstanta, variabel, tipe data, prosedure, label, fungsi, program, unit dan field pada record. Pengenal harus diawali dengan HURUF dilanjutkan huruf atau angka atau tanda garis bawah, tidak boleh memakai spasi, titik atau karakter khusus dan tidak boleh memakai kata tercadang (reserved word), Panjang karakter yang digunakan adalah bebas tetapi berarti untuk Tubo Pascal adalah 63 karakter yang digunakan adalah bebas tetapi berarti untuk tubo pascal adalah 63 karakter yang pertama. Contoh : JenisPekerjaan, Total_Gaji dsb.

C. JENIS ATAU TIPE DATA

Terdiri dari lima macam tipe data yaitu :1. Tipe data sederhana ; tipe bilangan (bulat dan real), karakter dan bolean.2. Tipe data bulat ; terdiri dari beberapa tipe sepertti :

Shortint : tipe data numerik dalam bilangan bulat tanpa bilangan desimal dengan range data dari –128 s/d 127

Integer : tipe data numerik dalam bilangan bulat tanpa bilangan desimal dengan range data dari –32.768 s/d 32.767.

Longint : tipe data numerik dalam bilangan bulat tanpa bilangan desimal dengan range data dari –2.147.483.648 s/d 2.147.483.647 (-231 s/d 231)

Byte : tipe data numerik dalam bilangan bulat tanpa bilangan desimal dengan range data 0 s/d 255

Word : tipe data numerik dalam bilangan bulat tanpa bilangan desimal dengan range data dari 0 s/d 65.35

3. Tipe data real ; terdiri dari : Real : tipe data numerik dalam bilangan desimal dengan range data dari

2.9 x 10 -39 s/d 1.7 x 10 38

Single : tipe data numerik dalam bilangan desimal dengan range data dari 1.5 x 10 -45 s/d 3.4 x 10 38

Double : tipe data numerik dalam bilangan desimal dengan range data dari 2,9 x 10 -39 s/d 1,7 x 10 38

3

Page 4: Pengenalan Turbo Pascal

Extended : tipe data numerik dalam bilangan desimal dengan range data dari 5.0 x 10 -324 s/d 1,7 x 10 308

Comp : tipe data numerik dalam bilangan desimal dengan range data dari -2 63 s/d 2 63 –1

4. Tipe data bolean : tipe data yang hanya mengenal dua nilai yaitu true (benar) dan false (salah).

5. Tipe data karakter : tipe data yang mengandung sebuah karakter6. Tipe data String : berupa sederetan karakter.

D. KONSTANTA

Merupakan nilai yang tidak berubah selama program berjalan, dalam pascal mengenal bermacam-macam konstanta, antara lain : Konstanta karakter Konstanta bilangan Konstanta string Konstanta bolean Konstanta yang dideklarasikan

E. VARIABEL

Suatu nama yang menyiratkan lokasi memory komputer yang digunakan untuk menyimpan nilai. Dan nilainya dapat berubah selama program dijalankan. Variabek ini harus dideklarasikan terlebih dahulu sebelum digunakn pada program, dengan menggunakn kata tercadang VAR.

F. UNGKAPAN

Ungkapan dibentuk oleh operand dan operator.

G. OPERATOR

Operan aritmatik berfungsi untuk melakukan operasi aritmatika.

Operator Prioritas Kelompok@ not Pertama Operator Unary * / div mod shl shr Kedua Operator Pengali+ - or xor Ketiga Operator Penambahan= <> < <= >= in Keempat Operator Relasi

Operator Fungsi Contoh^ Pangkat 10^5/ Pembagi bilangan pecahan 10.5/10Div Pembagi blangan bulat 10 div 20* Perkalian 12*7Mod Sisa pembagian bilangan bulat 3 mod 2 + Penjumlahan 2 + 12- Pengurangan 43 – 20- Negatif -30

4

Page 5: Pengenalan Turbo Pascal

Operator logika ada 6 buah :1. not : besifat unary, untuk memperoleh niali bit berlawanan2. and : bersifat binary3. or : bersifat binary 4. xor : bersifat binary5. snl6. shr

H. BEBERAPA FUNGSI / PERINTAH PROGRAM INPUT OUTPUT

Perintah WRITE / WRITELN ; berfungsi untuk mencetak kelayarContoh : Write(‘Perintah Input’);

Perintah READ / READLN ; berfungsi untuk membaca nilai pernyataanContoh : Readln(Output);

BAB II. PENGAMBILAN KEPUTUSAN DAN PROSES PENGULANGAN

A. PERNYATAAN GOTO

Digunakan sebagai pernyataan loncatan tak bersyarat, berguna untuk mengarahkan eksekusi program kepernyataan yang diawali label yanmg ditunjuk.

5

Page 6: Pengenalan Turbo Pascal

Contohnya :Label Ulang;Begin

UlangWriteln (turbopascal);Goto Ulang

End.

B. PERNYATAAN MAJEMUK

Kumpulan pernyataan yang diawali dengan BEGIN dan diakhiri dengan END, antara pernyataan dipisahkan oleh tanda titik koma (;), eksekusi program dimulai dari pernyataan 1 sampai pernyataan ke n secara berurutan.Bentuk umunya :

BeginPernyataan_1Pernyataan_2

Pernyataan_nEnd.

C. PERINTAH-PERINTAH LOOPING

IF.......THEN.......ELSE adalah pernyataan logika percabangan yang mana perintah ini akan memeriksa terhadap suatu kondisi.Bentuk umumnya:

IF Ungkapan nalar THENPernyataan

AtauIF Ungkaan nalar THEN

Pernyataan_1;ELSE

Pernyataan_2; Select CASE adalah pernyataan logika seperti IF...THEN tetapi pada perintah ini

digunakan untuk permasalahan dengan pilihan lebih banyakBentuk umum :Case Pemilihan OF

Daftar_konstanta_1:Pernyataan_1;Daftar_konstanta_2:Pernyataan_2;

Daftar_konstanta_n:Pernyataan_n;[Else pernyataan_m]End.

Penggunaan FOR adalah salah satu bentuk penyataan pengulangan yang jumlah pengulangannya sudah diketahui sebelum prose dimulaiBentuk umum :

FOR pencacah : = Nilai_awal TO nilai_akhir DO pernyataan;

6

Page 7: Pengenalan Turbo Pascal

AtauFOR pencacah : = Nilai_awal DOWNTO nilai_akhir DO

Pernyataan;

Penggunaan REPEAT adalah pernyataan pengulangan yang digunakan karena jumlah pengulangannya belum pasti, tetapi minimal proses akan minimal akan dikerjakan sekali.Bentuk umum :

REPEATPernyataan;

UNTIL Ungkapan_nalar;

Pengguanaan WHILE adalah bentuk penyataan pengulangan jika jumlah pengulangan belum pasti dan pengujian kondisi dilakukan pada awal proses, selama kondisi benilai benar mak proses pengurangan akan terus dikerjakan.Bentuk umum :

WHILE Ungkapan_nalar DOPernyataan;

BAB III. PROSEDURE DAN FUNGSI

Fungsi dalam bahasa Pascal terdiri atas : Built-in Fungction : Fungsi yang telah disediakan oleh bahasa Pascal, yang

langsung dapat di implementasikan dalam bahasa pemograman. User Define Fungtion

A. FUNGSI ARITMATIKA

Fungsi yang berkaitan dengan operasi aritmatika yang disediakan oleh bahasa pascal cukup banyak seperti :

Fungsi ABS : untuk menghasilakan nilai absolut dari ekspresi numerik, hasil bertipe sesuai dengan tipe argumen. bentuk umum :

ABS (numeric expresion) Fungsi ArcTan : untuk menghasilkan nilai ArcTangen dari nilai trigonometri,

hasil bertipe real.Bentuk umum :

Arctan (numeric expresion)

7

Page 8: Pengenalan Turbo Pascal

Fungsi COS : untuk menghasilkan nilai Cosinus dari nilai trigonometri, hasil bertipe real

Fungsi SIN : untuk menghasilkan nilai Sinus dari nilai trigonometri, hasil bertipe real.

Fungsi Random : untuk menghasilkan nilai random antara 0 dan 1, hasil bertipe word.

Fungsi SQR : untuk menghasilkan nilai akar dari suatu numerik. Hasil bertipe sesuai argumen.

Fungsi Exp : untuk memperoleh eksposional dari argumen X, yaitu ex. hasil bertipe real.

Fungsi Frac : untuk mengambil bagian pecahan dari argumen data X. hasil beripe real.

Fungsi Int : untuk mengambil bagian bulat dari data X, hasil bertipe real. Fungsi LN : untuk memperoleh nilai logaritama natural (basis e), hasil bertipe

real. Fungsi Pi : untuk menghasilkan nilai 3.14159265365 Fungsi Round : untuk memperoleh nilai pembulatan dari suatu bilangan real, hasil

bertipe real. Fungsi Sqrt : untuk memperoleh nilai akar kuadrat dari argumen X. hasil bertipe

real. Fungsi Trunc : untuk memperoleh bagian bulat dari X(real), hasil bertipe Longint. Fungsi Odd : untuk menentukan apakah argumen (tipe longint) berupa bilangan

ganjil atau tidak, hasil bertipe Boolean.B. MENCIPTAKAN FUNGSIFungsi merupakan salah satu jenis subprogram. Jika dipanggil maka pengenal yang merupakan nama fungsi akan menghasilkan sebuah nilai.Bentuk umum :

Fungtion nama_fungsi (daftar_parameter_formal):tipe_hasil;Bagian_deklarasi_fungsi;Bagian_pernyataan_fungsi;

Bagian deklarasi berisi Consts, Var, type,label atau sub program lainnya.Bagian Pernyataan diawali BEGIN dan diakhiri END.

C. MENCIPTAKAN PROSEDURE

Prosedure terdiri dari tiga bagian yaitu : 1. Judul Prosedure2. Deklarasi3. Pernyataan

Bentuk umum :Procedure nama_procedure (daftar_parameter_formal);Bagian_deklarasi_fungsi;Bagian_pernyataan_fungsi;

Bagian deklarasi berisi Consts, Var, type,label atau sub program lainnya.Bagian Pernyataan diawali BEGIN dan diakhiri END.

8

Page 9: Pengenalan Turbo Pascal

D. MELEWATKAN PARAMETER DENGAN NILAI ATAU REFERENSI

Parameter dapat dilewatkan dalam subprogram dengan dua cara yaitu:1. Parameter lewat nilai : menyebakan nilai parameter aktual disalin dalam

parameter formal subprogram, yang berarti apabila nilai parameter didalam subprogram diubah tidak akan merubah nilai parameter aktual pemanggil subprogram.

2. Parameter lewat referesi : menyebakan nilai parameter aktual dilewatkan dalam subprogram, yang berarti ada kaitan antara nilai parameter formal didalam subprogram dengan nilai parameter aktual pemanggil subprogram. Parameter formal harus diawali kata-kata tercadang Var, sedamg parameter aktual harus berupa Variabel.

E. PEMBATASAN PENGENAL

Pembatasan pengenal ini dimaksudkan agar pengenal dapat dikenal pada suatu blok tetapi tidak dikenal pada blok lainnya. Beberapa sifat pembatasan pengenal :1. tidak dikenal diluar blok deklarasi2. pengenal global dapat diakses disembarang bagian program.3. pengenal yang dideklarasikan dalam subprogram dapat diakses oleh subprogram

yang didefinisikan didalamnya4. jika subprogram didefinisikan sama maka kedua subprogram dapat memanggil

subprogram lainnya.

BAB IV. ARRAY DAN RECORD

Data terstruktur adalah tipe data yang dapat digunakan untuk menyimpan lebih dari sebuah elemen. Beberapa tipe data :

A. ARRAY

Array satu dimensi : tipe indeks berupa ordinal, keculai tipe longint dan subrange dari longint, dan bisa menggunakan tipe integer, char dan bolean, array satu dimensi ini gambarannya seperti sebuah kolom memanjang, dan berisikan nilai tipe data sejenis tetapi beda nilainya.

Memberikan nilai kearray dilakukan dengan cara :a. melalui pernyataan penugasan b. menggunakan pernyataan Read/readln.

Memperoleh elemen array dilakukan dengan cara :a. melalui pernyataan penugasan b. menggunakan pernyataanWrite/writeln.

Array dua dimensi : berbentuk matriks dimana ukuran matriksnya ditentukan besarnya nilai data.

Memberikan nilai kearray dilakukan dengan cara :

9

Page 10: Pengenalan Turbo Pascal

a. melalui pernyataan penugasan b. menggunakan pernyataan Read/readln.

Memperoleh elemen array dilakukan dengan cara :a. melalui pernyataan penugasan b. menggunakan pernyataanWrite/writeln.

Array sebagai parameter : dapat dilewatkan ke subprogram sebagai parameter, baik sebagai nilai maupun variabel. Bentuk umum :Pada bagian deklarasi prosedure :Procedure nama_array(Var daftar_parameter_tipe);

Pada saat pemanggilan prosedure :Nama_array(daftar_parameter);

Penugasan Array : Penyalinan suatu array ke array lainnya dapat dilakukan melalui instruksi penyalian satu persatu atau secara keseluruhan.

B. RECORD

Merupakan jenis data terstruktur yang mengandung sejumlah elemen dengan setiap elemen mempunyai tipe berbeda. Dan elemen dalam record disebut field.

1. Mendefinisikan/mendeklarasikan record :Bentuk umum :Record

Daftar_field_1 : tipe_record_1;Daftar_field_2 : tipe_record_2;

Daftar_field_n : tipe_record_n;End.

2. Mengakses record :Field dari suatu record dapat diakses dengan menggunakan :

Nama_variabel_record.nama_fieldMenggunakan pernyataan With : digunakan untuk pengaksesan record, dan cukup digunakan satu kali.Bentuk umum :

With nama_record DOPernyataan

3. Menggunakan Variant recordBertujuan untuk menghemat memory, karna suatu data berbeda dapat menempati lokasi yang sama.Catatan : Kemungkinan nilai dari tag bisa lebih dari 2 Field yang berkaitan dengan Tag harus ditulis diantara tanda kurung Jika tag field tidak digunakan bagian deklarasi tag cukup ditulis () Case pada Variant record tidak diakhiri dengan End.Inisiasi data record

10

Page 11: Pengenalan Turbo Pascal

Pemberian nilai awal record dilaksanakan dalam deklarasi CONST, dan berdiri sebagai konstanta bertipe.Bentuk konstanta record :Pengenal_record : tipe_pengenal

= field_1 : nilai_1; field_2 :nilai_2;

field_n :nilai_n;

BAB V. FASILITAS DALAM UNIT CRT

A. MENGATUR JENDELA TEKS

Unit CRT berupa prosedur window untuk mengatur jendela teks.Bentuk umum

Window(X1,Y1,X2,Y2:byte);B. MENGATUR WARNA TEKS

Dilakukan dengan memanipulasi atribut elemen teks (karakter), prosedur yang digunakan adalah TextAtrr (bertipe byte).Daftar warna latar depan dan belakang

Bit Warna latar depankarakter

Bit Warna Latar belakang karakter3 2 1 0 6 5 4

0 0 0 0 Hitam 0 0 0 Hitam0 0 0 1 Biru 0 0 1 Biru0 0 1 0 Hijau 0 1 0 Hijau0 0 1 1 Cyan 0 1 1 Cyan0 1 0 0 Merah 1 0 0 Merah0 1 0 1 Magenta 1 0 1 Magenta0 1 1 0 Coklat 1 1 0 Coklat0 1 1 1 Abu-abu 1 1 1 Abu-abu1 0 0 0 Abu-abu muda1 0 0 1 Biru muda1 0 1 0 Hijau muda1 0 1 1 Cyan muda1 1 0 0 Merah muda1 1 0 1 Magenta muda1 1 1 0 Kuning1 1 1 1 Putih

Bentuk umum :Textbackground (warna : byte);

11

Page 12: Pengenalan Turbo Pascal

TextColor (warna : byte);Prosedur Lowvideo : mengatur warna teks dalam intensitas rendah (warna tua)Prosedur Highvideo : mengatur warna teks dalam intensitas tinggi (warna cerah)Prosedur Normvideo : mengatur warna teks dalam keadaan semula.

C. MENEMPATKAN KURSOR KE SUATU LOKASI JENDELA LAYAR

Prosedur Goto XY : untuk menempatkan kursor pada posisi tertentu.Bentuk umum :

Goto XY (X,Y :byte);Fungsi Where X dan Where Y : untuk memperoleh posisi kursor.Contoh :

X : = WhereX;Y : = WhereY;

ClrScr : untuk menghapus layarDelLine : untuk menghilangkan barisProsedur Insline : untuk menyisipkan baris kosongD. MENGATUR DAN MEMERIKSA MODE TEKS

Prosedur TextMode : untuk mengatur mode teksBentuk Umum :

TextMode (Mode : integer);

E. FUNGSI YANG BERHUBUNGAN DENGAN TOMBOL

Fungsi Keypressed : untuk memeriksa ada tidaknya tombol yang ditekan, hasil berupa bolean, true jika ditekan, dan false jika tidak.Fungsi ReadKey : sebagai tombol papan ketik dan dapat dibaca tanpa karakternya ditampilkan dilayar, juga digunakan untuk membaca tombol.Prosedur Delay : untuk menunda eksekusi sesaatBentuk umum :

Delay (ms : word);

F. MENGATUR SUARA SPEAKER

Prosedur sound : menghasilkan bunyi atau suara, dalam satuan Hertz.Bentuk umum :

Suond (hz : word);

G. PROSEDUR DAN FUNGSI LAIN

1. Variabel DirectVideo2. Variabel CheckSnow3. Variabel CheckEof4. Variabel AssignCrt

12

Page 13: Pengenalan Turbo Pascal

BAB VI. PENGOLAHAN DATA DENGAN FILE

A. FILE BERTIPE

Tipe komponennya ditentukan oleh programmer.

1. Menentukan tipe komponenDidefinisikan dengan cara :

File of tipe_data 2. Operasi file bertipe

a. Prosedur Assign : untuk mengkaitkan variabel file dan nama fileBentuk umum : Assign (variabel_file, nama_file);

b. Prosedur Rewrite (variabel_file) dan Reset(variabel_file) : untuk membuka file.

c. Write(varibel_file, variabel_komponen) dan Write(varibel_file, variabel_komponen) : untuk mengakes data

d. Close (variabel_file) : untul menutup file3. Prosedur Lainnya :

a. Prosedur seekb. Prosedur filesizec. Prosedur fileposd. Prosedur erasee. Prosedur renamef. Prosedur truncate

B. FILE TEKS

1. Pendefinisian file teks : Menggunakan kata tercadang text.Contoh : file_masuk : text;

2. Operasi file teks : sama dengan file bertipe Prosedur Assign Prosedur Rewrite (variabel_file) dan Reset(variabel_file) Append (variabel_file) : membuka sekaligus menambah isi file

13

Page 14: Pengenalan Turbo Pascal

Write(varibel_file, karakter) dan Writeln(varibel_file,) atau writeln(variabel_file,st).

Read(varibel_file, karakter) dan Raeadln(varibel_file,) atau readln(variabel_file,st).

Close (variabel_file)3. Prosedur Lainnya :

Prosedur Settextbuff Prosedur Seekof Prosedur Eoln Prosedur Seekoln Prosedur Flush

C. FILE TAK BERTIPE

Merupakan cara pengaksesan disket secacar low-level. Dan digunakan untuk menyalin sebarang fileContoh :

VarProses : FILE

Artinya : veriabel file proses berjenis file tak bertipe.

Operasi file tak bertipe : Prosedur Assign Prosedur Rewrite (variabel_file, ukuran_record) dan Reset(variabel_file,

ukuran_record) Prosedur blokread(variabel_file, var_penampung, jumlah, [var_hasil]) Prosedur blokwrite(variabel_file, var_penampung, jumlah, [var_hasil])

Prosedur Lainnya : Sama seperti prosedur lainnya file bertipe.

14

Page 15: Pengenalan Turbo Pascal

BAB VII. PEMOGRAMAN DENGAN POINTER

Pointer dapat diciptakan maupun dihapus selama eksekusi program, sehingga disebut variabel dinamis. Total variabel dibatasi oleh kapasitas memory yang ada dikomputer, variabel dinamis terdiri dari simpl (node), yang biasa berupa record.

A. PENDEFINISIAN POINTERPonter hanya menunjuk kesuatu lokasi data, tipe pointer didefinisikan dengan diawali tenda caret (^) dan diikuti pengenal tipe.Bentuk umum :

^pengenal_tipe

B. DAFTAR BERANTAIDaftar berantai (linked list) merupakan salah satu bentuk struktur data dinamis yang sederhana.Menciptakan Variabel Dinamis : menggunakan Prosedur New.Bentuk umum :

New (variabel_pointer)Membuat Daftar Berantai : dimulai dengan memberi nilai NIL.Menampilkan isi daftar berantai : 1. Variabel pointer diatur menunjuk lokasi yang ditunjuk2. Jika Masih belum berisi NIL, maka cetak isi simpul, dan variabel pointer digeser

menunjuk lokasi yang ditunjuk oleh pointer lanjutan3. Tujuan pembuatan variabel pointer, agar selama proses tetap menunjujk lokasi

yang sama.Bentuk umum :

Ptrsemen : = ptrkepala;While ptrsemen <> Nil DOBegin

Writeln (ptrsemen^ nama, ptrsemen^ jabatan);Ptrsemen : = ptrsemen^lanjutan;

End;Readln (ptrbaru^nama);

15

Page 16: Pengenalan Turbo Pascal

C. VARIABEL DINAMISHeap adalah tempat menyimpan varibel dinamis, Heapptr adalah pointer bawaan yang terdapat pada heap, bersifat Global, dan selalu menunjuk memory terendah. Dispose atau freemem dan Mark&release.Bentuk umum prosedur mark :

Mark(var_ptr)Bentuk umum prosedur release :

release(var_ptr)Bentuk umum prosedur dispose :

Dispose(var_ptr)Semua Var_ptr diatas bertipe pointer

Prosedur getmem dan freememFreemem untuk mengahpus variabel dinamis dan getmem untuk menciptakan variabel dinamis, dengan ukuran yang bisa ditentukan.Bentuk umum :

GetMem (var_ptr, ukuran);FreeMem (var_ptr, ukuran);

Var_ptr : Variabel pointer dan Ukuran bertipe WordFungsi Maxavail dan MemVail : sebagai alokasi variabel dinamis, dan tanpa argumen dan/parameter.Maxavail : untuk memperoleh ukuran blok bebas terbesar dalam heapMemavail : untuk memperoleh total memori dalam heap.

16

Page 17: Pengenalan Turbo Pascal

BAB VIII. MANIPULASI MEMORI

Pascal mempunyai unit system yang berguna untuk memanipulasi memori komputer, seperti :a. Membaca dan mengubah isi suatu memory secara langsungb. Memperoleh alamat suatu variabel, konsatanta bertipe atau subprogramc. Memperoleh ukuran memori yang digunakan untuk suatu tipe, konstanta bertipe

atau variabel.

A. MEMORI KOMPUTER IBMSetiap memori komputer berukuran 1 byte ( 8 bit). dan masing-masing memiliki alamat, setiap alamat memilki bagian yang disebut segmen atau ofset. Notasi untuk menyatakan alamat memori :

Segmen : ofsetOrganisasi memori dalam komputer terdiri dari 16 blok, setiap blok mengandung 64 KB memori (total 1 MB)

Blok 0 RAM sampai 64 KBBlok 1 RAM sampai 128 KBBlok 2 RAM sampai 192 KBBlok 3 RAM sampai 256 KBBlok 4 RAM sampai 320 KBBlok 5 RAM sampai 384 KBBlok 6 RAM sampai 448KBBlok 7 RAM sampai 512 KBBlok 8 RAM sampai 576 KBBlok 9 RAM sampai 640 KBBlok A Memori perluasan untuk videoBlok B Memori standar untuk videoBlok CBlok D Ekspansi ROM untuk keperluan lainBlok EBlok F Sistem ROM_BIOS dan ROM-BASIC

17

Page 18: Pengenalan Turbo Pascal

Peta memori dalam turbo pascalMemori terendah

Stack berkembang ke memori rendah ukuran penampung = 0 jika tidak ada overlay

Stack berkembang ke memori tinggi

Memori Tinggi

B. ALAMAT, SEGMEN ATAU OFSETFungsi yang berkaitan dengan ketiga hal tersebut :Addr (X) : untuk memperoleh alamat dari objek XSeg (X) : untuk memperoleh Segmen dari objek XOfs (X) : untuk memperoleh Ofset dari objek XCseg : untuk memperoleh isi yang terkandung dalam register CS (Code segment)Dseg : untuk memperoleh isi yang terkandung dalam register DS (Data segment)Sseg : untuk memperoleh isi yang terkandung dalam register SS (Stack segment)Sptr : untuk memperoleh isi yang terkandung dalam register SP ( Stack Pointer)Sizeof (objek) : untuk memperoleh ukuran memori yang diperlukan oleh objek argumennya.

MENGISI SUATU DATA TERSTRUKTUR DENGAN NILAI YANG SAMAUntuk inisialisasi terhadap tipe data tersetruktur dapat digunakan Prosedur fillchar.Bentuk umum :

Awal kode objekAkhir kode objek

Kode unit n......

Kode unit 1Kode unit sistemAwal dari dataAkhir dari data

Stack bebasStack

Penampung overlayAwal heap

Puncak heapMemori tersisa

Daftar blok bebas

18

Page 19: Pengenalan Turbo Pascal

Fillchar (var_x, cacah, nilai)Jika prosedur ini dipanggil maka memori pertama sampai kecacah dari var_x akan diisi dengan nilai.MENYALIN ISI SEJUMLAH MEMORIIsi sejumlah memori dapat disalin kelokasi lain dengan prosedur Move. Bentuk umum :

Move(var_1, var_2);

MANIPULASI DATA BERTIPE WORD Tipe Word mengandung 2 buah byte, dlam bentuk heksa desimal word dinyatakan dalam 4 digit.

Fungsi HI :untuk memperoleh byte tertinggiBentuk umum :

Hi (X), dengan x berupa sebarang ungkapan bertipe word.Fungsi LO :untuk memperoleh byte terendahBentuk umum :

Lo (X), dengan x berupa sebarang ungkapan bertipe word.Fungsi SWAP :untuk memperoleh nilai tipe word yang merupakan pertukaran byte terendah dan byte tertinggi dari X.

MENGUBAH SEGMEN OFSET MENJADI ALAMATUntuk mengubah suatu alamat alternatif yang terdiri dari segmen dan ofset menjadi sebuah alamat bertipe pointer dapat digunakan fungsi ptr.Bentuk umum :

Ptr (segmen, ofset)

MENGAKSES MEMORI DAN PORT SECARA LANGSUNGFasilitas yang disediakan :

Mem : untuk mengakses sebuah byte memori yang mempunyai alamat segmen : ofset

MemW : untuk mengakses sebuah data bertipe Word (2 byte) yang berada dalam alamat awal segmen : ofset

MemL : untuk mengakses sebuah data bertipe longint (4 byte) yang berada dalam alamat awal segmen : ofset

Fasilitas untuk mengakses Port secara langsung :PORT[nomor_port]PORTW[nomor_port]Komponen array PORT bertipe byte dan PORTW bertipe word.

KLAUSA ABSOLUTEBertujuan untuk memungkinkan pendeklarasian variabel absolut, yaitu variabel yang tertinggal pada memori yang dikehendaki oleh programmer.Bentuk deklarasi :

Var_absolut : tipe_variabel ABSOLUTE segmen : ofset;

19