TURBO PASCAL SISWANDI
STRUKTUR PROGRAM PASCAL • Judul Program (program Heading) • Badan Program ( Program Block) – Bagian deklarasi (declaration part) – Bagian pernyataan (statement part)
STRUKTUR PENULISAN PASCAL • Judul Program Bagian Deklarasi
Bagian Pernyataan
Bagian Deklarasi • • • • • •
Deklarasi Label (labels declaration) Definisi Konstanta (constants declaration) Definisi tipe (type declaration) Deklarasi variabel (variables declaration) Deklarasi prosedure (procedures declaration) Deklarasi fungsi (function declaration)
Bagian Pernyataan • Contoh : begin statetement; . . end program dengan statement kosong
Cara Penulisan statement Contoh ; Diakhiri dengan titik koma
begin wrteln (‘Saya Pascal’); writeln (‘.................’) end
Mencetak hasil di Printer Lst merupakan nama dan printer, menampilkan hasil di printer
• begin • wrteln (lst, ’Saya Pascal’); • writeln (lst, ‘.................’) • end
Deklarasi konstanta Contoh; Bagian definisi Program Contoh_konstanta(Layar); konstanta const potongan = 0.2; gaji = 25000; NamaPerusahaan = ‘P.T Lali Jiwa’; begin writeln(‘potongan = ‘,Potongan); writeln(‘Gaji = ‘,Gaji); writeln(‘nama =‘,NamaPerusahaan); end
Bila program ini dijalankan
Potongan = 2.000000000E-01 Gaji = 25000 Nama = P.T. Lali Jiwa
Konstanta yang tidak perlu didefinisikan dengan tipe Boolean, bernilai logika salah • True dengan tipe Boolean, bernilai logika benar • MaxInt dengan tipe numerik integer, bernilai 32767 • MaxLongInt dengan tipe numerik integer, bernilai2147483647 • False
Contoh; Program Contoh_Konstanta_Terdefinisi(layar); begin writeln(‘Nilai Logika benar = ‘,True); writeln(‘Nilai Logika salah = ‘,False); writeln(‘Nilai MaxInt = ‘,MaxInt); writeln(‘Nilai MaxLongInt = ‘,MaxLongInt); End. Bila program ini dijalankan
Nilai Nilai Nilai Nilai
Logika benar = TRUE Logika salah = FALSE MaxInt = 32767 MaxLongInt = 2147483647
Deklarasi variabel Program Contoh_Dekalarasi_variabel(layar); Var Bagian deklarasi Total, Gaji, Tunjangan : real; variabel Menikah : Boolean; JumlahAnak : integer; Keterangan : string[25]; begin Gaji := 50000; Menikah :=True; JumlahAnak := 3; Tunjangan := 0.25 * Gaji + JumlahAnak * 30000.0; Total := Gaji + Tunjangan; Keterangan := ‘Karyawan Teladan’; writeln (‘Gaji bulanan : Rp ‘,Gaji); writeln (‘Tunjangan : Rp ‘,Tunjangan); writeln (‘Total Gaji : Rp ‘,Total); writeln (‘Sudah menikah : ‘,Menikah); writeln (‘Jumlah Anak : ‘,JumlahAnak); writeln (‘Keterangan : ‘,keterangan); End.
Hasil
Akan digunakan untuk menyimpan data dengan tipe real (‘bilangan pecahan’);
Gaji bulanan : Rp 5.000000000E+04 Tunjangan : Rp 1.025000000E+05 Total Gaji : Rp Tipe data Boolean; 1.525000000E+05 Tipe data integer; Sudah Menikah : TRUE Jumlah Anak : 3 Keterangan : Karyawan NilaiTeladan data string sepanjang maksimum 25 karakter
Deklarasi Tipe Data yang di akan dipergunakan haruslah diperkenalkan (identifier) tipenya. Ada beberapa tipe dalam pemrogaman pascal, yakni; a. Data Tipe sederhana (simple –type data) Tipe Data Standar (standar data types)
• –
Contoh :Integer ( integer, byte, word,shortin dan longint); real, char, string dan Boolean.
User-defined data type)
• –
Contoh : enumerated atau scalar (sejumlah data disebutkan satu persatu); range dari data, dst
b. Data Tipe Terstruktur (structured-type data) Data Tipe ini terdiri dari beberapa data item yang dihubungkan satu dengan lainnya. Masing masing grup dari data item dihubungkan dengan suatu identifier tertentu. contoh; array, record, file dan set c. Data Tipe penunjuk (pointer-type data) Data ini digunakan untuk membuat data terstruktur tipe dinamik. contok ; penggunakaan memory stack pada pemrograman
Contoh deklarasi tipe data sederhana Type pecahan = real; Logika = boolean; bulat = integer; huruf = string(25); Begin . end
Bagian definisi tipe
Menggunakan ‘=‘
Type pecahan = real; Logika = boolean; bulat = integer; huruf = string(25);
Deklarasi type
var Total, Gaji, Tunjangan : pecahan; Menikah : Logika; JumlahAnak : bulat; Keterangan : huruf;
Deklarasi variabel
Begin Gaji := 50000; Menggunakan ‘:’ Menikah := True; JumlahAnak := 3; Tunjangan := 0.25 * Gaji + JumlahAnak * 30000.0; Total := Gaji * Tunjangan; Keterangan := ‘Karyawan Teladan’; writeln (‘Gaji bulanan : Rp ‘,Gaji); writeln (‘Tunjangan : Rp ‘,Tunjangan);
Contoh Deklarasi Label
Program contoh_label(layar); Label 100, selesai; Begin Identifier label writeln(‘bahasa’); goto 100; writeln(’BASIC’); writeln(‘COBOL’); 100: Label yang writeln(‘PASCAL’); dituju goto selesai; witeln(‘FORTRAN’); Selesai: Label yang end dituju
Contoh deklarasi prosedur Kata cadangan PROCEDURE Hitung(X,Y:integer);
Identifier nama prosedur Kumpulan parameter
Program contoh_procedure(layar); Procedure Tambah(x,y : integer; var hasil : integer); Bagian Begin deklarasi hasil := x + y; procedure End; (program utama) Var z : integer; Begin Tambah(2,3,z); writeln(‘2 + 3 =‘,z); End. Hasil
2+3=5
Contoh deklarasi fungsi Kata cadangan Identifier nama procedure
FUNCTION Pangkat(X,Y : real) : real;
Kumpulan parameter
Kumpulan parameter
Program Contoh_fungsi(integer); Function Tambah(x,y : integer) : integer; Begin Tambah := x + y; End; (Program Utama) Begin writeln(‘2 + 3 = ‘, Tambah(2,3)); end Hasil
2+3=5
Bagian deklarasi fungsi
TANDA OPERASI 1. 2. 3. 4. 5. 6. 7. 8. 9.
Assignment operator Binary operator Unary operator Bitwise operator Relational operator Logical operator Address operator Set operator String operator
Assignment operator A := B;
Assignment operator
Binary operator Operator
Operasi
Tipe Operand
Tipe hasil
*
Perkalian
Real, real integer,Real integer real, Integer integer Real
DIV
Pembagian bulat Integer, integer
/
Pembagian real
Real, real integer,Real integer real, Real integer Real
MOD
Modulus (sisa pembagian)
Integer, integer
+
Pertambahan
Real, real integer,Real integer real, Integer integer Real
-
Pengurangan
Real, real integer,Real integer real, Integer integer real
Integer
Integer
Contoh : binary operator; Begin writeln(15*5); writeln(20/3); writeln(20 div 3); writeln(20 mod 3); End. HASIL
75 6.666666666E+00 6 2
Bitwise operator Operator
Operasi
Tipe Operasi
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
Operator NOT Operator NOT digunakan untuk pembalikan bitwise, yaitu nilai bit 1 menjadi bit 0 dan sebaliknya nilai bit 0 menjadi bit 1 Begin writeln(not 0); writeln(not 5); writeln(not18); writeln(not -17); End. HASIL
-1 16 -19 16
Begin Operator AND
A B A AND B 1 1
1
1 0
0
0 1
0
0 0
0
writeln(12 AND 23); End. 12 nilai binarinya 00000000000000001100 23 nilai binarinya 00000000000000010111 12 AND 23 bernilai 00000000000000000100
adalah adalah
adalah nilai 4 Operator OR A B A OR B 1 1
1
1 0
1
1 1
1
1 0
0
Begin writeln(12 OR 23); end 12 nilai binarinya 00000000000000001100 23 nilai binarinya 00000000000000010111 12 OR 23 bernilai 00000000000000011111
adalah adalah
adalah nilai 31
OPERATOR XOR 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 dibetri simbol 0, maka hubungan XOR tampak pada tabel A B A XOR B
Begin writeln(12 Xor 23); End.
1 1
0
1 0
1
0 1
1
0 0
0
12 nilai binarinya 00000000000000001100 23 nilai binarinya 00000000000000010111 12 XOR 23 bernilai 00000000000000011011
adalah adalah
adalah nilai 27
Rasional Operator Var Operato Operasi r =
Sama dengan
<>
Tidak sama dengan
>
Lebih besar dari
>=
Lebih besar sama dengan dari
<
Lebih kecil dari
<=
Lebih kecil sama dengan dari
IN
FALSE dari anggota Seleksi TRUE himpunan TRUE TRUE FALSE FALSE
Begin
a, b : integer; a = 5; b = 3; writeln(a=b); writeln(a=5); writeln((a<>b); writeln(a>b); writeln(a>=b); writeln((a
End. HASIL
STATEMENT Statement pengerjaan (assignment statement) merupakan statemen yang paling mendasar dari semua statemen yang ada. Statemen ini digunakan untuk memasuki suatu nilai tertentu ke dalam suatu variabel. Bentuk dari statemen ini terdiri dari pengenal variabel diikuti oleh operator := dan suatu ungkapan sebagai berikut : pengenal – variabel := ungkapan Contoh ; nilai := 5; nilai := nilai + 1; D := B*D – 4*A*C; Lulus := (nilai>65.5); Benar := True; Lolos := (Kode = Sandi);
PENYELEKSI KONDISI Hampir tiap program yang mengandung suatu penyelesaian kondisi. Dengan menyeleksi suatu kondisi, program dapat menentukan tindakan apa yang harus dikejakan, tergantung dari hasil kondisi yang diseleksi tersebut. –Statement if struktur dari statement if dapat berupa if-Then atau IfTheni- Else dengan diagram sintaks sebagai berikut : If
Statement If
ungkapa n
The n
Else
statemen
statemen
Statemen Terstruktur Var begin
Nilai := 55,5;
Keterangan := ‘Tidak Lulus’; Komentae := ‘Mengecewakan’;
A
Nilai : real; Keterangan, Komentar : String(25); Begin Nilai := 55.5; Keterangan := ‘Tidak Lulus’; Komentar := ‘Mengecewakan’; if Nilai > 60 then Keterangan := ‘Lulus’; Komentar := ‘Menuaskan’; writeln(‘Keterangan : Keterangan); writeln(‘Komentar : Komentar); End.
‘, ‘,
A
If Nilai > 60 Then
ya
Keterangan := ‘Lulus’;
Komentar := ‘Memuaskan’; Writeln(‘Keterangan :’, Keterangan); Writeln(‘Komentar : ‘, Komentar); End.
Struktur if-Then If ungkapan Then statemen Contoh; If kondisi ?
Tidak
benar Then statemen
Struktur If-Then-Else Struktur If-Then...else merupakan pengembangan dari struktur ifthen dengan struktur sebagai berikut ; If Kondisi Then statemen 1 Else
tidak
If Kondi si?
benar
statemen2 Else statemen 2
Then statemen 1
Contoh if then..else Var NilaiUjian : real; Begin writeln(‘nilai yang didapat ?’); Readln(NilaiUjian); (* seleksi niulai yang didapat, Lulus atau tidak*) if NilaiUjian > 60 Then writeln(‘Lulus’) Else writeln(‘Tidak Lulus’); End. Bila program ini dijalankan : Nilai yang didapat ? 70 Lulus
Struktur If tersarang If Kondisi Then Begin
If kondisi 2 Then Statemen 1 Else statemen 2
End;
If tersarang dapat juga berbentuk : If kondisi 1 Then Begin If kondisi 2 Then Begin If kondisi 3 Then Begin If Kondisi 4 Then statemen 1 Else Statemen 2; end end End;
If Kondisi 1? tidak
benar
If Kondisi 2? tidak
benar
If Kondisi 3? tidak
benar
tidak Statemen2;
If Kondisi 4?
benar
Statemen1;
Sekian dulu.. Ahhh; Lain kali disambung lagi; OK ?; ‘Auf Viederseen’;