Pengantar Program Pascal



BAB I
PENGANTAR PASCAL
A. Program Turbo Pascal
Pascal 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 Bar
Adalah 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 memberikan
perintah pada komputer
Editor
Berfungsi untuk menulis dan menyunting program.
Menu Bar
Editor
Toolbar
B. Struktur Bahasa Pascal
Program dalam bahasa pascal, ditulis dengan struktur sebagai berikut:
Program ()
_ Kepala Program
USES

LABEL

CONST

TYPE

VAR


_ Bagian Deklarasi
BEGIN

END.
_ Bagian Pernyataan
Kepala Program
Dalam Pascal, posisi kepala program adalah diawal program. Sintak dari kepala
program adalah:
Program ()
Penulisan Nama boleh sembarang, tapi harus dimulai dengan huruf dan bukan Reserve
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:
Program Hitung_Luas;
Program Soal_1;
Program Segitiga (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
harus ada semua Sebuah program bisa saja hanya mengandung deklarasi variabel.
Berikut ini adalah bentuk masing-masing deklarasi.
No Jenis deklarasi Bentuk Deklarasi
1 Unit USES
, ,...,;
Contoh:
USES
Wincrt, unit1,unit2;
2 Label LABEL
, ,...,;
Contoh:
LABEL
50, Penutup, Selesai;
3 Konstanta CONST
= ;
.
.
.
= ;
Contoh:
CONST
MaksData=100;
Konversi=25;
4 Tipe TYPE
= ;
.
.
.
= ;
Contoh:
TYPE
Tanggal=1..31;
5 Variabel VAR
= ;
.
.
.
= ;
Contoh:
VAR
Nilai : Real;
Jumlah : Integer;
Tgl:Tanggal;
6 Fungsi dan Prosedur Function ():;
atau
Procedure ();
Contoh:
Function Pangkat(a,b:integer):integer;
Procedure Tukar (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 (;). Pernyataanpernyataan
yang disusun mengikuti algoritma tertentu diletakkan pada bagian ini.
Komputasi________________________________________________________________
D3 Statististika ITS____________________________________________________Hal 4
C. Tipe Data dalam Pascal
Ada beberapa macam tipe data dalam Pascal, diantaranya adalah :
1. Integer, adalah susunan angka yang tidak mengandung koma. Disebut juga
bilangan 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 ASCII
6. String, merupakan tipe yang terdiri dari sejumlah karakter.
D. Operator dan Operand
Berikut 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, Real
Integer, Integer
Real,Integer
Real
Real
Real
A/B
+ Pertambahan Real, Real
Integer, Integer
Real,Integer
Real
Integer
Real
A+B
- Pengurangan Real, Real
Integer, Integer
Real,Integer
Real
Integer
Real
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 Integer
Real
Integer
Real
-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 atau
sama dengan
Boolean, Boolean Boolean A >= B
<= Lebih kecil atau sama dengan Boolean, Boolean Boolean A <= B 5 String + Menggabung dua buah nilai string String,String Char,Char String String A+B Operator dalam Pascal mempunyai hirarki. Tabel berikut ini menunjukkan prioritas atau hirarki pengerjaan operator dalam Pascal. Kelompok Operator Prioritas NOT 1 * / DIV MOD AND 2 + - OR 3 = <> <= >= 4
Contoh :
Berikut ini adalah contoh program Pascal sederhana
Program tambah; Kepala Program
Uses wincrt;
Var Bagian Deklarasi
A,B,C:integer;
Begin
A:=70;
B:=100; Bagian Pernyataan
C:=A+B;
Writeln(C);
End.
SOAL
1. Sebutkan jenis konstanta berikut ini: (real, integer, char, boolean atau string)
a. 87.767
b. 100
c. ’0’
d. False
e. ’Test’
f. ’5.5’
g. ’True’
h. 1.5E+8
i. 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.
D E
B C
A

+
=
c. F
D
B C
A
+
=
e.
E
B AC
D
2.
4. . 2 −
=
b. F
D E
B
A = −
.
d.
H I
F G
D E
B
A
+
+
= −
.
f. J
I
H
F G
D E
A B C − +
+

= ( + )
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 WRITELN
Bentuk pernyataan WRITE dan WRITELN:
WRITE ();
Atau
WRITELN ();
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 variabel
Bentuk 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’);
• WRITE atau WRITELN dapat menerima argumen lebih dari satu. Jika argumen lebih
dari 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 baris
kosong;
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 WRITELN
Untuk 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
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 READLN
Bentuk pernyataan READ READLN:
READ () ;
Atau
READLN () ;
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. Kelebihan
data 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);
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 ketiga
buah data
Input : Tiga buah Data X1, X2 dan X3
Proses: mencari nilai maksimum
Output: nilai maksimum dari tiga buah
data tersebut.
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 IF
Bentuk pernyataan IF:
IF THEN ;
Syarat
Logika
Pernyataan
Benar
(True)
Salah
(False)
Gambar 1. Flowchart Statement IF THEN
IF THEN
ELSE ;
Syarat
Logika
Benar
(True)
Salah
(False)
Pernyataan-1
Pernyataan-2
Gambar 2. Flowchart Statement IF THEN ELSE
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 ;
Syarat
Logika-1
Benar
(True)
Salah
(False)
Pernyataan-1
Syarat
Logika-2
Syarat
Logika-3
Pernyataan-2 Pernyataan-3 Pernyataan-4
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.000_Total<500.000 20.000 50.000_Total<250.000 10.000 Total < 50.000 0 Program bonus; Uses wincrt; Var Total :real; Begin Readln(Total); If Total >= 500000 Then writeln(’Bonus = 30.000’)
Else If Total >= 250000 Then writeln(’Bonus = 20.000’)
Else If Total >= 50000 Then writeln(’Bonus = 10.000’)
Else writeln(’Tidak Ada Bonus’)
End.
C. Pernyataan CASE
Bentuk pernyataan CASE:
CASE OF
: ;
: ;
.
.
: ;
ELSE ;
END;
variabelpemilih=
daftarlabel-
1
Benar
(True)
Salah
(False)
Pernyataan-1
variabelpemilih=
daftarlabel-
2
variabelpemilih=
daftarlabel-
n
Pernyataan-n
Pernyataan
Lain
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 masukkan
adalah 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');
'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 adalah
huruf 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 anak
b. Tampilkan tulisan ’Genap’ atau ’Ganjil’ sesuai dengan data yang dimasukkan.
2. Buat program mencari penyelesaian akar dari persamaan kuadrat :
A X2 + B X + C = 0
Akar persamaan ini dapat memberikan tiga kemungkinan penyelesaian berdasarkan
nilai D = B2 – 4 A C:
a. D > 0 : Akar berlainan
b. D = 0 : Akar kembar
c. D < 0 : Akar bilangan kompleks Penyelesaian Akar : A B D X 2 12 − ± = (Gunakan Statement IF) 3. Buat Program untuk menentukan apakah seorang mahasiswa mendapat grade ’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. 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 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 variabel = (True) nilai akhir Salah (False) variabel:=nilai awal Pernyataan variabel:=variabel+1 Gambar 5. Flowchart Statement FOR TO DO FOR {Variabel} := {Nilai Awal} DOWNTO {Nilai Akhir} DO BEGIN {Statement 1} {Statement 2} .... {Statement n} END; Benar variabel = (True) 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.
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 Bersarang
Untuk 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 Mengandung
Simbol _ atau _
Untuk menangani persamaan matematika/statistika yang mengandung simbol _ atau _,
perlu bantuan statement pengulangan. Diberikan bentuk persamaan sebagai berikut:
_
=
= +
n
i
i y data b
1
( )
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 y data b
1
( )
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 WHILE
Statement 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
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
Akhir
WHILE
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 <= N DO BEGIN WRITELN(2*I-1); I:=I+1; END; END. 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; Begin I:=1; {nilai awal} While i<= 20 do Begin Writeln(i); i:=i+1; {menaikkan nilai i} End; End. Yang Diingat ! • Ada nilai awal terhadap variabel penghitung, yaitu: i:=1 • Ada pertambahan nilai terhadap variabel penghitung, yaitu: i:=i+1 • Ada kondisi yang menyebabkan pengulangan berhenti, yaitu: While i<= 20 do Contoh: Program untuk pengulangan dengan penurunan sebesar 1 atau menggantikan perintah: For i:=20 downto 1 do writeln(i) Program Ulang; Uses Wincrt; Var i:integer; Begin I:=20; {nilai awal} While i>0 do
Begin
Writeln(i);
i:=i-1; {menurunkan nilai i}
End;
End.
Contoh:
Program untuk menampilkan bilangan real dari 1 sampai 10 dengan kenaikan sebesar 0.5.
Program Ulang;
Uses Wincrt;
Var
i:real;
Begin
I:=1; {nilai awal}
While i<= 10 do Begin Writeln(i:5:2); i:=i+0.5; {menaikkan nilai i} End; End. F. Statement WHILE untuk Jumlah Pengulangan Yang Tidak Diketahui Dalam proses pengulangan selalu ada kondisi yang mengkontrol pengulangan tersebut untuk berhenti. Kontrol pengulangan tidak selalu melibatkan variabel penghitung. Contoh: Program untuk menampilkan karakter yang dimasukkan lewat keyboard secara berulangulang hingga karakter ’*’ dimasukkan. Program Ulang; Uses Wincrt; Var x:char; Begin x:=’a’; While x <> ’*’ do
Begin
Writeln(’Masukkan bilangan: ’);
Readln (x);
End;
End.
G. Statement WHILE Bersarang (Nested WHILE)
Sama halnya dengan statement FOR, untuk menangani masalah tertentu, ada kemungkinan
statement WHILE yang digunakan lebih dari satu dan statement WHILE yang satu dapat
berada didalam statement WHILE yang lain.
Contoh :
Ingin dibuat program untuk menampilkan bentuk seperti berikut ini:
*
**
***
****
PROGRAM TAMPIL;
USES WINCRT;
VAR
I,J:INTEGER;
BEGIN
I:=1;
WHILE I <= 4 DO BEGIN J:=1; WHILE J <=I DO BEGIN WRITE(‘*’); J:=J+1; END; WRITELN; I:=I+1; END; END. H. Statement REPEAT Statement REPEAT adalah suatu perintah yang berfungsi untuk melakukan proses pengulangan, dimana pengulangan akan berhenti jika kondisi yang tertulis di akhir pengulangan dipenuhi. Sintak dari statement REPEAT adalah: REPEAT {Statement 1} {Statement 2} .... {Statement n} UNTIL {Kondisi}; 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; BEGIN READLN(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 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;
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 Tidak
Diketahui
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.
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:
**********
**********
**********
**********
4. Buat tampilan berikut ini:
a. 111
222
333
444
b. 1
22
333
4444
c. 1
12
123
1234
d. 1
21
321
4321
5. Buat program untuk menghitung:
a. ab
b. n!
c. menghitung rata-rata
Catatan : Untuk soal no 2, 3, 4 dan 5 masing-masing dikerjakan dengan
menggunakan statement FOR, WHILE dan REPEAT.
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 Satu
Array 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 Dua
Array 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
Contoh :
1. Menghitung rata-rata dari n buah data
PROGRAM RATA2;
USES WINCRT;
VAR
I,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 DO
BEGIN
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
BEGIN
READLN(A[I,J]);
END;
END;
{B=A’}
FOR I :=1 TO KOLOM DO
BEGIN
FOR J:=1 TO BARIS DO
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 data
2. Buat program untuk mengurutkan n buah data
3. 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.
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:
Var
Filevar : 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. Sedangkan filename 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.
8. Close(filevar)
Untuk menutup file yang sedang aktif.
Contoh :
Ingin dibuat program untuk menyimpan data beripa bilangan 1 sampai 10 kedalam
file.
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) dan
hasil urutannya disimpan pada file lain.

2 comments:

Unknown mengatakan...

blognya keren, yg punya juga cantik

emanuel atok mengatakan...

krennn

Posting Komentar

Hamster Unyu

My Pet Blondy

Labels




Blog Translate

English French German Spain Italian Dutch

Russian Portuguese Japanese Korean Arabic Chinese Simplified

Please Click In Here

Get cash from your website. Sign up as affiliate.
Free Birthday Cake Pink Cursors at www.totallyfreecursors.com