Elemen-Elemen Pascal Elemen – Elemen Pascal 2 OBJECTIVES Simbol-simbol dasar (basic symbols) Kata-kata cadangan (reserved word) Pengenal didefinisikan oleh pemakai (user defined identifier) Tipe Data Karakter kontrol (control character) Tanda operasi (operator) Komentar Program (comment) Pernyataan (Statement) 3 SIMBOL DASAR 4 SIMBOL DASAR Program Pascal dapat dibentuk dari simbol-simbol yang terdiri dari: 1. huruf-huruf, 2. angka-angka dan 3. simbol-simbol khusus. 5 HURUF Huruf-huruf yang dapat digunakan adalah : 1. huruf A – Z, 2. a – z dan 3. _ (garis bawah). Huruf besar (upper case) dan huruf kecil (lower case) dianggap sama, tidak dibedakan. 6 ANGKA Angka yang digunakan adalah angka-angka : Angkanya adalah bilangan desimal : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 7 SIMBOL-SIMBOL KHUSUS Simbol-simbol khusus yang dapat digunakan adalah sebagai berikut : + - * / = ^ () [] {} . , : ; ‘ # $ 8 SIMBOL-SIMBOL KHUSUS Karakter-karakter yang berpasangan juga merupakan simbol- simbol khusus, yaitu: <= >= (* *) (. .) := .. 9 KATA CADANGAN 10 KATA – KATA CADANGAN Kata – kata cadangan (reserved words) adalah kata-kata yang sudah didefinisikan oleh Pascal yang mempunyai maksud tertentu. Kata-kata cadangan tidak boleh didefinisikan ulang oleh pemakai, sehingga tidak pengenal (identifier). dapat dipergunakan sebagai 11 KATA – KATA CADANGAN absolute file mod *shr and For Nil *string Array Forward Not Then Begin Function Of To Case Goto Or Type Const If Packed *unit div Implementation Procedure Until do in program *uses downto *inline record var else *interface repeat while end *interrupt set with *external label *shl *xor 12 IDENTIFIER 13 IDENTIFIER Nama yang digunakan di dalam program Pascal disebut dengan pengenal (identifier). Pemakai dapat mendefinisikan sendiri suatu nama sebagai pengenal untuk pengenal tipe, pengenal konstanta, pengenal variabel, pengenal prosedur, pengenal fungsi, pengenal unit, pengenal program, dan pengenal field di record. 14 IDENTIFIER Pengenal yang didefinisikan sendiri ini bebas, tetapi dengan ketentuan-ketentuan sebagai berikut: 1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. 2. Tidak boleh mengandung blank. 3. Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah. 4. Penjangnya bebas, tetapi hanya 63 karakter pertama yang dianggap signifikan. 15 IDENTIFIER Examples: Pengenal Keterangan GajiKaryawan No_Mhs P3K 1X A&B AB 16 TIPE DATA 17 TIPE DATA Jika menggunakan pengenal variabel di dalam program, maka variabel tersebut harus deklarasikan terlebih dahulu. Pada waktu mendeklarasikan menentukan tipe dari data. suatu variabel, maka harus Berikut ini akan dijelaskan penggunaan dari tipe data standar, yaitu dapat berbentuk tipe data numerik integer, numerik real, karakter, string, dan boolean serta tipe data penunjuk. 18 TIPE DATA INTEGER Data numerik integer merupakan nilai bilangan bulat baik dalam bentuk desimal maupun hexadesimal. Nilai integer hexadesimal diawali dengan tanda dollar ($). Pascal khususnya dalam Turbo Pascal menyediakan 5 macam tipe data integer yang masing-masing mempunyai jangkauan nilai yang berbeda seperti pada tabel. 19 TIPE DATA INTEGER Tabel Tipe Dat aInteger Tipe Ukuran Memori (dalam byte) Jangkauan Nilai Byte 1 0 .. 255 Shortint 1 -128 .. 127 integer 2 -32768 .. 32767 word 2 0 .. 65535 longint 4 -2147483648 .. 2147483647 20 TIPE DATA INTEGER Contoh 1: Jika menggunakan suatu pengenal variabel yang bernama Jumlah dan nilai yang akan dikandungnya tidak lebih dari 255, maka dapat digunakan tipe data byte. Oleh karena digunakan suatu variabel, maka pengenal variabel ini haru sdideklarasikan terlebih dahulu, sbb: 21 TIPE DATA INTEGER Contoh 1: Program_Data_Byte; Var Jumlah : byte; Begin Jumlah := 200; writeln(‘Nilai Jumlah = ‘, Jumlah); End. 22 TIPE DATA INTEGER Contoh 2: Bila nilai data yang digunakan lebih besar dari 255 tetapi tidak lebih besar dari 32767, maka dapat digunakan tipe data Integer, sebagai berikut: 23 TIPE DATA INTEGER Contoh 2: Program_Data_Integer; Var Jumlah : integer; Begin Jumlah := 25000; writeln(‘Nilai Jumlah = ‘, Jumlah); End. 24 TIPE DATA REAL Nilai konstanta numerik real berkisar 1E-38 hingga 1E+38 dengan mantisa yang signifikan sampai dengan 11 digit. E menunjukkan nilai 10 pangkat. Nilai konstanta numerik real menempati memori sebesar 6 byte. 25 TIPE DATA REAL Contoh nilai konstanta numerik real. 123.45 12345. Salah, titik desimal tidak boleh dibelakang 12E5 12E+5 -12.34 1.23E-2 .1234 0.1234 Salah, titik desimal tidak boleh dimuka 26 TIPE DATA REAL Contoh 1 : Program_Data_Real; Var Nilai1, Nilai2 : real; Begin Nilai1 := 12345678901.2345; Nilai2 := 12345; writeln(‘Nilai 1 = ‘, Nilai1); writeln(‘Nilai 2 = ‘, Nilai2); End. 27 TIPE DATA REAL Contoh 1 : (Hasil) Nilai 1 = 1.2345678901E+10 Nilai 2 = 1.2345000000E+04 28 TIPE DATA REAL Turbo Pascal mendukung penggunaan tipe data sesuai dengan IEEE (Institue of Electrical and Electronic Engineers) Standard 754 untuk arithmatika floating-point, yang terdiri dari tipe data: Single Double Extended Comp 29 TIPE DATA REAL Tipe data real IEEE Standard 754 Tipe Ukuran Memori (dalam byte) Jangkauan Nilai Digit Signifikan Single 4 1.5 x 10E-45 .. 3.4 x 10E38 7-8 Double 8 5.0 x 10E-324 .. 1.7 x 10E308 15-16 Extended 10 1.9 x 10E-4951 .. 1.1 x 10E4932 19-20 Comp 8 -2E + 63 + 1 .. 2E + 63 - 1 19-20 30 TIPE DATA REAL Example: Begin S := 22/7; D := 22/7; E := 22/7; C := 22/7; writeln(‘Single :‘, S); writeln(‘Double :‘, D); writeln(‘Extended :‘, E); writeln(‘Comp :‘, C); Program_Data_Real; Var S: Single; D: Double; E: Extended; C: Comp; End. 31 TIPE DATA REAL Hasil : Single Double Extended Comp : 3.14285707473755E+0000 : 3.14285714285714E+0000 : 3.14285714285714E+0000 : 3.00000000000000E+0000 32 TIPE DATA KARAKTER Nilai data karakter berupa sebuah karakter yang ditulis diantara tanda petik tunggal, seperti misalnya ‘A’, ‘a’, ‘!’, ‘%’, ‘5’ dan sebagainya. Penggunaan variabel untuk menyimpan data tipe karakter ini harus dideklarasikan dengan tipe Char, sebagai berikut: 33 TIPE DATA KARAKTER Contoh: Program_Data_Char; Var SebuahKarakter : char; Begin SebuahKarakter := ‘A’; writeln(‘Karakter tersebut SebuahKarakter’); End. = ‘, 34 TIPE DATA STRING Nilai data STRING merupakan urut-urutan dari karakter yang terletak di antara tanda petik tunggal. Bila karakter petik merupakan bagian dari konstanta string, maka dapat ditulis dengan menggunakan dua buah petik tunggal berurutan. Nilai data string akan menempati memori sebesar banyaknya karakter stringnya ditambah dengan 1 byte. Bila panjang dari suatu string di dalam deklarasi variabel tidak disebutkan,maka dianggap panjangnya adalah 255 karakter. 35 TIPE DATA STRING Contoh: Begin Program_Data_String; Var Tanggal 1987’; := ‘18-02- Tanggal : string[10]; Hari := ‘Jum’’at’; Hari : string[6]; Pasaran := ‘Legi’; Pasaran : string[4]; Jarak := ‘ ‘; Jarak : char; writeln(Tanggal, Hari, ‘ ‘,Pasaran); Jarak, End. 36 TIPE DATA BOOLEAN Tipe data boolean mempunyai dua buah nilai, yaitu True dan False. Anda dapat mendeklarasikan suatu variabel berupa tipe data boolean dan mengisi variabel tersebut dengan nilai data boolean True dan False. 37 TIPE DATA BOOLEAN Contoh: Program_Boolean; Var Lagi : boolean; Begin Lagi := True; writeln(‘Nilai Lagi = ‘,Lagi); End. 38 TIPE DATA POINTER Suatu pointer adalah suatu variabel yang berisi alamat (address) di memori RAM dimana suatu data disimpan, bukannya berisi data itu sendiri. Dengan kata lain, pointer akan menunjukkan letak dari data di memori. 39 TIPE DATA POINTER Contoh: Program_Pointer; Type Tipestring = string[40]; pointerstring = ^Tipestring; Var LetakNama : pointerstring; Begin LetakNama^ := ‘Jogiyanto H.M’; writeln(LetakNama^); End. 40 TIPE DATA ORDINAL Tipe data ordinal (ordinal type) adalah tipe data yang merupakan subset dari tipe data sederhana (tipe data standar dan tipe data yang didefinisikan sendiri oleh pemakai). Yang dimaksud dengan tipe data sebenarnya adalah semua tipe data sederhana kecuali tipe data numerik real. Jadi yang termasuk dalam tipe data ordinal adalah: 41 TIPE DATA ORDINAL 1. Tipe data standar (integer, shortint, longint, byte, word, boolean dan char) 2. Tipe data yang didefinisikan sendiri oleh pemakai (enumerated type dan subrange type) 42 TIPE DATA ORDINAL Tipe data ordinal mempunyai beberapa karakteristik sebagai berikut ini : 1. Fungsi standar Ord dapat digunakan untuk menghasilkan nilai urutannya. Misalnya Ord(‘a’) akan dihasilkan nilai 97, yaitu nilai urutanya sesuai dengan kode ASCII. 2. Fungsi standar Pred dapat digunakan untuk menghasilkan predecessor dari nilai datanya. Misalnya Pred(“b”) akan dihasilkan nilai “a”. 3. Fungsi standar Succ dapat digunakan untuk menghasilkan successor dari nilai datanya. Misalnya Succ(“a”) akan dihasilkan nilai “b”. 43 KARAKTER KONTROL 44 Pascal memungkinkan karakter-karakter dilekatkan di dalam suatu string. kontrol untuk Dua buah notasi digunakan untuk karakter kontrol, yaitu: Simbol # yang diikuti oleh suatu nilai integer diantaranya 0-255, baik berupa nilai desimal maupun hexadesimal untuk menunjukkan suatu karakter yang dihubungkan dengan kode ASCII. 45 Contoh: #7 #65 #10 ASCII 7 adalah bel ASCII 65 adalah karakter A ASCII 10 adalah line feed #13 ASCII 13 adalah carriage return 46 Contoh: Program_Kontrol; Begin writeln(#83#65#89#65#32#80#65#83#67#65#76); End. 47 Contoh 2: Simbol ^ diikuti oleh suatu karakter, menunjukkan hubungannya dengan karakter kontrol. ^G Control-G berarti Bel, sama dengan ASCII 7 ^M Control-M berarti carriage return, sama dengan ASCII 13 ^[ Control-[ berarti escape 48 Contoh 2: Program_Kontrol_Bel; Begin writeln(‘Apakah Anda mendengar bunyi bel 2 kali?’, ^g#7); End. 49 TANDA OPERASI 50 Tanda operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam 9 kategori, yaitu: 1. 2. 3. 4. 5. 6. 7. 8. 9. Assigment operator Binary Operator Unary Operator Bitwise Operator Relational Operator Logical Operator Address Operator Set Operator String Operator 51 Assignment operator menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=). Contoh: Begin A:= 2; End. 52 Operator ini digunakan untuk mengoperasikan dua buah operand. Operand dapat berbentuk konstanta ataupun variabel. Operator ini digunakan untuk operasi arithmatika yang berhubungan dengan nilai tipe data Integer dan real. 53 Tabel Binary Operator Operator Operasi Tipe operand Tipe Hasil * Perkalian Real, real Integer, integer Real, integer Real Integer Real DIV Pembagian bulat Integer, integer Integer / Pembagian real Real,real Integer,integer Real, integer Real Real Real MOD Modulus Integer, integer Integer 54 Tabel Binary Operator Operator Operasi Tipe operand Tipe Hasil + Pertambahan Real, real Integer, integer Real, integer real Integer Real - Pengurangan Real, real Integer, integer Real, integer Real Integer real 55 Contoh: Program_Biner; Begin writeln(15*5); writeln(20/3); writeln(20 div 3); writeln(20 mod 3); End. 56 Disebut dengan unary operator karena operator ini hanya menggunakan sebuah operand saja. Unary operator dapat berupa unary minus dan unary plus. 57 Unary minus : Operator yang berupa tanda minus hanya digunakan pada sebuah numerik operand saja untuk menunjukkan nilai negatip, baik pada operand numerik real, maupun numerik integer. Unary plus : operator untuk memberi tanda plus. 58 Examples: -5 -7 - 2.5 - +2.5 59 Digunakan untuk operasi bit per bit pada nilai integer. Operator Operasi Tipe Operand Tipe Hasil NOT Bitwise Negation Integer integer AND Bitwise AND Integer, integer integer OR Bitwise OR Integer, integer integer XOR Bitwise XOR Integer, integer integer Shl Shift left Integer, integer integer Shr Shift right Integer, integer integer 60 Operator NOT Operator NOT digunakan untuk pembalikan bitwise, yaitu nilai bit 1 menjadi bit 0 dan sebaliknya nilai bit 0 menjadi bit 1. 61 Contoh: Program_NOT; Begin writeln(not 0); writeln(not 5); writeln(not 18); writeln(not -17); End. 62 Contoh: -1 -6 -19 16 63 Operator AND Operator 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. 64 Operator AND A B A AND B 1 1 1 1 0 0 0 1 0 0 0 0 65 Operator AND Program_AND; Begin writeln(12 AND 23); End. 66 Operator OR Operator ini 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. 67 Operator OR A B A OR B 1 1 1 1 0 1 0 1 1 0 0 0 68 Operator OR Program_OR; Begin writeln(12 OR 23); End. 69 Operator 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 tebel. 70 Operator XOR A B A XOR B 1 1 0 1 0 1 0 1 1 0 0 0 71 Operator XOR Program_XOR; Begin writeln(12 XOR 23); End. 72 Operator SHL Operator SHL digunakan untuk menggeser (shift) sejumlah bit ke kiri (left) dengan nilai bit 0. 73 Operator SHL Program_SHL; Begin writeln(5 shl 6); End. 74 Operator SHR Operator shr digunakan untuk menggeser sejumlah bit ke kenan dengan nilai bit 0. 75 Operator SHR Program_SHR; Begin writeln(160 shr 6); End. 76 Tanda operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam 9 kategori, yaitu: 1. 2. 3. 4. 5. 6. 7. 8. 9. Assigment operator Binary Operator Unary Operator Bitwise Operator Relational Operator Logical Operator Address Operator Set Operator String Operator 77 HM, Jogiyanto. 2001. Turbo Pascal Teori dan Aplikasi Program Komputer Bahasa Turbo Pascal Termasuk Database Toolbox. Yogyakarta: Andi.