Anda di halaman 1dari 11

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Penulis: William
www.etersoul.com

Computer Club of Bunda Hati Kudus SMA Bunda Hati Kudus


Pengantar Bahasa Pemrograman Pascal Page 1 / 11

License Agreements
Sebelum anda membaca isi dari buku digital (e-book) ini, anda harus membaca dengan baik dan menyetujui seluruh isi dari persetujuan lisensi (License Agreements) yang dimuat di halaman ini. Seluruh materi yang ada di dalam e-book ini merupakan hak cipta dari penulis. Walau demikian isi dari e-book ini dapat dicetak dan didistribusikan dalam bentuk hard copy melalui media printing atau fotocopy. endistribusian dari e-book ini harus melampirkan setiap halaman yang ada di dalam e-book, termasuk pula halaman License Agreements ini. !si dari buku ini tidak boleh diubah tanpa persetujuan dari penulis. enulis harus

mengetahui setiap perubahan yang akan dibuat oleh pihak ketiga terhadap isi e-book ini. "elalui lisensi ini penulis hanya ingin para pembaca menyadari betapa sakitnya bila karya yang telah dibuat oleh penulis-penulis (termasuk penulis yang lain) dibajak oleh orangorang tak bertanggung ja#ab sehingga penulis tersebut tidak mendapat credit atau penghargaan atas karyanya sendiri. Selain hal di atas, pembaca juga harus menyetujui paling tidak $ hal dari % hal yang ada di ba#ah ini& '. *. $. +. %. embaca setuju untuk mengurangi penggunaan kendaraan pribadi sebanyak $() atau lebih. embaca setuju untuk menghemat listrik dalam kegiatan sehari-hari. embaca setuju untuk menghemat penggunaan air dalam kegiatan sehari-hari. embaca setuju untuk membuang sampah pada tempat yang benar. &) embaca setuju untuk membuat suatu karya digital sebagai bentuk dukungan terhadap ,omptius dan mungkin akan diperlombakan. -ila anda tidak menyetujui isi dari ,opyright License, anda dapat segera menutup e-book ini. Lisensi ini hanya berlaku untuk karya yang dibuat oleh William.

Pengantar Bahasa Pemrograman Pascal

Page 2 / 11

Pengenalan Pascal
ascal merupakan salah satu bahasa pemrograman tingkat tinggi. emrograman tingkat tinggi menandakan bah#a ascal banyak menggunakan bahasa manusia dalam penulisan sintaksnya. -eberapa bahasa pemrograman tingkat tinggi lainnya yang ada yaitu -AS!, dan ./L 0!. Sedangkan bahasa pemrograman tingkat rendah yaitu bahasa pemrograman yang masih banyak menggunakan tanda-tanda sehingga bahasa ini cenderung lebih 1kotor2. -eberapa bahasa pemrograman tingkat rendah yang sering digunakan adalah ,, ,33 dan 4a5a. "ari kita melihat perbedaan antara bahasa ascal dan , untuk pembanding dalam sintaks yang digunakan& PASCAL
uses crt; var a : integer; begin clrscr; writeln('Masukkan nilai antara 0 sampai 100 : '); readln(a); if a > 5 then begin writeln(' ilai a lebih besar dari 5'); writeln('!ekan sembarang t"mb"l untuk keluar'); end else begin writeln(' ilai a lebih kecil atau sama dengan 5'); writeln('!ekan sembarang t"mb"l untuk keluar'); end; readke#; end$

C
%include &stdi"$h> %include &c"ni"$h> int a; v"id main() ' clrscr(); printf((Masukkan nilai antara 0 sampai 100 : (); scanf(()d*+ ,a); if (a > 5) ' printf(( ilai a lebih besar dari 5-n!ekan sembarang t"mb"l untuk keluar*); . else '

Pengantar Bahasa Pemrograman Pascal

Page 3 / 11

printf(( ilai a lebih kecil atau sama dengan 5-n!ekan sembarang t"mb"l untuk keluar*); . getch(); .

.ua penggalan program di atas akan menghasilkan program yang sama persis yaitu meminta sebuah input berupa angka antara ( sampai '((. 6emudian sebuah tulisan akan muncul tergantung dari nilai input yang dimasukkan. .ari * bahasa tersebut, dapat dilihat bah#a dalam bahasa penggunaan simbol. 7urbo ascal dan , merupakan program compiler. ,ompiler sendiri berarti program ascal lebih sederhana dan lebih banyak menggunakan bahasa manusia. Sedangkan dalam bahasa ,, lebih banyak

yang menerjemahkan tulisan berupa kode program menjadi bahasa mesin yang dapat dimengerti oleh komputer. roses yang dilakukan disebut compile atau compiling. Suatu program dapat di-compile dengan menggunakan kombinasi tombol Alt 3 89. Sedangkan untuk menjalankan program, tombol yang dapat digunakan adalah ,trl 3 89. -ila selama proses compile terdapat error atau kesalahan dalam penulisan program, maka 7urbo ascal atau , akan memberitahukan letak kesalahan tersebut sehingga pengguna dapat memperbaikinya di halaman editor. 7urbo ascal merupakan bahasa yang case insensiti5e yang berarti penulisan dalam huruf kapital maupun huruf kecil tidak dipermasalahkan. Akan tetapi pada , yang case sensiti5e, maka penulisan huruf kapital atau kecil harus benar-benar diperhatikan. :ntuk pembahasan berikutnya, kita akan menggunakan program 7urbo bahasa pemrograman ascal sebagai pengantar contoh. ascal dengan

erlu diingat bah#a bila anda

telah menguasai satu bahasa pemrograman, maka anda akan dengan cukup mudah berpindah ke bahasa pemrograman lainnya selama anda memiliki dasar algoritma dan logika yang baik. ;leh sebab itu, pada pembahasan yang selanjutnya, yang akan ditekankan adalah algoritma dan logika, bukan sintaks dan function < procedure yang terdapat dalam 7urbo ascal. 8unction atau procedure yang telah disediakan oleh 7urbo ascal dapat anda pelajari sendiri penggunaannya melalui 0elp yang terdapat di 7urbo ascal.

Pengantar Bahasa Pemrograman Pascal

Page 4 / 11

Struktur kode
ada setiap kode pemrograman, terdapat aturan yang harus dipatuhi agar program tersebut dapat menjalankan (compile) suatu program dengan baik tanpa error. Struktur utama pada 7urbo ascal adalah sebagai berikut.
pr"gram uses label c"nst t#pe var pr"cedure functi"n begin statement; $$$ end$ 'pr"gram ditulis di sini. $$$ ; 'deklarasi nama pr"gram. $$$ ; 'deklarasi penggunaan unit. $$$ ; 'deklarasi label. $$$ ; 'deklarasi k"nstant. $$$ ; 'deklarasi tipe data. $$$ ; 'deklarasi variabel. $$$ ; 'deklarasi pr"cedure. $$$ ; 'deklarasi functi"n.

7ulisan yang diapit oleh tanda kurung kura#al => adalah comment dan tidak dianggap sebagai bagian program ketika di-compile oleh compiler. ada baris pertama, anda dapat mendeklrasikan nama program. :mumnya untuk mengefisiensikan pengerjaan suatu program (khususnya pada lomba), baris pertama dapat diacuhkan atau dile#atkan. -aris kedua yaitu 1:S/S2 merupakan deklarasi penggunaan unit dalam 7urbo ascal. :nit merupakan bagian dari program yang berisi kumpulan function dan procedure. ,ontoh fungsi yang banyak digunakan adalah CRT, dengan function yang terdapat di dalamnya yaitu clrscr dan readkey. Anda dapat menjalankan suatu program tanpa menggunakan :S/S, akan tetapi anda hanya dapat menggunakan function dan procedure yang sudah terkandung secara nati5e dalam 7urbo ascal. ,ontohnya anda tidak dapat menggunakan clrscr atau readkey tanpa ,?7, tetapi bisa menggunakan #riteln dan readln tanpa ,?7 tersebut karena ,?7 merupakan unit untuk pengolahan output ke layar dan input dari keyboard. Label digunakan bersamaan dengan key#ord GOTO. @;7; sendiri jarang digunakan karena tidak efisien dan cenderung membingungkan penggunanya. ,onst digunakan untuk mendeklarasikan suatu konstan. 6onstan merupakan suatu key#ord yang memiliki nilai tertentu. "isalnya bila anda mendeklrasikan ! sebagai $.'+, maka ketika anda menggunakan ! pada baris program, ! akan digantikan dengan $.'+. 7ype digunakan untuk mendeklarasikan suatu tipe data baru dari tipe data yang sudah ada
Pengantar Bahasa Pemrograman Pascal Page 5 / 11

sebelumnya. -erguna ketika harus menggunakan pointer. Aar digunakan untuk mendeklarasikan suatu 5ariabel. Aariabel yang dideklarasikan harus memiliki tipe data tertentu. enjelasan dalam penggunaan 5ariabel akan dibahas di bagian berikutnya. rocedure dan function merupakan sub-program. rocedure tidak mengembalikan

nilai, sedangkan function mengembalikan nilai. rocedure dan function mengandung suatu penggalan program yang dapat dipanggil oleh program utama atau sub-program yang lainnya. -ila anda belum mengerti maksud dari 1mengembalikan nilai2 maka anda dapat membayangkan bah#a hasil dari function dapat dimasukkan ke dalam suatu 5ariabel atau menghasilkan suatu nilai, sedangkan procedure hanya menjalankan suatu potongan program. ,ontoh procedure adalah #riteln dan clrscr karena kedua procedure tersebut tidak mengembalikan nilai apapun. Sedangkan contoh function adalah 1sBrt2 yang akan mengembalikan nilai berupa akar kuadrat dari bilangan yang dimasukkan. Sebagai informasi: 1procedure2 adalah istilah yang digunakan pada ascal. ada bahasa pemrograman yang lainnya, biasa disebut 1function yang tidak mengembalikan nilai2 atau 15oid function2. rogram utama yang akan dijalankan oleh 7urbo sampai dengan /C.. ascal dapat ditulis diantara -/@!C

Varia el dan ti!e data


7erdapat beberapa tipe data yang dapat dipergunakan dalam suatu 5ariabel, di antaranya adalah (beserta range yang dapat diterima)& !nteger !nteger (-*D'% sampai *D'%), #ord (( sampai *D'E), shortint (-*DF sampai *DF), byte (( sampai *DF), longint (-*D*$ sampai *D*$) 8loat < ?eal ?eal (E byte), singel (+ byte), double (G byte), eHtended ('( byte), comp (G byte) -oolean -ernilai 7?:/ atau 8ALS/ (' atau () ,har "erupakan integer yang telah dikon5ersikan ke kode AS,!!.

Pengantar Bahasa Pemrograman Pascal

Page " / 11

Array "erupakan deretan suatu 5ariabel yang bertipe data sama. embahasan yang lebih lengkap akan terdapat di bagian tersendiri. String merupakan array dari char.

Algoritma dasar
ada dasarnya terdapat beberapa algoritma yang harus dikuasai dalam pemrograman yaitu& '. ;perator *. !nput<output& -agaimana meminta suatu input dan menampilkan suatu output. $. Selection& -agaimana membuat program yang dapat memilih bagian yang akan dijalankan. +. ?epetition < looping& -agaimana membuat program yang dapat mengulang suatu bagian program yang dijalankan.

#angkuman o!erator
.alam bahasa pemrograman, sebuah proses dibagi menjadi * yaitu operand dan operator. ;perand dapat berupa 5ariabel atau nilai. Sedangkan operator merupakan tanda-tanda yang dipakai untuk mengolah. 7erdapat banyak jenis operator, tapi + jenis yang perlu dipelajari untuk saat ini adalah assignment operator, arithmatic operator, comparison operator, logical operator. Assignment operator ditandai dengan :=, dan digunakan untuk memberi nilai ke suatu 5ariabel. Arit matic operator ditandai dengan !, ", #, $, di%, mod& .igunakan untuk pengolahan nilai matematika. Comparison " Relational operator ditandai dengan =, ', (, '=, (=, '(, dan !C. .igunakan untuk perbandingan * nilai sehingga menghasilkan nilai true dan false. Logical operator ditandai dengan AC., ;?, I;? dan C;7. .igunakan untuk perbandingan logika antara dua pernyataan atau lebih. Penting: penggunaan J dan &J harus diperhatikan karena penggunaan operator ini terkadang salah tempat.

$n!ut %ut!ut&
7erdapat * jenis input<output secara umum yaitu layar<keyboard dan file.
Pengantar Bahasa Pemrograman Pascal Page ' / 11

!nput menggunakan readln() dan read(). .alam penggunaan melalui keyboard, kedua procedure ini tidak berbeda. Akan tetapi bila input berasal dari file, kedua procedure akan berbeda dalam mengambil input. ?eadln() akan mengambil input dalam suatu baris, kemudian cursor akan dipindahkan ke baris selanjutnya. ada read() akan mengambil input dalam suatu baris, kemudian cursor akan dipindahkan ke sebelah bagian yang diinput. -ila tidak ada lagi bagian yang dapat diinput, maka cursor baru dipindah ke ba#ah. ;utput menggunakan #riteln() dan #rite(). read() dan readln(). maupun di layar. Conto program:
uses crt; var a+b: integer; begin clrscr; write('Masukkan bilangan antara 1 / 100: '); readln(a); b:0 a 1 2; writeln('3ilangan #ang dimasukkan adalah '+ a); writeln('3ilangan setelah dikali 2 adalah '+ b); readke#; end$

enggunaannya hampir sama dengan yang

ada #riteln dan #rite, keduanya akan berpengaruh baik di file

#angkuman Selection
Selection merupakan salah satu proses program di samping seBuential (pengerjaan secara berurut) dan repetition < looping. .alam selection, program akan memilih bagian yang akan dijalankan (sehingga terdapat bagian yang tak dijalankan). :mumnya selection menggunakan !8 ... 70/C ... /LS/ ..., akan tetapi terdapat pula ,AS/ ... ;8. enggunaan !8 lebih umum digunakan bila terdapat pilihan yang tidak terlalu banyak dan eksekusi baris program yang panjang. -lok pertama untuk !8 dijalankan bila condition yang digunakan bernilai 7?:/, sedangkan blok /LS/ dijalankan bila nilai conditionnya adalah 8ALS/. Contoh:
uses crt; var bil1+ bil2: integer; begin clrscr; write('Masukkan bilangan 1 : '); readln(bil1); write('Masukkan bilangan 2 : '); readln(bil2);
Pengantar Bahasa Pemrograman Pascal Page ( / 11

if bil1&bil2 then begin writeln('3ilangan 1 lebih kecil'); end else begin writeln('3ilangan 2 lebih kecil'); end readke#; end$

enggunaan !8 dapat dikombinasikan sehingga suatu blok !8 dapat menampung blok !8 yang lainnya (nested selection). enggunaan !8 tidak selalu harus selalu bersama /LS/ (simple selection). !8 juga dapat digunakan lebih dari satu kondisi setelah /LS/ (linear selection) atau pada !8 yang sama menggunakan operator logika < logical operator (combined selection). ,ontohnya adalah seperti baris program di ba#ah&
if (c"nditi"n1) then begin if (c"nditi"n2) then begin statement1; stetement2; end else if (c"nditi"n4) then begin statement4; statement5; end else begin statement5; end; statement6; statement7; if (c"nditi"n5) then begin statement8; statement#; end; end else if (c"nditi"n8 9 : c"nditi"n# ;< c"nditi"n=) begin statement01; statement02; end;

enting& Ada baiknya setiap blok !8 selalu dipisahkan dan ditandai dengan spasi kosong atau menggunakan 7A- untuk menghindari kebingungan dalam pembuatan blok statement.

#angkuman #e!etition / Loo!ing


?epetition dapat digunakan untuk menjalankan suatu bagian program secara berulangulang sesuai dengan kondisi yang ada. Looping pada ascal menggunakan beberapa key#ord seperti 8;?....;, W0!L/....; dan ?/ /A7...:C7!L. )OR&&&*O dipergunakan ketika nilai yang akan digunakan sudah diketahui dengan nilai yang ada di dalamnya selalu ditambah atau dikurangi satu ketika mengalami perulangan.
Pengantar Bahasa Pemrograman Pascal Page ) / 11

Sintaks:
>;< variable :0 startinde8 (!;?:;@ !;) endinde8 :; 3ABC statement; A :;

.ari sintaks di atas, terdapat dua jenis perubahan yang dapat digunakan, yaitu 7; dan .;WC7;. 7; akan menghasilkan nilai incremental atau penambahan satu setiap kali terjadi perulangan. Sedangkan .;WC7; akan menghasilkan nilai decremental atau pengurangan satu setiap kali terjadi perulangan. Conto penggunaan )OR&&&*O:
f"r i:01 t" 10 d" begin write(i+' '); end; f"r D:010 d"wnt" 1 d" begin write(D+' '); end;

+,-L.&&&*O dapat digunakan tanpa harus ada perubahan pada nilai kondisi. Selama kondisi masih bernilai 7?:/, maka perulangan akan dilakukan terus. Sintaks:
@ECFA (c"nditi"n) :; 3ABC statement; A :;

Conto penggunaan +,-L.&&&*O:


i:010; while i>2 d" begin i:0i/2; writeln(i); end;

R.P.AT&&&/0T-L berfungsi hampir sama dengan W0!L/....;. ada ?/ /A7...:C7!L, looping akan berhenti justru ketika kondisi bernilai 7?:/. Selain itu kondisi akan diuji pada akhir perulangan sehingga blok di dalam perulangan akan dijalankan minimal satu kali #alaupun kondisi yang ada masih 8ALS/.

Pengantar Bahasa Pemrograman Pascal

Page 1* / 11

Sintaks:
<AGA9! statement; H !CF (c"nditi"n);

Conto penggunaan R.P.AT&&&/0T-L:


i:010; repeat i:0i/4; writeln(i); until i&1;

.ari penggalan program di atas, dapat dilihat bah#a ?/ /A7...:C7!L tidak memerlukan -/@!C dan /C. untuk menjalankan suatu blok statement. T-PS: @unakan 5ariabel i, j, k, dan seterusnya untuk menandai indeks perulangan atau looping.

Pengantar Bahasa Pemrograman Pascal

Page 11 / 11

Anda mungkin juga menyukai