BAHASA PASCAL-DASAR

20
Modul 1 BAHASA Pascal MODUL BIMBINGAN OLIMPIADE KOMPUTER

Transcript of BAHASA PASCAL-DASAR

Page 1: BAHASA PASCAL-DASAR

Modul 1BAHASA Pascal

MODUL BIMBINGAN OLIMPIADE KOMPUTERSMA WACHID HASYIM 2 TAMAN

Page 2: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

MENGENAL BAHASA PASCAL

SEJARAH SINGKAT BAHASA PASCAL

Bahasa PASCAL pertama kali dikembangkan pada awal tahun 70-an oleh NICLAUS WIRTH di Technical University, Zurich – Swiss.Nama PASCAL diambil dari nama seorang ahli matematika bangsa Perancis, yaitu BLAISE PASCAL yang telah berjasa menemukan alat hitung mekanis pertama didunia pada abad ke-17. Bahasa PASCAL adalah hasil pengembangan lebih lanjut oleh Prof. Wirth dari bahasa pemrograman pendahulunya yaitu bahasa ALGOL (ALGOrithmic Language). Pada Awalnya bahasa pemrograman ini diperkenalkan dengan tujuan untuk menjelaskan masalah pemrograman komputer bagi mahasiswa yang belajar pemrograman komputer.

Ternyata dalam waktu singkat, nahasa pemrograman ini menjadi salah satu bahasa yang sangat populer dikalangan universitas, sehingga menjadi julukan sebagai bahasa universitas. Mulai dari awal perkembangannya hingga saat ini banyak sekali jenis bahasa pemrograman ini, masing-masing merupakan hasil pengembangannya, antara lain :UCSD Pascal, Microsoft Pascal, Apple Pascal, Turbo Pascal, dsb.

PENGENAL (IDENTIFIER)

PENGENAL adalah nama yang diberikan untuk suatu elemen program. Elemen tersebut dapat berupa : suatu variable, suatu fungsi, suatu prosedur atau, suatu program. Pengenal disusun dari karakter huruf ataupun karakter bilangan dengan ketentuan sbb:

1. Nama pengenal harus diawali dengan karakter huruf.2. Karakter kedua dan seterusnya bisa berupa angka, huruf besar, huruf kecil, atau kombinasi,

tapi tidak boleh memakia karakter khusus (? # dsb). Beberapa versi PASCAL membolehkan tanda (_) sebagai karakter penyusun pengenal.

3. Panjang karakter bebas, tapi dalam beberapa versi PASCAL hanya 8 karakter yan diingat memori, karakter kesembilan dan seterusnya diabaikan.

4. Beberapa nama sudah digunakan secara khusus oleh PASCAl untuk tujuan tertentu, jadi tidak boleh lagi dipakai sebagai pengenal /identifier! Nama- nama ini disebut sebagai Daftar kata khusus (reserved word).

DAFTAR KATA KHUSUS (RESERVED WORDS)

AND END NOT SETARRAY FILE OF THEN BEGIN FUNCTION OR TO CASE FOR PACKED TYPE CONST GOTO PROCEDURE UNTIL DIV IF PROGRAM VAR DO IN RECORD WHILE DOWNTO LABEL REPEAT WITHELSE MOD STRING

2 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 3: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

5. Beberapa nama disebut sebagai pengenal standar, yaitu pengenal yang telah didefinisikan oleh bahasa PASCAL.

DAFTAR PENGENAL STANDAR

Konstanta : false, true, maxintTipe : Boolean, char, real, integerBerkas : input, outputFungsi : abs, arctan, chr, cos, eof, eoln, exp, ln, odd, ord, pred, succ, round, sin, sqr,

sqrt, truncProsedur : dispose, get, new, pack, page, put, read, readln, reset, rewrite, unpack,

write, writeln

contoh nama pengenal/identifier yang benar :AX1No_indukGajiKaryawan

Contoh nama pengenal/identifier yang salah:

Nama identifier Kesalahah

$US Tidak diawali dengan huruf1X Tidak diawali dengan hurufA&B mengandung simbol khususA B mengandung blankWRITE Ini adalah kata khususRp4,5 Tidak boleh ada tanda komaMATRIK(1) Tidak boleh ada tanda kurung

VARIABEL

Variabel adalah pengenal yang nilaianya boleh berubah pada waktu pemrosesan program. Semua variabel yang akan diguanakan dalam program harus dideklarasikan dahulu di dalam program. Deklarasi variabel dilakukan dengan deklarasi VAR.

DEKLARASI

Deklarasi adalah bagian penting berisi pengenal maupun data . Deklarasi akan mengingatkan pemrogram tentang variabel, konstanta, fungsi ataupun prosedur yang digunakan dalam program.

1. Deklarasi CONSTGunanya untuk mendeklarasikan nama pengenal tertentu yang berisi suatu konstanta.Contoh:

CONST pi=3.14;2. Deklarasi VAR

Gunanya untuk menyatakan bahwa nama pengenal tertentu adalah suatu variabel: pengenal yang isinya dapat berubah.Contoh:

VAR A,B : INTEGERX : ARRAY[1...10,1...10] OF REAL

3 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 4: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

3. Deklarasi TYPEDigunakan untuk menyusun suatu bentuk tipe data baru sebagai hasil penggabungan dari tipe-tipe yang sudah ada sebelumnya.Contoh:

TYPE Matrik =ARRAY[1...10,1...10] OF REAL Hari =(senin,selasa,rabu,kamis,jumat,sabtu,minggu);VAR A,B : Matrik;

P :Hari; 4. Deklarasi LABEL

Menjelaskan adanya nomor-nomor LABEL yang digunakan di dalam program. Nomor label gunanaya sebagai titik tujuan dari statemen GOTO.Contoh:

LABEL 100;-BEGIN-IF A5 THEN GOTO 100;-

100; END.

Ket: Karakter 100 adalah label.5. Deklarasi FUNCTION

Untuk mendeklarasikan suatu nama pengenal sebagai fungsi.Contoh:

FUNCTION rata(x:larik, n:INTEGER) : REAL;Ket: nama pengenal rata sebagai nama fungsi dengan jenis Real. Fungsi tersebut memiliki 2 parameter yaitu x dengan jenis data larik dan n dengan jenis data INTEGER.

6. Deklarasi PROCEDUREUntuk mendeklarasikan suatu nama pengenal sebagai prosedur.Contoh:

PROCEDURE jumlah(VAR x:larik,VAR jml:REAL);Ket: statemen diatas memberitahukan baha nama pengenal jumlah digunakan sebagai nama prosedur. Prosedur tersebut mempunyai 2 parameter yaitu, x dengan jenis data larik dan jml dengan jenis data REAL.

BENTUK UMUM PROGRAM PASCAL

Judul Program PROGRAM nama-program;Bagian deklarasi- deklarasi label LABEL nama-label;- deklarasi konstanta CONST…………..;- deklarasi tipe TYPE …………….;- deklarasi variabel VAR ……………...;- deklarasi prosedur PROCEDURE nama-prosedur………………….;- deklarasi fungsi FUNCTION nama-fungsi………………………….;

Begin(statement) …………;

4 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 5: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

…………;end.

ATURAN PENULISAN PROGRAM PASCAL

Program PASCAL boleh ditulis mulai kolom berapa saja dan diakhiri pada kolom berapa saja. Akhir sebuah program Pascal ditandai dengan tanda baca titik (.) setelah END yang paling akhir. Tanda titik koma (;) merupakan pemisah antar instruksi satu dengan lainnya. Beberapa statement boleh ditulis menjadi satu baris dipisahkan dengan tanda baca titk koma (;)

Contoh : simpan := akhir; akhir := simpan + awal; Baris komentar diletakkan diantara tanda (* dan *) atau diantara tanda { dan }

Contoh : Var rerata : real; (*nilai rata-rata*)Nil1 : real; {nilai ujian}

Cara penulisan program:i. statemen ditulis bersambungan:

(*HITUNG BBM*) PROGRAM bbm(input,output);VAR bl,hp,hs :REAL; BEGIN bl :=2; hp :=bl*7500;hs :=bl*4500; writeln(bl,hp,hs);end.

ii. statemen ditulis dengan identasi (dilakukan pengaturan):

(*HITUNG BBM*) PROGRAM bbm(input,output);VAR bl,hp,hs :REAL; BEGIN

bl :=2; hp :=bl*7500;hs :=bl*4500; writeln(bl,hp,hs);

END.

Dari contoh diatas dapat dilihat bahwa penulisan dengan cara identasi tampak lebih indah dan lebih mudah dibaca. Walaupun kedua cara tersebut semua tidak salah.

TIPE DATA DALAM PASCAL

1. Jenis data sederhanaa. Jenis data yang standar, yaitu :

Integer Real Char(Karakter) Boolean

b. Jenis data yang non standar (user defined), yaitu; Terbilang (Enumerated) Subjangkauan (Sub-range)

2. Jenis data berstuktur, yaitu:a. Larik (Array)b. Rekaman (Records)c. Himpunan (Sets)

5 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 6: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

d. Berkas (Files)3. Jenis Data Penunjuk (Pointer)

DATA TIPE SEDERHANAAdalah data yang bersifat satu pengenal berisi satu data. Sering disebut juga dengan tipe data skalar.

INTEGER

Yaitu, bilangan yang tidak mempunyai desimal. Dengan demikian, tidak ada karakter lain (misalnya koma) yang diperbolehkan. Jenis data ini terdiri atas integer positif, integer negatif dan nol. Contoh:

25895000000

Operator yang digunakan untuk tipe data integer:Simbol Keterangan+ Penjumlahan- Pengurangan* Perkaliandiv Pembagianmod Modulus (sisa pembagian)

Jangkauan integer :

REAL

Yaitu bilangan yang menggunakan tanda desimal. Bilangan tersebut berisi paling sedikit satu digit sebelum dan sesudah titik desimal. Tidak boleh ada koma. Nilai dapat positif atau negatif. Bilangan Real juga dapat dideklarasikan dalam bentuk eksponensial. Dengan pangkat dari bilangan dasar 10 ditandai dengan notasi E.Contoh:

123.4512345. salah, titik desimal tidak boleh dibelakang12E512E+5-12.34.1234 salah, titik desimal tidak boleh dimuka0.035

Operator pada data Real sama seperti yang dipakai pada data Integer kecuali pada operator pembagian menggunakan tanda / Operator / dapat digunakan untuk data integer atau data real yang hasilnya berupa data REAL.Contoh:

52.0/8.0 = 6.552/8 = 6.5

6 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 7: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

52 div 8 = 6 (terjadi pemotongan)

Jangkauan data real:

CHAR

Ialah data yang berisi sebuah karakter saja. Gabungan char dapat dibentuk menjadi string. Data char digunakan untuk mendefinisikan data yang berupa himpunan karakter yang dikenal komputer. Contoh:

‘C’ ‘M’ ‘,’ ‘9’Ada 4 fungsi yang didefinisikan untuk memanipulasi tipe data CHAR:

1. Fungsi character, chr(I) dengan I bilangan bulat positif. Fungsi ini kebalikan dari fungsi ord. Nilai yang diperoleh merupakan karakter ASCII yang dinyatakan dengan urutan ke I.Contoh:

chr(67) adalah ‘C’ 2. Fungsi ordinal, ord(Kar) dengan Kar adalah tipe data char. Nilai ord(Kar) adalah angka urutan

dalam kode ASCII yang digunakan untuk melambangka karakter tersebut.Contoh:

chr(C) adalah 673. Fungsi predesesor, pred(Kar) dengan Kar adalah tipe data char. Nilai pred(Kar) adalah

karakter yang dalam urutannya mendahului Kar.Contoh:

pred(‘B’) adalah ‘A’4. Fungsi sucessor, succ(Kar) dengan Kar adalah tipe data char. Nilai succ(Kar) adalah karakter

yang dalam urutannya berada sesudah Kar.Contoh:

succ(‘b’) adalah ‘c

BOOLEAN

Jenis data ini mempunyai 2 nilai saja yaitu TRUE dan FALSE. Tipe data ini tidak dapat dioperasikan ke dalam bentuk aritmatika.Operator untuk jenis data ini adalah :1. Logical Operator, yaitu : NOT, AND dan OR2. Relational Operator, yaitu : >, <, >=, <=, <> dan =

TERBILANG (ENUMERATED)

Adalah tipe data yang bisa didefinisikan sendiri oleh pengguna. Pada tipe data ini semua nilai disebut satu-persatu (terbilang).Bentuk umum deklarasinya adalah :

7 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 8: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

TYPE nama = (data_item_1, data_item_2, ……., data_item_n);

Contoh:TYPE hari = (sen,sel,rab,kam,jum,sab,ming);TYPE warna = (red,blue,green,yellow,black,white);

Dalam tipe terbilang semua data harus terinci dan diletakkan di antara tanda kurung.

Fungsi standar yang dapat digunakan pada jenis data ini adalah : PRED, SUCC dan ORDContoh :

PRED (sel) = senSUCC (sen) = selORD (sen) = 0ORD (sel) = 1

SUB JANGKAUAN

Jenis data ini berupa range dari suatu kumpulan data yang mempunyai urutan..Bentuk umum deklarasinya adalah :

TYPE nama = data_item_pertama .. data_item_terakhir;

Contoh :1. TYPE jam_kuliah = 1 .. 10;

tanggal = 1 .. 31;abjad = ‘A’ .. ‘Z’;

2. TYPE bulan = (jan,feb,mar,apr,mei,jun,jul,agt,sep,okt,nov,des);hari = (sen,sel,rab,kam,jum,sab,ming);ata = agt .. jan;pta = feb .. jun;hari_kerja = sen .. jum;

DATA TIPE BERSTRUKTUR

ARRAY (LARIK)Array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana setiap elemen variabel mempunyai nilai indeks. Setiap elemen array menyimpan satu jenis data (yaitu: variabel). Suatu array dinyatakan dengan type. Contoh:A = array [1…10] of integer;

1 2 3 4 5 6 7 8 9 10

Secara logika pendefinisian array di atas merupakan sekumpulan kotak , dimana tiap kotak mempunyai nilai indeks integer 1, 2, 3, ...,9, 10 tiap elemen array ditandai dengan: A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8], A[9], A[10]

8 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 9: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

RECORD (REKAMAN)Sebuah record rekaman disusun oleh beberapa field. Tiap field berisi data dari tipe dasar / bentukan tertentu. Record mempunyai kelebihan untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda tipenya (di banding array).

Contoh , sebuah record dengan empat buah field.

Field 1 Field 2 Field 3 Field 4

FILES (BERKAS)

Kumpulan sejumlah komponen yang bertipe data sama yang jumlahnya tidak menentu. Komponen berkas tersebut adalah record. Banyak record dalam berkas bisa ditambah, dikurangi, diedit sesuai program.

HIMPUNAN (SET)Adalah suatu kumpulan item-item data yang memiliki tipe data yang sama. Anggota himpunan dapat berupa integer, karakter atau data-data subjangkauan.DATA TIPE PENUNJUK (POINTER)

Adalah suatu tipe data yang khas pada Pascal dan merupakan suatu tipe data terstruktur. Pointer merupakan suatu variabel yang mencatat alamat variabel lain atau menunjuk pada variabel lain. Variabel yang ditunjuk/dicatat oleh pointer dapat berupa berbagai tipe data yang lain misalnya, char, integer, real, record dll. Karena pointer hanya menunjuk pada alamat variabel lain maka pointer itu sendiri tidak berisi data tetapi hanya berisi alamat dari variabel lain.Contoh:A^:=3; {pointer menunjuk integer}M^:=1.5; {pointer ke real}G^:=’M’; {pointer ke char}

A^, M^, G^ merupakan variabel pointer yang mencatat alamat

OPERATOR

Tanda operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam 9 kategori, yaitu

1. Assignment operator.2. Binary operator.3. Unary operator.4. Bitwise operator.5. Relational operator.6. Logical operator.7. Address operator.8. Set operator.9. String operator.

9 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 10: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

Assignment operatorAssignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda

sama dengan (:=).Contoh :

A:=B;Luas:=panjang*lebar;

Binary operatorDigunakan untuk mengoperasikan dua buah operand. Operand dapat berbentuk konstanta

ataupun variabel. Operator ini digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data integer dan real.

Operator Operasi Tipe operand Tipe hasil* Perkalian real,real

integer,integerreal,integer

realintegerreal

DIV Pembagian bulat integer,integer integer/ Pembagian real real,real

integer,integerreal,integer

realrealreal

MOD Sisa pembagian integer,integer integer+ Pertambahan real,real

integer,integerreal,integer

realintegerreal

- Pengurangan real,realinteger,integerreal,real

realintegerreal

Contoh :15*5 hasilnya 7520/3 hasilnya 6.6666666667E+0020 div 3 hasilnya 620 mod 3 hasilnya 2

Unary operatorOperator ini hanya menggunakan sebuah operand saja. Dapat berupa unary minus dan unary

plus. Unary minus digunakan untuk menunjukkan nilai negatif, baik pada operang numerik real maupun integer. Unaru plus adalah operator untuk memberai tanda plus.Contoh :

-5 +7-2.5 +2.5

Bitwise operatorDigunakan untuk operasi bit per bit pada nilai integer. Terdiri dari operator NOT, AND, OR,

XOR, Shl, Shr.Contoh:

Desimal biner25 10001

Operator NOT

10 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 11: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

Operator Not digunakan untuk pembalikan bitwise, yaitu nilai bit 1 menjadi bit 0 dan sebaliknya nilai bit 0 menjadi bit 1.Contoh:

Not 0 hasilnya -1Not 5 hasilnya -6Not 18 hasilnya -19Not -17 hasilnya 16

Operator ANDOperator AND digunakan untuk membandingkan dua buah elemen, hasilnya akan benar bila keduanya benar. Bila logika benar diberi simbol 1 dan logika salah diberi simbol 0, maka hubungan operator And tampak pada tabel berikut.

A B A and B1 1 11 0 00 1 00 0 0

Contoh:12 and 23 hasilnya 4

Ket:Operator AND akan bekerja dengan membandingkan bit demi bit dari elemen-elemen yang dibandingkan sebagai berikut:12 binarinya adalah 0110023 binarinya adalah 1011112 AND 23 bernilai 00100 adalah 4

Operator OROperator OR digunakan untuk membandingkan dua buah elemen, hasilnya akan benar bila salah satu atau keduanya benar. Bila logika benar diberi simbol 1 dan logika salah diberi simbol 0, maka hubungan operator OR tampak pada tabel berikut.

A B A or B1 1 11 0 10 1 10 0 0

Contoh:12 or 23 hasilnya 31

Ket:12 binarinya adalah 0110023 binarinya adalah 1011112 OR 23 bernilai 11111 adalah 31

Operator XorOperator Xor digunakan untuk membandingkan dua buah elemen, hasilnya akan benar bila salah satunya saja yang benar. Bila logika benar diberi simbol 1 dan logika salah diberi simbol 0, maka hubungan operator Xor tampak pada tabel berikut :

A B A Xor B

11 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 12: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

1 1 01 0 10 1 10 0 0

Contoh:12 Xor 23 hasilnya 27

Ket:12 binarinya adalah 0110023 binarinya adalah 1011112 OR 23 bernilai 11011 adalah 27

Operator ShlOperator Shl digunakan untuk menggeser sejumlah bit ke kiri dengan nilai bit 0 atau menambah jumlah nol (0) ke kanan.Contoh:

5 shl 2 hasilnya 20

Ket:Nilai integer digeser sebanyak 2 bit ke kiri dengan nilai bit 0 didapatkan hasil 20 sebagai berikut.5 nilai binarinya adalah 101Digeser 2 bit ke kiri (ditambah nilai 0 sebanyal 2 buah) menjadi 10100=20

Operator ShrOperator Shr digunakan untuk menggeser sejumlah bit ke kanan dengan nilai bit 0 atau membuang angka paling kanan.

Contoh:20 shr 2 hasilnya 5

Ket:20 nilai binarinya adalah 10100. Digeser 2 bit ke kanan (dibuang 2 bit dari kanan) menjadi 101=5

Relational operatorRelational operator digunakan untuk membandingkan hubungan antara dua buah operand

dan akan didapatkan hasil tipe boolean, yaitu True atau False. Terdiri dari operator : =, <, >, <=, >=, <>

Contoh:writeln(16 > 15); hasilnya Truewriteln(0 >= 2); hasilnya Falsewriteln(a < A); hasilnya Falsewriteln(‘Hack’>‘Crack’); hasilnya True

Logical operatorTerdapat 4 buah logical operator yaitu : NOT, AND, OR dan XOR. Operator ini bekerja dengan

nilai-nilai logika, yaitu True dan False.

Set operatorDigunakan untuk operasi himpunan.

12 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 13: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

String operatorDigunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu operator + yang

digunakan untuk menggabungkan dua buah nilai string.Contoh :

Nama1 := ‘Arief ‘;Nama2 := ‘Kurniawan’;Nama3 := Nama1 + Nama2;

OPERASI ORDINAL dan KARAKTER

Operasi ini digunakan untuk pengurutan tipe data. Operasi ordinal dan karakter. terdiri dari dua fungsi dan dua prosedur.

Operasi Fungsi Jenis Operasi

Succ Mengangkat nilai ke nilai berikutnya satu point FunctionPred Menurunkan nilai ke nilai sebelumnya satu point FunctionInc Menambah nilai (increase) ProcedureDec Mengurangi nilai (decrease) ProcedureOdd Memastikan pada nilai yang ganjil

OPERASI ARITMATIKA DAN REALAda beberapa fungsi yang berhubungan dengan perhitungan atau aritmatika selain operasi biner. Perhatikan table berikut:

Operasi Fungsi

Abs Menjadikan suatu nilai menjadi mutlak (absolut)Sin Mencari harga sin suatu derajat sudutCos Mencari harga cos suatu derajat sudutArcTan Mencari harga suatu sudut dengan tanSqr Perpangkatan dua (kuadrat)Sqrt Akar pangkat duaExp Mencari nilai dari suau eksponensialLn Mencari bilangan alam dari suatu nilaiFrac Mengambil nilai dibelakang komaInt Mengambil nilai didepan komaRound Membulatkan nilai sesuai dengan nilai dibelakang koma. Jika >0.5

maka ke atas, jika <0.5 maka ke bawahTrunc Membulatkan nilai ke bawahChr Merubah numerik ordinal ke dalam suatu karakter (char) ASCIIOrd Merubah suatu karakter (ASCII) ke dalam suatu numeric

Fungsi chr dan ord sebenarnya bukan operasi aritmatika tetapi fungsi konversi dalam ASCII yaitu antara simbol-nya dengan urutannya. ASCII mempunyai 255 karakter yang dapat dipergunakan dengan notasi # (pagar) atau dengan fungsi chr dan ord.

EKSPRESI

13 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 14: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

Sebuah ekspresi merupakan kumpulan dari operand-operand (seperti : bilangan, konstanta, variabel dll) yang bersama-sama dengan operator membentuk suatu bentuk aljabar dan menyatakan suatu nilai.

Ada 2 (dua) jenis ekspresi dalam bahasa Pascal, yaitu :1. Ekspresi numerik / aritmatika, yaitu suatu ekspresi yang menghasilkan nilai numerik /

aritmatika.2. Ekspresi Boolean atau ekspresi logika, yaitu suatu ekspresi yang menghasilkan nilai boolean /

logika (true/false).

Contoh :1. (b * b – 4 * a * c) / (2*a) / (2 * a) ekspresi numerik, jika a,b dan c adalah bilangan

(variabel bernilai numerik).2. Upah < 1000.0 ekspresi boolean (“upah” adalah suatu variabel bernilai real).

14 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 15: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

INPUT DAN OUTPUT

MEMASUKKAN DATA

Prosedur untuk input standar ada tiga yaitu read, readln dan readkey. Prosedur input ini adalah prosedur untuk membaca suatu masukan berupa variabel. Read, readln dan readkey pada operasi biasa sama menghasilkan baris baru setelah masukannya. Akan tetapi pada operasi file akan berbeda fungsi. Syntax-nya sebagai berikut :

read(var1,var2,..,varn);readln(var1,var2, ..,varn);readkey(var1,var2, ..,varn); Hanya untuk tipe char

Tiap-tiap data yang dimasukkan harus sesuai dengan tipe variabelnya.

Tipe variabel dan data yang diizinkan :

Tipe Variabel

Keterangan

Char Memasukkan sebuah karakter, bila lebih akan terpotong, yang dianggap hanya yang pertama

String Memasukkan string maksimum sepanjang yang didefinisikanInteger Memasukkan data numerik bulat mulai -32768 sampai dengan 32767Word Memasukkan data numerik bulat mulai 0 sampai dengan 65535Byte Memasukkan data numerik bulat mulai 0 sampai dengan 255ShortInt Memasukkan data numerik bulat mulai -128 sampai dengan 127LongInt Memasukkan data numerik bulat mulai -2147483648 sampai dengan 147483647Real Memasukkan data numerik real maksimum 30 digit dapat tanpa titik desimal.Boolean Data tipe ini tidak diijinkan

ReadLn digunakan untuk memasukkan data perbaris, artinya setelah tombol Enter ditekan, maka akan ganti baris, sedangkan Read tidak ganti baris, masih dalam baris yang sama.

MENAMPILKAN HASIL

Prosedur untuk output pada layar monitor ada dua yaitu write dan writeln. Kedua prosedur ini digunakan untuk menampilkan suatu output ke layar baik itu berupa variabel, teks/string ataupun angka. Write menampilkan output tanpa menambah baris baru setelah menampilkan outputnya. Sedangkan writeln menambah baris baru setelah menampilkan outputnya. Bentuknya sebagai berikut :

write(var1,var2,..,varn);writeln(var1,var2, ..,varn);

Perbedaan Write dengan WriteLn adalah bahwa Write menampilkan hasil tanpa ganti baris dan tampilan berikutnya akan disambung dalam baris yang sama. Sedang WriteLn digunakan untuk menampilkan tampilan perbaris, akan ganti baris untuk tampilan berikutnya.

Contoh :Var nama : string{15};Begin nama := ‘TOKI’;

write(‘nama : ‘);write(nama);

15 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 16: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

End.Hasilnya :

Nama : TOKI

Contoh :Var nama : string{15};Begin nama := ‘TOKI”;

WriteLn(‘Nama : ‘);WriteLn(Nama);

End.

Hasilnya :Nama :TOKI

TAMPILAN TERFORMAT

Walaupun bentuk standar dianggap cukup untuk menampilkan bentuk pada program yang sederhana, tetapi untuk program-program aplikasi dibutuhkan bentuk format tertentu yang harus diatur kembali. Parameter-parameter yang digunakan adalah sbb:

1. Parameter CH:NDigunakan untuk membentuk format tampilan Char seleber n karakter dengan spasi kosong dimuka sebanyak n-1.

Contoh:Ket1:=’A’;Ket2:=’B’;Writeln(Ket1:5, Ket2:3);

Hasilnya : A B----5--3 karakter

2. Parameter S:NParameter ini digunakan untuk membentuk format tampilan string dengan lebar n karakter.

Contoh:Tulisan:=’Pascal’;

Writeln(‘Bahasa:’,Tulisan:10);

Hasilnya:Bahasa: Pascal

---------- 10 karakter, 4 spasi kosong di muka

3. Parameter I:NParameter ini digunakan untuk membentuk format tampilan integer dengan lebar n digit.

Contoh:N:=275;

Writeln(‘Jumlah Data=’,N:5);

Hasilnya :Jumlah Data= 275

16 Modul Bimbingan Olimpiade Komputer SMA WH-2|

Page 17: BAHASA PASCAL-DASAR

[ ]Tingkat Dasar

(Teori)

-----5 digit, 2 digit spasi kosong di muka

4. Tampilan R:N:MParameter ini digunakan untuk membentuk format tampilan nilai numerik Real dengan lebar n digit rata sebelah kanan dan m digit angka di belakang koma tidak dalam bentuk eksponen.

Contoh:Nilai:=123.456;Writeln(‘Nilai Real=’,Nilai:0:0);Writeln(‘Nilai Real=’,Nilai:3:0);Writeln(‘Nilai Real=’,Nilai:3:2);Writeln(‘Nilai Real=’,Nilai:7:1);

Hasilnya:123123123.46 123.5

17 Modul Bimbingan Olimpiade Komputer SMA WH-2|