0% found this document useful (0 votes)
48 views22 pages

Job Sheet 1 5 Pascal

1. The document discusses basic programming concepts in Pascal such as operators, keywords, symbols, and examples of arithmetic, relational and boolean expressions. 2. It provides 4 sample programs to demonstrate basic programming concepts like variable declaration, input/output, arithmetic operations and string display. 3. The document instructs learners to write a program to display a welcome message string in Pascal.

Uploaded by

yatna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views22 pages

Job Sheet 1 5 Pascal

1. The document discusses basic programming concepts in Pascal such as operators, keywords, symbols, and examples of arithmetic, relational and boolean expressions. 2. It provides 4 sample programs to demonstrate basic programming concepts like variable declaration, input/output, arithmetic operations and string display. 3. The document instructs learners to write a program to display a welcome message string in Pascal.

Uploaded by

yatna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 22

Job Sheet Pemograman Pascal

JOBSHEET 1
DASAR – DASAR PEMOGRAMAN PASCAL

1.1 Operator – Operator Standard Pascal

Tipe Fungsi Tipe Pengoperasi Tipe Hasil


:= Penetapan Sembarang kecuali
file
+ Aritmatik Tanda tambah uner Integer, real Integer, real
- Aritmatik Tanda kurang Integer, real Integer, real
+ Aritmatik Penjumlahan Integer, real Integer, real
+ Himpunan Gabungan Himpunan Himpunan
- Aritmatik Pengurangan Integer, real Integral, real
- Himpunan Beda Himpunan Himpunan
* Aritmatik Perkalian Integer, real Integer, real
* Himpunan Irisan Himpunan Himpunan
DIV Aritmatik Pembagian integral Integer Integer
/ Aritmatik Pembagian real Integer, real Real
MOD Aritmatik Modulus Integer Integer
= Relasional Persamaan Scalar, himpunan, Boolean
string, penunjuk
<> Relasional Pertidaksamaan Scalar, himpunan, Boolean
string, penunjuk
< Relasional Lebih kecil dari Scalar, string Boolean
<= Relasional Lebih kecil dari atau Scalar, string Boolean
sama dengan
<= Relasional Himpunan pemasukan Himpunan Boolean
> Relasional Pencakupan himpunan Scalar, string Boolean
>= Relasional Lebih besar dari atau Scalar, string Boolean
sama dengan
>= Relasional Pencakupan himpunan Himpunan Boolean
IN Relasional Keanggotaan himpunan Scalar himpunan IN Boolean
AND Logika Dan Boolean Boolean
NOT Logika Negasi Boolean Boolean
OR Logika Atau Boolean Boolean

1.2. kata – kata yang digunakan dalam Pascal

AND END MOD REPEAT


ARRAY FILE NIL SET
BEGIN FOR NOT THEN
CASE FORWARD OF TO
CONST FUNCTION OR TYPE
DIV GOTO PACKED UNTIL
DO IF PROCEDURE VAR
DOWNTO IN PROGRAM WHILE
ELSE LABEL RECORD WITH

1.3. Simbol – simbol dalam Pascal


+ - * / := . , ;
: / = <> < <= >= >
( ) [ ] (* *)  ..

by Supriatna, ST 1
Job Sheet Pemograman Pascal

1.4. Latihan dan Tugas

A. Kerjakan program dibawah ini!


1. PROGRAM SUM ( INPUT,OUTPUT ) ;
USES WinCrt;
VAR A, B, TOTAL : INTEGER;
BEGIN
WRITELN (‘Masukkan 2 bilangan untuk dijumlahkan …’);
READ (A, B) ;
TOTAL := A + B;
WRITELN (‘Jumlah dari’, A, ‘dan’, B, ‘adalah’, TOTAL)
END.

2. Program Variabel;

{--------------------------------------------------------------------------------------}
{ Contoh untuk menunjukkan program yang mengandung }
{ variabel }
{--------------------------------------------------------------------------------------}
USES WinCrt ;
VAR
Jumlah : Integer; { Deklarasi variable jumlah}
BEGIN
Jumlah : =23; {Memberi nilai tehadap variable}
Writeln (Jumlah) ; {Menampilkan isi variable}
END.

3. Program TesJum;
{---------------------------------------------------------------------------------}
{Contoh untuk menunjukkan hasil operasi penjumlahan }
{ untuk berbagai kemungkinan tipe operand }
{---------------------------------------------------------------------------------}
USES WinCrt ;
BEGIN
ClrScr;
Writeln ( ‘4 + 2 = ‘, 4 + 2 ) ;
Writeln ( ‘4.0 + 2 = ‘, 4.0 + 2) ;
Writeln ( ‘4 + 2.0 = ‘, 4 + 2.0 ) ;
Writeln ( ‘4.0 + 2.0 = ‘, 4.0 +2.0 ) ;
END

4. Program TesKali ;
{ ----------------------------------------------------------------------------}
{ Contoh untuk menunjukkan hasil operasi perkalian }
{ untuk berbagai kemungkinan tipe operand }
{ ---------------------------------------------------------------------------}
USES WinCrt ;
BEGIN
ClrScr;
Writeln ( ‘4 * 2 = ‘, 4 * 2 ) ;
Writeln ( ‘4.0 * 2 = ‘, 4.0 * 2 ) ;
Writeln (‘ 4 * 2.0 = ‘, 4 * 2.0 ) ;
Writeln (‘ 4.0 * 2.0 = ‘, 4.0 * 2.0 ) ;
END.

by Supriatna, ST 2
Job Sheet Pemograman Pascal

B. Buatlah program untuk menampilkan kalimat berikut :

“ Selamat Datang di Lab. Komputer Teknik Elektro


Politeknik Negeri Lhokseumawe”

by Supriatna, ST 3
Job Sheet Pemograman Pascal

JOBSHEET 2
EKSPRESI DAN PERNYATAAN

2.1 Ekspresi Aritmatik


Setiap operator Pascal memiliki derajat pengutamaan. Apabila dua buah operator
saling bersebelahan, yang memiliki pengutamaan yang lebih tinggi akan dilaksanakan lebih
dahulu. Berikut adalah susunan operator berdasarkan pengutamannya, dimulai dari yang
paling terendah.
 Operator relasional ( =, <, >, <=, >=, <> )
 +, -, OR
 *, /, DIV, MOD, AND
 NOT
 ()

sebagai contoh :
Ekspresi Arti Hasil
2* 3 + 2 (2*3) + 2 8
2* 3 + 2 * 4 (2*3) + (2 * 4) 14
6* 2 DIV 3 (6 * 2) DIV 3 4
3+ 4 – (5 * 2 – 1) (3 + 4) – ((5 * 2) – 1) -2
4.0 / 3.0 * 2 (4.0 / 3.0) * 2.0 2.6666
Jadi, tanda ( ) memiliki pengutamaan tertinggi, diikuti dengan tanda pengalian, pembagian,
dan kemudian penjumlahan dan pengurangan.

2.2 Penggunaan Fungsi Baku

Dalam penggunaan fungsi baku, perhatikan tipe data argument fungsi yang
bersangkutan. Tipe hasil harus berlaku bagi tipe ekspresi yang ditinjau. Kedua tipe
(argument dan hasil) tidak perlu sama. Berikut ini adalah table tipe data yang sesuai bagi
setiap fungsi Pascal yang ditunjukkan.

Fungsi Pengoperasi / Tipe Hasil


ABS Bilangan bulat, bilangan nyata Sama seperti pengoperasi
ARCTAN Bilangan bulat, bilangan nyata Bilangan nyata
CHR Bilangan bulat Karakter
COS Bilangan bulat, bilangan nyata Bilangan nyata
EOF Berkas teks Boolean
EOLN Berkas teks Boolean
EXP Bilangan bulat, bilangan nyata Bilangan nyata
LN Bilangan bulat, bilangan nyata Bilangan nyata
ODD Bilangan bulat boolean
ORD Scalar kecuali bilangan nyata Bilangan bulat
PRED Scalar kecuali bilangan nyata Sama seperti pengoperasi
ROUND Bilangan nyata Bilangan bulat
SIN Bilangan bulat, bilangan nyata Bilangan nyata
SQR Bilangan bulat, bilangan nyata Sama seperti pengoperasi
SQRT Bilangan bulat, bilangan nyata Bilangan nyata
SUCC Scalar kecuali bilangan nyata Sama seperti pengoperasi
TRUNC Bilangan nyata Bilangan bulat
2.3. Ekspresi Boolean
Ketiga operator logika AND, OR dan NOT beroperasi hanya pada nilai Boolean
(BETUL atau SALAH).
Dalam kasus ekspresi Boolean, Pascal menentukan sebuah pernyataan tambahan.
Semua ekspresi bagian (subexpression) harus diletakkan didalam tanda kurung kecuali jika
diawali dengan NOT.
by Supriatna, ST 4
Job Sheet Pemograman Pascal

Misalnya, K, L, M, dan N didefinisikan sebagai variable–variable Boolean. Contoh berikut


adalah ekspresi Boolean :

K AND L (suatu operator Boolean digunakan)


NOT K
M = N (suatu operator relasional digunakan)

Contoh yang lebih kompleks tentang ekspresi Boolean adalah :

K AND M = NOT N (tiga operator digunakan)


I*J=2 (suatu ekspresi aritmatik dibandingkan dengan 2)
K AND M OR NOT
(A = B) OR (C = D) AND (A – C = 0) (Subexpression diberi tanda kurung)

2.4. Latihan dan Tugas


1. apa efek dari program berikut?

PROGRAM BOOLEANTEST (OUTPUT);


USES WINCRT;
VAR P,Q, R,S, HASIL : BOOLEAN;
BEGIN (*BOOLEANTEST*)
P := TRUE;
Q := P;
R := FALSE;
S := R;
WRITELN;WRITELN; (* LONCAT 2 BARIS *)
HASIL := NOT(P);
WRITELN(HASIL);
HASIL := NOT (NOT (Q));
WRITELN(HASIL);
HASIL := Q OR S;
WRITELN(HASIL)
HASIL := P AND S;
WRITELN(HASIL);
HASIL := P AND Q AND R;
WRITELN(HASIL);
HASIL := (P OR R)AND Q;
WRITELN(HASIL);
END (*BOOLEANTEST*)

2. Program Test Mode


Program TesMod;
{----------------------------------------------------------------------- }
{Contoh untuk menunjukkan hasil operasi MOD }
{Untuk berbagai kemungkinan tipe operand }
{------------------------------------------------------------------------}
USES WinCrt;

BEGIN
ClrScr;
Writeln ( ‘6 MOD 3 = ‘, 6 MOD 3 );
by Supriatna, ST 5
Job Sheet Pemograman Pascal

Writeln ( ‘7 MOD 3 = ‘, 7 MOD 3 );


Writeln ( ‘8 MOD 3 = ‘, 8 MOD 3 );
Writeln ( ‘9 MOD 3 = ‘, 9 MOD 3 );
END.

5. Program Prioritas

Program Prioritas;
{----------------------------------------------------------------------}
{Contoh untuk menunjukkan efek pemberian tanda }
{kurung pasa suatu ekspresi }
{----------------------------------------------------------------------}
USES WinCrt;
BEGIN
ClrScr;
Writeln ( 1 + 2 * 3 ) ;
Writeln ( (1 + 2) * 3 ) ;
END.

6. Program over

Program over;
{----------------------------------------------------------------------}
{ Contoh untuk menunjukkan terjadinya over }
{ }
{----------------------------------------------------------------------}
USES WinCrt;
VAR
TotalHarga : Integer ;
HargaSatuan : Integer ;

BEGIN
ClrScr;
HargaSatuan : = 32767 ;
TotalHarga : = 2 * HargaSatuan ;
Writeln ( ‘Total = ‘, TotalHarga) ;
END.

7. Buatlah Program untuk menghitung volume sebuah balok, dimana p=25 cm, l=10 cm dan
t=15 cm.

by Supriatna, ST 6
Job Sheet Pemograman Pascal

JOBSHEET 3
MASUKAN DAN KELUARAN

3.1. READ dan READLN

Pernyataan READ dan READLN dinamakan pernyataan masukan. Kedua


pernyataan ini melayani pembacaan nilai dari suatu file masukan. Sebuah contoh pernyataan
READ adalah :

PROGRAM SUM(INPUT, OUTPUT);


VAR A, B, TOTAL : INTEGER;
BEGIN
READ(A, B);

Pernyataan READ dan READLN harus dituliskan dengan cara khusus. Seperti yang
diperlihatkan pada contoh diatas. READ atau READLN biasanya diikuti dengan tanda kurung
buka, satu atau lebih variable yang dipisahkan dengan tanda koma, dan diakhiri dengan
tanda kurung tutup. Hasil dari READ atau READLN adalah untuk membaca nilai dari INPUT
dan menetapkan nilainya pada variable. Berikut adalah contoh tambahan pernyataan READ
dan READLN :

READ(A, B, C);
READLN(TAXRATE, GROSSINGCOME);

3.2. WRITE dan WRITELN


Telah kita jumpai beberapa contoh penggunaan pernyataan WRITE dan WRITELN
seperti :

PROGRAM SUM(INPUT, OUTPUT);


VAR A, B TOTAL : INTEGER;
BEGIN
WRITELN(‘Masukan 2 bilangan untuk dijumlahkan …’);
READ(A, B);
TOTAL :=A + B;
WRITELN(‘Jumlah dari’, A ‘dan’, B, ‘adalah’, TOTAL)
END.

Seperti pernyataan READ dan READLN, pernyataan WRITE dan WRITELN


biasanya diikuti oleh sebuah tanda kurung buka dan sebuah string atau nilai yang akan
dicetak, dipisahkan dengan koma, dan diakhiri dengan tanda kurung tutup.

Jika WRITE digunakan secara berurutan, maka teks yang akan ditulis pada baris
yang sama. Penggunaan WRITELN akan memaksa teks berpindah ke awal baris berikutnya,
misalnya :

WRITE(‘INI ADALAH SEBUAH);


WRITE(‘CONTOH’);

Akan menghasilakan : INI ADALAH SEBUAH CONTOH


Dan :
WRITELN(‘INI ADALAH SEBUAH )
WRITE(‘CONTOH’);
Akan menghasilkan : INI ADALAH SEBUAH
CONTOH
by Supriatna, ST 7
Job Sheet Pemograman Pascal

3.3. latihan dan Tugas


1. Kerjakan program dibawah ini!
PROGRAM INEXAMPLE(INPUT, OUTPUT);
VAR I,J:INTEGER;
A,B:REAL;
M,N:CHAR;
BEGIN
READ(I,J);
READ(M,N);
READLN(A,B);
END.
Masukkan input berikut melalui keyboard :
4 92SY
1.23 -5.6

2. Apa hasil dari program berikut :


PROGRAM WRITE ( INPUT, OUTPUT );
VAR I : INTEGER;
A : REAL;
C : CHAR;
BEGIN
I : 12;
A : 2.1;
C : ‘?’;
WRITE ( ‘INDENT ‘ : 10, 1 : 3, A : 4, C : 2 )
END.

Program Konversi;
USES WINCRT;
TYPE
MENU = ‘A’..’D’ ;
VAR
METER, JAM, MNT, FEET, FAHRENHEIT, CELCIUS :REAL;
PILIHAN : MENU;
BEGIN
CLRSCR ;
WRITELN (‘MENU KONVERSI UKURAN’) ;
WRITELN ;
WRITELN (‘[A]. MENGHITUNG DARI MENIT---->JAM’) ;
WRITELN (‘[B]. MENGHITUNG DARI FEET---->METER’) ;
WRITELN (‘[C]. MENGHITUNG DARI FAHRENHEIT---->CELCIUS’) ;
WRITELN (‘[D]. QUIT’) ;
WRITELN (‘MASUKAN PILIHAN ANDA : ‘) ;READLN (PILIHAN)
CASE PILIHAN OF
‘A’, ‘a’ :
BEGIN
CLRSCR ;
WRITELN ; WRITELN ;
WRITELN (‘MENGHITUNG DARI MENIT KE JAM’) ;
WRITELN (‘--------------------------------------------------‘) ;
WRITELN (‘MASUKAN WAKTU DALAM MENIT =’) ;READLN (MNT) ;
JAM : = MNT / 60 ;
MNT : = FARC (JAM) * 60 ;
WRITELN ;
WRITELN (‘ ‘, MNT :4:2, ‘MENIT ADALAH :’) ;
by Supriatna, ST 8
Job Sheet Pemograman Pascal

WRITELN (‘ ‘, INT (JAM) :3:0, ‘JAM’, MNT : 2:0, ‘MENIT’) ;


END ;
‘B’, ‘b’ :
BEGIN
CLRSCR ;
WRITELN ; WRITELN ;
WRITELN (‘MENGHITUNG DARI FEET KE METER’) ;
WRITELN (‘----------------------------------------------------‘) ;
WRITELN (‘MASUKAN UKURAN DALAM FEET :’) ; READLN (FEET) ;
METER : = FEET*0.3048 ;
WRITELN (‘ ‘, FEET :4:2, ‘FEEY ADALAH =
‘, METER : 3 : 4) ; WRITELN ;

END ;
‘C’, ‘c’ :
BEGIN
CLRSCR ;
WRITELN ; WRITELN ;
WRITELN (‘MENGHITUNG DARI FAHRENHEIT KE CELCIUS’) ;
WRITELN (‘------------------------------------------------------------------‘) ;
WRITELN (‘MASUKAN DERAJAT DALAM FAHRENHEIT=’) ; READLN
(FAHRENHEIT) ;
CELCIUS :=5 / 9* (FAHRENHEIT – 32 ) ;
WRITE(‘ ‘, FAHRENHEIT : 4:2, ‘FAHRENHEIT ADALAH =’) ;
WRITELN (‘ ‘, CELCIUS :3:1, ‘CELCIUS’) ;
END ;
END ; { END CASE }
READLN ;
END.
‘D’, ‘d’ :begin
Clrscr ;
Writeln

2. Program Array 1

Program array_kesatu ;
Uses crt ;

Var
Nama_barang : array [1..10] of string [20] ;
Harga, jumlah, bayar : array [1..10] of integer ;
Total : real ;
Barang : integer ;

Begin
Clrscr ;
Write (‘banyaknya barang :’ ) ; readln (barang) ;
For i :=1 to barang do
Begin
Writeln (‘masukkan data ke ‘,i) ;
Write (‘nama barang :’) ; readln (nama_barang [ i ] ) ;
Write (‘Harga :’) ; readln (harga [ i ] ) ;
Write (‘jumlah :’) ; readln (jumlah [ i ] ) ;
End ;
Total :=0;
by Supriatna, ST 9
Job Sheet Pemograman Pascal

For I :=1 to barang do


Begin
Bayar [i] := harga [i] * jumlah [i] ;
Total :=total+bayar [i] ;
End ;
Clrscr ;
Writeln (‘=======================================================’) ;
Writeln (‘No’,’ ‘, ‘Nama barang’, ‘ ‘, ‘Harga’, ‘ ‘, ‘jumlah’, ‘ ‘, ‘bayar’) ;
Writeln (‘=======================================================’) ;
For I :=1 to barang do
Begin
Writeln (I, ‘ ‘, nama_barang [i], ‘ ‘, harga [i], ‘ ‘, jumlah [i], ‘ ‘, bayar [i], ‘
‘) ;
End ;
Writeln (‘--------------------------------------------------------------------------------------‘) ;
Writeln (‘ total :’, total :10:0, ‘ ‘) ;
Writeln (‘===================================================’) ;
Readln ;
End.

by Supriatna, ST 10
Job Sheet Pemograman Pascal

JOBSHEET 4
STRUKTUR KONTROL

4.1. Pernyataan REPEAT


Pernyataan REPEAT dapat digunakan untuk mengulang sekelompok pernyataan
dalam sebuah program. Satu atau beberapa pernyataan boleh muncul diantara kata
REPEAT dan UNTIL. Kondisi yang bersangkutan dicirikan dengan ekspresi Boolean.
Ekspresi Boolean dapat menggunakan ke-enam operator relasional :
= > < >= <= <>
atau sembarang operator Boolean yang sah. Berikut ini adalah sebuah contoh program yang
akan menghitung jumlah dari ke-25 integer pertama.

Contoh
PROGRAM SUM25 ( INPUT, OUTPUT ) ;
(* PENJUMLAHAN DARI 25 INTEGER PERTAMA*)
VAR SUM, NUMBER : INTEGER;
BEGIN
SUM : = 0 ;
NUMBER : = 1 ;
REPEAT
SUM : = SUM + NUMBER;
NUMBER : = NUMBER + 1 ;
UNTIL NUMBER > 25;
WRITELN ( ‘JUMLAH DARI 25 INTEGER PERTAMA ADALAH’, SUM)
END.

Ingatlah bahwa dalam pernyataan REPEAT UNTIL, pernyataan-pernyataan yang


terletak antara REPEAT dan UNTIL akan dilaksanakan sekurang-kurangnya satu kali.
Kondisi yang sedang diuji akan diperiksa hanya pada akhir pengulangan yang bersangkutan.
Akan kita lihat bahwa pernyataan WHILE membolehkan kita melakukan hal yang sebaliknya,
yakni menguji kondisi pada awal pengulangan.

4.2. Pernyataan WHILE


Berikut ini adalah beberapa contoh program yang menggunakan pernyataan
WHILE.
Contoh 1.
PROGRAM SUM25B ( INPUT, OUTPUT ) ;
( *PENJULAHAN DARI 25 INTEGER PERTAMA* )
VAR SUM, NUMBER : INTEGER ;
BEGIN
SUM : = 0 ;
NUMBER : = 1 ;
WHILE NUMBER < 26 DO

BEGIN
by Supriatna, ST 11
Job Sheet Pemograman Pascal

SUM : = SUM + NUMBER;


NUMBER : = NUMBER +1
END ;
WRITELN ( ‘JUMLAH DARI 25 INTEGER PERTAMA ADALAH’,SUM)
END ;

Contoh 2. Program average

PROGRAM AVERAGE ( INPUT, OUTPUT ) ;


VAR AVERAGE : REAL ;
SUM, NUMBER, MAX : INTEGER ;
BEGIN
READLN (MAX) ;
SUM : = 0 ;
NUMBER : = 0 ;
WHILE NUMBER < MAX DO
BEGIN
NUMBER : = NUMBER + 1 ;
SUM : = SUM + NUMBER
END ;
AVERAGE : = SUM / MAX ;
WRITELN ( ‘RATA-RATA DARI YANG
PERTAMA’ ,MAX, ‘ADALAH’ ,AVERAGE )
END .

4.3. Pernyataan FOR


Contoh sederhana penggunaan pernyataan FOR adalah :

SUM : = 0 ;
FOR I : = 1 TO N DO SUM := + 1;

Efek pernyataan ini adalah untuk melaksanakan pernyataan yang mengikuti DO


sebanyak N kali. Pada waktu pelaksanaan pernyataan tersebut pertama kali, I bernilai 1. kali
yang kedua I bernilai 2, dan seterusnya. Jadi, SUM memperoleh nilai jumlah integer dari 1
hingga N. Berikut ini adalah beberapa contoh pernyataan FOR.
Contoh 1. Pernyataan FOR dalam program AVERAGE.

PROGRAM AVERAGE2 ( INPUT, OUTPUT ) ;


VAR AVERAGE : REAL ;
I, MAX, SUM : INTEGER ;
BEGIN
READLN (MAX) ;
SUM : = 0 ;
FOR I : = I TO MAX DO
BEGIN
SUM : = SUM + 1
END ;
AVERAGE : = SUM / MAX ;
WRITELN ( ‘RATA-RATA DARI YANG
PERTAMA’ ,MAX, ‘ADALAH’ ,AVERAGE )
END . ( *AVERAGE2* )

by Supriatna, ST 12
Job Sheet Pemograman Pascal

Contoh 2. Program MULTIPLICATION TABLE

PROGRAM MULTABLE ( INPUT, OUTPUT ) ;


VAR I, J, K, M, N, : INTEGER ;
BEGIN
READLN ( M, N ) ;
FOR I : = 1 TO M DO
BEGIN
WRITELN ;
FOR J : = 1 TO N DO
BEGIN
K:=J * I;
WRITELN ( J, ‘X’ ,I, ‘=’ , K )
END
END
END . ( *MULTABLE* )

4.4 Pernyataan IF dan IF-ELSE


Pernyataan IF digunakan jika terdapat dua pernyataan yang akan dilaksanakan
dalam suatu program. Jika ekspresi Boolean yang dicirikan setelah IF benar, maka kondisi 1
akan dilaksanakan. Namun jika kondisinya tidak benar maka kondisi 2 yang akan
dilaksanakan. Berikut adalah contoh penggunaan pernyataan IF.
Contoh
PROGRAM COUNT ( INPUT, OUTPUT ) ;
VAR COUNT, NUMBER : INTEGER ;
BEGIN
COUNT : = 0 ;
REPEAT
READLN ( NUMBER ) ;
IF NUMBER > 10 THEN COUNT : = COUNT + 1
UNTIL NUMBER = 0 ;
WRITELN ( ‘NUMBERS> 10 :’, COUNT )
END .

Untuk pernyataan IF-ELSE, hal yang berbeda secara mencolok adalah pernyataan
IF tidak mengakibatkan pelaksanaan suatu pengulangan. Pernyataan IF hanyalah menguji
suatu kondisi. Jika kondisi 1 benar, maka pernyataan setelah IF dilaksanakan, namun jika
kondisi tersebut salah, maka pernyataan setelah ELSE yang dilaksanakan (kondisi 2).

4.5. Pernyataan CASE


Pernyataan CASE umumnya digunakan apabila suatu variable atau ekspresi bisa
bernilai salah satu dari n buah nilai. Nilai ini dapat berupa scalar tak nyata seperti karakter,
integer Boolean.

Contoh
PROGRAM SPELLMONTH ( INPUT, OUTPUT ) ;
VAR MONTH : INTEGER ;
BEGIN

by Supriatna, ST 13
Job Sheet Pemograman Pascal

WRITELN ( ‘KETIK BULAN DALAM ANGKA’ ) ;


READLN (MONTH) ;
IF ( MONTH > 12 ) OR ( MONTH < 1 )
THEN WRITELN ( ‘TIDAK ADA BULAN YANG SEPERTI ITU’ )
ELSE
CASE MONTH OF
1 : WRITELN ( ‘JANUARY’ ) ;
2 : WRITELN ( ‘FEBRUARY’ ) ;
3 : WRITELN ( ‘MARCH’ ) ;
4 : WRITELN ( ‘APRIL’ ) ;
.
.
.
12 : WRITELN ( ‘DECEMBER’ ) ;
END ( *CASE* )
END . ( *SPELLMONTH* )

Contoh di atas menunjukkan bahwa tergantung dari nilai bilangan bulan, salah satu
dari 13 peristiwa akan terjadi :
- Satu dari ke-12 dari satu tahun akan muncul;
- Sebuah pesan akan muncul jika nilai bilangan bulan yang diinginkan tidak benar.

4.6. Pernyataan GOTO


Kadang-kadang diperlukan cara untuk meloncati bagian tertentu dari suatu
program, melompat keluar dari suatu pengulangan, atau kembali ke titik tertentu. Kegiatan ini
dinamakan pencabangan tak bersyarat, dan dicapai dengan menggunakan pernyataan
GOTO.
Pernyataan GOTO mencirikan pernyataan yang mana yang akan dilaksanakan
berikutnya. Sebuah label digunakan untuk memungkinkan pernyataan GOTO mencirikan
pernyataan yang mana yang harus dilaksanakan. Label adalah bilangan bulat yang diikuti
dengan tanda (:) dan diletakkan sebelum suatu pernyataan dalam program. Label tidak boleh
panjang dari 4 digit. Misalnya:

GOTO 100;

100: statement
GOTO 100 akan mengakibatkan dilaksanakannya pernyataan berlabel 100 sebagai tindakan
berikutnya.

4.7. Latihan dan Tugas


1. Kerjakan semua contoh program di atas!
2. Tuliskan hasil dari program-program tersebut!

by Supriatna, ST 14
Job Sheet Pemograman Pascal

by Supriatna, ST 15
Job Sheet Pemograman Pascal

JOB SHEET 5
OPERASI MATEMATIKA

5.1. Operasi Matematika

Keseluruhan operator yang tersedia pada Turbo Pascal dapat dilihat pada tabel dibawah ini :

Operator Arti Prioritas


* Kali 1
/ Bagi (real) 2
DIV Bagi (bulat) 2
MOD Sisa Pembagi 2
+ Tambah 3
- Kurang 3

Operasi dasar dasar seperti penjumlahan, pengurangan, perkalian dan pembagian dapat
dilaksanakan dengan menggunakan operator-operator tersebut diatas, misalnya untuk
menghitung :

53
diperlukan ekspresi sebagai berikut :

5*5*5

mengingat Turbo Pascal tidak menyediakan operator perpangkatan.


Operasi yang tidak dapat dilaksanakan dengan operator yang tersedia dapat dilaksanakan
dengan menggunakan fungsi-fungsi yang disediakan Turbo Pascal.

5.2. Pernyataan Inc dan Dcr

Kiranya anda sudah terbiasa menggunakan pernyataan seperti :

X := x + 1;
Y := y – 2;

Pada contoh pertama, nilai x dinaikkan sebesar 1 terhadap nilai semula, pada contoh kedua
nilai Y diturunkan sebesar 2.

Bentuk seperti diatas dapat diwakili dengan pernyataan Inc atau Dec, kalau X ataupun Y
serta nilai penambahan atau pengurangan bertipe integer, bentuk pernyataan Inc :

Inc(Variabel)
Inc(Variabel,Nilai)

Pada Bentuk pertama, nilai Variabel akan dinaikkan sebesar satu. Bila menggunakan bentuk
kedua, bentuk pertama tersebut identik dengan :

Inc(Variabel,1)

Parameter Nilai menyatakan besarnya nilai yang akan ditambahkan terhadap isi semula dari
Variabel. Adapun bentuk pernyataan Dcr :
by Supriatna, ST 16
Job Sheet Pemograman Pascal

Dec(Variabel)
Dec(Variabel,Nilai)

Pada bentuk pertama, nlai Variabel akan diturunkan sebesar satu. Bila menggunakan bentuk
kedua, bentuk pertama tersebut identik dengan :

Dec(Variabel,1)

Parameter Nilai menyatakan besarnya nilai untuk mengurangkan terhadap isi semula dari
Variabel.
Dengan demikian pernyataan :

X := x + 1;
Y := y – 2;

Dapat ditulis menjadi :

Inc(x); ( atau: Inc(x); )


Dec(y, 2);

5.3. Fungsi Matematika

Turbo Pascal menyediakan sejumlah fungsi matematika, sebagaimana dapat dilihat pada
Tabel berikut :

Fungsi Keterangan Contoh


Digunakan untuk memperoleh nilai mutlak (absolut) Abs(5.5)  5.5
Abs(x) x . Dalam hal ini tipe hasil sesuai dengan tipe Abs(-5.5)  5.5
parameter Abs(-157)  157
Untuk memperoleh arctangent dari nilai x. Hasilnya
ArcTan(x) berupa sudut yang dinyatakan dalam satuan radian.
Baik parameter maupun hasilnya bertipe Real.
Untuk memperoleh nilai cosinus dari sudut x. Sudut
Cos(x) dinyatakan dalam Radian. Parameter dan hasilnya
bertipe Real.
Menghasilkan nilai eksponensial dari x (℮x). Baik
Exp(x)
parametermaupun hasilnya bertipe real.
Frac(123.456)  0.456
Memberikan bagian pecahan dari argumen x. Baik
Frac(x) Frac(-123.456) 
parameter maupun hasilnya bertipe real.
-0.456
Mendapatkan bagian bulat dari argumen x. Hasilnya Int(50.6)  50
Int(x)
bertipe Real. Int(-50.6)  -50
Menghasilkan logaritma alami dari x (e Log x). Baik
Ln(x)
parameter maupun hasilnya bertipe Real
Pi Menghasilkan nilai  (3,14159265356)
Melakukan pembulatan terhadap parameter bertipe
Round(50.6)  51
Round(x) real ke bilangan bulat terdekat. Hasilnya bertipa
Round(-50.6)  -51
LongInt.
Sin(x) Untuk memperoleh nilai sinus dari sudut x (dalam
by Supriatna, ST 17
Job Sheet Pemograman Pascal

radian)
Untuk memperoleh nilai kuadrat dari x. Tipe Sqr(5)  25
Sqr(x)
Hasilnya sesuai dengan tipe parameter. Sqr(5.0)  25.0
Untuk memperoleh akar kuadrat dari x. Hasil dan
Sqrt(x) Sqrt(25)  5.0
parameternya bertipe Real
Memperoleh nilai bulat dari parameter bertipe Real. Trunc(123.6)  123
Trunc(x)
Tipe hasilnya berupa LongInt Trunc(-123.6)  -123

Beberapa fungsi lain yang berkaitan dengan bilangan dapat dilihat pada tabel berikut ini :
Fungsi Keterangan
Odd(bil) Fungsi ini memberikan hasil berupa True kalau bil (bertipeLongInt) berupa
bilangan ganjil
Random(bil Fungsi ini memberikan hasil berupa bilangan acak (bertipe word) yang
) nilainya lebih besar atau sama dengan nol tetapi kurang dari bil. Dalam hal
ini, bil bertipe Word.
Random Fungsi ini memberikan hasil berupa bilangan acak yang lebih besar atau
sama dengan nol, tetapi kurang dari 1.

Beberapa persamaan matematika dan ekspresi Turbo Pascal dapat dilihat dibawah ini :

Persamaan
Ekspresi pada Turbo ascal
Matematika
(a  b) / c Sqrt( (a+b)/c)
b  4ac
2
Sqrt(sqr(b)-4*a*c)/(2*a)
2a
Sqr(in(theta)) + 2 *
Sin2 + 2 Cos
Cos(theta)
Sinh(x) (exp(x) – exp(-x)) / 2
2
y
 5y  2 y*y*y/2–5*y+2
2

5.4. Membangkitkan bilangan Acak

Untuk mendukung pembangkitan bilangan acak, Turbo Pascal menyediakan :


Pernyataan Random
Fungsi Random
Variabel RandSeed

Fungsi Random berguna untuk memperoleh sebuah bilangan acak. Pernyataan Randomize
dipakai untuk memberi nilai awal buat pembangkitan bilangan acakberdasarkan jam sistem.
Dengan menggunakan prosedure ini akan diperoleh bilangan acak yang benar-benar acak
untuk setiap waktu.

5.5. Eksponensial dan Logaritma

Dua fungsi yang tersedia pada Turbo Pascal untuk melakukan operasi eksponensial dan
logaritma adalah Exp dan Ln.
Exp(x),untuk memperoleh nilai ex (eksponensial dari x)
Ln(x),untuk memperoleh logaritma alami dari x (e Log x)

Berdasarkan fungsi Ln, kita dapat melakukan operasi logaritma berbasis sepuluh.
Penyelesaiannya :

by Supriatna, ST 18
Job Sheet Pemograman Pascal

10
Log x = eLog x / eLog 10

Fungsi Exp dapat dimanfaatkan untuk menghitung seperti sinus hiperbolis.


Manfaat yang lain adalah untuk menghitung :

51/3
Solusi persoalan diatas dapat dikerjakan melalui pengandaian :

Xn = y
Dengan y adalah hasilnya. Berdasarkan persamaan diatas, maka :

Ln xn = Ln y
Atau ;

n Ln Xn = Ln y
dari persamaan yang terakhir ini, y dapat dperoleh, yaitu melalui rumus :

y = e(n Ln x)

Pernyataan Pascal untuk persamaan diatas berupa :

Y := exp (n * Ln(x));

5.6. Fungsi COS, SIN, PI dan ARCTAN

Keempat fungsi ini merupakan fungsi trigonometri yang tersedia pada Turbo Pascal.

Cos(x), untuk memperoleh nilai cosinus dari x (x dalam radian)


Sin(x), untuk memperoleh nilai sinus dari x (x dalam radian)
Pi, untuk memperoleh nilai 
ArcTan(x), untuk memperoleh arctangent dari nilai x

Kedua fungsi pertama meminta argumen berupa sudut. Jika sudut dalam satuan derajat,
sudut ini perlu dikonversi menjadi radius :

Radian = derajat *  / 180

Dengan  dapat diperoleh melalui Pi.


Contoh penggunaan fungsi Sin dan Cos adalah untuk menghitung lintasan peluru yang
ditembakkan dengan kecepatan awal V0 dan sudut tembakan berupa  derajat. Jarak
jatuhnya peluru dari tempat penembakan dapat dihitung melalui rumus :

Jarak = 2 x Vo2 x sin() x Cos() / g

Dengan g adalah gaya gravitasi bumi.

Tugas dan Latihan.

Kerjakan Program-program berikut ini dancatat hasilnya serta berikan penjelasannya.

1. Program Acak1;
{------------------------------------------------------------------------------------------}
by Supriatna, ST 19
Job Sheet Pemograman Pascal

{ Pembangkitan bilangan acak yang bersifat menetap }


{ (hasil selalu sama setiap kali program dijalankan) }
{-----------------------------------------------------------------------------------------}
USES Crt;
BEGIN
ClrScr;
RandSeed:= 6; {-- Nilai awal u/ pembangkitan acak --}
WriteLn(Random);
WriteLn(Random);
WriteLn(Random);
Write(‘ Tekan Enter ‘);
ReadLn;
End.

2. Program Acak2;
{------------------------------------------------------------------------------------------}
{ Pembangkitan bilangan acak yang bersifat }
{ selalu berubah dari waktu ke waktu }
{-----------------------------------------------------------------------------------------}
USES Crt;
BEGIN
ClrScr;
Randomize; {-- Nilai awal acak --}
WriteLn(Random);
WriteLn(Random);
WriteLn(Random);
Write(‘ Tekan Enter ‘);
ReadLn;
End.
3. Program Tebak;

{--------------------------------------------------------------------------------}
{ Contoh Pemakaian bilangan acak }
{ untuk membentuk permainan tebakan }
{--------------------------------------------------------------------------------}

USES Crt;
VAR
Acak, { -- Nilai acak dari komputer --}
Jawaban : Integer; { -- Nilai Jawaban Pemakai --}
Tombol : Char;
BEGIN
REPEAT
ClrScr;
WriteLn(‘Permainan Menebak Angka’);
WriteLn(‘Saya akan membangkitkan bilangan acak’);
WriteLn(‘Antara 1 sampai dengan 4’);

REPEAT
Acak := RANDOM(5);
UNTIL Acak <>0;
WriteLn(‘Sekarang cobalah untuk menebak’);
Write(‘Angka berapa ? ‘);
ReadLn(Jawaban);
IF Acak = Jawaban THEN
by Supriatna, ST 20
Job Sheet Pemograman Pascal

WriteLn(‘Selamat ! Jawaban Anda Benar’);


ELSE
WtiteLn(‘Belum benar tuh. Jawabannya = ‘, Acak);

WriteLn;
WriteLn(‘Tekan T untuk mengakhiri’);
WriteLn(‘Atau tombol lain untuk mengulangi’);
Tombol:=ReadKey;
UNTIL (Tombol = ‘T’) OR (Tombol = ‘t’)
END.

4. Program Akar;

{------------------------------------------------------------------------------------}
{ Contoh Pemakaian Exp dan Ln }
{ untuk menghitung akar suatu nilai }
{-----------------------------------------------------------------------------------}

USES Crt;

BEGIN
ClrScr;

WriteLn(‘Akar kuadrat dari 25 = ‘, Exp(1/2 * Ln (25)));


WriteLn(‘Akar tiga dari 25 = ‘, Exp(1/3 * Ln(25)));

ReadLn;
END.

5. Program Peluru;
{-----------------------------------------------------------------------------------------------------------------
------}
{ Contoh Pemakaian fungsi SIN dan COS untuk
}
{ menghitung jarak jatuhnya
peluru }
(-----------------------------------------------------------------------------------------------------------------
-----}
USES Crt;

CONST
GRAVITASI = 9.8;
VAR
Rad, Derajat, Kecepatan, Jarak : Real;

BEGIN
ClrScr;
WriteLn(‘Menghitung Jarak Jatuhnya Peluru’);
Write(‘Sudut penembakan (Derajat) : ‘);
ReadLn(Derajat);
Write(‘Kecepatan Tembak (m/detik) : ‘);
ReadLn(Kecepatan);

by Supriatna, ST 21
Job Sheet Pemograman Pascal

Rad:=Derajat * Pi / 180;
Jarak := 2 * Sqr (Kecepatan) * Sin(Rad) * Cos(Rad) / GRAVITASI;

WriteLn(‘ Peluru jatuh pada Jarak = ‘, Jarak : 0 : 4);

ReadLn;
END.

6. Program Menara;
{-----------------------------------------------------------------------------------------------------------------
------}
{ Contoh Pemakaian SIN dan COS untuk
}
{ menghitung tinggi menara
}
(-----------------------------------------------------------------------------------------------------------------
-----}
USES Crt;

VAR
Jarak, Alfa, Rad, Tinggi : Real;
BEGIN
ClrScr;
WriteLn(‘Menghitung Tinggi Menara’);
Write(‘ Jarak dari titik pengukuran hingga menara = ‘);
ReadLn(Jarak);
Write(‘Sudut antara tanah dan titik puncak (derajat) = ‘);
ReadLn(Alfa);

Rad:= Alfa * Pi / 180;


Tinggi := Sin(Rad) / Cos(Rad) * Jarak;

WriteLn(‘Tinggi Menara = ‘, Tinggi : 0 : 4);


ReadLn
END.

by Supriatna, ST 22

You might also like