Anda di halaman 1dari 39

10PENDAHULUAN

Ada sebuah anekdot tentang pandangan yang salah kaprah mengenai komputer. Sebagai
sebuah mesin pintar, komputer terlanjur dipercaya orang mampu mengerjakan perintah apa
saja yang diberikan oleh manusia. Komputer adalah benda ajaib yang mampu menyelesaikan
masalah apa saja yang diinginkan orang.
Anggapan tersebut tidak seluruhnya salah. Komputer memang alat bantu dalam
menyelesaikan masalah. Persoalannya, komputer tidak begitu saja langsung dapat
menyelesaikan masalah yang disodorkan. Orang harus merumuskan langkah langkah
penyelesaian masalah itu dalam suatu runtunan instruksi. Komputerlah yang nanti
mengerjakan runtunan instruksi tersebut, karena komputer dapat mengerjakannya dengan cepat,
akurat, bahkan berulang ulang tanpa kenal lelah dan bosan. Sekumpulan instruksi yang
merupakan penyelesaian masalah itu dinamakan program. Program dimasukkan ke dalam
komputer, komputer mengerjakan instruksi instruksi di dalam program tersebut, lalu
memberikan hasil atau keluaran yang diinginkan.
Agar program dapat dilaksanakan oleh komputer, program tersebut harus ditulis dalam suatu
bahasa yang dimengerti oleh komputer. Sebagaimana dalam kehidupan, kita hanya dapat
memberikan perintah kepada orang lain dalam bahasa yang ia mengerti. isalnya kepada
orang !nggris, kita hanya dapat memberikan tugas kepadanya dalam bahasa !nggris. Karena
komputer adalah mesin, maka program harus ditulis dalam bahasa yang khusus dibuat untuk
berkomunikasi dengan komputer. "ahasa komputer yang digunakan dalam menulis program
dinamakan bahasa pemrograman.
Sampai saat ini terdapat ratusan bahasa pemrograman. "ahasa bahasa ini akan terus
berkembang dan bertambah jumlahnya. #ang membuat dan mende$inisikan bahasa itu adalah
manusia juga. Ada bahasa yang cukup sulit dipahami oleh penggunanya dikarenakan tata
bahasanya yang primiti$ atau karena orientasi bahasanya lebih dekat ke bahasa mesin
%bahasa tingkat rendah lo& le'el language( daripada bahasa manusia %bahasa tingkat tinggi
high le'el language(. Kebanyakan bahasa tingkat tinggi mengambil kata kata dari bahasa
!nggris sehingga ia mudah dipelajari oleh pemakainya.
Pada mulanya orang mempelajari suatu bahasa komputer melalui aturan tata bahasanya.
Ketika bahasa baru muncul, yang umumnya lebih maju dibandingkan dengan bahasa generasi
lama, orang pun mempelajarinya lalu menuliskan program dalam bahasa baru tersebut.
Sebuah bahasa dapat mempunyai beberapa 'ersi, setiap 'ersi dirancang untuk komputer atau
lingkungan sistem operasi tertentu. Antara satu 'ersi bahasa dengan 'ersi lainnya terdapat
perbedaan. )adi agar program dapat dijalankan pada komputer yang lain, orang harus menulis
program dalam 'ersi bahasa yang sesuai dengan komputer tersebut. )adi, orang yang menulis
program sangat terikat dengan aturan bahasa dan spesi$ikasi mesin yang akan
menjalankannya.
Saat ini, dengan berkembangnya teknik pemrograman terstruktur, orang tidak lagi
memecahkan masalah dengan langsung menulis programnya dalam bahasa pemrograman.
Orang mulai memikirkan suatu cara penyelesaian masalah yang akan diprogram dengan
menekankan pada desain atau rancangan yang me&akili pemecahan masalah tersebut. *esain
berisi urutan langkah langkah pencapaian solusi yang ditulis dalam notasi notasi deskripsi.
Urutan langkah langkah yang sistematis untuk menyelesaikan sebuah masalah
dinamakan algoritma. +otasi untuk menuliskan algoritma disebut notasi algoritmik. +otasi
algoritmik bukan notasi bahasa pemrograman, karena itu program dalam notasi algoritmik
tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, program dalam
notasi algoritmik harus ditranslasikan %diterjemahkan( ke dalam notasi bahasa pemrograman
yang dipilih.
enulis program bukan hanya merupakan suatu kreati$itas tetapi juga merupakan sebuah
penerapan disiplin ilmu secara teliti, karena program merupakan implementasi dari suatu
urutan langkah guna menyelesaikan suatu masalah.
Pemrogram adalah orang yang bekerja menyusun suatu program. Pemrogram %programmer(
yang baik akan menghasilkan program yang mampu memberikan solusi yang tepat dan benar.
Pemrogram dapat digolongkan dalam dua jenjang, yaitu amatir dan pro$esional. Pemrogram

,
amatir biasanya hanya menghasilkan program yang relati$ hanya untuk memecahkan masalah
masalah kecil, sedangkan pemrogram pro$esional memiliki kemampuan untuk menyusun
program untuk memecahkan masalah masalah yang besar dan rumit.
"anyak orang yang memiliki hobi bermain dengan komputer yang kemudian menjadi
pemrogram amatir. +amun untuk menyelesaikan masalah masalah yang cukup rumit
dibutuhkan pemrogram yang pro$esional dalam bidangnya. "anyak pemrogram pro$esional
memulainya dengan sebuah serti$ikat dari sebuah kursus, dari akademi atau perguruan tinggi
di bidang ilmu komputer atau dari ilmu lain yang berkaitan dan kemudian mereka mencari
engalaman dan terus berlatih.
-ntuk menghasilkan program yang baik dibutuhkan pemrogram yang baik dan berkualitas
pula. Adapun kriteria pemrogram yang baik adalah .
ampu menyusun pemecahan masalah yang baik
enguasai bahasa pemrograman dengan baik
ampu menulis program dengan teknik yang baik
ampu menyusun program yang baik
*apat bekerja sama dalam suatu tim kerja
*apat bekerja secara e$isien dan tepat &aktu
DA!A" DA!A" AL#$"%&'A DAN PE'"$#"A'AN
Program adalah kata,ekspresi, atau pernyataan yang disusun dan dirangkai menjadi satu kesatuan
prosedur, yang berupa urutan langkah, untuk menyelesaikan masalah yang diimplementasikan
dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer.
Pemrograman adalah proses mengimplementasikan sederetan perintah atau urutan langkah
untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman. *apat
dikatakan pemrograman adalah kegiatan yang berhubungan dengan pembuatan program.
"ahasa pemrograman adalah prosedur atau tata cara penulisan program, terdapat / $aktor penting
yaitu sintaks dan semantik. Sintaks adalah aturan0aturan gramatikal yang mengatur tata cara
penulisan kata, ekspresi, dan pernyataan. Semantik adalah aturan0aturan untuk menyatakan suatu
arti.
1ahapan pemrograman komputer .
,. 2ase Problem Sol'ing
/. 2ase !mplementasi
Suatu program dikatakan baik jika .
,. "ekerja sesuai dengan tujuan dan memenuhi spesi$ikasi yang telah ditentukan
/. 1idak mengandung kesalahan
3. 4epat dalam &aktu pelaksanaannya %eksekusi program(
5. 6$isien dalam penggunaan memori komputer
7. -ser $riendly
8. Portability
9. Kemudahan mera&at : mengembangkan program

/
Analisa Problem
Perancangan Algoritma
Pembuatan Program
1est
1est
*okumentasi
*ipakai
2ase !
2ase Problem Sol'ing
2ase !!
2ase !mplementasi
Program dibagi dalam 3 bentuk .
,. Kon'ensional
Semua langkah langkah yang dibutuhkan untuk menghasilkan suatu in$ormasi tanpa
ada aturan tertentu.
/. 1erstruktur
0 mengandung teknik pemecahan masalah yang tepat dan benar
0 memiliki algoritma pemecahan masalah yang sederhana, standar, dan e$ekti$
0 penulisan program memiliki struktur logika yang benar dan mudah dipahami
0 terdiri dari 3 struktur dasar, yaitu struktur sekuensial, penyeleksian kondisi dan
perulangan
0 menghindari penggunaan ;O1O
3. 6'ent dri'en, OOP, ulti threading
*apat melakukan beberapa proses dalam satu &aktu.
"ahasa pemrograman dibedakan menjadi 5 .
,. <o& <e'el <anguage %bahasa tingkat rendah(
erupakan bahasa mesin, berekstensi e=e, com, dsb. "ahasa jenis ini dirancang agar setiap
instruksi langsung dikerjakan oleh komputer, tanpa harus diterjemahkan terlebih dahulu.
Sulit dipahami manusia.
/. iddle <e'el <anguage %bahasa tingkat menengah(
1idak begitu mudah dipahami karena selain harus tahu perintah0perintahnya juga harus tahu
cara kerja mesin. 4ontoh . bahasa Assembler.
3. >igh <e'el Oriented Programming
"erorientasi ke bahasa manusia %bahasa !nggris(, mudah dipahami. Program dalam bahasa
ini tidak dapat langsung dilaksanakan oleh komputer. Perlu diterjemahkan dulu ke bahasa
mesin %bahasa tingkat rendah( sebelum dieksekusi oleh 4P-. 4ontoh . bahasa Pascal, 4obol,
"asic, *base, 4,dll
5. Object Oriented Programming %bahasa berorientasi objek( . berbasis 'isual, contoh .
*elphi, ?isual "asic, dll
Proses mengubah %menterjemahkan( dari bentuk bahasa tingkat tinggi ke tingkat rendah dalam
bahasa pemrograman ada / tipe .
,. !nterpreter
embaca dan diterjemahkan tiap baris. 4ontoh bahasa pemrograman dengan tipe interpreter.
bahasa Perl, Phyton, P>P,dll
/. 4ompiler
embaca program : menerjemahkan secara keseluruhan, contoh . Pascal, 4,dll
Program tingkat tinggi @ kode sumber %source code(
>asil dari terjemahan @ object code atau e=ecutable
Ada juga bahasa pemrograman yang menggabungkan / tipe diatas, contoh . )a'a.
AL#$"%&'A
Algoritma adalah urutan langkah langkah logis yang disusun secara sistematis dari sebuah
prosedur yang harus ditempuh untuk menyelesaikan suatu masalah yang masih ditulis dalam
bahasa manusia.
Algoritma bisa direpresentasikan dengan / macam cara, yaitu .
1. (lo)chart
Aepresentasi algoritma dengan menggunakan bagan alir dan lambang lambang tertentu.
2lo&chart memudahkan dalam melakukan pengecekan bagian0bagian yang terlupakan dalam
analisis masalah. 2lo&chart juga berguna sebagai $asilitas untuk berkomunikasi antara
pemrogram yang bekerja dalam tim suatu proyek.
Simbol .


3
%nut * $utut
Proses
&esting
+. Pseudocode
erupakan bentuk prosedur $ormat pengujian algoritma dengan struktur bahasa
pemrograman namun masih menggunakan bahasa manusia.
!truktur Dasar Algoritma
1. "untunan ,se-uence.

5
&erminal / menun0ukkan a)al 1 akhir rogram
2onnector / enghubung ada satu halaman
Prearasi / memberikan nilai a)al ada suatu 3ariabel*konstanta
Prede4ined Proses / roses yg ditulis sebagai subrogram5 yaitu
rosedur*4ungsi
$44 Page 2onnector / enghubung ada halaman yang berbeda
Arah Aliran Proses

'anual %nut
'agnetic Disk
(ile
Dislay
1erdiri atas satu proses yang diikuti proses yang lain
4ontoh .
2lo&chart menghitung luas lingkaran

+. Pemilihan ,selection.
Suatu instruksi dikerjakan jika kondisi tertentu dipenuhi. +ilai suatu kondisi dapat
ditest dan menghasilkan kondisi benar atau salah. -ntuk melakukan test kondisi
biasanya digunakan operasi relasi sebagai berikut .
+O1AS! AA1!
@

B
C

Sama dengan
1idak sama dengan
<ebih besar
<ebih kecil
<ebih besar atau sama dengan
<ebih kecil atau sama dengan
#
1
4ontoh .
2lo&chart menentukan = adalah bilangan ganjilDgenap.

7
Proses A
Proses "
ulai
Pi
3.,5
asukkan A
< Pi E AE A
1ulis <
Selesai
1est
kondi
si
Proses A
Proses "
ulai
"aca =
#
1
6. Pengulangan
*isebut juga iterasi D loop, instruksi atau serangkaian instruksi dikerjakan secara
berulang sepanjang kondisi tertentu masih menghendaki.
1
#
4ontoh .
2lo&chart mencetak angka 7
1
#


Notasi Algoritma
,. )udul atau kepala
"agian yang terdiri atas nama algoritma dan penjelasan %spesi$ikasi( tentang algoritma
tersebut.
/. "agian deklarasi
"agian untuk mende$inisikan semua nama yang dipakai di dalam algoritma. +ama
tersebut bisa berupa nama 'ariabel, tipe, prosedur, $ungsi, dsb.
3. "agian deskripsi
"erisi uraian langkah langkah penyelesaian masalah.

8
4etak "ilangan
;anjil
Selesai
= mod / @ F

1est
kondi
si
Proses A
Proses "
ulai
4etak =
Selesai
= C 7
= @ F
= @ = G ,
4etak "ilangan ;enap

4ontoh .
Algoritma Hitung_Lingkaran
DEKLARASI
const phi = 3.14
r,luas,keliling : real
DESKRIPSI
read(r)
luas phi * r * r
keliling 2 * phi * r
write(luas,keliling)
Algoritma Menentukan_Bilangan_Ganjil_Genap
DEKLARASI
x : integer
DESKRIPSI
read(x)
if x od 2 = ! then
write("#ilangan genap$)
else
write("#ilangan gan%il$)
endif
Algoritma Mencetak_Angka_5
DEKLARASI
x : integer
DESKRIPSI
x !
while x & ' do
x x(1
endwhile
write(x)
PRAKTIKUM MINGGU 1
PEN#ENALAN P"$#"A' PA!2AL
!&"U7&U" "UN&UNAN ,!E8UEN2E.
LAN#7AH9LAN#7AH PE':UA&AN P"$#"A'
,. -ntuk menulis program baru caranya tekan tombol A<1G 2 pilih +6H terlebih dahulu
sebelum Anda mengetik program Anda.

9
/. Ketikkan program Anda.
3. Simpan program Anda. Sebelum menyimpan tentukan letak %misal direktori atau $older(
dimana program akan disimpan dengan cara A<1 G 2 pilih 4hange *ir .
Setelah memilih direktoriD$older, tekan tombol 2/ atau A<1 G 2 pilih Sa'e atau Sa'e As .
Kemudian ketikkan nama program Anda, misalnya )ontoh1.pas CenterB
5. )alankan program dengan menekan tombol A<1 G A pilih A-+ atau 41A< G 2I
7. "ila ada kesalahan perbaiki kesalahan tersebut kemudian Anda ulangi langkah 3 dan 5
8. -ntuk membuat program baru ulangi langkah ,.
9. "ila Anda ingin mengecek apakah program Anda sudah tersimpan atau ingin menampilkan
program Anda kembali ke layar, maka tekan tombol A<1 G 2 OP6+ kemudian enter.
Selanjutnya Anda kerjakan contoh0contoh program diba&ah ini beserta tugasnya.
1. :A"%! 7$'EN&A"
"aris komentar adalah baris0baris yang menjelaskan maksud dari perubah %'ariabel( yang
digunakan atau maksud dari program itu sendiri. >al ini dimaksudkan untuk memudahkan
pelacakan atas perubah %'ariabel( yang digunakan apabila program yang digunakan cukup besar
atau memudahkan orang lain memahami program yang kita buat. *alam program, baris
komentar diletakkan diantara tanda %E dan E( atau diantara tanda J dan K . "aris ini tidak
dikerjakan oleh komputer, hanya dianggap sebagai baris kosong.
4ontoh .
clrscr* +,ersih la-ar.
/ar
a : integer (* /aria,el untuk alas segitiga *)
+. :EN&U7 * !&"U7&U" P"$#"A' PA!2AL
"entuk program Pascal mirip dengan kebanyakan program bahasa tingkat tinggi lainnya. "entuk
umumnya adalah .
,. )udul Program
/. "lok program
a. "agian deklarasi
*eklarasi label
*eklarasi konstanta
*e$inisi tipe
*eklarasi 'ariabel
*eklarasi prosedur
*eklarasi $ungsi
b. "agian pernyataan D statemen
+.1. ;udul Program
)udul program si$atnya sebagai dokumentasi saja, tidak signi$ikan terhadap proses program.
"entuk umumnya sebagai berikut .
Program (nama program);
4ontoh .
0rogra 1itung23uas*
Keterangan .
Program adalah kata tercadang
>itungL<uas adalah nama program
+.+ :lok Program
a. Deklarasi
*eklarasi adalah bagian untuk mende$inisikan semua nama yang dipakai dalam program.
+ama tersebut dapat berupa nama label, tetapan %konstanta(, nama 'ariabel, nama tipe, nama
prosedur, nama $ungsi.
b. Pernyataan * statemen

M
Adalah bagian yang berisi perintah pengerjaan program. Kumpulan statemen membentuk
program. Statemen berada di bagian deklarasi statemen dengan dia&ali kata cadangan
begin dan end.
Sintaks .
Begin
4aftar2stateen*
En!
7etentuan enulisan statemen
,. *iakhiri dengan titik koma
/. >uru$ besar atau huru$ kecil tidak dibedakan
3. *alam satu baris boleh lebih dari satu statemen
5. Satu statemen boleh terdiri dari beberapa baris
7. Konstanta tidak boleh dipecah dalam beberapa baris
Statemen terdiri dari .
,. Statemen pengerjaan
*igunakan untuk memasukkan suatu nilai tertentu ke dalam suatu 'ariabel.
Sintaks .
pengenal_"aria#el $% ungkapan!
4ontoh .
x = a(1
/. Statemen prosedur
*igunakan untuk mengakti$kan suatu prosedur yang telah dide$inisikan pemakai
atau oleh Pascal
4ontoh .
ta,ah(x,-)*
3. Statemen ;O1O
Kata cadangan ;O1O diikuti dengan pengenal label untuk melompat ke baris
tertentu.
5. Statemen kosong
Statemen yang tidak berisi simbol apapun.
4ontoh .
Begin
En!
7. Statemen !nput
-ntuk memasukkan atau membaca data yang akan diolah. Pascal mempunyai /
statemen untuk membaca data yaitu statemen A6A* dan A6A*<+. Statemen A6A*
tidak memperhatikan batas baris, rinci data akan selalu dibaca tidak tergantung apakah
ada di baris yang sama atau tidak. Statemen A6A*<+ memulai pembacaan data pada
posisi baris saat itu dan pergi ke a&al baris baru setelah pembacaan selesai.
Sintaks .
rea&"ar'( "ar)( *+
Atau
realn&"ar'( "ar)( *+
8. Statemen Output
-ntuk mencetak hasil pengolahan data %keluaran(. Pascal mempunyai / statemen yaitu
HA!16 dan HA!16<+.
Sintaks .
,rite&"ar'( "ar)( *+
atau
,riteln&"ar'( "ar)( *+

I
6. <A"%A:EL
?ariabel dalam program digunakan untuk menyimpan suatu nilai tertentu dimana nilai tersebut
dapat berubah0ubah. Setiap 'ariabel mempunyai tipe dan hanya data yang bertipe sama dengan
tipe 'ariabel yang dapat disimpan di dalam 'ariabel tersebut. Setiap 'ariabel mempunyai nama.
Pemisahan antar 'ariabel dilakukan dengan memberikan tanda koma.
4ontoh .
5ar
6ulah : integer*
harga2per2unit, total2,ia-a : real*
*ari contoh diatas,'ariabel %ulah hanya boleh menerima data yang bertipe integer %bulat(,
tidak boleh menerima data bertipe lainnya. ?ariabel harga2per2unit dan total2,ia-a
hanya bisa diisi dengan bilangan real %pecahan(.
=. 7$N!&AN&A
"erbeda dengan 'ariabel yang isinya bisa berubah selama eksekusi program berlangsung, nilai
suatu konstanta tidak bisa berubah.
Sintaks .
-on.t
/ar1 = nilai1*
4ontoh .
const
phi : real = 3.14*
pa%ak = !,1*
>. LA:EL
-ntuk menyatakan lokasi tempat pernyataan yang dituju oleh sebuah pernyataan ;O1O
dalam program.
Sintaks .
La#el
daftar2la,el*
4ontoh .
la,el
ulang*
?. 7LAU!A U!E!
-ses digunakan apabila ada unit %baik yang dibuat sendiri atau yang telah disediakan
Pascal( yang akan dilibatkan.
2$N&$H PE"'A!ALAHAN 1 @
enghitung pajak dari suatu harga barang
progra satu*
uses crt*
const
pa%ak = !.1*
/ar
naa,arang : string*
harga,arang : real*
,egin
naa,arang := 7sa,un haron-7*
harga,arang:=8!!*
writeln(7harga7, naa,arang, 7=7, harga,arang:':2)*
writeln(7pa%ak :7,pa%ak*harga,arang:':2)*
readln*
end.
2$N&$H PE"'A!ALAHAN + @
enghitung luas dan keliling lingkaran dengan besar jari0jari lingkaran sudah ditentukan.
progra dua*
+9enghitung 3uas,:eliling 3ingkaran,%ari diketahui.
uses crt* +enggunakan la-ar onitor.
const

,F
phi : real = 3.14*
/ar
%ari,luas,keliling : real*
,egin
clrscr*
%ari := 1!*
luas:=phi*%ari*%ari*
keliling:=2*phi*%ari*
writeln(76ari;%ari lingkaran = 7, %ari)*
writeln(<3uas lingkaran = <,luas)*
writeln(7:eliling lingkaran = 7,keliling)*
readln*
end.
2$N&$H PE"'A!ALAHAN 6 @
enghitung luas dan keliling lingkaran dengan besar jari0jari lingkaran dimasukkan melalui
keyboard.
progra tiga* +9enghitung 3uas dan :eliling 3ingkaran.
uses crt*
const
phi = 3.14*
/ar
%ari,luas,keliling : real*
,egin
clrscr*
write(79asukan %ari;%ari lingkaran = 7)*
readln(%ari)*
luas=phi*%ari*%ari*
keliling=2*phi*%ari*
writeln(<3uas lingkaran = <,luas)*
writeln(7:eliling lingkaran = 7,keliling)*
readln*
end.
2$N&$H PE"'A!ALAHAN = @
enukarkan dua buah nilai dari dua buah 'ariabel. isalnya, sebelum pertukaran nilai a@7, nilai
b@3, maka setelah pertukaran nilai a@3, nilai b@7.
0rogra =pat* +9enukarkan nilai a dengan ,.
>ses crt*
5ar
a,,,c : integer*
#egin
clrscr*
writeln(<0rogra 9enukar 2 #uah ?ilai7)*
writeln(7@e,elu ditukar 7)*
writeln(7;;;;;;;;;;;;;;; 7)*
writeln(7#ilangan pertaa 7)*
readln(a)*
writeln(<#ilangan kedua = <)*
readln(,)*
c:=a*
a:=,*
,:=c*
writeln(<@etelah ditukar7)*
writeln(<;;;;;;;;;;;;;;;<)*
writeln(7#ilangan pertaa = 7,a)*
writeln(7#ilangan kedua = 7,,)*
readln*
end.

,,
2$N&$H PE"'A!ALAHAN > @
engkon'ersikan total detik menjadi jam menit detik.
Petunjuk . , menit @ 8F detik
, jam @ 38FF detik
0rogra 3ia*
+9engkon/ersi total detik en%adi %a enit detik.
>ses crt*
5ar
totdet,%a,sisa,enit,detik : integer*
#egin
clrscr*
writeln(70rogra :on/ersi 4etik 9en%adi 6a 9enit 4etik7)*
writeln(7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7)*
writeln(79asukkan total detik = 7)*
readln(totdet)*
%a:=totdet di/ 3A!!*
sisa:=totdet od 3A!!*
enit:=sisa di/ A!*
detik:=sisa od A!*
writeln(76ulah %a = 7,%a)*
writeln(76ulah enit 7,enit)*
writeln(76ulah detik 7,detik)*
readln*
end.
&U#A!
,. "uat program untuk menghitung luas segitiga dan persegi panjang dengan besar alas,tinggi,
panjang, lebar dimasukkan melalui keyboard
/. Seorang user di &arnet mulai menggunakan internet pada pukul ), dan selesai pada pukul )/.
"ila tarip penggunaan di &arnet tersebut , jam Ap. 7FFF,0 maka buat program untuk
menghitung lama pemakaian %dalam jam menit detik( dan biaya yang harus dibayar user.
Keterangan . tampilan program seperti berikut .
PAO;AA "!<<!+; HAA+61
)am mulai .
enit mulai .
*etik mulai .
)am selesai .
enit selesai .
*etik selesai .
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<ama pemakaian . jam menit detik
, jam . Ap.
1otal bayar . Ap.

PRAKTIKUM MINGGU 2
&%PE DA&A DAN $PE"A&$" PADA PA!2AL
1. &%PE DA&A

,/
1ipe data menentukan nilai yang dapat disimpan 'ariabel tersebut dan operator0operator apa
yang dapat dikenakan padanya. 4ontoh . tipe real hanya dapat menyimpan bilangan real, dan
operator yang dapat dikenakan padanya antara lain operator penjumlahan, perkalian, dsb.
acam tipe data .
"ilangan bulat
"oolean
1ipe ordinal Karakter
Subjangkauan D subrange
1erbilang Denumerated

1ipe sederhana

1ipe string 1ipe real
1ipe data <arik %array(
Aekaman %record(
1ipe terstruktur >impunan %set(
"erkas %$ile(

1ipe pointer
1ipe prosedural
1ipe objek
&ie :ilangan :ulat
1ipe bilangan bulat digunakan untuk menyimpan data numerik berupa bilangan bulat.
&ie ;angkauan Ukuran dalam memori
Shortint 0,/MN,/9 M bit
!nteger 03/98MN3/989 ,8 bit
<ongint 0/,595M385MN/,595M3859 3/ bit
"yte FN/77 M bit
Hord FN87737 ,8 bit
4ontoh .
5ar
6ulah : ,-te *
#egin
6ulah := 2'!*
Briteln (<?ilai %ulah = <, %ulah)*
=nd.
Karena jumlah bernilai /7F maka cukup menggunakan tipe data byte, bila menggunakan shortint
tidak mencukupi, menggunakan integer terlalu besar.
&ie :oolean
1ipe "oolean adalah tipe yang mempunyai nilai benar %1rue( atau salah %2alse(, berukuran , byte.
4ontoh .
5ar
lagi : ,oolean *
#egin
lagi := Crue*
Briteln (<?ilai lagi = <, lagi)*
=nd.
&ie 7arakter
1ipe karakter digunakan untuk menyimpan data al$anumerik, seperti .
0 huru$ A sampai dengan O, misal .PAP, PQP
0 angka F sampai dengan I, misal P,P, PIP
0 simbol khusus, misal PRP, PSP, PTP,
0 spasi
0 karakter kontrol %karakter dengan nilai AS4!! diba&ah 3/(,misal 1ab , "ackspace

,3
0 karakter AS4!! tidak standar pada P4 %karakter dengan nilai AS4!! antara ,/M
hingga /77(.
*ideklarasikan dengan char, berukuran , byte.
-ntuk memberi nilai pada 'ariabel bertipe karakter, dapat menggunakan beberapa cara .
,. enuliskan karakter di dalam tanda petik tunggal.
4ontoh .
ch := <D7*
/. enuliskan tanda U diikuti dengan nomor AS4!! dari karakter yang ditulis.
4ontoh .
ch := EA'* +saa artin-a dengan ch:=7D7.
3. engkon'ersikan nomor AS4!! ke karakter menggunakan $ungsi chr.
4ontoh .
ch := chr(A') +saa artin-a dengan ch:=7D7.
Kebalikan dari $ungsi chr adalah ord, yang digunakan untuk mengembalikan nomor AS4!!
dari suatu karakter.
4ontoh .
x := ord (<D7)* +x akan ,ernilai A'.
&ie !ub0angkauan
1ipe subjangkauan menyatakan suatu jangkauan nilai dari suatu tipe yang sudah ada. )angkauan
nilai ditentukan oleh nilai terkecil dan nilai terbesar. Antara nilai terkecil dan nilai terbesar
dipisahkan oleh tanda subjangkauan % .. (.
4ontoh .
C-pe
nilai,ulan : 1..12*
endeklarasikan tipe bulan yang memiliki jangkauan dari , sampai ,/.
&ie &erbilang*enumerasi
6numerasi merupakan salah satu tipe yang dapat dibuat sendiri oleh pemrogram. 1ipe ini biasa
digunakan pada 'ariabel yang nilai kemungkinannya terbatas %tidak banyak(.
4ontoh .
C-pe
6eniskelain = (pria,wanita)*
)ontoh :
C-pe
naa,ulan : (6anuari, Fe,ruari, 9aret, Dpril, 9ei, 6uni, 6uli,
Dgustus, @epte,er, Gkto,er, ?ope,er, 4ese,er)*
&ie :ilangan "eal
*igunakan untuk menyimpan bilangan real %pecahan(.
&ie ;angkauan Digit Ukuran
Aeal
/.I E ,F
3I
N ,.9 E ,F
3M

,, ,/ 8 byte
Single
,.7 E ,F
57
N 3.5 E ,F
3M

9 M 5 byte
*ouble
7.F E ,F
3/5
N ,.9 E ,F
3FM

,7 ,8 M byte
6=tended
3.5 E ,F
5I3/
N ,., E ,F
5I3/

,I /F ,F byte
4omp
/
83
G , N /
83
0 ,


,I /F M byte
Pemberian nilai pada tipe real dapat dilakukan dengan / cara .
,. enuliskan dengan tanda titik tanpa eksponen
4ontoh . x:= 123.4'
/. enuliskan dengan eksponen
4ontoh . x:= 1,234'=(2*
&ie !tring

,5
*igunakan untuk menyimpan data yang berupa untaian karakter, terletak diantara tanda petik
tunggal.
"ila karakter petik merupakan bagian dari konstanta string,maka dapat ditulis dengan menggunakan
/ buah petik tunggal berurutan.
"ila string yang tidak memiliki sebuah karakter %string kosong( maka ditulis dengan cara V P.
+ilai data string membutuhkan memori sebesar banyaknya karakter stringnya ditambah dengan ,
byte. "ila panjang dari suatu string di dalam deklarasi 'ariabel tidak disebutkan, maka dianggap
panjangnya /77 karakter.
4ontoh .
5ar
Canggal : stringH1!I*
1ari : stringHAI*
0asaran : stringH4I*
6arak : char*
#egin
Canggal := 718;!J;2!!87*
1ari := <6u77at7*
0asaran := <kliwon7*
6arak := < <*
Briteln(tanggal,%arak,hari,7 <,pasaran)*
=nd.
+. $PE"A&$"
Operator mengatur operasi pada tipe data dengan menggunakan simbol0simbol yang sudah
ditentukan. 4ontoh 6=presi %W G #( dibangun dari 'ariabel W dan # yang disebut operand,
dengan operator XGX. Operator menurut jenis operand0nya dibagi dua yaitu unary operator dan
binary operator. -nary operator adalah operator yang operand0nya hanya satu seperti contoh G8,
0". 1anda bilangan negati$ %0( dan positi$ %G( pada angka 8 dan 'ariabel " menunjukkan operator
unary. Operator "inary merupakan operator yang mempunyai dua operand. >ampir semua
operator bersi$at binary. 4ontoh operator ini pada operasi penjumlahan A G ", tanda positi$ %G(
menunjukkan operator penjumlahan
acam operator .
$erator emberian nilai
"entuk operatornya adalah @/
4ontoh . D := 12*
# := <1allo7*
$erator aritmetik
$erator $erasi Prioritas &ie $erand &ie Hasil 2ontoh
E Perkalian , "il bulat,real "il bulat , real 2 * 3 := A
D Pembagian real , "il bulat, real real K L 2 : = 3.'
*i' Pembagian integer , "il bulat "il bulat K di/ 2 := 3
od sisa bagi , "il bulat "il bulat K od 2 := 1
G Penjumlahan / "il bulat , real "il bulat, real 2 ( 3 := '
0 Pengurangan / "il bulat, real "il bulat, real 2 ;3 := ;1
$erator emaniulasian bit
"erlaku untuk bilangan bulat.
$erator $erasi
+ot
And
Or
+egasi
<ogika and
<ogika or

,7
Wor
Shl
Shr
<ogika =or
Penggeseran bit ke kiri
Penggeseran bit ke kanan
A : Not A Not : A and : A or : A Aor :
F F , , F F F
F , , F F , ,
, F F , F , ,
, , F F , , F
4ontoh .
0rogra ,itor*
>ses crt*
5ar
#ilx,,il-,,ilM : ,-te*
#egin
)lrscr*
#ilx := 2'*
#il- := 4*
#ilM := ,ilx or ,il-*
Briteln(,ilM)*
Neadln*
=nd.
4ontoh .
0rogra opshl*
>ses crt*
#egin
Briteln(' shl A)*
=nd.
4ontoh .
0rogra opshr*
>ses crt*
#egin
Briteln(1A! shr A)*
=nd.
$erator :oolean
Sama dengan operator pemanipulasian bit tanpa operator shr dan shl
A : Not A Not : A and : A or : A Aor :
$alse $alse true true $alse $alse $alse
$alse true true $alse $alse true true
true $alse $alse true $alse true true
true true $alse $alse true true $alse
$erator himunan
*igunakan pada tipe himpunan.
$erator $erasi
G
0
E
in
-nion
Selisih
!nterseksi
Anggota dari

,8
Output adalah /I
Penjelasan .
FFF,,FF, /7
FFFFF,FF 5
or
FFF,,,F, /I
Output adalah 3/F
Penjelasan .
+ilai integer 7 digeser sebanyak 8 bit ke kiri
FFFFFFFFFFFFF,F, 7
FFFFFFF,F,FFFFFF 3/F
Output adalah /
Penjelasan .
+ilai integer ,8F digeser sebanyak 8 bit ke kanan
FFFFFFFF,F,FFFFF ,8F
FFFFFFFFFFFFFF,F /
4ontoh .
D := # ( )*
enggabungkan semua anggota himpunan " dan 4 ke dalam A. )ika nilai " adalah YVAP,P"PZ
dan 4 bernilai YV4PZ maka A bernilai YVAP, V"P, V4PZ.
$erator embanding
$erator $erasi &ie oeran
@ Sama dengan 1ipe sederhana, pointer, himpunan, string
CB 1idak sama dengan 1ipe sederhana, pointer, himpunan, string
C Kurang dari 1ipe sederhana, string
B <ebih dari 1ipe sederhana, string
C@ Kurang dari atau sama dengan 1ipe sederhana, string
B@ <ebih dari atau sama dengan 1ipe sederhana, string
C@ Subset dari 1ipe himpunan
B@ Superset dari 1ipe himpunan
$erator string
Pascal hanya mengenal , macam operator string, yaitu penggabungan. *igunakan untuk
menggabungkan / atau lebih operan string menjadi sebuah string yang lebih panjang.
Simbolnya adalah G.
4ontoh .
D := < Cur,o7 ( < 0ascal7*
+saa artin-a dengan D := <Cur,o 0ascal7*.
,. 1entukan benar atau salah penulisan 'ariabel diba&ah ini .
a. nama mhs
b. 7kali
c. AngsuranL,
d. Angsuran0,
e. W/7
$. program

,9
g. PajakLbulanan
h. Tdiskon
i. *iskonT
/. )ika A bertipe char, nilai, bertipe real, nilai/ bertipe integer, manakah penulisan ekspresi
yang salah
a. A .@ F[
b. A .@ VAP[
c. +ilai , .@ 79[
d. +ilai/ .@ nilai, G 3[
e. +ilai, .@ nilai, G ,[
$. +ilai/ .@ /F di' 3 G 7[
g. +ilai/ .@ /F D 3 G 7[
3. 1entukan tipe data untuk data diba&ah ini .
a. VFP
b. V P
c. /.7FF,7F
d. 7
e. 3.FFF.FFF
$. V3.35.FM.,.,,P
g. V<P
h. 2alse
i. V1rueP
j. ,.76GF3
k. U88
l. 07607
5. -bahlah ekspresi matematika ini ke dalam bahasa pascal
a
c a b b
x
. /
. . 5
/
+
=
7. "erapa nilai =,y,Q pada cuplikan program berikut .
#egin
D := 4*
# := K*
) := 1!*
O := D ( # shl 2 * )*
P := ) * # od D*
Q := # shl D di/ )*
=nd.
8. "erapa nilai =,y,Q pada cuplikan program berikut .
#egin
#ilx := 2'*
#il- := 4*
#ilM := ,ilx xor ,il-*
=nd.
9. "erapa nilai =,y,Q pada cuplikan program berikut .
#egin
D := 3*
# := 4*
) := '*
O := D and # or )*
P := D shl (# and )) shr (# or ))*
Q := D or (# shr 2) or () shl 1)*
=nd.
M. "erapa nilai =,y,Q pada program berikut .
5ar

,M
7elomok oerator Prioritas
not 1ertinggi
E D di' mod and shl shr Kedua
G 0 or =or Ketiga
@ CB C B C@ B@ in Keempat
D,,,c,d,x,-,M : ,oolean*

#egin
D := true*
# := false*
) := true*
4 := false*
O := D and # or ) xor 4*
P := D and not # or not )*
Q := D xor # xor ) xor 4*
=nd.
;a)ab @ A / true5 y / true5 B / 4alse
I. "erapa nilai 'ariabel 4,*,6,=,y,Q pada program berikut .
5ar
D,# : set of char*
),4,= : set of char*
O,-,M : ,oolean*
#egin
D := H<D7,7#7,7)7,747,7=7I*
# := H<47,7=7,7F7,7R7I*
) := D ( #*
4 := D S #*
= := D * #*
x := <R7 in D*
- := ) &= D*
M := 4 &= D*
=nd.
)a&ab . 4@YVAP,P"P,P4P,P*P,P6P,P2P,P;PZ, * @ YVAP,P"P,P4PZ, 6@YV*P,P6PZ
W@$alse, y @ $alse, Q@true
PRAKTIKUM MINGGU 3
PE'%L%HAN 7$ND%!% ,!ELE2&%$N.
1. P%L%HAN &UN##AL

,I
"entuk paling sederhana pilihan tunggal adalah jika hanya ada satu pilihan kondisi yang
disediakan.
if kondisi then
true stateent
2$N&$H PE"'A!ALAHAN ? @
enentukan luas keliling lingkaran dengan masukan data dari keyboard dan mengulang
penghitungan.
progra ulanglagi*
uses crt*
const
phi = 3.14*
/ar
%ari,luas,keliling : real*
lagi : char*
la,el ulang*
,egin
ulang:
clrscr*
write(79asukan %ari;%ari lingkaran = 7)*
readln(%ari)*
luas=phi*%ari*%ari*
keliling=2*phi*%ari*
writeln(<3uas lingkaran = <,luas)*
writeln(7:eliling lingkaran = 7,keliling)*
writeln*
write(79au easukkan ,ilangan lagi HPLCI T 7)*readln(lagi)*
if (lagi=7P7) or (lagi=7-7) then goto ulang*
end.
+. P%L%HAN #ANDA
*igunakan untuk menentukan tindakan yang akan digunakan bila kondisi bernilai benar dan
salah.
if kondisi then
stateent1
else
stateent2
2$N&$H PE"'A!ALAHAN C @
enentukan bilangan genap ganjil dari suatu bilangan.
progra gan%ilgenap*
uses crt*
/ar
,il : integer*
lagi : char*
,egin
clrscr*
writeln(U0rogra 9enentukan #ilangan Ran%il L RenapU)*
writeln(U==========================================U)*
write(U9asukkan se,arang ,ilangan : U)*readln(,il)*
writeln*
if (,il od 2 = !) then
writeln(7#ilangan 7,,il,U terasuk ,ilangan genapU)
else
writeln(7#ilangan 7,,il,U terasuk ,ilangan gan%ilU)*
readln*
end.
+. P%L%HAN 'A;E'U7
-ntuk menentukan tindakan yang akan digunakan disediakan lebih dari / alternati$. erupakan
bentuk statement i$ dengan statement i$ lain di dalam i$ sebelumnya.
if kondisi1 then
stateen1

/F
else
if kondisi2 then
stateen2
else
stateen,erikutn-a
2$N&$H PE"'A!ALAHAN D @
engelompokan nilai dengan ketentuan .
)ika nilai angka B@ IF, maka nilai huru$ @ A
)ika nilai angka B@ MF, maka nilai huru$ @ "
)ika nilai angka B@ 9F, maka nilai huru$ @ 4
)ika nilai angka B@ 8F, maka nilai huru$ @ *
)ika nilai angka C 8F, maka nilai huru$ @ 6
progra :elopok?ilai*
uses crt*
/ar
nilai : integer*
ket : string*
huruf : char*
,egin
writeln(U0NGRND9 0=?R=3G90G:D? ?V3DVU)*
writeln(U;;;;;;;;;;;;;;;;;;;;;;;;;;;U)*
write(U9asukkan nilai (!;1!!) : U)*readln(nilai)*
if(nilaiW=81) then
,egin
huruf := UDU*
ket := U3ulusU*
end
else
if(nilaiW=K!) then
,egin
huruf := U#U*
ket := U3ulusU*
end
else
if(nilaiW=A!) then
,egin
huruf := U)U*
ket := U3ulusU*
end
else
if(nilaiW=4!)then
,egin
huruf := U4U*
ket := URagalLCidak 3ulusU*
end
else
,egin
huruf := U=U*
ket := URagalLCidak 3ulusU*
end*
writeln*
writeln(U?ilai huruf = U,huruf)*
writeln(U:eterangan = U,ket)*readln*
end.
6. !&"U7&U" 2A!E
-ntuk masalah dengan dua pilihan atau lebih, struktur 4AS6 dapat menyederhanakan penulisan
!2 yang bertingkat0tingkat.
case ungkapan o$

/,
label, . Statement,[
label/ . Statement/[
label3 . Statement3[
labeln . Statementn[
end[
2$N&$H PE"'A!ALAHAN E @
Pemilihan kode jurusan dengan struktur case
progra %urusan*
uses crt*
/ar
%ur,naa : string*
kode : char*
,egin
write(U9asukkan naa : U)*readln(naa)*
write(U0ilih kode %urusan HDL#L)L4I : U)*readln(kode)*
case kode of
UDU : %ur := UCeknik VnforatikaU*
U#U : %ur := U9ana%een VnforatikaU*
U)U : %ur := U@iste VnforasiU*
U4U : %ur := UCeknik :oputerU*
end*
writeln*
writeln(U?aa : U,naa)*
writeln(U:ode %urusan : U,kode)*
writeln(U?aa %urusan : U,%ur)*
readln*
end.
&U#A!
,. enentukan huru$ yang dimasukkan melalui keyboard huru$ 'okal atau konsonan
/. enentukan bilangan terbesar dari / bilangan yang dimasukkan melalui keyboard
3. enentukan bilangan terbesar dan terkecil dari 3 bilangan yang dimasukkan melalui
keyboard

//
5. isalkan karya&an P1. akmur dikelompokkan berdasarkan golongannya. -pah per jam
tiap karya&an bergantung pada golongannya, dengan ketentuan .
;olongan -pah per jam
A Ap. ,FFFF,0
" Ap. ,/FFF,0
4 Ap. ,7FFF,0
* Ap. /FFFF,0
)umlah jam kerja normal selama , minggu adalah 5M jam. Kelebihan jam kerja dianggap
lembur dengan upah lembur adalah Ap.5FFF,0 per jam untuk semua golongan karya&an.
"uat program menghitung gaji karya&an mingguan. *ata yang dimasukan dari keyboard
adalah nama karya&an, golongan, jumlah jam kerja dalam , minggu. "erikut tampilannya .
P6+;>!1-+;A+ ;A)! P6;AHA! P1.AK-A
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ama karya&an .
;olongan .
)am kerja .
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;aji . Ap.
<embur . Ap.
1otal ;aji . Ap.
7. "uat program seperti berikut .
"ila anda mengetikkan kata A6; ;OK!< maka muncul tampilan seperti diba&ah ini .
6+- ;OK!< ;AA1!S
,. Aingtone gokil
/. +ada sapa gokil
3. 4erita gokil
5. Keluar program
asukkan pilihan Anda Y,05Z .
"ila anda mengetikkan kata selain A6; ;OK!< maka muncul pesan F'aa4 key)ord yang
Anda masukkan salahF dan program selesai.
-ntuk menu gokil, bila Anda pilih angka , maka muncul pesan P1erima kasih telah
menggunakan layanan ringtone gokilP
-ntuk menu gokil, bila Anda pilih angka / maka muncul pesan P1erima kasih telah
menggunakan layanan nada sapa gokilP
-ntuk menu gokil, bila Anda pilih angka 3 maka muncul pesan P1erima kasih telah
menggunakan layanan cerita gokilP
-ntuk menu gokil, bila Anda pilih angka 5 maka program selesai.
8. Perbaiki program biling &arnet sehingga dapat menghitung lama pemakaian dan total bayar
misal pemakaian dari jam /3.FF sampai jam F,.FF.
9. Perbaiki program nomor 8 dengan menambah $asilitas login user. "ila login user sebagai
FersonalF maka tarip per jam Ap. 7FFF,0 "ila login user sebagai FmemberF maka tarip per
jam Ap. 3FFF,0
PRAKTIKUM MINGGU 5 DAN 6
PE"ULAN#AN ,L$$P%N#.
&U;UAN %N!&"U7!%$NAL 7HU!U!
ahasis&a dapat membedakan dan menggunakan jenis0jenis statemen perulangan dalam
menyelesaikan permasalahan dalam bahasa Pascal

/3
DA!A" &E$"%
*i dalam Pascal terdapat tiga macam perulangan yaitu dengan menggunakan statemen 2or...*o,
Hhile...*o, dan Aepeat...-ntil.
1. !&A&E'EN PE"ULAN#AN ($"... &$.... D$
Perulangan dengan statemen 2OA digunakan untuk mengulang statemen atau satu blok statemen
berulang kali sejumlah yang ditentukan. Perulangan dapat dalam bentuk positi$, perulangan
negati$, dan perulangan bersarang.
"entuk umum .
for pencacah := nilai2awal to nilai2akhir do
,egin
+pern-ataan;pern-ataan -ang akan diulang.
end*
2$N&$H PE"'A!ALAHAN 10 @
Program encetak Angka -rut %Penaikan(
progra angka2urutnaik*
uses crt*
/ar i : integer*
,egin
for i:=1 to 1! do
,egin
writeln(i,U. 1allo,@elaat ,ela%ar,Dku -akin Dku pasti
,isa...U)*
end*
readln*
end.
2$N&$H PE"'A!ALAHAN 11 @
Program encetak Angka -rut %Penurunan(
progra angka2urutturun*
uses crt*
/ar i : integer*
,egin
for i:=1! downto 1 do
,egin
writeln(i,U. 1allo,@elaat ,ela%ar,Dku -akin Dku pasti
,isa...U)*
end*
readln*
end.
2$N&$H PE"'A!ALAHAN 1+ @
Program mencetak angka terbesar terkecil
progra axin*
uses crt*
/ar
n,i,ax,in,,il : integer*
,egin
writeln(U0rogra 9encari 4ata Cer,esar dan CerkecilU)*
write(U9asukkan ,an-akn-a data = U)*
readln(n)*
write(U9asukkan ,ilangan ke;1 : U)*
readln(,il)*
ax:=,il*
in:=,il*

/5
for i:=2 to n do
,egin
write(U9asukkan ,ilangan ke;U,i,U : U)*
readln(,il)*
if(,ilWax) then
ax:=,il*
if(,il&in) then
in:=,il*
end*
writeln*
writeln(U4ata ter,esar = U,ax)*
writeln(U4ata terkecil = U,in)*
readln*
end.
2$N&$H PE"'A!ALAHAN 16 @
Program encetak )umlah "ilangan
progra %ulah*
uses crt*
/ar i,awal,akhir,%ulah : integer*
,egin
writeln(U9asukkan ,ilangan awal : U)*
read(awal)*
writeln(U9asukkan ,ilangan akhir : U)*
read(akhir)*
%ulah:=!*
for i:=awal to akhir do
,egin
%ulah:=%ulah(i*
end*
writeln(U6ulah ,ilangan dari U,awal,U sapai U,akhir,U adalah
U,%ulah)*
readln*
end.
2$N&$H PE"'A!ALAHAN 1= @
Program embuat 1abel Akar : Kuadrat "ilangan
progra ta,elakar*
uses crt*
/ar
i,kuadrat,%u,il,%ukuadrat : integer*
akar,%uakar : real*
,egin
writeln(UCD#=3 :>D4NDC 4D? D:DN #V3D?RD? U)*
writeln(U;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; U)*
writeln(U#ilangan :uadrat Dkar #ilangan U)*
writeln(U;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; U)*
%u,il:=!*
%ukuadrat:=!*
%uakar:=!*
for i:=1 to 1! do
,egin
kuadrat := i*i*
akar := sXrt(i)*
%u,il := %u,il(i*
%ukuadrat := %ukuadrat(kuadrat*
%uakar := %uakar(akar*
writeln(U U,i:3,U U,kuadrat:3,U U,akar:K:4)*
end*

/7
writeln(U================================== U)*
writeln(U U,%u,il:3,U U,%ukuadrat:3,U U,
%uakar:K:4)*
readln*
end.
+. !&"U7&U" ($" :E"!A"AN#
2$N&$H PE"'A!ALAHAN 1> @
embuat tampilan seperti berikut .
*****
*****
*****
progra ,intang1*
uses crt*
/ar
i,%:integer*
,egin
writeln(U)ontoh loop ,ersarang ;;W ,intang persegipan%angU)*
for i:=1 to 3 do
,egin
for %:=1 to ' do
,egin
write(U*U)*
end*
writeln*
end*
readln*
end.
2$N&$H PE"'A!ALAHAN 1? @
embuat tampilan seperti berikut .
9asukkan tinggi segitiga : '
*
**
***
****
*****
progra ,intang2*
uses crt*
/ar
n,i,%:integer*
,egin
writeln(U)ontoh loop ,ersarang ;;W ,intang segitiga sikuU)*
write(U9asukkan tinggi segitiga :U)*
readln(n)*
for i:=1 to n do
,egin
for %:=1 to i do
,egin
write(U*U)*
end*
writeln*
end*
readln*
end.
2$N&$H PE"'A!ALAHAN 1C @
embuat tampilan seperti berikut .
9asukkan tinggi segitiga : '

/8
*
**
***
****
*****
****
***
**
*
progra ,intang3*
uses crt*
/ar
n,i,%:integer*
,egin
writeln(U)ontoh loop ,ersarang ;;W ,intang segitigaU)*
write(U9asukkan tinggi segitiga :U)*
readln(n)*
for i:=1 to n do
,egin
for %:=1 to i do
,egin
write(U*U)*
end*
writeln*
end*
for i:=n;1 downto 1 do
,egin
for %:=1 to i do
,egin
write(U*U)*
end*
writeln*
end*
readln*
end.
6. !&"U7&U" GH%LE ... D$
Struktur ini digunakan bila kita belum mengetahui secara pasti berapakali banyaknya pengulangan yang
akan dilakukan. "erakhirnya proses pengulangan ditentukan oleh suatu kondisi. Selama kondisi
terpenuhi, maka pengulangan terus dilakukan, dan sebaliknya, bila kondisinya tidak terpenuhi maka
pengulangan dihentikan.
"entuk H>!<6 .
B1V3= kondisi 4G
,egin
pern-ataan;pern-ataan -ang akan diulang*
end*
2$N&$H PE"'A!ALAHAN 1D @
Program menghitung rata0rata bilangan
progra rata,ilangan*
uses crt*
/ar
n : integer*
%ulah,,il,rata : real*
lagi : char*
,egin
n:=!*
%ulah:=!*
lagi:=UPU*
while (lagi = UPU) or (lagi = U-U) do
,egin
write(U9asukkan ,ilangan : U)*

/9
readln(,il)*
%ulah:=%ulah(,il*
n:=n(1*
write(UDpakah Dnda akan easukkan ,ilangan lagi HPLCIT U)*
readln(lagi)*
writeln*
end*
rata:=%ulahLn*
writeln*
writeln*
writeln(U#an-akn-a ,ilangan : U,n)*
writeln(UNata;rata ,ilangan : U,rata:3:2)*
readln*
end.
6. !&"U7&U" "EPEA& UN&%L
*igunakan untuk mengulang %A6P6A1( blok pernyataan sampai %-+1!<( kondisi yang diseleksi di
-+1!< dipenuhi.
"entuk A6P6A10-+1!< .
N=0=DC
,egin
pern-ataan;pern-ataan -ang akan diulang*
end
>?CV3 kondisi
2$N&$H PE"'A!ALAHAN 1E @
Program menghitung rata0rata bilangan
progra repeatlagi*
uses crt*
/ar n : integer*
%ulah,,il,rata : real*
lagi : char*
,egin
n:=!*
%ulah:=!*
repeat
,egin
write(U9asukkan ,ilangan : U)*
readln(,il)*
%ulah:=%ulah(,il*
n:=n(1*
write(UDpakah Dnda akan easukkan ,ilangan lagi HPLCIT U)*
readln(lagi)*
writeln*
end*
until (lagi = UtU) or (lagi = UCU)*
rata:=%ulahLn*
writeln*
writeln*
writeln(U#an-akn-a ,ilangan : U,n)*
writeln(UNata;rata ,ilangan : U,rata:3:2)*
readln*
end.
2$N&$H PE"'A!ALAHAN +0 @
Program membuat menu pengulangan
progra repeatenu*
uses crt*
/ar pilih : integer*
,egin
repeat

/M
writeln(U 6+- ;OK!< ;AA1!SU)*
writeln(U;;;;;;;;;;;;;;;;;;;U)*
writeln(U1. NingtoneU)*
writeln(U2. ?ada @apaU)*
writeln(U3. Ra,ar 3ucuU)*
writeln(U4. NaalanU)*
writeln*
write(U9asukkan pilihan Dnda Y (!=selesai) U)*
read(pilih)*
writeln*
writeln*
case pilih of
1 : writeln(UCeria kasih enggunakan la-anan NingtoneU)*
2 : writeln(UCeria kasih enggunakan la-anan ?ada sapaU)*
3 : writeln(UCeria kasih enggunakan la-anan Ra,ar lucuU)*
4 : writeln(UCeria kasih enggunakan la-anan NaalanU)*
! : writeln(U@elesaiU)*
end*
writeln*
writeln*
until pilih=!*
end.
&U#A!
,. "uat program menghitung jumlah dari deret 3,9,,,, ,7, .......
/. "uat program tabel perkalian .
/ ' ) 0 1 5 2 3 4 5 '6
' . . . . . . . . . .
) . . . . . . . . . .
0 . . . . . . . . . .
1 . . . . . . . . . .
5 . . . . . . . . . .
2 . . . . . . . . . .
3 . . . . . . . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
'6 . . . . . . . . . .
Nata;rata ta,el adalah ....
5. "uat program untuk menampilkan deret bilangan $ibonacci dengan nilai kurang dari ,FF.
4ontoh seperti berikut .
1 1 2 3 ' 8 13 21 Z.
7. "uat program untuk menampilkan deretan seperti berikut .
,D/ ,D5 G ,DM ,D,8 G ,D3/ NN
*engan batasan untuk penyebut maksimal 7F.
8. "uat program proses <oading dengan tampilan seperti berikut .

<oading N
Petunjuk .
0 untuk karakter bisa menggunakan karakter AS4!! ,99 atau /75
0 untuk mengatur &aktu tampilan proses loading selain menggunakan perintah
for Z do juga menggunakan perintah dela-(laa waktu dela-).

9. "uat program dengan tampilan seperti berikut .
BDNRD #DN> #>3D? G:CG#=N 2!!8

/I
3. "uat tampilan seperti berikut .
9asukkan segitiga angka : '
1
12
123
1234
1234'
1234
123
12
1
?G ?D9D >9>N 6=?V@ :=3D9V? 0=:=N6DD?
1 @usilo 21 0 0?@
2 6oko 11 0 0ela%ar
3 Bati 3' B @wasta
4 D,ar 2! B @wasta
' 9ul-ono 4' 0 0?@
A ?urdin 1K 0 0ela%ar
K Dsuni K 0 0ela%ar
8 Dsih 2J B 0?@
J 9ar- '' B 0?@
1! @eno 22 0 0?@
N=:D0VC>3D@V BDNRD #DN> #>3D? G:CG#=N 2!!8
==========================================
>ur !;1K tahun = orang
>ur 18;4! tahun = orang
>ur W 4! tahun = orang
6enis kelain 0ria = orang
6enis kelain Banita = orang
0egawai ?egeri @ipil = orang
0egawai @wasta = orang
0ela%arL9ahasiswa = orang
9engurus Nuah Cangga = orang
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6ulah warga ,aru = orang
Ketentuan .
a. Kode pekerjaan .
, @ P+S
/ @ Pega&ai S&asta
3 @ PelajarDahasis&a
5 @ engurus Aumah 1angga
7 @ 1entaraDPolri
8 @ 1idak bekerja
Pada saat dimasukkan misal kode , pada kolom pekerjaan, maka setelah ditekan 6nter otomatis
angka , yang dimasukkan berubah menjadi P+S.
b. Setiap selesai memasukkan data, muncul pertanyaan V1ambah *ata <agi %#D1( \ "ila
# maka otomatis +o bertambah , dan menambah data lagi. "ila 1 maka tidak ada penambahan
data dan langsung tampil garis penutup dan rekapitulasi secara otomatis.
c. -ntuk mempermudah mengatur tampilan, bisa menggunakan perintah .
gotox-(kolo,,aris)dan untuk membuat garis kolom bisa menggunakan karakter AS4!!.
-ntuk membersihkan baris tertentu menggunakan clreol dan gotox-(kolo,,aris)
M. "uat program dengan menggabungkan dan memodi$ikasi program nomor 8 dan 9 dengan urutan
tampilan .
0 login user name dan pass&ord,user nama dan pass&ord terserah Anda.
0 bila user name dan pass&ord sesuai maka tampil proses loading, bila tidak sesuai muncul pesan
username pass&ord tidak sesuai, muncul tampilan login lagi
0 setelah proses loading tampil menu pilihan .

6+- S!S16 !+2OAAS! K6P6+*-*-KA+
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
,. 1ambah data &arga baru
/. !n$ormasi program

3F
3. Selesai
Pada saat memilih , maka tampil proses tambah data dan rekapitulasinya seperti program
nomor 9
Pada saat memilih / maka tampil in$ormasi tujuan program dibuat dan nama programmernya
%nama Anda(.
Pada saat memilih 3 maka tampil ucapan terimakasih telah menggunakan program ini
kemudian program selesai D keluar dari program.
PRAKTIKUM MINGGU 12
P"$!EDU" DAN (UN#!%
&U;UAN %N!&"U7!%$NAL 7HU!U!
ahasis&a mampu mengaplikasikan penggunaan subprogram dengan prosedur %Procedure( dan
2ungsi %2unction( dalam pembuatan program dan pengiriman parameter dengan nilai dan re$erensi.

3,
P"$!EDU"
Prosedur adalah suatu program terpisah dalam blok sendiri yang ber$ungsi sebagai subprogram
%program bagian(. Prosedur dia&ali dengan kata PAO46*-A6. *i dalam bagian deklarasi
prosedur, prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan
menyebutkan judul prosedurnya.
2$N&$H PE"'A!ALAHAN +1 @
Program membuat garis yang dipesankan dalam prosedur.
0rogra prosedur1*
>ses crt*
0rocedure Raris*
#egin
Briteln(7===============================7)*
=nd*
#egin
)lrscr*
Raris*
Briteln*
Briteln(70G3VC=:?V: ?=R=NV @=9DND?R7)*
Briteln(70NG4V C=:?V: V?FG:G97)*
Raris*
Neadln*
=nd.
Parameter dalam prosedur ada / macam yaitu .
0 Parameter lokal
>anya dapat digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat
digunakan pada modul atau unit program lain.
0 Parameter global
Artinya dapat digunakan pada modul atau unit program lainnya.
2$N&$H PE"'A!ALAHAN ++ @
Penggunaan parameter lokal dan global.
0rogra prosedur2*
>ses crt*
5ar
luas : integer* {parameter global}
0rocedure hitung1*
5ar pan%ang,le,ar : integer* {parameter lokal}
#egin
Brite(79asukkan pan%ang : 7)*readln(pan%ang)*
Brite(79asukkan le,ar : 7)*readln(le,ar)*
3uas := pan%ang * le,ar*
Briteln(73uas = 7, luas)*
=nd*
0rocedure hitung2*
5ar sisi : integer* {parameter lokal}
#egin
Brite(79asukkan sisi : 7)*readln(sisi)*
3uas := sisi * sisi
Briteln(73uas = 7, luas)*
=nd*
{Program utama}
#egin
)lrscr*
1itung1*
1itung2*
Neadln*
=nd.
PEN#%"%'AN PA"A'E&E" PADA P"$!EDU"

3/
Pengiriman parameter ada / macam .
0 Pengiriman secara nilai %by 'alue(
Parameter $ormal di prosedur akan berisi nilai yang dikirimkan yang kemudian bersi$at lokal di
prosedur. "ila nilai parameter $ormal di prosedur tersebut berubah, tidak akan mempengaruhi
nilai parameter nyata.
4ontoh .
0rocedure hitung(a,, : integer)*
0 Pengiriman secara acuan%by re$erence(
"ila pengiriman parameter secara acuan, maka perubahan0perubahan yang terjadi pada nilai
parameter $ormal di prosedur akan mempengaruhi nilai parameter nyata.
4ontoh .
0rocedure hitung(/ar a,, : integer)*
2$N&$H PE"'A!ALAHAN +6 @
Penggunaan pengiriman parameter by 'alue
0rogra prosedur3*
>ses crt*
5ar
D,,,%ulah : integer* +paraeter glo,al.
0rocedure %l(x,-,%ulah:integer)* +paraeter nilai.
#egin
6ulah := x ( -*
Briteln(76ulah pada procedure : 7,%ulah)*
6ulah := %ulah ( 1!*
Briteln(76ulah ,aru pada prosedur : 7,%ulah)*
=nd*
+progra utaa.
#egin
)lrscr*
D:='*,:=1*
6ulah := a(,*
Briteln(76ulah pada progra utaa : 7,%ulah)*
6l(a,,,%ulah)*
Briteln(76ulah ,aru pada progra utaa : 7, %ulah)*
readln*
end.
2$N&$H PE"'A!ALAHAN += @
Penggunaan pengiriman parameter by re$erence.
0rogra prosedur4*
>ses crt*
0rocedure ta,ah(a,,:integer* /ar c : integer)* +paraeter ,- reference.
#egin
):= a(,*
=nd*
+progra utaa.
5ar
O,-,M : integer*
#egin
)lrscr*
O := 2* -:= 3*
Ca,ah(x,-,M)*
Briteln(7x = 7,x,7- = 7,-,7M = 7,M)*
Neadln*
=nd.
(UN#!%
"lok $ungsi hampir sama dengan blok prosedur, hanya harus dideklarasikan dengan tipenya. 1ipe
deklarasi ini menunjukkan tipe hasil dari $ungsi. 1ipe tersebut dituliskan pada akhir deklarasi $ungsi
yang didahului dengan titik koma.
Sama dengan prosedur, parameter dalam $ungsi dapat dikirimkan secara nilai atau acuan.
4ontoh .

33
2unction hitung%a,b . integer( . integer[ {by value}
2unction hitung%'ar a, b . integer( . integer[ {by reference}
2$N&$H PE"'A!ALAHAN +> @
Penggunaan pengiriman $unction parameter by 'alue.
0rogra fungsi1*
>ses crt*
5ar
D : integer* +paraeter glo,al.
Function hasil(a : integer): integer*
#egin
1asil := a*A!*
=nd*
+progra utaa.
#egin
)lrscr*
Brite(79asukkan %a : 7)*readln(a)*
Briteln(a,7 %a ada : 7, hasil(a), 7 enit7)*readln*
=nd.
2$N&$H PE"'A!ALAHAN +? @
Penggunaan pengiriman $unction parameter by re$erence.
0rogra fungsi2*
>ses crt*
5ar
D,,,%ulah : integer*
Function %l(/ar x,- : integer) : integer*
#egin
6l := x ( -*
P :=x*
=nd*
+progra utaa.
#egin
)lrscr*
D:=' *,:=1*
Briteln(7?ilai a se,elu asuk ke function = 7,a)*
Briteln(7?ilai , se,elu asuk ke function = 7,,)*
Briteln(76ulah : 7,%l(a,,))*
Briteln(7?ilai a setelah asuk ke function = 7,a)*
Briteln(7?ilai , setelah asuk ke function = 7,,)*
Neadln*
=nd.
PRAKTIKUM MINGGU 13
A""AH DAN "E2$"D
&U;UAN %N!&"U7!%$NAL 7HU!U!
ahasis&a mampu membuat program menggunakan array dan record untuk menyelesaikan suatu permasalahan

35
A""AH
Array merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap
elemen diakses dengan membedakan indeks arraynya.
"entuk 'ariabel .
?ar
+amalarik . arra7 8inek.9 o: tipe data[
4ontoh . ahasiswa : arra- H1..2!I of stringH2!I*
Artinya array mahasis&a adalah koleksi dari /F 'ariabel string yang masing0masing diberi
nama ahasiswaH1I, ahasiswaH2I, ahasiswaH3I, ... ahasiswaH2!I
"isa juga digunakan declared scalar type seperti .
C-pe
1ari = (senin,selasa,ra,u,kais,%uat,sa,tu,inggu)*
5ar
Ra%i : arra-Hsenin..sa,tuI of longint*
>pah : arra-HhariI of integer*
9asuk : arra-Hsenin..sa,tuI of ,oolean*
A""AH !A&U D%'EN!%
2$N&$H PE"'A!ALAHAN +C @
Program menginput data dengan array
0rogra inputdata1
>ses crt*
5ar
?aa : arra-H1..1!I of stringH2'I*
?i : arra-H1..1!I of stringH1!I*
?ilai : arra-H1..1!I of integer*
i,n : integer*
#egin
+;;;;;;; enentukan ,an-akn-a data -g akan diinputkan ;;;; .
clrscr*
write(7#an-ak data : 7)*readln(n)*
writeln*
+;;; input data sesuai dengan ,an-akn-a data -g ditentukan ;;; .
For i=1 to n do
,egin
writeln(74ata ke;7,i)*
write(7?aa : 7)*readln(naaHiI)*
write(7?i : 7)*readln(niHiI)*
write(7?ilai : 7)*readln(nilaiHiI)*
writeln*
end*
+ ;;; enapilkan data sesuai dengan -g diinputkan ;;; .
clrscr*
gotox-(1!,1)*writeln(7?G ?V9 ?D9D ?V3DV 7)*
gotox-(1!,2)*writeln(7;;;;;;;;;;;;;;;;;;;;;;;;;;7)*
for i=1 to n do
,egin
gotox-(1!,3(i)*write(i)*
gotox-(1',3(i)*write(niHiI)*
gotox-(2!,3(i)*write(naaHiI)*
gotox-(3!,3(i)*write(nilaiHiI)*
writeln*
end*
gotox-(1!,4(i)writeln(7;;;;;;;;;;;;;;;;;;;;;;;;;;7)*
readln*
end*

37
&U#A!
,. *ari contoh permasalahan /9 tampilkan nilai rata0ratanya setelah garis penutup.
/. "uat program untuk "iro )asa Paket 1!K! 6WPA6SS dengan tampilan seperti berikut .
9=?>
1. Vnput 4ata
2. 3aporan 4ata
3. @elesai
0ilihan H1L2L3I :
:ila memilih 1 maka muncul tamilan inut data @
4ata ke;
:ode 0aket :
?aa 0engiri :
Dlaat 0engiri :
?aa Cu%uan :
Dlaat Cu%uan :
:ode Drea :
Drea Cu%uan :
Vsi paket :
#erat paket :
#ia-a 0okok :
#ia-a Ca,ahan :
6ulah #ia-a :
Ca,ah data lagiT
"ila ya maka otomatis menginput data lagi,bila tidak maka kembali ke menu.
-ntuk daerah tujuan, biaya pokok, biaya tambahan dilakukan berdasarkan kode area yaitu .
7ode Area &u0uan :iaya okok*>kg :iaya tambahan*kg
A )akarta ,FFFF ,7FF
" "andung 8FFF ,FFF
4 )ogjakarta 5FFF 97F
"iaya pokok dikenakan untuk .
0 "ila berat paket C@ 7 kg maka biaya pokok sesuai da$tar
0 "ila berat paket B 7 kg maka biaya pokok yang dikenakan sebesar %berat paket
di' 7( E biaya pokok per 7 kg berdasarkan kode area yang akan dikirim
"iaya tambahan dikenakan untuk .
0 "ila C@7 kg tidak dikenakan biaya tambahan
0 "ila berat paket B 7 kg maka biaya tambahan yang dikenakan sebesar %berat paket
7(Ebiaya tambahan per kg berdasarkan kode area yang akan dikirim
)umlah biaya @ biaya pokok G biaya tambahan
:ila memilih + maka muncul tamilan reka laoran data @
N=:D0 3D0GND? 0=?4D0DCD? #VNG 6D@D 0D:=C CV:V =O0N=@@
?o ?aa
0engiri
Drea
Cu%uan
#erat
0aket
#ia-a
0okok
#ia-a
Ca,ahan
6ulah
#ia-a
Cotal ..... ..... ..... .....
A""AH DUA D%'EN!%
Array berdimensi dua me&akili bentuk tabel atau matrik. Pada indeks pertama dapat menunjukkan
baris dan indeks kedua dapat menunjukkan kolom dari tabel atau matriks.
*eklarasi array dua dimensi .
5ar
?aa arra- : arra-Hindeks2,aris, indeks2koloI of tipe data*

38
2$N&$H PE"'A!ALAHAN +D @
Program menginput dan menjumlah matrik
0rogra atrik%u*
uses crt*
/ar a, ,, c : arra- H1..1!,1..1!I of ,-te*
,n,i,% : ,-te*
,egin
+;;;;;;enentukan ,an-akn-a ,aris [ kolo atriks ;;;;;;.
clrscr*
writeln(79atriks ,erordo x n 7)*
writeln(7;;;;;;;;;;;;;;;;;;;;; 7)*
write(79asukkan ,an-akn-a ,aris () : 7)*readln()*
write(79asukkan ,an-akn-a kolo (n) : 7)*readln(n)*
writeln*
+;;;;;;input eleen atriks D;;;;;;.
For i:= 1 to do
,egin
for %:=1 to n do
,egin
write(7=leen atriks D 7,i,7,7,%,7 : 7)*
readln(DHiIH%I)*
end*
end*
+ ;;;;;;input eleen atriks #;;;;;;.
Briteln*
For i:=1 to do
,egin
for %:=1 to n do
,egin
write(7=leen atriks # 7,i,7,7,%,7 : 7)*
readln(#HiIH%I)*
end*
end*
+ ;;;;;;en%ulahkan eleen atriks D dengan #;;;;;;.
For i:=1 to do
for %:=1 to n do
)HiIH%I:=DHiIH%I(#HiIH%I*
+ ;;;;;;enapilkan atriks D;;;;;;.
writeln*
writeln(79atriks D = 7)*
for i:=1 to do
,egin
for %:=1 to n do
write(DHiIH%I:')*
writeln*
end*
+ ;;;;;;enapilkan atriks #;;;;;;.
writeln*
writeln(79atriks # = 7)*
for i:=1 to do
,egin
for %:=1 to n do
write(#HiIH%I:')*
writeln*
end*
+ ;;;;;;enapilkan atriks ) hasil pen%ulahan;;;;;;.
writeln*
writeln(79atriks ) = 7)*
for i:=1 to do
,egin
for %:=1 to n do
write()HiIH%I:')*
writeln*
end*
readln*
end.

39
&U#A!
"uatlah program untuk menyelesaikan permasalahan berikut .
1elah dilakukan penghitungan suara dari pemilihan presiden di 7 1PS. 4alon yang ditampilkan 5
orang. >asil penghitungan suara sebagai berikut .
&P! 2AL$N P"E!%DEN
1 + 6 =
1 /FI 7, 3I7 /M
+ ,/9 I8 5F, 5/
6 ,I5 IM ,99 5,
= ,,I ,M 3F3 /8
> /57 /, /F5 /7
*engan menggunakan array / dimensi,tulis program untuk melakukan pekerjaan0pekerjaan berikut .
,. enginput dan mencetak hasil pemilihan diatas dalam bentuk tabel yang sesuai
/. enghitung dan mencetak keseluruhan suara yang diperoleh masing0masing calon dan
prosentasenya terhadap keseluruhan suara
3. 4alon yang menang adalah calon yang memperoleh suara terbanyak
"E2$"D
Aecord adalah jenis tipe data terstruktur yang berisi beberapa data, yang masing0masing dapat
berlainan tipe.
4ontoh *eklarasi record .
C-pe
Nec,arang = record
?aa : string*
6ulah : integer*
1arga : longint*
=nd*
5ar
#arang : rec,arang*
2$N&$H PE"'A!ALAHAN +E @
Program contoh record, membaca masukan dari keyboard dan menampilkan kembali dalam bentuk
da$tar.
0rogra record1*
uses crt*
t-pe
kr- = record
naa : stringH2!I*
alaat : stringH3!I*
gol : char*
ga%i : longint*
tun% : longint*
end*
/ar
pegawai : arra-H1..1!!I of kr-*
pegawaist : kr-*
i,% : ,-te*
,egin
writeln(7#ila ingin engakhiri input, asukkan titik (.) pada naa7)*
% := !*
write(7?aa : 7)*readln(n)*
while n &W 7.7 do
,egin
%:=%(1*
pegawaiH%I.naa := n*
write(7Dlaat : 7)*readln(pegawaiH%I.alaat)*
write(7Rolongan : 7)*readln(pegawaiH%I.gol)*

3M
case pegawaiH%I.gol of
7D7, 7a7 : ,egin
0egawaiH%I.ga%i := 2!!!!!!*
0egawaiH%I.tun% := '!!!!!*
7#7, 7,7 : ,egin
0egawaiH%I.ga%i := 1!!!!!!*
0egawaiH%I.tun% := 2'!!!!*
=lse
#egin
0egawaiH%I.ga%i := '!!!!!*
0egawaiH%I.tun% := 2!!!!!*
=nd*
=nd*
write(7?aa : 7)*readln(n)*
=nd*
)lrscr*
Briteln(7=================================================7)*
Briteln(7 ?G ?D9D D3D9DC RG3 RD6V C>?6D?RD?7*
Briteln(7=================================================7)*
For i:=1 to % do
Briteln(7i7, pegawaiHiI.naa, pegawaiHiI.alaat, pegawaiHiI.gol,
pegawaiHiI.ga%i, pegawaiHiI.tun%angan)*
Briteln(7=================================================7)*
=nd.


3I

Anda mungkin juga menyukai