Job Sheet 1 5 Pascal
Job Sheet 1 5 Pascal
JOBSHEET 1
DASAR – DASAR PEMOGRAMAN PASCAL
by Supriatna, ST 1
Job Sheet Pemograman Pascal
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
by Supriatna, ST 3
Job Sheet Pemograman Pascal
JOBSHEET 2
EKSPRESI DAN PERNYATAAN
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.
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.
BEGIN
ClrScr;
Writeln ( ‘6 MOD 3 = ‘, 6 MOD 3 );
by Supriatna, ST 5
Job Sheet Pemograman Pascal
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
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);
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 :
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
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
by Supriatna, ST 10
Job Sheet Pemograman Pascal
JOBSHEET 4
STRUKTUR KONTROL
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.
BEGIN
by Supriatna, ST 11
Job Sheet Pemograman Pascal
SUM : = 0 ;
FOR I : = 1 TO N DO SUM := + 1;
by Supriatna, ST 12
Job Sheet Pemograman Pascal
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).
Contoh
PROGRAM SPELLMONTH ( INPUT, OUTPUT ) ;
VAR MONTH : INTEGER ;
BEGIN
by Supriatna, ST 13
Job Sheet Pemograman Pascal
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.
GOTO 100;
…
100: statement
GOTO 100 akan mengakibatkan dilaksanakannya pernyataan berlabel 100 sebagai tindakan
berikutnya.
by Supriatna, ST 14
Job Sheet Pemograman Pascal
by Supriatna, ST 15
Job Sheet Pemograman Pascal
JOB SHEET 5
OPERASI MATEMATIKA
Keseluruhan operator yang tersedia pada Turbo Pascal dapat dilihat pada tabel dibawah ini :
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
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;
Turbo Pascal menyediakan sejumlah fungsi matematika, sebagaimana dapat dilihat pada
Tabel berikut :
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
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.
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
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)
Y := exp (n * Ln(x));
Keempat fungsi ini merupakan fungsi trigonometri yang tersedia pada Turbo Pascal.
Kedua fungsi pertama meminta argumen berupa sudut. Jika sudut dalam satuan derajat,
sudut ini perlu dikonversi menjadi radius :
1. Program Acak1;
{------------------------------------------------------------------------------------------}
by Supriatna, ST 19
Job Sheet Pemograman Pascal
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;
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;
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;
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);
by Supriatna, ST 22