handout komputasi pascal final
TRANSCRIPT
-
7/22/2019 Handout Komputasi Pascal Final
1/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 1
BAB I
PENGANTAR PASCAL
A.Program Turbo PascalPascal adalah salah satu bahasa pemrograman tingkat tinggi (high level language). Nama
Pascal diambil dari nama seorang ahli matematika dan filosofi terkenal abad 17 dari
Perancis, yaitu Blaise Pascal. Bahasa ini dirancang oleh Prof. Niklaus Wirth dari Technical
University di Zurich, Switzerland. Turbo Pascal adalah salah satu versi Pascal yang paling
popular dan banyak digunakan saat ini. Bentuk tampilan awal Turbo Pascal adalah sebagai
berikut:
Menu BarAdalah fasilitas yang ada pada setiap aplikasi window. Ada delapan Menu Utama yang
dapat dipanggil dengan menggunakan tombol Alt+[Huruf pertama dari menu]. Misal
ingin memanggil menu File, tekan tombol Alt+F.
Toolbar
Adalah kumpulan tombol-tombol bergambar yang berfungsi untuk memberikanperintah pada komputer
EditorBerfungsi untuk menulis dan menyunting program.
Menu Bar
Editor
Toolbar
-
7/22/2019 Handout Komputasi Pascal Final
2/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 2
B.Struktur Bahasa PascalProgram dalam bahasa pascal, ditulis dengan struktur sebagai berikut:
Program () Kepala Program
USES
LABEL
CONST
TYPE
VAR
Bagian Deklarasi
BEGIN
END.
Bagian Pernyataan
Kepala ProgramDalam Pascal, posisi kepala program adalah diawal program. Sintak dari kepala
program adalah:
Program ()
Penulisan Nama boleh sembarang, tapi harus dimulai dengan huruf dan bukanReserve
Word (kata baku yang telah digunakan Pascal dan mempunyai definisi tertentu, misal
BEGIN, USES, dsb). Dapat terdiri dari kombinasi huruf, angka dan garis bawah.
Maksimal 127 karakter dan tidak ada perbedaan antara huruf besar dan huruf kecil.
Dalam memberikan Nama sebaiknya yang mempunyai arti sesuai dengan program
yang akan dibuat.
Contoh:ProgramHitung_Luas;
Program Soal_1;
ProgramSegitiga (Masuk, Keluar);
Bagian Deklarasi
Dalam Pascal, semua unit, label, konstanta, tipe, variabel, fungsi dan prosedur yang
akan digunakan harus dideklarasikan terlebih dahulu. Keenam deklrasi tersebut tidak
-
7/22/2019 Handout Komputasi Pascal Final
3/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 3
harus ada semua Sebuah program bisa saja hanya mengandung deklarasi variabel.
Berikut ini adalah bentuk masing-masing deklarasi.
No Jenis deklarasi Bentuk Deklarasi1 Unit USES
, ,...,;
Contoh:
USESWincrt, unit1,unit2;
2 Label LABEL
, ,...,;
Contoh:
LABEL
50, Penutup, Selesai;
3 Konstanta CONST
= ;.
.
. = ;
Contoh:
CONSTMaksData=100;
Konversi=25;
4 Tipe TYPE = ;
.
.
. = ;
Contoh:
TYPE
Tanggal=1..31;
5 Variabel VAR = ;
.
.
.
= ;
Contoh:
VARNilai : Real;
Jumlah : Integer;
Tgl:Tanggal;
6 Fungsi dan Prosedur Function():;
atau
Procedure();
Contoh:
FunctionPangkat(a,b:integer):integer;ProcedureTukar (data1, data2:real);
Bagian Pernyataan
Bagian pernyataan diawal dengan kata BEGIN serta diakhiri dengan kata END dan
tanda titik. Setiap pernyataan diakhiri dengan tanda titik kona (;). Pernyataan-
pernyataan yang disusun mengikuti algoritma tertentu diletakkan pada bagian ini.
-
7/22/2019 Handout Komputasi Pascal Final
4/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 4
C.Tipe Data dalam PascalAda beberapa macam tipe data dalam Pascal, diantaranya adalah :
1. Integer, adalah susunan angka yang tidak mengandung koma. Disebut jugabilangan bulat. Nilainya terletak antara -32768 s/d 32767.
2. Byte, adalah merupakan bagian dari integer. Nilainya terletak antara 0 s/d 255.3. Real, merupakan tipe bilangan yang mengandung pecahan. Nilainya terletak antara
1E-38 s/d 1E+38.
4. Boolean, berhubungan dengan dua keadaan logika. Dapat bernilai True atau False.5. Char, merupakan tipe yang hanya terdiri dari sebuah simbol karakter ASCII6. String, merupakan tipe yang terdiri dari sejumlah karakter.
D.Operator dan OperandBerikut ini adalah operator yang ada dalam bahasa Pascal :
No Kategori Operator Operator Operasi Jenis Operand Hasil Contoh
1 Pengerjaan
(Assignment)
:= Memberi nilai Integer
Real
Integer
Real
A:=B
Biner (Binary) * Perkalian Real, Real
Integer, Integer
Real,Integer
Real
Integer
Real
A*B
/ Pembagian Real Real, RealInteger, Integer
Real,Integer
RealReal
Real
A/B
+ Pertambahan Real, RealInteger, Integer
Real,Integer
RealInteger
Real
A+B
- Pengurangan Real, Real
Integer, IntegerReal,Integer
Real
IntegerReal
A-B
DIV Pembagian bulat Integer, Integer Integer A DIV B
MOD Sisa Pembagian Integer, Integer Integer A MOD B
2 Unary + positif Integer
Real
Integer
Real
+A
- negatif IntegerReal
IntegerReal
-A
3 Logika (logical) NOT Boolean, Boolean Boolean NOT(A)
AND Boolean, Boolean Boolean A AND B
OR Boolean, Boolean Boolean A OR B
4 Hubungan(Relational)
= Sama dengan Boolean, Boolean Boolean A = B
Tidak sama
dengan
Boolean, Boolean Boolean A B
> Lebih besar dari Boolean, Boolean Boolean A > B< Kurang dari Boolean, Boolean Boolean A < B
>= Lebih besar atausama dengan
Boolean, Boolean Boolean A >= B
-
7/22/2019 Handout Komputasi Pascal Final
5/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 5
Operator dalam Pascal mempunyai hirarki. Tabel berikut ini menunjukkan prioritas atau
hirarki pengerjaan operator dalam Pascal.
Kelompok Operator PrioritasNOT 1
* / DIV MOD AND 2+ - OR 3
= = 4
Contoh :
Berikut ini adalah contoh program Pascal sederhana
Programtambah; Kepala Program
Useswincrt;
Var Bagian DeklarasiA,B,C:integer;
Begin
A:=70;
B:=100; Bagian Pernyataan
C:=A+B;
Writeln(C);
End.
SOAL1. Sebutkan jenis konstanta berikut ini: (real, integer, char, boolean atau string)
a. 87.767b. 100c. 0
d. Falsee. Testf. 5.5
g. Trueh. 1.5E+8i. 0
2. Diberikan Cuplikan Program dibawah ini:Angka1:=4;
Angka2:=100;
Hasil:=Angka2+Angka1;
Writeln(Hasil);
A. Lengkapilah program tersebut sehingga dapat dijalankan di Turbo Pascal.B. Ada berapa variabel dalam program tersebut?
3. Tuliskan persamaan matematika berikut ini kedalam ekspresi bahasa pascal.a.
ED
CBA
+= c. F
D
CBA
+= e.
E
CABD
.2
..42 =
b. FED
BA =
.
d.IH
GF
ED
BA
+
+=
. f. J
I
H
GF
EDCBA +
+
+= )(
-
7/22/2019 Handout Komputasi Pascal Final
6/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 6
BAB II
PERNYATAAN INPUT dan OUTPUT
Dalam bahasa Pascal pernyataan input adalah pernyataan yang digunakan untuk
memasukkan data. Pernyataan input yang ada di Pascal adalah READ dan READLN.
Sedangkan pernyataan output adalah pernyataan yang digunakan untuk menampilkan hasil.
Ada dua pernyataan output yaitu WRITE dan WRITELN.
A.Pernyataan WRITE dan WRITELNBentuk pernyataan WRITE dan WRITELN:
WRITE ();
AtauWRITELN ();
Jika pernyataan WRITELN yang digunakan, setelah menampilkan hasil maka kursor ganti
baris. Sedangkan jika pernyataan WRITE yang digunakan, setelah menampilkan hasil
maka kursor tidak ganti baris. Dalam format penulisan WRITE dan WRITELN jika yang
akan ditampilkan adalah suatu kata/kalimat yang tidak disinpan dalam suatu variabel, maka
kata/kalimat tersebut harus ditulis diantara tanda petik tunggal ().
WRITE atau WRITELN dapat menerima argumen berupa variabelBentuk Pernyataan : WRITE (); WRITELN ();
Contoh : WRITE (Kata);
WRITE (Umur);
WRITELN (Kata);
WRITELN (Umur);
WRITE atau WRITELN dapat menerima argumen bertipe data dasar (seperti boolean,real atau integer) bahkan char atau string.
Contoh : WRITE (TRUE);
WRITE (27.5);
WRITE (100);
WRITE (a);
WRITE (Statistika);
WRITELN (TRUE);
WRITELN (27.5);
WRITELN (100);
WRITELN (a);
WRITELN (Statistika);
-
7/22/2019 Handout Komputasi Pascal Final
7/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 7
WRITE atau WRITELN dapat menerima argumen lebih dari satu. Jika argumen lebihdari satu maka harus dipisahkan oleh tanda koma (,).
Contoh : WRITE (Hasilnya adalah : , jawab);
WRITE LN (Hasilnya adalah : , jawab);
WRITE atau WRITELN dapat menerima argumen berupa ekspresi.Contoh : WRITE (A+B-50);
WRITE (20*82/2);
WRITELN (A+B-50);
WRITELN (20*82/2);
WRITELN bisa juga tanpa argumen. Biasanya digunakan untuk membuat bariskosong;
Contoh : WRITELN;
Contoh :Program untuk memberikan contoh perbedaan WRITE dan WRITELN.
Program Tulis;
Uses wincrt;
Begin
Write(Satu);
Write( );
Write(Dua, );
Writeln(Tiga);Writeln(Empat);
End.
Hasilnya :
B.Memformat keluaran dari WRITE dan WRITELNUntuk mengatur penampilan hasil pernyataan WRITE dan WRITELN dapat dilakukan
formating. Untuk memformat data dilakukan dengan menambah tanda titik dua (:) diikuti
dengan bilangan yang menyatakan lebar ruang untuk menampilkan data:
Data : n
-
7/22/2019 Handout Komputasi Pascal Final
8/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 8
Format ini menyebabkan data ditampilkan rata kanan pada ruang dengan ukuran sebesar n
karakter.
Contoh : WRITE (A:10);
WRITE (-45:10);
WRITELN (Data:10);
WRITELN (12.42 : 10);
Untuk argumen data real, format dapat dilakukan sebagai berikut:
Data : n : p
Dimana: n adalah lebarnya ruang
p adalah banyaknya angka desimal
Contoh : WRITE (432.8984 : 10 : 2);
WRITE (-4598.908756 : 10 : 2);
WRITELN (Data : 10 : 2);
WRITELN (12.42 : 10 : 0);
Contoh :Program untuk memberikan contoh pengaturan format tampilan.
Program bilangan;
Uses wincrt;
Begin
Write(Matematika:10);
Writeln(80:7);
Write(Biologi:10);
Writeln(100:7);Write(Fisika:10);
Writeln(50:7);
End.
Hasilnya :
C.Pernyataan READ dan READLNBentuk pernyataan READ READLN:
READ () ;
Atau
READLN () ;
-
7/22/2019 Handout Komputasi Pascal Final
9/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 9
Tiap-tiap data yang dimasukkan harus sesuai dengan tipe variabelnya. Setelah data
dimasukkan, tombol ENTER ditekan. Perbedaan antara READ dan READLN adalah pada
sifat menangani kelebihan data yang diinputkan
READ : Jika ada kelebihan data, pernyataan ini tidak akan membuangnya. Kelebihandata tersebut akan diberikan pada pernyataan READ atau READLN berikutnya.READLN : Jika ada kelebihan data, pernyataan ini akan membuangnya. Kelebihan data
tersebut tidak akan diberikan pada pernyataan READ atau READLN
berikutnya.
Contoh :Program untuk menunjukkan perbedaan antara READ dan READLN
1. Program Satu;
Uses Wincrt;
Var
A, B, C, D:Integer;
Begin
Writeln(Masukkan Data Tiga Buah, Pisahkan dengan Spasi !);
Read(A, B);
Writeln (A=,A);
Writeln (B=,B);
Readln(C);
Writeln(C=,C);
End.
Hasilnya :
2. Program Dua;Uses Wincrt;
Var
A, B, C, D:Integer;
Begin
Writeln(Masukkan Data Tiga Buah, Pisahkan dengan Spasi !);
Readln(A, B);
Writeln (A=,A);
Writeln (B=,B);
-
7/22/2019 Handout Komputasi Pascal Final
10/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 10
Readln(C);
Writeln(C=,C);
End.
Hasilnya :
Terlihat bahwa pada program Dua data untuk variabel C harus dimasukkan ulang, hal itu
disebabkan penggunaan READLN.
SOAL
1. Apa hasil program berikut ini:a. Program Satu;
Uses Wincrt;
Var Data1, Data2:Real;
Begin
Data1:=76.87392;Data2:=987.543269;
Writeln('Hasil',Data1+Data2:10:2);
End.
b. Program Satu;
Uses Wincrt;
Begin
Write('ITS',' ');Write('Statistika');
Writeln(' ');
Write('Surabaya');
End.
2. Buat Program untuk proses berikut ini:a. Input: Nama dan Tahun Lahir
Proses : Menghitung Umur
Output: Nama dan Umur
b. Input: Panjang dan Lebar suatu
persegi panjang
Proses: Menghitung Luas Persegi
Panjang
Output: Luas Persegi Panjang
c Mencari nilai maksimum dari ketigabuah data
Input : Tiga buah Data X1, X2 dan X3
Proses: mencari nilai maksimum
Output: nilai maksimum dari tiga buah
data tersebut.
-
7/22/2019 Handout Komputasi Pascal Final
11/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 11
BAB III
PERNYATAAN BERSYARAT
Pernyataan bersyarat adalah pernyataan yang akan menjalankan pernyataan yang
mengikutinya sesuai dengan syarat tertertentu. Ada 2 buah pernyataan bersyarat, yaitu IF
dan CASE.
A.Pernyataan IFBentuk pernyataan IF:
IF THEN ;
Syarat
Logika Pernyataan
Benar(True)
Salah(False)
Gambar 1. Flowchart Statement IF THEN
IF THEN
ELSE ;
SyaratLogika
Benar(True)
Salah(False)
Pernyataan-1
Pernyataan-2
Gambar 2. Flowchart Statement IF THEN ELSE
-
7/22/2019 Handout Komputasi Pascal Final
12/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 12
Jika syarat logika bernilai Benar maka yang akan dijalankan adalah pernyataan yang
mengikuti THEN, dan sebaliknya jika syarat logika bernilai Salah maka yang akan
dijalankan adalah pernyataan yang mengikuti ELSE. Jika pernyataan yang mengikuti
THEN atau ELSE lebih dari satu maka harus diawali oleh Begin dan diakhiri oleh End.
Statement End sebelum ELSE tidak boleh ada tanda titik koma (;).
IF THEN begin
;
;
.
.
;
end
ELSE begin
;
;
.
.
;
end;
Contoh :Program untuk menentukan apakah suatu bilangan itu positif atau negatif.
Program bilangan;
Uses wincrt;
Var bil :integer;
Begin
Readln(bil);
If bil >= 0 Then writeln(Positif)
Else writeln (Negatif)
End.
B.Pernyataan IF Bersarang (nested)Jika ada dua pernyataan IF atau lebih, dimana pernyataan IF yang satu berada di dalam
pernyataan IF yang lain, maka pernyataan tersebut disebut Bersarang (nested).
Contoh bentuk pernyataan IF Bersarang:
IF THEN
ELSE IF THEN
ELSE IF THEN
ElSE ;
-
7/22/2019 Handout Komputasi Pascal Final
13/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 13
SyaratLogika-1
Benar(True)
Salah(False)
Pernyataan-1
SyaratLogika-2
SyaratLogika-3
Pernyataan-4Pernyataan-3Pernyataan-2
Salah(False)
Salah(False)
Benar(True)
Benar(True)
Gambar 3. Flowchart Statement IF THEN Bersarang
Contoh :Program untuk menentukan bonus pegawai berdasarkan total penjualan. Kriteria bonus
adalah sebagai berikut:
Total Penjualan (Rp) Bonus Yang Didapat (Rp)
Total 500.000 30.000
250.000Total= 250000 Then writeln(Bonus = 20.000)
Else If Total >= 50000 Then writeln(Bonus = 10.000)
Else writeln(Tidak Ada Bonus)
End.
C.Pernyataan CASEBentuk pernyataan CASE:CASE OF
: ;
: ;.
.
: ;
ELSE ;
END;
-
7/22/2019 Handout Komputasi Pascal Final
14/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 14
variabel-pemilih=daftar-label-1
Benar
(True)
Salah(False)
Pernyataan-1
variabel-pemilih=daftar-
label-2
variabel-
pemilih=daftar-label-n
Pernyataan-n
PernyataanLain
Pernyataan-2
Salah(False)
Salah(False)
Benar(True)
Benar
(True)
.....
Gambar 4. Flowchart Statement CASE
Variabel pemilih tidak boleh bertipe real. Pernyataan yang akan dijalankan sesuai
dengan daftar-label yang memuat nilai variabel pemilih. Jika nilai dari variabel pemilih
tidak ada dalam semua daftar label, maka pernyataan yang akan dijalankan adalah
pernyataan yang mengikuti ELSE. ELSE dalam pernyataan CASE boleh tidak ada.
Sama halnya dengan pernyataan IF, Jika pernyataan yang mengikuti daftar-label lebih
dari satu maka harus diawali oleh Begin dan diakhiri oleh End.
Contoh :
1. Program untuk menentukan apakah suatu Character (huruf) yang kita masukkanadalah huruf vokal atau bukan..PROGRAM HURUF;
USES WINCRT;
VAR DATA:CHAR;
BEGIN
READLN(DATA);
CASE DATA OF
'A','I','U','E','O' :writeln('Huruf Besar Vokal');
-
7/22/2019 Handout Komputasi Pascal Final
15/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 15
'a','i','u','e','o' :writeln('Huruf Kecil Vokal');
ELSE writeln ('Bukan huruf Vokal');
END;
END.
2. Program untuk menentukan apakah suatu Character yang kita masukkan adalahhuruf atau angka..PROGRAM HURUF;
USES WINCRT;
VAR DATA:CHAR;
BEGIN
READLN(DATA);
CASE DATA OF
'A'..'Z' :writeln('Huruf Besar');
'a'..'z' :writeln('Huruf Kecil');
'0'..'9' :writeln ('Angka');
END;END.
SOAL :
1. Tuliskan statement Pascal untuk kasus berikut ini:a. Jika mempunyai anak maka hitung: tunjangan anak = tunjangan*banyaknya anakb. Tampilkan tulisan Genap atau Ganjil sesuai dengan data yang dimasukkan.2. Buat program mencari penyelesaian akar dari persamaan kuadrat :
A X2
+ B X + C = 0Akar persamaan ini dapat memberikan tiga kemungkinan penyelesaian berdasarkan
nilai D = B2 4 A C:
a. D > 0 : Akar berlainanb. D = 0 : Akar kembarc. D < 0 : Akar bilangan kompleksPenyelesaian Akar :
A
DBX
212
=
(Gunakan Statement IF)
3. Buat Program untuk menentukan apakah seorang mahasiswa mendapatgrade A, B, C, D atau E berdasarkan nilai yang didapat. (Gunakan
Statement IF).
4. Buat program untuk menampilkan proses berikut ini:Ditampilkan menu :
1. Soto Rp. 5000,-
2. Bakso Rp. 3000,-
3. Nasi Pecel Rp. 4000,-
Selanjutnya ditanyakan mana yang akan dibeli dan jumlah porsinya.
-
7/22/2019 Handout Komputasi Pascal Final
16/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 16
Setelah itu, hitung harga yang harus dibayar, dengan rumus:
Harga yg hrs dibayar = harga menu yg dipilih * banyaknya porsi
(Gunakan Statement IF).
5. Kerjakan kasus 2,3,4 dengan Statement CASE
-
7/22/2019 Handout Komputasi Pascal Final
17/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 17
BAB IV
PERNYATAAN PERULANGAN
Pernyataan perulangan adalah pernyataan yang akan menjalankan pernyataan yang
mengikutinya secara berulang sampai syarat tertertentu terpenuhi. Ada 3 buah pernyataan
perulangan, yaitu FOR, WHILE dan REPEAT.
A. Statement FOR
Statement FOR adalah suatu perintah yang berfungsi untuk melakukan proses
pengulangan, dimana jumlah pengulangannya sudah diketahui. Bentuk dari statement
FOR adalah:
FOR {Variabel} := {Nilai Awal} TO {Nilai Akhir} DO
BEGIN
{Statement 1}
{Statement 2}
....
{Statement n}
END;
Benar(True)variabel =
nilai akhir
Salah(False)
variabel:=nilai awal
Pernyataan
variabel:=variabel+1
Gambar 5. Flowchart Statement FOR TO DO
-
7/22/2019 Handout Komputasi Pascal Final
18/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 18
FOR {Variabel} := {Nilai Awal} DOWNTO {Nilai Akhir}
DO
BEGIN
{Statement 1}{Statement 2}
....
{Statement n}
END;
Benar(True)variabel =
nilai akhir
Salah(False)
variabel:=nilai awal
Pernyataan
variabel:=variabel -1
Gambar 6. Flowchart Statement FOR DOWNTO DO
Jika Nilai Awal < Nilai Akhir gunakan statement FOR TO DO. Sedangkan jika Nilai
Awal > Nilai Akhir gunakan statement FOR DOWNTO DO.
Contoh :Ingin dibuat program untuk menampilkan deret berikut:
1,3,5,7,.......suku ke-n
PROGRAM DERET;
USES WINCRT;
VAR I, N:INTEGER;
BEGIN
READLN(N);
FOR I:=1 TO N DO
WRITELN(2*I-1);
END.
-
7/22/2019 Handout Komputasi Pascal Final
19/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 19
Contoh :Ingin dibuat program untuk menampilkan huruf M hingga A:
PROGRAM HURUF;
USES WINCRT;
VAR I:CHAR;
BEGIN
FOR I:=M DOWNTO A DO
WRITELN(I);
END.
B. Statement FOR BersarangUntuk menangani masalah tertentu, ada kemungkinan statement FOR yang digunakan
lebih dari satu dan statement FOR yang satu dapat berada didalam statement FOR yang
lain. Bentuk yang seperti ini disebut FOR Bersarang (nested FOR)
Contoh :
Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:
*
**
***
****
PROGRAM TAMPIL;USES WINCRT;
VAR
I,J:INTEGER;
BEGIN
FOR I:=1 TO 4 DO
BEGIN
FOR J:=1 TO I DO
WRITE(*);
WRITELN;
END;
END.
C.Penggunaan Statement FOR Dalam Persamaan yang MengandungSimbol atau
Untuk menangani persamaan matematika/statistika yang mengandung simbol atau ,
perlu bantuan statement pengulangan. Diberikan bentuk persamaan sebagai berikut:
-
7/22/2019 Handout Komputasi Pascal Final
20/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 20
=
+=n
i
i bdatay1
)(
Dari bentuk tersebut diatas, terlihat bahwa ada 3 komponen penting yaitu:
Hasil penjumlahan disimpan di variable Y Yang masuk kedalam sigma adalah (DATAi+B) Variabel penghitung (indeks) adalah I dan berjalan mulai 1 sampai dengan N
Bentuk pengulangan dengan menggunakan FOR, adalah:
READLN(N);
Y:=0;
FOR I:=1 TO N DO
BEGIN
READLN(DATA);
Y:=Y+(DATA+B)
END;
WRITELN(Y)
N diberi harga tertentu
Y diberi harga awal 0 karena bentuk Sigma
Variable penghitung I berjalan mulai 1 hingga N
Mulai pengulangan
Membaca Data
Ybaru= Ylama+{persamaan yang masuk dalanm sigma}
Akhir pengulangan
Cetak nilai Y
Untuk persamaan:
=
+=n
i
i bdatay1
)(
Dari bentuk tersebut diatas, terlihat bahwa ada 3 komponen penting yaitu:
Hasil perkalian disimpan di variable Y Yang masuk kedalam phi adalah (DATAi+B) Variabel penghitung (indeks) adalah I dan berjalan mulai 1 sampai dengan N
Bentuk pengulangan dengan menggunakan FOR, adalah:
READLN(N);
Y:=1;
FOR I:=1 TO N DO
BEGIN
READLN(DATA);
Y:=Y*(DATA+B)
END;
WRITELN(Y)
N diberi harga tertentu
Y diberi harga awal 1 karena bentuk phi
Variable penghitung I berjalan mulai 1 hingga N
Mulai pengulangan
Membaca Data
Ybaru= Ylama*{persamaan yang masuk dalam sigma}
Akhir pengulangan
Cetak nilai Y
D.Statement WHILEStatement WHILE adalah suatu perintah yang berfungsi untuk melakukan proses
pengulangan, dimana pengulangan akan terus dilakukan jika kondisi tertentu dipenuhi.
Jika banyaknya pengulangan diketahui tapi kenaikan atau penurunan pengulangan
tidak sebesar satu, statement IF tidak cocok untuk digunakan. Sebagai alternatif dapat
digunakan statement WHILE atau REPEAT. Sedangkan jika banyaknya pengulangan
-
7/22/2019 Handout Komputasi Pascal Final
21/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 21
tidak diketahui maka statement IF tidak dapat digunakan, sehingga harus digunakan
statement WHILE atau REPEAT. Bentuk dari statement WHILE adalah:
WHILE {Kondisi} DO
BEGIN
{Statement 1}{Statement 2}
....
{Statement n}
END;
Benar(True)
Kondisi
Salah
(False)
Pernyataan
AkhirWHILE
Gambar 6. Flowchart Statement WHILE
Contoh :Ingin dibuat program untuk menampilkan deret berikut:
1,3,5,7,.......suku ke-n
PROGRAM DERET;
USES WINCRT;
VAR
N,I : INTEGER;
BEGIN
READLN(N);
I:=1;
WHILE I
-
7/22/2019 Handout Komputasi Pascal Final
22/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 22
E. Statement WHILE untuk Jumlah Pengulangan Yang Diketahui
Statement WHILE dapat digunakan untuk pengulangan dengan jumlah pengulangan yang
diketahui. Selain untuk pengulangan dengan kenaikan dan penurunan sebesar 1, statement
WHILE dapat digunakan juga pada pengulangan dengan kenaikan dan penurunan tidak
sebesar 1.
Contoh:Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan perintah:
For i:=1 to 20 do writeln(i)
Program Ulang;
Uses Wincrt;
Var
i:integer;
BeginI:=1; {nilai awal}
While i
-
7/22/2019 Handout Komputasi Pascal Final
23/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 23
Contoh:Program untuk menampilkan bilangan real dari 1 sampai 10 dengan kenaikan sebesar 0.5.
Program Ulang;
Uses Wincrt;
Vari:real;
Begin
I:=1; {nilai awal}
While i
-
7/22/2019 Handout Komputasi Pascal Final
24/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 24
Contoh :Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:
*
*****
****
PROGRAM TAMPIL;
USES WINCRT;
VAR
I,J:INTEGER;
BEGIN
I:=1;
WHILE I
-
7/22/2019 Handout Komputasi Pascal Final
25/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 25
Repeat
Benar(True)
Kondisi
Salah
(False)
Pernyataan
Akhir
Repeat
Gambar 6. Flowchart Statement REPEAT
Contoh :Ingin dibuat program untuk menampilkan deret berikut: 1,3,5,7,.......suku ke-n
PROGRAM DERET;
USES WINCRT;
VAR
N,I:INTEGER;
BEGINREADLN(N);
I:=1;
REPEAT
WRITELN(2*I-1);
I:=I+1;
UNTIL I > N;
END.
I. Statement REPEAT untuk Jumlah Pengulangan Yang Diketahui
Statement REPEAT dapat digunakan untuk pengulangan dengan jumlah pengulangan yang
diketahui dan nilai kenaikan atau penurunan sebesar nilai tertentu (sebesar 1 atau tidaksebesar 1).
Contoh:Program untuk pengulangan dengan kenaikan sebesar 1 atau menggantikan
perintah:
For i:=1 to 20 do writeln(i)
-
7/22/2019 Handout Komputasi Pascal Final
26/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 26
Program Ulang;
Uses Wincrt;
Var
i:integer;
Begin
i:=1; {nilai awal}
Repeat
Writeln(i);
i:=i+1; {menaikkan nilai i}
Until i > 20;
End.
J. Statement REPEAT untuk Jumlah Pengulangan Yang TidakDiketahui
Jika dalam proses pengulangan tidak diketahui banyaknya pengulangan, maka dapat
digunakan statement WHILE atau REPEAT.
Contoh:Program untuk menampilkan karakter yang dimasukkan lewat keyboard secara
berulang-ulang hingga karakter * dimasukkan.
Program Ulang;
Uses Wincrt;Var
x:char;
Begin
Repeat
Writel(Masukkan bilangan: );
Readln (x);
Until x = *;
End.
K. Statement REPEAT Bersarang (Nested REPEAT)
Sama halnya dengan statement FOR dan WHILE, ada kemungkinan statement REPEAT
yang digunakan lebih dari satu dan statement REPEAT yang satu dapat berada didalam
statement REPEAT yang lain.
-
7/22/2019 Handout Komputasi Pascal Final
27/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 27
Contoh :Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:
*
**
*******
PROGRAM TAMPIL;
USES WINCRT;
VAR
I,J:INTEGER;
BEGIN
I:=1;
REPEAT
J:=1;
REPEAT
WRITE(*);J:=J+1;
UNTIL J > I ;
WRITELN;
I:=I+1;
UNTIL I > 4;
END.
SOAL
1.
Apa hasil dari cuplikan program dibawah ini:a. N:=10;
I:=1;
K:=0;
REPEAT
K:=K+I;
WRITELN(K);
I:=I+1;
UNTIL I > N;
b. FOR J:=1 TO 5
FOR K:=1 TO 5
WRITELN(J*2, ,K*3);
2. Buat program untuk menampilkan deret (sampai suku ke-n) : 1 3 9 27 ......3. Buat program yang pada awalnya meminta data lebar dan tinggi, lalu buat
gambar persegipanjang berdasarkan data lebar dan tinggi. Misalkan lebar=10
dan tinggi=4, maka gambar yang dihasilkan adalah:
**********
**********
**********
**********
-
7/22/2019 Handout Komputasi Pascal Final
28/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 28
4. Buat tampilan berikut ini:a. 111
222
333
444
b. 122
333
4444
c. 112
123
1234
d. 121
321
4321
5. Buat program untuk menghitung:a. abb. n!c. menghitung rata-rata
Catatan : Untuk soal no 2, 3, 4 dan 5 masing-masing dikerjakan dengan
menggunakan statement FOR, WHILE dan REPEAT.
-
7/22/2019 Handout Komputasi Pascal Final
29/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 29
BAGIAN V
ARRAY
A. Array
Array (larik) menyatakan tipe data terstruktur yang berupa kumpulan elemen-elemen
dengan tipe data yang sama. Tipe Array dapat ditulis sebagai berikut:
Array [Indeks_1,,Indeks_n] of Tipe_Dasar
Array Dimensi SatuArray berdimensi satu merupakan array dengan ciri memiliki tipe indeks hanya satu buah.
Contoh deklarasi variabel dengan tipe array berdimensi satu:
VAR X : ARRAY[1..10] of Integer;
Untuk menyimpan suatu nilai kedalam lokasi array, dapat dilakukan dengan instruksi :
D[i]:=nilai;
atau dimana i adalah indeks array
READLN(D[i]);
Sedangkan untuk menampilkan nilai yang ada di salah satu elemen array dapat dengan
cara:
WRITELN(D[i]); dimana i adalah indeks elemen array
Array Dimensi DuaArray berdimensi dua merupakan array dengan ciri memiliki tipe indeks dua buah. Contoh
deklarasi variabel dengan tipe array berdimensi dua:
VAR Y : ARRAY[1..5,1..10] of Integer;
Untuk menyimpan suatu nilai kedalam lokasi array, dapat dilakukan dengan instruksi :
D[i,j]:=nilai;
atau dimana i,j adalah indeks array
READLN(D[i,j]);
Sedangkan untuk menampilkan nilai yang ada di salah satu elemen array dapat dengan
cara:
WRITELN(D[i,j]); dimana i,j adalah indeks elemen array
-
7/22/2019 Handout Komputasi Pascal Final
30/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 30
Contoh :1. Menghitung rata-rata dari n buah data
PROGRAM RATA2;
USES WINCRT;
VARI,N :INTEGER;
RATA:REAL;
DATA:ARRAY [1..50] OF REAL;
BEGIN
READLN(N);
FOR I:=1 TO N DO
BEGIN
READLN(DATA[I]);
END;
RATA:=0;
FOR I:=1 TO N DOBEGIN
RATA:=RATA+DATA[I];
END;
WRITELN(RATA=,RATA/N);
END.
2. Menentukan matriks transpose.PROGRAM KEBALIKAN;
USES WINCRT;
VAR
BARIS,KOLOM,I,J:INTEGER;
A,B:ARRAY [1..20,1..20] OF REAL;
BEGIN
READLN(BARIS);
READLN(KOLOM);
{baca data matriks A}
FOR I :=1 TO BARIS DO
BEGIN
FOR J:=1 TO KOLOM DO
BEGINREADLN(A[I,J]);
END;
END;
{B=A}
FOR I :=1 TO KOLOM DO
BEGIN
FOR J:=1 TO BARIS DO
-
7/22/2019 Handout Komputasi Pascal Final
31/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 31
BEGIN
B[I,J]:=A[J,I];
END;
END;
{mencetak Matriks B}FOR I :=1 TO KOLOM DO
BEGIN
FOR J:=1 TO BARIS DO
BEGIN
WRITE(B[I,J]:0:2, );
END;
WRITELN;
END;
END.
SOAL:
1. Buat program untuk menghitung varians dari n buah data2. Buat program untuk mengurutkan n buah data3. Buat program menampilkan bil prima kurang dari 100 (yaitu 2, 3, 5, 7, .... 997)4. Buat program untuk mengalikan dua buah vektor (vektor baris maupun vektor
kolom).
5. Buat program untuk membuat matriks transpose.
-
7/22/2019 Handout Komputasi Pascal Final
32/33
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 32
BAGIAN VI
FILE TEKS
A. File Teks
Dengan bekerja pada file, data atau program yang dibuat tidak akan hilang. Salah satu tipe
file dalam Pascal adalah File Teks. File teks mempunyai ciri yaitu karakter yang
menyebabkan baris baru. Oleh karena itulah elemen pada file teks adalah baris. Tanda
akhir baris pada file teks adalah carriage return(CR) dan line feed(LF).
B. Deklarasi File Teks
Contoh cara mendeklarasikan file teks dalam Pascal adalah sebagai berikut:
VarFilevar : text; {Filevar adalah variabel teks file}
C. Statement dalam File Teks
1. Assign(filevar,filename);Digunakanuntuk mengawali semua operasi yang melibatkan File. Filevar adalah
variabel teks file yang sudah dideklarasikan. Sedangkanfilename adalah nama file
yang bertipe string.
2. Rewrite(filevar)Digunakan untuk membuka dan menciptakan file baru pada disk.
3. Reset(filevar)Digunakan untuk membuka file yang sudah ada di disk.
4. Write(filevar, x)Digunakan untuk menyimpan data yang ada pada variabel x kedalam file dan penunjuk
file akan bergeser ke arah sesudah data.
5. Writeln(filevar, x)Digunakan untuk menyimpan data yang ada pada variabel x kedalam file dan penunjuk
file akan bergeser ke baris berikutnya.
6. Read(filevar, x)Digunakan untuk membaca sebuah data yang ada pada file dan disimpan dalam
variabel x setelah itu penunjuk file akan bergeser ke arah sesudah data.
7. Readln(filevar, data)Digunakan untuk membaca sebuah data yang ada pada file dan disimpan dalam
variabel x setelah itu penunjuk file akan bergeser ke baris berikutnya.
-
7/22/2019 Handout Komputasi Pascal Final
33/33
Komputasi________________________________________________________________
8. Close(filevar)Untuk menutup file yang sedang aktif.
Contoh :
Ingin dibuat program untuk menyimpan data beripa bilangan 1 sampai 10 kedalamfile.
PROGRAM TAMPIL;
USES WINCRT;
VAR
F:TEXT;
I:INTEGER;
BEGIN
Assign(f,c:\hasil.txt);
Rewrite(f);
For i:=1 to 10 do
Writeln(f,i);Close(f);
END.
SOAL:
1. Buat program untuk menyimpan n buah data yang dimasukkan lewat keyboard.2. Baca data yang sudah disimpan pada soal no 1) lalu hitung nilai rata-rata dan
varians nya
3. Buat program untuk mengurutkan n buah data yang disimpan pada soal no 1) danhasil urutannya disimpan pada file lain.