SlideShare a Scribd company logo
1 of 33
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 
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
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
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:
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
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
< 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 
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 
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 )
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
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
# 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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

More Related Content

What's hot

Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul viiDevi Apriansyah
 
1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_dataRoziq Bahtiar
 
Pelatihan Bahasa R
Pelatihan Bahasa RPelatihan Bahasa R
Pelatihan Bahasa Ranom0164
 
Laporan 1 penngantar program r
Laporan 1 penngantar program rLaporan 1 penngantar program r
Laporan 1 penngantar program rKhair Norrasid
 
Algoritma & pemrograman 2
Algoritma & pemrograman 2Algoritma & pemrograman 2
Algoritma & pemrograman 2Mulyana Yana
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiDevi Apriansyah
 
Tipe data pada java
Tipe data pada javaTipe data pada java
Tipe data pada javarahmat s
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaArif Punk Street
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataFakhrian Fadlia Adiwijaya
 
Materi Tipe Data dan Variabel
Materi Tipe Data dan VariabelMateri Tipe Data dan Variabel
Materi Tipe Data dan Variabelwawanext01
 

What's hot (20)

Pertemuan 2
Pertemuan 2Pertemuan 2
Pertemuan 2
 
Tipe data
Tipe dataTipe data
Tipe data
 
Modul pd
Modul pdModul pd
Modul pd
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul vii
 
Ppt
PptPpt
Ppt
 
Alpro tutor
Alpro tutorAlpro tutor
Alpro tutor
 
1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data
 
Pelatihan Bahasa R
Pelatihan Bahasa RPelatihan Bahasa R
Pelatihan Bahasa R
 
Laporan 1 penngantar program r
Laporan 1 penngantar program rLaporan 1 penngantar program r
Laporan 1 penngantar program r
 
Pengantar R
Pengantar RPengantar R
Pengantar R
 
Algoritma & pemrograman 2
Algoritma & pemrograman 2Algoritma & pemrograman 2
Algoritma & pemrograman 2
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Laporan praktikum modul ii & iii
Laporan praktikum modul ii & iiiLaporan praktikum modul ii & iii
Laporan praktikum modul ii & iii
 
Tipe data pada java
Tipe data pada javaTipe data pada java
Tipe data pada java
 
Tipe data dan variabel
Tipe data dan variabelTipe data dan variabel
Tipe data dan variabel
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe Data
 
Materi Tipe Data dan Variabel
Materi Tipe Data dan VariabelMateri Tipe Data dan Variabel
Materi Tipe Data dan Variabel
 
Resume praktikum 3__pointer
Resume praktikum 3__pointerResume praktikum 3__pointer
Resume praktikum 3__pointer
 

Viewers also liked

Teknik Simulasi Statistika
Teknik Simulasi StatistikaTeknik Simulasi Statistika
Teknik Simulasi StatistikaRezzy Caraka
 
Distribusi eksponensial
Distribusi eksponensialDistribusi eksponensial
Distribusi eksponensialPhe Phe
 
Modul Pascal Mengenal Flowchart
Modul Pascal Mengenal FlowchartModul Pascal Mengenal Flowchart
Modul Pascal Mengenal FlowchartIrwien Andriyanto
 
Pascal 4-aturan-penulisan-pascal
Pascal 4-aturan-penulisan-pascalPascal 4-aturan-penulisan-pascal
Pascal 4-aturan-penulisan-pascaladealfarisi
 
Model Objek Simulasi 2 Dimensi
Model Objek Simulasi 2 DimensiModel Objek Simulasi 2 Dimensi
Model Objek Simulasi 2 DimensiRachmat Gurnida
 
Perulangan While do, For to do, dan Repeat Until dalam Pascal
Perulangan While do, For to do, dan Repeat Until dalam PascalPerulangan While do, For to do, dan Repeat Until dalam Pascal
Perulangan While do, For to do, dan Repeat Until dalam PascalTeknik Informatika UII
 
Pembangkit random number gtr
Pembangkit random number gtrPembangkit random number gtr
Pembangkit random number gtrGusti Rusmayadi
 
Studi kasus perpindahan panas konduksi 2-Dimensi pada permukaaan datar
Studi kasus perpindahan panas konduksi 2-Dimensi pada permukaaan datarStudi kasus perpindahan panas konduksi 2-Dimensi pada permukaaan datar
Studi kasus perpindahan panas konduksi 2-Dimensi pada permukaaan datarAli Hasimi Pane
 
Kumpulan contoh-program-pascal
Kumpulan contoh-program-pascalKumpulan contoh-program-pascal
Kumpulan contoh-program-pascalrey25
 

Viewers also liked (11)

Teknik Simulasi Statistika
Teknik Simulasi StatistikaTeknik Simulasi Statistika
Teknik Simulasi Statistika
 
Distribusi eksponensial
Distribusi eksponensialDistribusi eksponensial
Distribusi eksponensial
 
Modul Pascal Mengenal Flowchart
Modul Pascal Mengenal FlowchartModul Pascal Mengenal Flowchart
Modul Pascal Mengenal Flowchart
 
Pascal 4-aturan-penulisan-pascal
Pascal 4-aturan-penulisan-pascalPascal 4-aturan-penulisan-pascal
Pascal 4-aturan-penulisan-pascal
 
Model Objek Simulasi 2 Dimensi
Model Objek Simulasi 2 DimensiModel Objek Simulasi 2 Dimensi
Model Objek Simulasi 2 Dimensi
 
Simulasi2
Simulasi2Simulasi2
Simulasi2
 
Perulangan While do, For to do, dan Repeat Until dalam Pascal
Perulangan While do, For to do, dan Repeat Until dalam PascalPerulangan While do, For to do, dan Repeat Until dalam Pascal
Perulangan While do, For to do, dan Repeat Until dalam Pascal
 
Pembangkit random number gtr
Pembangkit random number gtrPembangkit random number gtr
Pembangkit random number gtr
 
Program Penjualan Supermarket
Program Penjualan SupermarketProgram Penjualan Supermarket
Program Penjualan Supermarket
 
Studi kasus perpindahan panas konduksi 2-Dimensi pada permukaaan datar
Studi kasus perpindahan panas konduksi 2-Dimensi pada permukaaan datarStudi kasus perpindahan panas konduksi 2-Dimensi pada permukaaan datar
Studi kasus perpindahan panas konduksi 2-Dimensi pada permukaaan datar
 
Kumpulan contoh-program-pascal
Kumpulan contoh-program-pascalKumpulan contoh-program-pascal
Kumpulan contoh-program-pascal
 

Similar to Pengenalan pascal asli

Dasar dasar turbo pascal
Dasar dasar turbo pascalDasar dasar turbo pascal
Dasar dasar turbo pascalDuriani
 
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfpemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfFahriAkbar19
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++farizky berian
 
2 konsep dasar pascal
2   konsep dasar pascal2   konsep dasar pascal
2 konsep dasar pascalachieasik89
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Fisma Ananda
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Faisal Amir
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Avenzz Venzz
 
6.adp array (larik)
6.adp array (larik)6.adp array (larik)
6.adp array (larik)Hardini_HD
 
M04b dasar program c
M04b dasar program cM04b dasar program c
M04b dasar program cBilly Alhamra
 
TIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxTIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxssuser2693661
 
Dasar pemrograman basic
Dasar pemrograman basicDasar pemrograman basic
Dasar pemrograman basicYang Terluka
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooindahshafira
 
listiati univ bung hata (1110013211051) Materi pengenalan-pascal
listiati univ bung hata (1110013211051) Materi pengenalan-pascallistiati univ bung hata (1110013211051) Materi pengenalan-pascal
listiati univ bung hata (1110013211051) Materi pengenalan-pascalMaryanto Sumringah SMA 9 Tebo
 
Bab ii tipe data abstrak
Bab ii tipe data abstrakBab ii tipe data abstrak
Bab ii tipe data abstrakFaizalguswanda
 
Modul pascal
Modul pascalModul pascal
Modul pascaldanver98
 

Similar to Pengenalan pascal asli (20)

Dasar dasar turbo pascal
Dasar dasar turbo pascalDasar dasar turbo pascal
Dasar dasar turbo pascal
 
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdfpemrograman-dasar-cpp_02-variabel-tipe-data.pdf
pemrograman-dasar-cpp_02-variabel-tipe-data.pdf
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++
 
2 konsep dasar pascal
2   konsep dasar pascal2   konsep dasar pascal
2 konsep dasar pascal
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6.adp array (larik)
6.adp array (larik)6.adp array (larik)
6.adp array (larik)
 
Pertemuan 2
Pertemuan 2Pertemuan 2
Pertemuan 2
 
Laporan tugas struktur data
Laporan tugas struktur dataLaporan tugas struktur data
Laporan tugas struktur data
 
Dasar c
Dasar cDasar c
Dasar c
 
M04b dasar program c
M04b dasar program cM04b dasar program c
M04b dasar program c
 
TIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxTIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptx
 
Tipe data
Tipe dataTipe data
Tipe data
 
Dasar pemrograman basic
Dasar pemrograman basicDasar pemrograman basic
Dasar pemrograman basic
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasoo
 
listiati univ bung hata (1110013211051) Materi pengenalan-pascal
listiati univ bung hata (1110013211051) Materi pengenalan-pascallistiati univ bung hata (1110013211051) Materi pengenalan-pascal
listiati univ bung hata (1110013211051) Materi pengenalan-pascal
 
Bab ii tipe data abstrak
Bab ii tipe data abstrakBab ii tipe data abstrak
Bab ii tipe data abstrak
 
Modul pascal
Modul pascalModul pascal
Modul pascal
 

More from Nadya Olivia

More from Nadya Olivia (18)

Video editing@
Video editing@Video editing@
Video editing@
 
Frontpage
FrontpageFrontpage
Frontpage
 
Frontpage
FrontpageFrontpage
Frontpage
 
Materi ke 4
Materi ke 4Materi ke 4
Materi ke 4
 
Materi html ke 3
Materi html ke 3Materi html ke 3
Materi html ke 3
 
Belajar membuat website 2
Belajar membuat website 2Belajar membuat website 2
Belajar membuat website 2
 
Belajar membuat website
Belajar membuat websiteBelajar membuat website
Belajar membuat website
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascal
 
jaringan komputer
jaringan komputerjaringan komputer
jaringan komputer
 
Jaringan komputer
Jaringan komputerJaringan komputer
Jaringan komputer
 
Jaringan komputer
Jaringan komputerJaringan komputer
Jaringan komputer
 
Casing
CasingCasing
Casing
 
Pengenalan komputer mulok
Pengenalan komputer mulokPengenalan komputer mulok
Pengenalan komputer mulok
 
Sistem bilangan4
Sistem bilangan4Sistem bilangan4
Sistem bilangan4
 
Sistem bilangan2
Sistem bilangan2Sistem bilangan2
Sistem bilangan2
 
Sistem bilangan
Sistem bilanganSistem bilangan
Sistem bilangan
 
Sistem bilangan2
Sistem bilangan2Sistem bilangan2
Sistem bilangan2
 
Sistem bilangan
Sistem bilanganSistem bilangan
Sistem bilangan
 

Pengenalan pascal asli

  • 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