Pascal merupakan bahasa pemrograman yang dikembangkan oleh Niklaus Wirth pada tahun 1971 sebagai pengembangan dari bahasa ALGOL 60. Pascal bersifat data oriented dan sering digunakan untuk pengajaran konsep pemrograman. Dokumen ini menjelaskan sejarah, struktur, contoh program sederhana, tipe data, operator, dan deklarasi variabel dan konstanta dalam bahasa pemrograman Pascal.
1. Pengenalan Pascal
Sejarah Pascal
Pascal merupakan pengembangan dari bahasa ALGOL 60, bahasa pemrograman untuk
sains komputasi. Tahun 1960, beberapa ahli komputer bekerja untuk mengembangkan
bahasa ALGOL, salah satunya adalah Dr. Niklaus Wirth dari Swiss Federal Institute of
Technology (ETH-Zurich), yang merupakan anggota grup yang membuat ALGOL.
Tahun 1971, dia menerbitkan suatu spesifikasi untuk highly-structured language (bahasa
tinggi yang terstruktur) yang menyerupai ALGOL. Dia menamainya dengan PASCAL
(dari nama Blaise Pascal, ahli matematika&philosophi terkenal abad 17 dari Perancis).
Pascal bersifat data oriented, yaitu programmer diberi keleluasaan untuk mendefinisikan
data sendiri. Pascal juga merupakan teaching language (banyak dipakai untuk pengajaran
tentang konsep pemrograman). Kelebihan yang lain adalah penulisan kode Pascal yang
luwes, tidak seperti misalnya FORTRAN, yang memerlukan programmer untuk menulis
kode dengan format tertentu.
Struktur Pascal
1. Bagian Judul Program
2. Blok Program
a. Bagian Deklarasi
- Deklarasi tipe data (TYPE)
- Deklarasi variabel (VAR)
- Deklarasi konstanta (CONST)
- Deklarasi label (LABEL)
- Deklarasi sub-program (PROCEDURE dan FUNCTION)
b. Bagian Program Utama Perintah-perintah atau Pernyataan
Struktur Program Pascal Paling Sederhana
begin
statement-statement;
end.
Contoh Program Sederhana
begin
writeln('Saya sedang belajar Pascal');
writeln('--------------------------');
readln
end.
Perintah Input Output pada Pascal
1. Assignment
Komputer bisa mengolah dan menampilkan sesuatu yang ada di dalam memori.
Merupakan cara tersederhana untuk "menempatkan" (assign) data ke memori.
2. Perintah Input (read atau readln)
Perintah digunakan untuk membaca data dari default input - keyboard.
Readln=memeasukkan data perbaris, artinya setelah kita menekan tombol Enter, maka
akan ganti baris.
Read=tidak ganti baris, masih dalam baris yang sama.
3. Perintah Output (write atau writeln )
1
2. 2
Perintah digunakan untuk menyajikan data ke default output - key-board.
Contoh: write('TES'); Perintah ini akan menampilkan teks string TES ke layar monitor
pada posisi kursor sebelum perintah write dilaksanakan. Setelah menyajikan ke layar,
kursor pindah ke ujung teks TES pada baris yang sama. writeln('TES'); Perintah ini akan
menampilkan teks TES ke layar monitor pada posisi kursor sebelum perintah write
dilaksanakan. Setelah menyajikan ke layar, kursor pindah ke awal baris berikutnya.
Unsur-unsur Pemrograman
a. Mendapatkan data dengan membaca data dari default input (key board, file atau
sumber data lainnya).
b. Menyimpan data ke dalam memori dengan struktur data yang sesuai,
c. Memproses data dengan instruksi yang tepat.
d. Menyajikan atau mengirimkan hasil olahan data ke default output (monitor, file
atau tujuan lainnya).
Nama yang dipergunakan di dalam program Pascal disebut dengan pengenal atau
Identifier. Identifier digunakan untuk nama: Program, Sub-program (procedure dan
function), nama: Variable, Constant, Type, Label.
Nama-nama ini digunakan untuk pemakaian dan pemanggilan dalam program. Ketentuan
penulisan identifier
a. Nama identifier harus dimulai dengan karakter huruf alfabet: a sampai z, A
sampai Z atau karakter '_' (underscore - garis bawah)
b. Karakter berikutnya boleh karakter numerik (0 .. 9) atau kombinasi alphanumerik
(huruf-numerik).
c. Panjang nama, pada berbagai versi Pascal umumnya antara 32- 63
d. Tidak boleh menggunakan karakter istimewa: + - * / | = < > [ ] . , ; : ( ) ^ @ { } $
# ~ ! % & ` " ' dan ? Contoh penulisan:
Penulisan yang benar: NamaMahasiswa, Gaji_Karyawan, PX4, dll.
Penulisan yang salah: 3X, A & B, C Z dll.
Variable adalah identifier yang berisi data yang dapat berubah-ubah nilainya di
dalam program. Deklarasi Variable adalah :
a. Memberikan nama variabel sebagai identitas pengenal
b. Menentukan tipe data variabel
Contoh deklarasi variabel:
var X : integer;
R : real;
C : char;
T : boolean;
Konstanta adalah identifier yang berisi data yang nilainya tidak berubah di dalam
program. Deklarasi Konstanta adalah:
a. Memberikan nama konstanta sebagai identitas pengenal
b. Menentukan nilai konstanta
Contoh deklarasi konstanta:
conts MaxSize = 100; {integer}
ExitC = 'Q'; {char}
Reserved Words atau kata-kata cadangan pada Pascal adalah kata-kata yang sudah
didefinisikan oleh Pascal yang mempunyai maksdu tertentu.
Suatu Unit adalah kumpulan dari konstanta, tipe-tipe data, variabel, prosedur dan fungsi-fungsi.
Unit standar pada Pascal yang bisa langsung digunakan adalah System, Crt,
Printer Dos dan Graph. Untuk menggunakan suatu unit, maka kita harus meletakkan
clausa atau anak kalimat Uses di awal blok program, diikuti oleh daftar nama unit yang
3. digunakan. Pada materi ini yang akan dibahas adalah unit Crt. Unit ini digunakan untuk
memanipulasi layar teks (windowing, peletakan cursor di layar, Color pada teks, kode
extended keyboard dan lain sebagainya.
Tipe Data dan Operator
Tipe Data menunjukkan suatu nilai yang dpat digunakan oleh sutu variable yang
bersangkutan.
Tipe Data dalam Pascal :
1. Tipe Data Sederhana, terdiri dari :
a. Tipe data standar :
- integer : merupakan tipe data berupa bilangan bulat
- real : merupakan jenis bilangan pecahan
- char : merupakan karakter yg ditulis diantara tanda petik tunggal. Ex : 'A', 'a', '5'
dll
- string : merupakan urut-urutan dari karakter yang terletak di antara tanda petik
tunggal.
- boolean : merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE
atau FALSE .
b. Tipe data didefinisikan pemakai
2. Tipe Data Terstruktur, terdiri dari :
a. Array
b. Record
c. File
d. Set
Operator
Tanda operasi (operator) di dalam bahasa Pascal di kelompokkan dalam :
1. Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti
oleh tanda sama dengan (:=). Contoh --> A:=B;
2. Binary operator digunakan untuk mengoperasikan dua buah operand yang berbentuk
konstanta ataupun variable. Operator ini digunakan untuk operasi arithmatika yang
berhubungan dgn nilai tipe data Integer dan Real. Operasi yang dilakukan adalah :
Pertambahan (+), Pengurangan (-), Perkalian (*), Pembagian Bulat (DIV), Pembagian
Real (/) dan Modulus atau Sisa Pembagian (MOD)
3. Unary operator, operator ini menggunakan sebuah operand saja dapat berupa unary
minus dan unary plus. Contoh : +2.5, a+(+b) dll
4. Bitwise operator digunakan untuk operasi bit per bit pada nilai integer.
Operator yang digunakan (NOT, AND, OR, XOR, Shl, Sh
Deklarasi Variable:
Mendeklarasikan varibel adalah:
a. Memberikan nama variabel sebagai identitas pengenal
b. Menentukan tipe data variabel
3
4. Contoh deklarasi variabel:
var K : integer;
R : real;
C : char;
T : boolean;
Beberapa identifier yang sejenis bisa dideklarasikan bersamaan.
var i, j, k : integer;{Variabel i, j dan k sebagai integer}
namaMHS, alamatMHS : char; {Nama dan alamat mahasiswa }
Deklarasi Konstanta:
Mendeklarasikan konstanta adalah:
a. Memberikan nama konstanta sebagai identitas pengenal
b. Menentukan nilai konstanta
Contoh deklarasi konstanta:
const MaximumSize = 100; {integer }
ExitCommand = 'Q'; {char }
Tipe data yang disediakan oleh PASCAL meliputi:
1. Tipe Data Sederhana
merupakan tipe data dasar yang sering dipakai oleh program, meliputi: integer (bilangan
bulat), real (bilangan pecahan), char (alphanumerik dan tanda baca), dan boolean
(logika). Untuk data integer dan real masing-masing terbagi menjadi beberapa kategori
a. Bilangan Integer
merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti terlihat
dalam tabel 1. tabel 1 menunjukkan jenis data, ukuran dalam memori dan rentang
nilainya.
tabel 1. Tipe Data Bilangan Integer
Tipe Data Ukuran Tempat Rentang Nilai
Byte 1 byte 0 s/d +255
Shortint 1 byte -28 s/d +127
integer 2 bytes -32768 s/d 32767
Word 2 bytes 0 s/d 65535
Longint 4 bytes 2147483648 s/d 2147483647
4
Contoh bilangan integer adalah: 34 6458 -90 0 1112 Penggolongan tipe data integer
tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan misalkan untuk
suatu perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya 32767
kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte), daripada sebagai
longint(4 byte). Di dalam kompilernya, Pascal menyediakan konstanta untuk bilangan
Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa menggunakannya di dalam
programnya tanpa harus terlebih dahulu mendefinisikannya.
-MaxInt bernilai 32.767
-MaxLongint bernilai 2.147.483.647.
contoh:
5. Program display_maxint;
uses wincrt;
begin writeln (maxint)
end.
Hasilnya: 32.767
b. Bilangan Real
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa
atau model scientific . Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E
merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan
4.5213e2. Penggolongan tipe data bilangan real dapat dilihat pada tabel 2.
tabel 2. Bilangan Real
Tipe Data Ukuran
Tempat Rentang Nilai
real 6 bytes 2.9 x 10-39 s/d 1.7 x1038
single 4 bytes 1.5 x 1045 s/d 3.4 x 1038
double 8 bytes 5.0 x 10-324 s/d 1.7 x 10308
extended 10 bytes 3.4 x 10-4932 s/d 1.1 x 104932
comp 8 bytes -9.2x 1018 s/d 9.2x 1018
c. Char
tipe data ini menyimpan karakter yang diketikkan dari keyboard, memiliki 266 macam
yang terdapat dalam tabel ASCII (American Standard Code for Information Interchange).
Contoh: 'a' 'B' '+', dsb. Yang perlu diingat bahwa dalam menuliskannya harus dengan
memakai tanda kutip tunggal. Jenis data ini memerlukan alokasi memori sebesar 1(satu)
byte untuk masing-masing data.
d. Tipe Data Boolean
merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau
FALSE (salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu: Boolean,
WordBool, dan LongBool. Tipe boolean memakai memori paling kecil, sedangkan
WordBool dan LongBool dipakai untuk menulis program yang sesuai dengan lingkungan
Windows.
Tabel 2. Tipe Data Boolean
Tipe Data Ukuran Tempat
Boolean 1 byte
WordBool 2 byte
Longbool 3 byte
Sebagai bilangan ordinal boolean true mempunyai nilai 1(satu), sedangkan false nilainya
adalah 0(nol).
Operator
Beberapa operator yang disediakan oleh PASCAL:
1. Aritmatika
2. Boolean
3. Relasional
4. Set
5
6. Tabel 2. Operator Aritmatika PASCAL
Operator Operasi Tipe Operand Tipe Hasil Operasi
+ Penjumlahan Integer, real Integer, real
- Pengurangan Integer, real Integer, real
* Perkalian Integer, real Integer, real
/ Pembagian Integer, real Integer, real
div Pembagian integer, integer integer
mod Sisa pembagian integer, integer integer
Contoh :
9 + 2 (hasil: 11)
9 - 2 (hasil: 7)
9 * 2 (hasil: 18) 9 / 2 (hasil: 4.5)
9 div 2 (hasil: 4)
9 mod 2 (hasil: 1)
Tabel 3. Operator Boolean PASCAL
Operator Operasi Tipe Operand Tipe Hasil Operasi
not negasi boolean boolean
and logika ‘and’ boolean boolean
or logika ‘or’ boolean boolean
xor logika ‘xor’ boolean boolean
Contoh: A dan B suatu variabel boolean
A not (A)
TRUE FALSE
FALSE TRUE
A B A and B A or B A xor B
TRUE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE TRUE TRUE
FALSE TRUE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE FALSE
Tabel 3. Operator Relasional
Operator Operasi Tipe Operand Tipe Hasil Operasi
= Sama dengan tipe sederhana, string, pointer dan set boolean
<> Tidak sama dengan tipe sederhana, string, pointer dan set boolean
6
7. < Lebih kecil dari tipe sederhana, string boolean
> Lebih besar dari tipe sederhana, string boolean
<= Lebih kecil atau = tipe sederhana, string boolean
>= Lebih besar atau = tipe sederhana, string boolean
Contoh: Misal suatu variable A:=9 dan B:=2,
maka: A = B (hasil: FALSE);
A <= B (hasil: FALSE) A <> B (hasil: TRUE);
A >= B (hasil: TRUE)
A < B (hasil: FALSE)
A > B (hasil: TRUE)
4. Operasi pada Set
a. Operasi Relasional pada Set
Ada empat perbandingan relasional yang diperkenankan pada set.
Tabel 4. Operator Relasional pada set
Operator Operasi Tipe Operand Tipe Hasil Operasi
= Sama dengan Set, set boolean
<> Tidak sama dengan Set, set boolean
<= Lebih kecil atau = Set, set boolean
>= Lebih besar atau = Set, set boolean
Misal A dan B adalah merupakan dua buah set. A = B : mempunyai hasil True jika A dan
B memiliki anggota-anggota yang sama.
Contoh: [Sun, Tue, Fri] = [Tue, Fri, Sun].
A <> B: mempunyai hasil True jika A dan B memiliki anggota-anggota yang tidak sama.
A <= B : menunjukkan bahwa A adalah subset dari B.
Contoh: Jika A berisi [Sun, Mon, Tue] dan B berisi [Sun, Mon, Tue, Wed, Thu], maka A
adalah merupakan subset dari B dan ekspresi menghasilkan nilai True.
A >= B : menunjukkan bahwa A adalah superset dari B.
Contoh: Jika A berisi [Sun..Sat] dan B berisi [Mon..Fri], maka A adalah merupakan
superset dari B dan ekspresi menghasilkan nilai True.
b. Operasi Logika pada Set
Ada tiga operasi logika pada set.
Tabel 5. Operator Logika pada set
Operator Operasi Tipe Operand Tipe Hasil Operasi
+ Union Set Set
- Difference Set Set
* Intersection Set Set
Misal:
+ atau Union: [Sun, Mon, Tue, Wed] + [Mon, Thu, Fri] menghasilkan [Sun, Mon, Tue,
Wed, Thu, Fri].
- atau Difference: [Sun, Mon, Tue, Wed] - [Mon, Tue, Fri] menghasilkan [Sun, Tue,
Wed], yang merupakan anggota adari set pertama yang bukan anggota set yang kedua.
* atau Intersection: [Sun, Mon, Tue, Wed] * [Mon, Tue, Fri] menghasilkan [Mon,Tue],
yang merupakan anggota kedua set.
7
8. 8
5. Ekspresi Merupakan kombinasi antara operator dan operand. Ekspresi matematik yang
terjadi dalam dunia nyata diterjemahkan kedalam bahasa Pascal dengan sedikit perubahan
tanda.
Contoh:
Ekspresi matematika Ekspresi PASCAL
• a + b • a + b
• x ( y + z ) • x * ( y + z )
• b2 - 4ac • b * b - 4*a*c
Contoh: Bila dideklarasikan var i, j: integer; maka, i + j adalah ekspresi aritmatik
(menghasilkan suatu bilangan integer) i < j adalah ekspresi boolean (menghasilkan logika
TRUE atau FALSE)
6. Fungsi Matematik Standar dalam PASCAL
Tabel 6. Beberapa fungsi matematik standar yang disediakan oleh PASCAL
Nama Fungsi Deskripsi Tipe Argumen Tipe Hasil Operasi
abs absolute value real/integer real/integer
arctan arctan (radian) Real/integer real
cos cosine (radian) real/integer real
sin sin (radian) real/integer real
exp fungsi Perpangkatan e real/integer real
ln ln real/integer real
round Pembulatan terdekat real integer
sqr kuadrat real/integer real/integer
sqrt Akar kuadrat real/integer real
trunc Pembulatan ke bawah real/integer integer
Contoh :
Abs(-11) (hasil: 11)
Round(10.6) (hasil: 11)
Trunc(10.6) (hasil: 10)
Sqrt(4) (hasil: 2)
Sqr(4) (hasil: 16)
Untuk fungsi trigonometri:
x = sin phi menjadi x:=sin (3.1416);
Statemen-statemen pemrograman pascal
Reserved Word
Reserved Word adalah kata-kata baku yang digunakan dalam program dan sudah
terintergrated dalam pascal dan juga mempunyai bentuk serta kegunaan tertentu yang
telah didefinisikan oleh Pascal.
Reserved Word tidak boleh didefinisikan kembali oleh pemakai, sehingga tidak dapat
digunakan sebagai pengenal (Identifier). Dalam bahasa pemrograman Pascal,
beberapa Reserved Word dalam Pascal anatra lain:
9. 9
Beberapa Statemen Turbo Pascal
Statemen adalah perintah untuk pengerjaan program pascal. Statemen terletak di bagian
deklarasi statemen dengan diawali oleh kata cadangan BEGIN dan diakhiri dengan kata
cadangan END. Akhir dari setiap statemen diakhiri dengan titik koma [;]. Statemen
statemen dalam bahasa Pascal terdiri dari pernyataan yang berupa fungsi dan prosedur
yang telah disediakan sebagai perintah standar Turbo Pascal.
1. Statemen-statemen yang digunakan untuk input/output.
# Read/Readln [prosedur].
Perintah ini digunakan untuk memasukkan [input] data lewat keyboard ke dalam suatu
variabel.
Sintaks: Read/Readln(x); (ingat, selalu diakhiri dengan titik koma [;])
Keterangan : x = variabel.
Read = pada statemen ini posisi kursor tidak pindah ke baris selanjutnya.
Readln = pada statemen ini posisi kursor akan pindah ke baris selanjutnya setelah di
input.
# ReadKey [fungsi].
Untuk pembacaan sebuah karakter dari keyboard. Tipe data yang dihasilkan adalah char.
Sintaks: ReadKey;
# Write/Writeln [prosedur].
Digunakan untuk menampilkan isi dari suatu nilai variable di layar.
Sintaks: Write/Writeln(x);
Keterangan :
x = variabel.
Write/Writeln= statement ini digunakan untuk mencetak variable ke dalam monitor
Contoh :
Program input;
Uses Crt;
Var nm : String;
npm : String;
Begin
Clrscr;
Writeln ('masukkan nama dan NPM ');
Writeln ('------------------------------');
Write ('nama anda : ');
Readln (nm);
Writeln ('NPM anda : ');
Readln (npm);
End.
Bila dijalankan hasilnya adalah:
masukkan nama dan NPM
------------------------------
nama anda : ( di input )
NPM anda : ( di input )
10. 2. Statemen-statemen yang digunakan untuk pengaturan letak layar.
# ClrScr [prosedur].
Perintah ini digunakan untuk membersihkan layar.
sintaks: ClrScr; [Clear screen]
# GotoXY[prosedur].
Untuk menempatkan posisi kursor pada layar.
Sintaks: GotoXY(X, Y: Byte);
Keterangan : X = sumbu X (posisi horisontal)
Y = sumbu Y (posisi vertikal)
# DelLine [prosedur].
Untuk menghapus sebuah baris pada posisi kursor dan menaikkan baris-baris
dibawahnya.
Sintaks: DelLine;
# InsLine [prosedur].
Untuk menyisipkan sebuah baris pada posisi kursor dan menggeser kebawah tampilan-tampilan
baris dibawahnya.
Sintaks: InsLine;
# Delay [prosedur].
Untuk menghentikan sejenak proses program.
Sintaks: Delay (MS: Word);
Keterangan : variable MS = ukuran waktu dalam milisecond.
3. Statemen yang digunakan untuk memanipulasi string.
# ConCat[fungsi].
Untuk menggabungkan 2 atau beberapa variabel string.
Sintaks: ConCat (s1 [,s2,...,sn]: String) : String;
contoh: ConCat ('ABC','DEF') { ABCDEF }
# Copy [fungsi].
Mengambil satu atau beberapa karakter dari sebuah string.
Sintaks: Copy (S,Index,Count) : String;
Keterangan :
S = sebuah string (string).
Index = posisi awal kita akan mengambil beberapa karakter (integer)
Count = banyaknya karakter yang akan diambil (integer).
# Delete [prosedur].
Menghapus sebagian karakter dari sebuah string.
Sintaks: Delete (S,Index,Count);
Keterangan : sama dengan statemen Copy.
# Insert [prosedur].
Menyisipkan satu atau beberapa karakter ke dalam sebuah string.
Sintaks: Insert (Source,var S,Index);
Keterangan :
Source = sumber string untuk disisipi (string)
var S = string tujuan yang akan disisipi oleh string Source (string)
Index = posisi mulai (integer).
# Length [fungsi].
10
11. Memberikan nilai panjang dari suatu string (jumlah karakter dalam string).
Sintaks: Length (S);
Keterangan : S = string
Length(S) menghasilkan nilai integer.
# Pos [fungsi].
Mencari posisi sebuah bagian string (substring) didalam sebuah string.
Sintaks: Pos (Substr,S); {menghasilkan nilai Byte}
Keterangan :
Substr = substring yang akan dicari posisinya di dalam sebuah string S.
Bila bernilai 0 berarti nilai string yang dicari tidak ada.
# Str [prosedur].
Merubah nilai numerik ke dalam nilai string.
Sintaks: Str (N,S);
Keterangan :
N = data tipe integer,
S = data tipe string.
# Val [prosedur].
Merubah nilai string ke dalam nilai numerik.
Sintaks: Val (S,N,P);
Keterangan :
S = nilai string,
N = nilai real,
P = posisi salah.
Nilai string harus berisi angka, plus atau minus, bila tidak berarti kesalahan dan letak
kesalahannya ditunjukkan oleh variabel posisi salah. Jika benar, maka nilai variabel tsb =
0 (nol).
# UpCase [fungsi].
Memberikan huruf kapital dari argumen.
Sintaks: UpCase (S);
Keterangan :
S = variabel bertipe karakter.
4. Statemen-statemen untuk perhitungan aritmatik.
# Abs [fungsi].
Memberikan nilai mutlak dari suatu argumen.
Sintaks: ABS(x);
# ArcTan[fungsi].
Memberikan nilai dari fungsi arctangent dari perhitungan goniometri.
Sintaks: ArcTan (x);
dimana x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real.
# Cos [fungsi].
Memberikan nilai dari fungsi Cosinus.
Sintaks: Cos (x);
# Exp [fungsi].
Menghitung nilai pangkat dari bilangan e (bilangan alam), yaitu sebesar x.
Sintaks: Exp (x);
x dapat bertipe real atau integer dan akan menghasilkan nilai bertipe real.
11
12. # Frac [fungsi].
Untuk mendapatkan nilai pecahan dari suatu bilangan.
Sintaks: Frac (x);
Tipe dari x sama seperti yang diatas.
# Int [fungsi].
Memberikan nilai integer (bilangan bulat) dari suatu variabel dengan membuang bilangan
di belakang koma.
Sintaks: Int (X);
# Ln [fungsi].
Digunakan untuk menghitung nilai logaritma alam (natural logarithm) dari nilai x.
Sintaks: Ln (x);
# Sin [fungsi].
Memberikan nilai dari fungsi Sinus.
Sintaks: Sin (x);
# Sqr [fungsi].
Digunakan untuk menghitung nilai pangkat kuadrat dari suatu bilangan.
Sintaks: Sqr (x);
Tipe dari x bisa berupa real maupun integer. Dan hasilnya akan sama dengan tipe dari x.
# Sqrt (fungsi).
Digunakan untuk menghitung nilai akar dari suatu bilangan.
Sintaks: Sqrt (x);
Contoh :
Program Aritmatik;
Uses Crt;
Var x : Real;
Begin
Clrscr;
Write('Masukkan nilai dari X = ');
Readln (x);
If x <0 Then x:=Abs (x);
Writeln('Nilai X = ',x:5:2);
Writeln ('Nilai eksponentialnya = ',EXP(x):9:3);
Writeln ('Nilai logaritma alamnya = ',LN(x):9:3);
Writeln ('Nilai integernya = ',INT(x):5:2);
Writeln ('Nilai fraksionalnya = ',FRAC(x):5:2);
Writeln ('Nilai X dipangkatkan = ',SQRT(x):9:3);
Writeln ('Nilai X diakarkan = ',SQRT(x):9:3);
Write('Nilai X jika dimasukkan dalam ');
Writeln('fungsi Sin,Cos,Tangen: ');
Writeln('- Sinus = ',Sin(x):9:3);
Writeln('- Cosinus = ',Cos(x):9:3);
Writeln('- Tangen = ',ArcTan(x):9:3);
End.
Hasilnya :
masukkan nilai dari X = -2.5
Nilai X = 2.50
Nilai eksponensialnya = 12,182
Nilai logarima alamnya = 0,196
Nilai integernya = 2.00
Nilai fraksionalnya = 0.50
Nilai X dipangkatkan = 6.250
Nilai X diakarkan = 1.581
12
13. Nilai X jika dimasukkan dalam fungsi Sin,Cos,Tangen:
- Sinus = 0.598
- Cosinus = -0.801
- Tangen = 1.190
5. Statemen-statemen untuk transfer nilai dari suatu variabel.
# Chr [fungsi].
Merubah nilai dari byte ke bentuk karakter yang sesuai dengan kode ASCII.
Sintaks: Chr (x);
Keterangan : x bertipe byte
contoh : Writeln (Chr (61));
hasilnya : a
# Ord [fungsi].
Merubah nilai suatu variabel dari bentuk karakter ke bentuk longint.
Sintaks: Ord (x);
Keteranagn : x bertipe char
contoh : Writeln(Ord ('B'));
hasilnya : 42
# Round [fungsi].
Membulatkan data tipe real ke data tipe longint.
Sintaks: Round (x);
Keterangan :
Jika nilai pecahan < 0,5 maka dibulatkan kebawah.
Jika nilai pecahan > 0,5 maka dibulatkan keatas.
contoh : Writeln('10/3 dibulatkan = ',Round(10/3));
hasilnya : 10/3 dibulatkan = 3
# TRUNC [fungsi].
Membulatkan kebawah data tipe real ke data tipe longint.
Sintaks: Trunc (x);
contoh :
Writeln('20/3 dibulatkan kebawah = ',Trunc (20/3));
hasilnya : 20/3 dibulatkan kebawah = 6
6. Statemen-statemen untuk memanipulasi data.
# Pred [fungsi].
Memberikan nilai sebelum nilai argumen dalam urutannya dalam ASCII.
Sintaks: Pred (x);
# Succ [fungsi].
Memberikan nilai sesudah nilai argumen dalam urutannya dalam ASCII.
Sintaks: Succ (x);
# Inc[fungsi].
Menambah (increments) nilai suatu variabel.
Sintaks: Inc (x,i); {i >= 1}
# Dec [fungsi].
Mengurangi (decrements) nilai suatu variabel.
Sintaks: DEC(x,i); {i >=1}
7. Statemen-statemen tambahan (warna,suara dan window).
# TextColor [prosedur].
13
14. Untuk mengatur warna dari karakter-karakter di layar.
Sintaks: TextColor (color : Byte);
Catatan : untuk pilihan warna lihat pada buku Turbo Pascal yang anda miliki.
Daftar TextColor :
# TextBackGround [prosedur].
Untuk mengatur warna latar belakang dari karakter-karakter di layar.
Sintaks: TextBackGround (Color : Byte);
# Window [prosedur].
Untuk membuat suatu jendela (window) yang terletak pada layar.
Sintaks: Window (x1,x2,y1,y2 : Byte);
x1,x2 = kordinat kiri atas dengan nilai maksimal sesuai dengan mode layar.
y1,y2 = kordinat kanan bawah dengan nilai maksimal sesuai dengan mode layar.
# TextMode [prosedur].
Untuk mengatur lebar layar, 80 kolom atau 40 kolom.
Sintaks: TextMode(Mode: Byte);
Default = C80
# Sound [prosedur].
Untuk mengaktifkan suara (beep) pada internal speaker.
Sintaks: Sound (Hz : word);
Untuk mengnonaktifkannya, gunakan statemen NoSound.
Contoh :
Program Layar2;
Uses Crt;
Begin
ClrScr;
Window (5,5,20,75);
TextBackGround(Red); Æanda juga bisa menggunakan angka (4)
TextColor(Yellow);
Sound (220);
GotoXY(10,7);
Writeln('I Love Dinda');
GotoXY(11,7);
Writeln('Bayi Sehatku');
NoSound;
End.
Bentuk perulangan & penyeleksian Kondisi
Wah gak terasa kita sudah nyampe di bab perulangan & kondisi ……selamat mencoba.
14
15. Tujuan
1. Memberikan penjelasan mengenai struktur perulangan dengan statement For,
termasuk didalamnya :
1.1. Pengertian dan contoh perulangan statement For Positif.
1.2. Pengertian dan contoh perulangan statement For Negatif.
1.3. Pengertian dan contoh perulangan tersarang (Nested Loop).
15
2. Memberikan Penjelasan dan contoh mengenai struktur perulangan dengan statement
While – Do termasuk didalamnya penjelasan mengenai While-Do tersarang (nested
While-Do).
3. Memberikan penjelasan dan contoh mengenai perulangan dengan Statement Repeat-
Until termasuk di dalamnya penjelasan mengenai Repeat –Until tersarang .
4. Memberikan penjelasan dan contoh mengenai penyeleksian kondisi dengan :
4.1. Statement If - Then
4.2. Statement If – Then - Else
4.3. Statement If tersarang (Nested IF)
4.4. Statement Case - Of
4.5. Statement Case – Of - Else
Materi
# Bentuk – bentuk Perulangan
Dalam hampir setiap program yang kompleks mutlak memerlukan suatu perulangan dan
percabangan. Tujuan perulangan disini adalah untuk mengulang statement atau blok
statement berulang kali sesuai sejumlah yang ditentukan pemakai. Dalam materi ini akan
memberikan gambaran konsep dasar dari pengertian diatas.
# Perulangan For.
Perulangan dengan statemen For digunakan untuk mengulang statemen atau suatu blok
statemen berulang kali. Perulangan dengan statemen For dapat berupa perunlangan positif
dan perulangan negatif.
# Perulangan For positif
contoh :
perulangan positif untuk satu statement :
Uses Crt;
Var
i : Integer;
Begin
For i := 1 To 5 Do Writeln ('I Love Dinda’);
END.
Maka bila program diatas dicompile di jalankan
hasilnya :
I Love Dinda
I Love Dinda
I Love Dinda
I Love Dinda
I Love Dinda
Penjelasan : Berati statemen I Love Dinda akan diulang sebanyak 5 kali yaitu dengan
menghitung nilai i dari i ke 1 sampai nilai i terakhir yaitu i ke 5.
# Contoh dengan menggunakan blok statement:
16. cara penulisannya dengan pada awal blok diawali dengan Begin dan pada akhir blok
diakhiri dengan End;
Uses Crt;
Var
i : Integer;
Begin
For i:= 1 To 10 Do
Begin
Writeln ('I Love Dinda'); { blok statement }
End;
End.
Hasil yang akan didapat akan sama dengan contoh yang pertama, tapi yang harus diingat
disini untuk penggunaan blok pada perulangan For biasanya mempunyai banyak
statement [lebih dari 1 statement]
# Contoh 3 :
Penggunaan perulangan For dalam blok statement untuk membuat tabel
Uses Crt;
Var
a,b,c : Integer;
bagi : Real;
Begin
Writeln('----------------------------------------------');
Writeln(' a a*a a*a*a 1/a ');
Writeln('----------------------------------------------');
For a := 1 To 10 Do
Begin
b:= a*a;
c:=a*a*a;
bagi := 1/a;
Writeln(a:4,c:10,d:10,bagi:12:3);
End;
Writeln ('----------------------------------------------');
End.
Maka hasilnya :
# Perulangan For negatif
Perulangan negatif adalah perulangan dengan menghitung (counter) dari besar ke kecil.
Statement yang digunakan adalah For-DownTo-Do
contoh :
16
17. Uses Crt;
Var
i : Integer;
Begin
For i := 10 DownTo 1 Do Write (i:3);
End.
Hasil :
10 9 8 7 6 5 4 3 2 1
# Perulangan For tersarang
Perulangan For tersarang adalah perulangan For yang berada pada perulangan yang
lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis,
kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan
yang lebih dalam lagi mulai dari nilai awalnya dan seterusnya.
Contoh :
Var
a,b : Integer;
Begin
For a := 1 To 3 Do
Begin
For b := 1 To 2 Do Write (a :4,b:2);
End;
End.
Hasil
1 1 12
2 1 22
3 1 32
# Perulangan While - Do
Penyeleksian kondisi digunakan untuk agar program dapat menyeleksi kondisi, sehingga
program dapat menentukan tindakan apa yang harus dikerjakan, tergantung dari kondisi
yang diseleksi tersebut. Perulangan While – Do tidak dilakukan jika kondisi tidak
terpenuhi.
Contoh :
Uses Crt;
Var i : Integer;
Begin
i := 0;
While < 5 do
Begin
Write (i:3);
Inc (i); { sama dengan i:=i+1 }
End;
End.
Hasilnya :
0 1 2 3 4
ARRAY
17
18. Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang
mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type,
larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam
larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan
menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti
byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik
mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data
tersebut.
Contoh:
Var
Untai : array[1..50] of Integer;
Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan
jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe
integer.
Contoh Program :
Program Contoh_Array_Input;
Uses Crt;
Var
Bilangan : array[1..50] of Integer;
Begin
ClrScr;
Bilangan[1]:=3;
Bilangan[2]:=29;
Bilangan[3]:=30;
Bilangan[4]:=31;
Bilangan[5]:=23;
Writeln('nilai varibel bilangan ke 3 =',Bilangan[3]);
Readln;
End.
Array juga dapat dideklarasikan bersama dengan tipe yang beragam seperti contoh
dibawah ini :
Program Contoh_Deklarasi_Array_Beragam;
Uses Crt;
Var
NPM : array[1..20] of string[10];
Nama : array[1..20] of string[25];
Nilai : array[1..20] of real;
Umur : array[1..20] of byte;
banyak,i : integer;
Begin
ClrScr;
Write('Isi berapa data array yang diperlukan :');Readln(banyak);
For i := 1 to banyak Do
Begin
Write('NPM =');Readln(NPM[i]);
Write('Nama =');readln(Nama[i]);
Write('Nilai=');readln(Nilai[i]);
Write('Umur =');readln(Umur[i]);
End;
{cetak varibel array}
Writeln('NPM NAMA NILAI UMUR ');
For i:= 1 to banyak Do
18
19. Begin
Writeln(Npm[i]:10,Nama[i]:25,Nilai[i]:3:2,' ',Umur[i]:3);
End;
Readln;
End.
Untuk deklarasi array dapat digunakan beberapa cara seperti berikut ini :
Type
Angka = String[20];
Var
Nama : Array [1..50] of Angka;
Begin
.
.
End.
I. Deklarasi Type Indeks Skalar
Indeks dari larik dapat berupa tipe skalar.
Contoh. :
Program Deklarasi_Indeks_Array_Skalar;
Uses Crt;
Var
Jum : Array[(jan,feb,mar,apr,mei)] of Integer;
Begin
Jum[jan]:=25;
Jum[feb]:=45;
Jum[mar]:=21;
Jum[apr]:=23;
Jum[mei]:=50;
Writeln('Jumlah nilai bulan maret =',Jum[mar]);
Readln;
End.
dapat juga ditulis :
type
Bln = (jan,feb,mar,apr,mei);
Var
Jum : Array[bln] of Integer;
atau :
type
Bln =(jan,feb,mar,apr,mei);
Var
Jum : Array[jan..mei] of Integer;
II. Deklarasi Konstanta Array
Array tidak hanya dapat berupa suatu varibel yang dideklarasikan di bagian deklarasi
variabel, tetapi dapat juga berupa konstanta (const).
Contoh Program :
Program Contoh_Deklarasi_Array_Konstan;
Uses Crt;
Const
Tetap : Array[1..4] of Integer=(7,10,21,20);
Var
19
20. i : Integer;
Begin
For i:= 1 to 4 Do
Writeln('Nilai Konstan array ke ',i:2,' =',Tetap[i]);
Readln;
End.
konstanta array dapat juga berupa ketetapan dalam bentuk karakter seperti berikut.
Contoh Program :
Program Contoh_Konstan_Array_Char_;
Uses Crt;
Const
Huruf : Array[0..5] of Char=('A','B','C','D','E','F');
Var
i : Integer;
Begin
For i:= 0 to 5 Do
Writeln('Nilai konstan array ke',i:2,' = ',Huruf[i]);
Readln;
End.
Konstanta array dapat juga berupa string seperti berikut ini.
Contoh Program :
Program Constanta_Array_String;
Uses Crt;
Type
A = Array [1..5] of String;
Const
Nama : A = ('basic','pascal','cobol','paradox','dbase');
Var
i : Integer;
Begin
For i:= 1 to 5 Do
Writeln('Nilai Array ke-',i:2,'= ',Nama[i]);
readln;
end.
Dalam pascal string merupakan array dari elemen- elemen karakter seperti berikut :
Contoh Program :
Program String_Adalah_Array_Tipe_Char;
Uses Crt;
Var
Nama : string;
i : Integer;
Begin
Nama:='Turbo Pascal';
For i:= 1 to Length(nama) Do
Writeln('Elemen ',i,' dari ',Nama,'= ',Nama[i]);
Readln;
End.
contoh program bilangan prima dengan menggunakan bantuan array.
Contoh program :
20
21. Program Mencari_Bilangan_Prima_Dengan_Array;
Uses Crt;
Var
Prima : Array[1..100] of Integer;
i,j : Integer;
bil : Integer;
Begin
ClrScr;
For i := 2 to 100 Do
Begin
Prima[i]:=i;
For j:= 2 to i-1 Do
Begin
bil := (i mod j); {* i dibagi j dicek apakah 0*}
If bil = 0 then Prima[i]:=0; {*jika habis dibagi,berarti bkn prima*}
End;
If Prima[i]<> 0 Then Write(Prima[i],' '); {*cetak array yg prima*}
End;
Readln;
End.
Contoh pengurutan data dengan metode buble sort, yaitu dengan cara penukaran, dapat
dilihat pada contoh dibawah ini :
Contoh Program :
Program Penggunaan_Array_Untuk_Sortir_Buble_Sort;
Uses Crt;
Var
nil1 : Array[1..100] of Integer;
n,i,j,dum : Integer;
Begin
ClrScr;
Write('mau isi berapa data acak (integer) ='); readln(n);
For i := 1 to n Do
Begin
Write('Data Ke ',i,':');Readln(nil1[i]);
End;
{* penyapuan proses}
for i:= 1 to n-1 do
begin
for j:= i to n do
begin
if nil1[j]<nil1[i] then
begin
dum:=nil1[j];
nil1[j]:=nil1[i];
nil1[i]:=dum;
end;
end;
end;
writeln;
writeln('Hasil Sortir');
for i := 1 to n do
write(nil1[i]:3);
readln;
end.
21
22. III. Array Dua Dimensi
Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array
dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array
2 dimensi dapat mewakili suatu bentuk tabel atau matrik, yaitu indeks pertama
menunjukkan baris dan indeks ke dua menunjukkan kolom dari tabel atau matrik.
1 2
12
3
Untuk mengetahui cara mendeklarasikan dari penggunaan aray dua dimensi dapat dilihat
pada listing program dibawah ini .
Contoh Program:
Program Deklarasi_Array_Dua_Dimensi;
Uses Crt;
Var
Tabel : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
Tabel[1,1]:=1;
Tabel[1,2]:=2;
Tabel[2,1]:=3;
Tabel[2,2]:=4;
Tabel[3,1]:=5;
Tabel[3,2]:=6;
For I := 1 to 3 Do
Begin
For J:= 1 to 2 Do
Begin
Writeln('Elemen ',i,',',j,'= ',tabel[i,j]);
End;
End;
Readln;
End.
IV. Alternatif Deklarasi Array Dua Dimensi.
Ada beberapa cara dalam mendeklarasikan array dua dimensi, beberapa cara tersebut
dapat dilihat dibawah ini :
Contoh :
Var
Tabel : Array[1..3] of Array[1..2] of Byte;
atau :
Type
Matrik = Array[1..3,1..2] of Byte;
Var
Tabel : Matrik;
atau :
Type
Baris = 1..3;
Kolom = 1..2;
Matrik = Array[Baris,Kolom] of Byte;
Var
Tabel : Matrik;
atau :
22
23. Type
Baris = 1..3;
Kolom=1..2;
Matrik= Array[Baris] of Array[Kolom] of Byte;
Var
Tabel : Matrik;
Dibawah ini akan diberikan listing program penggunaan array dua dimensi dalam aplikasi
penjumlahan matrik :
Contoh Prorgam:
Program Penjumlahan_Matrik;
Uses Crt;
Var
Matrik1,Matrik2, Hasil : Array[1..3,1..2] of Integer;
i,j : Integer;
Begin
ClrScr;
{ input matrik ke satu }
Writeln(' Elemen matrik satu');
For i := 1 to 3 Do
Begin
For j := 1 to 2 Do
Begin
Write('Elemen baris -',i,' Kolom -',j,'= ');
Readln(matrik1[i,j]);
End;
End;
{input matrik ke dua}
Writeln('input elemen matrik dua');
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write('Elemen baris -',i,' kolom -',j,'= ');
Readln(matrik2[i,j]);
End;
End;
{proses penjumlahan tiap elemen}
For i := 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Hasil[i,j]:=Matrik1[i,j]+Matrik2[i,j];
End;
End;
{proses cetak hasil}
For i:= 1 to 3 Do
Begin
For j:= 1 to 2 Do
Begin
Write(Hasil[i,j]:6);
End;
Writeln;
End;
Readln;
End.
23
24. V. Array Sebagai Parameter
Array dapat digunakan sebagai parameter yang dikirimkan baik secara nilai (by value)
atau secara acuan (by reference) ke procedure atau ke function. Procedure yang
menggunakan parameter berupa array harus dideklarasikan di dalam judul procedure
yang menyebutkan parameternya bertipe array.
Contoh Program :
Program Contoh_Pengiriman_Parameter_Array_Di_Procedure;
Uses Crt;
Const
Garis ='---------------------------------------------------';
Type
Untai = Array[1..10] of String[15];
Bulat = Array[1..10] of Integer;
Huruf = Array[1..10] of Char;
Var
i,Banyak : Integer;
Procedure Proses(Nama:Untai;Nilai:Bulat);
Var
Ket : String;
Abjad : Char;
Begin
Writeln(Garis);
Writeln('Nama Nilai Abjad Keterangan');
Writeln(Garis);
For i := 1 to Banyak Do
Begin
If Nilai[i] > 90 Then
Begin
Abjad:='A';
Ket :='Istimewa';
End;
If (Nilai[i]<90) And (Nilai[i]>70) Then
Begin
Abjad:='B';
Ket :='Memuaskan';
End;
If (Nilai[i]<70) And (Nilai[i]>60) Then
Begin
Abjad:='C';
Ket :='Cukup';
End;
If (Nilai[i]<60) And (Nilai[i]>45) Then
Begin
Abjad:='D';
Ket :='Kurang';
End;
If Nilai[i]< 45 Then
Begin
Abjad:='E';
Ket :='Sangat kurang';
End;
Writeln(Nama[i]:15,' ',Nilai[i]:4,' ',Abjad,' ',Ket:15);
End;
Writeln(Garis);
End;
24
25. Procedure Masuk_Data;
Var
Nama : Untai;
Nilai : Bulat;
Begin
Write('Banyak data =');Readln(Banyak);
For i:= 1 to Banyak Do
Begin
ClrScr;
Writeln('Data ke - ',i);
Write('Nama =');readln(Nama[i]);
Write('Nilai =');readln(Nilai[i]);
End;
Proses(Nama,Nilai);
End;
{modul Utama}
Begin
Masuk_Data;
Readln;
End.
Latihan 1
Buatlah Program Pascal seperti berikut ini :
Daftar Nama Siswa SMAN 1 Bangkinang
Nama Siswa :………
Alamat Siswa : ………
Kelas : ……….
Nilai Mid : ……….
Nilai Semester : ………..
Nilai Raport : ………..
Keterangan : ………..
Kerengan :
Semua data yang ada di input dari keyboard tanpa ada proses.
25
26. Latihan 2.
Buatlah Program Pascal seperti berikut ini dengan menggunakan GOTOXY :
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= =
= Daftar Nama Siswa SMAN 1 Bangkinang =
= =
= Nama Siswa :……… =
= Alamat Siswa : ……… =
= Kelas : ………. =
= Nilai Mid : ………. =
= Nilai Semester : ……….. =
= Nilai Raport : ……….. =
= Keterangan : ……….. =
= =
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Latihan 3.
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
= =
= Daftar Nama Siswa SMAN 1 Bangkinang =
= =
= Nama Siswa :……… =
= Alamat Siswa : ……… =
= Kelas : ………. =
= Nilai Mid : ………. =
= Nilai Semester : ……….. =
= Nilai Raport : ……….. =
= Keterangan : ……….. =
= =
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Latihan 4
Buatlah Program Pascal untuk mencari rumus matematika berikut ini :
Mencari Hasil Penjumlahan
Masukkan Nilai A :
Masukkan Nilai B :
Masukkan Nilai C :
Berapa Hasil X berikut in :
1. X = A + B – C
2. X = A + B * C
3. X = (A + B) / C
4. X = A * (B + C)
5. X = B – A + C
26
27. Latihan 5
Buatlah Program Pascal untuk mencari rumus matematika berikut ini :
1. Menghitung Luas Segitiga
2. Menghitung Keliling Segitiga
3. Menghitung Luas Persegi Panjang
4. Menghitung Keliling Persegi Panjang
Latihan 6
Buatlah Program Pascal untuk mencari rumus matematika berikut ini :
1. Menghitung Luas lingkaran, dengan jari-jari diketahui (diinput).
2. Menghitung Keliling lingkaran, dengan jari-jari diketahui (diinput).
3. Mengubah derajat temperatur, dari derajat Celcius ke derajat Fahreinheit dan
Reamur (derajat Celcius diinput)
Latihan 7
Buatlah Program Pascal untuk mencari rumus matematika berikut ini dengan
menggunakan GOTOXY:
1. Mencari akar dan kuadrat dari suatu nilai (nilai diinput).
2. Mencari nilai Sinus, Cosinus, dan Tangen dengan sudut diinput.
3. Mencari nilai bulat dan pecahan dari suatu nilai yang dimasukkan melalui
keyboard (diinput). Nilai pecahan tersebut dibulatkan sampai 3 angka
dibelakang koma (,).
Latihan 8
Buatlah Program Pascal yang akan menghitung pembayaran penumpang taksi berikut?
Setiap buka pintu taksi pertama penumpang dikenakan biaya Rp.5.000, kemudian setiap 1
km penumpang harus membayar sebanyak Rp 1.000/km. berapa penumpang harus
membayar ?
Jumlah Kilo Meter = 25
Bayar = Rp. 30.000,
Latihan 9
Perusahaan Di Kota ”Bangkinang” memepunyai Tarif Telpon Rp100 per pulsa. Setiap
Langganan dikenakan biaya langganan Sebesar Rp 3.000 perbulan. Jumlah pulsa yang
dipakai adalah = 235. Buatlah program untuk menghitung tagihan langganan.
Bentuk Outputnya :
Nomer Langganan :………….
Nama Langganan :…………
Alamat :…………..
Perincian Tagihan :
———————–
27
28. Biaya Berlangganan : Rp…………
Biaya Pulsa……….xRp.100 : Rp…………
————————————————–
Total Tagihan : Rp…..
Latihan 10
Gaji pegawai PT. Mundur Maju dihitung berdasarkan beberapa hal, diantaranya :
- Gaji Pokok
- Tunjangan
- Upah Lembur
Tunjangan pegawai adalah 15 % dari gaji pokok upah lembur perjam adalah 1,5 % dari
Gaji Pokok,Buatlah Program Untuk Menghitung gaji yang diterima Pegawai.
Masukan : Nama,Nip,gaji pokok dan jam lembur.
Bentuk Outputnya :
Perincian Gaji Pegawai
—————————
Gaji Pokok : Rp…………
Tunjangan : Rp…………
Upah Lembur : Rp…………
————————————————–
Total Gaji : Rp………….
Latihan 11
1. Tampilkan bilangan bulat dari 20 s/d 30 dengan mengunakan perulangan for to do.
20 21 22 23 24 25 26 27 28 29 30
2. 20
21
22
23
24
25
26
27
28
29
30
Latihan 12
28
29. Buat Program pascal untuk menampilkan output seperti berikut ini dengan menggunkan
for to do
Bil Bil * Bil Bil * Bil + 2 1 / Bil
1 1 2 1.000
2 4 8 0.500
3 9 18 0.333
4 16 32 0.250
5 25 50 0.200
6 36 72 0.167
7 49 98 0.143
8 64 128 0.125
9 81 162 0.111
10 100 200 0.100
Latihan 13
Buat program pascal untuk menampilkan deret berikut ini dengan menggunkan salah satu
perulangan (loop) :
1. Buat deret hitung 3,7,11,15,......................=?
2. Buat deret ukur 3,9,27,................................=?
Latihan 14
Buatlah program pascal untuk mencari bilangan berikut ini :
1. Mencari bilangan Genap dari 1 s/d 20
2. Mencari bilangan ganjil dari 20 s/d 40
Latihan 15
Buatlah program pascal untuk menampilkan nilai raport siswa berikut ini :
Daftar Raport Siswa Kelas XI SMAN 1 BAngkinang
1. Nama siswa : ……..
2. NIS : ……..
3. Kelas : …….
4. Nilai Agama : …….
5. Nilai TIK : …….
6. Nilai Mulok : …….
7. Nilai PPKN : …….
8. Jumlah Nilai : ……
9. Rata-rata : ……
10. Keterangan : …….
Ketentuan :
1. Jumlah Nilai = total keseluruh nilai mata pelajaran
2. Rata-rata = jumlah nilai dibagi dengan jumlah mata pelajaran
3. Keterangan = jika rata >= 70 maka Naik Kelas selain itu Tinggal Kelas
Buatlah dengan menggunakan fungsi if … then …..
Latihan 16
Dari latihan 15 tambahkan berikut ini :
1. Nilai Huruf = jika rata-rata >=90 maka nilai huruf =A
jika rata-rata >=80 maka nilai huruf =B
jika rata-rata >=70 maka nilai huruf =C
jika rata-rata >=60 maka nilai huruf =D
Selain itu E
2. Prediket = jika nilai huruf =A maka Prediket = Sangat Memuaskan
29
30. jika nilai huruf =B maka Prediket = Memuaskan
jika nilai huruf =C maka Prediket = Cukup
jika nilai huruf =D maka Prediket = Kurang
Selain itu Gagal
Latihan 17
Buat program pascal dengan mengganti latihan 15 dengan menggunkan Case … Of
Latihan 18
Buat program pascal dengan mengganti latihan 16 dengan menggunkan Case … Of
Latihan 19
Buatlah program pascal untuk data berikut ini :
Laporan Penjualan Sepeda Motor
PT. Maju Terus
Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case
1. No
2. Nama Nasabah
3. Alamat Nasabah
4. Jenis Kelamin
5. Kode Kendaraan
6. Jenis Kendaraan
7. Harga / Unit
:::::
HND, YMH, SZK, BJI
:
:
8. Jumlah Kendaraan
9. Bayar
10. Diskon
11. Pajak
12. Total Bayar
13. Bonus
::::::
Keterangan :
1. Jenis Kendaraan = Jika Kode Kendaraan = HND Maka Honda
Jika Kode Kendaraan = YMH Maka Yamaha
Jika Kode Kendaraan = SZK Maka Suzuki
Selain Itu Bajai
2. Harga / unit = Jika JenisKendaraan = Honda Maka harga =14jt
Jika Jenis Kendaraan =Yamaha Maka harga =13jt
Jika Jenis Kendaraan =Suzuki Maka harga =12jt
Selain Itu harga =10jt
3. Bayar = Harga * Jumlah
4. Diskon = Jika Kode Kendaraan = HND Maka diskon = 20%* Bayar
Jika Kode Kendaraan = YMH Maka diskon = 15%* Bayar
Jika Kode Kendaraan = SZK Maka diskon = 10%* Bayar
Selain Itu Tidak Ada Diskon
5. Pajak = Jika JenisKendaraan =Honda Maka pajak = 10% * Bayar
Jika Jenis Kendaraan =Yamaha pajak =8% * Bayar
Jika Jenis Kendaraan Suzuki Maka pajak =7 % Bayar
Selain Itu pajak =3% * Bayar
6. Total Bayar = Bayar – Diskon + Pajak
7. Bonus = Jika Total Bayar > 25jt Maka TV 15”
30
31. Jika Total Bayar > 30jt Maka TV 20 “
Jika Total Bayar > 40jt Maka TV Flat 29”
Selain itu LCD 29”
Latihan 20
Buatlah program pascal untuk data berikut ini :
Laporan Peminjaman Buku
Perpustakaan SMAN 1 Bangkinang
Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case
1. No
2. Nama Siswa
3. Alamat
4. Kelas
5. Jenis Kelamin
6. Kode Buku
7. Jenis Buku
8. Tanggal Pinjam
:::::
: NV, CR, PL, AG
::
9. Tanggal Kembali
10. Lama Pinjam
11. Jumlah Buku
12. Bayar
13. Total Bayar
14. Bonus
::::::
Keterangan :
1. Kode Buku = Jika Kode Buku = NV Maka jenis buku =Novel
Jika Kode Buku = CR Maka jenis buku =Buku Cerita
Jika Kode Buku = PL Maka jenis buku =Pelajaran
Selain Itu jenis buku =Pendidikan Agama
2. Lama Pinjam = Tgl Kembali – Tgl Pinjam
3. Bayar = Setiap peminjam 1 Buku dikenakan biaya 2000
4. Denda = Jika Lama Pinjam >4 hari Maka 1000 + Bayar
Jika Lama Pinjam >5 hari Maka 2000 + Bayar
Jika Lama Pinjam >4 hari Maka 3000 + Bayar
Selain Itu 10000 + Bayar
5. Total Bayar = Bayar + Denda
6. Bonus = Jika Jumlah Buku > 5 Buku Maka Gantungan Kunci
Jika Jumlah Buku > 10 Buku Maka Pena
Jika Jumlah Buku > 15 Buku Maka Buku Tulis
Selain itu Jam Dinding
Latihan 21
Buatlah program pascal untuk data berikut ini :
Laporan Penjualan Mobil
PT. Angin Ribut
Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case
1. No : 8. Negara Produksi :
31
32. 2. Nama Pelanggan
3. Alamat
4. Jenis Kelamin
5. Kode Mobil
6. Jenis Mobil
7. Harga
::::
FO, TO, MI, DI
:
:
9. Jumlah Mobil
10. Bayar
11. Diskon
12. Pajak
13. Total Bayar
14. Bonus
:::::
Keterangan :
1. Jenis Mobil = Jika Kode Mobil = FO Maka jenis mobil = Ford
Jika Kode Mobil = TO Maka jenis mobil = Toyota
Jika Kode Mobil = MI Maka jenis mobil = Mitsubishi
Selain Itu jenis mobil = Daihatsu
2. Negara Produksi = Jika Kode Mobil = FO Maka Negara = Amerika
Jika Kode Mobil = TO Maka Negara = Jepang
Jika Kode Mobil = MI Maka Negara = Jerman
Selain Itu Negara = Italia
3. Harga = Jika Jenis Mobil = Ford Maka harga = 200
Jika Jenis Mobil = Toyota Maka harga =180
Jika Jenis Mobil = Mitsubishi Maka harga =150
Selain Itu harga =140
4. Bayar = Harga * Jumlah
5. Diskon = Jika Kode Mobil = FO Maka diskon = 25%* Bayar
Jika Kode Mobil = TO Maka diskon = 18%* Bayar
Selain Itu Tidak Ada Diskon
6. Pajak = Jika Jenis Mobil = Ford Maka pajak = 20% * Bayar
Jika Jenis Mobil = Toyota maka pajak = 15% * Bayar
Jika Jenis Mobil = Mitsubishi Maka pajak = 10 % *Bayar
Selain Itu pajak = 3% * Bayar
7. Total Bayar = Bayar – Diskon + Pajak
8. Bonus = Jika Total Bayar > 300jt Maka bonus = MIO
Jika Total Bayar > 290jt Maka bonus = LCD 19”
Jika Total Bayar > 250jt Maka bonus = TV Flat 29”
Selain itu bonus = TV 19”
Latihan 22
Buatlah program pascal untuk data berikut ini :
Laporan Penjualan Komputer
Furqon Komputer
Tentukan variable dan output tersendiri dengan menggunkan fungsi if atau case
32
33. 1. No Faktur
2. Nama
3. Alamat
4. Jenis Kelamin
5. Kode Pembelian
6. Jenis
7. Harga / Unit
:::::
LC2, LC, KO, LCE
:
:
8. Jumlah
9. Bayar
10. Diskon
11. Pajak
12. Total Bayar
13. Bonus
::::::
Keterangan :
1. Jenis = Jika Kode Pembelian = LC2 Maka Laptop Core 2 Duo
Jika Kode Pembelian = LC Maka Laptop Core Duo
Jika Kode Pembelian = LCE Maka Laptop Celeron
Selain Itu Komputer PC
2. Harga / unit = Jika Jenis = Laptop Core 2 Duo Maka 9000
Jika Jenis = Laptop Core Duo Maka 7000
Jika Jenis = Laptop Celeron Maka 4000
Selain Itu 3000
3. Bayar = Harga * Jumlah
4. Diskon = Kode Pembelian = LC2 Maka 5%* Bayar
Jika Kode Pembelian = LC Maka 3%* Bayar
Jika Kode Pembelian = LCE Maka 1%* Bayar
Selain Itu Tidak Ada Diskon
5. Pajak = Jika Jenis = Laptop Core 2 Duo Maka 3% * Bayar
Jika Jenis = Laptop Core Duo Maka 2% * Bayar
Selain Itu tidak ada pajak
6. Total Bayar = Bayar – Diskon + Pajak
7. Bonus = Jika Total Bayar > 15jt Maka Flask Disk
Jika Total Bayar > 20jt Maka Stick Games
Jika Total Bayar > 25jt Maka MP4
Selain itu TV Tuner
33