Program Hello World yang kita gunakan sebagai contoh kode program dalam
tutorial Cara Menjalankan Kode Program Pascal (Membuat File .exe), sudah
menggunakan struktur sederhana kode pascal. Berikut saya tulis kembali contoh kode
tersebut:
1 program hello_world;
2 begin
3 writeln('Hello World');
4 writeln('Sedang belajar pascal...');
5 readln;
end.
6
Sebuah kode program pascal, diawali dengan keyword program kemudian diikuti
dengan judul program yang diinginkan (dalam contoh diatas, saya menggunakan
judul hello_world). Selanjutnya, kode program dibuka dengan perintah begin, dan
diakhiri dengan perintah end. (perhatikan tanda titik di akhir end). Diantara
begin dan end. inilah seluruh kode program pascal berada.
Perintah writeln digunakan untuk menampilkan teks (output), sedangkan
perintah readln digunakan untuk menerima masukan (input). Perintah readln pada
kode diatas saya tambahkan hanya untuk menahan jendela tampilan jendela program
ketika di-run. Anda boleh menghapus baris readln; dan mencoba men-run kode
diatas. Hasilnya hanya akan terlihat sekilas saja (tidak sampai 1 detik).
Saya akan membahas struktur kode pascal secara mendalam dalam tutorial
berikutnya.
Jika anda tidak ingin menambahkan perintah readln, bisa menggunakan alternatif
lain. Setelah program di-run (layar akan berkedip sebentar), silahkan tekan
tombol ALT+F5, atau pilih menu Debug -> User Screen.
1 PROGRAM hello_world;
2 BEGIN
3 WRITELN('Hello World');
4 WRITELN('Sedang belajar pascal...');
5 READLN;
END.
6
1
program hello_world;
2 begin
3 (* Kode untuk menampilkan tulisan 'Hello World'*)
4 writeln('Hello World');
5 { Kode untuk menampilkan tulisan 'Sedang belajar pascal...'}
6 writeln('Sedang belajar pascal...');
readln;
7 end.
8
Penulisan komentar juga bisa mencakup beberapa baris, selama tanda penutup
komentar belum di temukan:
1
2 program hello_world;
3 begin
(* Kode untuk
4 menampilkan tulisan
5 'Hello World'*)
6 writeln('Hello World');
7 { Kode untuk
8 menampilkan tulisan
'Sedang belajar pascal...'}
9 writeln('Sedang belajar pascal...');
10 readln;
11 end.
12
Selain untuk membuat keterangan, komentar juga berguna untuk menghapus
sementara sebuah kode program, seperti contoh berikut:
1
program hello_world;
2 begin
3 writeln('Hello World');
4 {writeln('Sedang serius belajar, jangan diganggu!');}
5 writeln('Sedang belajar pascal...');
readln;
6
end.
7
Cara diatas sangat berguna jika anda ingin mencoba kode program baru, tetapi
tidak ingin menghapusnya.
Khusus untuk Free Pascal, terdapat 1 lagi cara penulisan komentar, yakni
menggunakan tanda //:
1
program hello_world;
2 begin
3 writeln('Hello World');
4 // Ini adalah komentar dalam Free Pascal
5 writeln('Sedang belajar pascal...');
readln;
6
end.
7
Komentar dengan karakter // digunakan untuk membuat komentar singkat (hanya
1 baris) dan tidak memerlukan tanda penutup. Jika anda ingin membuat komentar 2
baris, maka tanda // dibuat sebanyak 2 kali pada tiap-tiap awal baris:
1
program hello_world;
2 begin
3 writeln('Hello World');
4 // Ini adalah komentar dalam Free Pascal
5 // Penulisan komentar ini tidak didukung oleh Turbo Pascal
6 writeln('Sedang belajar pascal...');
readln;
7 end.
8
Tanda komentar // sangat populer digunakan, khususnya dalam bahasa
pemrograman lain seperti C, C++, atau PHP. Akan tetapi komentar ini tidak
didukung oleh Turbo Pascal.
Penggunaan Whitespace
Whitespace adalah istilah pemrograman yang merujuk kepada tanda baca spasi
yang tidak terlihat. Contoh karakter-karakter whitespace adalah: spasi, tab dan
enter (new line). Di dalam Pascal, secara umum whitespace akan diabaikan.
Sebagai contoh, kode program hello world kita sebelumnya bisa juga ditulis seperti
berikut ini:
1 program hello_world;
2 begin
3 writeln('Hello World');
4 writeln('Sedang belajar pascal...');
5 readln;
end
6
Sekarang, kode program akan lebih mudah dibaca dan dipelajari.
writeln(Hello World);
readln(var);
writeln(4+5);
writeln(6/10);
Penulisan statement tidak harus 1 baris 1 statement, kita juga bisa menggabungkan
beberapa statement dalam 1 baris, atau memecah 1 statement ke dalam beberapa
baris, seperti contoh berikut:
Syntax adalah istilah pemrograman yang berarti aturan penulisan. Jika anda
menemui kalimat syntax error, kemungkinan besar ada kesalahan pada cara
penulisan perintah.
Fungsi, variabel dan konstanta ini akan kita bahas dalam tutorial tersendiri.
Aturan penulisan identifier adalah sebagai berikut:
nama_pengguna
luas_segitiga
PanjangLingkaran
angkatan45
NAMAKOTA
Khusus untuk Free Pascal, anda cukup copy kode program dari dalam Windows,
kemudian buka Free Pascal, pilih menu Edit -> Paste from Windows.
Jika menggunakan Turbo Pascal, kita terpaksa men-paste kode tersebut di dalam
sebuah file dengan extension .pas menggunakan notepad (misalnya: kedalam
folder belajar), kemudian buka secara manual dari dalam Turbo Pascal.
Struktur Dasar Kode Program Pascal
Pascal adalah bahasa pemrograman deklaratif dan terstruktur, yang artinya
seluruh variabel, konstanta, fungsi, dan beberapa struktur pemrograman lain harus
diperkenalkan diawal kode program dan dalam urutan yang sudah ditentukan.
Didalam pemrograman, perkenalan ini dikenal dengan istilah
deklarasi (declarations).
Struktur kode program pascal bisa dipecah menjadi 2 bagian: bagian Deklarasi dan
bagian Main Program, seperti berikut ini:
1 program nama_program;
2
3 { bagian deklarasi }
4
5 begin
6
7 { main program }
8
end.
9
Bagian Deklarasi terdiri dari beberapa jenis kode program, yakni:
Perintah Uses
Deklarasi Type
Deklarasi Konstanta (constant)
Deklarasi Variabel (variable)
Deklarasi Fungsi (function)
Deklarasi Prosedur (procedure)
Sedangkan Main Program nantinya akan berisi kode program utama. Penjelasan
mengenai fungsi masing-masing deklarasi akan kita lihat sekilas, dan akan dibahas
secara mendalam dalam tutorial terpisah.
Agar lebih mudah memahami fungsi dari masing-masing deklarasi tersebut, saya akan
membuat kode program menghitung luas dan keliling segitiga. Anda tidak perlu
memahami kode-kode yang ada karena kita memang belum membahasnya, silahkan
perhatikan pada penulisan struktur saja.
Berikut contoh kode menghitung luas dan keliling segitiga menggunakan pascal:
program hitung_lingkaran;
1
2 uses
3 crt;
4
5 type
6 warna=(merah, kuning, biru);
7
8 const
PI=3.14;
9
10 var
11 jari2:integer=7;
12 warna_lingkaran:warna=merah;
13
14 function luas_lingkaran:real;
15 begin
luas_lingkaran:=PI*jari2*jari2;
16 end;
17
18 procedure kel_lingkaran(jari2:integer);
19 begin
20 write('Keliling Lingkaran = ');
21 writeln(PI*(jari2+jari2):4:2, ' cm');
end;
22
23 begin
24 clrscr;
25 writeln('==PROGRAM MENGHITUNG LUAS LINGKARAN==');
writeln('==---------------------------------==');
26 writeln('Diketahui: jari-jari lingkaran = ',jari2,' cm');
27 writeln('Warna Lingkaran = ',warna_lingkaran);
28 writeln('Luas Lingkaran = ',luas_lingkaran:4:2, ' cm');
29 kel_lingkaran(jari2);
readln;
30 end.
31
32
33
34
35
36
Kode program diatas cukup panjang, namun sekali lagi anda tidak perlu
memahaminya. Saya akan membahas kode-kode diatas dalam tutorial pascal lainnya.
Kali ini kita hanya fokus kepada struktur program. Berikut penjelasannya dari struktur
diatas:
Perintah Uses
Uses adalah cara bahasa pemrograman pascal untuk memasukkan kode-kode external
yang dikenal dengan unit (atau library dalam bahasa pemrograman lain). Sebagai
contoh, perintah clrscr yang saya gunakan pada program utama merupakan perintah
yang ada pada unit crt. Terdapat berbagai unit yang bisa kita gunakan, seperti math,
sysutils, printer, dan strutils.
Ketersediaan unit ini berbeda-beda untuk masing-masing aplikasi. Compiler Free
Pascal memiliki unit yang lebih banyak dari pada Turbo Pascal karena masih aktif
dikembangkan hingga sekarang.
Deklarasi Type
Pada bagian deklarasi Type, kita bisa membuat tipe data bentukan. Sebagai contoh,
dalam kode diatas saya membuat tipe data warna, dimana tipe data ini hanya bisa
diisi dengan nilai merah, kuning, atau biru.
Dalam penulisan angka, tanda koma digunakan sebagai pemisah ribuan, sedangkan
tanda titik digunakan untuk pemisah desimal. Ini berlaku dalam hampir semua
bahasa pemrograman komputer lainnya, seperti C, C++, PHP, dan Java
Perintah clrscr akan menghapus kode-kode diatasnya, sehingga tampilan output akan
bersih.
Jika anda menggunakan Turbo Pascal 1.5 for Windows, perintah clrscr ditulis
dengan uses wincrt, bukan uses crt.
Sebuah kode program pascal tidak harus menggunakan seluruh struktur diatas,
contohnya kode program Hello World yang kita jalankan pada tutorial sebelumnya
tidak menggunakan struktur ini sama sekali. Kita akan mempelajari lebih dalam
mengenai masing-masing struktur ini dalam tutorial tersendiri.
Pengertian Variabel
Variabel adalah penanda identitas yang digunakan untuk menampung suatu nilai.
Nilai tersebut dapat diubah sepanjang kode program. Secara teknis, variabel merujuk
kepada suatu alamat di memory komputer. Setiap variabel memiliki nama yang
sebagai identitas variabel tersebut.
Dalam matematika, konsep variabel biasanya menggunakan x atau y, seperti
persamaan berikut:
x=y+2
Disini, nilai x dan y bisa diisi dengan angka apapun (walaupun dalam persamaan
diatas, nilai x bergantung kepada nilai y).
Di dalam pemrograman, nilai variabel bisa berubah dari waktu ke waktu, tergantung
kebutuhkan. Sebagai contoh, jika saya membuat program menghitung luas lingkaran,
saya bisa membuat variabel jari2 dan mengisinya dengan nilai 7, kemudian di
dalam kode program, saya bisa mengubah nilainya menjadi 8, 10 atau 1000.
Terdapat 4 tipe data dasar di dalam Pascal. Keempat tipe data ini dikenal juga sebagai
tipe data scalar :
Integer: tipe data berupa angka bulat, seperti 1,2,5,9,1000 atau 476563.
Real: tipe data yang berisi angka desimal (pecahan), seperti 22.7, 3.14, atau
0.006
Char: tipe data yang berisi huruf, seperti a, A, C atau z.
Boolean: tipe data yang hanya berisi 2 nilai, true atau false.
Selain itu, Pascal juga menyediakan 8 tipe data tambahan:
String: tipe data yang berisi kumpulan karakter, seperti aku, kamu atau
belajar pascal di duniailkom.
Enumerated: tipe data bentukan yang bisa didefenisikan sendiri. Sebagai
contoh kita bisa membuat tipe data warna yang terdiri dari nama-nama warna.
Subrange: tipe data bentukan yang berisi bagian dari tipe data lain. Sebagai
contoh, kita bisa membuat tipe data angka_kecil yang hanya berisi angka 1 9
(merupakan bagian dari tipe data integer)
Array: tipe data yang terdiri dari banyak variabel, sebagai contoh kita bisa
membuat nama siswa sebagai array siswa, dan variabel penyusunnya adalah
siswa[1], siswa[2], siswa[3], dst.
Record: tipe data bentukan yang bisa berisi berbagai tipe data. Record untuk
siswa bisa terdiri dari nama, alamat, tinggi_badan, dll.
Set: tipe data yang mirip dengan subrange, tetapi bisa digunakan untuk operasi
himpunan seperti gabungan, irisan, bagian, dll.
File: tipe data yang digunakan untuk mengakses file atau dokumen.
Pointer: tipe data khusus yang merujuk kepada sebuah alamat di memory.
Gambar dibawah ini memperlihatkan jenis-jenis tipe data dan pembagiannya
(sumber: tutorialspoint.com):
Penjelasan lebih lanjut mengenai penggunaan tipe data diatas akan dibahas dalam
tutorial tersendiri.
panjang_persegi
angkatan99
AnGKa
1 var
2 nama_variabel:tipe_data;
Perhatikan bahwa penulisan nama variabel dengan tipe datanya dipisah oleh
karakter titik dua : . Diakhir deklarasi juga ditutup dengan karakter titik koma ;
Berikut contohnya di dalam kode pascal:
1 var
2 nama: string;
3 umur: integer;
4 alamat: string;
Pascal juga membolehkan deklarasi variabel untuk tipe data yang sama dalam 1 baris
(dipisahkan dengan tanda koma , ):
1 var
3 umur: integer;
1 nama_variabel := nilai;
Perhatikan bahwa untuk memberikan nilai, pascal menggunakan karakter titik dua
sama dengan yakni := . Di dalam pemrograman, proses pemberian nilai ini dikenal
dengan istilah assignment, dan tanda := disebut juga dengan operator
assignment di dalam pascal.
Proses assignment dibaca dari kanan ke kiri. Perhatikan kode berikut:
1 nama := 'Andika';
Kode diatas berarti kita memberikan nilai Andika kedalam variabel nama.
1 nama:string='Andika';
2 umur:integer:19;
Update: Sepertinya perintah gabungan deklarasi dan assignment ini tidak bisa
berjalan di Turbo Pascal 7, namun tidak masalah dengan FreePascal. Oleh karena itu
jika anda menggunakan Turbo Pascal 7, perintah diatas akan menghasilkan error
2 writeln(umur);
1 program biodata;
2 uses crt;
4 var
5 nama,alamat:string;
6 umur:integer=19;
8
begin
9
clrscr;
10
11
nama:='Andika';
12
alamat:='Jl. Kemerdekaan no.9';
13
umur:=17;
14
15
writeln(nama);
16 writeln(umur);
17 writeln(alamat);
18 writeln(sekolah);
19 readln;
end.
20
21
Dalam kode diatas saya membuat beberapa variabel, memberikan nilai kepada
variabel tersebut, kemudian menampilkannya.
Pada baris ke-5 saya membuat 2 variabel: nama dan alamat. Kedua variabel ini
bertipe string.
Pada baris ke-6, variabel umur dideklarasikan dengan tipe integer, kemudian
langsung diberikan nilai 19. Dengan kata lain, variabel umur di-inisialisasi dengan
nilai integer 19.
Baris selanjutnya saya juga men-inisialisasi variabel sekolah dengan nilai
string SMA 1 Durian Runtuh.
Dalam program utama (main program), pada baris 12 dan 13 saya men-
assigment variabel nama dan alamat dengan nilai masing-masing. Di baris 14, saya
juga memberi nilai 17 ke dalam variabel umur. Perhatikan bahwa variabel umur juga
telah saya isi dengan nilai 19 pada saat inisialisasi, sehingga nilai dalam variabel umur
akan ditimpa dengan nilai baru.
Sebagai percobaan, anda bisa memberikan nilai sembilan belas kepada
variabel umur. Hasilnya? Seperti yang bisa ditebak, pascal akan komplain dan
mengeluarkan error, karena kita mencoba mengisi variabel umur yang bertipe
integer dengan nilai string sembilan belas. Dalam bahasa pemrograman pascal,
setiap variabel hanya bisa diisi dengan nilai yang sesuai dengan tipe datanya.
Update: Pada contoh diatas, saya menggunakan compiler Free Pascal. Jika anda
menggunakan Turbo Pascal 7, ini akan menghasilkan error, karena Turbo Pascal
tidak mendukung penggabungan perintah deklarasi dan assignment.
4
var
5
nama,alamat:string;
6
umur:integer;
7
sekolah:string;
8
9 begin
10 clrscr;
11
12 nama:='Andika';
14 umur:=17;
16
writeln(nama);
17
writeln(umur);
18
writeln(alamat);
19
writeln(sekolah);
20
readln;
21 end.
22
Dalam tutorial kali ini kita telah mempelajari pengertian variabel dan cara penulisan
variabel di pascal. Dalam tutorial selanjutnya, kita akan membahas tentang pengertian
konstanta dan cara penulisan konstanta di pascal.
Fungsi & Perbedaan write dan writeln
Write dan writeln sama-sama digunakan untuk menampilkan sesuatu dari dalam
kode pascal ke jendela tampilan, atau dalam istilah pemrograman digunakan sebagai
perintah ouput. Perbedaan antara write dan writeln terletak pada apakah output
selanjutnya ditampilkan pada baris yang sama, atau di baris baru.
Perintah write akan menampilkan output, kemudian menyambung tampilan
berikutnya dibaris yang sama (cursor teks tetap berada di baris yang sama).
Sedangkan perintah writeln akan menampilkan output, kemudian menyambung
tampilan berikutnya di baris baru (cursor teks akan pindah ke baris baru).
Data-ouput ini bisa berupa teks, variabel, konstanta, dll. Agar lebih mudah dipahami,
berikut contoh kode program yang memperlihatkan perbedaan kedua perintah ini:
1
2
program tampil;
3 uses crt;
4
5 begin
6 clrscr;
7 write('Nama : ');
8 writeln('Alex');
9
writeln('Nama: ');
10 writeln('Anto');
11
12 write('D');
13 write('u');
14 write('n');
15 write('i');
write('a');
16
17 writeln('i');
18 writeln('l');
19 writeln('k');
20 writeln('o');
writeln('m');
21
22
readln;
23 end.
24
25
Hasil kode program:
Nama : Alex
Nama:
Anto
Duniai
l
k
o
m
Dapat dilihat hasil kode program pada baris 6 dan 7 ditampilkan dalam 1 baris. Ini
karena perintah write akan membuat teks berikutnya tetap di baris yang sama.
Hasil tampilan juga memperlihatkan kata duniai, bukan dunia seperti yang
diinginkan. Ini terjadi karena perintah writeln hanya akan memindahkan teks
selanjutnya ke baris baru, bukan teks saat ini.
Seraca teknis, perintah writeln akan menambahkan karakter carriage return dan line
feed diakhir baris. Kedua karakter ini digunakan pada Windows untuk menandai akhir
sebuah baris (instruksi untuk pindah ke baris berikutnya). Di dalam sistem Unix
(Linux), perintah writeln hanya akan menambahkan karakter Line feed saja.
Oleh karena itu, perintah writeln juga digunakan untuk pindah baris, tanpa perlu
menulis teks apapun, dan ditulis sebagai:
writeln;
Nama : Joni
Umur : 17
Kota : Ambon
IPK : 3
Pada kode program diatas saya membuat 1 konstanta dan 2 variabel.
1 program tampil;
uses crt;
2 var
3 angka_int:integer=12345;
4 angka_real:real=1234.123456;
5 begin
clrscr;
6
7
writeln(angka_int);
8 writeln(angka_int:4);
9 writeln(angka_int:8);
10
11 writeln(angka_real);
12 writeln(angka_real:4:2);
writeln(angka_real:2:4);
13 readln;
14 end.
15
16
17
Hasil kode program:
12345
12345
12345
1.23412345600000E+003
1234.12
1234.1235
Pada contoh diatas, saya membuat 2 variabel: angka_integer dan angka_real. Kedua
variabel ini kemudian di beri nilai awal.
Dalam baris 11, perintah angka_int:8 akan membuat hasil tampilan sedikit
menjorok ke dalam, ini karena pascal menyediakan 8 digit tempat untuk angka_int.
Tetapi karena variabel angka_int hanya terdiri dari 6 digit, maka pascal akan
menambah 2 buah spasi didepan angka tersebut.
Pada baris 12 saya menulis angka_int:4, yang bermaksud
agar angka_int ditampilkan dengan jumlah digit 4. Namun karena angka_int terdiri
dari 6 digit, perintah ini akan diabaikan.
Variabel angka_real saya inisialisai dengan nilai 1234.123456 namun pada saat
ditampilkan hasilnya menjadi 1.23412345600000E+003. Ini adalah tampilan normal
pascal untuk tipe data real. Dalam matematika, penulisan ini dinamakan
dengan notasi ilmiah (scientific notation). Saya akan membahas tentang tipe
data real dalam tutorial terpisah.
Untuk memperindah tampilan notasi ilmiah ini, bisa menggunakan format perintah: