Program Turbo Pascal
Program Turbo Pascal
Resume Algoritma
Pemrograman
C:\TP7,lalu enter
menjadi .exe
11.
12.
13.
Tahap 3
pemrogaman . Pascal
Deksripsi
Byte
Angka 0-225
Integer
Angka -32768-32767
Real
Boolean
True/False
Char
String
Kode Salah
3.
Error 3
seharusnya nomor
7.
statemen
Untuk kesalahan rumus, atau algoritma-nya, anda harus lebih
teliti lagi dalam pembuatan algoritma program Anda. Harus
diperiksa lagi apakah sudah benar, jika sudah benar
Kesalahan Sintaks
Misalnya pada operasi aritmatika kekurangan jumlah paranthesis
(kurung).
contoh : A:=X+(B*(C+D)
Kesalahan Semantik
o Tipe data yang salah, misal tipe data integer digunakan untuk
variabel string.
Contoh :
Var
Siswa : Integer
Siswa := 'Aka'
{tipe string}
B := B + 1
{B belum didefinisikan}
Penanganan Kesalahan
Mendeteksi kesalahan
Melaporkan kesalahan
karena
looping
tak
berhingga
(indefinite/onbounded loop)
Menghasilkan
program
objek
yang
salah
kompilator
salah.
Ini
karena
berbahaya
baru
akan
bila
muncul
tidak
saat
diketahui
program
dieksekusi.
b.Reaksi yang benar tapi kurang dapat diterima dan kurang
bermanfaat.
Kompilator
menemukan
kesalahan
pertama,
dan
melaporkan
kompilasi.
kesalahan
Pemrogram
akan
hanya
satu
membuang
untuk
waktu
setiap
untuk
kali
melakukan
Reaksi
yang
sudah
dapat
dilakukan,
yaitu
kompilator
pemulihan,
lalu
melanjutkan
menemukan
Reaksi
yang
belum
dapat
dilakukan,
yaitu
kompilator
dengan
yang
diinginkan
pemrogram.
Disini
pemrogram.
Tingkatan
respon
ini
belum
dapat
Pemulihan Kesalahan
Tujuannya
mengembalikan
kondisi
parser
ke
kondisi
stabil
Mekanisme Ad Hoc
Panic mode
Maju terus dan mengabaikan teks sampai bertemu delimeter
(misal ;)
contoh :
IF A := 1
Kondisi := true;
Teks diatas terjadi kesalahan karena tidak ada instruksi THEN,
kompilator akan maju terus sampai bertemu ;
Unit deletion
Menghapus
keseluruhan
suatu
<block>,<exp>,<statement>
dan
unit
sintaktik
sebagainya),
(misal:
efeknya
sama
Error Repair
Bertujuan untuk memodifikasi source program dari kesalahan
dan
membuatnya
valid
sehingga
memungkinkan
kompilator
untuk
I:=I+1;
Kompilator akan menyisipkan DO karena kurang simbol DO
contoh lain :
Procedure Increment;
begin
x:=x+1;
end;
end;
terdapat kelebihan simbol end, yang menyebabkan kesalahan maka
kompilator akan membuangnya.
Context Sensitive Repair
Perbaikan dilakukan pada kesalahan :
Spelling repair
Memperbaiki kesalahan pengetikan pada identifier, misal :
WHILLE A = 1 DO
Identifier yang salah tersebut akan diperbaiki menjadi WHILE
tipe
data
dasar
yang
sering
dipakai
oleh
program,
Bilangan Integer
Merupakan tipe data berupa bilangan bulat, terbagi atas beberapa
kategori seperti terlihat dalam tabel 1. tabel 1 menunjukkan jenis
data, ukuran dalam memori dan rentang nilainya.
Tabel 1. Tipe Data Bilangan Integer
Tipe Data
Byte
Ukuran Tempat
Rentang Nilai
1 byte
0 s/d +255
1 byte
2 bytes
Word
2 bytes
0 s/d 65535
Longint
4 bytes
2147483648 s/d
Shortint
integer
2147483647
Contoh bilangan integer adalah: 34, 6458, -90, 0, 1112
Penggolongan
tipe
data
integer
tersebut
dimaksudkan
untuk
dari
suatu
variabel
bilangan
diperkirakan
nilai
b.
Bilangan Real
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat
dituliskan secara biasa atau model scientific . Contoh bilangan
real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol
perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2.
Penggolongan tipe data bilangan real dapat dilihat pada tabel 2.
Tabel 2. Bilangan Real
Tipe Data
real
Ukuran Tempat
6 bytes
Rentang Nilai
2.9 x 10-39 s/d 1.7
x1038
single
4 bytes
double
8 bytes
extended
10 bytes
comp
8 bytes
c.
Char
Tipe data ini menyimpan karakter yang diketikkan dari keyboard,
d.
memakai
memori
dipakai
paling
untuk
menulis
kecil,
sedangkan
program
yang
lingkungan Windows.
Tabel 3. Tipe Data Boolean
Tipe Data
Ukuran
Tempat
2.
Boolean
1 byte
WordBool
2 byte
Longbool
3 byte
WordBool
sesuai
dan
dengan
atau
untuk Pascal.
Set dalam
Kita tidak bisa menulis atau membaca isi dari set, tetapi kita
bisa melakukan operasi yang lain dengan data yang ada pada set
(mis. relasional).
Contoh:
Program Cth_Set;
USES WINCRT;
Type HARI = (AHAD, SENIN, SELASA, RABU, KAMIS, JUMAT, SABTU);
VAR SEMUA_HARI : SET OF HARI;
HARI_KERJA
HARI_INI
: HARI;
BEGIN
HARI_INI := SENIN;
IF HARI _INI
IN
HARI_KERJA
THEN
Salah satu manfaat dari penggunaan tipe data set adalah untuk
mengecek apakah suatu nilai muncul dalam suatu range tertentu.
Misalnya, untuk menentukan apakah suatu karakter berupa Lower Case
Letter
(huruf
kecil),
mis.
Ch
adalah
tipe
Char,
kita
bisa
menulis, if (Ch >= 'a') and (Ch <= 'z') then Writeln( Ch,'
merupakan
variabel
khusus
yang
berisi
suatu
address
: ^INTEGER;
^INTEGER;
M, N
INTEGER;
BEGIN
M:=10;
N:=15;
P:=@M; { P sekarang menunjuk ke M }
P^:=12; { hal ini sama dengan M:=12; }
P:=@n; { M sekarang menunjuk ke N }
P=M; { { hal ini sama dengan N:= M; }
WRITELN('M = ',M,', N = ',N); { M = 12, N = 12 }
END.
Ketika
menunjuk
ke
P:=@M;),
mengakses
P^
sama
dengan
pointer
dalam
"VAR"
sehingga
merupakan
suatu
static
PROGRAM Sinus;
USES crt;
VAR Sudut: Real;
BEGIN
Write('Masukkan sudut (derajat): ');
ReadLn(Sudut);
Write('Sin(', Sudut, ') adalah ', Sin(Sudut));
END.
Phi
Contoh
program pascal_aritha;
uses wincrt;
const phi = 3.14;
var
r : integer;
luas : real;
begin
write ('==============Program Luas Lingkaran===============');
writeln;
untuk melakukan
memungkinkan
programmer
untuk
membuat
program
yang
dapat
Ket := Gagal;
Ket := Lulus;
Writeln(Keterangan :,Ket);
Readln
End.
b. Struktur IFThenElse
Bentuk : if kondisi then
statemen1;
else
statemen2 ;
Contoh :
Uses crt;
Var
Nilai:char;
Ket:string[5];
Begin
Write(Masukan Nilai :);
Readln(Nilai)
If Nilai > 60 Then
Ket := Gagal;
Else
Ket := Lulus;
Writeln(Keterangan :,Ket);
Readln
End.
c. Struktur IF Tersarang
Merupakan struktur kontrol di mana suatu aksi dilaksanakan
berdasarkan kondisi logikanya (benar atau salah). Struktur if ..
then sendiri memiliki 4 jenis, yaitu:
Bentuk 1
if kondisi1 then
if kondisi2 then
statemen1;
else
statemen2;
Bentuk 2
if kondisi1 then
begin
if
kondisi1 then
statemen1;
else
statemen2;
end;
Bentuk 3
if
kondisi1 then
if
kondisi2 then
statemen1;
else
statemen2;
else
statemen3;
Bentuk 4
if
kondisi1 then
begin
if
kondisi2 then
begin
if
kondisi3 then
statemen1;
else
statemen2;
end;
end;
end;
Contoh:
Uses Crt;
var
Nilai:integer;
Huruf:char;
begin
write(Baca nilai :);readln(Nilai);
if nilai>=80 then Huruf := A
else
if nilai>=70 then Huruf :=
else
if nilai>=55 then Huruf :=
else
if nilai>=35 then Huruf :=
else
huruf :=E);
writeln(Keterangan :,Huruf);
readln
end.
Catatan: Jika anda menggunakan else, perlu diingat bahwa satu baris
sebelum else tidak diperkenankan mengandung tanda ; .
2. Statemen Case
a.
Struktur CaseOf
Merupakan peluasan dari struktur IF. Karena kalau dalam
var_pilih
of
Pilih1 : aksi1 ;
Pilih2 : aksi2 ;
. ;
pilih-n : aksi-n ;
end;
Contoh:
uses crt;
var
nilai:char;
begin
write(Nilai huruf yang didapat :);
readln(nilai);
case nilai of
0..25 : writeln(Nilainya = E);
26..39 : writeln(Nilainya = D);
40..64 : writeln(Nilainya = C);
65..79 : writeln(Nilainya = B);
80..100: writeln(Nilainya = A);
End;
readln
End.
b. Struktur CaseOfElse..
Case
var_pilih of
pilih1 : aksi1 ;
pilih2 : aksi2 ;
. ;
pilih-n : aksi n;
else aksi-n+1
end;
Contoh:
Uses Crt;
Var
Nilai : integer;
begin
write(Baca nilai =);readln(Nilai);
Case Nilai of
0..25 : writeln(Nilainya = E);
26..39 : writeln(Nilainya = D);
40..64 : writeln(Nilainya = C);
65..79 : writeln(Nilainya = B);
80..100: writeln(Nilainya = A);
else
writeln(Tidak ada nilai yang dimaksud :);
end;
readln
end.