KONSEP DASAR PEMROGRAMAN PASCAL Perkembangan Pascal Pengertian Pemrograman / programming : adalah pekerjaan penulisan instruksi bagi komputer untuk menyelesaikan suatu masalah. Program
: adalah himpunan instruksi yang diperuntukkan bagi komputer, untuk menyelesaikan masalah yang diberikan.
Interpreter : menerjemahkan perintah baris demi baris dan langsung melaksanakannya. contoh : BASIC. Compiler
: menerjemahkan dulu seluruh perintah dalam bahasa mesin. Baru kemudian terjemahan tersebut dijalankan oleh komputer. Contoh : FORTRAN, C, 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 BLEISE PASCAL yang telah berjasa menemukan alat hitung mekanis pertama didunia pada abad ke-17.Bahasa pemrograman ini termasuk kategori “High Level Language”. Instruksi-instruksi yang digunakan dalam bahasa pemrograman ini sangat sistematis dan terstruktur.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
Diantara versi-versi yang ada, Turbo Pascal merupakan versi yang sangat populer saat ini.
Komponen Dasar Program Pascal Pola susun bahasa Pascal dibentuk dengan menggunakan komponen bahasa pemrograman yang umum, yaitu : 1. Simbol Dasar 2. Reserved Word (kata pasti) 3. Identifier (penyebut) 1. Simbol Dasar. Simbol dasar terdiri atas : 1. Simbol huruf, yaitu huruf A sampai dengan Z atau a sampai dengan z. (huruf besar dan kecil). 2. Simbol angka atau digit yaitu : 0,1,2,3,4,5,6,7,8,9. 3. Simbol khusus, yaitu + - * / ; := , ‘ = < > <= >= <> : { } ( ) [ ] 2. Reserved Word (kata pasti) Reserved Word adalah suatu kata yang secara mutlak tidak boleh diartikan lain dan harus digunakan sebagaimana yang telah didefinisikan atau ditentukan kegunaanya oleh bahasa Pascal. Reserved word ini tidak boleh didefinisikan ulang oleh pemakai, sehingga tidak dapat dipergunakan sebagai pengenal (identifier) Reserved Word ini jumlahnya berbeda untuk masing-masing bahasa Pascal.Contoh beberapa reserved word yang telah didefinisikan oleh bahasa pascal antara lain AND
ELSE
LABEL
SET
ARRAY
END
OF
TYPE
BEGIN
FUNCTION
OR
UNTIL
CASE
FOR
PROCEDURE
VAR
CONST
GOTO
PROGRAM
WHILE
DO
IF
RECORD
WITH
DOWNTO
IN
REPEAT
dsb
3. Identifier (sebutan/pengenal) Identifier merupakan sebuah kata yang digunakan sebagai nama atau sebutan terhadap sesuatu didalam program. Pemakai dapat mendefinisikan sendiri suatu nama sebagai identifier. Identifier ini terdiri atas : 1. Identifier Standar, yaitu identifier yang telah didefinisikan oleh bahasa pascal. Contoh dari Identifier standar ini antara lain: ABS
LN
ARCTAN
ODB
BOOLEAN
PRED
CHAR
ROUND
CHR
READ
COS
READLN
EOF
SQR
EOLN
SQRT
EXP
SUCC
Dan masih banyak lagi. 2. Identifier Non Standar; yaitu identifier yang didefinisikan oleh pemakai bahasa pascal; misalnya; 3. nama suatu program 4. nama suatu konstanta 5. nama suatu variabel 6. nama suatu procedure Identifier ini bebas, tetapi dengan ketentuan-ketentuan sebagai berikut : 7. terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Huruf besar dan huruf kecil dianggap sama. 8. Tidak boleh mengandung blank. 9. Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah. 10. Panjangnya bebas, tetapi hanya 63 karakter pertama yang dianggap signifikan.
Contoh : Identifier
Keterangan
GajiKaryawan
Benar
No_Mhs
Benar
P3K
Benar
1X
Salah, karakter pertama harus huruf
A&B
Salah, tidak boleh mengandung simbol khusus
AB
Salah, tidak boleh mengandung blank
Jenis – jenis data Jenis – jenis data yang dikenal dalam bahasa pascal antara lain yaitu: 1. Jenis data sederhana a. Jenis data yang standar; yaitu : • Integer • Real • Karakter • Boolean b. Jenis data yang non standar (user defined), yaitu; • Enumerated • Sub-range 2. Jenis data berstuktur, yaitu: a. Array b. Record c. Set d. File 3. Jenis Data Pointer
INTEGER Jenis data ini terdiri atas integer positif, integer negatif dan nol. Merupakan nilai bilangan bulat. Pada TURBO PASCAL jenis data ini di bagi atas beberapa bagian, yaitu : Tipe
Ukuran memori (dalam byte)
Jangkauan nilai
BYTE
1
0..255
SHORTIN
1
-128..127
INTEGER
2
-32768..32767
WORD
2
0..65535
LONGIN
4
-2147483648..2147483647
Operator Integer terdiri atas : + , - , * , / , DIV dan MOD Contoh : Var Jumlah : byte; Begin Jumlah := 200; WriteLn(‘Nilai JUMLAH = ‘,Jumlah); End. Hasilnya bila dijalankan :
Nilai JUMLAH = 200
REAL Penulisan untuk jenis data ini selalu menggunakan titik desimal. Nilai konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38 dengan mantissa yang signifikan sampai dengan 11 digit. E menunjukkan nilai 10 pangkat. Nilai konstanta numerik real menempati memori sebesar 6 byte. Contoh : 123.45 12345. → salah, titik desimal tidak boleh dibelakang 12E5 12E+5 -12.34 .1234 → salah, titik desimal tidak boleh dimuka Pada TURBO PASCAL, jenis data ini dibedakan atas :
Tipe
Ukuran memori
Jangkauan nilai
Digit signifikan
(dalam byte) SING
4
1.5x10E-45 3.4x10E38
..
7-8
D OUBLE
8
5.0x10E-324 1.7x10E308
..
15-16
E XTENDED
10
1.9x10E-4951 1.1x10E4932
..
19-20
LE
C
8
-2E+63+1 .. 2E+63-1
OMP
Operator untuk jenis data ini terdiri atas : + , - , * dan /
KARAKTER
19-20
Yang dimaksud dengan jenis data ini adalah karakter tunggal atau sebuah karakter yang ditulis diantara tanda petik tunggal, seperti misalnya ‘A’,’a’,’!’,’5’ dsb. Dasarnya adalah ASCII CHARACTER SET. Misalnya : 032 pada tabel ASCII CHARACTER SET menunjukkan karakter. Blank. 033
!
048
0
076
L Dst
STRING Nilai data string merupakan urut-urutan dari karakter yang terletak di antara tanda petik tunggal. Nilai data string akan menenpati 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. Contoh : Var Kampus : string[10]; Begin Kampus := ‘Gunadarma’; Write(Kampus); End.
BOOLEAN Jenis data ini mempunyai nilai TRUE atau FALSE.
Operator untuk jenis data ini adalah : 1. Logical Operator, yaitu : NOT, AND dan OR 2. Relational Operator, yaitu : >, <, >=, <=, <> dan =
1.1 Struktur Program Pascal Struktur dari suatu program pascal terdiri dari sebuah judul program dan suatu blok program atau badan program. Blok program dibagi lagi menjadi dua bagian, yaitu : bagian deklarasi dan bagian pernyataan. Secara ringkas, struktur suatu program pascal dapat terdiri dari : 1. Judul program 2. Blok program a. Bagian deklarasi • deklarasi label • deklarasi konstanta • deklarasi tipe • deklarasi variable • deklarasi prosedur • deklarasi fungsi b. Bagian pernyataan Program pascal yang paling sederhana adalah program yang hanya terdiri dari sebuah bagian pernyataan saja. Begin End. Bentuk umum dari bagian pernyataan adalah : Begin Statement; End . Contoh : Begin Writeln ( ‘Saya pascal’ ); Writeln ( ‘--------------‘ ) End . Outputnya : Saya pascal --------------Program pascal tidak mengenal aturan penulisan di kolom tertentu, jadi boleh ditulis mulai kolom berapapun. Penulisan statement-statement pada contoh program yang menjorok masuk beberapa kolom tidak mempunyai pengaruh diproses, hanya dimaksudkan supaya mempermudah pembacaan program, sehingga akan lebih terlihat bagian-bagiannya, dan baik untuk dokumentasi. Judul program sifatnya optional dan tidak signifikan didalam program. Jika ditulis dapat digunakan untuk memberi nama program dan daftar dari parameter tentang komunikasi
program dengan lingkungannya yang sifatnya sebagai dokumentasi saja. Judul program bila ditulis harus terletak pada awal dari program dan diakhiri dengan titik koma. Contoh : Program contoh ; Begin Writeln ( ‘Gunadarma’ ); Writeln( ‘---------------‘ ); End . 1.3 Deklarasi Bagian deklarasi digunakan bila didalam program menggunakan pengenal (identifier) yang dapat berupa label, konstanta, tipe, variable, prosedur dan fungsi. 1.3.1 Deklarasi Konstanta Definisi konstanta diawali dengan kata cadangan Const diikuti oleh kumpulan identifier yang diberi suatu nilai konstanta. Data konstanta nilainya sudah ditentukan dan pasti, tidak dapat dirubah didalam program. Contoh : Program contoh_konstanta; Const Potongan = 0.2 ; Gaji = 25000 ; Namaperusahaan = ‘PT ABC’ ; Begin Writeln ( ‘Potongan =’, Potongan ) ; Writeln ( ‘Gaji =’, Gaji ) ; Writeln ( ‘Nama =’, Namaperusahaan) ; End . 1.3.2 Deklarasi Variabel Variabel adalah identifier yang berisi data yang dapat diubah-ubah nilainya didalam program. Menggunakan kata cadangan Var sebagai judul didalam bagian deklarasi variable dan diikuti oleh satu atau lebih identifier yang dipisahkan koma, diikuti dengan titik dua dan tipe dari datanya diakhiri dengan titik koma. Contoh : Var Total, Gaji, Tunjangan : real ; Jumlahanak : integer ; Keterangan : string [25] ; Begin Gaji : = 500000 ; Jumlahanak : = 3 ; Tunjangan : = 0.25 * Gaji + Jumlahanak * 30000 ; Total : = Gaji + Tunjangan ; Keterangan : = ‘Karyawan Teladan’ ; Writeln ( ‘ Gaji bulanan = Rp. ‘ , Gaji ) ; Writeln ( ‘ Tunjangan = Rp. ‘ , Tunjangan ) ; Writeln ( ‘ Total gaji = Rp. ‘ , Total ) ; Writeln ( ‘ Keterangan = Rp. ‘ , Keterangan ) ; End .
1.3.3 Deklarasi Tipe Pascal menyediakan beberapa macam tipe data, yaitu : 1. tipe data sederhana, terdiri dari : a. tipe data standar : integer, real, char, string, Boolean. b. Tipe data didefinisikan pemakai : enumerated atau scalar, subrange 2. Tipe data terstruktur : array, record, file, set 3. Tipe data penunjuk Contoh : Type Pecahan = real ; Bulat = integer ; Huruf = string [25] ; Begin …….. …….. …….. End . 1.3.4 Deklarasi Label Jika program menggunakan statement Goto untuk meloncat ke suatu statement yang tertentu, maka dibutuhkan suatu label pada statement yang dituju dan label tersebut harus di deklarasikan terlebih dahulu pada bagian deklarasi. Menggunakan kata cadangan Label diikuti oleh kumpulan identifier label dengan dipisahkan oleh koma dan diakhiri dengan titik koma. Contoh : Label 100, selesai ; Begin Writeln ( ‘Bahasa’ ) ; Goto 100 ; Writeln ( ‘Cobol’ ) ; 100 : Writeln ( ‘Pascal’ ) ; Goto selesai ; Writeln ( ‘Fortran’ ) ; Selesai : End . 1.3.5 Deklarasi Prosedur Prosedur merupakan bagian yang terpisah dari program dan dapat diaktifkan dimanapun didalam program. Prosedur dibuat sendiri bilamana program akan dibagi-bagi menjadi beberapa blok-blok modul. Prosedur dibuat didalam program dengan cara mendeklarasikannya dibagian deklarasi prosedur. Menggunakan kata cadangan Procedure.
Output : Bahasa Pascal Contoh : Procedure tambah ( x, y : integer ; var hasil : integer ) ; Begin Hasil : = x + y ; End ; {program utama} var z : integer ; Begin Tambah ( 2, 3, z ) ; Writeln ( ‘ 2 + 3 = ‘, z ); End . 1.3.6 Deklarasi Fungsi Fungsi juga merupakan bagian program yang terpisah mirip dengan prosedur, tetapi ada beberapa perbedaannya. Kata cadangan yang digunakan Function. Contoh : Function Tambah ( x, y : integer ) : integer ; Begin Tambah : = x + y ; End ; {program utama} Begin Writeln ( ‘ 2 + 3 = ‘ , Tambah ( 2, 3)) ; End . 1.4 Unit Suatu unit adalah kumpulan dari konstanta, tipe-tipe data, variable, prosedur dan fungsi-fungsi. Tiap-tiap unit tampak seperti suatu program Pascal yang terpisah. Unit standar sudah merupakan kode mesin (sudah dikompilasi), bukan kode sumber Pascal lagi dan sudah diletakkan di memori pada waktu menggunakan pascal. Untuk menggunakan suatu unit, harus diletakkan suatu anak kalimat Uses diawal blok program, diikuti oleh daftar nama unit yang digunakan.
1.4.1 Unit System Sebenarnya adalah pustaka dari runtime Turbo Pascal yang mendukung semua proses yang dibutuhkan pada waktu runtime. Unit system berisi semua prosedur dan fungsi standar turbo pascal. Unit system ini akan secara otomatis digunakan didalam program, sehingga boleh tidak disebutkan didalam anak kalimat Uses. Output : 2+3=5
1.4.2 Unit Crt Digunakan untuk memanipulasi layer teks ( windowing, peletakkan cursor dilayar, color untuk teks, kode extanded keyboard dan lainnya). Unit standar crt hanya dapat digunakan oleh program yang digunakan dikomputer IBM PC, IBM AT, IBM PS/2 atau yang kompatibel dengannya. Contoh : Uses crt ; Begin Clrscr ; Writeln ( ‘Hallo’ ) ; Writeln ( ‘-------‘ ) ; End . Prosedur standar yang menggunakan unit crt adalah : AssignCrt H S ighVideo ound ClrEol InsL Text ine Background ClrScr L Text owVideo Color Delay N Text ormVideo Mode DelLine N W oSound indow GotoXY