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. Pendistribusian dari e-book ini harus melampirkan setiap halaman yang ada di dalam e-book, termasuk pula halaman License Agreements ini. Isi dari buku ini tidak boleh diubah tanpa persetujuan dari penulis. Penulis harus mengetahui setiap perubahan yang akan dibuat oleh pihak ketiga terhadap isi e-book ini. Melalui 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 jawab sehingga penulis tersebut tidak mendapat credit atau penghargaan atas karyanya sendiri. Selain hal di atas, pembaca juga harus menyetujui paling tidak 3 hal dari 5 hal yang ada di bawah ini: 1. Pembaca setuju untuk mengurangi penggunaan kendaraan pribadi sebanyak 30% atau lebih. 2. Pembaca setuju untuk menghemat listrik dalam kegiatan sehari-hari. 3. Pembaca setuju untuk menghemat penggunaan air dalam kegiatan sehari-hari. 4. Pembaca setuju untuk membuang sampah pada tempat yang benar. :) 5. Pembaca setuju untuk membuat suatu karya digital sebagai bentuk dukungan terhadap Comptius dan mungkin akan diperlombakan. Bila anda tidak menyetujui isi dari Copyright 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 Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman tingkat tinggi menandakan bahwa Pascal banyak menggunakan bahasa manusia dalam penulisan sintaksnya. Beberapa bahasa pemrograman tingkat tinggi lainnya yang ada yaitu BASIC dan DELPHI. Sedangkan bahasa pemrograman tingkat rendah yaitu bahasa pemrograman yang masih banyak menggunakan tanda-tanda sehingga bahasa ini cenderung lebih “kotor”. Beberapa bahasa pemrograman tingkat rendah yang sering digunakan adalah C, C++ dan Java. Mari kita melihat perbedaan antara bahasa Pascal dan C 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('Nilai a lebih besar dari 5'); writeln('Tekan sembarang tombol untuk keluar'); end else begin writeln('Nilai a lebih kecil atau sama dengan 5'); writeln('Tekan sembarang tombol untuk keluar'); end; readkey; end.
C #include <stdio.h> #include
int a; void main() { clrscr(); printf(“Masukkan nilai antara 0 sampai 100 : “); scanf(“%d”, &a); if (a > 5) { printf(“Nilai a lebih besar dari 5\nTekan sembarang tombol untuk keluar”); } else {
Pengantar Bahasa Pemrograman Pascal
Page 3 / 11
printf(“Nilai a lebih kecil atau sama dengan 5\nTekan sembarang tombol untuk keluar”); } getch(); }
Dua penggalan program di atas akan menghasilkan program yang sama persis yaitu meminta sebuah input berupa angka antara 0 sampai 100. Kemudian sebuah tulisan akan muncul tergantung dari nilai input yang dimasukkan. Dari 2 bahasa tersebut, dapat dilihat bahwa dalam bahasa Pascal lebih sederhana dan lebih banyak menggunakan bahasa manusia. Sedangkan dalam bahasa C, lebih banyak penggunaan simbol. Turbo Pascal dan C merupakan program compiler. Compiler sendiri berarti program yang menerjemahkan tulisan berupa kode program menjadi bahasa mesin yang dapat dimengerti oleh komputer. Proses yang dilakukan disebut compile atau compiling. Suatu program dapat di-compile dengan menggunakan kombinasi tombol Alt + F9. Sedangkan untuk menjalankan program, tombol yang dapat digunakan adalah Ctrl + F9. Bila selama proses compile terdapat error atau kesalahan dalam penulisan program, maka Turbo Pascal atau C akan memberitahukan letak kesalahan tersebut sehingga pengguna dapat memperbaikinya di halaman editor. Turbo Pascal merupakan bahasa yang case insensitive yang berarti penulisan dalam huruf kapital maupun huruf kecil tidak dipermasalahkan. Akan tetapi pada C yang case sensitive, maka penulisan huruf kapital atau kecil harus benar-benar diperhatikan. Untuk pembahasan berikutnya, kita akan menggunakan program Turbo Pascal dengan bahasa pemrograman Pascal sebagai pengantar contoh. Perlu diingat bahwa 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. Oleh sebab itu, pada pembahasan yang selanjutnya, yang akan ditekankan adalah algoritma dan logika, bukan sintaks dan function / procedure yang terdapat dalam Turbo Pascal. Function atau procedure yang telah disediakan oleh Turbo Pascal dapat anda pelajari sendiri penggunaannya melalui Help yang terdapat di Turbo Pascal.
Pengantar Bahasa Pemrograman Pascal
Page 4 / 11
Struktur kode Pada setiap kode pemrograman, terdapat aturan yang harus dipatuhi agar program tersebut dapat menjalankan (compile) suatu program dengan baik tanpa error. Struktur utama pada Turbo Pascal adalah sebagai berikut. program
... ; {deklarasi nama program}
uses
... ; {deklarasi penggunaan unit}
label
... ; {deklarasi label}
const
... ; {deklarasi konstant}
type
... ; {deklarasi tipe data}
var
... ; {deklarasi variabel}
procedure
... ; {deklarasi procedure}
function
... ; {deklarasi function}
begin statement;
{program ditulis di sini}
... end.
Tulisan yang diapit oleh tanda kurung kurawal {} adalah comment dan tidak dianggap sebagai bagian program ketika di-compile oleh compiler. Pada baris pertama, anda dapat mendeklrasikan nama program. Umumnya untuk mengefisiensikan pengerjaan suatu program (khususnya pada lomba), baris pertama dapat diacuhkan atau dilewatkan. Baris kedua yaitu “USES” merupakan deklarasi penggunaan unit dalam Turbo Pascal. Unit merupakan bagian dari program yang berisi kumpulan function dan procedure. Contoh fungsi yang banyak digunakan adalah CRT, dengan function yang terdapat di dalamnya yaitu clrscr dan readkey. Anda dapat menjalankan suatu program tanpa menggunakan USES, akan tetapi anda hanya dapat menggunakan function dan procedure yang sudah terkandung secara native dalam Turbo Pascal. Contohnya anda tidak dapat menggunakan clrscr atau readkey tanpa CRT, tetapi bisa menggunakan writeln dan readln tanpa CRT tersebut karena CRT merupakan unit untuk pengolahan output ke layar dan input dari keyboard. Label digunakan bersamaan dengan keyword GOTO. GOTO sendiri jarang digunakan karena tidak efisien dan cenderung membingungkan penggunanya. Const digunakan untuk mendeklarasikan suatu konstan. Konstan merupakan suatu keyword yang memiliki nilai tertentu. Misalnya bila anda mendeklrasikan PI sebagai 3.14, maka ketika anda menggunakan PI pada baris program, PI akan digantikan dengan 3.14. Type digunakan untuk mendeklarasikan suatu tipe data baru dari tipe data yang sudah ada Pengantar Bahasa Pemrograman Pascal
Page 5 / 11
sebelumnya. Berguna ketika harus menggunakan pointer. Var digunakan untuk mendeklarasikan suatu variabel. Variabel yang dideklarasikan harus memiliki tipe data tertentu. Penjelasan dalam penggunaan variabel akan dibahas di bagian berikutnya. Procedure dan function merupakan sub-program. Procedure tidak mengembalikan nilai, sedangkan function mengembalikan nilai. Procedure dan function mengandung suatu penggalan program yang dapat dipanggil oleh program utama atau sub-program yang lainnya. Bila anda belum mengerti maksud dari “mengembalikan nilai” maka anda dapat membayangkan bahwa hasil dari function dapat dimasukkan ke dalam suatu variabel atau menghasilkan suatu nilai, sedangkan procedure hanya menjalankan suatu potongan program. Contoh procedure adalah writeln dan clrscr karena kedua procedure tersebut tidak mengembalikan nilai apapun. Sedangkan contoh function adalah “sqrt” yang akan mengembalikan nilai berupa akar kuadrat dari bilangan yang dimasukkan. Sebagai informasi: “procedure” adalah istilah yang digunakan pada Pascal. Pada bahasa pemrograman yang lainnya, biasa disebut “function yang tidak mengembalikan nilai” atau “void function”. Program utama yang akan dijalankan oleh Turbo Pascal dapat ditulis diantara BEGIN sampai dengan END.
Variabel dan tipe data Terdapat beberapa tipe data yang dapat dipergunakan dalam suatu variabel, di antaranya adalah (beserta range yang dapat diterima): Integer Integer (-2^15 sampai 2^15), word (0 sampai 2^16), shortint (-2^7 sampai 2^7), byte (0 sampai 2^7), longint (-2^23 sampai 2^23) Float / Real Real (6 byte), singel (4 byte), double (8 byte), extended (10 byte), comp (8 byte) Boolean Bernilai TRUE atau FALSE (1 atau 0) Char Merupakan integer yang telah dikonversikan ke kode ASCII.
Pengantar Bahasa Pemrograman Pascal
Page 6 / 11
Array Merupakan deretan suatu variabel yang bertipe data sama. Pembahasan yang lebih lengkap akan terdapat di bagian tersendiri. String merupakan array dari char.
Algoritma dasar Pada dasarnya terdapat beberapa algoritma yang harus dikuasai dalam pemrograman yaitu: 1. Operator 2. Input/output: Bagaimana meminta suatu input dan menampilkan suatu output. 3. Selection: Bagaimana membuat program yang dapat memilih bagian yang akan dijalankan. 4. Repetition / looping: Bagaimana membuat program yang dapat mengulang suatu bagian program yang dijalankan.
Rangkuman operator Dalam bahasa pemrograman, sebuah proses dibagi menjadi 2 yaitu operand dan operator. Operand dapat berupa variabel atau nilai. Sedangkan operator merupakan tanda-tanda yang dipakai untuk mengolah. Terdapat banyak jenis operator, tapi 4 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 variabel. Arithmatic operator ditandai dengan *, /, +, -, div, mod. Digunakan untuk pengolahan nilai matematika. Comparison / Relational operator ditandai dengan =, <, >, <=, >=, <>, dan IN. Digunakan untuk perbandingan 2 nilai sehingga menghasilkan nilai true dan false. Logical operator ditandai dengan AND, OR, XOR dan NOT. Digunakan untuk perbandingan logika antara dua pernyataan atau lebih. Penting: penggunaan = dan := harus diperhatikan karena penggunaan operator ini terkadang salah tempat.
Input Output: Terdapat 2 jenis input/output secara umum yaitu layar/keyboard dan file. Pengantar Bahasa Pemrograman Pascal
Page 7 / 11
Input menggunakan readln() dan read(). Dalam penggunaan melalui keyboard, kedua procedure ini tidak berbeda. Akan tetapi bila input berasal dari file, kedua procedure akan berbeda dalam mengambil input. Readln() akan mengambil input dalam suatu baris, kemudian cursor akan dipindahkan ke baris selanjutnya. Pada read() akan mengambil input dalam suatu baris, kemudian cursor akan dipindahkan ke sebelah bagian yang diinput. Bila tidak ada lagi bagian yang dapat diinput, maka cursor baru dipindah ke bawah. Output menggunakan writeln() dan write(). Penggunaannya hampir sama dengan yang read() dan readln(). Pada writeln dan write, keduanya akan berpengaruh baik di file maupun di layar. Contoh program: uses crt; var a,b: integer; begin clrscr; write('Masukkan bilangan antara 1 - 100: '); readln(a); b:= a * 2; writeln('Bilangan yang dimasukkan adalah ', a); writeln('Bilangan setelah dikali 2 adalah ', b); readkey; end.
Rangkuman Selection Selection merupakan salah satu proses program di samping sequential (pengerjaan secara berurut) dan repetition / looping. Dalam selection, program akan memilih bagian yang akan dijalankan (sehingga terdapat bagian yang tak dijalankan). Umumnya selection menggunakan IF ... THEN ... ELSE ..., akan tetapi terdapat pula CASE ... OF. Penggunaan IF lebih umum digunakan bila terdapat pilihan yang tidak terlalu banyak dan eksekusi baris program yang panjang. Blok pertama untuk IF dijalankan bila condition yang digunakan bernilai TRUE, sedangkan blok ELSE dijalankan bila nilai conditionnya adalah FALSE. 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 8 / 11
if bil1
Penggunaan IF dapat dikombinasikan sehingga suatu blok IF dapat menampung blok IF yang lainnya (nested selection). Penggunaan IF tidak selalu harus selalu bersama ELSE (simple selection). IF juga dapat digunakan lebih dari satu kondisi setelah ELSE (linear selection) atau pada IF yang sama menggunakan operator logika / logical operator (combined selection). Contohnya adalah seperti baris program di bawah: if (condition1) then begin if (condition2) then begin statement1; stetement2; end else if (condition3) then begin statement3; statement4; end else begin statement5; end; statement6; statement7; if (condition4) then begin statementx; statementy; end; end else if (conditionx AND conditiony OR conditionz) begin statement01; statement02; end;
Penting: Ada baiknya setiap blok IF selalu dipisahkan dan ditandai dengan spasi kosong atau menggunakan TAB untuk menghindari kebingungan dalam pembuatan blok statement.
Rangkuman Repetition / Looping Repetition dapat digunakan untuk menjalankan suatu bagian program secara berulangulang sesuai dengan kondisi yang ada. Looping pada Pascal menggunakan beberapa keyword seperti FOR...DO, WHILE...DO dan REPEAT...UNTIL. FOR...DO 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 9 / 11
Sintaks: FOR variable := startindex (TO/DOWNTO) endindex DO BEGIN statement; END;
Dari sintaks di atas, terdapat dua jenis perubahan yang dapat digunakan, yaitu TO dan DOWNTO. TO akan menghasilkan nilai incremental atau penambahan satu setiap kali terjadi perulangan. Sedangkan DOWNTO akan menghasilkan nilai decremental atau pengurangan satu setiap kali terjadi perulangan. Contoh penggunaan FOR...DO: for i:=1 to 10 do begin write(i,' '); end; for j:=10 downto 1 do begin write(j,' '); end;
WHILE...DO dapat digunakan tanpa harus ada perubahan pada nilai kondisi. Selama kondisi masih bernilai TRUE, maka perulangan akan dilakukan terus. Sintaks: WHILE (condition) DO BEGIN statement; END;
Contoh penggunaan WHILE...DO: i:=10; while i>2 do begin i:=i-2; writeln(i); end;
REPEAT...UNTIL berfungsi hampir sama dengan WHILE...DO. Pada REPEAT...UNTIL, looping akan berhenti justru ketika kondisi bernilai TRUE. Selain itu kondisi akan diuji pada akhir perulangan sehingga blok di dalam perulangan akan dijalankan minimal satu kali walaupun kondisi yang ada masih FALSE.
Pengantar Bahasa Pemrograman Pascal
Page 10 / 11
Sintaks: REPEAT statement; UNTIL (condition);
Contoh penggunaan REPEAT...UNTIL: i:=10; repeat i:=i-3; writeln(i); until i<1;
Dari penggalan program di atas, dapat dilihat bahwa REPEAT...UNTIL tidak memerlukan BEGIN dan END untuk menjalankan suatu blok statement. TIPS: Gunakan variabel i, j, k, dan seterusnya untuk menandai indeks perulangan atau looping.
Pengantar Bahasa Pemrograman Pascal
Page 11 / 11