TUH!l<) I'AS U\ L D!\'•.J l'f,\1HOC H ·\,\it\\i TEJ<STH UKTUH KO!I.-ll'ILEH \Ellr\t; \! Ti< :\~,\1 AT< lH PENGLNA!.i\:'--J l'H C'C it·\ ;\1 II !lUI\ ) 1':\\\ ':\I
Dt\SAH PEMnOC I~ A .\ 1:\N I!. I. KAI{AKTEH 1)/\i .'\.\1 l"Ui
2 \
(,
h ~:
iK
:?It )J
,., ~I
)_-,
l•l 1(1 -ll
-11 -1.1
.;:; -17 -17 .j<)
51
~
T..;::
""'.
51 ')(,
·~h" ...t~
U)
•.o .... ,.
~()\ (I I
\'II
:! ,. '\. ~J
f'.,
~I'>JV..( ,.
...., ,.
f, ·
. ••
~0\ :y' ......
.9
~
\.
~!
r f
E}U'JYATAAN MAJEMUK .... ... .. .. ... .... ........... . . . ~GJ{}\PAN NALAR ... .. ...... ............... ....... ... ... . : AT AAN BERKONDISI: IF . .. .......... .... ..... . JV!ENGGUNAKAN IF UNTUK l'vft '. ~ '\ffUKAN KEPUTUSAN TERHADAP SEJUML\H AL TERNATIF . . .......... ....... ............ .......... .. . .. .... . PENGULANGAN PROSES DENGAN: FOR ....... .. . PENGULANGAN PROSES DENGA:-.J REPEAT PENGUL ANG AN PROSES DENG:\ 'J WHILE PENYELESAIAN SEJUMLAH ALTERNATIF DENCAN PERNYATAAN C:\SE
61 61 65
PROSEDUR DA N FUNGSI .............. _ ........ ... . . .. .... ... .. . Vl.l MENGENAL FUNGS I ARITMEllK:\ __ .............. . Vl.2 MENCIPTKAN FUNGS I ......... ..... .... .. . .. . .... . . .. VI.3 MENC IP'TA KAN PROSEDUR .. . ......... .. . V I.~ MELEWATKAN PARAMETER DE:"JGAN · N ILAI ATAU REFERENSI ..................... . Vl.:> PEM BATA SAN PENGENAL .... _ ... ........ .
'J7 'J7
p£rtr-1Y
y.6.
V.7. V.8. V.<J.
VI.
VII.
VIII.
IX.
X
:v\ENGGUNAKAN TIPE ENUMERASI DAN SUU RANG!.: VII.l. TIPE ENUMERASI .. .. .. .. ...... .... . .. ...... . ..... . VII.2. TIPE SUI3Iu \NGE ..... ...... ..... .. .. .. .... ... ........ .. PENGOLAHt\N DAT A STRING .......... .. .... .. ......... . Vlll. l. KONSTANTA STRING .. ..... .. .. .. ........... .. .... . VIII.2. T!PE STRING . .. . .. . .. .... . .. . .. .. . .. . .. . .. .. .. . .. . .. VllLJ. PENUGASAN TERHA D AP V:\RJAUEL STRING ..... Vll l.4. INISIALISASI STRING ...... .. ...... .. .......... .. VIII.5. PEMBANDINGAN STRING ........................... .. Vlll.(l. MENGAKSES ELEMEN S'ffiiNG ..... ........ ........ .. Vlll.7. FUNGSI DAN PROSEDUR UNTUK OPERAS! STRING ... ................ ........ .......... : . .. .. .".. STRING SEBAGAI PARAMETER ATAU VIII. 8. SEBAGAI HASIL FUNGSI .............. .......... .. ....... .. llPE D !\TA TERSTRUKTUR ARRAY ...... ................ ..... .. IX.l. ARRAY .. .. .... ... .. .. .. .. .. . .................... .... .. .... .. ... .. IX. 2. ARRAY BERDIMENSI SATU .... ...... ............... ...... IX .J. ARRAY MULTIDIMENSI .. . .... ........ .... .... .... ..... .... IX . .:!. MEMERIKSA KAWASAN ARRAY ............ .. ......... . IX .5. 1\RHA Y SEBAGAI PARAMETER .... ....................~ IX .6 PENUGASAN ARRAY .. .... ...... . ..... . . .. . .. .. .. .. .. .. TIPE PArA TERSTRVKTUR HECORD . ... .. ... ... . . X. l. MEN DEFINISIKAN/ MENDEKL AHASIKAN RECO RD ................... .... .... . .................. ... ...
"
t
X.2. X.3. X.4. X .S.
!!
j
~
MENGAKSES RECORD .................................... .. MENGGUNAKAN PERNYATAAN WITH ........... .. MENGGUNAKAN VARIA NT RECORD ..... .. ....... . !NlSlALISASl DATA RECORD ....... .. .. ~ ... .. ........... .
157 165 168 173
i IIMP LJN.AN ... ........ ................................................ . XLI. PENDEFINISJAN/l'ENDEKLAR!\SIAN TlPE HIMPUNAN ............ .... ..... .. X 1.2. ELEMEN HIMPUNAN ........ ----- · ·· XI. .) UPERASI DAN I'L\1ll•\NDINC --\ N I !L\11'UNAN XI..J I'EMI3ENTUK AN I lli\I PUNAN . X!.J. I\ 1ENA MPILKM'l f.LE.\11-N I fL\·1 l'L':'-!.'\N Xl.6. INISIAL! Si\SI lll.'v1l'UNt\N
176
;: X I.
6'}
T2 77 <·-
n:> ~'I
'"
.'
ji l_2
103 1117 II() I Ill
I l l' 12()
I)) l~ J
121 12] 12.:1
F.O.,S ILITAS D t\LAM UNIT CRT .... . ... _ . · -· - _ ..... XII. 1. MENGATUR JENDELA TEKS __ .... .. X II . 2. MENGATUH W.A.HN:\ TEKS . .. .. .. __ .. XI I .1. MENEMPATKAN KURSOR KE SUATU LOKA';J JENDELA LAYAH ..................... .. .. ___ ... . XI I -1. MEMPEROLEH POSIS! KURSUR ... ... .... _ >-:11 . 5. MENG I 1.1\PUS LAYr\H ............. .. ... XII _ t,_ MENGH!LANGKAN BARIS . ........ .... _ ... XII. 7 MENYI SIPKAN U .A!~IS KOSONG ... ... .. . . '<1!. H. MENGHAPUS SELURU II KARAKTEH MULA ! POSISI KURSOH . ____ .... ..... ... XII ') MENG.ATUR DAN ,\ 1EMERIKSA MODE TEKS X II 10 MEME R!KSA AD;\ TIDAKNYA TOMUOL Y ANr; DITEK,O.,N __ _ ... __ .... . __ . MENGGUNAKAN H. EAD KEY UNTUK XII. I I.
124 .'
132
137
~
137 138 146 152 !53 153 ISS
•
155
XIII.
MEMBACA TOMBOL .. . _______ ------ -- ·-- ··-- ......... . MENGATUI~ SUPA YA PHOG RAf\1 T.AK DAPAT DIHENTIKAN DENGA N CTRL-BREAK __ ___ __ MENUNDA EK SEKUSI SESAAT ........... .. ... ... .. . .. MENGATUR SUARA SPEAKER .. .. ......... .... .. _ LArN-LA!N .................... .. ......... .... ... .. .
PE NGOLAHAN DATA DENG AN FILE .. ... ... .............. . FILE BERTIPE ---------- ........... ..... ......... .. .. ... ... . XIII. I X ll!.2. FILE T EKS ...... .. ............... .. ....... .... ........ . X II U . OPERAS! PERANTI DOS SEBAGAI FILE ...... _ .. X IIL4 . MENGGU NAK AN U NIT PI ,'\IENANGANI KESALAIIAN 1/0 X11!.7. RANGKU MAN f'EHINTAH FI L E
MANI I'l 'I /'1'• 1 11 I ' \ I :\I\ I 11\"v\-PC .... ...... XV.l. r-.,.11 f'- 1' •I 11 , q rl I)ALAM TUR!JO l' t\SCr.L ..... .
XV .
1
XV.2 . xv .3. XV.-l XV.j . XV h.
XV. 7 XVX ·'' .. XV
2X7
,:::-;•1
111
1' 1 I '' t 1 , Ill t\1 AMAT, SEGMEN ATi\. U tvl l (\ II ' I I I 11 -----··· ···· ···· ..... ....... .... ________ __ 1 t1 ·, 1 1 , , 1 I I hi REGISTER CS,DS.SP 1),\.N SS 1 1,11 1\ ll : l 11 II' 1 1 11 UKUR.A.N MEMORI SU ATU 1 1\11 r II I 1 tl'l · ATAU KO N ST.ANTI\. BERTIPE \' /'1 111 \Ill1 1, \ Il l T IP E DATA TERSTRUKTUH 111 I 11 11 ' ,I ; I ill AI YA NG SAMA ..................... .. . 1 I ol I 11 ,' \ I I I 1 1', 1 >;EJ UMLAH MEMORI ...... ... ."... .
~ 11 1 r, l '
1 ' :~I I ;\ ', I I l ATA BERTIP E \X.'ORD .... ........ . 1!11 II' \II '.1 (; MEN D.AN OFSET :O.~ENj:\DI
1 ·~
·t i ll • · ' I .
XV . lil
'I ' "
r I l l i' • .
I ,,II' '
XV .ll XV I.
2~7
t· l '
I
. 1 11
, I ·,
t\IF.MORI DAN
t\ ,- ,
I '.
PORT ')ECARf.
p . . . ... .... ............. .. ..
UT
'
~~~ :;,
II' I I "\ 1-i
tll ' l;,., I'' IH l'~ t · IIUR '''" '
\I
"''I
M·' , 1NI'f"
I'""'' ,,c \'1
11
XIX
1-'l:.."IRUG RAMAN MODUL AR DE NGA N UNIT .. ........... . X!X .t STRUKTU R UNIT .................................. .. ..... . XIX .2 KA ITAN NAMA UNIT DAN NAMA FILE
}')(,
PnOCH.AM T AMBAHAN ............. ...... .... ....... ....... .. .. . .. XX . !. EMULASI l'ENGOLA H AN NUMERIK ...... ..... . .. :\X.::' MEMERIKSA NILA I IND EKS Dl LUAH KAWASAN ."-.RRAY .. .. ... ... .... ........ ... .. ... ....... .. .. . FASILITAS LA Y.I\.R XX . ."\ . IMPL E~\ENTAS I P!LIHAN PROSES DENGAN X)~. 4 SISTEM GESEH ..... .. .. . ... .. .. . ... . .... .. .............. ..
40-t -t04 .
2'J1 291
XX
~l)~
2').\
_ _.,
')t \ ,
2' 1(,
2'1l'
N............................. .
.301
................ ... ..... .
350 352 353 356
360 :0(,')
37() ."17'1
3:-\H 392
LA,\·\ I' In t\. 'J A DAFT:\H :\.SCI !
396 -l/ 12
406 407
422 426
}(ll
30-\
LAMP!RA~
.3<6
PETUNJUK PENGOPERASIAN TU IH30 PASCAL
432
~
LAMPIRA~ C DAFTAR PERINTAH ED!TOH. TURBO PASCAL
444
i.
DAFTAR PU STAKA ......... ....... .
448
~
.307 307 30H
. ......... .. 315
DOS .. ................................... . 315 lSERROR .......................... .. ...... .. 316 V ·" 11 1\h 'd ''' WAKTU ............ .... ........ .. .......... .. 321 1\1\ ·l'-11 11 1 II STATUS DISK ................... ..... .. 322 111 /\ 11 ·1\ 1, , ~ 1 li\N FILE ....... .. ...... .. ... .... ....... .. .... .. . 32<J 1 1' 1 \-1 , /\ II II I r ERU PSI ................ .... ............ .... . 336 I\ I' ' ,1 .-. r U l tNGKUNGAN DOS ... ... ........ .. . 1 11 1 1 XVII.r• I\ I 1·1
XVII. FASIL\1 XVII.\ XVII.' XVIl .' XV!l ·' XV!l •
345 345 346
2')11
........... .. .. ...... ........ .
..... ... ... .. .. FASILII · • 11 1\M LANJUTA . .. .. ....... .. ... .. ..... .. . .. 11 1 XVI. I. ' · I 1!11 ' 1' I 111 1:. .............. .................... .... . 1111 XVL 2. 11'1' I \p tl l .. .. ...... ............................. ......... .. XVU . lll ·ld (ILIAhl 'llJBP ROGRAM SECARA .. ....................... .. ........ .... .......... . XVL4 . Ill · I\ I •A lii I t·t Ill W · ltl l l ' tNI. 'ERUPSI · ..... .... .......... · " • I .\ I
343
XVI II. PEMROGRAMAN GRAF IK ...................... .......... ........... .. XV III.l. PENGENALAN MODE G RAFIK ....................... . XVII1.2. PERINTAH DASAR ............................... ........ .. . XV IIU. MENGAKSES PIKSEL ...... .......... .... .. ...... ......... .. XVlll.4 . MEMINDAH PENUNJUK GAM!JAR .......... .. ... .. XVJII.S . MEMBUAT GARI S .............. ..... .... ....... ... ...... .. X\' 111. 6. MEMB UAT ELEMEN BANGUN ... , .. .. .. ........... . XVIIL7. MENGATUll WARNA POLA, MENCAHSIH DAN MEMBLOK . .. ..... .. ... . :\'."! 11 11 f-ASILITA S TEKS DALAM M ODE< ;H r'\fiK .'\\" !!1.'' - FAS!l.ITA S GHA HK Lt\NjUTAN X \ '!!1.1(). ,v \EMPEHOLEH INFOHMAS I GHAfiK .. .......... .. X \ "Ill 11. ANIMAS! GAMHAR ......... .... ...... ... ...... . :\\"111.12. MENYIMPAN DAN M EMBAC A CAM BAH
Turbo Pas cal merupak:: n sabh s ~tu ko mpi k r ' ••: :: ,,mgat tcrkcnal unw k pem:-,)graman ko rnputcr bah asa P:< sol. Pr. ·, ·· \·ang cimdi \ dcngm rn c n g~:; unak:~n Turbo Pas cal rncmpu n v.1r ern y:m~ rcrqruktur, scl n n gga mud.~h dip:~hami maupun dikcmbangkan o kh ?<· rnrograrn . 1-i.J l ya n. ~ mcnarik lainnya adalah bcrupa lcngbpnya f:~~ ·: nas yang discdrab n. schin gga Turbo Pascal dapat dipakai umuk :-:1c·mec.thkan lx:rba gai m:~salah. dari m_asalah vang bany:1k mcmcrluL :-: pcrhitungan (bahbn yang m cnjurus kompleks) sampai kc masalah :p·;:-k mcnt:Jsi pcrmainan. Hcrdasarkan pengcmbangan terh:~d:~p vcrsr ~ :·:·cl urnnya y:mg ~a ngar di sukai o lch p ara pcmrogram, kini B,>rland fr ll,· n ... ,•nal scb.1g ai pcrusah aan yang menciptakannya telah menshadirka n : .'r bo rascal versi 5. 5. Banyak kelebihan pada versi ini yang rak ad J ;:-.da \"l'fSi scbclumnya . Fasilitas-fasilitas yang dimaksudkan untuk m cT:.:J ahkan pcrnr o gr:~m :Hl tclah disediakan. Schingga tid:1klah tcrl:tmpw ,.1: . ,~Jn mcm:tkan banyak waktu untuk membuat program gun:~ rncnytJi kan suJtu ntas:~l a h. fasilitas yang disediakan diantaranya berupa kem .:,iah:ll1 untuk mcmbuar gambar, mcngakscs memo~i :naupu r. pl) n . :;1 cnjabnbn pro gram bcrjenis .EXE atau . COM dari suJtu progn:·:: mclakukan intc.: rupsi sccara software bahkan sampai mcmbuat p ru !_:~Jm residcn (program yang tinggal menctap dalam memori sampai ·,·-boorti11g). Tentu saja masih banyak fasilitas yang lain . Bagi yang ingin mengenal ataupun mcndJ!am J r'a;ilitas yang ada dalam Turbo Pascal termasuk dari segi dasar pcmrogflmJn, buku ini kiranya sangat bermanfaat scbagai petunjuk . Materi yang ,-ukup lengkap disercai lebih dari 130 program contoh. yang bisa dioperasibn dengan menggunakan Turbo Pascal versi 5.0 mau pun 5.5, akan sangat membantu dalam mempercepat penguasaan trrhadap Turbo Pascal, terutama yang m.enggunak.an komputer IBM PC. Akhirnya, seperci kata pcpatah tak ada gading v.mg tak rct.1k, pcnulis dcngan scnang hati menerima saran arau kritik untuk pcnycmpurnaan atas kckurangan d:tn kesabhan-kesal.1han y.lll g r~·rJ J dr. Dan unruk icu ; pcnulis mengucapkan banyak tcrimJ kasih . T.1k lupa pcnulis j uga XUI
}.." '~~
r rncngucapkan terima kasih kepada hingga ter..,vujudnya buku ini.
1~ua
"'
pihak yang telah membantu J~arta,
f.t
Agustus 1989
l
Penulis
I PENGANTAR TURBO PASCAL
r ;
~
Bab ini mcn_jdaskan kaiun Tur ~o Pa~cal dcng.m pcmrogr:~!n ~n tn,trukru r, kompikr sch.; ,:.1i tr.l:l,J.I'O r se n 1 lllunbcrikan garnb:1r.11, -~~~~~ k.H mcngcn:~i progr.1m Turl•o !Ja~ca l.
/
'f
1.1 TURBO PASCAL DAN PEMROGRAMAN TERSTRUKTUR
~- \~:w\
i t r
r t
Turbo P;jscalmcrupabn ~.1lah ~aru vc r,: bJha~a PJscal yang dlkcmb;u-:gkan olch Bvrland lntrmation,!l. B.1has.1 Pascal scndir i tcrmJsuk bai JJ s.l bcraras tinggi (lu~~~~ !,·I·d i.u:glla,I( C) . Scbagai bahasJ bcraras tinggi . Pa,oi sudah cemu beroricntasi ~,a,~a baha~a man usia. Dalam hal ini P .. sol bcrupa bahasa scmaCJm ln sg r:,. I1~Struksinya menggunak.ln btJ-kau dalam bah:~s:~ lng g ri s. KJrena icu bahasa Pasu l sa ngat mudah ciip~hami dan dipclaj:~ri. Untuk rncmrclajari bah asa P:~sca l, scscorang ti d.1k ha rus rncngctahui perill a! tL· knis da;-i m,·si n ko mputcr sccarJ rnc,J..Ialal!!, melainbn yang pcnt:nf:( .1Jalah rncmahanll kaidah Jari bahas.t rcr-.,cbu!. Kemudahan dahm mcma11Jn ll dan mcmpcbjari ~ahasa Pascal dnu;1jang oleh bentuk program Pa,cal yang tcrstruktur. Scbagai b:1h:~s.1 png tcrstruktu r, program PascJI tcrsusun :ltas scjumlah biok. Blok-hlok y.lllg kecil selanjutnya dapat dipakai untuk mcmbuat blok yang lcb ih hcs:~r. dan sccara kcsduruhan membcmu k program kcrja. H.!l ini mcmbcrikan kemudahan bagi pemrogram daiam mcmbuat, mengcmbangkan dan memahami program. Suatu permasalah an dapat dipecah-pecah mcnjadi bagian-bagian yang kecil schingga dcngan gampang dapat dik odcb n. Keuntungan yang lain, logika program menjadi lebih mudah dipelajari/ dimengcni. Kesalahan-kcsalahan yang terjadi di dalam program akan rnudah direlusuri. Disamping itu program mudah dirnodifikasi tanpa kuarir rncnimbulbn cfck sampingan terhadap bagian lain dari program. Sebab program dalarn bahasa yang terstruktur, mernungkinkan pemb:Jtasan cfek tindakan hanya di dalam blok am tidak rncmpcngaruhi yang tcrletak di luar blok. Dalam Pascal, blt'k kbih dikcnal dcngan ~c butan subprogram . Subprogram scndiri dibeJakan menjad1 dua golongan . Golongan pertama dinamakan prosedur dan golongan kcdua discbut fungsi .
XIV
.
j·.
~
L2 I(OaiiPILER SEBAGAI TRANSLA'rof. program. yang ditulis dalarn bahah- beraras tinggi seperti Pascal, coBOL (Common Business Oriented Language) ataupun beberapa bahasa ang lain sebenamya tidak dimengerti oleh komputer secara langsung, kornputer hanya mengenal bahasa khasnya saja yaitu bahasa mesin. Supaya program bisa dijalankan haruslah diterjemahkan terlebih dahulu ke dalam bahasa.__mesm (bahasa yang hanya mengenal ko;nbinasi kode 0 dan 1). Proses penerjemahan dilakukan oleh program
~ebab
(di~ksekosi)
,·ang disc but translator (penerjemah). Tra nslator dap::.r-berupa:
i t l
t·
;:
r '
lamBcrbeda bat . dengar, interpreter, kompiler menerjemahkan inst ruksi scc:na keseluruhan terlebih dahulu ke dalam kode mesin ~ebelum prog ram dapat d ijalankan. Setelah penerj emahan (istilahny:J yaitu kompilasi). kompiler tidak diperlukan lagi, scbab sesudah pcnerjcmahan diperoleh program objek (program ini disimpan pada file tcrpisah dcngan program sumbcr) yang bersifat 'executable', dalam artian bisa dijalankan secara langsung pada sistem operasi (MS-DOS). Berdasarkan sifat ini, program akan dijalankan dengan sangat cepat, karena pada saat dijalankan tidak ada lagi proses penerjemahan. ,da-kompiler tradisional, program sumber ditulis dengan menggunakan editor teks (misalnya Wordstar atau SideKick) yang terpisah dengan kompiler . Sesudah program disimpan dalam file , kompiler baru dilibatkan, untuk melakukan kompilasi. Sesudah kompilasi, hasil kompilasi baru bisa dijalankan. Seandainya kemudian terjadi kesalahan, cntah karena kaidah i.nstruksi masih salah atau logika programnya yang s:1\ah, editor teks harus dipanggil lagi untuk mempcrbaiki program. Selanjutnya proses kompilasi dan pengujian program dilaksanakan lagi . Cara sepc rti ini, dari proses penulisan program, kompilasi sampai pengujian program, akan memakan waktu yang relatif lama .
RAM, atau Disket (media pcnyimp:1n ekstcrnal), Kompilasi ke dalam RAM mernpunyai kcuntungan : proses kompilasi sangat cepat. Namun karcn a hasil kompilasi tidak d1 simpan kc dah m disket, tcntu saja eksekusi program hanya bisa dijalankan c1 i cLl!am Turbo Pascal. Oleh karcna itu, biasanya kompila:.i kc HAM ha11V:J diiakub n selama pcngujian program saja. Kalau program sud olh scmpurn.1, baru dikompilasi ke disket (dengan harapan dap:lt diekscku si scc arJ l:tnf:'~ung pada MS-DOS).
~
i. Interpreter -, Kompiler Int erpreter mcnerjemahkan instruksi selama ek sek •·-; i program . Jika dikehendaki untuk menjalankan program, mula-muL. 2rogram sumber (wur.:f prog ram atau program yang ditulis dalam bahasa beraras tinggi) dit crjemahka n terlebih dahulu ke dalam bentuk kode mesin per instruksi . Setelah instruksi tersebut dipahami oleh komputer dan dijalankan , tran slator kembali mengulang proses scrupa untuk instruksi be rikutn ya. Ocngan cara seperti ini, suatu instruksi akan dij:1lankan dengan sangat
Berbeda dengan kompiler tradisional, fasilitas yang diberikan pada Turbo Pascal tidak sekedar berisi kompiler, tetapi sekaligus juga mengandung editor teks. Bahkan eksekusi program bisa dilaks:makan langsung dari Turbo Pascal, tanpa harus kduar menuju MS-DOS. Perbedaan yang lain, program sumber yang ditulis tidak haru s disimpan terlebih dahulu kalau mau dikompilasi. Jika prog ram Jiras:1kan sudah sempurna barulah disimpan ke dalam file. Cara ini tentunya mcnghemat waktu: Sclain itu, Turbo Pascal memungkinbn hasi! kompibsi bisa · dipilih dan ditemp:1tbn ke
'
1.3 PENCENALAN PROGRAM TURBO PASCAL
Contoh yang sedcrhana mengcnai prog ram PasCJ.I ditunjukb n pJ,la Program 1-1. Prograrri tcrscbu r dipakai un tuk mcnampilkan tuh~ J n 'Turbo Pascal' ke layar.
., '
PROGRAM TP;
~
!· k
USES CRT ;
<• -----------<• Contoh program
Ii
---------------------- *)
•l (* untuk ••na.pilkan tu1iaan : Turbo Pasc&l •)
<• ---------------------------------------
iI
*l
BEGIN
I
CLRSCR;
~ ~· ! ,
~'
WRITEUl ('Turbo Pasca 1'}; READLN END . Contoh eksekusi : Turbo Pascal Program 1- t.
3
2
r-
1 2r
-
If'
-·~
r
~
dan ltll-ftlerupakansalah_satu..contott..Pengenal_ vang_sangat._pan,lang_seblLnamanva
Tipe d:aa
d~ngan:
oleh Turbo Pascal dianggap sebagai pengenal yang sama
-
Tipe Tipe Tipe Tipe Tipe
-t L
·- - -<
sederhana pointer terstruktur string · buatan
>~
Tipe data sederhana dan sekilas tentang tipe string dihahas pada bab
Bcrdasnkan keleluasaan yang dibcrik.m Turbo Pascal, remherian naJlll pcngcnal scbaiknya y:.ng rncngandung makna, supaya program udah dibaca dan dipahami oleh pernrogram. Pengenal scperc; L nng 111 cwakili r:ibi luas misalnya lcbih baik jika dinyatabn deng:an Luas. 111 Nama pengcnal tidak bolch sanu dcngan nama yang tergolong dalam kata-tercadang ( reserved_tvord). Yang rcrmasuk dalam kat;-,-tercadang
oegin v ose ,. const v • constructor • destructor t/ dlVv nH~~ ll?<Ji dCv ~o\~ downto v
typev unit untllv' uses varv • virtual wtllle v wlthv xor
H:nis
. "• '
11
1>'
J
~
'
t'·
Selain itu, nama pengenal diusahakan agar berbeda dengan nama pengenal bawaan yang ada dalam pustaka Turbo Pascal (vaitu nama pengenal yang berada dalam unit Systew, Graph, Crt, Dr l Printer, Turbo3, Graph3 dan Overlay), untuk menghindari kesalah.m. Contoh dari pengenal bawaan: ClrS.cr, Window. TextAttr, Writeln.
Pascal merupakan salah satu bahasa pemrograman yang kaya tipe data. Selain tipc data bawaan, seorang pcmrogram juga bis3 menciptakan sendiri tipe data baru. Secara garis besar, tipe data dalam Turbo Pascal
8
Format Nllal
------------~-----
-123 32757 -2147483648 ~
---~---~-------
1:7 32757 2147483647 o 255 o . 65535
---------
---~~--
MUkuranl
- - -emor --
8 bit bertanda 16 bit bertan
1 byte 2 byte 4 byte 1 byte 2 byte
------~-----
P~njelasan:
-
n bit artinya data dinyatakan dcngan n bit (n/8 byte) Pcngcrtian tak-bertanda artinya data sclalu diperlakukan sebagai bilangan positif.
Dalam suatu program, jika misalnya suatu varibel (pengmgat suatu nilai) dinvatakan dengan tipe shortint, maka variabcl h.mya dapat menyimpan bilangan yang nilainya terlctak antara -l2R samp:ti dengan 127. Pcrnberian nilai di lu;n kawasan itu akan mcnycbabk.Jn t<'rj.tdinya kesalahan.
11.3 JENISnlPE DATA
dibagi menjadi 5 golongan.
shcrtint integer longint byte word
/~I
i
Kawasan Nila• ------------
~
n
bilan~~.1n (bulat
Tlpe Data Bllangan Bulat OJl.1m Turbo Pa,ui tcrchp:lt 5 buah ripe d.H.l v.mg J,crkaitan dcngJn bilangan bul:H. Berupa:
~l
yaitu:
abSolute anav ·
~
Tlpe Data Sederhana Y .• ng tcrmasuk dalan1 tiF· ,LH.l ,cdcrh:111~ vanu ripe ITLlupun real), k:nakter dan bookan.
~
Tlpe Data Real Untuk kepcrluan pengolah.m cb.ta real (pcnh.Hl), Turbo P.lst-al mcnyediakan 5 buah jenis data real, yairu: r£'al, sing! f. .J,,;Ihf,., cxrmdt'd d.1n
comp. Keempat jenis data yang terakhft (single, double, extended dan comp)
Konstanta Bllangan
ditujukan untuk komputer yang mempunyai prosesor-pendamping yang disebut 8087 (prosesor untuk pemrosesan numeris dengan ketelitian ringgi). Seandainya komputer ridak mengandung keping (chip)/prosesor 8087, keernpat tipe tersebut tetap bisa diiibatkan dalam program dengan cara emulasi (akan dijelaskan pada Bab XfX). Tipe data comp merupakall bentuk :-w::sisi ganda dari tipe data )ongint. Tipe ini sangat cocok dipakai ~mtuk pemrosesan nilai bulat yang bcsJr Scbab kavvasan nilain v.1 k: ~ J-kir J mcncapai --9,2 x 10 lR sampai du:;:_.
1
I f f
'
R.
--
-------~·
.!2,9 X 10
real single double extended
ccmp
---··---
Ketelit!ar.
Kawasan Nilai 59
::!:1,5 x 10-'5 31
Contoh penulisan konstanta bilangan bulat:
20 +5555
:Bilangan
.
..
±5,0 X 10- J. .!5,0 X 10 .. 4 ~ 51 .. - 2° 3..
-!))
(!)!i,,n~an :;ss::;. Tanda -~ bc,lch daulis,
-127 65000
Tabei 2-4. npe data b!langan real
Tlpe DatLi
Konstanta bilangan bisa berupa bilangan bulat dan bilangan pecahan. Bilangan bulat dapat ditulis dalam bentuk sistem desimal (sistem puluhan) dan sistcm heksaJcsimal (sistem bilangan yang berbasis 16).
lLLu.::.u;
lr!!IlUS
bc,kh tidak ditulis)
1~7)
(EiLngan bulat l•crt1pc word
.lt,1u
lon,(!inr)
~---~--------
Ukuran Memorl
---~~-------~------
1,7 X 10~' 3.4 x 103,1 1,7 X 1[0S 1.1 X 1,)AjJ: 2° 3 -1
11 5/d 12 digit 7 s/d 8 dlg!t 15 5/d 16 digit
19 s/d 20 digit 19 $/d 20 digit
6 4 8 10 B
byte byte byte byte byte
Bilangan dalam o1stc:n hek$;1,ksimal mcnggumL -· simbol berupa 0 .. 9 dan A. .F (ada ltJ buah _,md.JOI) Pcn~rlisannvJ diawaii dengan tanda dolar ($). Comoh pcr~ulis.1n ;;onscmu dalam sistem heksadesimal:
-
~ --·------- ·(Bd.Jng.1;] iT da!.Jrn sisrcn1 hcks.JcicsimJ! atau 'it\tcrn f- 1 ~J!uh..J.n)
$FF
T!pe Data Boolean
D::lam bahasa Pascal tcrd:<pat tl~'c d.Jt.l '. 1;1~; ciJsebut boolean. Tipc ini hanyJ mengenal dua buah ndai sap. herc;-1 :r:.c :hcnar) .1taufaise (salah). Data bnolt'all banyak Jihb.Hkan clahn~ prog:-arn, untuk mengatur pcngambil.m kcputusan terhadar dua kcmungkinan, dcngan harapan ;,gar pro~r:un mcnjadi tcrstruktur.
Tlpe Data Karakter Tipc data char mcrupakan ripe dan data yang mengandung sebuah karaktcr. Karakter dapat berupa ~cbarang demen dalam ASCII. Jadi bisa berupa huruf, angka ataupun simbol khusus.
$2000
..;,:)::>
aatam
(Rihng.];; 21~)1 i cbbm S:·.(l'n: hcLadc~~rn:d Jtau 2 13 dalam sisrcr:l r::!uhan) ---~-~--
!-
••~
~
l'
t.
1r'-.:·
Konsrant;1 dalam
$FFFFFFFF.
'>istu~J
hcksJdc>inH] bcr'.Jsar Jntar;; SOOOOtJOOO dan
Konstanca bdang.m rc~l mcngF unakan tanda pecahan berupa titik. Tanda pemisah ribuan tldak bolch disertakan. Contoh penulisan konstanta bilangan pecahan:
.
npe Data String Tipe data strir1g berupa sederetan karakter. Data string banyak dilibatkan dalam program, terutama untuk memberikan ketcrangan pada layar penampil.
11:4 KONSTANTA
(BiLmgan pecahan 40. 57)
;
1.. <
~
Konstanta merupakan nilai yang tidak berubah sclama program berjalan. Dahm Turbo Pascal terdapat banyak sebli jcnis konstanta. Beberapa dialltaranya ak.an dibahas pada bagian in
(Konstanta pecahan hanya boleh mengandung tanda titik. Jika yang dimaksud adalah bilangan tiga ribu, penulisannya adalah 3000.00 atau 3000 saja) (Sesudah tanda titik harus ada angka)
~r
l
(ldcmik Jcnt:an h:l.lJJ~an pccahan ::J(,( t Jt.111 ~ 7 X ] i I;) (BiJangan pccahan 5.~ X 1()-f, JULI
]
/
(5,2
X
yang yang yang yang
memiliki memiliki memiliki memiliki
nilai nilai nilai nilai
ASCII ASCII ASCll ASCII
(
1 7
13 27
Sc(.
Konsunta pccah:m juga bisa r:lituli~ dalam bcntuk notasi cksponeiJsial yang mcngg'..makan tanda c auu E (\·,mg diikuti dcnpn scbuah nil;;i pangbt). Contoh:
5.2E-06
.M
I
·-----
2.7E+ 3 2.7eJ03
konstanta konstanra konstanta konstama
·c
]()~) )
~
218
~
197
:219
=SBF Contoh p:.·!·~Jii~Jll \·;,r.~ saLh: 2.7 E +3 :D1 ,icp.m dan d: bcL1b.ng randa E arau c tlt.hk bolch ' . '\ aoa ~ras1,
T~:. .:: ..;
braktcr r braktn t braktcr • braktcr •
· scbcr1Jrnya dapat digunakan umuk
'cmu.1 ndai J\SC:Il.
((Jr. ~,_~h:
~t:bL;J!
··~
Konstanta Karalcter Pcnulisan konstanta karaktcr cliiakukan dengan mcnemp.Hkan braktcr di an tara t.111da pctik tunggal ( \ Schaga1 contoh:
-=
samJ dcnpn ·c; sama dcngan 'A· sama dcngan u
I
:55 ~117
t
l'
'A'
·a· '
I
'*'
'"'
Konstanta Konstanta Konstanta Konstanta Konstanta
huruf A huruf a karaktcr SPAS! simbol * PETIK TUNGGAL
t
~. ~·
,I.
Ka:.J./;tcr vang rncmiliki kodc ASCI1 antara 12/l dan 255 juga dapat ditulJ~ dc'1.;:.l:: diawali dan dukhiri tanda pctik tunggal. Ad:tpun karakternya dir.--.::,lch dcngan cara mcnekan tombol AL T scmbari menekan tiga digit yang mcrupakan kode ASCII-nya secara bcnurutan. Tornbol digit yang digur:akan haruslah y:1ng berada di bagian kanan keyboard.
Concoh: Untuk konstanta karakter petik tunggal. karaketernya harus ditulis dua kali. Dalam tabd ASCII tcrdapat s~jumlah karakter yang tombolnya tidak tersedia dalam papan-kctik (keyboard). Scbagai contoh, karakter yang !Jlemiliki kodc ASCII 25-(tanda panah bawah). Untuk karakter scmacam ini, Turbo Pascal rncnycdiakan cara pcnulisan yang khusus. K
12