Anda di halaman 1dari 125

BAB I ALGORITMA DAN PEMROGRAMAN

1.1. DEFINISI ALGORITMA


Algoritma adalah urutan langah!langah logi" #$n%$l$"aian
ma"alah %ang di"u"un "$&ara "i"t$mati" logi"'.
A. Algoritma M$ru#aan (antung Ilmu In)ormatia
Algoritma adalah jantung ilmu computer atau imformatika.
Banyak cabang ilmu computer yang diacu dalam terminology algoritma.
Namun, jangan beranggapan algoritma selalu identik dengan ilmu
computer saja. Dalam kehidupan sehari-hari banyak terdapat proses
yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau
masakan yang dinyatakan dalam suatu resep juga dapat disebut
algoritma. Pada setiap resep selalu ada urutan langkah-langkah
membuat masakan. Bila langkah-langkah tidak logis, tidak dapat
dihasilkan masakan yang diinginkan. bu-ibu yang mencoba suatu resep
masakan akan membaca satu persatu langkah-langkah pembuatannya
lalu ia mengerjakan proses sesuai yang ia baca. !ecara umum, pihak
"benda# yang mengerjakan proses disebut pemroses "processor#.
Pemroses tersebuat dapat berupa manusia, computer, robot atau alat-
alat elektronik lainnya. Pemroses melakukan suatu proses dengan
melaksanakan atau $mengeksekusi% algoritma yang menjabarkan
proses tersebut.
&elaksanakan Algoritma berarti mengerjakan langkah-langkah di
dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan
algoritma yang diberikan kepadanya. 'uru masak membuat kue
berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu
berdasarkan papan not balok. (arena itu suatu Algoritma dinyatakan
dalam bentuk yang dimengerti oleh pemroses. 'adi suatu pemroses
harus )
TIK (Modul Pascal) 1 Kelas XI Semester 3
*. &engerti setiap langkah dalam algoritma
+. &engerjakan operasi yang bersesuaian dengan langkah tersebut.
B. B$la*ar M$m#rogram dan B$la*ar Baha"a P$mrograman
Belajar memprogram tidak sama dengan belajar bahasa
pemrograman. Belajar memprogram adalah belajar tentang metodologi
pemecahan masalah, kemudian menuangkannya dalam suatu notasi
tertentu yang mudah dibaca dan dipahami. !edangkan belajar bahasa
pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata
bahasanya, instruksi-instruksinya, tata cara pengoperasian compilernya,
dan memanfaatkan instruksi-instruksi tersebut untuk membuat program
yang ditulis hanya dalam bahasa itu saja.
C. Langah Si"t$mati" dalam M$m+uat Program
Dalam menyusun sebua program computer, And harus melakukan
langkah-langkah sistematis berikut ini.
*. &engidentifikasi &asalah
,ang dimaksud dengan mengidentifikasi masalah adalah mengenal
dan memahami masalah
+. &erumuskan Pemecahan &asalah
Dalam merumuskan pemecahan masalah, perlu mengenal algoritma,
bentuk algoritma ada beberapa bentuk yaitu algoritma dalam bahasa
sehari-hari, pseudocode, dan algoritma dalam bentuk diagram alir
-. &embuat. &enulis Program
/ntuk menulis program, diperlukan pengetahuan minimal sebuah
bahasa pemrograman. Dalam langkah ini diterapkan pemahaman
logika tentang permasalahan dan solusi anda ke dalam bentuk
program computer.
0. 12aluasi
3angkah e2aluasi ini digunakan untuk memeriksa kembali logika
pemrograman pada bahasa program yang ditulis, jika terdapat
kesalahan, kembali ke tahap penulisan program. Dalam langkah ini
TIK (Modul Pascal) 2 Kelas XI Semester 3
tercakup proses uji coba kecocokan output programnya yang
dihasilkan dengan algoritma yang telah disusun.
,ontoh Soal -P$rma"alahan.
4entukan Algoritma dari soal-soal berikut
*. &enghitung luas persegi panjang dengan data yang diketahui
berupa panjang dan lebarnya.
+. &enghitung luas lingkaran dengan data yang diketahui berupa
diameter
'a5ab
*. 3uas Persegi Panjang
a. Id$nti)ia"i Ma"alah
Point yang harus ada Panjang, 3ebar dan 3uas
M$rumu"an Ma"alah
*# Algoritma dalam bahasa sehari-hari
- &ulai
- 4entukan panjangnya
- 4entukan lebarnya
- 6itung 3uas 3 dengan rumus 3 7 panjang 8 lebar
- 4ampilkan nilai 3
- !elesai
+# Algoritma dalam bentuk Pseudocode
- !tart
- nput Panjang
- nput 3ebar
- 3 7 panjang 9 lebar
- :utput 3
- 1nd.
-# Algoritma dalam Bentuk Diagram Alir

+. 3uas 3ingkaran "Dik. Diameter#
a. Id$nti)ia"i Ma"alah
Point yang harus ada Diameter, 'ari-jari, 3uas lingkaran
M$rumu"an Ma"alah
0# Algoritma dalam bahasa sehari-hari
- &ulai
TIK (Modul Pascal) 3 Kelas XI Semester 3
!tart
nput )
Panjang,
3ebar
Proses
3uas7
pangjang 9
lebar
!tart
:utput
3uas
- 4entukan Diameter
- 6itung jari-jari r dengan rumus 7 D.+
- 6itung 3uas 3 dengan rumus 3 7 phi 9 r 9 r
- 4ampilkan nilai 3
- !elesai
;# Algoritma dalam bentuk Pseudocode
- !tart
- nput Diameter
- r 7 D.+
- 3 7 phi 9 r 9 r
- :utput 3
- 1nd.
<# Algoritma dalam Bentuk Diagram Alir

TIK (Modul Pascal) 4 Kelas XI Semester 3
!tart
nput )
Diameter
Proses
r 7 D.+
3 7 phi 9 r 9 r
1nd.
:utput
3uas
Latihan Soal
Buatlah sebuah urutan langkah "Algoritma sederhana dalam bahasa
sehari-hari# untuk soal berikut
a. &enghitung luas sebuah segitiga dengan input data berupa
pangjang alas, dan tinggi segitiga tersebut.
b. &enghitung luas lingkaran dengan input data berupa keliling
lingkaran tersebut.
c. &enghitung laba jika diketahui harga penjualan dan harga
pembelian
d. &enghitung diskon jika diketahui harga penjualan sebelum discout
dan harga penjualan setelah discout.
1./. Strutur Da"ar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah.
3angkah-langkah tersebut dapat berupa runtunan aksi, pemilihan aksi,
dan pengulangan aksi. (etiga jenis langkah tersebut membentuk
konstruksi suatu algoritma. 'adi, sebuah algoritma dapat dibangun dari
tiga buah struktur dasar, yaitu )
1. Runtunan
!ebuah runtunan terdiri dari satu atau lebih instruksi. 4iap instruksi
dikerjakan secara berurutan sesuai dengan urutan penulisannya.
,akni sebuah instruksi dilaksanakan setelah instruksi sebelumnya
selesai dilaksanakan. /rutan instruksi menentukan keadaan akhir
algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga
berubah. Perhatikan urutan instruksi yang dilambangkan dengan A*,
A+, A-, A0, A; berikut
A*
A+
A-
A0
A;
&ula-mula pemroses melaksanakan instruksi A*, instruksi A+
dilaksanakan setelah instruksi A* selesai. !elanjutnya instruksi A-
dilaksanakan setelah instruksi A+ selesai. Demikian seterusnya
TIK (Modul Pascal) 5 Kelas XI Semester 3
sampai instruksi terakhir A; dilaksanakan. !etelah instruksi A;
dilaksanakan, algoritma berhenti.
/. P$milihan
Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu
dipenuhi. 4injau kembali algoritma pengurutan data.
Pemilihan dapat ditulis dalam struktur umum )
I) ondi"i th$n a"i
Dalam bahasa ndonesia, i) berarti $jika% dan th$n artinya $maka%.
0ondi"i adalah persyaratan yang dapat bernilai benar atau salah.
A"i hanya dilaksanakan apabila kondisi bernilai benar. !ebaliknya,
apabila kondisi bernilah salah, maka aksi tidak dilaksanakan.
Perhatikan bah5a kata yang digarisba5ahi, i) dan th$n merupakan
kata kunci "key5ords# untuk struktur pemilihan ini.
Dalam kehidupan sehari-hari, kita sering menuliskan pelaksanaan
tindakan bila suatu persyaratan dipenuhi, misalnya )
I) Amir memperoleh juara kelas th$n
Ayah akan membelikannya sepeda
I) jalan Dago macet th$n
Ambil alternati2e jalan Dipati /kur
I) mobilmu rusak th$n
Pakai saja sepeda motorku
!truktur pemilihan i)!th$n hanya memberikan satu pilihan aksi bila
kondisi dipenuhi "bernilai benar#, dan tidak member pilihan aksi lain
bila kondisi bernilai salah. Bentuk pemilihan yang lebih umum ialah
memilih satu dari dua buah aksi bergantung pada nilai kondisinya
I) kondisi th$n
A"i 1
El"$
A"i /
TIK (Modul Pascal) 6 Kelas XI Semester 3
El"$ artinya $kalau tidak%. Bila kondisi bernilai benar aksi * akan
dikerjakan, tetapi kalau tidak, aksi + yang akan dikerjakan. &isalnya
pada pernyataan berikut )
I) hari hujan th$n
Pergilah dengan naik becak
El"$
Pergilah dengan naik motor
'ika kondisi $6ari hujan% bernilai benar, maka aksi $pergilah dengan
naik beca% dilakukan, sebaliknya, aksi $pergilah dengan naik motor%
akan dilakukan bila $hari hujan% tidak benar.
TIK (Modul Pascal) 7 Kelas XI Semester 3
Contoh lainnya adalah menentukan nilai terbesar dari dua buah
bilangan, 8 dan y "misalkan 8 = y#. andaikan bah5a pemroses dapat
melakukan operasi membandingkan dua buah bilangan.
f 8 > y then
4ulis 8 sebagai bilangan terbesar
1lse
4ulis y sebagai bilangan terbesar
Apabila pilihan aksi yang dilakukan lebih dari dua buah, maka
struktur pemilihan menjadi lebih rumit, seperti pada contoh berikut
"pemilihan bersarang# )
f lampu pengatur lalu lintas ber5arna merah then
Anda harus berhenti
1lse
f lampu lalu lintas ber5arna kuning then
Anda boleh jalan tapi dengan hati-hati
1lse
Anda boleh silakan terus berjalan
Contoh lain dari pemilihan bersarang adalah menentukan bilangan
terbesar dari dua buah bilangan ) 8, y , dan ? )
f 8 > y then
f 8 > ? then
4ulis 8 sebagai bilangan terbesar
1lse
4ulis ? sebagai bilangan terbesar
1lse
f y > ? then
4ulis y sebagai bilangan terbesar
1lse
4ulis ? sebagai bilangan terbesar

1. P$ngulangan
TIK (Modul Pascal) 8 Kelas XI Semester 3
!alah satu kelebihan computer adalah kemampuannya untuk
mengerjakan pekerjaan yang sama berulang kali tanpa mengenal
lelah, ini berbeda dengan manusia yang cepat lelah bila mengerjakan
yang sama berulang-ulang, tidak hanya lelah, tetapi juga cepat
bosan.
!e5aktu duduk di sekolah dasar, mungkin kalian pernah dihukum
oleh guru untuk menuliskan sebuah kalimat sebanyak ;@@ kali,
karena anda nakal atau tidak membuat PA. &isalkan kalimat tersebut
adalah )
$!aya berjanji tidak akan nakal dan malas lagi%
Bila pekerjaan menulis kalimat ini diserahkan ke computer, maka
pemrogram mungkin menuliskannya sebagai berikut )
Algoritma menulis ;@@ kalimat
&enulis kalimat $saya berjanji tidak akan nakal dan malas lagi%
!ebanyak ;@@ kali.
Deskripsi
*. 4ulis $!aya berjanji tidak akan nakal dan malas lagi%
+. 4ulis $saya berjanji tidak akan nakal dan malas lagi%
-. 4ulis $saya berjanji tidak akan nakal dan malas lagi%
.
.
0BB. 4ulis $saya berjanji tidak akan nakal dan malas lagi%
;@@. 4ulis $saya berjanji tidak akan nakal dan malas lagi%
4entu saja penulisan seperti ini merupakan pekerjaan yang dilarang
oleh guru, karena instruksi
4ulis $saya berjanji tidak akan nakal dan malas lagi%
6arus kita tulis dalam teks algoritma sebanyak yang diperintahkan
oleh Curu. /ntuk mengatasi hal ini, maka penyusun algoritma
menggunakan struktur pengulangan repeat-until "contoh perintah
pengulangan, repeat artinya $ulangi% sedangkan until artinya
$sampai%#
TIK (Modul Pascal) 9 Kelas XI Semester 3
!ehingga algoritma menulis ;@@ buah kalimat dapat ditulis sebagai
berikut )
Algoritma menulis ;@@ kalimat
&enulis kalimat $saya berjanji tidak akan nakal dan malas lagi%
!ebanyak ;@@ kali.
Deskripsi
PencatatDjumlahDkalimat7@
Aepeat
4ulis $!aya berjanji tidak akan nakal dan malas lagi%
Naikkan pencatatDjumlahD(alimat dengan *
/ntil pencatatDjumlah kalimat 7 ;@@
Pemroses akan melaksanakan aksi tulis tersebut sebanyak ;@@ kali.
!truktur pengulangan ini dapat ditulis secara umum sebagai )
Aepeat
Aksi
/ntil kondisi
!truktur pengulangan biasanya disebut "loop#, dan bagian algoritma
yang diulang "aksi# dinamakan "badan pengulangan. loop body#.
Pengulangan dengan struktur repeat-until didasarkan pada kondisi
berhenti, yaitu aksi di dalam badan loop dilaksanakan berulang-ulang
sampai suatu kondisi tertentu dipenuhi "pada contoh di atas bila
pencatatDjumlahDkalimat7;@@# bila kondisi tersebut tercapai,
pengulangan aksi dihentikan.
!truktur repeat-until hanyalah satu dari beberapa struktur
pengulangan. &asih ada beberapa struktur pengulangan lain yang
tidak akan dibahas dalam bab ini. !eperti 5hile-do, for, dan
sebagainya. ,ang akan dibahas pada bab-bab selanjutnya
Latihan Algoritma
A. PILI2AN GANDA
P$n*$la"an
-di i"i d$ngan.
*. Diberikan potongan algoritma sbb )
TIK (Modul Pascal) 10 Kelas XI Semester 3
i *
output"i E +#
4ampilan dari output"iE+# adalah
a. i b.i E + c. * E +
d. - e. salah semua
+. Diberikan potongan algoritma sbb )
i *
i +
output"i#
4ampilan dari output"i# adalah
a. * b. + c. * dan +
d. - e. salah semua
-. Diberikan potongan algoritma sbb )
i *
i iE+
output"i#
4ampilan dari output"i# adalah
a. * b. + c. i
d. - e. salah semua
TIK (Modul Pascal) 11 Kelas XI Semester 3
0. Diberikan potongan algoritma sbb )
i *
j +
i iEj
j iEj
output"j#
4ampilan dari output"j# adalah
a. j b. - c. ;
d. iEj e. salah semua
;. Diberikan potongan algoritma sbb )
i *
j +
i i - j
j j - i
output"j#
4ampilan dari output"j# adalah
a. j b. * c. +
d. - e. salah semua
<. Diberikan potongan algoritma sbb )
A ;
B F
B A
A B
:utput"A,B#
4ampilan dari output"A,B# adalah
a. ; F b. F F c. ; ;
d. F ; e. salah semua
G. Diberikan potongan algoritma sbb )
A ;
B F
C B
B A
A B
:utput"A,B#
4ampilan dari output"A,B# adalah
a. ; F b. F F c. ; ;
d. F ; e. salah semua
F. Diberikan potongan algoritma sbb )
nput"N#
f NH@ then
N -N
1nd if
:utput"N#
TIK (Modul Pascal) 12 Kelas XI Semester 3
'ika dari perintah nput"N#, dimasukkan data ;, maka 4ampilan dari
:utput"N# adalah
a. @ b. -; c. -*@
d. ; e. salah semua
B. 'ika dari perintah nput"N# soal di atas, dimasukkan data -;, maka 4ampilan
dari :utput"N# adalah
a. @ b. -; c. -*@
d. ; e. salah semua
*@. Diberikan potongan algoritma sbb )
nput"N#
f N H @ then
I -*
1lseif N >@ then
I *
1lse
I @
1nd if
:utput"I#
'ika dari perintah nput"N#, dimasukkan data ;, maka :utput"I#
menampilkan
a. @ b. -; c. -*
d. ; e. salah semua
B. ESSA3
Buatlah sebuah urutan langkah "Algoritma sederhana dalam bahasa
sehari-hari# untuk soal berikut sesuai dengan yang anda pikirkan )
a. Perjalanan dari Bandung (e 'akarta.
b. Cara membuat Bala-bala.
c. !upaya tidak dimarahi guru ketika tidak mengerjakan PA.
d. *. &enyatakan Cinta supaya diterima "Bagi 3aki-laki#
+. &enolak cinta supaya tidak tersinggung "Bagi Perempuan#
TIK (Modul Pascal) 13 Kelas XI Semester 3
BAB II ELEMEN DASAR T4RBO PAS,AL 1
1. M$ng$nal Editor Tur+o Pa"&al
a. &emulai 4urbo Pascal
Dari &enu !tart All Program Pilih 4PJ *.; 4PJ *.;
4ampilan &enu 1ditor 4urbo Pascal Kor Jindo5s
&enu /tama digunakan untuk mengerjakan suatu perintah
tertentu misalnya memanggil file, menyimpan file, mengkompilasi
program.
b. 4ombol (eyboard berkenaan dengan operai kursor
H > ) (e atas satu baris
H > ) (e ba5ah satu baris
H > ) (e (iri satu karakter
H > ) ke kanan satu karakter
H 6ome > ) (e (iri a5al baris
H 1nd > ) (e kanan akhir baris
H Delete > ) &enghapus satu karakter ke kanan kursor
H Back !pace > ) &enghapus satu karakter ke kiri kursor
H Page /p > ) &enggulung layar satu halaman atas
H Page Do5n > ) &enggulung layar satu halaman ke ba5ah
c. &engkompilasi Program
*# Pilih menu Compile
+# Pilih submenu Compile "Alt E KB#
Compile ) (egiatan memeriksa sintak kode program
d. &enjalankan Program
*# Pilih menu Aun
+# Pilih submenu Aun "Ctrl E KB#
TIK (Modul Pascal) 14 Kelas XI Semester 3
-# 6asil program ditampilkan, untuk kembail ke desain
program tekan tombol 1nter
TIK (Modul Pascal) 15 Kelas XI Semester 3
e. &enyimpan Program
*# Pilih menu Kile
+# Pilih !ubmenu !a2e "K+#
-# 1kstensi untuk file program yang dibuat dalam 4urbo Pascal
adalah .PAs
f. &enutup Program
*# Pilih menu 5indo5
+# Pilih submenu close "Alt E K-#
g. &engakhiri Program
*# Pilih menu Kile
+# Pilih submenu 18it "Alt E I#
h. &embuka Kile
*# Pilih menu Kile
+# Pilih submenu :pen L"K-#
/. Strutur Program Pa"&al
a. (udul Program
Program pada bagian deklarasi merupakan kata yang berguna
untuk memberikan judul program yang akan dibuat.
!yarat untuk nama program
- Antara kata program dan nama program boleh dipisahkan
dengan spasi, enter dan lain-lain.
- Nama program harus merupakan suatu kesatuan dan tidak
boleh dipisah "spasi#
- 4idak boleh terdapat tanda-tanda aritmetika seperti $E%, $M$,
$%, $.%, dan lain-lain.
- Boleh menggunakan garis ba5ah.
TIK (Modul Pascal) 16 Kelas XI Semester 3
'/D/3 PA:CAA&
B3:( PA:CAA&
Program NamaDProgramN
4"$" JinCrtN
,on"t NamaD(onstanta 7
Nilaikonstanta
T%#$ NamaDtype 7 4ipeDataN
5ar NamaD2ariabel ) 4ipeDataN
Pro&$dur$ NamaDProsedurN
Begin
Pernyataan
1ndN
Fun&tion NamaDfunction )
4ipeDataN
Begin
PernyataanN
1nd.
B$gin OProgram /tamaP
Blok statemen. pernyataanN
Bagian Deklarasi
Deklarasi /nit
Deklarasi (onstanta
Deklarasi 4ipe
Deklarasi Qariabel
Deklarasi Prosedur
Deklarasi Kungsi
Bagian Pernyataan
Begin
Blok !tatemen.
Pernyataan
1nd.
- 4idak boleh dimulai dengan suatu bilangan.
- Diakhiri tandaN
Contoh *# cobaDcobaN "Benar#
+# +unlimitedN "salah#
+. 4"$"
/ses merupakan perintah yang digunakan untuk memakai suatu
unit tertentu dari turbo pascal.
/nit (umpulan instruksi yang merupakan procedure dan fungsi
yang dipakai dalam turbo pascal.
Pada turbo pascal semua unit harus menggunakan kata uses,
kecuali unit system.
1. 4nit "%"t$m
/nit system merupakan unit yang langsung terpasang pada
4urbo Pascal sehingga untuk menggunakan perintah-perintah
yang terdapat di dalam unit system ini tidak perlu
menggunakan perintah uses.
P$rintah 4nit S%"t$m 6
Break Abs Arc4an
Continue Cos 18p
L L L
Close 1:K 1:3N
/. 4nit 7in,rt
/nit Crt merupakan unit yang mengatur kerja layar dan
keyboard atau .:. !ebagai contoh, perintah C3A!CA yg
digunakan untuk membersihkan layar tidak akan berjalan
tanpa menggunakan perintah /ses JinCrtN jadi syarat mutlak
untuk menggunakan perintah-perintah yang terdapat di dalam
unit Crt adalah menggunakan kata $/ses JinCrt%
P$rintah 4nit ,rt6
AssignCrt Clr1ol Clr!cr
Delay Del3ine CotoI,
L L L
JhereI Jhere, Aeadkey
1. 4nit Do"
/nit Dos merupakan unit yang bekerja di dalam system Dos
P$rintah 4nit Do"6
CetDate !etDate Cet4ime
Pack4ime /nPack4ime setKtime
L L L
setCbreak !etQerify CetQerify
8. 4nit 7inDo"
/nit JinDos merupakan unit yang bekerja di dalam system Jindo5s
P$rintah 4nit 7inDo9"6
CetDate CetK4ime Cet4ime
Pack4ime !etDate !etKtime
L L L
CetCurDir Aemo2eDir !etCurDir
TIK (Modul Pascal) 17 Kelas XI Semester 3
:. 4nit String
/nit !tring merupakan unit yang bekerja untuk teks-teks yang berada pada
Pascal
P$rintah 4nit String6
!trCat !trComp !trCopy
!tr1Copy !trlComp !trl3Cat
L L L
!trA!can !tr!can !tr/pper
TIK (Modul Pascal) 18 Kelas XI Semester 3
;. 4nit Gra#h
4nit Gra#h adalah unit %ang +$rori$nta"i $ #$mrograman gra)i.
P$rintah 4nit Gra#h6
Arc Bar Bar-D
Circle ClearDe2ice ClearQie5Port
L L L
4e86eigh 4e8tJidth !etJrite&ode
<. 4nit O=$rla%
/nit o2erlay adalah unit yang mengatur pembagian sebuah program
menjadi + file atau lebih.
P$rintah 4nit O=$rla%6
:2rClearBuf :2rCetBuf :2rCetAetry
:2rlunit :2rlnit1&! :2r!etBuf
:2rsetAetry
>. 4nit Print$r
/nit Printer adalah unit yang mengatur kerja printer sehingga
dapat dilakukan pengiriman langsung ke printer. (ata yang
merupakan pengganti operasi ke printer adalah lst. 'adi bila
diberikan kata lst tanpa menggunakan /ses PrinterN maka
proses ke printer tidak akan berjalan.
&. T%#$
4ype adalah perintah yang berguna untuk mendefinisikan suatu
type yang akan dimasukkan ke dalam suatu 2ariable.
d. ,on"t
Perintah Const adalah perintah untuk mendefinisikan suatu
konstanta
4ata cara penulisan konstanta adalah sebagai berikut )
- &enuliskan Const pada a5al pendefinisian konstanta
- (onstanta tidak hanya berlaku untuk bilangan tetapi bisa juga
berupa suatu string.
- Dalam konstanta boleh terdapat operasi aritmatika perkalian,
pembagian, penambahan dll.
- Nama konstanta tidak mengandung spasi dan tanda aritmetika.
$. 5ar
(ata 2ar merupakan tanda dimulainya pendefinisian 2ariable-
2ariable yang akan digunakan pada program.
4ata cara penulisan
- Pendefinisian 2ariable dimulai dengan kata Qar dan
memperhatikan tata cara penulisan pendefinisian 2ariable,
yaitu )
NamaD2ar*, namaD2ar+, L tipe 2ariable
- Nama 2ariable tidak boleh mengandung spasi dan tanda
aritmatik, serta tidak boleh dimulai dengan bilangan.
- Nama 2ariable tidak boleh sama dengan nama perintah
TIK (Modul Pascal) 19 Kelas XI Semester 3
4ipe Qariabel
*# Numerik
a# Bilangan Bulat
4ipe Aange
!hortint -*+F M E*+G
nteger --+.G<F M E-+.G<G
3ongint -+*0G0F-<0F M E+*0G0F-<0G
Byte @ M +;;
Jord @ M <;;-;
Perbedaan masing-masing tipe terletak pada jangkauan
nilainya.
b# Bilangan Aeal
4ipe Aange (etelitian
"Digit#
Bytes
Aeal +,B 8 *@
--B
M *,G 8 *@
-F
** M *+ <
!ingle *,; 8 *@
-0;
M -,0 8 *@
-F
G M F 0
Double ;,@ 8 *@
--+0
M *,G 8
*@
-@F

*; M *< F
18tended -,0 8 *@
-0B-+
M *,* 8
*@
0B-+
*B - +@ *@
Comp -+
<-
E* M +
<-
M * *B M +@ F
+# Non Numerik
a# 4ipe !tring
4ipe string adalah tipe yang hanya terdiri dari kata-kata.
b# 4ipe Char
4ipe yang 2ariabelnya hanya dapat menampung satu
karakter saja.
c# 4ipe Bolean
4ipe 2ariable yang hanya menampung dua kemungkinan,
yaitu Kalse atau 4rue.
). O#$rator
!ebelum menyusun program yang mengolah data dan 2ariable,
anda harus mengenal operator-operator di dalam Pascal. :perator
adalah symbol-simbol atau kata-kata yang dipakai untuk
melaksanakan suatu operasi terhadap data dan 2ariable. !ecara
table, maka operator-operator tersebut dapat dikelompokkan
sebagia berikut )
($ni" O#$rator Sim+
ol
0$t$rangan
:perator
Negasi
!
&engubah data angka menjadi
harga negatifnya
:perator &atematik ? Penjumlahan
! Pengurangan
@ Perkalian
TIK (Modul Pascal) 20 Kelas XI Semester 3
A Pembagian
6B !ama dengan
Di=
Pembagian integer "sisa
pembagian dibuang#
Mod !isa pembagian
TIK (Modul Pascal) 21 Kelas XI Semester 3
($ni" O#$rator Sim+
ol
0$t$rangan
:perator Aelasional
C (urang dari
D 3ebih dari
B !ama dengan
CB (urang dari atau sama dengan
DB 3ebih dari atau sama dengan
CD 4idak sama dengan
:perator Boolean
Not
:perasi-operasi logika yang
dilakukan terhadap nilai-nilai
Boolean
And
Or
Eor
:perator Bit
Shl Ceser satu bit ke kiri
Shr Ceser satu bit ke kanan
Not (omplemen suatu bit
And :perasi and terhadap dua bit
Or :perasi or terhadap dua bit
Eor :perasi 8or terhadap dua bit
:perator
(eanggotaan
himpunan
In &enyatakan keanggotaan
himpunan
:perator address F
&enunjukkan addres memory
suatu 2ariable
&enyatakan nilai yang
ditunjukkan oleh pointer
g. La+$l
3abel adalah pendeklarasian kata-kata atau tanda yang digunakan
untuk menyatakan suatu tempat pada program. 3abel ini dapat
berisi apa saja, kecuali tanda-tanda operasi aritmetik, seperti E, M
dan lain-lain.
TIK (Modul Pascal) 22 Kelas XI Semester 3
LATI2AN
Pilihan Ganda
*. /ntuk mengkompilasi program digunakan perintah )
a. KB
b. Ctrl E KB
&. Alt ? FG
d. Ctrl E KF
e. Alt E KF
+. /ntuk menjalankan program digunakan
a. KB
+. ,trl ? FG
c. Alt E KB
d. Ctrl E KF
e. Alt E KF
-. Perintah K- ":pen# berada pada menu
a. Fil$
b. 1dit
c. !earch
d. Aun
e. Compile
0. &enutup program digunakan perintah
a. Crtl E K-
b. K-
&. Alt ? F1
d. Ctrl E K+
e. Alt E K+
;. &anakah identifier yang
benar untuk menamakan nama program )
a. prog-a
+. #rogHa
c. progEa
d. prog..a
e. !alah semua
<. &anakah ekspresi yang tidak
dapat dilakukan oleh tipe data real
a. a )7 a E b
b. a )7 a - b
c. a )7 a 9 b
d.a 6B a mod +
TIK (Modul Pascal) 23 Kelas XI Semester 3
e. !alah semua
G. 4ipe data di ba5ah ini mana yang tidak dapat melakukan operasi
aritmatika
a. integer
b. byte
c. real
d. Boolean
e. !alah semua
F. ,ang memiliki hierarchi paling tinggi di antara operasi logika AND,
:A dan N:4 adalah
a. AND
b. N:4
c. :A
d. semua sama
e. !alah semua
B. ,ang paling rendah dari operasi logika AND, :A dan N:4 adalah )
a. AND
b. N:4
c. :A
d. semua sama
e. salah semua
*@. &anakah ekpresi yang tidak dapat dilakukan oleh tipe data
integer
a. 8 )7 8 E ;
b. y )7 y - ?
&. 6B A :
d. r )7 r 9 s
e. !alah semua
**. /nit yang langsung terpasang pada 4urbo Pascal sehingga untuk
menggunakan perintah-perintah yang terdapat di dalam unit system
ini tidak perlu menggunakan perintah uses adalah
a. /nit JinCrt
+. 4nit S%"t$m
c. /nit JinDos
d. /nit !tring
e. /nit Dos
*+. /nit !tring adalah
a. /nit yang langsung terpasang pada 4urbo Pascal sehingga
untuk menggunakan perintah-perintah yang terdapat di dalam
unit system ini tidak perlu menggunakan perintah uses
b. /nit yang bekerja di dalam system Jindo5s
c. /nit yang bekerja di dalam system Dos
TIK (Modul Pascal) 24 Kelas XI Semester 3
d. /nit yang mengatur kerja layar dan keyboard atau .:.
$. 4nit %ang +$$r*a untu t$"!t$" %ang +$rada #ada
Pa"&al.
.
TIK (Modul Pascal) 25 Kelas XI Semester 3
*-. Perintah yang berguna untuk mendefinisikan suatu type yang
akan dimasukkan ke dalam suatu 2ariable adalahL.
a. 4ype
b. Const
c. Qar
d. :perator
e. 3abel
*0. Aange --+.G<F sampai E -+.G<G adalah tipe 2ariable LL
a. !hortint
b. nteger
c. 3ongint
d. Byte
e. Jord
*;. Jord adalah tipe 2ariable dengan range L.
a. -*+F sampai E*+G
b. --+.G<F sampai E -+.G<G
c. @ - +;;
d. @ - <;;-;
e. salah semua
*<. Nilai dari +- di2 ; adalah
a. +
b. -
c. 0
d. ;
e. <
*G. Nilai dari +- mod ; adalah
a. +
b. -
c. 0
d. ;
e. <
*F. &anakah yang salah dari deklarasi di ba5ah ini
a. #rogram aI &on"t B1JI
b. program abc N const p)<N
c. program pRr N const r)7FN
d. program satuN const 8>yN
TIK (Modul Pascal) 26 Kelas XI Semester 3
*B. &anakah yang benar dari deklarasi di ba5ah ini
a. #rogram a+&I
=ar KL % 6 r$alI
b. program pRrN
2ar 8,y7byteN
c. program 8y? N
2ar 8)7booleanN
d. program klmN
2ar ?,y7charN
e. !alah semua
+@. &anakah yang salah dari deklarasi di ba5a ini )
a. =ar a B arra%M1..:N o) int$g$r I
b. 2ar a ) arrayS@..;T of byte N
c. 2ar a ) arrayS+..<T of byte N
d. 2ar a ) arrayS*..;T of real N
e. !alah semua
ESSA3
*. Apa saja yang terdapat pada bagian deklarasi suatu Program
4urbo Pascal
+. Apakah yang dimaksud dengan kata-kata di ba5ah ini, pada
bagian deklarasi program pascal.
a. Program
b. Const
c. nteger
d. Double
e. 3abel
-. 4uliskan nama-nama.identifier 2ariable untuk menyimpan
data-data)
a. Nama murid kelas -A
b. 'umlah guru di sekolah
c. Banyaknya tabungan saat ini.
d. 3uas silinder
e. Banyaknya kaset yang dise5a
0. &isalkan anda mendeklarasikan 2ariable sebagai berikut )
Qar
a, b, c ) ntegerN
8, y, ? ) AealN
d, e ) charN
p, R ) BooleanN
i ) 3ongintN
TIK (Modul Pascal) 27 Kelas XI Semester 3
r ) !tringS;TN
s ) !tringS-+TN
TIK (Modul Pascal) 28 Kelas XI Semester 3
Pernyataan manakah yang tidak dapat dipakai di dalam program
utama anda U
a.
c )7 a E bN
b.
c )7 a.bN
c.
c )7 a M bN
d.
8 )7 y E ?N
e.
8 )7 y.?N
f.
8 )7 y 9 ?N
g.
d )7 VbWN
h.
e )7 X-*N
i.
p )7 4rueN
j.
R )7 4rue or KalseN
;. Apabila dideklarasikan )
Qar
A, B, C ) AealN
I, ,, Y ) ntegerN
P ) !tring S0@TN
6 ) CharN
Dan diketahui
A 7 -.+ B 7 <.@ C 7 *.;
I 7 0 , 7 <- Y 7 *G
Apa hasil dari ekspresi-ekspresi berikut ini )
a. A )7 @.; 9 A
b. B )7 A.0
c. I )7 I E *
d. , )7 I 9 +
e. C )7 C M A M B
f. P )7 V!elamatW E
VBelajarW
g. 6 )7 X<;
h. 6 )7 VYW
i. I )7 *@ di2 0
j. Y )7 ** mod 0
<. /bahlah rumus-rumus berikut ini menjadi ekspresi yang
sesuai dengan Pascal )
a. y 7 m8 E c
b. 8 7 2t E @.;at
+
c.
45
y x
w
+
=
d.
q p
b a
q p
x
n
2 3 +
+

=
e. ? 7 *-t
0
E *@t
-
E ;t
+
E *@
f. j 7 "k E -#j
G. Buatlah program untuk menghitung luas
sebuah segitiga yang memiliki alas *+.;@ dan tinggi ;@. Pergunakan
deklarasi Qar.
TIK (Modul Pascal) 29 Kelas XI Semester 3
F. Buatlah program yang dipergunakan
untuk menghitung honorarium seorang manajer pada akhir bulan.
Dalam satu bulan, ia bekerja +; hari. !etiap hari ia bekerja < jam.
!etiap jam ia mendapatkan Ap. *;.@@@,- dan ia kena pajak
pendapatan sebesar *@Z. Pergunakan deklarasi QAA dan C:N!4
apabila perlu. 'alankan, lalu simpan ke Klash Disk.
BAB III ELEMEN DASAR T4RBO PAS,AL /
1.1. Strutur Program Pa"&al
1./. INP4TA O4TP4T
1./.1. 7rit$ dan 7rit$ln
Perintah Jrite dan Jriteln adalah perintah yang berguna untuk
mencetak kata-kata atau 2ariable ke layar komputer. Contoh untuk
TIK (Modul Pascal) 30 Kelas XI Semester 3
'/D/3 PA:CAA&
B3:( PA:CAA&
Program NamaDProgramN
4"$" JinCrtN
,on"t NamaD(onstanta 7
Nilaikonstanta
T%#$ NamaDtype 7 4ipeDataN
5ar NamaD2ariabel ) 4ipeDataN
Pro&$dur$ NamaDProsedurN
Begin
Pernyataan
1ndN
Fun&tion NamaDfunction )
4ipeDataN
Begin
PernyataanN
1nd.
Begin OProgram /tamaP
Blok statemen. pernyataanN
Bagian Deklarasi
Deklarasi /nit
Deklarasi (onstanta
Deklarasi 4ipe
Deklarasi Qariabel
Deklarasi Prosedur
Deklarasi Kungsi
Bagian Pernyataan
Begin
Blok !tatemen.
Pernyataan
1nd.
mencetak kata V!edang belajar pascalW, perintah yang dapat diberikan
adalah )
Jrite "Vsedang belajar pascalW# Atau Jriteln "Vsedang belajar pascalW#
Prat$ 1 -0$tian dalam #rogram Pa"&al.
Program &encetak*N
4"$" JinCrtN
B$gin
Jrite "Vsedang belajar pascalW#N
End.
TIK (Modul Pascal) 31 Kelas XI Semester 3
Prat$ / -0$tian dalam #rogram Pa"&al.
Program &encetak+N
4"$" JinCrtN
B$gin
Jrite "Vsedang belajar pascalW#N
Jriteln "Vsedang belajar pascalW#N
Jrite "Vsedang belajar pascalW#N
Jriteln "Vsedang belajar pascalW#N
Jriteln "Vsedang belajar pascalW#N
Jriteln "Vsedang belajar pascalW#N
End.
Prat$ 1 -0$tian dalam #rogram Pa"&al.
Program &encetak-N
4"$" JinCrtN
Const
A ) nteger 7 *@@N
B$gin
Jrite "A#N
End.
Prat$ 8 -0$tian dalam #rogram Pa"&al.
Program &encetak0N
4"$" JinCrtN
Const
A ) nteger 7 *@@N
B$gin
Jrite "VNilai yang terdapat di A adalahW,A#N
End.
6asil yang tampak pada layar adalah $Nilai yang tedapat di A adalah )
*@@#
Pada layar hasil akan tercetak angka *@@, yang merupakan hasil dari
proses program di atas.
Dari contoh program di atas dapat disimpulkan beberapa hal mengenai
Write dan Writeln, yaitu )
!egala sesuatu yang hendak di cetak harus terdapat diantara
kurung buka S - N dan kurung tutup S . T.
Bila ingin mencetak kata-kata, kata tersebut harus terdapat di
antara tanda petik satu "V#, sedang untuk mencetak 2ariable tidak
perlu diberikan tanda petik satu "V#.
TIK (Modul Pascal) 32 Kelas XI Semester 3
/ntuk setiap pemakaian Jrite dan Jriteln harus diakhiri dengan
tanda titik koma "N#.
TIK (Modul Pascal) 33 Kelas XI Semester 3
1././. 0om$ntar
(omentar adalah bagian program yang tidak akan diproses oleh
4urboPascal. (omentar ini hanya digunakan sebagai dokumentasi saja.
/ntuk memulai suatu komentar, harus memberikan tanda
O dan diakhiri P
1.1. R$ad dan R$adln
&emang tidak ada perbedaan yang jelas antara perintah read dan
readln. Perbedaan read dan readln ini akan terdapat pada operasi file,
sedang perbedaan bila input dari standar input atau keyboard adalah
pada pemasukan 1nter. Aead tidak akan menerima 1nter, sedangkan
Aeadln akan menerima 1nter sebagai masukan.
Prat$ : -0$tian dalam #rogram Pa"&al.
Program ambil*N
4"$" JinCrtN
Qar
A ) ntegerN
B$gin
Jrite "V&asukan suatu angka )W #N
Aead "A#N
Jriteln "VAngka yang baru Anda masukan adalah ) V, A#
End.
Prat$ ; -0$tian dalam #rogram Pa"&al.
Program ambil+N
4"$" JinCrtN
Qar
Nama ) stringN
B$gin
Jrite "V&asukan Nama Anda )W #N
Aead "A#N
Jriteln "V!elamat Belajar Pascal V, A#
End.
Prat$ < -0$tian dalam #rogram Pa"&al.
Program ambil-N
4"$" JinCrtN
Qar
Nilai ) AealN
Nama ) !tringN
TIK (Modul Pascal) 34 Kelas XI Semester 3
B$gin
Jrite "V&asukan Nama dan Nilai Anda dengan diselingi spasiW #N
Aeadln "Nama, nilai#N
Jriteln "V!audara V,Nama,WAnda mendapat nilai V,nilai#N
End.
1.8. R$ad$%
Aeadkey adalah fungsi masukan yang hanya akan mengambil
satu karakter masukan. 'enis 2ariable yang dapat diinput oleh Aeadkey
pun hanya jenis karakter.
,ontoh Prat$ < -0$tian dalam #rogram Pa"&al.
Program Aeky*N
4"$" JinCrtN
Qar
Ch ) CharN
B$gin
Jriteln "V4ekan (arakter apa saja)W #N
Ch )7 AeadkeyN
Jriteln "V(arakter yang baru Anda tekan adalah V,Ch#
End.
TIK (Modul Pascal) 35 Kelas XI Semester 3
LATI2AN
PILI2AN GANDA
*. Perintah yang digunakan untuk mencetak kata-kata atau
2ariable ke layar computer adalahL
a. Aeadln
b. Jriteln
c. nput
d. :utput
e. !alah semua
+. Perhatikan Program di ba5ah
Program soal+N
4"$" JinCrtN
B$gin
Jriteln "Vsedang belajar pascalW#N
Jrite "Vsedang belajar pascalW#N
Jriteln "Vsedang belajar pascalW#N
End.
6asilnya adalahL.
a. sedang belajar
pascal sedang
belajar pascal
sedang belajar
pascal
b. sedang belajar
pascal
sedang belajar pascal
sedang belajar pascal
c. sedang belajar
pascal
sedang belajar pascal sedang belajar pascal
d. sedang belajar
pascal sedang
belajar pascal
sedang belajar pascal
e. !alah semua
-. Perhatikan Program di ba5ah
Program soal-N
4"$" JinCrtN
B$gin
Jrite "Vsedang belajar pascalW#N
Jriteln "Vsedang belajar pascalW#N
Jriteln "Vsedang belajar pascalW#N
End.
TIK (Modul Pascal) 36 Kelas XI Semester 3
6asilnya adalahL.
a. sedang belajar
pascal sedang
belajar pascal
sedang belajar
pascal
b. sedang belajar
pascal
sedang belajar pascal
sedang belajar pascal
c. sedang belajar
pascal
sedang belajar pascal sedang belajar pascal
d. sedang belajar
pascal sedang
belajar pascal
sedang belajar pascal
e. !alah semua
0. Perhatikan program di ba5ah
1) Program "oal8
2) 4"$" JinCrtN
1. Const
A ) nteger 7 *@@N
8. B$gin
Jrite "VAW#N
:. End.
Pada soal nomor 0 terdapat kesalahan yaitu pada nomor
a.
*
b.
+
c.
-
d.
0
e.
;
;. Apabila soal nomor 0 telah diperbaiki maka hasilnya adalah )
a.
*@@
b.
+@@
c.
-@@
d.
A
e.
!alah semua
<. 3ambang komentar adalah
a.
N
b.
)
c.
O P
d.
" #
TIK (Modul Pascal) 37 Kelas XI Semester 3
e.
$ $
G. Aeadkey adalah
a. Kungsi masukan
yang hanya akan
mengambil satu
karakter masukan.
b. Kungsi masukan
yang boleh
mengambil
beberapa karakter
c. Kungsi (eluaran
yang mengambil
satu karakter
masukan
d. Kungsi (eluaran
yang boleh
mengambil
beberapa karakter
e. !alah semua
F. Perhatikan Program di ba5ah
Program soalFN
4"$" JinCrtN
B$gin
Jrite"Vpascal teh lieurW#N
Jrite"Vpascal teh lieurW#N
Jrite"Vpascal teh lieurW#N
End.
6asilnya adalahL.
a. pascal teh lier
pascal teh lieur
pascal teh lieur
b. pascal teh lier
pascal teh lier
pascal teh lier
c. pascal teh lier
pascal teh lier
pascal teh lier
d. pascal teh lier
pascal teh lier
pascal teh lier
e. !alah semua
B. Perhatikan Program di ba5ah
Program soalBN
4"$" JinCrtN
TIK (Modul Pascal) 38 Kelas XI Semester 3
B$gin
Jrite"Vpascal teh lieurW#N
Jrite"Vpascal teh lieurW#N
Jrite"Vpascal teh lieurW#N
End.
6asilnya adalahL.
a. pascal teh lier
pascal teh lieur
pascal teh lieur
b. pascal teh lier
pascal teh lier
pascal teh lier
c. pascal teh lier
pascal teh lier
pascal teh lier
d. pascal teh lier
pascal teh lier
pascal teh lier
e. !alah semua
*@. Perhatikan Program di ba5ah
Program soalBN
4"$" JinCrtN
B$gin
Jriteln"Vpascal teh lieurW#N
Jriteln"V pascal teh lieurW#N
Jriteln"Vpascal teh lieurW#N
End.
6asilnya adalahL.
a. pascal teh lier
pascal teh lieur
pascal teh lieur
b. pascal teh lier
pascal teh lier
pascal teh lier
c. pascal teh lier
pascal teh lier
pascal teh lier
d. pascal teh lier
pascal teh lier
pascal teh lier
e. !alah semua
TIK (Modul Pascal) 39 Kelas XI Semester 3
ESSA3
*. Buatlah program untuk mencetak tulisan seperti di ba5ah ini )
4urbo Pascal
4urbo Pascal
4urbo Pascal
4urbo Pascal
4urbo Pascal
+. Buatlah program yang dapat menampilkan seperti di ba5ah ini )
99999 99999
99999 99999
99999 99999
99999999999999999
99999999999999999
99999 99999
99999 99999
99999 99999
-. Buatlah program dengan contoh hasil eksekusi sebagai berikut )
Nama ) nge "di input#
Nama (eluarga ) !udjono "di input#
Nama 3engkap Anda adalah ) nge !ujono
0. Buatlah program sebagai berikut )
a. &enghitung luas sebuah segitiga dengan input data berupa
pangjang alas, dan tinggi segitiga tersebut.
b. &enghitung luas lingkaran dengan input data berupa keliling
lingkaran tersebut.
c. &enghitung laba jika diketahui harga penjualan dan harga
pembelian
d. &enghitung diskon jika diketahui harga penjualan sebelum discout
dan harga penjualan setelah discout.
;. 4uliskan bentuk-bentuk ekspresi ini dalam bahasa Pascal )
f. 8 7 ;
g. ? 7 a 9 b
+
M t
-
h.
t p
y x
w
4
3

+
=
i.
p a
r p
r
p a
g
+

=
8 2 5
10

TIK (Modul Pascal) 40 Kelas XI Semester 3
<. Apakah hasil dari ekspresi-ekspresi Boolean berikut ini apabila
diketahui 8 7 ;, y 7 VArleneN, 7 0, ' 7 G, ( 7 *+, 3 7 *B.
a. *@ > ;
b. 8 9 + E - > 8 9 ;
c. y H> V3alaW
d. ", 7 VArlenW# or ", 7 V3alaW#
e. "not"I >7 ;## or ", 7
V3alaW#
f. "' H *@# or "( 7 G# and "3 >
*@#
g. "' > *@# or "( 7 G# and "(
H> *@#
h. not " H '# or "" H> (# and
"( H> 3##
i. not " H '# or " H> (# and
"( H> 3#
j. "non " H '# or " H> (## and
"( H> 3#
7. Buatlah sebuah program untuk menghitung keliling suatu segitiga
yang memiliki sisi berturut-turut a 7 *@, b 7 +; dan c 7 -@.
F. Buatlah program yang akan menghitung panjang sisi miring suatu
segitiga siku-siku. Panjang kedua sisi yang lain ditanyakan oleh program.
Cunakan fungsi sRrt untuk menghitung akar suatu bilangan, dan fungsi sRr
untuk menghitung kuadrat "pangkat dua# suatu bilangan.
TIK (Modul Pascal) 41 Kelas XI Semester 3
BAB I5 PEN3ELE0SIAN 0ONDISI
8.1. 0ondi"i
/ntuk menyatakan kondisi, diperlukan dua buah besaran yang
dibandingkan. /ntuk membandingkan kondisi ini diperlukan tanda-
tanda pembanding.
B -"ama d$ngan. I D -L$+ih +$"ar. I C l$+ih $&il I D B -l$+ih
+$"ar atau "ama d$ngan . I C B -l$+ih $il atau "ama d$ngan. I
C D tida "ama d$ngan.
Bila suatu pernyataan kondisi memerlukan dua kondisi, dapat
digabungkan dengan operator :r dan And.
0ondi"i And -dan. 0ondi"i Or -atau.
0ondi"i
1
0ondi"i
/
2a"il 0ondi"i
1
0ondi"i
/
2a"il
B$nar B$nar B$nar B$nar B$nar B$nar
B$nar Salah Salah B$nar Salah B$nar
Salah B$nar Salah Salah B$nar B$nar
Salah Salah Salah Salah Salah Salah
8./. IF O Th$n
(ondisi i) O th$n merupakan kondisi yang paling sederhana.
If kondisi then proses untuk kondisi benar;
,ontoh Prat$ 1 -0$tian dalam #rogram Pa"&al.
Program If_01;
uses WinCrt;
Var
A, B Integer;
Begin
!rite "#$asukkan Angka Pertama #%;
readln"A%;
!rite "#$asukkan Angka &edua #%;
readln"B%;
If A ' B then
Write "#A lebih besar dari B#%;
(nd)
8.1. I) O th$n O $l"$
TIK (Modul Pascal) 42 Kelas XI Semester 3
Bila ifLthen hanya menyatakan kondisi yang benar, pernyataan kondisi
ifLthenLelse dapat menampung dua kondisi.
I) ondi"i th$n ondi"i +$nar $l"$ ondi"i "alahI
,ontoh Prat$ / -0$tian dalam #rogram Pa"&al.
Program If_0*;
uses WinCrt;
Var
A, B Integer;
Begin
!rite "#$asukkan Angka Pertama #%;
readln"A%;
!rite "#$asukkan Angka &edua #%;
readln"B%;
If A ' B then
Write "#A lebih besar dari B#%;
(lse
Write"+B lebih besar dari A,%;
(nd)
4.4. I) O th$n +$rtingat
&aksud f..then bertingkat adalah perintah ifLthen dengan if dalam
suatu if. 4ingkatan ini ditentukan oleh tanda titik koma "N# yang
merupakan akhir dari suatu kalimat.
,ontoh Prat$ 1 -0$tian dalam #rogram Pa"&al.
Program If_0-;
uses WinCrt;
Var
.uhu Integer;
Begin
!rite "#$asukkan /ilai .uhu #%;
readln".uhu%;
If .uhu 0 0 then
Write "#Bentuk Benda Beku#%
(lse If ".uhu'10% And ".uhu01100% then
Write"+Bentuk Benda Cair,%
(lse
Write"+Bentuk Benda 2as,%;
(nd)
,ontoh Soal
1. Buatlah program yang menanyakan Nilai jika nput )
antara @ M <B &uncul "Nilai (urang perlu remedial#
antara G@ M *@@ &uncil "Nilai !udah Bagus tidak remedial#
TIK (Modul Pascal) 43 Kelas XI Semester 3
selain di atas muncul "Anda salah memasukkan nilai coba ulangi Nilai
antara @ M *@@#
2. Buatlah program pada nilai
kuliah. Dengan persyaratan berikut)
'ika nilai lebih dari <@ anda lulus mata kuliah ini
'ika nilai lebih dari sama dengan F; anda mendapat nilai A
'ika nilai lebih dari sama dengan G@ anda mendapat nilai B
'ika nilai lebih dari sama dengan <@ anda mendapat nilai C
'ika kurang dari <@ anda tidak lulus
3. Buatlah program yang menanyakan umur seseorang. Apabila
umurnya kurang dari *G tahun, maka dicetak tulisan VCuci kaki, lalu tidur
saja yaaLW. Apabila umurnya *G hingga 0; tahun, dicetak tulisan Vselamat
menyaksikanLW, apabila umurnya lebih dari 0; tahun, dicetak tulisan
sebaiknya opa istirahat sajaLW.
8.:. ,a"$ O O)
CaseL:f adalah pemecahan dari if bertingkat. Pada CaseL:f dapat
dilakukan perbandingan beberapa kondisi dari suatu 2ariable.
,a"$ =aria+l$ o) #$luangI $ndI
Dimana 2ariable adalah 2ariable yang akan diperiksa isinyaN peluang
adalah kemungkinan isi 2ariable dan apa yang dilakukan jika peluang
tersebut benar. !etiap pelung harus diakhiri dengan tanda titik koma "N#.
'angan lupa memberikan kata 1ndN pada akhir case.
,ontoh Prat$ 8 -0$tian dalam #rogram Pa"&al.
1. program MenuRestoran
2.
3. !ses
4. Crt
5.
6. "ar
7. pi#ih $ integer
8.
9. begin
10. %rite#n&'Menu Restoran (un) *ood'+
11. %rite#n&',,,,,,,,,,,,,,,,,,,,,,,'+
12. %rite#n&'1. Cireng gi#a'+
13. %rite#n&'2. -a#a,ba#a ge#o'+
14. %rite#n&'3. .ehu gare#o+
15. %rite&'/i#ih pi#ihan anda $ '+
16. read#n&pi#ih+
TIK (Modul Pascal) 44 Kelas XI Semester 3
17. case pi#ih o0
18. 1 $ %rite#n&'1e#amat Meni)mati Cireng .i#a'+
19. 2 $ %rite#n&'1e#amat Meni)mati -a#a,ba#a .e#o'+
20. 3 $ %rite#n&'1e#amat Meni)mati .egu gare#o2+
21. e#se
22. %rite#n&'1a#ah 3nput4 Masu))an ang)a 15 25 atau 344'+
23. end
24. read#n
25. end.
,ontoh Prat$ : -0$tian dalam #rogram Pa"&al.
Program ,a"$HJ/I
4"$" 9in&rtI
5ar
,h 6 &harI
B$gin
Jrite "Vmasukkan suatu karakter ) V#N
Ch )7 AeadkeyN
Case Ch of
VAW ) Jriteln "VAnda menekan AW#N
VBW ) Jriteln "VAnda menekan BW#N
VCW ) Jriteln "VAnda menekan CW#N
1ndN
End.
,ontoh Prat$ ; -0$tian dalam #rogram Pa"&al.
Program ,a"$HJ1I
4"$" 9in&rtI
5ar
I 6 Int$g$rI
B$gin
Clr!crN
Jrite "Vmasukkan suatu bilangan V#N
Aeadln "#N
Case of
*, +, -, 0, ;, <, G, F, B, *@ )
Jriteln "VAnda menekan antara * hingga *@W#N
**,*+,*-,*0, *;, *<, *G, *F, *B, +@ )
Jriteln "VAnda menekan antara ** hingga +@W#N
+*, ++, +-, +0, +;, +<, +G, +F, +B, -@ )
Jriteln "VAnda menekan antara +* hingga -@W#N
1ndN
End.
8.;. ,a"$ O O) O El"$
TIK (Modul Pascal) 45 Kelas XI Semester 3
Penambahan 1lse pada Case L :f adalah untuk mengambil alih pilihan
yang tidak terdapat pada daftar pilihan.
,a"$ =aria+l$ o) #$luangI $l"$ +agian $l"$I $ndI
Bila pada program terdapat masukan di luar pilihan, secara otomatis
proses program akan dilempar ke 1lse, bukan keluar dari struktur case
seperti pada Case L :f.
,ontoh Prat$ < -0$tian dalam #rogram Pa"&al.
Program ,a"$HJ1I
4"$" 9in&rtI
5ar
I 6 Int$g$rI
B$gin
Clr!crN
Jrite "Vmasukkan suatu bilangan V#N
Aeadln "#N
Case of
*..*@ )
Begin
Jriteln "VAnda menekan antara * hingga *@W#N
Jriteln "Vmasukan yang tepat U#
1ndN
**..+@ )
Begin
Jriteln "VAnda menekan antara ** hingga +@W#N
Jriteln "VAngka yang tertinggi adalah +@ UW#N
1ndN
+*..-@ )
Begin
Jriteln "VAnda menekan antara +* hingga -@W#N
Jriteln "V4epatnya adalah )W,i#N
1ndN
1lse Begin
Jriteln "V&asukan anda tidak memenuhi peluang V#N
Jriteln "Vcoba jalankan program sekali lagiW#N
1ndN
1ndN
End.
,ontoh Prat$ > -0$tian dalam #rogram Pa"&al.
program caseD@*N
/ses JinCrtN
Qar
Angka ) AealN
Pilihan ) ntegerN
Begin
TIK (Modul Pascal) 46 Kelas XI Semester 3
Clr!crN
Jriteln"[(on2ersi /kuran Panjang [#N
5riteln"[(etikkan angka yang anda pilih [#N
Jriteln"[*. &ile ke (ilometer[#N
Jriteln"[+. ,ard ke &eter[#N
Jriteln"[-. Koot ke &eter[#N
Jriteln"[0. nch ke Centimeter[#N
5ritelnN
5rite"[Pilihan ) [#N
readln"pilihan#N
TIK (Modul Pascal) 47 Kelas XI Semester 3
Case pilihan :f
* ) Begin
5rite"[Angka mile ) [#Nreadln"angka#N
5rite"angka);)-,[ mile 7 [#N
5riteln"angka 9 *.<@B-)*@)0,[ kilometer[#N
endN
+ ) Begin
5rite"[angka yard ) [#Nreadln"angka#N
5rite"angka);)-,[ ,ard 7 [#N
5riteln"angka 9 @.B*00)*@)0,[ meter[#N
endN
- ) Begin
5rite"[Angka foot ) [#Nreadln"angka#N
5rite"angka);)-,[ foot 7 [#N
5riteln"angka 9 @.-@0F)*@)0,[ meter[#N
endN
0 ) Begin
5rite"[Angka inch ) [#Nreadln"angka#N
5rite"angka);)-,[ mile 7 [#N
5riteln"angka 9 +.;0)*@)0,[ centimeter[#N
endN
endN
end.
TIK (Modul Pascal) 48 Kelas XI Semester 3
Latihan
Pilihan Ganda
*. Diberikan potongan algoritma sbb )
nput"N#
f N >7 @ then
A -N
1nd if
:utput"A#
'ika dari perintah nput"N#, dimasukkan data -;, maka 4ampilan dari
:utput"A# adalah
a. @
b. -;
c. -*@
d. ;
e. salah semua
+. 'ika dari perintah nput"N# soal di atas, dimasukkan data *@, maka 4ampilan
dari :utput"N# adalah
a. @
b. *@
c. -*@
d. ;
e. salah
semua
-. Diberikan potongan algoritma sbb )
nput"N#
f N H @ then
I -*@@
1lseif N >@ then
I *@@
1lse
I @
1nd if
:utput"I#
'ika dari perintah nput"N#, dimasukkan data ;, maka :utput"I#
menampilkan
a. @ b. *@@ c. -*@@
d. ; e. salah semua
Perhatikan program berikut ) "!oal nomor 0 M <#
Program 3ika;
uses WinCrt;
Var
.uhu .hortint;
Begin
!rite "#$asukkan /ilai .uhu #%;
readln".uhu%;
If .uhu ' 0 then
Write "#Bentuk Benda Beku#%
(lse If ".uhu'10% And ".uhu01100% then
TIK (Modul Pascal) 49 Kelas XI Semester 3
Write"+Bentuk Benda Cair,%
(lse
Write"+Bentuk Benda 2as,%;
(nd)
0. Apabila !uhu dimasukkan nilai M +@ akan tampil
a. -+@
b. Cair
c. Beku
d. Padat
e. !alah semua
;. Apabila !uhu dimasukkan nilai +@ akan tampil
a. -+@
b. Cair
c. Beku
d. Padat
e. !alah semua
<. Apabila !uhu dimasukkan nilai *+F akan tampil
a. -+@
b. Cair
c. Beku
d. Padat
e. !alah semua
P$rhatian #rogram +$riut 6 -Soal nomor < P 1J.
program 4ase_01;
5ses WinCrt;
Var
Angka 6eal;
Pilihan Integer;
Begin
Clr.4r;
Writeln"#&on7ersi 5kuran Pan3ang #%;
!riteln"#&etikkan angka 8ang anda pilih #%;
Writeln"#1) $ile ke &ilometer#%;
Writeln"#*) 9ard ke $eter#%;
Writeln"#-) :oot ke $eter#%;
Writeln"#;) In4h ke Centimeter#%;
!riteln;
!rite"#Pilihan #%;
readln"pilihan%;
Case pilihan <f
1 Begin
!rite"#Angka mile #%;readln"angka%;
TIK (Modul Pascal) 50 Kelas XI Semester 3
!rite"angka=-,# mile 1 #%;
!riteln"angka > 1)?0@-10;,# kilometer#%;
end;
* Begin
!rite"#angka 8ard #%;readln"angka%;
!rite"angka=-,# 9ard 1 #%;
!riteln"angka > 0)@1;;10;,# meter#%;
end;
- Begin
!rite"#Angka foot #%;readln"angka%;
!rite"angka=-,# foot 1 #%;
!riteln"angka > 0)-0;A10;,# meter#%;
end;
; Begin
!rite"#Angka in4h #%;readln"angka%;
!rite"angka=-,# In4h 1 #%;
!riteln"angka > *)=;10;,# 4entimeter#%;
end;
end;
end)
G. Apabila Pilihan di input + dan angka di masukkan + akan tampil
a. + &ile 7 *.F+FF meter
b. + ,ard 7 + meter
c. + ,ard 7 *.F+FF meter
d. + &eter 7 *.F+FF ,ard
e. !alah semua
F. Apabila Pilihan di input - dan angka di masukkan +@@ akan tampil
a. - Koot 7 +@@ meter
b. - &eter 7 +@@ Koot
c. - Koot 7 <@.B< meter
d. +@@ &eter 7 - foot
e. !alah semua
B. Apabila Pilihan di input * dan angka di masukkan *@ akan tampil
a. * &ile 7 *<.@B-@ (ilometer
b. * &ile 7 *@ (ilometer
c. *@ &ile 7 * (ilometer
d. * &ile 7 * (ilometer
e. !alah semua
*@. Apabila Pilihan di input 0 dan angka di masukkan *@ akan tampil
a. 0 nch 7 *@ Centimeter
b. *@ nch 7 +;.0 Centimeter
c. 0 nch 7 * Centimeter
d. *@ nch 7 *@ Centimeter
e. !alah semua
TIK (Modul Pascal) 51 Kelas XI Semester 3
TIK (Modul Pascal) 52 Kelas XI Semester 3
E""a%
*. /bahlah pernyataan-pernyataan berikut ini menjadi pernyataan
K .. 461N .. 13!1 .. "Pergunakanlah identifier sesuai kreasi anda#
b. 'ika honorarium lebih kecil dari F@@@@@, kena pajak +Z
c. 'ika potongan harga barang lebih mahal dari *;@@@@@@,
mendapatkan potongan harga 0.;Z.
d. 'ika *@ H7 I H +@ maka nilai , dihitung dari rumus , 7 +I
+
E *@ .
I
-
.
e. 'ika I H *@ atau I >7 +@ maka nilai , dihitung dari rumus , 7 *@ 9
I M I
0
M *+
+. /bahlah pernyataan berikut ini menjadi pernyataan dengan CA!1 ..
:K .. 13!1 .. yang sesuai "pergunakan identifier sesuai kreasi anda#
a. 'ika umurnya *<, maka kelas 7 *
'ika umurnya *G, maka kelas 7 +
'ika umurnya *F, maka kelas 7 -
b. 'ika namanya Agus, maka hobbynya berenang
'ika namanya Boyke, maka hobbynya naik ke gunung
'ika namanya Cherry maka hobbynya tari ballet
'ika namanya Dianne, maka hobbynya balap mobil
c. 'ika jaraknya *@@ km, maka tariff Ap <@ . km
'ika jaraknya +@@ km, maka tariff Ap G@ . km
'ika jaraknya -@@ km, maka tariff Ap F@ . km
'ika jaraknya 0@@ km, maka tariff Ap B@ . km
!elain jarak yang disebutkan di atas, maka tariff rp *@@ . km
TIK (Modul Pascal) 53 Kelas XI Semester 3
-. !ebuah perusahaan mempekerjakan pega5ai-pega5ai dari
golongan *, +, -, 0, ;, <. Peraturan gaji pada perusahaan itu menyatakan )
Bila * 7H golongan >7 - maka gaji 7 "golongan 9 jam kerja 9 upah per
jam# rupiah
Pajak 7 "+.;Z dari gaji# rupiah
3ibur 7 "+* . golongan# hari
Bonus 7 "golongan 9 +;@@@# rupiah
Bila golongan 7 0 atau < maka gaji 7 "golongan 9 jam kerja 9 upah per jam#
rupiah.
Pajak 7 "<.; Z dari gaji# rupiah
3ibur 7 "G . golongan# hari
Bonus 7 "golongan 9 ;@@@@# rupiah
Bila golongan 7 ; maka gaji 7 "golongan 9 jam kerja 9 upah per jam# rupiah
Pajak 7 "-.;Z dari gaji# rupiah
3ibur 7 "G . golongan# hari
Bonus 7 "golongan 9 0;@@@@# rupiah
Buat program yang menanyakan golongan, jam kerja dan upah per jam,
lalu menghitung besarnya gaji. !etelah dihitung, besarnya gaji, besarnya
pajak, besarnya bonus, dan lamanya berlibur akan dicetak ke layer.
0. Peraturan penerimaan sis5a pada suatu sekolah menyatakan
bah5a )
Bila nilai rata-rata G.; s.d *@ maka dapat diterima, selain itu, dapat
diterima asalkan membayar sumbangan sebesar
"*@. nilai rata-rata 9 +;@@@@#
Buatlah program yang menanyakan nama dan nilai rata-rata calon sis5a,
lalu menentukan diterima tidaknya dan besarnya sumbangan yang harus
dibayarkan.
;. Buatlah sebuah program yang menanyakan banyaknyaanak dalam
satu keluarga.
'ika banyaknya anak 7 * maka dicetak V(eluarga sangat kecilW
'ika banyaknya anak 7 + maka dicetak V(eluarga kecilW
'ika banyaknya anak 7 - maka dicetak Vkeluarga sedangW
'ika banyaknya anak 7 0 maka dicetak Vkeluarga agak besarW
'ika banyaknya anak 7 ; maka dicetak Vkeluarga besarW.
Pergunakanlah pernyataan CA!1..:K . untuk menyederhanakan program.
TIK (Modul Pascal) 54 Kelas XI Semester 3
BAB 5 PENG4LANGAN PROSES
:.1. P$rintah Goto
/ntuk melaksanakan perintah Coto, diharuskan mendefinisikan suatu
label terlebih dahulu. 3abel tersebut didefinisikan pada daerah deklarasi
dengan kata label.
Goto La+$lI
,ontoh Prat$ /< -0$tian dalam #rogram Pa"&al.
Program Lua"1I
4"$" 7in,rtI
Qar
3ebar, tinggi, pajang, jari ) AealN
3uas ) realN
Pilihan ) ntegerN
Ch ) Char
3abel *@N
Begin
*@ )
Clr!crN
Jriteln "V&asukan tugas yang hendak dilakukan V#N
Jriteln "V*. menghitung luas segitigaW#
Jriteln "V+. &enghitung luas persegi panjangW#N
Jriteln "V-. &enghitung luas 3ingkaranW#N
Jrite "VPilihan Anda )W#N
Aeadln "Pilihan#N
JritelnN
Case Pilihan :f
* ) Begin
Jrite "V&asukan lebar alas )W#N
Aeadln "3ebar#N
Jrite "V&asukan 4inggi !egitiga )W#N
Aeadln "tinggi#N
3uas )7 @.; 9 lebar 9 tinggiN
Jriteln "V3uas !egitiga adalah )W,3uas)*@)+#N
1ndN
+ ) Begin
Jrite "V&asukan lebar )W#N
Aeadln "3ebar#N
Jrite "V&asukan panjang )W#N
Aeadln "panjang#N
3uas )7 lebar 9 panjangN
Jriteln "V3uas Persegi empat adalah )W,3uas)*@)+#N
1ndN
TIK (Modul Pascal) 55 Kelas XI Semester 3
- ) Begin
Jrite "V&asukan jari-jari )W#N
Aeadln "jari#N
3uas )7 pi 9 sRr"jari#N
Jriteln "V3uas lingkaran adalah )W,3uas)*@)+#N
1ndN
1lse goto *@
1ndN
JritelnN
Jrite "V&au &elakukan perhitungan lagi \ ",.N#W#N
Ch )7 AeadkeyN
f "Ch 7 V,W# or "Ch 7 VyW# then goto *@N
1nd.

:./. P$rulangan For
Kor adalah perulangan dengan jumlah perulangan tertentu. Perulangan
ini bergantung pada suatu 2ariable integer. Pada setiap perulangan,
2ariable tersebut akan bertambah atau berkurang satu.
For 5Hint 6B nHa9al ToA Do9nto nHahir do
Pro"$" %ang dila"anaanI
,ontoh Prat$ /> -0$tian dalam #rogram Pa"&al.
Program Kor*N
/ses 5incrtN
Qar
) ntegerN
Begin
ClrscrN
Kor )7 * to *@ do Jriteln "VNilai adalah ) V,#N
1nd.
,ontoh Prat$ /G -0$tian dalam #rogram Pa"&al.
Program Kor+N
/ses 5incrtN
Qar
) ntegerN
Begin
ClrscrN
Kor )7 * to *@ do
Begin
Jriteln "VNilai adalah )W,#N
f H> *@ then 5riteln "VNilai akan bertambah satuW#
1lse Jriteln "Vni adalah nilai terakhir V#N
TIK (Modul Pascal) 56 Kelas XI Semester 3
1ndN
1nd.
,ontoh Prat$ 1J -0$tian dalam #rogram Pa"&al.
Program Kor-N
/ses 5incrtN
Qar
) ntegerN
Begin
ClrscrN
Kor )7 *@ do5nto * do Jriteln "VNilai adalah ) V,#N
1nd.
:.1. P$rulangan 7hil$..Do
Proses perulangan Jhile..Do adalah proses dengan suatu kondisi.
(ondisi yang dimaksud sama seperti pada if.. 'adi dapat disimpulkan
bah5a Jhile..Do dapat disamakan dengan suatu kondisi f yang dapat
melakukan perulangan.
7hil$ ondi"i do #$rintahH%angHdiulangI
,ontoh Prat$ 11 -0$tian dalam #rogram Pa"&al.
Program Jhile*N
/ses JinCrtN
Qar
) ntegerN
Begin
ClrscrN
i )7 *N
Jhile H7 *@ do
Begin
Jriteln "VNilai adalah )W,i#N
nc"i#
1ndN
1nd.
,ontoh Prat$ 1/ -0$tian dalam #rogram Pa"&al.
Program Jhile+N
/ses JinCrtN
Qar
) ntegerN
Begin
ClrscrN
i )7 *@N
Jhile "i >7 *@# and " i H7 +@# do
Begin
TIK (Modul Pascal) 57 Kelas XI Semester 3
Jriteln "VNilai adalah )W,i#N
nc"i#
1ndN
1nd.
TIK (Modul Pascal) 58 Kelas XI Semester 3
:.8. P$rulangan R$#$at..4ntil
Perulangan Aepeat../ntil hampir sama dengan perulangan Jhile..Do.
perbedaannya adalah repeat..until mencek kondisi pada akhir looping,
sedang 5hile..do pada a5al looping.
R$#$at
Pro"$" %ang dila"anaan
4ntil ondi"iI
,ontoh Prat$ 11 -0$tian dalam #rogram Pa"&al.
Program repeat*N
/ses JincrtN
Qar
) ntegerN
Begin
ClrscrN
i )7 @N
repeat
inc"i#N
5riteln "VNilai adalah )W,i#N
/ntil i 7 *@N
1nd.
,ontoh Prat$ 18 -0$tian dalam #rogram Pa"&al.
Program repeat+N
/ses JincrtN
Qar
) ntegerN
Begin
ClrscrN
i )7 @N
repeat
inc"i#N
j )7 @
repeat
inc"j#N
5riteln "VNilai j adalah )W,j#N
until j 7 +N
5riteln "VNilai adalah )Wi#
/ntil i 7 ;N
1nd.
TIK (Modul Pascal) 59 Kelas XI Semester 3
LATI2AN
PILI2AN GANDA
*. Penggalan Program sebagai berikut
Qar
h, i, j ) ntegerN
begin
h)7@N
for j )7 * to *@ do
inc"h#Ni)7*N
j )7 @N
repeat
inc"i#N
inc"j#N
until i )7 *@N
if h7j then 5riteln "VC:3DW#
else 5riteln "V!3Q1AW#N
end.
Apa keluaran program di atas
a. C:3D
b. !3Q1A
c. C:3D
!3Q1A
d. !3Q1A
C:3D
e. !emua salah
+. Begin
' )7 *N
Kor i)7 * to ; do
Begin
Jriteln " i , W V , j #N
j )7 i M *N
endN
end.
:putnya adalah LLL
a. * *
+ *
* -
0 *
* ;
b. * *
+ +
- -
TIK (Modul Pascal) 60 Kelas XI Semester 3
0 0
; ;
c. * @
+ *
- +
0 -
; 0
d. * ;
+ 0
- -
0 +
; *
e. * *
+ @
- *
0 +
; -
-. Apakah output dari program berikut )
Qar
i, j, k ) integer
begin
' )7 -N
( )7 *N
Aepeat
Dec"j#N
Kor i)7 * to j do
()7 * E - 9 k
Dec"j#N
/ntil j H @N
Jriteln "k#N
1nd.
:uputnya adalah
a. -<
b. 0<
c. -*
d. *-
e. !alah semua
0. Penggalan program dideklarasikan sebagai berikut )
4ype ari 7 arrayS*..;T of byteN
Qar
8 )ari N
i, j ) byteN
TIK (Modul Pascal) 61 Kelas XI Semester 3
LLLLL.
for i)7* to ; do 8 S i T)7*@ di2 iN
j)7@N for i)7; do5nto * do j)7jE8S i TN
5riteln"j#N
:utput yang dicetak dari penggalan program di atas adalah )
a. ;
b. ++
c. ++.F
d. ;.++
e. !alah semua
5. &asih berhubungan dengan soal nomor 0 di atas. Bila array di
ubah dari ; menjadi *@, begitu juga pada for i)7* to *@ do dan for
i)7*@ do5nto * do maka, outputnya adalahL
a. +F.-
b. +F
c. +G
d. +<
e. !alah semua
<. Penggalan program pascal sebagai berikut )
,)7@N
Kor i)7* to ; do
Kor j)7; do5nto i do
,)7,EN
Jriteln",#N
6asil outputnya )
a. *;
b. +@
c. -;
d. 0@
e. !alah semua
G. &asih berhubungan dengan nomor < di atas. Bila statemen
,)7,EiN diganti dengan ,)7,EjN maka outputnya )
a. ;;
b. 0;
c. -;
d. +;
e. !alah semua
F. &asih menggunakan no. <. Bila statemen ,)7,Ei, diganti dengan
,)7,E*N maka outputnya menjadi
a. ;
b. *@
TIK (Modul Pascal) 62 Kelas XI Semester 3
c. *;
d. +@
e. !alah semua
B. Penggalan program sebagai berikut )
8)7@N y)7@N
5hile 8 H *@ do
begin
8)78E*N y)7yE8N
endN
5riteln"8, y#N
Berapa harga 8 yang tercetak \
a. B
b. *@
c. **
d. *+
e. !alah semua
10. &asih berhubungan dengan no. B, berapa harga y tercetak \
a. ;;
b. 0;
c. -<
d. -;
e. !alah semua
Penggalan program sebagai berikut )
A)7*@N B)7@N
Aepeat
B)7BE*N
A)7A M BN
/ntil A > BN
Jriteln"A, B#N
**. Berapa harga A yang tercetak \
a. *
b. *@
c. B
d. +
e. !alah semua
*+. &asih berhubungan dengan nomor ** harga B yang
tercetak \
a. *
b. *@
c. B
d. +
e. !alah semua
TIK (Modul Pascal) 63 Kelas XI Semester 3
*-. Penggalan program sebagai berikut )
A)7@N B)7*@N
Aepeat
A)7AE*N
B)7B M AN
/ntil A>BN
Jriteln"A, B#N
Berapa harga A yang tercetak \
a. @
b. 0
c. -
d. +
e. !alah semua
*0. &asih berhubungan dengan nomor *0, berapa harga B yang
tercetak \
a. 0
b. -
c. @
d. +
e. !alah semua
*;. Penggalan program sebagai berikut )
Kor i)7* to - do
Kor j)7* to i do
Jriteln"V4:( BGW#N
Berapa kali tercetak 4:(BG\
a. B kali
b. < kali
c. - kali
d. * kali
e. !alah semua
E""a%
*. Apakah perbedaan perulangan Jhile..Do dengan
Aepeat../ntil\
TIK (Modul Pascal) 64 Kelas XI Semester 3
2. Buatlah sebuah program untuk menghitung factorial suatu
bilangan. nput program adalah bilangan yang akan dicari
faktorialnya, output program adalah nilai faktorialnya. !ebagai
contoh, bila dimasukkan ;, keluaran program tersebut adalah ) "* 9 +
9 - 9 0 9 ;# *+@ U
-. Buatlah program yang dapat mencetak )
+@ *B *F *G L - + *
dengan syarat )
!etiap selesai mencetak ; buah bilangan maka dilayar akan dicetak pesan
Vsudah lima bilanganW.
0. Buatlah sebuah program yang dapat menghitung rata-rata dua
bilangan. !yaratnya adalah bilangan ke-* harus lebih besar dari bilangan
ke-+. 'ika tidak memenuhi syarat, maka cetaklah komentar )
&aaf, syarat tidak dipenuhi.
Bilangan-* harus lebih besar dari bilangan ke-+.
(emudian mintalah lagi nilai bilangan ke-* dan ke-+ sampai bilangan ke-*
lebih besar dari bilangan ke-+, baru hitung rata-ratanya.
;. Perhatikan deret bilangan berikut ini )
*,+,-,;,F,*-,+*,L
atau
-,0,G,**,*F,L
atau
<,G,*-,+@,--,L
Deret bilangan seperti ini disebut bilangan KB:NACC, rumus umumnya
adalah )
/n 7 /n-* E /n-+
Buatlah program yang dapat mencetak deretan bilangan KB:NACC ke
layer. Program diharapkan mempunyai urutan proses )
- menanyakan suku pertama dan suku kedua deret
- menanyakan banyaknya suku yang akan dicetak.
- &encetak deret di layer.
<. Buatlah program yang menampilkan menu sebagai berikut )
Pilih salah satu )
3 menghitung luas lingkaran
1 menghitung luas segi empat persegi panjang
! menghitung luas segitiga
8 keluar
Pilihan Anda 77777>
Bila pilihannya bukan 3, 1, ! atau 8 maka proses pemilihan akan diulang.
(emudian program akan melakukan sesuai dengan pilihan.
G. 4ampilkan deret bilangan KB:NACC ke layar menggunakan )
a. 3oop A1P1A4 L /N43 L
b. 3oop K:A L 4: L D:
F. Buatlah program untuk mengetahui nilai factorial suatu bilangan.
Cunakan pernyataan K:A .. 4: .. D: ..
TIK (Modul Pascal) 65 Kelas XI Semester 3
B. Buatlah program untuk mencetak bentuk seperti ini

Dengan pernyataan A1P1A4 L /N43 L


Dengan K:A .. 4: .. D: ..
*@. Buatlah program yang dapat melakukan proses sebagai berikut )
- &enanyakan + bilangan.
- &enanyakan operasi apa yang akan dilakukan terhadap + bilangan
itu " E , 9 , . , M#.
- &encetak hasilnya.
TIK (Modul Pascal) 66 Kelas XI Semester 3
BAB 5I PROSED4R -+agian 1.
;.1. P$ndahuluan
!elama ini, segala proses pemecahan masalah dilakukan di dalam
bagian utama program, yaitu antara B1CN dan 1ND. Apabila masalah
yang harus dipecahkan sangat besar dan kompleks, tentulah bagian
utama program akan tampak sangat semra5ut.
!atu-satunya cara untuk mengatasi hal ini adalah dengan
menambahkan beberapa blok program baru ke dalam blok program
yang sudah ada, untuk membantu bagian utama program.
&asalah yang sangat kompleks dipecah terlebih dahulu menjadi
beberapa sub-masalah yang lebih sederhana. !etiap sub-masalah yang
ada kemudian ditangani oleh sebuah blokDprogram. 'adi, di dalam
sebuah program Pascal akan terdapat bagian deklarasi, beberapa blok
program pembantu, dan bagian utama program.
Blok program pembantu adalah program Pascal biasa yang ditulis
menurut aturan tertentu. 'adi sebuah blok program akan memiliki judul,
bagian deklarasi, dan kumpulan pernyataan diantara BEGIN dan END.
Di dalam bahasa Pascal, blok program pembantu lebih dikenal dengan
sebutan MOD4L PROGRAM.
Bahasa Pascal mengenai adanya dua buah modul program, yaitu
#ro"$dur -PRO,ED4RE. dan )ung"i -F4N,TION., kedua jenis modul
program ini merupakan ciri khas yang dimiliki bahasa Pascal.
&asalah yang akan dipecah-pecah menjadi beberapa sub-
masalah. !etiap sub-masalah ditangani oleh sebuah prosedur atau
fungsi tersendiri. (umpulan beberapa prosedur dan fungsi akan
membentuk program Pascal yang terpadu dan terstruktur.
Berbagai hal tentang prosedur dibahas dalam Bab < dan Bab G,
sedang tentang fungsi dibahas pada Bab F.
;./. P$ng$rtian Pro"$dur
TIK (Modul Pascal) 67 Kelas XI Semester 3
Prosedur adalah modul program Pascal, yaitu block program Pascal
yang digunakan untuk membantu bagian utama program.
TIK (Modul Pascal) 68 Kelas XI Semester 3
,ontoh ;!1 6
Program &encariDjumlahDdanDAatarataN
Qar
a, b , c ) ntegerN
'umlah ) ntegerN
Aata ) AealN
Begin
O ---- Penulisan Petunjuk --- P
Jriteln "VApabila program ini dijalankan, V#N
Jriteln "VAnda akan diminta menuliskan V#N
Jriteln "Vtiga buah angka. V#N
JritelnN
Jriteln "V'umlah dan AataD+ dari ketiga V#N
Jriteln "Vbilangan tersebut akan di hitungW#N
Jriteln"Vdan ditampilkan ke layer V#N
JritelnN
O --- menghitung jumlah dan rataDrata --- P
Jrite "V&asukkan tiga angka a, b, c ) V#N
Aeadln "a, b, c#N
'umlah )7 a E b E cN
Aata )7 'umlah.-N
JritelnN
Jriteln "V'umlahnya 7 V,'umlah#N
Jriteln "VAata-ratanya 7W,Aata#N
1nd.
Perhatikan program pada contoh <-* di atas. Program tersebut memiliki
dua pokok masalah, yaitu menampilkan petunjuk pemakaian program
dan menghitung jumlah. rata-rata tiga bilangan. (edua masalah
dicampur menjadi satu, yaitu dalam bagian program utama "diantara
B1CN dan 1ND#.
Agar program tampak terstruktur dengan baik, anda dapat memisahkan
salah satu masalah menjadi sebuah blok program tersendiri.
Perhatian contoh program berikut )
TIK (Modul Pascal) 69 Kelas XI Semester 3
Bagian deklarasi
variabel
Bagian Utama
Program
,ontoh ;!/
Program &encariDjumlahDdanDAataD+N
Qar
a, b , c ) ntegerN
'umlah ) ntegerN
Aata ) AealN
PA:C1D/A1 PetunjukDProgramN
Begin
Jriteln "VApabila program ini dijalankan, V#N
Jriteln "VAnda akan diminta menuliskan V#N
Jriteln "Vtiga buah angka. V#N
JritelnN
Jriteln "V'umlah dan AataD+ dari ketiga V#N
Jriteln "Vbilangan tersebut akan di hitungW#N
Jriteln"Vdan ditampilkan ke layer V#N
JritelnN
1ndN
Begin
PetunjukDProgramN
Jrite "V&asukkan tiga angka a, b, c ) V#N
Aeadln "a, b, c#N
'umlah )7 a E b E cN
Aata )7 'umlah.-N
JritelnN
Jriteln "V'umlahnya 7 V,'umlah#N
Jriteln "VAata-ratanya 7W,Aata#N
1nd.
Pada program contoh <-+, bagian program untuk menampilkan petunjuk
yang semula berada di dalam bagian utama program dipisah menjadi
sebuah blok program tersendiri, Blok program ini disebut PA:C1D/A1.
Di dalam bahasa pemrograman lain, procedure dikenal sebagai
!/BA/4N.
Perhatikan bah5a program pada contoh <-+ terdiri dari sebuah bagian
deklarasi 2ariable, sebuah blok prosedur, dan bagian utama program.
Blok prosedur dapat dipanggil dari bagian utama program dengan
menyebut namanya.
;.1. D$lara"i Pro"$dur
TIK (Modul Pascal) 70 Kelas XI Semester 3
Bagian deklarasi
variabel
Blok Prosedur
Petunjuk_Program
Bagian Utama
Program
Prosedur memiliki struktur yang sama dengan program Pascal yang
anda kenal selama ini. Prosedur harus memiliki judul serta pernyataan
yang diapit oleh B1CN dan 1ND. !elain itu, sebuah prosedur boleh
memiliki bagian deklarasi C:N!4, QAA, dan 4,P1 sendiri.
'udul sebuah prosedur harus dimulai dengan kata PA:C1D/A1 yang
diikuti oleh nama prosedur tersebut, dan diakhiri oleh tanda titik koma
"N#. Nama prosedur terdiri dari maksimal <- huruf, tidak boleh
mengandung spasi, dan harus dia5ali dengan huruf "alphabet#. !elain
itu, nama suatu prosedur tidak boleh sama dengan nama 2ariable yang
digunakan oleh program.
Contoh <--.* )
- 'udul prosedur yang benar )
PA:C1D/A1 PetunjukDprogramN
PA:C1D/A1 &aksimumN
PA:C1D/A1 CariDjumlahN
- 'udul Prosedur yang salah )
PA:C1D/A1 Petunjuk Program "karena mengandung spasi#
PA:C1D/A1 *+-B3 "(arena dia5ali angka#
Perhatikan kembali blok prosedur PetunjukDProgram pada contoh <-+.
kumpulan pernyataan yang terdapat di dalam prosedur tersebut dia5ali
oleh B1CN dan diakhiri oleh 1ND. (ata 1ND yang mengakhiri suatu
prosedur tidak diikuti oleh tanda titik, melainkan tanda titik koma "N#.
4anda titik ".# hanya diperbolehkan mengikuti kata 1ND milik bagian
utama program.
Prosedur tidak dapat berdiri sendiri, melainkan harus di dalam sebuah
program Pascal. Di dalam setiap program Pascal, blok prosedur harus
diletakan sesudah bagian deklarasi, tetapi sebelum bagian utama
program.
TIK (Modul Pascal) 71 Kelas XI Semester 3
Prosedur yang telah dibuat dapat dipanggil oleh bagian utama program
dengan cara menyebut nama prosedur yang bersangkutan. Pada saat
suatu prosedur dipanggil, aliran program akan meloncat ke a5al blok
prosedur tersebut, lalu mengerjakan semua pernyataan yang ada
disana. !etelah selesai, aliran program akan kembali ke tempat semula,
yaitu di dalam bagian utama program.
TIK (Modul Pascal) 72 Kelas XI Semester 3
Contoh <--.+
Program untu m$nghitung lua" +ola d$ngan m$maai #ro"$dur
PA:CAA& &enghitungD3uasDBolaN
Const
pi 7 -.*0N
Qar
'ari ) ntegerN
3uas ) AealN
PA:C1D/A1 6itungD3uasN
B1CN
3uas )7 09pi9sRr"'ari#N
Jriteln"V3uas Bola 7 V, 3uas#N
1NDN
B1CN
Jrite "Vtuliskan jari-jari Bola 7 V#N
Aeadln"'ari#N
6itungDluasN
Jriteln"V --- selesai --- V#N
1ND.
'ari-jari bola ditanyakan pada bagian utama program dan disimpan ke
dalam 2ariable jari. !etelah itu prosedur 6itungD3uas dipanggil. Pada
saat prosedur 6itungDluas dipanggil, aliran program akan meloncat ke
a5al prosedur 6itungDluas, lalu mengerjakan program yang ada di
dalamnya "yaitu menghitung luas bola#. !etelah selesai, aliran program
meloncat kembali ke bagian utama program, dan mencetak kata-kata
--- selesai ---.
;.8. Ruang Lingu# 0on"tantaL Ti#$ dan 5aria+$l
!eperti halnya program Pascal yang sudah anda kenal, prosedur
boleh memiliki bagian deklarasi sendiri. Bagian deklarasi di dalam
prosedur meliputi deklarasi konstanta, tipe, maupun 2ariable.
Deklarasi yang dilakukan di dalam suatu blok prosedur disebut
D1(3AAA! 3:(A3. (onstanta, tipe maupun 2ariable yang dideklarasikan
TIK (Modul Pascal) 73 Kelas XI Semester 3
Bagian deklarasi
konstanta dan variabel
Blok prosedur
Hitung Luas
Bagian
Utama
Program
secara local hanya akan dikenali oleh blok procedure yang
bersangkutan. Bagian program di luar blok prosedur tidak mengenali
konstanta, tipe, dan 2ariable yang dideklarasikan secara local.
Deklarasi yang dilakukan diluar blok procedure, tetapi masih di dalam
tubuh program utama disebut D1(3AAA! C3:BA3. !emua konstanta,
tipe, dan 2ariable yang dideklarasikan secara global akan dikenali oleh
seluruh tubuh program, termasuk blok-blok prosedur yang ada.
Contoh <-0.*
P$rhatian Program Pada &ontoh ;.1./ %ang dituli" $m+ali
"$+agai +$riut 6
PA:CAA& &enghitungD3uasDBolaN
Const
pi 7 -.*0N
Qar
'ari ) ntegerN
PA:C1D/A1 6itungD3uasN
Qar
3uas ) AealN
B1CN
3uas )7 09pi9sRr"'ari#N
Jriteln"V3uas Bola 7 V, 3uas#N
1NDN
B1CN
Jrite "Vtuliskan jari-jari Bola 7 V#N
Aeadln"'ari#N
6itungDluasN
Jriteln"V --- selesai --- V#N
1ND.
Perhatikan letak deklarasi global dan deklarasi local pada program di
atas. Deklarasi global diletakkan di luar prosedur, tetapi masih di dalam
TIK (Modul Pascal) 74 Kelas XI Semester 3
Bagian deklarasi
Global
Blok prosedur
Hitung Luas
Bagian
Utama
Program
Deklarasi
Lokal
tubuh program. Deklarasi local diletakkan di dalam prosedur
6itungDluas.
TIK (Modul Pascal) 75 Kelas XI Semester 3
,ontoh Soal
*. Perhatikan Program berikut,
PA:CAA& &enulisD(esanN
PA:C1D/A1 (esanN
B1CN
Jriteln "Vsaya sedang belajar bahasa Pascal V#N
Jriteln "Vsaya pusing pisan V#N
Jriteln "V5alaupun saya sudah berusaha tetap aja bingungL.W#N
1NDN
Begin
(esanN
Jriteln "V dan kepala saya pusing tujuh kelilingL.W#N
1nd.
f. 4uliskan dan jalankan program di atas U
g. 'elaskan cara kerja program U
'a5ab
a. L..
b. Program di atas terdiri dari sebuah prosedur, yaitu prosedur
kesan. Prosedur ini dipanggil dari bagian utama program. Pada
saat prosedur kesan dipanggil, aliran program akan meloncat ke
a5al prosedur tersebut, dan menulis kalimat )
!aya sedang belajar bahasa pascal
!aya pusing pisan
Jalaupun saya sudah berusaha tetap aja bingungL
!etelah selesai, aliran program kembali ke bagian utama program
lalu menulis kalimat )
Dan kepala saya pusing tujuh keliling
+. Perhatikan Program berikut,
Program &enampilkanDPesanN
Qar
A ) !tringS+@TN
PA:C1D/A1 !atuN
B1CN
Jriteln "Vsaya sedang belajar bahasa pascal V#N
TIK (Modul Pascal) 76 Kelas XI Semester 3
1NDN
TIK (Modul Pascal) 77 Kelas XI Semester 3
PA:C1D/A1 DuaN
B1CN
Jriteln "Vsaya pusing pisanW#N
1NDN
PA:C1D/A1 4igaN
B1CN
Jriteln "V5alaupun sudah berusaha LW#N
1NDN
B1CN
Jrite "V4ulis nama anda ) V#N
Aeadln "a#N
Jriteln "V Nama !aya ) V, a#N
!atuN
DuaN
4igaN
1NDN
b. 4uliskan dan jalankan program di atas U
c. !ebutkan semua 2ariable yang digunakan serta tipe dan
ruang lingkupnya U
d. 'elaskan aliran kerja program U
'a5aban
a. L..
b. a adalah 2ariable jenis string yang memiliki ruang lingkup global,
sehingga dikenal oleh seluruh bagian program.
c. Blok program utama akan menanyakan nama dan menyimpannya
di 2ariable a, setelah itu, prosedur satu dipanggil, disusul prosedur
dua dan terakhir prosedur tiga. Perhatikan cara memanggil
prosedur "dengan menuliskan nama prosedurDtersebut#.
-. Perhatikan Program berikut,
Program 3uasDdanDQolumeDBolaN
Const
Pi 7 -.*0N
Qar
r ) ntegerN
luas ) realN
isi ) realN
PA:C1D/A1 4anyaDjariDjarilN
B1CN
Jrite "V4uliskan jari-jari Bola ) V#N
Aeadln "r#N
1NDN
PA:C1D/A1 6itungDluasN
B1CN
3uas )7 0 9 pi 9 r 9 r
TIK (Modul Pascal) 78 Kelas XI Semester 3
1NDN
PA:C1D/A1 6itungD2olumeN
B1CN
si )7 0.- 9 pi 9 r 9 r 9 r
1NDN
B1CN
4anyaDjariDjariN
6itungDluasN
6itungDQolumeN
Jriteln "V3uas Bola 7 V, luas#N
Jriteln "VQolume Bola 7 V, si#N
1ND.
"a# (etikkan dan jalankan program di atas U
"b# 'elaskan aliran kerja program diatas U
"c# !ebutkan semua 2ariable yang digunakan, beserta ruang
lingkupnya U
"d# Dapatkah prosedur 4anyaDjariDjari dipanggil dari prosedur
hitungDluas \
"e# Dapatkah prosedur 6itungDluas dipanggil dari
4anyaDjariDjari \
'a5ab
a. L.
b. Program di atas terdiri dari sebuah blok deklarasi konstanta,
sebuah deklarasi 2ariable, tiga buah prosedur dan sebuah blok
program utama. Prosedur 4anyaDjariDjari akan menanyakan jari-
jari lingkaran, prosedur hitungDluas menghitung luas bola, dan
prosedur hitungD2olume menghitung 2olume bola. (etiga
prosedur dipanggil dari blok program utama. &ula-mula prosedur
4anyaDjariDjari dipanggil. !etelah 2ariabl terisi, maka prosedur
hitungDluas dipanggil. 3uas bola dihitung oleh prosedur ini dan
hasilnya disimpan ke dalam 2ariable luas. !elanjutnya prosedur
hitungD2olue dipanggil. Qolume bola dihitung oleh prosedur ini,
dan hasilnya ke dalam 2ariable isi.
c. pi adalah konstanta global, r, 3uas dan isi adalah 2ariable global.
!emua konstanta dan 2ariable tersebut dikenali oleh seluruh
bagian program.
d. Dapat, sebab prosedur 4anyaDjariDjari diletakkan sebelum
prosedur hitungDluas.
e. 4idak dapat, sebab prosedur hitungDluas diletakkan di ba5ah
prosedur 4anyaDjariDjari.
Latihan
TIK (Modul Pascal) 79 Kelas XI Semester 3
*. Perhatikan Program di ba5ah ini )
Program luasDdanD2olumeDbolaN
PA:C1D/A1 6itungDluasDdanD2olumeN
Const
pi 7 -.*0N
2ar
r ) ntegerN
3uas, si ) AealN
B1CN
Jrite "V4uliskan jari jari Bola ) V#N
Aeadln "r#N
3uas )7 0 9 pi 9 r 9 rN
si )7 0.- 9 pi 9 r 9 r 9 rN
Jriteln "V luas Bola 7 V, 3uas#N
Jriteln "VQolume Bola 7 V, si#N
1NDN
B1CN
6itungDluasDdanDQolumeN
1ND.
i. (etikkan dan jalankan program di atas U
ii. 'elaskan aliran kerja program di atas U
iii. !ebutkan semua 2ariable yang digunakan beserta ruang
lingkupnya U
+. Perhatikan Program Berikut )
Program &engubahDsatuanN
Const
AkhirData7@N
Kaktor7*@@N
Qar
&eter ) AealN
!entimeter)realN
PA:C1D/A1 PetunjukN
Qar
'a5ab ) CharN
B1CN
Jrite "V&au melihat petunjuj ",. N# ) V#N
Aeadln "'a5ab#N
f 'a5ab 7 V,W then
TIK (Modul Pascal) 80 Kelas XI Semester 3
Begin
Jriteln "V Program ini digunakan untuk V#N
Jriteln "V mengubah panjang dalam satuan V#N
Jriteln "V meter menjadi sentimeter V#N
Jrite#N
Jriteln "V !etiap kali anda akan ditanya V#N
Jriteln "V panjang dalam satuan meter, lalu V#N
Jriteln "V program akan mencetaknya dalam V#N
Jriteln "V satuan sentimeter V#N
Jriteln#N
Jriteln "V Bila anda ingin mengakhiri program V#N
Jriteln "V ini, masukkan angka @ V#N
1ndN
1ndN
B1CN
PetunjukN
Aepeat
JritelnN
Jrite"V4uliskan panjang "dalam satuan meter# ) V#N
Aeadln"&eter#N
f &eter H> A(hirData 4hen
Begin
!entimeter )7 Kaktor 9 &eterN
Jriteln"VPanjang 7 V, sentimeter, V cm#N
1ndN
/ntil &eter 7 A(hirDataN
JritelnN
Jriteln"V --- program berakhir ---V#N
1nd.
Pertanyaan
ii. 4uliskan dan jalankan program di atas U
iii. !ebutkan semua 2ariable dan konstanta yang digunakan
beserta tipe dan ruang lingkupnya U
i2. 'elaskan aliran kerja program U

TIK (Modul Pascal) 81 Kelas XI Semester 3
-. Perhatikan program berikut )
PA:CAA& &emasukkanDBilanganN
PA:C1D/A1 negatifN
B1CN
Jriteln "VBilangan yang anda ketikkan negatifW#
1NDN

PA:C1D/A1 positifN
B1CN
Jriteln "V Bilangan yang anda ketikkan positif V#N
1NDN
PA:C1D/A1 NolN
B1CN
Jriteln "V Bilangan yang anda ketikkan nol V#N
1NDN
PA:C1D/A1 inputN
QAA
Angka ) ntegerN

B1CN
Jriteln "V &asukkan sembarang angka ) V#N
Aeadln "Angka#N
K Angka > @ 4hen PositifN
K Angka 7 @ 4hen NolN
K ANgka H @ 4hen NegatrifN
1NDN
B1CN
nputN
1ND.
*. (etikkan dan jalankan program di atas
+. 'elaskan aliran kerja program U

0. Buatlah program yang apabila dijalankan akan menanyakan suhu
dalam derajat Celcius, kemudian menampilkan kembali suhu
tersebut dalam derajat Kahrenheit, derajat Aeamur, dan derajat
(el2in. Pergunakan paling sedikit - buah prosedur.
5. Buatlah program untuk menghitung akar-akar suatu persamaan
A8
+
E B8 E C. harga konstanta, A, B, C ditanyakan terlebih dahulu,
lalu ketiganya dipakai untuk menghitung diskriminan D.
TIK (Modul Pascal) 82 Kelas XI Semester 3
'ika D > @ maka terdapat dua akar riil yang berbeda
'ika D 7 @ maka terdapat dua akar riil yang kembar
'ika D H @ maka akar-akarnya tidak riil
<. !ebuah benda bermasa & (g jatuh bebas dari ketinggian 6 meter.
Buatlah program untuk menghitung )
a# Jaktu yang dibutuhkan untuk mencapai tujuan
b# (ecepatan saat peluru mencapai tanah.
TIK (Modul Pascal) 83 Kelas XI Semester 3
BAB 5II PROSED4R -Bagian /.
<.1. Pro"$dur B$rganda
Apabila diperlukan, kalian dapat memanggil suatu prosedur pada saat
anda sedang berada di dalam prosedur yang lain. 4entu saja, prosedur
yang dipanggil tersebut harus sudah dibuat dahulu sebelumnya.
,ontoh <!1 perhatikan program berikut
Program 'umlahDdanD6asilD(aliN
Qar
a, b, c ) ntegerN
'umlah ) ntegerN
(ali ) ntegerN
PA:C1D/A1 PenjumlahanN
Begin
'umlah )7 a E b E cN
1ndN
PA:C1D/A1 PerkalianN
Begin
(ali )7 a 9 b 9 cN
1ndN
PA:C1D/A1 'umlahD(aliN
Begin
PenjumlahanN
PerkalianN
Jriteln "Vjumlahnya 7 V, jumlah#N
Jriteln "VWPerkaliannya 7 V, kali#N
1ndN
TIK (Modul Pascal) 84 Kelas XI Semester 3
-#o)
/rosedur
/ertama
-#o)
/rosedur
6edua
-#o)
/rosedur
6etiga
Begin
Jrite "V4uliskan tiga buah bilangan ) V#N
Aeadln "a, b, c#N
'umlahDkaliN
1ndN
Blok prosedur pertama diberi nama Penjumlahan, blok prosedur kedua
diberi nama Perkalian, dan blok prosedur ketiga diberi nama
'umlahD(aliN
Qariable jumlah dan kali dideklarasikan secara global, agar dapat
dikenali oleh seluruh tubuh program termasuk prosedur perkalian,
penjumlahan, dan jumlahDkaliN
Pada saat program dijalankan, bagian utama program akan memanggil
prosedur jumlahDkali dideklarasikan secara terpisah. Prosedur,
pejumlahan dideklarasikan lebih dahulu, disusul prosedur perkalian, dan
terakhir prosedur jumlahDkali.
!uatu prosedur hanya dapat dipanggil apabila prosedur tersebut telah
dideklarasikan terlebih dahulu sebelumnya. Prosedur jumlahDkali dapat
memanggil prosedur penjumlahan dan prosedur perkalian, sebab
prosedur penjumlahan dan perkalian dideklarasikan di atas prosedur
jumlahDkali.
Apabila dikehendaki, prosedur perkalian dapat memanggil prosedur
penjumlahan. Akan tetapi prosedur penjumlahan tidak dapat memanggil
prosedur perkalian, sebab prosedur perkalian dideklarasikan di ba5ah
prosedur perjumlahan.
Prosedur jumlahDkali tidak dapat dipanggil oleh prosedur penjumlahan
dan perkalian. Prosedur jumlahDkali hanya dapat dipanggil oleh bagian
utama program.
(alian dapat mendeklarasikan suatu prosedur di dalam prosedur lain.
Dalam keadaan seperti ini, prosedur yang dideklarasikan tersebut hanya
akan dikenali oleh blok prosedur tempat pendeklarsian berlangsung.
TIK (Modul Pascal) 85 Kelas XI Semester 3
-agian
!tama
/rogram
,ontoh <!/
Program 'umlahDdanD6asilD(aliN
Qar
a, b, c ) nteger
PA:C1D/A1 jumlahDkaliN
Qar
'umlah ) ntegerN
(ali ) ntegerN
PA:C1D/A1 PenjumlahanN
Begin
'umlah )7 a E b E cN
1ndN
PA:C1D/A1 PerkalianN
Begin
(ali )7 a 9 b 9 cN
1ndN
Begin
PenjumlahanN
PerkalianN
Jriteln "Vjumlahnya 7 V, jumlah#N
Jriteln "VWPerkaliannya 7 V, kali#N
1ndN
Begin
Jrite "V4uliskan tiga buah bilangan ) V#N
Aeadln "a, b, c#N
'umlahDkaliN
1ndN
Perhatikan bah5a prosedur Penjumlahan dan Perkalian terletak di
dalam prosedur 'umlahDkali. :leh sebab itu, prosedur penjumlahan dan
prosedur perkalian disebut memiliki ruang lingkup local terhadap
prosedur jumlahDkali.
ProsedurDpenjumlahan dan perkalian hanya dikenali oleh blok prosedur
jumlahDkali, sehingga keduanya hanya dapat dipanggil dari dalam blok
prosedur jumlahDkali. Bagian utama program tidak mengenali prosedur
TIK (Modul Pascal) 86 Kelas XI Semester 3
-#o)
/rosedur
pen7um#ahan
-#o)
/rosedur
per)a#ian
-#o)
/rosedur
(um#ah8)a#i
-agian
!tama
/rogram
penjumlahan dan perkalian, sehingga kedua prosedur tersebut tidak
dapat dipanggil oleh bagian utama program.
Prosedur penjumlahan dan prosedur perkalian hanya akan dijalankan
apabila prosedur jumlahDkali dijalankan.
(esimpulan yang dapat diperoleh adalah bah5a suatu prosedur hanya
dapat dipanggil dari dalam blok tempat prosedur tersebut berada.
<./. Param$t$r Nilai dan Param$t$r 5aria+$l
Pada proses pemanggilan prosedur, terjadi pertukaran data antara blok
prosedur dengan blok pemanggil. Perhatikan program pada contoh G-*
di atas. Qariable a, b, dan c diisi dengan data melalui pernyataan readln
di dalam bagian utama program. Data yang tersimpan di dalam 2ariable
a, b, dan c. ini selanjutnya akan dioleh oleh prosedur jumlahDkali.
Dengan kata lain, pertukaran data antara blok pemanggil "dalam hal ini
adalah bagian utama program# dengan blok prosedur terjadi melalui
2ariable a, b, dan c.
/ntuk keperluan pertukaran data ini, tentu saja 2ariable a, b, dan c
harus dideklarasikan sebagai 2ariable global, agar dikenali oleh kedua
blok "blok prosedur dan bagian utama program#.
Qariable global bukan media yang baik untuk melakukan pertukaran
data, sebab penggunaan 2ariable global untuk keperluaan ini akan
mengubah isi 2ariable global tersebut setiap kali prosedur dijalankan.
Cara terbaik untuk mengatasi hal ini adalah dengan menggunakan
PAAA&141A. Parameter berfungsi sebagai Vmedia perantaraW antara
2ariable di dalam blok prosedur dengan 2ariable di dalam blok
pemanggil. Pada modul ini, kepada Anda hanya akan diperkenalkan dua
jenis parameter, yaitu PAAA&141A N3A "Qalue Parameter# dan
PAAA&141A QAAAB13 "Qariabel Parameter#.
Pada saat suatu prosedur dipanggil, isi 2ariable-2ariabel yang terdapat
di dalam blok pemanggil akan VdisalinW ke dalam parameter-parameter
yang tersedia di dalam blok prosedur. Apabila parameter yang dipakai
di dalam blok prosedur adalah parameter nilai, maka proses yang
TIK (Modul Pascal) 87 Kelas XI Semester 3
terjadi di dalam blok prosedur hanya melibatkan parameter-parameter
milik prosedur tersebut. si 2ariable yang terdapat di dalam blok
pemanggil tidak akan berubah.
Akan tetapi apabila parameter yang digunakan di dalam blok prosedur
adalah parameter 2ariable, maka proses yang terjadi di dalam prosedur
akan mempengaruhi isi 2ariable yang terdapat di dalam blok pemanggil.
TIK (Modul Pascal) 88 Kelas XI Semester 3
,ontoh <!1
Program 'umlahDdanD6asilD(aliN
Qar
a, b, c ) ntegerN
PA:C1D/A1 jumlahDkali"8, y ) nteger#N
Qar
'umlah, kali ) ntegerN
Begin
'umlah )7 8 E y E ?N
(ali )7 8 9 y 9 ?N
Jriteln"Vjumlahnya 7 V, jumlah#N
Jriteln"Vperkaliannya 7 V, kali#N
1ndN
Begin
Jrite "Vtulis tiga bilangan )W#N
Aeadln"a, b, c#N
'umlahDkali"a, b, c#N
1nd.
Nama-nama parameter "beserta jenisnya# yang akan dipergunakan oleh
prosedur harus dituliskan pada judul prosedur "di dalam tanda kurung,
setelah nama prosedur#.
Pada program contoh G-- diatas, 8, y, dan ? adalah parameter Nilai jenis
integer yang terdapat di dalam prosedur jumlahDkali, sedangkan a, b,
dan c adalah 2ariable global bertipe integer yang terdapat di dalam blok
program utama.
Perhatikan bah5a seluruh parameter yang akan dipakai oleh blok
prosedur beserta tipenya harus ditulis. dinyatakan di dalam judul
prosedur, dan diapit oleh tanda kurung "8, y, ? ) nteger#.
Perhatikan bah5a seluruh parameter yang akan dipakai oleh blok
prosedur beserta tipenya harus ditulis. dinyatakan di dalam judul
prosedur, dan diapit oleh tanda kurung "8, y, ? ) nteger#.
Perhatikan pula cara memanggil prosedur jumlahDkali, yaitu dengan
menuliskan namanya diikuti deretan 2ariable yang akan digunakan oleh
blok prosedur "a, b, dan c#.
TIK (Modul Pascal) 89 Kelas XI Semester 3
Pada saat prosedur jumlahDkali dipanggil, isi 2ariable a akan disalin ke
8, b, ke y, dan c ke ?. pada saat blok prosedur jumlahDkali dijalankan,
yang terlibat hanyalah parameter integer 8, y dan ?. isi 2ariable a, b dan
c tidak akan berubah. Jalaupun isi parameter nilai 8, y dan ? berubah.
TIK (Modul Pascal) 90 Kelas XI Semester 3
,ontoh <!8 P$rhatian #rogram +$riut 6
Program 'umlahDdanD6asilD(aliN
Qar
a, b, c ) ntegerN
PA:C1D/A1 jumlahDkali"Qar 8, y, ? ) nteger #N
Qar
'umlah, kali ) ntegerN
Begin
'umlah )7 8 E y E ?N
(ali )7 8 9 y 9 ?N
Jriteln "Vjumlahnya 7 V, jumlah#N
Jriteln "Vperkaliannya 7W,kali#N
1ndN
Begin
Jrite "Vtulis tiga bilangan ) V#N
Aeadln "a, b, c#N
'umlahDkali"a, b, c#N
1nd.
Pada program contoh G-0 di atas, 8, y dan ? adalah Parameter Qariabel
bertipe integer yang terdapat di dalam prosedur jumlahDkali. Perhatikan
kata QAA di dalam judul prosedur. (ata QAA ini menandakan bah5a 8, y
dan ? adalah parameter 2ariable "bedakan dengan cara menyatakan
Parameter Nilai#.
Pada saat prosedur jumlahDkali dipanggil, isi 2ariable a akan disalin ke
8, b ke y, dan c ke ?. pada saat blok prosedur jumlahDkali dijalankan,
apabila isi parameter 8 berubah, maka isi 2ariable global a juga
berubah. Bila isi y berubah, b juga berubah, demikian pula apabila ?
berubah, c juga berubah. Ada beberapa hal yang harus anda perhatikan
pada 5aktu menggunakan parameter.
b. Banyaknya 2ariable yang disebutkan pada 5aktu memanggil
prosedur harus sama dengan banyaknya parameter yang tertulis
pada judul prosedur. Pada contoh G-0 di atas, terdapat tiga 2ariable
global a, b dan c. Pada judul prosedur juga terdapat tiga buah
parameter, yaitu 8, y dan ?.
c. 4ipe 2ariable yang disebutkan pada 5aktu memanggil prosedur
harus sama dengan tipe parameter yang tertulis di dalam judul
TIK (Modul Pascal) 91 Kelas XI Semester 3
prosedur. Pada contoh G.0 di atas, 2ariable a,b dan c memiliki tipe
integer. Demikian pula 8, y dan ?.
TIK (Modul Pascal) 92 Kelas XI Semester 3
Soal
1. P$rhatian Program B$riut
PA:CAA& 3uasDdanDQolumeDBolaN
PA:C1D/A1 6itungDluasDdanDQolumeN
C:N!4
pi 7 -.*0
QAA
r ) ntegerN
3uas ) realN
si ) AealN
PA:C1D/A1 4anyaD'ariD'ariN
B1CN
Jrite "V4uliskan 'ari-jari Bola ) V#N
Aeadln"r#N
1NDN
PA:C1D/A1 6itungDluasN
B1CN
3uas )7 0 9 pi 9 r 9 r
1NDN
PA:C1D/A1 6itungDQolumeN
B1CN
si )7 0.- 9 pi 9 r 9 r 9 r
1NDN
BEGIN
6itungD3uasDdanDQolumeN
END.
Pertanyaan )
a. (etikkan dan jalankan program di atas U
b. 'elaskan aliran kerja program di atas U
c. !ebutkan semua 2ariable dan konstanta yang digunakan beserta
ruang lingkupnya U
d. Dapatkah prosedur 4anyaDjariDjari dipanggil dari blok program
utama \
TIK (Modul Pascal) 93 Kelas XI Semester 3
e. Dapatkah prosedur 6itungDluas memanggil prosedur
4anyaDjariDjari \
f. Dapatkah prosedur 6itungDluas memanggil prosedur
hitungD2olume \
TIK (Modul Pascal) 94 Kelas XI Semester 3
'a5ab
a. L
b. Program di atas terdiri dari bagian utama program dan
sebuah prosedur "yaitu prosedur hitungDluasDdanD2olume#. Di
dalam prosedur 6itungDluasDdanD2olume terdapat tiga buah
prosedur local, yaitu prosedur 4anyaDjariDjari, prosedur
6itungDluas, dan prosedur 6tungD2olume ketiga prosedur
tersebut, hanya dikenali oleh blok prosedur.
6itungDluasDdanD2olume sehingga anda hanya dapat
memanggilnya dari blok prosedur hitungDluasDdanD2olume.
Pada saat prosedur hitungDluasDdanD2olume dipanggil, perjalanan
program akan meloncat ke a5al prosedur tersebut, selanjutnya
prosedur 4anyaDjariDjari dipanggil, disusul oleh prosedur
hitungDluas dan terakhir prosedur hitungD2olume, setelah semua
prosedur dipanggil, hasil perhitungan ditampilkan di layer.
c. (onstanta pi, 2ariable r "integer#, 2ariable luas "real# dan
2ariable isi "real# dideklarasikan secara local terhadap prosedur
hitungDluasDdanD2olume.
d. 4idak dapat sebab prosedur 4anyaDjariD'ari adalah prosedur
local yang hanya dikenali oleh blok prosedur
hitungDluasDdanD2olume.
e. Dapat, sebab kedua prosedur berada di dalam blok yang
sama "yaitu blok prosedur hitungDluasDdanD2olume#. Alasan lain
adalah karena prosedur 4anyaDjariDjari diletakkan sebelum
prosedur hitungDluas.
0. 4idak dapat, sebab 5alaupun keduanya berada di dalam blok
yang sama, prosedur 6itung Qolume diletakkan sesudah prosedur
hitungDluas.
/. P$rhatian Program di +a9ah ini Q
PA:CAA& 3uasDdanDQolumeDBolaN
PA:C1D/A1 6itungDluasDdanDQolumeN
C:N!4
pi 7 -.*0N
QAA
A ) ntegerN
TIK (Modul Pascal) 95 Kelas XI Semester 3
3uas, si ) AealN
B1CN
Jrite "V4uliskan 'ari-jari Bola ) V#N
Aeadln "r#N
3uas )7 0 9 pi 9 r 9 rN
si )7 0.- 9 pi 9 r 9 r 9 rN
Jriteln "V3uas Bola 7 V, luas#N
Jriteln "VQolume Bola 7 V, si#N
1NDN
B1CN
6itungDluasDdanDQolumeN
1ND.
Pertanyaan
a. (etikkan dan jalankan program di atas U
b. Apakah perbedaan yang antara program di atas dengan program
pada soal *.
3. P$rhatian #rogram +$riut 6
PA:CAA& 3uasDdanD2olumeDbolaN
QAA
'ari ) ntegerN
PA:C1D/A1 6itungDluasDdanDQolume "r ) nteger#N
C:N!4
pi 7 -.*0N
QAA
3uas, si ) AealN
B1CN
3uas )7 0 9 pi 9 r 9 rN
si )7 0.- 9 pi 9 r 9 rN
Jriteln "V 3uas Bola 7 V, 3uas#N
Jriteln "V Qolume Bola 7 V, si#N
1NDN
B1CN
Jrite "V4uliskan 'ari-'ari Bola ) V#N
Aeadln "'ari#N
6itungDluasDdanD2olume"jari#N
1ND.

!oal
a. (etikkan dan jalankan program di atas U
b. 'elaskan aliran kerja program di atas U
TIK (Modul Pascal) 96 Kelas XI Semester 3
c. !ebutkan semua 2ariable yang digunakan beserta ruang
lingkupnya.
d. Apakah perbedaan program di atas dengan program pada soal
nomor +.
8. P$rhatian Program B$riut 6
PA:CAA& &emasukkanDAngkaN
QAA
Angka ) ntegerN
PA:C1D/A1 nputN
B1CN
Jrite "V(etikkan sembarang angka positif ) V#N
Aeadln "Angka#N
K "Angka H @# 4hen nputN
1NDN
BEGIN
nputN
Jriteln "VAnda mengetikkan angka dengan benarW#N
Jriteln "VAngka yang anda ketikkan 7 V, angka#N
END.
!oal
a. (etikkan dan jalankan program di atas U
b. 'elaskan aliran kerja program di atas U
:. P$rhatian #rogram +$riut
Program &enghitungDfaktorialN
Qar
Bil ) ntegerN
PA:C1D/A1 Kaktorial "n ) nteger#N
Qar
6asil ) ntegerN
Angka ) ntegerN
B1CN
6asil )7*N
Angka )7nN
Jhile n>@ D:
B1CN
6asil )7 6asil 9 nN
n )7 n M *
TIK (Modul Pascal) 97 Kelas XI Semester 3
1NDN
Jriteln "Angka, V factorial 7 V, hasil#
1NDN
B1CN
Jrite "V&asukkan bilangan bulat positif )W#N
Aeadn "Bil#N
Kaktorial "Bil#N
Jriteln "VBilangan yang anda masukkan 7 V,Bil#
1ND.
!oal
a. (etikkan dan jalankan program di atas.
b. 'elaskan aliran kerja program.
c. !ebutkan semua 2ariable dan parameter yang digunakan beserta
tipenya.
<. Buatlah Program yang apabila dijalankan akan menanyakan suhu
dalam derajat Celcius, kemudian menampilkan kembali suhu
tersebut dalam derajat Kahrenheit, derajat reamur, dan derajat
(el2in. Pergunakan paling sedikit - buah prosedur.
Catatan )
C derajat Celcius 7 "B.; 8 C# E -+ derajat Kahrenheit.
C derajat Celcius 7 "0.; 8 C# derajat Aeamur
C derajat Celcius 7 "C E +G-# derajat (el2in
7. Buatlah program untuk menghitung akar-akar suatu persamaan
kuadrat A8
+
E B8 E C. harga konstanta A, B dan C ditanyakan
terlebih dahulu, lalu ketiganya dipakai untuk menghitung diskriminan
D.
'ika D > @ maka terdapat dua akar riil yang berbeda.
'ika D 7 @ maka terdapat dua akar riil kembar
'ika D H @ maka akar-akarnya tidak riil.
F. Perhatikan rangkaian listrik berikut ini
Buat program untuk menanyakan besarnya sumber tegangan Q,
resistor r*, r+ dan r- "ohm#, lalu menghitung )
a# Arus i*, i+, i- "Ampere#
TIK (Modul Pascal) 98 Kelas XI Semester 3
9
R2
R3
32 32
33
31
R1
b# Daya yang hilang pada masing-masing resistor "Jatt#.
B. !ebuah benda bermassa & kg jatuh dari ketinggian 6 meter.
Buatlah program untuk menghitung )
a# Jaktu yang dibutuhkan untuk mencapai tanah.
b# (ecepatan saat peluru mencapai tanah.
*@. 4iga buah gaya K*, K+, dan K- bekerja bersama-sama pada
sebuah benda. Buatlah program untuk menanyakan besar dan sudut
kerja masing-masing gaya lalu menghitung gaya resultan dari ketiga
gaya tersebut.
**. Buatlah program untuk menampilkan dan mengerjakan
pilihan menu di layar sebagai berikut )
---- Pilihan yang tersedia ---
A. &enghitung 3uas !egitiga
B. &enghitung 3uas 3ingkaran
TIK (Modul Pascal) 99 Kelas XI Semester 3
BAB > F4NGSI
P$ng$rtian Fung"i
!eperti halnya prosedur, fungsi adalah modul program, yaitu blok
program yang ditulis menurut aturan tertentu, dan digunakan untuk
membantu bagian utama program.
Pada bab sebelumnya kalian telah diperkenalkan bah5a pada Pascal
memilik beberapa K/NC! !4ANDAAD, seperti ) Abs, !Rr, 18p, 3n dan
lain-lain. Kungsi-fungsi tersebut dikatakan standard karena memang
sudah dibuat dan tersimpan di dalam Compiler 4urbo Pascal. Pada saat
diperlukan, anda tinggal memanggil saja.
!elain menyedian fungsi-fungsi standard, 4urbo Pascal memberi fasilitas
kepada anda untuk menciptakan fungsi sendiri, fungsi-fungsi yang anda
ciptakan tersebut K/NC! B/A4AN "/ser Defined Kunction#. /ntuk
selanjutnya, yang dimaksud dengan fungsi dalam buku ini adalah fungsi
buatan, kecuali apabila disebutkan sebelumnya.
Pada dasarnya, cara menciptakan suatu fungsi sama dengan cara
membuat prosedur. !truktur keduanya sama. Perbedaan antara
prosedur dengan fungsi buatan hanya terletak pada system pertukaran
data serta tata cara pemberi namanya saja. !eperti halnya fungsi
standard, fungsi buatan dapat menerima beberapa data, tetapi hanya
dapat menghasilkan satu keluaran saja.
Kungsi buatan diletakkan sesudah bagian deklarasi "konstanta, type
2ariable# tetapi sebelum blok program utama. Anda dapat
mendeklarasikan fungsi pada daerah yang sama dengan deklarasi
prosedur.
Kungsi buatan yang sudah diciptakan dapat dipanggil pada saat anda
berada di blok program utama, dengan cara menuliskan nama fungsi
tersebut, diikuti dengan argument-argumen yang akan dimasukkan.
Pada saat fungsi buatan dipanggil, perjalanan program akan meloncat
ke a5al fungsi yang dimaksud. Data-data yang ada di dalam parameter
TIK (Modul Pascal) 100 Kelas XI Semester 3
akan diolah sehingga diperoleh sebuah hasil. 6asil tersebut akan diba5a
kembali ke tempat dimana fungsi tersebut dipanggil.
,ontoh >!1
Pada Pascal memiliki fungsi standard yang digunakan untuk
menghitung kuadrat suatu bilangan, yaitu fungsi sRr, fungsi ini dapat
menerima beberapa argument, tetapi hanya menghasilkan sebuah
keluaran saja.
Berikut ini akan dibuat fungsi buatan yang memiliki kegunaan yang
sama dengan fungsi sRr, yaitu menghitung kuadrat dari argument.
Program ContohDK/ngsi
QAA
a, b, c ) ntegerN
p, R ) AealN
K/NC4:N (uadrat "?? ) nteger# ) realN
B1CN
(uadrat
1NDN
B1CN
Jriteln "V&asukkan tiga bilangan a, b, c ) V#N
Aeadln "a, b, c#N
p )7 (uadrat "a#N
5riteln "V a kuadrat 7 V, p#N
5riteln "V b kuadrat 7 V, (uadrat "b##N
5riteln "Vb kuadrat 7 V, !Rr "b##N
R )7 kuadrat "a E b E c#N
5riteln "R#N
1ND.
Perhatikan bah5a fungsi kuadrat memiliki struktur yang sama dengan
sebuah prosedur. Kungsi buatan yang bernama kuadrat ini memiliki sifat
TIK (Modul Pascal) 101 Kelas XI Semester 3
*ungsi
)uadrat
-agian
!tama
/rogram
yang sama dengan fungsi standar sRr. !etiap kali fungsi kuadrat
dipanggil, argumennya akan disalin ke parameter ??, lalu aliran program
akan meloncat ke a5al blok fungsi kuadrat, dan melakukan proses
disana. !etelah selesai, hasil yang diperoleh akan diba5a kembali ke
bagian utama program.
D$lara"i Fung"i
Pembuatan suatu fungsi mirip dengan pembuatan prosedur. Berikut ini
beberapa hal penting yang harus diperhatikan pada saat menciptakan
fungsi buatan sendiri.
"a#!ama seperti prosedur, fungsi harus diberi judul. 'udul suatu
fungsi dia5ali oleh kata Kunction dan diikuti nama fungsi yang akan
dibuat, serta jenis data yang akan dihasilkan oleh fungsi tersebut.
Nama suatu fungsi harus dia5ali huruf, tidak mengandung spasi, dan
tidak lebih dari <- karakter. !elain itu, nama suatu fungsi harus sama
dengan nama 2ariable yang akan digunakan untuk menyimpan
proses.
,ontoh >!/
&enulis nama fungsi,
K/NC4:N (/ADAA4 "?? ) nteger# ) AealN
K/NC4:N Q:3/&1 "p, l, t ) nteger# ) ntegerN
!etelah menuliskan nama fungsi, anda harus menyebutkan semua
parameter yang akan digunakan oleh fungsi tersebut beserta tipenya
"di dalam kurung#, fungsi buatan harus memiliki parameter "berbeda
dengan prosedur, yang bisa bekerja tanpa memakai parameter#.
Parameter di dalam fungsi buatan dapat disamakan dengan
argument pada fungsi standard. Parameter akan diisi dengan data-
data mentah yang akan dioleh oleh fungsi yang bersangkutan.
!etelah semua parameter disebutkan, terdapat dua titik yang
dilanjutkan dengan jenis data yanga kan dihasilkan oleh fungsi
tersebut. "ngat ) Kungsi bias menerima beberapa argument, tetapi
hanya bisa mengeluarkan sebuah fungsi saja#.
TIK (Modul Pascal) 102 Kelas XI Semester 3
Pada contoh F-* di atas, fungsi kuadrat memiliki sebuah parameter.
argument, yaitu ?? "integer#, dan hasil yang dikeluarkan oleh fungsi
kuadrat. Adalah data real. Kungsi 2olume memiliki tiga buah
parameter. argument, yaitu p, l dan t "nteger# dan hasil yang
dikeluarkan adalah data integer.
"b#!uatu fungsi dapat memiliki beberapa argument, tetapi hanya
dapat mengeluarkan satu hasil saja. Data yang dihasilkan oleh
sebuah fungsi harus disimpan didalam 2ariable yang namanya sama
dengan anam fungsi tersebut.
Contoh F--
K/NC4:N (uadrat "?? ) nteger# ) realN
B1CN
(uadrat )7 ?? 9 ??N
1NDN
K/NC4:N Qolume "p, l, t ) nteger# ) ntegerN
B1CN
Qolume )7 p 9 l 9 tN
1NDN
Perhatikan contoh F-- di atas. 6asil yang dikeluarkan oleh fungsi
kuadrat harus disimpan di dalam 2ariable yang bernama kuadrat
pula. 6asil yang dikeluarkan oleh fungsi 2olume harus disimpan
didalam 2ariable yang bernama 2olume pula.
Kungsi yang akan dipergunakan harus sudah dibuat terlebih dahulu.
Cara memanggil fungsi adalah dengan menyebutkan namanya, dan
diikuti deretan harga yang akan dimasukkan ke dalam parameter.
argument fungsi tersebut.
!eperti halnya VprosedurW, fungsi juga dapat memiliki bagian
deklarasi local sendiri. Aturan ruang lingkup deklarasi global dan
deklarasi local pada prosedur juga berlaku pada fungsi.
6al yang perlu diingat adalah, 5alaupun suatu fungsi boleh memiliki
konstanta, tipe, maupun 2ariable local, namun nama 2ariable yang
TIK (Modul Pascal) 103 Kelas XI Semester 3
digunakan untuk menyimpan hasil akhir harus tetap sama dengan
nama fungsi tersebut.
Contoh F-0
Kungsi rata-rata berikut ini digunakan untuk mencari rata-rata tiga
buah bilangan, Kungsi ini memiliki tiga buah argument a, b, dan c.
K/NC4:N Aatarata "a, b, c ) nteger# ) AealN
C:N!4
?? 7 -N
QAA
'umlah ) ntegerN
6asil ) AealN
B1CN
'umlah )7 a E b E cN
6asil )7 jumlah. ??N
Aatarata )7 6asilN
1NDN
:leh karena nama fungsi adalah Aatarata, maka hasil perhitungan
ratarata dari ketiga parameter. argument a, b dan c harus disimpan
di 2ariable rata-rata pula.
TIK (Modul Pascal) 104 Kelas XI Semester 3
Contoh F-;
Program menggunakan fungsi yang memiliki deretan local.
PA:CAA& &encariDBilanganD4erbesarN
QAA
a, b, c ) ntegerN
K/NC4:N &aksimum "p, R, r ) nteger# ) ntegerN
QAA
Big ) ntegerN
B1CN
Big )7 pN
f R > big then big )7 RN
f r > big then big )7 rN
&aksimum )7 bigN
1NDN
B1CN
Jrite "V4uliskan tiga bilangan a, b, c ) V#N
Aeadln "a, b, c#N
4erbesar )7 &aksimum "a, b, c#N
JritelnN
Jriteln"VBilangan terbesar 7W, 4erbesar#N
1ND.
Qariabel a, b dan c adalah 2ariable global, sedang Big adalah
2ariable local. Qariable big hanya dikenali oleh blok fungsi
&aksimum.
Fung"i B$rganda
!eperti halnya prosedur, suatu fungsi dapat kalian panggil selagi
sedang berada dalam fungsi yang lain, tentu saja, fungsi yang dipanggil
tersebut harus sudah, dibuat dahulu sebelumnya.
TIK (Modul Pascal) 105 Kelas XI Semester 3
-#o)
*ungsi
ma)simum
-agian
!tama
program
:e)#arasi
#o)a#
Contoh F-<
Program berikut ini menunjukkan bah5a suatu fungsi dapat dipanggil
oleh fungsi yang lain.
PA:CAA& contohDfungsiDbergandaN
QAA
a, b, c ) ntegerN
K/NC4:N 'umlah "8, y, ? ) nteger# ) ntegerN
B1CN
'umlah )7 8 E y E ?N
1NDN
K/NC4:N Aatarata "8, y, ? ) nteger# ) ntegerN
QAA
!um ) ntegerN
B1CN
!um )7 jumlah "8, y, ?#N
Aatarata )7 sum.-N
1NDN
B1CN
Jrite "V4uliskan tiga bilangan a, b, c ) V#N
Aeadln "a, b, c#N
Jriteln "VAata-ratanya 7 V, ratarata "a,b,c#W )
1ND.
Program di atas akan membaca deretan tiga buah data a, b dan c dari
keyboard. Kungsi rata-rata dipanggil dari bagian utama program untuk
menghitung rata-rata dari tiga bilangan a, b dan c.
Kungsi rata-rata sendiri pada saat bekerja memanggil fungsi jumlah
untuk menghitung jumlah tiga data yang tersimpan di dalam parameter
8, y dan ?.
TIK (Modul Pascal) 106 Kelas XI Semester 3
*ungsi
7um#ah
*ungsi
Ratarata
-agian
!tama
program
!uatu fungsi dapat dideklarasikan di dalam fungsi lain. Kungsi yang
dideklarasikan secara local hanya dikenali oleh blok fungsi tempat
deklarasi dilakukan.
Contoh F-G )
Kungsi jumlah pada contoh F.< dapat diletakkan di dalam fungsi
ratarata.
PA:CAA& contohDfungsiDbergandaN
QAA
a, b, c ) ntegerN
K/NC4:N ratarata "u, 2, 5 ) nteger# ) realN
QAA
!um ) ntegerN
K/NC4:N jumlah "8, y, ? ) nteger# ) ntegerN
B1CN
'umlah )7 8 E y E ?N
1NDN
B1CN
!um )7 jumlah "u, 2, 5#N
Aatarata )7 sum.-N
1NDN
B1CN
Jrite "Vtuliskan tiga bilangan a, b, c ) V#N
Aeadln "a, b, c#N
Jriteln "VAata-ratanya 7 V, Aatarata"a, b, c#N
1ND.
Perhatikan bah5a fungsi jumlah terletak di dalam fungsi ratarata. :leh
karena itu, fungsi jumlah disebut memiliki ruang lingkup local terhadap
fungsi ratarata. Kungsi jumlah hanya dapat dipanggil dari dalam blok
TIK (Modul Pascal) 107 Kelas XI Semester 3
-#o)
Ratarata
*ungsi
(um#ah
-agian
!tama
/rogram
fungsi ratarata. Anda dapat memanggil fungsi jumlah dari bagian utama
program.
Kungsi jumlah hanya akan dijalankan apabila fungsi ratarata dijalankan.
(esimpulan yang dapat diperoleh adalah bah5a suatu fungsi hanya
dapat dipanggil dari dalam blok tempat fungsi tersebut berada.
Qariable a, b, c adalah 2ariable global, sedang 2ariable !um adalah
2ariable local yang hanya dikenali oleh blok fungsi ratarata. Qariable
sum dikenali oleh blok funsi, jumlah sebab fungsi jumlah berada di
dalam blok fungsi ratarata.
Ga+ungan Pro"$dur dan Fung"i
Kungsi dan prosedur dapat digunakan bersama-sama di dalam sebuah
program, fungsi dapat diletakkan di dalam suatu prosedur, demikian
pula sebaliknya, prosedur dapat diletakkan di dalam suatu fungsi. !elain
itu fungsi dan prosedur dapat pula diletakkan terpisah satu sama lain.
Pada saat menggunakan fungsi dan prosedur bersama-sama, anda
harus selalu mengingat kembali hal sebagai berikut )
- Auang lingkup 2ariable global dan 2ariable local yang anda
pergunakan.
- Proses yang dilakukan oleh suatu prosedur dapat menghasilkan
lebih dari satu keluaran, sedang proses yang dilakukan oleh fungsi
hanya akan menghasilkan satu keluaran saja.
- Nama suatu prosedur tidak boleh sama dengan 2ariable yang
digunakan, tetapi nama suatu fungsi justru harus sama dengan nama
2ariable yang digunakan untuk menyimpan hasil akhir proses.
Perhatikan beberapa contoh pemakaian prosedur bersama-sama
dengan fungsi berikut ini.
Contoh F-F
Program berikut menunjukkan bah5a suatu fungsi dapat dipanggil oleh
suatu prosedur.
PA:CAA& &enentukanD3ulusD4idak 3ulusN
TIK (Modul Pascal) 108 Kelas XI Semester 3
Qar
a, b ) ntegerN
K/NC4:N Aatarata "8, y ) nteger # ) AealN
B1CN
Aatarata )7 "8 E y#.+N
1NDN
K/NC4:N 3ulus "?? ) nteger # ) BooleanN
B1CN
K ?? > ;; then lulus )7 4rueN
13!1 3ulus )7 KalseN
1NDN
TIK (Modul Pascal) 109 Kelas XI Semester 3
*ungsi
Ratarata
*ungsi
6e#u#usan
PA:C1D/A1 (elulusan "8, y ) nteger#N
QAA
NilaiAkhir ) AealN
:( ) BooleanN
B1CN
NilaiAkhir )7 Aatarata "8, y#N
:( )7 3ulus "Nilai Akhir#N
K :( 7 4rue 461N 5riteln "V3ulusW#N
13!1 Jriteln "V4idak 3ulusW#N
1NDN
B1CN
Jriteln "V4uliskan Nilai*, Nilai+ ) V#N
Aeadln "a, b#N
(elulusan "a, b#N
1ND.
Kungsi rata-rata dan fungsi lulus dipanggil oleh prosedur kelulusan. Agar
fungsi rata-rata dan fungsi lulus dapat dipanggil dari prosedur
kelulusan, maka keduanya harus diletakkan sebelum prosedur
kelulusan.
Qariable a dan b adalah 2ariable global, sedang nilaiakhir dan :k adalah
2ariable local yang hanya dikenali oleh blok prosedur kelulusan.
Contoh F-B
Program berikut menunjukkan bah5a suatu fungsi dapat diletakkan di
dalam prosedur.
PA:CAA& menghitungDpajakN
Qar
Caji ) AealN
PA:C1D/A1 6itungPajak "a ) real#N
QAA
Persen, pajak ) realN
TIK (Modul Pascal) 110 Kelas XI Semester 3
/rosedur
6e#u#usan
-agian
/rogram
utama
K/NC4:N Persentase "?? ) real# ) realN
B1CN
K ?? H *@@@@@ 461N Persentase )7 @.@*
13!1 Persentase )7 @.@-N
1NDN
B1CN
Persen )7 Persentase "a#N
Pajak )7 a 9 persenN
Jriteln "VBesarnya gaji )7 Ap. V, a#N
Jriteln "VBesarnya Pajak )7 Ap. V, pajak#N
1NDN
B1CN
Jrite "V4uliskan gaji anda ) V#N
Aeadln "Caji#N
6itungPajak "gaji#N
1ND.
Kungsi persentase terletak di dalam prosedur 6itungPajak, sehingga
fungsi persentase hanya dikenali oleh blok prosedur 6itungPajak saja,
Kungsi persentase tidak dapat dipanggil oleh bagian utama program.
Caji adalah 2ariable global, sedang persen dan pajak adalah 2ariable
local yang hanya dikenali oleh blok prosedur hitungpajak. Kungsi
persentase dapat mengenali 2ariable persen dan pajak karena fungsi
persentase berada di dalam blok prosedur hitungpajak.
TIK (Modul Pascal) 111 Kelas XI Semester 3
Contoh F-*@
Program berikut menunjukkan bah5a suatu prosedur dapat diletakkan
di dalam fungsi.
PA:CAA& &enghitungDpajakN
QAA
Caji ) realN
K/NC4:N Pajak "a ) real# ) realN
QAA
Persen, Pajak ) AealN
PA:C1D/A1 &enghitungPersenN
B1CN
K a H *@@@@@ 461N Persen )7 @.@*
13!1 Persen )7 @.@-N
1NDN
B1CN
&enghitungPersen "a#N
Pajak )7 a 9 persenN
1NDN
B1CN
Jrite "V4uliskan gaji anda ) V#N
Aeadln"gaji#N
Jriteln "VBesarnya Caji )7 Ap. V, a#N
Jriteln "VBesarnya Pajak )7 Ap. V, Pajak"gaji##N
1ND.
Prosedur menghitungpersen terletak di dalam fungsi pajak, sehingga
prosedur menghitungpersen hanya dikenali oleh blok fungsi pajak saja.
Bagian utama program tidak dapat memanggil prosedur menghitung
persen.
TIK (Modul Pascal) 112 Kelas XI Semester 3
Caji adalah 2ariable global, sedang persen dan pajak adalah 2ariable
local yang hanya dikenali oleh blok fungsi pajak saja. (edua 2ariable
local tersebut dapat dikenali oleh prosedur menghitungpersen sebab
prosedur menghitungpersen berada di dalam blok fungsi pajak.
Soal
*. Perhatikan beberapa judul fungsi di ba5ah ini, 4entukan manakah
judul fungsi yang benar U
a# K/NC4:N &aksiN
b+ K/NC4:N si "A) B ) nteger# ) ntegerN
c# K/NC4:N si "A ) Bolean# ) CharN
d# K/NC4:N &aksimum"A, B ) Aeal )C# ) ntegerN
e# K/NC4:N ab cd "A)nteger# ) CharN
f# K/NC4:N ?kali , "Y real , , Aeal# ) CharN
g# K/NC4:N Pendapatan"Caji ) AealN (ode ) !tringSBT# )
!tringS+@TN
2. 4uliskan judul fungsi untuk keperluan berikut ini )
a# Kungsi riil bernama AbagiB dengan dua buah parameter riil a
dan b.
b# Kungsi integer bernama 4erkecil dengan tiga buah parameter
integer A, B dan C.
c# Kungsi Aiil bernama Pajak dengan parameter (odeJilayah
"nteger#, Caji "riil#, dan status "Character#.
-. Buatlah sebuah fungsi untuk mencari bilangan terbesar dari tiga
bilangan integer a, b dan c.
0. Buatlah sebuah fungsi Boolean dengan sebuah parameter integer.
Kungsi tersebut akan menghasilkan nilai 4A/1 apabila parameternya
bilangan CAN'3.
5. Buatlah sebuah fungsi untuk menghitung luas permukaan bola
dengan rumus ) 3 7 0 pi r
+
<. Buatlah sebuah fungsi riil untuk menghitung rata-rata tiga buah
bilangan integer 8, y dan ?.
TIK (Modul Pascal) 113 Kelas XI Semester 3
G. Buatlah program untuk menanyakan sisi-sisi tegak sebuah
segitiga siku-siku, lalu menghitung sisi miringnya dengan
menggunakan sebuah fungsi.
F. !in adalah fungsi standar yang sudah tersedia untuk menghitung
sinus suatu sudut, argument fungsi ini harus dalam satuan radian.
Buatlah program untuk menanyakan sudut dalam derajat lalu
menghitung sinus sudut tersebut
Petunjuk )
Buatlah sebuah fungsi buatan untuk mengubah satuan sudut dari
derajat ke radian, lalu menghitung sinus sudut tersebut.
B. Buatlah program untuk mencari huruf seorang murid. Nilai angka
ditanyakan terlebih dahulu. Nilai angka yang dimasukan harus
diantara @ s.d *@@. pemasukkan nilai angka akan diulang apabila
nilai yang dimasukkan tidak memenuhi syarat.
10. Buatlah program untuk membaca sederetan data angka bulat
yang dimasukkan dari keyboard terus menerus. Pembacaan data
angka ini akan berakhir apabila yang diketikkan adalah angka @ "nol#.
Program tersebut menghitung banyaknya bilangan ganjil serta
bilangan genap yang dimasukkan.
**. Buatlah program untuk menanyakan pendapatan seseorang
lalu menghitung besarnya pajak pendapatan yang harus dibayar.
- apabila pendapatannya kurang dari Ap. ;@@@@@,- maka
prosentase pajak yang harus dibayar adalah +.; persen.
- Apabila pendapatannya diantara Ap. ;@@@@@,- sampai dengan
Ap. *@@@@@@,- maka prosentase pajak yang harus dibayar -
persen.
- Apabila pendapatannya lebih dari Ap. *@@@@@@, maka
prosentase pajak yang harus dibayar -.; persen.
*+. Besarnya persentase pajak pendapatan untuk D( 'akarta
adalah ; persen, untuk 'a5a Barat -.; persen. /ntuk 'a5a 4engah -
persen, dan untuk 'a5a 4imur +.G; persen. Buatlah program untuk
TIK (Modul Pascal) 114 Kelas XI Semester 3
menanyakan nama, pendapatan, serta 5ilayah tempat tinggal
seseorang, lalu menghitung pajak yang harus dibayar.
TIK (Modul Pascal) 115 Kelas XI Semester 3
LATI2AN 4LANGAN BAB ;L <L >
PILI2AN GANDA
*. &anakah yang salah dari deklarasi di ba5ah ini )
a. Kunction abc"a)byte#)realN
b. Kunction 8y?"a)byte#)byteN
c. Kunction klm"k,l)byte#)realN
d. Kunction stu"s)real#N
e. !alah semua
+. &anakah yang salah dari deklarasi di ba5ah ini )
a. Procedure abcN
b. Procedure abc"a)byte#N
c. Procedure 8y?"2ar 8)integer#N
d. Procedure klm"a,b)real#N
e. !alah semua
-. Penggalan deklarasi program sebagai berikut )
4ype ar 7 array S*..*@T of byteN
Qar a)arN , b)byteN
Procedure Baca"2ar 8)ar#N
Begin
Kor i)7* to *@ do readln"8SiT#N
1ndN
Kunction jumlah"8)ar#NbyteN
Qar ')byteN
Begin
')7@N
Kor i)7* to *@ do
')7'E8SiT mod N
1ndN
Begin
Baca"a#N b)7'umlah"a#N
Jriteln"b#N
1nd.
TIK (Modul Pascal) 116 Kelas XI Semester 3
Bila data yang dibaca berurutan sebagai berikut ) *, +, -, ;, <, G, F, B,
*@ maka hasil output yang dicetak )
a. *@
b. ;;
c. @
d. ;
e. !alah semua
0. &asih berhubungan dengan no. - di atas. Bila data yang
dibaca secara berurutan ) *@, B, F, G, <, ;, 0, -, +, *, maka output
yang tercetak )
a. *@
b. ++
c. +@
d. -@
e. !alah semua
;. &asih berhubungan dengan nomor - di atas. Bila judul
procedure Baca "2ar 8)ar# diubah menjadi procedure Baca"8)ar# dan
menggunakan data pada soal no. *0, maka output yang tercetak )
a. *@
b. ++
c. @
d. -@
e. !alah semua
TIK (Modul Pascal) 117 Kelas XI Semester 3
<. Penggalan program Pascal sebagai berikut )
Kunction Kakto"n)byte#)longintN
Begin
f n7@ then
Kakto)7@
1lse
Kakto)7n9Kakto"n-*#N
1ndN
Bila function di atas dipanggil dengan statemen y)7fakto";#N maka y
bernilai )
a. @
b. ;
c. *+@
d. <@
e. !alah semua
G. &asih berhubungan dengan no. <, di atas, bila statemen
fakto)7n9fakto"n-*# diganti dengan fakto)7nEfakto"n-*# dan
dipanggil dengan y)7fakto"<# maka y berharga
a. +*
b. +0
c. <
d. +@
e. !alah semua
F. Berikut ini penggalan program Pascal )
Kunction Abc"a,b)byte#)longintN
Begin
f b7@ then Abc)7*
1lse Abc)7a9Abc"a, b-*#N
TIK (Modul Pascal) 118 Kelas XI Semester 3
1ndN
Bila function abc di atas dipanggil dengan 8)7Abc";,-#N maka 8
berharga
a. *;
b. *+;
c. *
d. @
e. !alah semua
B. &asih berhubungan dengan nomor F, function abc dipanggil
dengan 8)7abc"-,;# maka berharga )
a. F*
b. *;
c. +0-
d. +;
e. !alah semua
*@. &asih berhubungan dengan soal nomor F, bila statemen
abc)7a9abc"a, b-*#N diganti dengan abc)7aEabc"a, b-*#N dan
dipanggil dengan 8)7abc"-,0#N maka berharga )
a. *-
b. *+
c. *@
d. ;
e. !alah semua
**. Penggalan program pascal sebagai berikut )
4ype kal7stringS+@TN
Procedure pgr"8)kal,n)byte#N
Begin
f n>@ then
TIK (Modul Pascal) 119 Kelas XI Semester 3
Begin
Jrite "8SnT#N
Pgr"8, n-*#N
1ndN
1ndN
Bila dipanggil procedure dengan pgr"$t4:(BG%,<#, maka outputnya )
a. 4:(BG
b. GB(:4
c. 4:(
d. 4:(BG
e. !alah semua
*+. Bila kata)stringS+@T7W(asur nababan rusak%N procedure pgr
no. +< di atas di panggil dengan statemen pgr"kata, length"kata##N
maka outputnya )
a. Ausak kasur nababan
b. Nababan kasur rusak
c. (asur nababan rusak
d. Ausak nababan kasur
e. !alah semua
*-. Penggalan program sebagai berikut )
Kunction Iy?"n)byte#)integerN
Begin
f n7* then Iy?)7n
1lse Iy?)7*EIy?"n-*#N
1ndN
Bila function Iy? dipanggil dengan a)7Iy?"*@#N maka a berharga )
a. *
b. B
c. *@
d. **
TIK (Modul Pascal) 120 Kelas XI Semester 3
e. !alah semua
*0. &asih berhubungan dengan nomor *-, bila dipanggil dengan
y)7Iy?"*<#N maka y berharga )
a. *;
b. ;
c. *
d. @
e. !alah semua
*;. Penggalan program sebagai berikut )
Procedure abc"A,B,C,D,1,K)byte#N
Begin
C)7A E BN
D)7A - BN
1)7A9BN
K)A di2 BN
1ndN
Bila procedure abc dipanggil dengan abc"*@,-,8,y,?,5# maka 8,y,?
dan 5 masing-masing berharga)
a. *-, G, -@, -
b. @, @, @, @
c. *-, G, -@, -, --
d. *, *, *, *
e. !alah semua
*<. Penggalan program )
Procedure tulis"kata)stringSF@T#N
Qar i)byteN
Begin
TIK (Modul Pascal) 121 Kelas XI Semester 3
Kor i)7length do5nto * do 5rite"kataSiT#N
1ndN
Bila procedure tulis dipanggil dengan tulis"V4im :limpiade (omputer
ndonesiaW#N maka hasilnya )
a. 4im :limpiade (omputer ndonesia
b. ndonesia (omputer :limpiade 4im
c. Aisenodni retupmo( edalipmil: mi4
d. 4im noonesia :limpiade (omputer
e. !alah semua
*G. &asih berhubungan dengan no. 0;, bila for i)7length"kata#
do5nto * do diganti dengan for i)7* to length"kata# do maka
hasilnya )
a. 4im :limpiade (omputer ndonesia
b. ndonesia (omputer :limpiade 4im
c. Aisenodni retupmo( edalipmil: mi4
d. 4im noonesia :limpiade (omputer
e. !alah semua
P$nggalan #rogram "$+agai +$riut 6
4ype ar7arrayS*..-,*..-T of integerN
Qar a,b,c)arN i,j,k)byteN
LLLLL
procedure abc"2ar 8)ar#N
begin
for i)7* to - do
for j)7* to - do read"8S,jT#N
endN
procedure pRr"8, y)arN 2ar ?)ar#N
begin
for i)7 * to - do
TIK (Modul Pascal) 122 Kelas XI Semester 3
for j)7* to - do begin ?Si,jT)7@N
for k)7* to - do
?"i,j#)7?",j#E8Si,kT9ySk,jTN
endN
endN
procedure klm"8)ar#N
begin for i)7* to - do
for j)7* to - do
5rite"8Si,jT);N
5ritelnN
endN
*F. Bila main program procedure dipanggil dengan abc"a#N dan
data yang dimasukkan ) * + - 0 ; < G F B, maka matri8 a berharga )
a. * + -
0 ; <
G F B
b. * 0 G
+ ; F
- < B
c. * - ;
+ 0 <
G F B
d. * + -
G < B
0 ; F
e. !alah semua
*B. masih berhubungan dengan penggalan program di atas, bila
statemen secara berurutan dalam main program sebagai berikut )
abc"a#N abc"b#N pRr"a,b,c#N klm"c#N maka program ini menyelesaikan )
a. membaca matri8 a dan b, mengalikan matri8 a dan b
menghasilkan matri8 c, dan mencetak matri8 c
TIK (Modul Pascal) 123 Kelas XI Semester 3
b. &embaca matri8 a dan b, menambahkan matri8 a dan b
menghasilkan matri8 c dan mencetak matri8 c
c. &embaca matri8 a dan b, mencetak matri8 c
d. &encetak matri8 c
e. !alah semua
+@. &asih berhubungan dengan nomor *F dan *B.
Bila data yang dibaca secara berurutan adalah * + * - 0 * + + - * @ @
@ * @ @ @ *, maka matrik8 C berharga )
a. - 0 *
+ + -
* + *
b. * + *
- 0 *
+ + -
c. + + -
- 0 *
*+ *
d. - 0 *
* + *
+ + *
e. !alah semua
TIK (Modul Pascal) 124 Kelas XI Semester 3

TIK (Modul Pascal) 125 Kelas XI Semester 3

Beri Nilai