ElemenElemen Pascal Elemen Elemen Pascal 2 Simbolsimbol dasar
Elemen-Elemen Pascal
Elemen – Elemen Pascal 2
§ 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
§ Program Pascal dapat dibentuk dari simbol-simbol yang terdiri dari: 1. huruf-huruf, 2. angka-angka dan 3. simbol-simbol khusus. 5
§ 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 yang digunakan adalah angka-angka : Angkanya adalah bilangan desimal : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 7
§ Simbol-simbol khusus yang dapat digunakan adalah sebagai berikut : + - * / = ^ () [] {} . , : ; ‘ # $ 8
§ Karakter-karakter yang berpasangan juga merupakan simbol- simbol khusus, yaitu: <= >= (* *) (. . ) : = . . 9
KATA CADANGAN 10
§ 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 dapat dipergunakan sebagai pengenal (identifier). 11
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
§ 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
§ 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
§ Examples: Pengenal Gaji. Karyawan No_Mhs P 3 K 1 X A&B AB Keterangan ? 16
TIPE DATA 17
§ 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
§ 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
§ Tabel Tipe Dat a. Integer 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
§ 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
§ Contoh 1: Program_Data_Byte; Var Jumlah : byte; Begin Jumlah : = 200; writeln(‘Nilai Jumlah = ‘, Jumlah); End. 22
§ 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
§ Contoh 2: Program_Data_Integer; Var Jumlah : integer; Begin Jumlah : = 25000; writeln(‘Nilai Jumlah = ‘, Jumlah); End. 24
§ Nilai konstanta numerik real berkisar 1 E-38 hingga 1 E+38 dengan mantisa yang signifikan sampai dengan 11 digit. § E menunjukkan nilai 10 pangkat. § Nilai konstanta numerik real menempati memori sebesar 6 byte. 25
§ Contoh nilai konstanta numerik real. 123. 45 12345. Salah, titik desimal tidak boleh dibelakang 12 E 5 12 E+5 -12. 34 1. 23 E-2. 1234 0. 1234 Salah, titik desimal tidak boleh dimuka 26
§ Contoh 1 : Program_Data_Real; Var Nilai 1, Nilai 2 : real; Begin Nilai 1 : = 12345678901. 2345; Nilai 2 : = 12345; writeln(‘Nilai 1 = ‘, Nilai 1); writeln(‘Nilai 2 = ‘, Nilai 2); End. 27
§ Contoh 1 : (Hasil) Nilai 1 = 1. 2345678901 E+10 Nilai 2 = 1. 2345000000 E+04 28
§ 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 IEEE Standard 754 Tipe Ukuran Memori (dalam byte) Jangkauan Nilai Digit Signifikan Single 4 1. 5 x 10 E-45. . 3. 4 x 10 E 38 7 -8 Double 8 5. 0 x 10 E-324. . 1. 7 x 10 E 308 15 -16 Extended 10 1. 9 x 10 E-4951. . 1. 1 x 10 E 4932 19 -20 Comp 8 -2 E + 63 + 1. . 2 E + 63 - 1 19 -20 30
§ 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
§ Hasil : Single Double Extended Comp : 3. 14285707473755 E+0000 : 3. 14285714285714 E+0000 : 3. 0000000 E+0000 32
§ 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
§ Contoh: Program_Data_Char; Var Sebuah. Karakter : char; Begin Sebuah. Karakter : = ‘A’; writeln(‘Karakter tersebut = ‘, Sebuah. Karakter’); End. 34
§ 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
§ 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, Jarak, Hari, ‘ ‘, Pasaran); End. 36
§ 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
§ Contoh: Program_Boolean; Var Lagi : boolean; Begin Lagi : = True; writeln(‘Nilai Lagi = ‘, Lagi); End. 38
§ 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
§ Contoh: Program_Pointer; Type Tipestring = string[40]; pointerstring = ^Tipestring; Var Letak. Nama : pointerstring; Begin Letak. Nama^ : = ‘Jogiyanto H. M’; writeln(Letak. Nama^); End. 40
§ 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
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 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 kontrol untuk dilekatkan di dalam suatu string. § 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 #13 ASCII 7 adalah bel ASCII 65 adalah karakter A ASCII 10 adalah line feed 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 Operasi Tipe operand Tipe Hasil * Perkalian Real, real Integer, integer Real Integer Real DIV Pembagian bulat Integer, integer Integer / Pembagian real Real, real Integer, integer Real MOD Modulus Integer, integer Integer 54
§ Tabel Binary Operator Operasi Tipe operand Tipe Hasil + Pertambahan Real, real Integer, integer Real, integer real Integer Real - Pengurangan Real, real Integer, 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 OR Bitwise OR Integer, integer XOR Bitwise XOR Integer, integer Shl Shift left Integer, integer Shr Shift right Integer, integer 60
§ 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 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 0 0 0 1 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 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 1 0 0 0 71
§ Operator XOR Program_XOR; Begin writeln(12 XOR 23); End. 72
§ 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.
- Slides: 78