X RPL 2
Resume Algoritma
Pemrograman
REKAYASA PERANGKAT LUNAK
SMKN 1 TENGARAN
Program Turbo Pascal
a. Sejarah Turbo Pascal
Turbo Pascal adalah bahasa pemrograman yang pertama kali
dibuat oleh professor Niklaus Wirth, seorang anggota
Intrnational Federation Of Information (IFIP) pada tahun
1971. Nama itu diambil dari matematikawan perancis , Blaise
Pascal , penemu mesin hitung . Pada awalnya Pascal adalah
alat bantu untuk mengajarkan konsep pemrograman computer ,
dan melengkapi bahasa pemrograman yang lain
b. Pengertian turbo pascall
Turbo pascal adalah Bahasa pemrograman tingkat tinggi (High
Level Language) yang terkenal dengan pemrogaraman
terstruktur dan bernaung di bawah system operasi Ms DOs.
Aplikasinya adalah untuk penanganan matematika ,
Database,dll.
Struktur Program Pascal
Program ; {program heading}
Uses;{uses clauses}
Label;{Label}
Const;{Constant}
Type..;{types}
Var..;{Variables}
Procedure;{Procedures}
Function;{ Function}
Begin
Statements;{ Statements}
Langkah Langkah Instalasi Program Turbo Pascal
Tahap 1
1. Pastikan ada aplikasi DOS Box 0,74
2. Buat folder di drive C bernama TP7 -> copy isi older
turbo pascal 7.0 ke folder TP&, lalu enter
3. Install aplikasi DOS BOX 0,74
4. Buka aplikasi C:\TP7,lalu enter
5. ketik
C:\TP7,lalu enter
6. Setelah mounting selesai ketik C:, lalu enter
7. Ketik bin\[Link] , enter
Tahap 2
Jika program turbo pascal sudah di jalankan, ketik
1. Program coba. Lalu enter
2. Uses crt; , enter
3. Var nama, string, enter
4. Begin enter
5. Lalu tab sekali, write ( masukkan nama anda:); realdn
(nama); enter
6. Clrscr; ebter
7. Write (HI, nama,apa kabar?); enter
8. Hapus tabnya, terakhir katik end
9. Tekan alt+f, saveas (nama program harus kapital)
10.
Tekan compile untuk mengubah program tersebut
menjadi .exe
11.
Untuk mencoba program tekan alt+run, lalu run
12.
Jika sudh berhasil ketik apa saja untuk kembali
13.
Close dos box
Tahap 3
Buka Kembali Dos Box
1. Mount C:\TP7
2. Setelah berhasil di mount ketik c:
3. Ketik nama program yang kalian save , contoh
[Link]
4. Akan muncul Masukkan nama anda?
5. Ketiklah nama anda
6. Terakhir akan muncul tulisan hai apa kabar?
Kelebihan Turbo Pascal
1. Tipe data standar,tipe-tipe data standar yang telah
tersedia pada kebanyakan bahasa
pemrogaman . Pascal
memiliki tipe data standar : Boolean , integer,real
,char,string.
2. User defined data types,programmer dapat membuat tipe
data lain yang diturunkan dari tipe data standar.
3. Strongly-typedyaitu programmer harus menentukan tie
data dari suatu variable dan variable tersebut tidak
dapat dipergunakan utuk menyimpan tipe data selin dari
format yang ditentukan.
4. Terstruktur memiliki sintaks yang memungkinkan
penulisan prodram dipecah menjadi fungsi-fungsi kecil
(procedure dan function)
5. Sederhana dan ekspresif ,memiliki struktur yang
sederhana dan sangat mendekati bahasa manusia (bahasa
inggris) sehingga mudah dipelajari dan dipahami.
c. Tipe Data Dalam Turbo Pascal
Tipe Data
Deksripsi
Byte
Angka 0-225
Integer
Angka -32768-32767
Real
Nilai Pecahan 1E-38 sampai IE38
Boolean
True/False
Char
Karakter darii table ASCII (
keyboard )
String
Semua huruf , spasi , maupun
frase
Variabel dan Tipe Data Dalam Turbo Pacsal
Standar Input dalam bahasa pemrograman
Standar output dalam bahasa pemrograman
Kompilasi dan Eksekusi Program
a. Kompilasi ( Ctrl + Fg )
Kompilasi adalah pemmbuktian dari sebuah pprgram apakah
itu betul / tidak
Kode Benar
Kode Salah
b. Eksekusi / run ( Ctrl + F9 ) , yaitu menjalankan hasil
kode program sesuai dengan procedure program yang kita
buat . Contoh hasil eksekusi program
Standar Input dan Output Dalam Turbo Pascal
a. Perintah Read dan Readln
- Digunakan untuk meminta masukan dari keyboard untuk diolah
komputer
- Tipe data yang dicetak dapat berupa integer, real, character,
string ataupun
boolean.
- Perbedaan Read dan Readln adalah setelah meminta masukan. Jika
Readln akan diakhiri dengan pindah baris,sedangkan pada Read
tidak.
b. Perintah Write dan Writeln
- Digunakan untuk mencetak hasil proses. Tipe data yang dicetak
dapat berupa Integer,Real, Character Striing ataupun Boolean.
- Perbedaan Write dan Writeln adalah setelah mencetak. Jika
Writeln akan diakhiri dengan pindah baris, sedangkan pada Write
tidak.
a. Program Input
Dalam bahasa pascal untuk memasukan data digunakan prosedur
standard read atau readln.
Read > untuk memasukan data dalam satu baris. Readln > untuk
memasukan data pada baris yang berbeda.
Uses Crt;
Var A,B,C:Byte; {A,B,C Merupakan variable yang digunakan dalam
Program}
Begin
Clrscr;
Write( Masukan nilai A =);
Readln(A);{input data pada baris yang sama}
Write( Masukan nilai B=);
Readln(B);{input data pada baris yang sama}
C:=A+B;
Writeln(A+B=,C); {untuk menampilkan A+B=}
Writeln(A,+,B,=,C); {untuk menampilkan nilai A dan B yang
kita input}
Readln;
End.
Output
Masukan nilai A=5 {angka 5 merupakan nilai yang kita input}
Masukan nilai B=6 {angka 6 merupakan nilai yang kita input}
A+B=11 {angka 11 merupakan nilai C hasil dari A+B}
5+6=11
Kesalahan Dalam Turbo Pascal
Setiap Program yang kita buat tidak akan langsung berjalan
dengan mulus, pasti ada saja kesalahan-kesalahan yang terjadi.
Kesalah-kesalahan ini sering terjadi karena kesalan mengetik,
kesalahan pemberian rumus atau algoritma-nya, dan cara
menterjemahkan algoritma tersebut kedalam bahasa Pemrograman Ini
mengakibatkan kode program yang telah kita buat tidak dapat
dijalankan sebagaimana mestinya, tentu ini membuat Anda pusing
atau malah kesal.
Adapun Kesalahan yang terjadi karena kesalahan pengetikkan pada
TP, antara lain:
1.
Error 85 : ;expected = Kurang tanda (;) atau
seharusnya tanda (;)
2.
Error 86 : :expected = Kurang tanda :
3.
Error 3
: Unknown identifier = Kurang satu huruf,
kurang tanda kutip satu () atau salah ketik huruf
4.
Error 10 : Unexpected end of file = Kurang titik(.)
sbg pengakhir program
5.
Error 94 : .expected = Seharusnya titik (.) bukan
titik koma (;)
6.
Error 106 : Invalid numeric format = salah format,
seharusnya nomor
7.
Error 113 : Error in Statement =Salah pemberian
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
algoritmanya, tinggal anda menterjemahkan algoritma tersebut
kedalam bahasa Pemrograman yang akan Anda pilih.
Perbaikan Kesalahan Pada Pascal
Sebuah kompilator akan sering menemui program yang mengandung
kesalahan, maka kompilator harus memiliki strategi apa yang harus
dilakukan untuk menangani kesalahan - kesalahan tersebut.
Jenis jenis Kesalahan
Kesalahan Leksikal
Misalnya kesalahan mengeja keyword,
contoh: then ditulis ten
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}
o Variabel belum didefinisikan tetapi digunakan dalam operasi.
Contoh :
B := B + 1
{B belum didefinisikan}
Penanganan Kesalahan
Prosedur penanganan kesalahan terdiri dari :
Mendeteksi kesalahan
Melaporkan kesalahan
Tindak lanjut perbaikan / pemulihan
Pelaporan kesalahan yang dilakukan oleh sebuah kompilator yang
menemukan kesalahan meliputi :
Kode kesalahan
Pesan kesalahan dalam bahasa natural
Nama dan atribut identifier
Tipe tipe yang terkait bila type checking
Contoh : Error Message : Error 162 jumlah: unknown identifier
Kode kesalahan = 162
Pesan kesalahan = unknown identifier
Nama identifier = jumlah
Adanya pesan kesalahan tersebut akan memudahkan pemrogram
dalam mencari dan mengoreksi sumber dari kesalahan.
Pada saat kompilator menemukan
kesalahan terdapat beberapa
tingkatan reaksi diantaranya adalah :
a. Reaksi yang tidak dapat diterima (tidak melaporkan error)
Kompilator crash : berhenti atau hang
Looping : kompilator masih berjalan tapi tidak pernah
berakhir
karena
looping
tak
berhingga
(indefinite/onbounded loop)
Menghasilkan
program
objek
yang
salah
kompilator
melanjutkan proses sampai selesai tapi program objek yang
dihasilkan
pemrogram,
salah.
Ini
karena
berbahaya
baru
akan
bila
muncul
tidak
saat
diketahui
program
dieksekusi.
[Link] yang benar tapi kurang dapat diterima dan kurang
bermanfaat.
Kompilator
menemukan
kesalahan
pertama,
melaporkannya, lalu berhenti (halt). Ini bisa muncul bila
pembuat kompilator menganggap jarang terjadi kemunculan error
dalam program sehingga kemampuan kompilator untuk mendeteksi
dan
melaporkan
kompilasi.
kesalahan
Pemrogram
akan
hanya
satu
membuang
untuk
waktu
setiap
untuk
kali
melakukan
pengulangan kompilasi setiap kali terdapat sebuah error.
[Link] yang dapat diterima
Reaksi
yang
sudah
dapat
dilakukan,
yaitu
kompilator
melaporkan kesalahan / error, dan selanjutnya melakukan:
Recovery
pemulihan,
lalu
melanjutkan
menemukan
kesalahan / error yang lain bila masih ada.
Repair / Perbaikan kesalahan, lalu melanjutkan proses
translasi dan menghasilkan program objek yang valid
Kebanyakan kompilator dewasa ini sudah memiliki kemampuan
recovery dan repair.
Reaksi
yang
belum
dapat
dilakukan,
yaitu
kompilator
mengkoreksi kesalahan, lalu menghasilkan program objek
sesuai
dengan
yang
diinginkan
pemrogram.
Disini
komputernya sudah memiliki kecerdasan untuk mengetahui
maksud
pemrogram.
Tingkatan
respon
ini
belum
dapat
diimplementasikan pada kompilator yang ada dewasa ini.
Pemulihan Kesalahan
Tujuannya
mengembalikan
kondisi
parser
ke
kondisi
stabil
(supaya bisa melanjutkan proses parsing ke posisi selanjutnya).
Strategi yang dilakukan error recovery sebagai berikut :
Mekanisme Ad Hoc
Recovery yang dilakukan tergantung dari pembuat kompilator
sendiri/Spesifik, dan tidak terikat pada suatu aturan tertentu.
Cara ini biasa disebut juga special purpose error recovery.
Syntax Directed Recovery
Melakukan recovery berdasarkan syntax
Contoh : ada program
begin
A:=A+1
B:=B+1;
C:=C+1
end;
kompilator akan mengenali sebagai (dalam notasi BNF)
begin < statement>?<statement>;<statement>end;
? akan diperlakukan sebagai ;
Secondary Error Recovery
Berguna untuk melokalisir kesalahan / error, caranya :
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
dengan panic mode tetapi unit deletion memelihara kebenaran
sintaksis dari source program dan mempermudah untuk melakukan
error repairing lebih lanjut.
Context Sensitive Recovery
Berkaitan dengan semantik,misal bila terdapat variabel yang
belum dideklarasikan(undifined variabel) maka diasumsikan tipenya
berdasarkan kemunculannya.
Contoh :
B:= 'nama'
sementara diawal program variabel B belum dideklarasikan, maka
berdasarkan kemunculannya diasumsikan variabel B bertipe string.
Error Repair
Bertujuan untuk memodifikasi source program dari kesalahan
dan
membuatnya
valid
sehingga
memungkinkan
kompilator
untuk
melakukan translasi program yang mana akan dialirkan ketahapan
selanjutnya pada proses kompilasi. Mekanisme error repair meliputi
:
Mekanisme Ad Hoc
Tergantung dari pembuat kompilator sendiri / spesifik.
Syntax Directed Repair
Menyisipkan simbol terminal yang dianggap hilang atau membuang
terminal penyebab kesalahan
Contoh :
While a<1
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 :
Tipe identifier. Diatasi dengan membangkitkan identifier
dummy, misalkan :
Var A : string;
begin
A:=0;
end;
Tipe konstanta. Diatasi dengan membangkitkan konstanta baru
dengan tipe yang tepat.
Spelling repair
Memperbaiki kesalahan pengetikan pada identifier, misal :
WHILLE A = 1 DO
Identifier yang salah tersebut akan diperbaiki menjadi WHILE
Tipe Data Dalam Turbo Pascal
1. Tipe Data Sederhana
Merupakan
tipe
data
dasar
yang
sering
dipakai
oleh
program,
meliputi: integer (bilangan bulat), real (bilangan pecahan), char
(alphanumerik dan tanda baca), dan boolean (logika). Untuk data
integer dan real masing-masing terbagi menjadi beberapa kategori
a.
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
-28 s/d +127
2 bytes
-32768 s/d 32767
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
membatasi alokasi memori yang dibutuhkan, misalkan untuk suatu
perhitungan
dari
suatu
variabel
bilangan
diperkirakan
nilai
maksimumnya 32767 kita cukup mendeklarasikan variabel bilangan
sebagai integer (2 byte), daripada sebagai longint(4 byte).
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
1.5 x 1045 s/d 3.4 x
1038
double
8 bytes
5.0 x 10-324 s/d 1.7
x 10308
extended
10 bytes
3.4 x 10-4932 s/d 1.1
x 104932
comp
8 bytes
-9.2x 1018 s/d 9.2x
1018
c.
Char
Tipe data ini menyimpan karakter yang diketikkan dari keyboard,
memiliki 255 macam yang terdapat dalam tabel ASCII (American
Standard Code for Information Interchange). Contoh: 'a' 'B' '+',
dsb. Yang perlu diingat bahwa dalam menuliskannya harus dengan
memakai tanda kutip tunggal.
Jenis data ini memerlukan alokasi memori sebesar 1(satu) byte untuk
masing-masing data.
d.
Tipe Data Boolean
Merupakan tipe data logika, yang berisi dua kemungkinan nilai:
TRUE (benar) atau FALSE (salah). Turbo Pascal for Windows memiliki
tiga macam jenis ini yaitu: Boolean, WordBool, dan LongBool. Tipe
boolean
LongBool
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
Tipe Data Terstruktur
WordBool
sesuai
dan
dengan
a. Tipe Data String
Merupakan suatu data yang menyimpan array (larik), sebagai contoh
'ABCDEF' merupakan sebuah konstanta string yang berisikan 6 byte
karakter. Ukuran Tempat untuk tipe data ini adalah 2 s/d 256 byte,
dengan jumlah elemen 1 s/d 255.
String dideklarasikan dengan STRING [ konstanta ] atau STRING.
Bila ukuran string tidak didefinisikan maka akan banyak memakan
ruang, karena ukuran string menyesuaikan dengan defaultnya.
Misalkan :
VAR KATA: STRING [20];
atau
VAR KATA: STRING;
Contoh:
b. Tipe Data Set
Sebuah set merupakan suatu himpunan yang berisi nilai (anggota).
Set merupakan Tipe
data yang khusus
untuk Pascal.
Set dalam
pemrograman sangat mirip dengan himpunan dalam ilmu matematika.
contoh: A = { 1, 2, 3, 4, 5 }
Syntax: SET OF
contoh:
type Digits = set of 0..9;
Letters = set of 'A'..'Z';
Day = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
CharSet = set of Char;
Days = set of Day;
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
: SET OF SENIN.. JUMAT;
HARI_INI
: HARI;
BEGIN
HARI_INI := SENIN;
IF HARI _INI
IN
HARI_KERJA
THEN
WRITELN('HARI INI HARI KERJA')
ELSE
WRITELN('HARI LIBUR');
END.
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 huruf kecil.'); atau, dengan notasi set, kita bisa
menulis, if Ch in ['a'..'z'] then Writeln( Ch,' merupakan huruf
kecil.');
Tipe Data Pointer
Pointer
merupakan
variabel
khusus
yang
berisi
suatu
address
(alamat) di lokasi lain didalam memori. Suatu variabel yang points
(menunjuk) ke sesuatu sehingga disebut pointer.
Ada dua macam pointer:
-
Typed (tertentu) : merupakan pointer yang menunjuk pada tipe
data tertentu pada variabel.
Generic (umum) : merupakan pointer yang tidak menunjuk pada
tipe data tertentu pada variabel.
Contoh deklarasi pointer:
VAR
: ^INTEGER;
Contoh di atas merupakan deklarasi variabel p sebagai pointer dari
integer. Dengan menambahkan tanda caret (^) di depan nama tipe
data variabel yang dideklarasikan:
Contoh :
Program Pointer1;
USES WINCRT;
VAR
^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
mengakses M. Dalam membuat program, dalam penggunaan pointer kita
memerlukan alokasi memori tertentu: Ketika kita mendeklarasikan
variabel
pointer
dalam
"VAR"
sehingga
merupakan
suatu
static
variabel, yang mana Static Variabel ini dibatasi oleh kapasitas
64KB untuk tiap modul. Yang berarti dalam program utama kita hanya
bisa menggunakan hanya 64KB dan tiap unit Pascal hanya bisa memakai
64KB. Sehingga kita perlu memecahkan program kebeberapa unit.
Penggunaan Variabel Dalam Pascal
Apa itu VARIABEL?
Contoh: Anda membuat program untuk menanyakan nama pengguna dan
anda akan menampilkan kembali nama pengguna tersebut dalam huruf
kapital seluruhnya. Maka anda membuat program yang menanyakan
nama pengguna. Namun, dimanakah nama yang telah diketik akan
disimpan dalam program untuk diproses?
VARIABEL merupakan nama yang digunakan sebagai tempat
penyimpanan sementara suatu data yang diketikkan pengguna untuk
selanjutnya diproses. Dalam Turbo Pascal 7.0, VARIABEL dibuat
dengan pernyataan VAR pada awal kode.
VAR NamaVaiabel: JenisVariabel;
Aturan-aturan dalam penamaan variabel:
Hanya boleh mengandung angka, huruf atau underscore (_);
Hanya boleh dimulai dengan huruf atau underscore (_);
Tidak boleh melebihi 127 karakter; dan
Bukan merupakan salah satu dari Reserved Words.
Turbo Pascal 7.0 adalah bahasa yang case-sensitive, artinya
bahwa huruf besar maupun kecil tidak menjadi masalah.
'NamaLengkap' dan 'NAMALENGKAP' dianggap sebagai sebuah variabel
yang sama. Namun, anda akan lebih mudah membaca NamaLengkap
ketimbang NAMALENGKAP.
Kapan Kita Membuat VARIABEL?
Variabel harus dibuat pada awal program (header), yaitu sebelum
BEGIN yang pertama.
Kapan kita menggunakan VARIABEL?
Variabel akan kita gunakan saat kita memerlukannya. Contoh
sederhana penggunaan VARIABEL adalah ketika kita membuat program
untuk menghitung trigonometri (sin). Anda akan membuat sebuah
variabel bernama SUDUT untuk menyimpan nilai sudut yang telah
diketik pengguna dan anda akan memproses nilai yang terkandung
dalam variabel SUDUT untuk dicari sin-nya.
PROGRAM Sinus;
USES crt;
VAR Sudut: Real;
BEGIN
Write('Masukkan sudut (derajat): ');
ReadLn(Sudut);
Write('Sin(', Sudut, ') adalah ', Sin(Sudut));
END.
Seperti yang sudah disinggung dalam Bagian 4, bahwa fungsi READ
dan READLN dapat digunakan untuk memperoleh input dari pengguna.
Artinya, kita dapat menggunakan variabel untuk menyimpan input
yang diperoleh melalui READ atau READLN. Caranya dengan
mengetikkan nama variabel saat menggunakan READ atau READLN
didalam kurung. Perhatikan tulisan yang ditebalkan dalam contoh
kode diatas.
Selain itu, kita juga dapat menggunakan variabel untuk
memunculkan hasil output proses program. Perhatikan contoh yang
dicetak miring. Perintah WRITE digunakan untuk menunjukkan sinus
dari sudut yang telah diterima. Fungsi Sin(Sudut) akan
menghasilkan sinus dari suatu sudut. Hasil sinus ini akan
ditampilkan dengan perintah WRITE.
Penggunaa Konstanta Pada Pascal
Konstanta merupakan variabel yang mempunyai nilai yang tetap
meskipun telah dilibatkan dalam beberapa kali operasi aritmatika
ataupun logika. Untuk mendeklarasikan sebuah konstantan, kata
baku yang kita gunakan adalah const. Dalam pemrograman turbo
pascal, dikenal dua macam konstanta yaitu :
1. Konstanta Tak Bertipe
Konstanta tak be1rtipe adalah suatu konstanta yang nilainya
tertentu dan tipenya tidak secara jelas disebutkan. Sebagai
contoh dalam perhitungan luas lingkaran kita mengenal bilangan
3.14 dan jika bilangan ini beberapa kali muncul dalam suatu
perhitungan rumus kita dapat memberikan sebuah nama untuk
memanggilnya, missal
Phi
Maka program akan lebih mudah untuk dipahami. Definisi konstanta
phi dapat ditulis sebagai :
Const phi =3.14;
Deklarasi konstanta tak bertipe mempunyai bentuk umum :
Const nama_pengenal=nilai;2
Contoh deklarasi konstanta :
Const FaktorKerjaLembur =1.1;
Maxkerja =60;
Maxgaji =35000;
2. Konstanta Bertipe
Konstantan bertipe adalah suatu konstanta yang selain
ditunjukkan nilainya juga dinyatakan tipe datanya. Bentuk umum
deklarasi konstantan bertipe adalah :
Const pengenal : tipe data=konstanta;
Contoh penggunaan konstantan bertipe :
Const cacah : integer =100;
Factor : real = 0.1;
Tunda : char = #3;
Konstanta bertipe sesungguhnya adalah perubah dengan nilai yang
tetap, maka tidak bisa saling dipertukarkan dengan konstanta
biasa (konstantan tak bertipe). Perhatikan contoh berikut :
Const awal : integer = 1;
Akhir : integer = 100;
Type vector =array[awal . .akhir] of real;
Dalam contoh di atas, deklarasi vector adalah salah karena awal
dan akhir adalah konstanta bertipe (yang sesungguhnya perubah).
Contoh
program pascal_aritha;
uses wincrt;
const phi = 3.14;
var
r : integer;
luas : real;
begin
write ('==============Program Luas Lingkaran===============');
writeln;
write('masukkan jari-jari ');
readln(r);
writeln;
luas:= phi*r*r;
writeln('luas =', luas:0:2);
end.
Operator Dan Ekspresi Dalam Turbo Pascal
1. Operator
Operator adalah sesuatu yang digunakan
untuk melakukan
operasi-operasi tertentu . Misalnya operasi aritmatika ,
penggabungan string , dan masih banyak lagi yang lainnya
. Nilai yang dioperasikan operator bersamaan operan
membentuk suatu ekspresi . Macam-macam operator
a. Operator assignment , dilakukan untuk
melakukan pemberian nilai terhadap suatu variable
sehingga operator ini disebut juga penegasan .
Dalam bahasa pascal operator yang digunakan adalah
:=
b. Operator aritmatika . Beberapa operator yang
dapat digunakan dalam operator aritmatika seperti
penjumlah , pengurangan , perkalian , pembagian ,
dan penentuan sisa bagi
c. Operator logika . Opertaor logika digunakan
untuk melakukan operasi-operasi yang menghasilkan
nilai logic ( TRUE and FALSE ) . Operator yang
digunakan yaitu NOT , AND , EX-OR , dan OR
- Operator NOT , digunakan untuk menentukan
negosi / pengingkaran dari nilai logic . Jika
nilai yang dihasilkan adalah TRUE , maka
negasinya adalah FALSE dan sebaliknya
- Operator AND , memudahkan penggunaan operator
AND . Akan bernilai TRUE jika semua
operatornya TRUE
- Operator OR , bernilai TRUE jika salah satu\
semua operatornya TRUE
- Operator X-OR , akan bernilai TRUE jika hanya
terdapat satu operand yang bernilai TRUE .
d.
Operator relasional , berfungsi untuk
menentukan relasi dari 2 nilai\operand . Operasi
yang digunakan yaitu > , <= , >= , < , = , dan
<>
2. Ekspresi , yaitu kumpulan operand-operand (
bilangan , konstanta , variable , dan lain-lain
) yang bersama dengan operator membentuk suatu
nilai . Ada 2 jenis ekspresi yaitu
a. Ekspresi numeric/aritmatika , yaitu ekspresi
yang menghasilkan nilai numeri/aritmatik .
Contohnya (b*b-4*a*c)/(2*a)/(2*b) , dengan a,b,
dan c bilangan (variable bernilai numeric )
b. Ekspresi Boolean , yaitu operasi yang
menghasilkan nilai TRUE atau FALSE . Contoh 2
upah < 1000 P (upah=boolean)
Struktur Percabangan Dalam Pascal
Struktur percabangan atau sering disebut dengan struktur kontrol
ini
memungkinkan
programmer
untuk
membuat
program
yang
dapat
memilih satu langkah di antara sejumlah langkah untuk dikerjakan.
Dalam Pascal disediakan 2 buah struktur kontrol seleksi, yaitu:
1. Statemen IF
a. Struktur IFThen..
Bentuk : if kondisi then statemen;
Contoh :
Uses crt;
Var
Nilai:char;
Ket:string[5];
Begin
Write(Masukan Nilai :);
Readln(Nilai)
If Nilai = E
Then
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
struktur IF hanya disediakan dua pilihan (berdasarkan kondisi
logikanya) maka dalam struktur Case..of dimungkinkan untuk memilih
satu pilihan di antara banyak pilihan yang ada. Bentuk umumnya :
Case
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.