0% menganggap dokumen ini bermanfaat (0 suara)
684 tayangan277 halaman

Panduan Instalasi Free Pascal dan Turbo Pascal

Tutorial menjelaskan cara menginstal dan mengkonfigurasi Free Pascal untuk menjalankan kode program Pascal, termasuk mengubah ukuran jendela dan font untuk meningkatkan pengalaman pengguna.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
684 tayangan277 halaman

Panduan Instalasi Free Pascal dan Turbo Pascal

Tutorial menjelaskan cara menginstal dan mengkonfigurasi Free Pascal untuk menjalankan kode program Pascal, termasuk mengubah ukuran jendela dan font untuk meningkatkan pengalaman pengguna.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

Cara Install Free Pascal dan Turbo Pascal

Dalam 2 tutorial ini akan dibahas langkah demi langkah untuk mendownload dan menginstall
aplikasi untuk menjalankan kode program pascal, yakni Free Pascal dan Turbo Pascal 7.

Tutorial Belajar Pascal Part 3: Cara


Mendownload dan Menginstall Compiler
Free Pascal
Seperti yang telah kita bahas pada 2 tutorial sebelumnya, untuk menjalankan kode program
Pascal kita harus menggunakan aplikasi yang dinamakan compiler pascal. Terdapat 2
alternatif pilihan, menggunakan aplikasi Free Pascal atau menggunakan Turbo
Pascal dengan bantuan DOSBox.
Karena proses instalasi Free Pascal adalah yang paling mudah, maka saya akan
membahasnya terlebih dahulu. Jika anda ingin menggunakan Turbo Pascal, silahkan lanjut ke
tutorial berikutnya.

Pada tutorial belajar pascal kali ini kita mendownload dan menginstall compiler Free
Pascalkedalam sistem operasi Windows.

Mendownload Free Pascal


Aplikasi Free Pascal bisa didapat secara gratis melalui situs resminya pada
alamat [Link] Untuk mengunduh aplikasi ini, klik menu Download pada
bagian atas situs.

Kemudian pilih sistem operasi:


Langkah selanjutnya, pilih alamat mirror untuk memulai proses download. Anda bisa
memilih alamat manapun, kali ini saya menggunakan mirror dari SourceForge:
Pada halaman SourceForge, tinggal klik link pada bagian atas untuk mendownload aplikasi
Free Pascal. Jika anda menggunakan Windows, bisa juga langsung mendownloadnya
dari SourceForge melalui link
berikut: [Link]
Aplikasi Free Pascal berukuran sekitar 40 MB. Pada saat tutorial ini ditulis, versi terakhir
Free Pascal adalah versi 2.6.4.
Free Pascal tersedia untuk berbagai sistem operasi populer seperti Windows, Linux dan Mac
OS. Dan juga bisa dijalankan untuk perangkat yang ‘tidak lazim’ seperti Nintendo DS,
Nintendo Wii, danGame Boy Advance.

Cara Instalasi Free Pascal


Secara garis besar, proses instalasi Free Pascal mirip dengan aplikasi lainnya, namun saya
menambahkan beberapa setingan opsional agar pembuatan kode program dengan Free Pascal
lebih user friendly.
Dalam tutorial ini saya menggunakan sistem operasi Windows 7 64-bit. Saat ini Free Pascal
tidak membedakan file instalasi untuk sistem 32-bit maupun 64-bit, sehingga tidak menjadi
masalah jika anda menggunakan Windows 7 32-bit maupun Windows Vista 32-bit.

File Free Pascal yang saya unduh bernama [Link]. Kemungkinan besar
nama file yang anda gunakan akan sedikit berbeda, terutama jika terdapat versi baru.
Setelah file instalasi Free Pascal tersedia, silahkan double klik file tersebut untuk memulai
proses instalasi.
Pada jendela “Welcome to the Free Pascal Setup Wizard”, klik Next untuk melanjutkan.

Jendela kedua “Select Destination Location”, kita bisa mengatur lokasi folder instalasi Free
Pascal. Secara default, folder yang akan digunakan berada di C:\FPC\2.6.4. Anda bisa
mengubah lokasi folder ini agar mudah diakses, seperti C:\FreePascal, atau C:\Pascal.
Pemilihan lokasi ini tidak berpengaruh apa-apa ketika menjalankan aplikasi nantinya.
Kali ini saya akan membiarkan lokasi default pada C:\FPC\2.6.4. Klik Next untuk
melanjutkan.

Jendela ketiga adalah “Select Components”. Pada bagian ini kita bisa memilih jenis instalasi
Free Pascal, yakni Full Instalation, Minimum Instalation atau Custom Instalation. Apabila
anda tidak memiliki masalah dengan kapasitas harddisk, saya menyarankan menggunakan
pilihan default: Full Instalation. Klik Next untuk melanjutkan.

Ukuran folder Free Pascal setelah proses instalasi berkisar sekitar 150 MB
Jendela berikutnya adalah “Select Start Menu Folder”. Pada bagian ini kita bisa mengubah
nama shortcut Free Pascal sewaktu diakses melalui Start Menu. Saya membiarkan pilihan
yang ada dan klik Next.

Jendela “Select Additional Tasks” berguna untuk mengatur beberapa konfigurasi seperti file
assosiation, membuat shorcut, dan konfigurasi compiler. Khusus pada menu file assosiation,
terdapat pilihan untuk men-checklist Associate .pas files with Free Pascal
IDE dan Associate .dpr files with Free Pascal IDE.
Extension .pas adalah extension file yang digunakan untuk membuat kode program pascal.
Sebagai contoh, kode program untuk menghitung luas segitiga bisa diberi
nama luas_segitiga.pas, atau [Link].
Dengan memilih pilihan Associate .pas files with Free Pascal IDE, maka ketika kita men-
double klik file tersebut dari Windows Explorer, kode program akan langsung ditampilkan di
dalam Free Pascal. Anda boleh memilih pilihan ini agar lebih mudah ketika mengedit kode
program. Klik Next untuk melanjutkan.

Jendela terakhir adalah “Ready to Install”. Pada bagian ini akan diperlihatkan pilihan-pilihan
konfigurasi yang telah dipilih. Jika semuanya sesuai, klik tombol Install untuk memulai
proses instalasi.
Tergantung kecepatan komputer, proses instalasi akan berjalan beberapa saat. Jika sudah
selesai, akan tampil jendela “Information”. Jendela ini berisi informasi mengenai versi Free
Pascal dan fitur-fitur baru yang ditambahkan. Klik Next untuk melanjutkan.
Jika jendela “Completing the Free Pascal Setup Wizard” telah tampil, maka proses
instalasi Free Pascal sudah selesai. Klik Tombol Finish untuk mengakhiri.
Apabila anda langsung menuju tampilan desktop, akan terlihat sebuah shortcut bernama Free
Pascal IDE. Silahkan double klik icon ini untuk menjalankan aplikasi Free Pascal.

IDE adalah singkatan dari Integrated Development Environment, yakni sebuah lingkungan
pengembangan software yang terintegrasi. Sebuah aplikasi IDE biasanya terdiri dari code
editor, compiler, debugger, dan beberapa fasilitas lain untuk memudahkan pembuatan
program komputer.
Sampai disini, aplikasi Free Pascal telah terinstall dengan sempurna, dan anda bisa mulai
membuat kode program pascal. Jika anda pernah menggunakan Turbo Pascal sebelumnya,
terlihat tampilan Free Pascal sama persis dengan Turbo Pascal (kecuali tambahan gambar
artwork “FPC” yang cukup mempesona).

Akan tetapi, seperti yang terlihat, jendela aplikasi Free Pascal dan font yang digunakan cukup
kecil. Saya akan melakukan beberapa setingan agar tampilan Free Pascal lebih user friendly.

Mengubah Ukuran Jendela Free Pascal


Hal pertama yang ingin saya lakukan ketika pertama kali menjalankan Free Pascal adalah
memperbesar ukuran jendela aplikasi. Namun tidak seperti jendela aplikasi pada umumnya,
kita tidak bisa memperbesar jendela Free Pascal menggunakan tombol maximize maupun
dengan menyeret (drag) sisi tepi jendela. Jendela Free Pascal mirip dengan
aplikasi Command Prompt(cmd) Windows, sehingga perlu pengaturan khusus untuk hal ini.
Untuk mengatur ukuran aplikasi, klik kanan pada bingkai atas jendela, lalu pilih Properties.
Pada jendela Properties ini, klik tab Layout. Bagian layout terdiri dari 3 pilihan: Screen
Buffer Size, Window Size, dan Window Position.
Setingan Window Size inilah yang bisa digunakan untuk memperbesar tampilan jendela.
Menu height untuk mengatur tinggi jendela dan menu width untuk mengatur lebar jendela.
Satuan yang digunakan adalah “character cells”, yakni satuan panjang karakter.
Secara default, ukuran yang digunakan adalah 80 karakter untuk width, dan 25 karakter untuk
height. Anda bisa mencoba mengubah kedua nilai ini. Setelah melakukan beberapa kali
percobaan, saya menggunakan ukuran width=140, dan height=55. Klik tombol OK untuk
mengubah pengaturan. Setelah itu tutup Free Pascal dan jalankan kembali agar posisi menu
menyesuaikan dengan tinggi jendela.
Setelah ukuran jendela aplikasi Free Pascal cukup besar, muncul masalah baru, ukuran font
terasa terlalu kecil. Untungnya, hal ini juga bisa diubah dengan mudah.

Mengubah Ukuran dan Jenis Font Free Pascal


Untuk mengatur ukuran dan jenis font Free Pascal, kita menggunakan cara yang sama ketika
mengubah ukuran jendela. Kembali klik kanan pada jendela bagian atas dan pilih Properties.
Kali ini pilih tab Font.

Pada bagian Font, kita bisa mengubah ukuran font dari menu Size, dan jenis font dari
menu Font. Setelah beberapa kali percobaan saya memutuskan menggunakan jenis Font
Lucida Consoledengan ukuran font 20. Klik Ok untuk menerapkan setingan dan restart Free
Pascal.
Ketika anda mengubah jenis dan ukuran font, kemungkinan besar ukuran jendela juga ikut
berubah (karena jendela aplikasi menggunakan satuan yang bergantung kepada besar font).
Silahkan atur ulang ukuran jendela agar lebih sesuai.

Menambahkan File Help untuk Free Pascal


Setingan opsional terakhir yang bisa dilakukan adalah menambahkan file help ke dalam Free
Pascal. File help biasanya diperlukan jika anda membutuhkan referensi tambahan mengenai
cara penggunaan sebuah fungsi atau aturan penulisan Pascal.
Apabila menggunakan Turbo Pascal, file help sudah langsung tersedia, namun Free Pascal
memutuskan untuk tidak menambahakan file help agar ukuran aplikasi tidak terlalu besar.

Perlu juga diketahui bahwa file help ini menggunakan bahasa inggris. Apabila anda belum
terlalu paham bahasa inggris, dan belum butuh mendalami aturan penulisan pascal, tidak
perlu menambahkan file help ini.

Untuk menjalankan file help, anda bisa menekan tombol F1 dari dalam aplikasi Free Pascal.
Jika belum melakukan apa-apa, akan tampil keterangan bagaimana cara menambahkan file
help ini.

Sesuai dengan perintah yang ada, kita harus mendownload file help dalam format HTML dari
alamat [Link] Anda juga bisa mendownloadnya
langsung dari alamat
berikut: [Link]
[Link]/download. File help tersebut di compress dalam bentuk zip berukuran sekitar 15
MB, bernama [Link].
Setelah file help tersedia, berikutnya cari folder instalasi Free Pascal. Jika menggunakan
lokasi default, file instalasi berada di drive C di dalam folder FPC\2.6.4\. Di dalam folder
inilah seluruh file aplikasi Free Pascal berada. Jika anda perhatikan, di dalam folder ini
terdapat folder doc yang berisi file help dalam format pdf.

Unzip file help yang baru saja kita download tadi ke dalam folder FPC\2.6.4\doc\. File help
ini berisi ribuan halaman HTML, sehingga akan membutuhkan waktu beberapa saat untuk
men-uncompress seluruh file. Apabila sudah selesai, akan terdapat folder doc yang berisi
seluruh file help dalam format HTML. Agar tidak membuat bingung, anda bisa mengubah
nama folder ini menjadi doc_html (folder dari zip, bukan folder doc bawaan Free Pascal)

Langkah selanjutnya adalah memberitahukan keberadaan file help ini kepada aplikasi Free
Pascal. Caranya, jalankan Free Pascal, pilih menu Help -> Files…. Pada jendela “Install
Help Files”, klik New, lalu cari folder doc_html yang kita tambahkan sebelumnya.
Apabila anda baru pertama kali menggunakan aplikasi DOS, menelusuri file dan folder
mungkin sedikit membingungkan.

Tanda “../” digunakan untuk naik 1 folder. Silahkan double klik tanda “../” sebanyak 3 kali
untuk naik 3 folder keatas, jika anda melakukannya dengan benar, akan terlihat struktur
folder seperti yang ada pada folder C:\FPC\2.6.4.
Kemudian double klik folder doc, pillih folder doc_html, kemudian pilih
file [Link] dan klik Open.

Pada jendela konfirmasi yang tampil, pilih Yes dari pertanyaan “Create keyword index from
help file?”. Proses meng-index file help akan mulai berjalan. Karena banyaknya file HTML
yang ada, proses ini mungkin akan berlangsung beberapa menit. Silahkan anda tunggu
sejenak, atau membuat secangkir kopi :)
Setelah proses index selesai, Klik OK dan file help telah terintegrasi di dalam Free Pascal.
Untuk mengujinya, silahkan tekan tombol F1, dana anda akan melihat tampilan index help
yang bisa digunakan sebagai referensi untuk membuat program dengan pascal.

Sepanjang tutorial belajar Pascal di duniailkom ini, saya akan menggunakan aplikasi Free
Pascal.
Tutorial Belajar Pascal Part 5: Cara
Menjalankan Kode Program Pascal
(Membuat File exe)
17 Mar 15 | Andre | Tutorial Pascal | 118 Comments
Setelah menginstall aplikasi Free Pascal atau Turbo Pascal, kini saatnya kita mencoba
menjalankan kode program Pascal. Dalam tutorial belajar pascal kali ini akan dibahas tentang
alur kerja pembuatan dan cara menjalankan kode program pascal (membuat file .exe).

Dalam tutorial ini dan seterusnya, saya lebih banyak menggunakan aplikasi Free Pascal.
Walaupun begitu, anda tetap bisa mengikuti tutorial ini dari Turbo Pascal 7, karena dari sisi
tampilan serta pilihan menu yang ada, kedua aplikasi ini hampir sama.
Sebagai contoh klasik ketika mempelajari bahasa pemrograman baru, dalam tutorial ini kita
akan membuat kode program untuk menampilkan teks “Hello World” menggunakan pascal.
Sebelumnya, saya sudah mempersiapkan folder “belajar” dimana kode program pascal akan
disimpan. Saya meletakkan folder ini di alamat “C:\FPC\2.6.4\”, sehingga akan bersebelahan
dengan folder-folder aplikasi Free Pascal lainnya.

Membuat File Baru


Untuk membuat file baru dari dalam Free Pascal (atau Turbo Pascal), silahkan pilih
menu File -> New pada bagian kiri atas.
Selanjutnya, akan tampil layar biru editor pascal yang mempesona :)

Jika anda perhatikan, di bagian tengah atas editor ini terdapat tulisan [Link]. Ini
adalah nama file sementara (temporary) sebelum kita menyimpan file pascal. Anda juga
dapat melihat bahwa pascal menggunakan extension .pas.
Berikutnya, silahkan ketik kode program berikut ke dalam editor :

1 program hello_world;
2 begin
3 writeln('Hello World');
4 writeln('Sedang belajar pascal...');
5 readln;
end.
6

Untuk sementara, abaikan saja


maksud kode diatas. Kita akan membahasnya dalam dalam tutorial pascal selanjutnya.
Menyimpan File Kode Pascal
Walaupun kita bisa menjalankan kode pascal tanpa menyimpannya, namun akan lebih rapi
apabila setiap program pascal disimpan pada file tersendiri. Untuk menyimpan kode diatas,
silahkan pilih menu File -> Save.
Berbeda dengan jendela Save pada aplikasi Windows lainnya, jendela “Save File As” di
dalam Free Pascal atau Turbo Pascal tidak tertalu ‘cantik’ dan terasa kurang familiar. Ini
karena aplikasi Turbo Pascal memang ditujukan untuk sistem operasi DOS, bukan Windows
yang telah memiliki dukungan grafis.

Pada bagian bawah jendela, terdapat alamat “C:\FPC\2.6.4\bin\i386-win32\*.pas”. Alamat


ini mencerminkan posisi folder saat ini. Saya akan mengubahnya
menjadi “C:\FPC\2.6.4\belajar”, sesuai dengan folder “belajar” yang telah saya buat
sebelumnya.
Di bagian tengah jendela (Files) terdapat tanda “..\”. Tanda “..\” digunakan untuk naik 1
folder dari posisi sekarang. Silahkan double-klik tanda “..\”.
Sejenak tidak tampak perubahan apa-apa. Namun jika anda perhatikan, di bagian Name, akan
terisi “..\*.pas”
Double-klik sekali lagi tanda “..\”. Kali ini di bagian Files akan terlihat “i386-win32\”. Dan
posisi alamat folder di bawah jendela akan berubah menjadi “C:\FPC\2.6.4\bin\*.pas”. Yang
berarti kita sudah naik 1 folder.
Kembali double klik tanda “..\”. Kali ini anda akan melihat beberapa folder muncul di
bagian Files. Alamat folder di bagian bawah juga telah berubah
menjadi “C:\FPC\2.6.4\”. Kita sudah naik 2 folder.
Karena saya ingin menyimpan file kode pascal tersebut di dalam folder “belajar”, double-
klik nama folder “belajar”. Jika benar, di bagian bawah jendela akan berubah
menjadi “C:\FPC\2.6.4\belajar\*.pas”. Inilah alamat yang saya tuju.
Sebagai langkah terakhir, hapus teks “..\*.pas” pada bagian Name, kemudian ketik: “hello”
atau “[Link]” dan klik OK.
Jendela Save akan menghilang dan kita kembali ke editor kode program. Di tengah atas
editor, terlihat alamat C:\FPC\2.6.4\belajar\[Link]. Inilah lokasi penyimpanan file kode
program kita kali ini.
Agar lebih yakin, silahkan periksa isi folder C:\FPC\2.6.4\belajar melalui Windows
Explorer. Akan terdapat file [Link] yang baru saja kita buat.

Men-compile Kode Pascal (Membuat File .exe)


Setelah menyimpan file, langkah selanjutnya adalah men-compile kode program tersebut.
Secara sederhana, compile adalah sebuah proses untuk membuat program executable (file
.exe) berdasarkan kode yang telah dibuat.

Proses compile sebenarnya cukup rumit. Biasanya sebuah compiler akan mengubah kode
yang kita buat menjadi apa yang disebut dengan object code. Object codeselanjutnya
diproses lagi menjadi program executable, yakni file dengan akhiran *.exe yang merupakan
hasil akhir aplikasi.
Dalam jurusan ilmu komputer / teknik informatika, proses compile ini dipelajari dalam mata
kuliah khusus: Teknik Kompilasi. Anda tidak harus memahami proses compile untuk bisa
mempelajari bahasa pemrograman pascal.
Untuk men-compile kode program pascal, pilih menu Compile -> Compile. Atau gunakan
shortcut ALT+F9.
Ketika melalukan proses compile, program Free Pascal (atau Turbo Pascal) akan memproses
seluruh kode program dan menampilkan error (jika ada) atau menampilkan keterangan
“Compile sucessfull: Press any key” jika berhasil.

Silahkan tekan tombol sembarang untuk keluar dari pemberitahuan hasil compile.

Jika anda sudah melakukan proses compile dan sukses. Periksa kembali folder “belajar”
menggunakan Windows Explorer. Apabila menggunakan Free Pascal, akan terlihat 3 buah
file: [Link], hello.o dan [Link].

Bagi yang menggunakan Turbo Pascal, hanya akan terlihat file [Link] dan [Link].

Apabila anda menggunakan Turbo Pascal dan tidak melihat file [Link], ini disebabkan
hasil compile Turbo Pascal di letakkan di “memory”, bukan di dalam “disk”. Anda bisa
memeriksanya dari menu Compile -> Destination. Jika tertera Destination Memory seperti
berikut ini:
Klik menu tersebut untuk mengubahnya menjadi Destination Disk.

Kemudian compile ulang menggunakan menu Compile -> Compile.


File [Link] merupakan file kode pascal yang kita save sebelumnya. Sedangkan
file [Link] object code yang digunakan secara internal oleh Free Pascal (di dalam
Turbo Pascal anda tidak akan mendapati file ini). Dan file [Link] adalah program hasil
kode pascal yang kita buat sebelumnya.
Sepanjang membuat kode program pascal nantinya, anda mungkin juga akan menemukan
beberapa file tambahan seperti *.bak untuk file bakcup.
Kita bisa langsung menjalankan file [Link] seperti layaknya sebuah aplikasi Windows jika
anda mengunakan Free Pascal. Silahkan double-klik file [Link]:
Namun jika anda menggunakan Turbo Pascal 7 di sistem operasi Windows 64-bit, anda
tidak akan bisa menjalankan file [Link] secara langsung dari Windows Explorer. Ini terjadi
karena Turbo Pascal 7 tidak dirancang menghasilkan program yang bisa berjalan di komputer
modern. Sebagai solusinya, kita harus men-run kode tersebut dari dalam editor Turbo Pascal.

Menjalankan Kode Program Pascal (run)


Dalam tutorial diatas, kita telah berhasil menjalankan program pascal di luar editor
(menggunakan Windows Explorer). Aplikasi Free Pascal (dan juga Turbo Pascal)
menyediakan cara yang lebih praktis untuk menjalankan hasil kode pascal dari dalam editor.
Caranya, pilih menu Run -> Run, atau menggunakan shortcut CTRL+F9.

Silahkan kembali ke program Free Pascal / Turbo Pascal, dan jalankan menu run. Kali ini
hasil program akan ditampilkan langsung dari editor. Klik tombol sembarang untuk kembali
ke editor.

Sepanjang pembuatan program, akan lebih praktis jika kita menggunakan menu ini. Terlebih,
ketika memilih menu Run, aplikasi Free Pascal/Turbo Pascal akan otomatis juga men-
compilenya kode tersebut. Tombol CRTL+F9 akan menjadi salah satu tombol yang paling
sering anda gunakan.
utorial Belajar Pascal Part 6: Aturan dan
Cara Penulisan Kode Program Pascal
18 Mar 15 | Andre | Tutorial Pascal | 48 Comments

Setelah memahami cara menjalankan kode program pascal pada tutorial sebelumnya, dalam
tutorial belajar pascal kali ini kita akan membahas tentang aturan dan cara penulisan kode
program pascal. Saya juga akan membahas sekilas tentang kode program Hello World yang
kita buat sebelumnya.

Struktur Sederhana Kode Pascal


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 readlndigunakan 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.
Perbedaan Huruf Besar / Kecil
Pascal tidak membedakan penggunaan huruf besar atau kecil. Dalam pemrograman, hal ini
dikenal dengan istilah case insensitive. Kita boleh
menulis program, Program, PROGRAM, WRITEln, maupun wrITln. Semuanya
dianggap sama dalam pascal.
Kode program dibawah ini akan menghasilkan tampilan yang sama dengan kode kita
sebelumnya:

1 PROGRAM hello_world;

2 BEGIN

3 WRITELN('Hello World');

4 WRITELN('Sedang belajar pascal...');

5 READLN;

END.
6

Cara Penulisan Komentar di dalam Pascal


Komentar atau comment adalah ‘kode program’ yang ditambahkan untuk memberi
keterangan/penjelasan mengenai cara kerja program. Komentar tidak akan diproses oleh
Pascal dan berfungsi hanya untuk memberi keterangan tambahan, terutama jika kode program
yang ditulis cukup rumit.
Untuk membuat komentar di dalam kode program pascal, terdapat 2 alternatif pilihan:

 Komentar dengan tanda pembuka ‘(*’ dan penutup ‘*)’


 Komentar dengan tanda pembuka ‘{’ dan penutup ‘}’
Berikut contoh penggunaannya:

program hello_world;
1
begin
2
(* Kode untuk menampilkan tulisan 'Hello World'*)
3
writeln('Hello World');
4
{ Kode untuk menampilkan tulisan 'Sedang belajar pascal...'}
5
writeln('Sedang belajar pascal...');
6 readln;
7 end.

Penulisan komentar juga bisa mencakup beberapa baris, selama tanda penutup komentar
belum di temukan:

1
program hello_world;
2
begin
3
(* 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;begin writeln('Hello World');

2 writeln('Sedang belajar pascal...');readln;end.


Walaupun kode program yang dihasilkan lebih singkat, dan mungkin lebih kecil (beberapa
byte), Penggunaan whitespace akan membuat kode program lebih mudah dibaca. Ukuran
yang kecil beberapa byte ini tidak sebanding dengan kemudahan yang didapat dengan
penambahan whitespace.

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.

Pengertian Statement di dalam Pascal


Dalam defenisi sederhana, statement adalah sebuah baris perintah yang bisa melakukan
sebuah tindakan, apakah itu menampilkan teks di layar, meminta input, perulangan,
percabangan program (logika IF), dll. Sebuah statement di dalam Pascal harus diakhiri
dengan tanda titik koma “;” (kecuali untuk beberapa kondisi khusus).
Berikut adalah contoh-contoh statement di dalam pascal:

 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:

1 writeln ('Hello World'); writeln ('Sedang belajar pascal...');

1 writeln

2 ('Hello World');

3 writeln

4 ('Sedang belajar pascal...');

Error yang paling sering ditemui adalah lupa memberi tanda “;” di akhir statement. “Fatal:
Syntax error, “;” expected” merupakan error yang disebabkan lupa menutup statement di
dalam kode pascal.
Syntax adalah istilah pemrograman yang berarti aturan penulisan. Jika anda menemui kalimat syntax
error, kemungkinan besar ada kesalahan pada cara penulisan perintah.

Pengertian Expression di dalam Pascal


Expression adalah kode program yang menghasilkan suatu nilai. Expression pada dasarnya
merupakan bagian dari sebuah statement.
Berikut adalah contoh penulisan expression:
 4+5;
 6/10;

Pengertian Identifier di dalam Pascal


Identifier adalah bagian dari statement yang merupakan ‘identitas’ dari sesuatu. Identitas ini
meliputi:
 Nama program
 Nama fungsi
 Nama variabel
 Nama konstanta

Fungsi, variabel dan konstanta ini akan kita bahas dalam tutorial tersendiri.
Aturan penulisan identifier adalah sebagai berikut:

 Karakter pertama harus berupa huruf.


 Karakter kedua dan seterusnya bisa berupa huruf, angka, atau karakter underscore “_”.
 Maksimal panjang identifier tergantung kepada compiler yang digunakan. Beberapa
mendukung 32 karakter, namun kebanyakan mendukung hingga 63 karakter. Jika anda
membuat identifier dengan panjang melebihi 63 karakter, hanya 63 karakter pertama saja yang
akan digunakan.
 Penulisan identifier tidak boleh menggunakan karakter selain angka, huruf dan underscore.
Kita tidak bisa menggunakan spasi, dan tanda-tanda khusus seperti *, +, -, &, ^, %, $, #, atau
@.
Berikut adalah contoh penulisan identifier yang salah:

 5orang: diawali dengan angka


 5+7: menggunakan karakter ‘+’
 pertama*: menggunakan karakter ‘*’
 luas segitiga: dipisahkan oleh spasi
Berikut adalah contoh penulisan identifier yang benar:

 nama_pengguna
 luas_segitiga
 PanjangLingkaran
 angkatan45
 NAMAKOTA

Reserved Word dan Predefined Identifier


Reserved Word dan Predefined Identifier adalah kata/karakter khusus yang digunakan
secara internal di dalam aplikasi Pascal. Kita sebaiknya tidak menggunakan kata-kata ini
sebagai identifier.
Berikut adalah Reserved Word di dalam Turbo Pascal:

Berikut adalah Predefined Identifier di dalam Turbo Pascal:


Cara Copy-Paste kode Program Pascal
Jika anda sudah mencoba mengetik beberapa kode program pascal, anda mungkin menyadari
bahwa shortcut yang digunakan pada program Free Pascal (dan juga Turbo Pascal) sedikit
berbeda dari biasanya.
Kita tidak bisa menggunakan tombol CTRL+C dan CTRL+V untuk men copy-paste kode
program. Aplikasi Pascal menggunakan tombol CRTL+Insert untuk copy,
dan SHIFT+Insert untuk paste. Untuk menghapus blok kode program, kita juga harus
menggunakan shortcut CRTL+Delete.
Kendala lain adalah jika anda ingin men-copy kode program pascal dari Windows/situs
duniailkom dan men-pastenya ke Free Pascal / Turbo Pascal.

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.
Tutorial Belajar Pascal Part 7: Struktur
Dasar Kode Program Pascal
19 Mar 15 | Andre | Tutorial Pascal | 47 Comments
Setelah memahami Aturan dan Cara Penulisan Kode Program Pascal pada tutorial
sebelumnya, kali ini kita akan fokus membahas Struktur Dasar Kode Program Pascal, yakni
apa-apa saja yang bisa ditulis di dalam kode program 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:

1 program hitung_lingkaran;
2
3 uses
4 crt;
5
6 type
7 warna=(merah, kuning, biru);
8
const
9 PI=3.14;
10
11 var
12 jari2:integer=7;
13 warna_lingkaran:warna=merah;
14
15 function luas_lingkaran:real;
begin
16 luas_lingkaran:=PI*jari2*jari2;
17 end;
18
19 procedure kel_lingkaran(jari2:integer);
20 begin
21 write('Keliling Lingkaran = ');
writeln(PI*(jari2+jari2):4:2, ' cm');
22 end;
23
24 begin
25 clrscr;
26 writeln('==PROGRAM MENGHITUNG LUAS LINGKARAN==');
writeln('==---------------------------------==');
27 writeln('Diketahui: jari-jari lingkaran = ',jari2,' cm');
28 writeln('Warna Lingkaran = ',warna_lingkaran);
29 writeln('Luas Lingkaran = ',luas_lingkaran:4:2, ' cm');
30 kel_lingkaran(jari2);
31 readln;
end.
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:
Penulisan Nama Program Pascal
Seperti biasa, baris pertama sebuah kode pascal dimulai dengan penulisan
keyword program , kemudian diikuti dengan nama program.
Sebenarnya, anda tidak harus menulis kode ini. Penulisan nama program
sepenuhnya opsional(boleh ditulis, boleh tidak). Silahkan coba hapus baris “program
hitung_lingkaran;” dari kode diatas, hasilnya tetap bisa di-compile dan dijalankan.
Aturan penulisan nama program sama seperti aturan penulisan identifier yang kita bahas
pada tutorial aturan dan cara penulisan kode program pascal.

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.

Deklarasi Konstanta (constant)


Konstanta atau constant adalah sebuah ‘penampung’ yang nilainya bersifat tetap. Dalam
contoh diatas, saya membuat konstanta PI dengan nilai 3.14.

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
Deklarasi Variabel (variable)
Variabel atau variable adalah ‘penampung’ yang nilainya bisa berubah sepanjang alur
program. Kita akan sering menggunakan variabel dalam pembuatan kode program. Pada
contoh diatas saya membuat variabel jari2 yang diset bertipe data integer. Nilai jari2 juga
langsung diisi dengan angka 7.

Deklarasi Fungsi (function)


Sebuah fungsi atau function dikenal juga sebagai subprogram, karena kita bisa memecah
alur program yang panjang menjadi fungsi-fungsi yang saling terpisah. Berbeda
dengan prosedur, fungsi akan mengembalikan nilai.
Dalam contoh diatas saya membuat function luas_lingkaran yang digunakan untuk
menghitung luas lingkaran. Fungsi ini akan mengembalikan nilai akhir bertipe real.

Deklarasi Prosedur (procedure)


Pada dasarnya, prosedur atau procedure adalah fungsi yang tidak mengembalikan nilai.
Prosedur adalah sesuatu yang unik di dalam pascal. Bahasa pemrograman lain umumnya
tidak mengenal prosedur.
Dalam kode diatas saya membuat procedure kel_lingkaran untuk menghitung keliling
lingkaran. Karena prosedur tidak mengembalikan nilai, maka saya langsung menampilkan
hasilnya dengan writeln.

Main Program
Main program adalah tempat dimana kode program utama ditulis. Disinilah dilakukan
pemanggilan fungsi atau prosedur (jika ada), serta pembuatan proses alur kerja program.
Main program diawali dengan keyword begin dan diakhiri dengan end.
Pada contoh kode diatas, saya memulai main program dengan perintah clrscr. Perintah ini
berasal dari unit crt. Clrscr merupakan singkatan dari clear screen, digunakan untuk
menghapus output dari kode program sebelumnya (membersihkan layar).
Agar anda bisa mengetahui fungsi clrscr, silahkan hapus kode ini dan jalankan program
beberapa kali dari dalam aplikasi Free Pascal atau Turbo Pascal. Anda akan lihat bahwa
output program akan ‘bertumpuk’ setiap kali kita menjalankan kode program.
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.
Tutorial Belajar Pascal Part 8: Pengertian
Variabel dan Cara Penulisan Variabel
Pascal
19 Mar 15 | Andre | Tutorial Pascal | 40 Comments

Dalam tutorial belajar pascal kali ini kita akan membahas tentang pengertian variabel dan
cara penulisan variabel dalam bahasa pemrograman pascal.

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 xbergantung 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’.

Cara Penulisan Variabel di dalam Pascal


Untuk membuat variabel di dalam pascal, kita harus men-deklarasikan-nya sebelum main
program. Setiap variabel juga memiliki tipe data tertentu, dan sepanjang kode program,
variabel tersebut hanya dapat diubah nilainya asalkan masih dalam tipe yang sama.
Sebagai contoh, jika variabel ‘jari2’ di-set dengan tipe data ‘angka’, kita hanya bisa mengisi
variabel ini dengan nilai angka seperti 4, 6, atau 90. Kita tidak bisa mengisinya dengan nilai
huruf atau kata seperti ‘empat’, ‘lima’ atau ‘Andi’.

Jenis-Jenis Tipe Data dalam Pascal


Pascal mendukung berbagai jenis tipe data. Tipe data ini bisa dikelompokkan menjadi tipe
data dasar, tipe data terstruktur, tipe data bentukan, dll.
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: [Link]):
Penjelasan lebih lanjut mengenai penggunaan tipe data diatas akan dibahas dalam tutorial
tersendiri.

Aturan Penulisan Variabel dalam Pascal


Sebuah variabel di dalam pascal harus ditulis sesuai dengan aturan berikut:

 Karakter pertama harus berupa huruf.


 Karakter kedua dan seterusnya bisa berupa huruf, angka, atau karakter underscore “_”.
 Penulisan variabel tidak boleh menggunakan karakter selain angka, huruf dan underscore. Kita
tidak bisa menggunakan spasi, dan tanda-tanda khusus seperti *, +, -, &, %, $, #, atau @.
 Maksimal panjang variabel tergantung kepada compiler yang digunakan. Beberapa mendukung
32 karakter hingga 63 karakter. Walaupun begitu, sebaiknya gunakan nama variabel yang tidak
terlalu panjang.
 Sebelum digunakan, setiap variabel harus dideklarasikan terlebih dahulu.
 Variabel hanya bisa diubah nilainya sesuai dengan tipe data asal.
Berikut adalah contoh penulisan variabel yang salah:

 9ayam: diawali dengan angka


 belajar+: menggunakan karakter ‘+’
 pertama*: menggunakan karakter ‘*’
 jari jari: dipisahkan oleh spasi
Berikut adalah contoh penulisan variabel yang benar:

 panjang_persegi
 angkatan99
 AnGKa

Cara Pendeklarasian Variabel


Sebelum dapat digunakan di dalam kode program, sebuah variabel harus di deklarasikan
terlebih dahulu. Berikut format penulisannya:

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

2 nama, alamat: string;

3 umur: integer;

Cara Memberikan Nilai Variabel (Assignment)


Setelah variabel dideklarasikan, berikutnya adalah men-input nilai kedalam variabel tersebut.
Berikut format penulisannya:

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.

Penggabungan Perintah Deklarasi dan Assignment


Pascal juga membolehkan proses deklarasi dan assignment digabung dalam 1 kali penulisan.
Berikut contoh penggunaannya:

1 nama:string='Andika';

2 umur:integer:19;

Cara memberikan nilai pada saat deklarasi ini dikenal dengan istilah inisialisasi (bahasa
inggris: initialization).
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

Menampilkan Nilai Varibel


Untuk menampilkan nilai variabel, kita tinggal menuliskannya dengan perintah writeln,
seperti contoh berikut ini:
1 writeln(nama);

2 writeln(umur);

Contoh Program mengenai Variabel


Sebagai penutup tutorial pascal kali ini, berikut adalah contoh kode program sederhana yang
merangkum apa yang kita pelajari kali ini:

program biodata;
1
uses crt;
2

3
var
4 nama,alamat:string;

5 umur:integer=19;

6 sekolah:string='SMA 1 Durian Runtuh';

8 begin

9 clrscr;

10
nama:='Andika';
11
alamat:='Jl. Kemerdekaan no.9';
12
umur:=17;
13

14
writeln(nama);
15 writeln(umur);

16 writeln(alamat);

writeln(sekolah);
17
readln;
18
end.
19

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 namadan 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.
Untuk Turbo Pascal 7 bisa menggunakan kode program berikut:
1
program biodata;
2
uses crt;
3

4
var
5
nama,alamat:string;
6
umur:integer;
7
sekolah:string;
8

9 begin

10 clrscr;

11

12 nama:='Andika';

13 alamat:='Jl. Kemerdekaan no.9';

14 umur:=17;

sekolah:='SMA 1 Durian Runtuh';


15

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.
Tutorial Belajar Pascal Part 9: Pengertian
Konstanta dan Cara Penulisan Konstanta
Pascal
20 Mar 15 | Andre | Tutorial Pascal | 7 Comments
Setelah mempelajari pengertian variabel pada tutorial sebelumnya, dalam tutorial belajar
pascal di duniailkom kali ini kita akan membahas tentang pengertian konstanta dan cara
penulisan konstanta dalam bahasa pemrograman pascal.

Pengertian Konstanta
Secara singkat, konstanta adalah variabel yang nilainya bersifat tetap dan tidak dapat diubah
sepanjang kode program. Umumnya konstanta digunakan untuk nilai yang tidak akan
berubah, seperti nilai phi dalam matematika yang bernilai 3.14, atau kecepatan_cahaya yang
bernilai 299.792.458 m/s.

Cara Penulisan Konstanta di dalam Pascal


Di dalam pascal, sebuah konstanta hanya dapat diisi dengan tipe data dasar, yakni char,
integer, real, boolean, serta tipe data string dan set. Penulisan nama konstanta juga
mengkuti aturan penulisan identifier, yakni:
 Karakter pertama harus berupa huruf.
 Karakter kedua dan seterusnya bisa berupa huruf, angka, atau karakter underscore “_”.
 Penulisan konstanta tidak boleh menggunakan karakter selain angka, huruf dan
underscore. Kita tidak bisa menggunakan spasi, dan tanda-tanda khusus seperti *, +, -,
&, %, $, #, atau @.
 Maksimal panjang konstanta tergantung kepada compiler yang digunakan. Beberapa
mendukung 32 karakter hingga 63 karakter.
 Konstanta tidak bisa diubah nilainya sepanjang kode program.
Berbeda dengan variabel, konstanta harus diisi nilai pada saat deklarasi. Berikut format
dasar penulisan konstanta:
1 const
2 nama_kosntanta=nilai_konstanta;
Berikut contoh penulisannya di dalam kode program pascal:

1 const
2 phi = 3.14;
3 dollar = 13000;
4 nama = ‘Joko’;
Perhatikan bahwa pascal menggunakan tanda sama dengan ‘ = ’ untuk memberikan nilai
kepada konstanta saat dideklarasikan (proses inisialisasi).
Berikut adalah contoh program pascal yang menggunakan konstanta:
1
2 program konstanta;
3 uses crt;
4
5 const
6 phi=3.14;
dollar=13000;
7 nama='Joko';
8
9 var
10 situs:string='[Link]';
11
12 begin
13 clrscr;
writeln(phi:4:2);
14 writeln(dollar);
15 writeln(nama);
16 writeln(situs);
17 readln;
end.
18
19

Dalam kode program diatas, saya membuat beberapa konstanta, kemudian menampilkan
nilainya menggunakan perintah writeln. Khusus pada baris ke 14, saya menulis phi:4:2, ini
digunakan untuk men-format tampilan angka desimal. Angka 4:2 berarti saya ingin
menampilkan angka dengan 4 digit sebelum desimal, dan 2 digit setelah tanda desimal.
Jika kita mencoba untuk mengubah nilai konstanta di dalam kode program, pascal akan
mengeluarkan “error: variable identifier expected”, dimana kita diberitahu untuk
menggunakan variabel jika ingin mengubah nilai konstanta.
Sepanjang pembuatan program, konstanta relatif jarang digunakan jika dibandingkan dengan
variabel. Konstanta umumnya dipakai untuk program matematis yang sering memiliki nilai
yang selalu tetap.
Tutorial Belajar Pascal Part 10: Cara
Penggunaan serta Perbedaan Write dan
Writeln Pascal
27 Mar 15 | Andre | Tutorial Pascal | 14 Comments
Sejak awal pembahasan mengenai kode pemrograman pascal, beberapa kali saya telah
menggunakan perintah writeln. Dalam tutorial belajar pascal kali ini saya akan membahas
lebih jauh tentang cara penggunaan perintah write dan writeln serta perbedaan keduanya.
Perintah write dan writeln sangat sering digunakan di dalam kode program 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
program tampil;
2 uses crt;
3
4 begin
5 clrscr;
6 write('Nama : ');
7 writeln('Alex');
8
writeln('Nama: ');
9 writeln('Anto');
10
11 write('D');
12 write('u');
13 write('n');
14 write('i');
write('a');
15
16 writeln('i');
17 writeln('l');
18 writeln('k');
19 writeln('o');
writeln('m');
20
21
readln;
22 end.
23
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;

Cara Penulisan write dan writeln


Data-output yang ingin ditampilkan dengan perintah write dan writeln, harus ditulis diantara
tanda tanda kurung “ ( “ dan “ ) ”.
Jika data tersebut adalah ‘teks’ yang terdiri dari karakter (char) atau kumpulan karakter
(string) kita perlu menambahkan tanda tanda kutip satu ( ‘ ) diantara teks tersebut. Apabila
yang akan ditampilkan angka, variabel, atau konstanta, kita tidak perlu menggunakan tanda
kutip. Berikut contoh kode programnya:
1 program tampil;
2 uses crt;
const
3 kota='Ambon';
4 var
5 nama:string='Joni';
6 umur:integer=17;
begin
7
clrscr;
8
9 write('Nama : ');
10 writeln(nama);
11
12 write('Umur : ');
13 writeln(umur);
14
15 write('Kota : ');
writeln(kota);
16
17 write('IPK : ');
18 writeln(3);
19
20 readln;
21 end.
22
23
24
Hasil kode program:

Nama : Joni
Umur : 17
Kota : Ambon
IPK : 3
Pada kode program diatas saya membuat 1 konstanta dan 2 variabel.

Perintah write(‘nama’) dengan write(nama) adalah suatu yang berbeda. Penulisan pertama
berarti kita ingin menampilkan teks ‘nama’, sedangkan penulisan yang kedua kita ingin
menampilkan nilai dari variabel/konstanta ‘nama’.

Menggabungkan Penulisan Teks dengan


Variabel/Konstanta
Selain memisahkan penulisan teks dengan variabel, kita juga bisa menggabungkan
penulisannya dalam 1 perintah write/writeln. Pascal menggunakan tanda koma untuk
memisahkan keduanya.
Kode program sebelumnya bisa ditulis ulang menjadi berikut ini:

1 program tampil;
2 uses crt;
3 const
kota='Ambon';
4 var
5 nama:string='Joni';
6 umur:integer=17;
7 begin
8 clrscr;
9
writeln('Nama : ',nama);
10 writeln('Umur : ',umur);
11 writeln('Kota : ',kota);
12 writeln('IPK : ',3);
13
14 readln;
15 end.
16
17
Lebih jauh lagi, seluruh tampilan diatas bisa digabung kedalam 1 perintah writeln. Seperti
berikut:
1
2 program tampil;
3 uses crt;
const
4 kota='Ambon';
5 var
6 nama:string='Joni';
7 umur:integer=17;
8 begin
clrscr;
9 writeln('Nama : ',nama,'. Umur : ',umur,'. Kota : ',kota,'. IPK : ',3);
10 readln;
11 end.
12
Perhatikan bahwa kita perlu mengetahui kapan harus menggunakan tanda kutip, dan kapan
menggunakan tanda koma.

Menformat Tampilan Output Integer/Real


Khusus untuk tipe data angka (integer/real) pascal menyediakan instruksi tambahan untuk
mengatur bagaimana angka tersebut ditampilkan.
Jika berupa angka bulat (integer), kita bisa mengatur seberapa banyak ‘tempat’ untuk angka
yang dipersiapkan. Apabila angka tersebut adalah angka pecahan (real), kita bisa mengatur
berapa digit angka dibelakang koma.
Berikut format penulisannya:

 Angka bulat (integer) = angka:jumlah_digit.


 Angka desimal (real) = angka:jumlah_digit:jumlah_digit_dibelakang_koma.
Berikut contoh kode programnya:

1 program tampil;
2 uses crt;
3 var
angka_int:integer=12345;
4 angka_real:real=1234.123456;
5 begin
6 clrscr;
7
8 writeln(angka_int);
9 writeln(angka_int:4);
writeln(angka_int:8);
10
11 writeln(angka_real);
12 writeln(angka_real:4:2);
13 writeln(angka_real:2:4);
14 readln;
15 end.
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:

angka : jumlah_digit : jumlah_digit_dibelakang_koma


Sebagai contoh, untuk membuat tampilan dengan 4 digit bulat dan 2 digit dibelakang koma,
saya menulis angka_real:4:2, seperti baris 15 pada contoh program diatas.
Tutorial Belajar Pascal Part 11: Cara
Penggunaan serta Perbedaan Read dan
Readln Pascal
28 Mar 15 | Andre | Tutorial Pascal | 35 Comments

Setelah mempelajari perintah write dan writeln, dalam tutorial belajar pascal kali ini kita akan
membahas tentang cara penggunaan perintah read dan readln di dalam bahasa pemrograman
pascal.

Fungsi perintah read dan readln


Jika perintah write dan writeln berfungsi untuk menampilkan ‘sesuatu’ ke jendela tampilan,
maka perintah read dan readln berfungsi untuk memasukkan ‘sesuatu’ ke dalam kode
program. Di dalam pemrograman, ini disebut sebagai perintah ‘input’.

Cara Penulisan read dan readln


Untuk dapat menggunakan perintah read dan readln, kita harus mempersiapkan variabel
yang akan menampung hasil inputan dari pengguna. Variabel ini juga harus memiliki tipe
data yang sama dengan apa yang akan diinput.
Sebagai contoh, jika kita mengharapkan pengguna untuk memasukkan nama, maka variabel
penampung harus bertipe string, namun jika kita meminta inputan umur, maka harus
menggunakan variabel bertipe integer.
Agar lebih memahami konsep ini, berikut adalah contoh kode program penggunaan kedua
perintah ini:

program input;
1
uses crt;
2
var
3
nama,alamat:string;
4
umur:integer;
5
ipk:real;
6

7
begin
8 clrscr;
9 writeln('Masukkan Data Mahasiswa');

10 writeln('=======================');

write('Nama :');
11
readln(nama);
12
write('Alamat :');
13
readln(alamat);
14
write('Umur :');
15
read(umur);
16 write('IPK :');

17 readln(ipk);

18

19 writeln;

20

21 writeln('=========HASIL=========');

write('Nama: ',nama,'. Alamat: ',alamat);


22
writeln('. Umur: ',umur,'. IPK: ',ipk:1:2);
23

24
readln;
25
end.
26

27

28

Hasil kode program:


Dalam kode diatas, saya menampung hasil inputan dalam variabel nama, alamat,
umur, dan ipk. Ketika kode program sampai pada perintah readln(nama), maka tampilan
akan berhenti sesaat untuk menunggu inputan. Tombol Enter digunakan untuk mengakhiri
proses input, dan program akan lanjut ke perintah berikutnya.

Perbedaan read dan readln


Perintah read dan readln sama-sama digunakan untuk meminta input dari pengguna.
Keduanya memiliki perbedaan dari cara pembacaan data.
Perintah read akan membaca data secara ‘horizontal’. Setelah proses input selesai, posisi
cursor akan tetap berada di baris yang sama. Kita bisa menggunakan karakter ‘spasi’ atau
‘enter’ untuk memisahkan 1 input dengan input lainnya (dengan beberapa pengecualian).
Perintah readln akan membaca data secara ‘vertikal’. Setelah proses input selesai, posisi
cursor akan pindah ke baris baru. Kita bisa menggunakan karakter ‘enter’ untuk memisahkan
1 input dengan input lainnya.
Defenisi perbedaan diatas ‘hanya’ secara teori. Dalam prakteknya, kedua perintah ini akan
membuat prilaku berbeda tergantung tipe data yang digunakan. Terutama untuk
perintah readyang kadang berfungsi ‘aneh’. Kita akan melihat permasalahan ini melalui
beberapa contoh kode program.

Penggunaan read dan readln untuk tipe data integer


dan real
Jika menggunakan tipe data angka (integer/real), perintah read akan membaca seluruh
inputan yang dipisah dengan spasi maupun enter. Berikut contoh penggunaannya:
1 program input;

2 uses crt;

3 var
4 a,b,c,d:integer;

5 begin

clrscr;
6
writeln('Input 4 angka, dipisah dengan spasi:');
7
read(a);
8
read(b);
9
read(c);
10
read(d);
11 writeln;

12 writeln('Hasil Input:');

13 writeln('a: ',a,', b: ',b,', c: ',c,', d: ',d);

14 readln; readln;

end.
15

16

Hasil kode program:

Input 4 angka, dipisah dengan spasi:

65 7 89 999

Hasil Input:

a: 65, b: 7, c: 89, d: 999

Perhatikan bahwa saya menggunakan 2 kali perintah readln di akhir program. Ini digunakan
untuk ‘menahan’ jendela program agar tidak langsung menutup ketika di–run. Jika tidak
menggunakan ini, anda bisa melihat hasil program dari menu Debug->User Screen atau
menekan tombol ALT+F5.
Perintah diatas juga bisa ditulis menjadi seperti berikut ini:

1 program input;

2 uses crt;

3 var

4 a,b,c,d:integer;

begin
5
6 clrscr;

7 writeln('Input 4 angka, dipisah dengan spasi:');

read(a,b,c,d);
8
writeln;
9
writeln('Hasil Input:');
10
writeln('a: ',a,'. b: ',b,'. c: ',c,' d: ',d);
11
readln;
12
end.
13

Kali ini saya menggabungkan penulisan input 4 variabel ke dalam 1 perintah read.

Jika menggunakan perintah readln, maka kita harus memisahkan keempat inputan
dengan enter, seperti contoh berikut:
1
program input;
2
uses crt;
3
var
4
a,b,c,d:integer;
5
begin
6 clrscr;

7 writeln('Input 4 angka, dipisah dengan enter:');

8 readln(a);

9 readln(b);

10 readln(c);

readln(d);
11
writeln;
12
writeln('Hasil Input:');
13
writeln('a: ',a,'. b: ',b,'. c: ',c,' d: ',d);
14
readln;
15
end.
16

Hasil program:
Input 4 angka, dipisah dengan enter:

45

23

65

111

Hasil Input:

a: 45. b: 23. c: 65 d: 111

Khusus untuk tipe data angka (integer/real), perintah read bisa digunakan dengan pemisah
spasi, maupun enter. Berikut contohnya:
1
program input;
2
uses crt;
3
var
4
a,b,c,d,e,f,g,h,i:integer;
5
begin
6
clrscr;
7 writeln('Input Matriks 3x3');

8 read(a,b,c);

9 read(d,e,f);

10 read(g,h,i);

11 writeln;

writeln('Hasil Matriks:');
12
writeln(a,' ',b,' ',c);
13
writeln(d,' ',e,' ',f);
14
writeln(g,' ',h,' ',i);
15
readln;
16
readln;
17 end.

18

Hasil program:
Input Matriks 3x3

4 5 6

9 7 1

4 9 9

Hasil Matriks:

4 5 6

9 7 1

4 9 9

Penggunaan read dan readln untuk tipe data char


Jika menggunakan tipe data char, perintah read akan membaca seluruh karakter teks
(termasuk spasi dan enter) dalam 1 baris secara vertikal. Kita bisa mencoba hal ini melalui
kode program berikut:
1 program input;

2 uses crt;

3 var

a,b,c,d,e:char;
4
begin
5
clrscr;
6
writeln('Input Teks Sembarang (5 karakter)');
7
read(a);
8
read(b);
9
read(c);
10 read(d);

11 read(e);

12

13 writeln;

14 writeln('Hasil Teks:');
15 write(a,' ',b,' ',c,' ',d,' ',e);

16 readln;

readln;
17
end.
18

19

Hasil program:

Input Teks Sembarang (5 karakter)

belajar

Hasil Teks:

b e l a j

Jika kita menginput 5 karakter (atau lebih), dan mengakhiri dengan tombol enter, tiap-tiap
varibel akan diisi dengan 5 karakter pertama dari teks (teks ke-6 dan seterusnya akan
diabaikan).

Jika anda mencoba menekan ‘enter’ pada saat menginput 5 karakter awal, maka pascal akan
menampilkan sesuatu yang ‘berbeda’:
Input Teks Sembarang (5 karakter)

Hasil Teks:

Hasil diatas di dapat dengan mengetik huruf a, ‘enter’, huruf b, dan program akan langsung
selesai. Ini terjadi karena cara pascal memproses karakter ‘enter’.

Sebuah karakter enter di dalam pascal terdiri dari 2 karakter khusus, yakni carriage
return dan line feed. Kedua karakter ini hanya tampak seperti ‘spasi’ (kosong), sehingga jika
kita menekan tombol enter, 2 variabel akan langsung terisi. 1 dengan karakter carriage
return, dan 1 lagi dengan karakter line feed. Kedua variabel ini akan ditampilkan ‘kosong’.
Jika kita mengganti read dengan readln, pembacaan karakter akan dilakukan secara vertikal.
Setiap karakter di pisah dengan enter, seperti contoh kode program berikut:
program input;
1
uses crt;
2 var

3 a,b,c,d,e:char;

begin
4
clrscr;
5
writeln('Input Teks Sembarang (5 karakter) :');
6
readln(a);
7
readln(b);
8
readln(c);
9 readln(d);

10 readln(e);

11

12 writeln;

13 writeln('Hasil Teks:');

write(a,' ',b,' ',c,' ',d,' ',e);


14
readln;
15
end.
16

17

18

Hasil kode program:

Input Teks Sembarang (5 karakter) :

Hasil Teks:

i l k o m
Kali ini, enter pada karakter ke-2 atau lebih dianggap sebagai tombol untuk masuk ke
variabel selanjutnya.
Jika anda menambahkan beberapa karakter setelah karakter pertama di sebuah baris, sisanya
akan diabaikan oleh readln:
Input Teks Sembarang (5 karakter) :

belajar

pascal

di

dunia

ilkom

Hasil Teks:

b p d d i

Penggunaan read dan readln untuk tipe data string


Apabila menggunakan tipe data string, perintah read berprilaku sedikit ‘membingungkan’.
Perhatikan contoh kode berikut:
program input;
1
uses crt;
2
var
3 a,b,c,d:string;

4 begin

5 clrscr;

6 writeln('Input 4 kata:');

8 read(a);

read(b);
9
read(c);
10
read(d);
11

12
writeln;
13 writeln('Hasil Teks:');

14 writeln('a: ',a);

writeln('b: ',b);
15
writeln('c: ',c);
16
writeln('d: ',d);
17
readln;
18
readln;
19
end.
20

21

22

Jika kita menginput 4 kata yang dipisah dengan spasi, dan menekan tombol enter, keempat
kata ini akan diinput kedalam variabel a:
Hasil program:

Input 4 kata:

saya sedang belajar pascal

Hasil Teks:

a: saya sedang belajar pascal

b:

c:

d:

Namun jika kita membuat sebuah kata dan menekan enter, program akan ‘melewati’ variabel
b, c, dan d:
Hasil program:

Input 4 kata:

saya

Hasil Teks:

a: saya

b:
c:

d:

Solusi untuk hal ini, kita mengganti perintah read dengan readln. Dengan begitu, setiap teks
dipisah dengan enter dan diinput kepada masing-masing variabel.
1

2 program input;

uses crt;
3
var
4
a,b,c,d:string;
5
begin
6
clrscr;
7
writeln('Input 4 kata:');
8

9 readln(a);

10 readln(b);

11 readln(c);

12 readln(d);

13
writeln;
14
writeln('Hasil Teks:');
15
writeln('a: ',a);
16
writeln('b: ',b);
17
writeln('c: ',c);
18
writeln('d: ',d);
19 readln;

20 end.

21

Hasil kode program:

Input 4 kata:

belajar pascal
di duniailkom

sangat

menyenangkan

Hasil Teks:

a: belajar pascal

b: di duniailkom

c: sangat

d: menyenangkan

Untuk menghindari hal ini, sebaiknya kita selalu menggunakan perintah readln jika ingin
memproses data input bertipe string.
Tutorial Belajar Pascal Part 12:
Pengertian dan Cara Penggunaan Tipe
Data Integer Pascal
31 Jul 15 | Andre | Tutorial Pascal | 15 Comments

Pada lanjutan tutorial belajar bahasa pemrograman pascal di Duniailkom kali ini, saya akan
membahas tentang pengertian dan cara penggunaan tipe data Integer di Pascal.

Pengertian Tipe Data Integer


Dalam bahasa pemrograman, tipe data integer adalah tipe data yang terdiri dari angka bulat
(tidak mengandung nilai pecahan atau nilai desimal). Nilai ini bisa berbentuk angka positif
maupun negatif, contohnya 1, 2, 6, -44, 20000, atau 128730123.
Pascal mendukung beragam tipe data integer, seperti byte, shortint, smallint, word, integer,
cardinal, longint, longword, int64, dan qword. Tipe-tipe ini dibedakan berdasarkan
jangkauan nilai dan kapasitas memory yang dibutuhkan.

Cara Penggunaan Tipe Data Integer dalam Pascal


Untuk menggunakan tipe data integer di Pascal, kita tinggal menulisnya seperti variabel
biasa. Berikut contoh kode program yang mendefenisikan variabel integer di dalam pascal:
1 program tipe_integer;

uses crt;
2
var
3
a:integer;
4
begin
5
clrscr;
6
a:=20;
7
writeln('a: ',a);
8

9 a:=15;

10 writeln('a: ',a);

11
12 a:= a + 10;

13 writeln('a: ',a);

readln;
14
end.
15

16

Dalam kode diatas saya mendefenisikan variabel a dengan tipe data integer (baris ke-4).
Kemudian sepanjang kode program variabel a ini diubah-ubah nilainya, dan pada setiap
perubahan, ditampilkan sebagai output (menggunakan perintah writeln).

Hasil akhir kode diatas adalah sebagai berikut:

Contoh lain penggunaan tipe data integer bisa dilihat dari kode program dibawah ini:

1 program tipe_integer;

uses crt;
2
var
3
a,b,c,d:integer;
4
begin
5
clrscr;
6
a:=1234;
7
b:=-1234;
8

9 c:= a + b;

10 d:= a * 3;
11

12 writeln('a: ',a);

13 writeln('b: ',b);

writeln('c: ',c);
14
writeln('d: ',d);
15
readln;
16
end.
17

18

Kali ini saya mendefenisikan variabel a, b, c dan d bertipe integer. Variabel a dan b langsung
diisi dengan nilai 1234 dan -1234, sedangkan variabel c dan d digunakan untuk menampung
operasi penambahan dan perkalian.

Terkait operasi aritmatika di dalam Pascal, akan saya bahas dalam tutorial tersendiri.

Pascal menganut sistem variabel bertipe, oleh karena itu jika sebuah variabel di defenisikan
sebagai integer, kita tidak bisa mengisinya dengan nilai lain seperti huruf, kalimat, atau
bahkan angka pecahan.

Sebagai contoh, jika saya mengisi huruf kedalam variabel integer, compiler Pascal akan
‘komplain’ dengan Error 26: Type mismatch:
1 program tipe_integer;

2 uses crt;

3 var

4 a:integer;
5 begin

6 clrscr;

a:='Duniailkom';
7
readln;
8
end.
9

Begitu juga jika kita menginput nilai yang diluar jangkauan integer, seperti kode berikut ini:

1
program tipe_integer;
2
uses crt;
3 var

4 a:integer;

5 begin

6 clrscr;

a:=32767;
7
readln;
8
end.
9
Kode errornya adalah Error 76: Constant out of range. Karena secara default tipe data
integer hanya bisa menampung nilai dari -32768 hingga 32767. Bagaimana jika angka yang
kita butuhkan lebih besar dari ini? Kita harus menggunakan tipe data selain ‘integer’.

Jenis-jenis Tipe Data Integer di dalam Pascal


Walaupun kita sudah menggunakan tipe data integer di dalam contoh kode program diatas,
tetapi ‘integer’ hanyalah salah satu tipe data angka bulat di dalam Pascal. Setidaknya terdapat
10 tipe data integer yang bisa digunakan. Tabel berikut merangkum seluruh tipe data integer
Pascal beserta jangkauan dan kapasitas memory yang dibutuhkan:

Type Range Ukuran (dalam byte)

Byte 0 .. 255 1

Shortint -128 .. 127 1

Smallint -32768 .. 32767 2

Word 0 .. 65535 2

Integer* antara smallint atau longint size 2 atau 4

Cardinal longword 4

Longint -2147483648 .. 2147483647 4

Longword 0 .. 4294967295 4
Int64 -9223372036854775808 .. 9223372036854775807 8

QWord 0 .. 18446744073709551615 8

Tabel diatas adalah tipe data integer yang tersedia didalam Free Pascal. Untuk Turbo Pascal
7, mungkin terdapat sedikit perbedaan.
* Dalam Free Pascal, secara default jangkauan tipe data integer sama dengan smallint,
namun dalam aplikasi Object Pascal seperti Delphi atau Lazarus, jangkauan tipe integer
sama dengan longint.
Berikut contoh penggunaan tipe data ini:

1 program tipe_integer;

2 uses crt;

var
3
a:shortint;
4
b:byte;
5
c:longint;
6
d:longword;
7
e:int64;
8 begin

9 clrscr;

10 a:=-128;

11 b:=255;

c:=-2147483648;
12
d:=4294967295;
13
e:=9223372036854775807;
14

15
writeln('a: ',a);
16
writeln('b: ',b);
17
writeln('c: ',c);
18 writeln('d: ',d);
19 writeln('e: ',e);

20 readln;
21 end.

22

23

Pada contoh program diatas saya mendefenisikan 5 variabel: a, b, c, d, dan e dengan berbagai
tipe variabel integer.

Tipe data integer yang kita pelajari disini sangat penting untuk dipahami, terutama tentang
jangkauan tipe-tipe data integer. Jika anda butuh jangkauan yang cukup besar, bisa
menggunakan tipe data longword atau int64.
utorial Belajar Pascal Part 13: Pengertian
dan Cara Penggunaan Tipe Data Real
Pascal
11 Sep 15 | Andre | Tutorial Pascal | 2 Comments
Setelah membahas tipe data integer pascal pada tutorial sebelumnya, kali ini kita akan
membahas tentang pengertian dan cara penggunaan tipe data real dalam bahasa pemrograman
pascal.

Pengertian Tipe Data Real Pascal


Dalam bahasa pemrograman Pascal, tipe data real digunakan untuk angka desimal (pecahan),
seperti 0.11, 3.14, atau 999.99. Tipe data ini dikenal juga dengan tipe data float atau floating
point.
Karena menggunakan format amerika, penulisan nilai real di dalam Pascal menggunakan
karakter titik sebagai penanda angka ‘desimal’, bukan karakter koma sebagaimana yang kita
gunakan sehari-hari.

Pascal mendukung beberapa tipe data yang termasuk kategori float,


yakni: Real, Single, Double, Extended, Comp dan Currency.

Cara Penggunaan Tipe Data Real Pascal


Untuk melihat cara penggunaan tipe data real, langsung saja kita lihat contoh kode
programnya:

1
2 program tipe_real;
3 uses crt;
4 var
a:real;
5 begin
6 clrscr;
7 a:=3.14;
8 writeln('a: ',a);
9
10 a:=999.99;
writeln('a: ',a);
11
12 a:= a + 0.01;
13 writeln('a: ',a);
14 readln;
15 end.
16
Dalam kode program diatas, saya mendeklarasikan variabel a sebagai tipe data real (baris ke-
4). Sepanjang kode program, variabel a ini diubah-ubah nilainya dan ditampilkan
menggunakan perintah writeln. Seperti apa hasilnya? Mari kita lihat:

Apa yang terjadi? Angka apa ini? Apakah kode kita terdapat error?

Tidak, ini memang format tampilan default dari Pascal, dimana tipe data real akan
ditampilkan dalam format angka scientific. Huruf E disini mewakili pangkat sepuluh,
sehingga angka:
 3.14000000000000E+000 = 3.14 * 100 = 3.14
 9.99990000000000E+002 = 9.9999 * 102 = 999.99
 1.00000000000000E+003 = 1 * 103 = 1000
Bagaimana jika kita ingin menampilkan angka-angka tersebut dengan tampilan ‘normal’?
Cukup dengan menambahkan beberapa karakter khusus di dalam perintah writeln. Berikut
contohnya:
1
2 program tipe_real;
3 uses crt;
4 var
a:real;
5 begin
6 clrscr;
7 a:=3.14;
8 writeln('a: ',[Link]);
9
10 a:=999.99;
writeln('a: ',[Link]);
11
12 a:= a + 0.01;
13 writeln('a: ',[Link]);
14 readln;
15 end.
16

Kali ini angka kita tampil sebagaimana mestinya.


Perintah tambahan di dalam writeln digunakan untuk menformat tampilan angka-angka ini.
Sebagai contoh, writeln(‘a: ‘,[Link]) berarti saya ingin menampilkan angka dari variabel a
dengan 4 digit sebelum tanda koma (tanda pemisah bilangan desimal), dan 2 digit setelah
tanda koma.
Sebagai contoh lain, writeln(‘b: ‘,[Link]) berarti saya ingin menampilkan angka dari variabel
b dengan 6 digit sebelum tanda koma dan 3 digit setelah tanda koma.
Contoh berikut ini akan memperjelas cara menformat tampilan angka real:

1
2 program tipe_real;
3 uses crt;
4 var
a,b,c:real;
5 begin
6 clrscr;
7 a:=123.456;
8 writeln('a: ',[Link]);
9
10 b:=999.999;
writeln('b: ',[Link]);
11
12 c:=6782.555555;
13 writeln('c: ',[Link]);
14 readln;
15 end.
16

Seperti yang terlihat, tampilan variabel real akan diformat sesuai dengan jumlah digit yang
ditetapkan. Selain itu, nilai-nilai ini juga akan dibulatkan. Sebagai contoh, variabel b akan
ditampilan dengan nilai 1000, bukan 999.999. Ini karena kita hanya menyediakan 2 angka
dibelakang koma, sehingga angka 9 yang ‘terpotong’ akan dibulatkan menjadi 10.
Contoh lain, angka 6782.555555 akan dibulatkan menjadi 6782.5556 karena
perintah writeln(‘c: ‘,[Link]) hanya menyediakan 4 digit dibelakang koma, sehingga digit ke-
5 dibulatkan menjadi 6.

Jenis-jenis Tipe Data Real di dalam Pascal


Sama seperti tipe data integer, Pascal mendukung berbagai jenis tipe data real yang
dibedakan menurut jangkauannya. Tabel berikut merangkum tipe-tipe data real yang terdapat
di dalam compiler Free Pascal:
Type Range Significant Ukuran (dalam
digits byte)

Real platform dependant* ???* 4–8

Single 1.5E-45 s/d 3.4E38 7-8 4

Double 5.0E-324 s/d 1.7E308 15-16 8

Extended 1.9E-4932 s/d 1.1E4932 19-20 10

Comp -2E64+1 s/d 2E63-1 19-20 8

-922337203685477.5808 s/d
Currency 922337203685477.5807 19-20 8
*Khusus untuk jangkauan tipe data real, bergantung kepada processor yang digunakan, dan
akan berbeda-beda.
Berikut contoh penggunaan berbagai tipe data ini:

1
2
3 program tipe_real;
uses crt;
4 var
5 a:real;
6 b:single;
7 c:double;
8 d:extended;
e:comp;
9 begin
10 clrscr;
11 a:=12345.6789;
12 b:=12345.6789;
13 c:=12345.6789;
d:=12345.6789;
14 e:=12345.6789;
15
16 writeln('a: ',[Link]);
17 writeln('b: ',[Link]);
18 writeln('c: ',[Link]);
writeln('d: ',[Link]);
19 writeln('e: ',[Link]);
20 readln;
21 end.
22
23
Dalam contoh diatas saya membuat 5 variabel: a, b, c, d, dan e dengan berbagai tipe
data real. Hampir semua memberikan hasil yang sama (kecuali single dan comp). Selain
jangkauan, setiap tipe data ini juga bisa memberikan hasil yang berbeda terutama untuk
proses perhitungan yang butuh ketelitian. Kita akan membahas hal ini pada tutorial
tentang operator Pascal.
Tutorial Belajar Pascal Part 14:
Pengertian dan Cara Penggunaan Tipe
Data Char Pascal
12 Sep 15 | Andre | Tutorial Pascal | 7 Comments

Melanjutkan tutorial belajar bahasa pemrograman pascal di duniailkom, kali ini kita akan
membahas tentang pengertian dan cara penggunaan tipe data char di dalam pascal.

Pengertian Tipe Data Char di Pascal


Tipe data Char adalah tipe data yang hanya bisa diisi dengan 1 karakter saja. Karakter
ini harus ditulis diantara tanda kutip. Karena hanya bisa diisi dengan 1 karakter saja, tipe data
char hanya membutuhkan 1 byte memory (1 byte = 8 bit).
Selain itu, variabel bertipe data char juga bisa diisi dengan urutan karakter ASCII. Ini akan
lebih mudah dijelaskan dengan menggunakan contoh kode program.
Di dalam compiler FreePascal, selain tipe data Char, didukung juga tipe
data AnsiChar dan WideChar.

Cara Penggunaan Tipe Data Char Pascal


Sesuai dengan pengertian sebelumnya, variabel bertipe data char hanya bisa diisi dengan 1
karakter yang ditulis diantara tanda kutip. Berikut contohnya:

1 program tipe_char;

uses crt;
2
var
3
a:char;
4
begin
5
clrscr;
6
a:='A';
7
writeln('a: ',a);
8

9 a:='9';

10 writeln('a: ',a);
11

12 a:='x';

13 writeln('a: ',a);

readln;
14
end.
15

16

Dalam contoh diatas, saya mendefenisikan variabel a dengan tipe data char, sehingga kita
bisa mengisinya dengan 1 karakter saja.
Yang perlu diperhatikan, penulisan angka untuk tipe data char juga harus menggunakan tanda
kutip. Karakter ‘9’ tidak boleh ditulis sebagai 9 (tanpa tanda kutip), karena jika tanpa tanda
kutip, ini adalah tipe data integer!. Berikut contohnya:
1
program tipe_char;
2
uses crt;
3 var

4 a:char;

5 begin

6 clrscr;

8 a:=9;

writeln('a: ',a);
9
readln;
10
end.
11

Jika anda menjalankan kode diatas, akan tampil pesan Error: Incompatible types: got
“ShortInt” expected “Char”. Oleh karena itu kita harus ingat untuk menambahkan tanda
kutip ini.
Membuat Karakter Char Berdasarkan Nomor ASCII
Selain menulis karakter secara langsung, tipe data char juga mendukung penulisan karakter
berdasarkan nomor urut tabel ASCII.
Karakter ASCII (American Standard Code for Information Interchange) adalah 256 karakter
dasar yang digunakan secara internal oleh komputer. Selain programmer, sangat jarang anda
akan berurusan dengan karakter ASCII ini, walaupun sebenarnya ia ada di setiap komputer.
Sebagaimana yang kita tahu, komputer hanya beroperasi berdasarkan 2
kondisi: hidup dan mati, atau on dan off. Selanjutnya kondisi off dan on dari ratusan juta
transistor di dalam komputer direpresentasikan dengan angka biner: 0 dan 1.
Agar sebuah komputer bisa ‘mengingat’ karakter, misalnya huruf ‘A’, kita perlu membuat
aturan bagaimana ‘A’ ini disimpan sebagai angka biner.
Salah satu standar ini adalah tabel karakter ASCII, dimana huruf ‘A’ disimpan dengan nilai
biner: 01000001, yang dalam bentuk desimal (basis 10) dikonversi menjadi angka 65. Oleh
karena itu, karakter ‘A’ berada pada urutan ke 65 dari tabel karakter ASCII. Daftar lengkap
tabel ASCII ini bisa anda lihat di [Link].
Kembali ke pembahasan tentang tipe data char di pascal, kita bisa menginput karakter
berdasarkan no urut tabel ASCII ini. Caranya, dengan menambahkan tanda pagar “#”
sebelum angka no urut.
Sebagai contoh, karakter ‘A’ yang mimiliki nilai ASCII: 65 bisa ditulis sebagai berikut:
a:=#65;
Berikut contoh lengkap kode programnya:

program tipe_char;
1
uses crt;
2
var
3
a:char;
4 begin

5 clrscr;

6 a:=#65;

7 writeln('a: ',a);

9 a:=#57;

writeln('a: ',a);
10

11
a:=#137;
12
writeln('a: ',a);
13
readln;
14
end.
15

16

Silahkan anda samakan urutan tabel ASCII untuk nilai ‘65’, ‘57’ dan ‘137’. Hasilnya sama
dengan karakter ‘A’, ‘9’ dan tanda permil (per million).
Tutorial Belajar Pascal Part 15:
Pengertian dan Cara Penggunaan Tipe
Data String Pascal
12 Sep 15 | Andre | Tutorial Pascal | 10 Comments

Tipe data char yang kita pelajari sebelumnya hanya mendukung 1 karakter saja. Untuk
menyimpan 2 karakter atau lebih, kita bisa menggunakan tipe data string di dalam Pascal.
Dalam tutorial kali ini akan dibahas tentang pengertian dan cara penggunaan tipe data string
pascal.

Pengertian Tipe Data String di dalam Pascal


Tipe data String adalah tipe data yang bisa menampung banyak karakter sekaligus. Secara
internal di dalam pascal, string merupakan array dari tipe data char.
Dalam compiler Turbo Pascal, maksimal jumlah karakter yang bisa ditampung di dalam
string adalah sebanyak 255 karakter. Compiler FreePascal menambahkan beberapa jenis
tipe data lain seperti AnsiString yang bisa menampung lebih banyak karakter (tidak
dibatasi).

Cara Penggunaan Tipe Data String Pascal


Untuk mendeklarasikan sebuah variabel sebagai string, kita tinggal menambahkannya di
bagian var. Berikut contoh penggunaannya:
1 program tipe_string;

uses crt;
2
var
3
a:string;
4
begin
5
clrscr;
6
a:='Duniailkom';
7
writeln('a: ',a);
8

9 a:='Sedang belajar Pascal';

10 writeln('a: ',a);
11

12 a:='12345678';

13 writeln('a: ',a);

readln;
14
end.
15

16

Pada kode program diatas, saya mendefinisikan variabel a sebagai string, kemudian
mengubah nilainya sepanjang kode program dan menampilkan hasilnya menggunakan
perintah writeln.
Secara default, tipe data string akan menyediakan tempat untuk 255 karakter. Kita bisa
menetapkan seberapa besar ‘ruang’ yang disediakan. Caranya, dengan menambahkan angka
di dalam kurung siku sebagai penanda jumlah karakter.
Sebagai contoh, perintah a: string[10] akan membuat variabel a hanya bisa diisi dengan 10
karakter saja. Jika karakter yang diinput lebih dari 10, sisanya akan dibuang. Berikut
contohnya:
1 program tipe_string;

2 uses crt;

var
3
a:string[10];
4
begin
5
clrscr;
6
a:='Duniailkom - Learn Programming';
7
writeln('a: ',a);
8

9 a:='Sedang belajar Pascal';

10 writeln('a: ',a);

11

12 a:='1234567890123456789';
13 writeln('a: ',a);

14 readln;

end.
15

16

Seperti yang terlihat, karakter yang bisa disimpan kedalam variabel a hanya 10 karakter saja.

Mengenal Tipe Data AnsiString FreePascal


Di dalam compiler Turbo Pascal, maksimal karakter yang bisa disimpan ke dalam string
adalah 255. Jika lebih dari itu, sisa karakter akan dibuang. Berikut contohnya:
1 program tipe_string;

2 uses crt;

3 var

4 a:string;

begin
5
clrscr;
6
a:='Pascal diambil dari nama ahli matematika prancis abad pertengahan, ' +
7
'Blaise Pascal. Bahasa Pascal di kembangkan oleh Niklaus Wirth pada ' +
8
'tahun 1970, dan populer digunakan pada era 1970 hingga awal 1990an. ' +
9
'Dari awal dikembangkan, Pascal dirancang untuk keperluan akademik. ' +
10 'Atas alasan itu pula Pascal masih digunakan di berbagai sekolah dan ' +

11 'universitas di seluruh dunia (termasuk Indonesia).';

12 writeln(a);

13 readln;

14 end.
15

Variabel a saya isi dengan string yang cukup panjang, tanda ‘ + ’ digunakan untuk
menyambung sebuah string dengan string lain, sehingga saya bisa memecahnya menjadi
beberapa baris. Ini adalah operator penyambungan string di dalam pascal.
Seperti yang terlihat, kalimat tersebut akan terpotong pada karakter ke 255.

Compiler FreePascal memperkenalkan tipe data AnsiString yang tidak membatasi jumlah
string. Berikut contoh penggunaannya:
1
program tipe_string;
2
uses crt;
3
var
4
a:ansistring;
5
begin
6 clrscr;

7 a:='Pascal diambil dari nama ahli matematika prancis abad pertengahan, ' +

8 'Blaise Pascal. Bahasa Pascal di kembangkan oleh Niklaus Wirth pada ' +

9 'tahun 1970, dan populer digunakan pada era 1970 hingga awal 1990an. ' +

'Dari awal dikembangkan, Pascal dirancang untuk keperluan akademik. ' +


10
'Atas alasan itu pula Pascal masih digunakan di berbagai sekolah dan ' +
11
'universitas di seluruh dunia (termasuk Indonesia).';
12
writeln(a);
13
readln;
14
end.
15
Kali ini seluruh kalimat akan ditampilkan, walaupun telah melebihi 255 karakter (yang
merupakan batasan tipe data string ‘biasa’). Jika anda menjalankan kode di atas di dalam
Turbo Pascal, hasilnya akan terdapat error, karena Turbo pascal tidak mengenal tipe
data ansistring.
Tutorial Belajar Pascal Part 16:
Pengertian dan Cara Penggunaan Tipe
Data Boolean Pascal
14 Sep 15 | Andre | Tutorial Pascal | 5 Comments

Apabila anda baru pertama kali mempelajari algoritma dan pemrograman, tipe data
booleanmungkin terasa asing, apalagi jika dibandingkan dengan tipe data ‘biasa’ yang telah
kita pelajari seperti angka (integer dan real) atau huruf (char dan string).
Dalam lanjutan tutorial belajar Pascal di duniailkom kali ini, saya akan membahas pengertian
dan cara penggunaan tipe data boolean pascal.

Pengertian Tipe Data Boolean Pascal


Tipe data boolean sebenarnya sangat serderhana. Tipe data ini hanya bisa diisi dengan salah
satu dari 2 nilai: TRUE atau FALSE. Tipe data boolean banyak digunakan untuk
percabangan kode program, atau untuk memutuskan apa yang mesti dijalankan ketika sebuah
kondisi terjadi.
Sebagai contoh, kita bisa membuat kode program untuk menentukan apakah sebuah angka
genap atau ganjil berdasarkan input dari pengguna. Untuk keperluan ini kita harus mengecek
terlebih dahulu apakah angka itu bisa dibagi 2 (untuk angka genap), atau tidak bisa dibagi 2
(untuk angka ganjil). Tipe data boolean bisa digunakan untuk menampung kondisi seperti ini,
benar atau salah (True atau False).
Contoh penggunaan tipe data boolean akan lebih jika anda telah mempelajari kondisi
percabangan program seperti IF (yang akan saya jelaskan pada tutorial terpisah). Untuk
sementara anda hanya perlu memahami bahwa tipe data boolean adalah tipe data yang hanya
memiliki 2 isi: TRUE atau FALSE.

Cara Penggunaan Tipe Data Boolean Pascal


Langsung saja kita lihat contoh program untuk mendefenisikan dan mengisi variabel dengan
tipe data boolean di pascal:
program tipe_boolean;
1
uses crt;
2
var
3
a:boolean;
4
begin
5
clrscr;
6

7 a:= true;

8 writeln('a: ',a);

9
a:= false;
10
writeln('a: ',a);
11

12
a:= not true;
13
writeln('a: ',a);
14

15
a:= not false;
16
writeln('a: ',a);
17

18 readln;

19 end.

20

21

Dalam contoh diatas, saya membuat variabel a sebagai boolean, kemudian mengisinya
dengan true dan false. Pada contoh ketiga dan keempat, saya menggunakan
perintah not untuk membalik nilai boolean. Perintah ‘not true’ akan menghasilkan false,
sedangkan ‘not false’ akan menghasilkan true.
Perhatikan bahwa nilai untuk boolean ini (true atau false) harus ditulis tanpa tanda kutip.
Jika anda menambahkan tanda kutip, ini menjadi string. Dengan kata lain ‘true’ tidak sama
dengan true (perhatikan tanda kutipnya).
Selain menulis langsung nilai boolean, kita juga bisa menginput hasilnya dari sebuah operasi
perbandingan. Berikut contohnya:

1 program tipe_boolean;
2 uses crt;

3 var

a:boolean;
4
begin
5
clrscr;
6

7
a:= 1=1;
8
writeln('a: ',a);
9

10
a:= 9<8;
11 writeln('a: ',a);

12

13 a:= 999<>998;

14 writeln('a: ',a);

15

16 a:= 'duniailkom' = '[Link]';

writeln('a: ',a);
17

18
readln;
19
end.
20

21

Salah satu konsep yang harus anda pahami di dalam pemrograman adalah penggunaan tanda
‘=’. Didalam pascal, tanda ini digunakan untuk operasi perbandingan, bukan pengisian ke
dalam sebuah variabel (operasi assignment).
Dengan kata lain, “a:= 1=1” berarti kita mengisi nilai variabel a dengan hasil dari
perbandingan “1=1”. Jadi apakah 1=1? Yup benar, yang di dalam bahasa inggris
menjadi: true. Oleh karena itulah variabel a akan diisi dengan nilai boolean true.
Pada contoh kedua, apakah “9<8”? salah!, karena 9 bukan lebih kecil dari delapan, sehingga
hasilnya: false.
Berikutnya, apakah “999<>998”? Tanda “<>” di dalam pascal bisa dibaca sebagai “tidak
sama dengan”, sehingga hasilnya adalah: true.
Contoh terakhir, apakah ‘duniailkom’ = ‘[Link]’? salah!, karena untuk ‘benar’,
kedua string harus mengandung karakter yang sama persis. Sehingga hasilnya adalah false.

Tipe data boolean yang dipelajari disini akan lebih jelas penggunaannya jika anda telah
mempelajari struktur logika percabangan kode program seperti IF. Saya akan menjelaskan
struktur alur kode program ini setelah pembahasan mengenai tipe data dan operator pascal.
Tutorial Belajar Pascal Part 17:
Pengertian dan Cara Penggunaan Tipe
Data Enumerated Pascal
14 Sep 15 | Andre | Tutorial Pascal | 4 Comments

Dalam tutorial pascal sebelum ini kita telah mempelajari 4 tipe dasar
pascal: integer, real, chardan boolean (di dalam pascal, tipe data string bukanlah tipe data
dasar karena merupakan arraydari char).
Pada tutorial ini dan beberapa tutorial selanjutnya kita akan masuk ke tipe data bentukan
pascal. Saya akan mulai dengan membahas pengertian dan cara penggunaan tipe data
enumerated dalam bahasa pemrograman pascal.

Pengertian Tipe Data Enumerated Pascal


Tipe data enumerated adalah tipe data khusus yang isinya bisa kita tentukan sendiri.
Sebagai contoh, kita bisa membuat tipe enumerated ‘warna’ yang
berisi: merah, kuning, biru dan ungu. Atau tipe enumerated ‘nama_hari’ yang berisi nama-
nama hari seperti senin, selasa, rabu, dst.
Tipe data enumerated sering juga disebut enumeration atau enum saja.

Cara Penggunaan Tipe Data Enumerated Pascal


Untuk membuat tipe data enumerated di pascal, kita harus menggunakan perintah type, baru
kemudian mendeklarasikannya menggunakan perintah var.
Sebagai contoh, jika saya ingin membuat tipe enum “nama_hari” yang berisi nama-nama
hari, harus mendefenisikannya sebagai berikut:
1 type

2 nama_hari= (senin,selasa,rabu,kamis,jumat,sabtu,minggu);

Setelah itu, baru diberikan ke dalam variabel:

1 var

2 a,b: nama_hari;

Sekarang variabel a dan b berisi tipe enum nama_hari. Berikut contoh kode program
lengkapnya:
1 program tipe_enumerated;

2 uses crt;
3 type

4 nama_hari= (senin,selasa,rabu,kamis,jumat,sabtu,minggu);

var
5
a,b: nama_hari;
6
begin
7
clrscr;
8

9
a:= senin;
10
writeln('a: ',a);
11

12 b:= minggu;

13 writeln('b: ',b);

14

15 readln;

16 end.

17

Perhatikan urutan pendefenisian tipe enum ‘warna’, dimana kita harus membuat isinya
terlebih dahulu (menggunaka keyword type), baru kemudian diberikan ke dalam variabel
(menggunakan keyword var).
Variabel a dan b dalam contoh diatas hanya bisa diisi dengan nilai yang ada di dalam tipe
data enum warna. Jika saya memberikan nama lain, compiler pascal akan
menghasilkan error, seperti contoh berikut:
program tipe_enumerated;
1
uses crt;
2
type
3
nama_hari= (senin,selasa,rabu,kamis,jumat,sabtu,minggu);
4
var
5 a,b: nama_hari;

6 begin

clrscr;
7

8
a:= januari;
9
writeln('a: ',a);
10

11
readln;
12
end.
13

14

Pada contoh diatas, saya mencoba memberikan nilai ‘januari’ ke dalam variabel a. Hasilnya,
compiler FreePascal akan menghasilkan error karena ‘januari’ tidak ada di dalam nama hari.
Selain itu perhatikan bahwa walaupun nama-nama hari diatas adalah kumpulan karakter
(string), kita tidak perlu memberikan tanda kutip.
Salah satu sifat tipe data enumerated di pascal, kita tidak bisa membuat nilai angka sebagai
bagian dari tipe data enumerated. Contoh berikut akan menghasilkan error:
program tipe_enumerated;
1
uses crt;
2
type
3
angka= (1,2,3,4,5);
4
var
5 a,b: angka;

6 begin

clrscr;
7

8
a:= 1;
9
writeln('a: ',a);
10

11
readln;
12
end.
13

14

Error diatas terjadi karena saya memberikan nilai angka (integer): 1,2,3,4,5 untuk tipe data
enum ‘angka’. Jika kita ingin membuat batasan seperti ini bisa menggunakan tipe
data subrange (akan dijelaskan dalam tutorial setelah ini).
Di dalam sebuah kode program pascal, kita juga bisa membuat lebih dari 1 tipe enum, seperti
contoh berikut:

program tipe_enumerated;
1
uses crt;
2
type
3
warna= (merah,kuning,biru,ungu,jingga);
4
angka= (satu,dua,tiga,empat,lima);
5 var

6 a: warna;

b: angka;
7
begin
8
clrscr;
9

10
a:= kuning;
11
writeln('a: ',a);
12

13
b:= tiga;
14 writeln('b: ',b);

15

16 readln;

17 end.

18

19

Pada contoh diatas, saya membuat 2 buah tipe data enumerated yang berisi nama-nama
warna dan nama angka, kemudian menampilkan isinya.
Tutorial Belajar Pascal Part 18:
Pengertian dan Cara Penggunaan Tipe
Data Subrange Pascal
16 Sep 15 | Andre | Tutorial Pascal | 4 Comments

Sama seperti tipe data enumerated, tipe data subrange juga merupakan tipe data yang
dibentuk sendiri. Kali ini saya akan membahas lebih dalam tentang pengertian dan cara
penggunaan tipe data subrange pascal.

Pengertian Tipe Data Subrange Pascal


Sesuai dengan namanya, tipe data subrange merupakan tipe data bentukan yang berasal dari
bagian (sub) tipe data lain yang berada dalam sebuah jangkauan (range).
Sebagai contoh, kita bisa membatasi sebuah tipe data “satuan” dimana hanya bisa diisi
dengan angka 1 hingga 9. Angka 1 sampai dengan 9 merupakan bagian (sub) dari tipe
data integer. Jika kita mencoba mengisi tipe data “satuan” ini dengan angka selain 1-9,
Pascal akan memberikan error.

Cara Penggunaan Tipe Data Subrange Pascal


Untuk membuat tipe data subrange, caranya hampir sama dengan tipe data enumerated,
dimana kita harus mendefenisikannya di bagian type, kemudan baru membuatnya sebagai
variabel di bagian var. Berikut contohnya:
1 program tipe_subrange;

uses crt;
2
type
3
satuan= 1..9;
4
var
5
a,b: satuan;
6
begin
7
clrscr;
8

9 a:= 2;

10 writeln('a: ',a);
11

12 b:= 7;

13 writeln('b: ',b);

14
readln;
15
end.
16

17

Dalam kode program diatas, saya mendefenisikan sebuah tipe data subrange ‘satuan’ dengan
angka 1 hingga 9. Tanda titik dua ‘..’ digunakan untuk membatasi seberapa jauh jangkauan
untuk satuan ini.
Jika saya ingin membuat tipe data ‘puluhan’ yang terdiri dari angka 11 hingga 99 maka
penulisannya adalah sebagai berikut:
1 type

2 satuan= 11..99;

Apa yang terjadi jika kita memberikan angka diluar jangkauan tipe data subrange? Berikut
contohnya:
1 program tipe_subrange;

uses crt;
2
type
3
satuan= 1..9;
4
var
5
a,b: satuan;
6
begin
7
clrscr;
8

9 a:= 10;

10 writeln('a: ',a);
11

12 readln;

13 end.

14

Hasilnya, compiler FreePascal akan menghasilkan error: range check error while
evaluating constants, yang artinya nilai tersebut berada di luar range (jangkauan) yang telah
ditetapkan, dimana saya mencoba memberikan nilai 10.
Kita tidak dibatasi untuk menggunakan angka saja, tapi bisa juga menggunakan karakter
huruf sebagai tipe data subrange. Berikut contohnya:
1 program tipe_subrange;

2 uses crt;

type
3
huruf= 'A'..'F';
4
var
5
a,b: huruf;
6
begin
7
clrscr;
8

9
a:= 'A';
10 writeln('a: ',a);

11

12 B:= 'C';

13 writeln('b: ',b);
14

15 readln;

16 end.

17

Kali ini saya membuat tipe data subrange ‘huruf’ yang dibatasi dari huruf ‘A’ hingga ‘F’.
Perhatikan tanda kutip untuk huruf-huruf ini, karena huruf tersebut adalah bagian (subrange)
dari tipe data char yang harus dibuat dengan tanda kutip.
Yang juga perlu diperhatikan, huruf ‘A’ tidak sama dengan huruf ‘a’, seperti contoh kasus
berikut:
1
program tipe_subrange;
2
uses crt;
3
type
4 huruf= 'A'..'F';

5 var

6 a,b: huruf;

7 begin

8 clrscr;

9
a:= 'a';
10
writeln('a: ',a);
11

12
readln;
13
end.
14

Kali ini saya mencoba memberikan nilai ‘a’ kepada variabel a yang didefenisikan sebagai
subrange ‘huruf’. Hasilnya?
Yup, Pascal kembali komplain karena huruf ‘a’ tidak ada di dalam subrange.
Walaupun sehari-hari kita menyamakan ‘A’ (huruf A besar) dengan ‘a’ (huruf ‘a’ kecil),
komputer tidak memahami hal ini. Jika anda telah mempelajari tutorial tentang tipe
data char, kedua karakter ini sebenarnya memiliki nomor ASCII yang berbeda, sehingga
hasilnya tidak sama.

Cara Penggunaan Tipe Data Subrange dari


Enumerated
Untuk membuatnya lebih kompleks (dan juga lebih fleksibel), kita bisa membuat tipe
data subrange dari yang isinya berasal dari tipe data enumerated. Langsung saja kita masuk
ke contoh programnya:
1 program tipe_enumeration;

2 uses crt;

type
3
nama_hari= (senin,selasa,rabu,kamis,jumat,sabtu,minggu);
4
hari_kerja= senin..jumat;
5
weekend= sabtu..minggu;
6
var
7
a:hari_kerja;
8 b:weekend;

9 begin

10 clrscr;

11
12 a:= kamis;

13 writeln('a: ',a);

14
b:= sabtu;
15
writeln('b: ',b);
16

17
readln;
18
end.
19

20

Contoh diatas saya ambil dari kode program dari tutorial tipe data enumeration, dimana saya
mendefenisikan nama_hari sebagai tipe data enumerated. Namun kali ini saya membuat
tipe data subrange hari_kerja dan weekend dari nama_hari.
Konsep penggabungan enumerated dan subrange ini mungkin cukup rumit, tapi jika anda
telah memahami tutorial sebelumnya tentang enumeration, saya rasa bisa memahami cara
kerja kode program diatas. Silahkan diubah-ubah dan lihat bagaimana hasilnya.
Tutorial Belajar Pascal Part 19:
Pengertian dan Cara Penggunaan Tipe
Data Array Pascal
26 Sep 15 | Andre | Tutorial Pascal | 22 Comments

Tipe data array merupakan tipe data yang hampir selalu hadir di dalam setiap bahasa
pemrograman. Dalam tutorial pascal kali ini saya akan membahas pengertian dan cara
penggunaan tipe data array di dalam bahasa pemrograman pascal.

Pengertian Tipe Data Array Pascal


Tipe data array adalah tipe data bentukan yang terdiri dari kumpulan tipe data lain.
Daripada membuat 10 variabel yang terdiri dari nama1, nama2, nama3, dst, akan lebih
efisien jika variabel nama ini disimpan ke dalam array.
Sebagai contoh, perhatikan kode program berikut ini:

1 program tipe_array;

2 uses crt;

3 var

nilai1, nilai2, nilai3, nilai4: integer;


4
begin
5
clrscr;
6

7
nilai1:= 23;
8
nilai2:= 13;
9
nilai3:= 98;
10
nilai4:= 106;
11

12 writeln('nilai1: ',nilai1);

13 writeln('nilai2: ',nilai2);

14 writeln('nilai3: ',nilai3);

15 writeln('nilai4: ',nilai4);
16

17 readln;

18 end.

19

Dalam contoh tersebut saya membuat 4 variabel: nilai1, nilai2, nilai3 dan nilai4. Keempat
variabel ini bertipe integer.
Tidak ada yang salah dari kode program diatas. Tapi bayangkan apabila kita ingin
menyimpan lebih dari 4 nilai, bagaimana jika 10 atau 100 nilai? Tentu tidak efisien jika kita
harus membuat variabel nilai1, nilai2, nilai3… sampai dengan nilai100. Untuk hal inilah tipe
data array lebih cocok digunakan.

Cara Penggunaan Tipe Data Array Pascal


Untuk membuat tipe data array di pascal, kita harus menentukan seberapa banyak element
array yang ingin dibuat. Element adalah sebutan untuk ‘anggota’ / isi dari array. Sebagai
contoh, untuk membuat 10 element array bertipe integer saya bisa menggunakan kode
berikut:
1 var

2 nilai: array[0..9] of integer;

Sekarang, variabel ‘nilai’ berisi array dengan 10 element bertipe integer. Perhatikan angka
0..9, ini berarti saya membuat element array dari element 0, element 1, element 2, element 3,..
hingga element 9 (total terdapat 10 element).

Bagaimana cara mengakses element ini? kita bisa mengaksesnya melalui


nomor index. Indexadalah urutan element di dalam sebuah array. Sebagai contoh, untuk
mengakses element ke – 2, kita bisa menulis: nilai[2]. Untuk mengakses element ke-6, bisa
menggunakan: nilai[6].
Berikut contoh kode program pascal cara penggunaan tipe data array:

program tipe_array;
1
uses crt;
2
var
3
nilai: array[0..9] of integer;
4

5
begin
6
clrscr;
7
8 nilai[0]:= 23;

9 nilai[1]:= 13;

nilai[2]:= 98;
10
nilai[3]:= 106;
11

12
writeln('nilai0: ',nilai[0]);
13
writeln('nilai1: ',nilai[1]);
14
writeln('nilai2: ',nilai[2]);
15
writeln('nilai3: ',nilai[3]);
16

17 readln;

18 end.

19

20

Pada contoh diatas, saya membuat variabel ‘nilai’ sebagai array yang berisi 10
element integer. Di dalam variabel ‘nilai’ ini, index array dimulai dari 0 hingga 9, karena
saya menulisnya dengan array[0..9] of integer. Jika anda ingin membuat 100 element array,
bisa menulisnya sebagai array[0..99] of integer.
Walaupun saya membuat 10 element, tapi kita tidak harus mengisi semua element ini. Pada
contoh tersebut, saya hanya mengisi 4 element. Bagaimana dengan element lainnya? ini akan
menggunakan nilai default (bawaan) pascal, biasanya berisi angka 0 untuk tipe data integer.
Selain itu, kita juga tidak harus mengisinya secara berurutan. Kita bisa mengisi element-
element array ini secara acak, selama masih dalam batas yang ditetapkan. Berikut contohnya:

1 program tipe_array;

2 uses crt;

3 var

4 nilai: array[0..9] of integer;


5

6 begin

7 clrscr;

8
nilai[3]:= 23;
9
nilai[9]:= 13;
10
nilai[2]:= 98;
11
nilai[0]:= 106;
12

13
writeln('nilai3: ',nilai[3]);
14
writeln('nilai9: ',nilai[9]);
15 writeln('nilai2: ',nilai[2]);

16 writeln('nilai0: ',nilai[0]);

17

18 writeln('nilai1: ',nilai[1]);

19 writeln('nilai7: ',nilai[7]);

20
readln;
21
end.
22

23

Kali ini saya mengisi element secara acak, dan juga saya menampilkan
element nilai[1] dan nilai[7] yang memang tidak diisi dengan nilai. Hasilnya? pascal akan
menggunakan nilai default: 0.
Bagaimana jika kita melewati batas element array? Misalnya saya mengakses element ke 10?
Pascal akan meneluarkan error: Range check error while evaluating constants.
Kita tidak hanya bisa membuat array bertipe integer saja, tapi juga bisa menggunakan tipe
lain seperti real, char atau string. Berikut contohnya:
1
program tipe_array;
2
uses crt;
3
var
4
kata: array[20..29] of string[20];
5
begin
6 clrscr;

8 kata[24]:= 'Sedang ';

9 kata[25]:= 'belajar pascal ';

10 kata[26]:= 'di ';

11 kata[27]:= '[Link]';

12
write(kata[24]);
13
write(kata[25]);
14
write(kata[26]);
15
write(kata[27]);
16

17
readln;
18
end.
19

Saya membuat variabel kata dengan array berjumlah 10 element yang masing-masing isinya
adalah string[20].
Anda bisa lihat bahwa saya menggunakan penomoran array mulai dari 20 hingga 29. Ini tidak
menjadi masalah, selama kita juga mengaksesnya dengan index yang sesuai. Berikut hasil
yang didapat:

Pembahasan mengenai array cukup banyak, oleh karena itu saya akan pecah menjadi
beberapa tutorial.
Tutorial Belajar Pascal Part 20: Cara
Membuat Array 2 Dimensi Pascal
26 Sep 15 | Andre | Tutorial Pascal | 6 Comments

Dalam tutorial pascal sebelumnya, kita telah mempelajari pengertian dan cara penggunaan
tipe data array. Kali ini saya akan masih membahas tentang array, yakni cara membuat array
2 dimensi pascal.

Array 1 Dimensi Pascal


Contoh array yang telah kita pelajari pada tutorial sebelumnya adalah array 1 dimensi,
dimana setiap element array hanya terdiri satu ‘lapis’, seperti contoh berikut:
1
program tipe_array;
2
uses crt;
3
var
4
nilai: array[0..2] of integer;
5 begin

6 clrscr;

8 nilai[0]:= 10;

9 nilai[1]:= 20;

10 nilai[2]:= 30;

11
writeln('nilai1: ',nilai[0]);
12
writeln('nilai2: ',nilai[1]);
13
writeln('nilai3: ',nilai[2]);
14

15
readln;
16
end.
17
Maksud dari 1 dimensi disini adalah, setiap element array dibahas dengan 1 index,
seperti nilai[0], nilai[1] dan nilai[2].

Array 2 Dimensi Pascal


Untuk penggunaan yang lebih rumit, array 1 dimensi tidak cocok lagi. Sebagai contoh, di
dalam matematika kita menggunakan grafik/diagram kartesius yang titik koordinatnya
menggunakan komposisi sumbu x dan sumbu y. Sebagai contoh A(3,4) berarti titik A berada
di posisi 3 pada sumbu x, dan 4 pada sumbu y.
Untuk mempermudah dalam pembuatan program yang melibatkan 2 sumbu atau 2 dimensi
ini, kita bisa menggunakan array 2 dimensi.
Cara penulisan array 2 dimensi adalah dengan menuliskan dua angka (dua jangkauan)
sewaktu deklarasi array. Berikut contohnya:

1 var

2 nilai: array[0..1,0..2] of integer;

Kode diatas berarti saya membuat variabel ‘nilai’ sebagai array 2 dimensi. Dimana untuk
dimensi pertama berisi 0 dan 1, sedangkan di dimensi kedua berisi 0, 1 dan 2. Total, variabel
‘nilai’ berisi 6 element (hasil dari 2 * 3).
Cara mengakses element pada array 2 dimensi ini menggunakan tanda koma sebagai
pemisah, seperti: nilai[0,2] atau nilai[1,1].
Contoh berikut akan memperjelas cara penggunaanya:

1
program tipe_array;
2 uses crt;

3 var

4 nilai: array[0..1,0..2] of integer;

5 begin

clrscr;
6

7
nilai[0,0]:= 1;
8
9 nilai[0,1]:= 2;

10 nilai[0,2]:= 3;

nilai[1,0]:= 4;
11
nilai[1,1]:= 5;
12
nilai[1,2]:= 6;
13

14
writeln('nilai0,0: ',nilai[0,0]);
15
writeln('nilai0,1: ',nilai[0,1]);
16
writeln('nilai0,2: ',nilai[0,2]);
17 writeln('nilai1,0: ',nilai[1,0]);

18 writeln('nilai1,1: ',nilai[1,1]);

19 writeln('nilai1,2: ',nilai[1,2]);

20

21 readln;

end.
22

23

Silahkan anda pelajari sejenak kode diatas, baik cara pembuatan array 2 dimensi maupun cara
mengakses tiap-tiap elemennya. Menggunakan array 2 dimensi ini akan memudahkan kita
untuk membuat kode program yang lebih kompleks.

Contoh lain yang sering menggunakan array 2 dimensi adalah untuk membuat struktur
matriks. Berikut contohnya:
program tipe_array;
1
uses crt;
2
var
3
nilai: array[0..1,0..1] of integer;
4 begin

5 clrscr;

6
nilai[0,0]:= 1;
7
nilai[0,1]:= 2;
8
nilai[1,0]:= 4;
9
nilai[1,1]:= 5;
10

11
write (nilai[0,0],' ');
12
writeln(nilai[0,1]);
13
write (nilai[1,0],' ');
14
writeln(nilai[1,1]);
15

16 readln;

17 end.

18

19

Contoh kali ini hampir mirip dengan contoh kode program pascal sebelumnya, tapi saya
membatasi dengan element 2×2 (perhatikan cara pendeklarasikan variabel ‘nilai’). Ketika
menampilkan hasil array, saya menyusunnya agar sesuai dengan bentuk matriks 2×2. Ini
didapat dengan perpaduan perintah write dan writeln.
Sebagai latihan, dapatkah anda membuat struktur matriks 3×3?

Array 3 Dimensi Pascal


Secara teori, dimensi untuk array di dalam pascal tidak terbatas. Kita juga bisa membuat
array 3 dimensi. Ini diperlukan jika koordinat cartesius terdiri dari sumbu x, sumbu y,
dan sumbu z. Cara pembuatannya juga hampir sama.
Sebagai contoh, jika saya ingin membuat array 3 dimensi 2x3x4 bisa ditulis sebagai:
1 var

2 nilai: array[0..1,0..2,0..3] of integer;

Sampai disini, saya yakin anda sudah paham maksud kode diatas. Cara pengaksesannya pun
cukup dengan menambahkan dimensi ketiga di nomor index, seperti nilai[1,2,3] atau
nilai[0,0,1]. Berikut contohnya:

1
program tipe_array;
2
uses crt;
3
var
4 nilai: array[0..1,0..2,0..3] of integer;

5 begin

6 clrscr;

8 nilai[0,0,2]:= 2;

9 writeln(nilai[0,0,2]);

10
nilai[1,2,3]:= 999;
11
writeln(nilai[1,2,3]);
12

13
readln;
14
end.
15

Setelah mempelajari cara pembuatan array 2 dimensi (dan 3 dimensi),


Tutorial Belajar Pascal Part 21:
Pengertian dan Cara Membuat Array
Dinamis Pascal
27 Sep 15 | Andre | Tutorial Pascal | 19 Comments

Dalam 2 tutorial pascal sebelumnya kita telah mempelajari cara membuat tipe data array yang
jumlah element-nya bersifat tetap (fixed). Selain itu, pascal juga mendukung array dinamis
(dynamic arrays) dimana ukuran array belum ditulis pada saat array dideklarasikan.
Pada lanjutan tutorial pascal di duniailkom ini saya akan membahas tentang cara membuat
array dinamis dalam bahasa pemrograman pascal.

Pengertian Fixed Array Pascal


Fixed array adalah sebutan untuk array yang jumlah element-nya bersifat tetap. Contoh-
contoh kode program dalam 2 tutorial sebelum ini, saya selalu menggunakan fixed array,
dimana ukuran array sudah ditentukan pada saat array dibuat.
Sebagai contoh, kode program:

1 var

2 nilai: array[0..9] of integer;

Berarti kita membuat array integer yang terdiri dari 10 element (0, 1, 2, 3 … 9).

Contoh lain, kode program:

1 var

2 kata: array[0..2,0..2] of string[20];

Berarti kita membuat array string dengan 9 element, yakni 3 untuk dimensi pertama, dan 3
untuk dimensi kedua (3*3=9). Mulai dari kata[0,0], kata[0,1] hingga kata [2,2].
Dalam kedua contoh ini ukuran array sudah diketahui pada saat array dideklarasikan.

Pengertian Dynamic Array Pascal


Dynamic array adalah tipe array yang jumlah element-nya belum ditentukan (masih nol).
Contoh penulisannya adalah sebagai berikut:
1 var

2 nilai: array of integer;


3 kata: array of string[20];

Jadi, berapa jumlah element di dalam array ini? Jumlah element akan ditentukan
menggunakan fungsi setlength() di bagian kode program utama. Sebagai contoh, jika saya
ingin variabel ‘nilai’memiliki 10 element, saya tinggal menulis setlength(nilai, 10).
Langsung saja kita masuk kedalam contoh kode programnya:
1
program tipe_array;
2
uses crt;
3
var
4
nilai: array of integer;
5
begin
6 clrscr;

7 setlength(nilai,10);

9 nilai[0]:= 1;

10 nilai[6]:= 2;

nilai[9]:= 4;
11

12
writeln('nilai 0: ',nilai[0]);
13
writeln('nilai 6: ',nilai[6]);
14
writeln('nilai 9: ',nilai[9]);
15

16
readln;
17
end.
18

Pada saat variabel ‘nilai’ dideklarasikan sebagai array, kita belum mengetahui berapa jumlah
element array tersebut. Barulah di dalam kode program, fungsi setlength(nilai,10) akan
menetapkan bahwa array ‘nilai’ akan berisi 10 element. Perhitungan 10 element ini dimulai
dari index 0 hingga 9.
Kalau jumlah element array tetap ditulis, dimana letak dinamisnya?
Di dalam pascal, jumlah element suatu array memang harus ditulis, tapi dalam array dinamis,
jumlah element ini ditentukan di dalam kode program utama, bukan pada saat di
deklarasikan.

Oleh karena itu nantinya kita bisa menentukan jumlah element array berdasarkan kondisi
tertentu (menggunakan struktur logika IF), misalnya jika syarat terpenuhi, set jumlah
element 1000, jika tidak set jumlah element array menjadi 10.

Jika anda telah mempelajari pointer, array dinamis juga bisa dibuat menggunakan pointer, tapi
caranya lebih rumit daripada menggunakan fungsi setlength().

Untuk array 2 dimensi, kita tinggal men-set 2 buah batasan element array, seperti contoh
berikut:

program tipe_array;
1
uses crt;
2
var
3
nilai: array of array of integer;
4
begin
5 clrscr;

6 setlength(nilai,4,4);

8 nilai[0,0]:= 34;

9 nilai[2,3]:= 99;

nilai[3,0]:= 15;
10

11
writeln('nilai [0,0]: ',nilai[0,0]);
12
writeln('nilai [2,3]: ',nilai[2,3]);
13
writeln('nilai [3,0]: ',nilai[3,0]);
14

15
readln;
16
end.
17

18

Perhatikan cara penulisan variabel nilai. Kita membuatnya sebagai array of array of integer,
yang berarti ini adalah array 2 dimensi dengan tipe integer. Untuk men-set batasan jumlah
element array, saya menggunakan fungsi setlength(nilai,4,4). Fungsi ini akan membuat
variabel ‘nilai’ berisi 25 element (hasil dari 5*5 = 25).
Tutorial Belajar Pascal Part 22: Cara
Membuat Array dari Tipe Data Bentukan
Pascal
27 Sep 15 | Andre | Tutorial Pascal | 5 Comments

Melajutkan tutorial tentang array di dalam bahasa pemrograman pascal, kali ini saya akan
membahas tentang cara membuat array dari tipe data bentukan.

Membuat Array dari Tipe Data Standar


Dalam tutorial tentang array sebelumnya, secara tidak langsung kita telah membuat array
menggunakan tipe data standar pascal, yakni integer, string atau char. Ditambah dengan tipe
data boolean dan real, kelimanya merupakan tipe data standar bawaan pascal (atau dikenal
juga dengan tipe data skalar).

Membuat Array dari Tipe Data Bentukan


Tipe data bentukan (user-defined data types) adalah sebutan untuk tipe data yang dibentuk
sendiri. Hingga tutorial ini, kita telah membahas 2 buah tipe data bentukan,
yakni enumerationdan subrange.
Uniknya, tipe data bentukan ini juga bisa menggunakan sebagai element array. Langsung saja
kita simak contoh kode program berikut ini:

1 program tipe_array;

uses crt;
2
type
3
nama_hari= (senin,selasa,rabu,kamis,jumat,sabtu,minggu);
4
usia= 0..99;
5
var
6
hari: array[0..9] of nama_hari;
7
umur: array[0..9] of usia;
8 begin

9 clrscr;

10
11 hari[1]:= senin;

12 hari[9]:= sabtu;

13
umur[3]:= 17;
14
umur[8]:= 80;
15

16
writeln('hari [1]: ',hari[1]);
17
writeln('hari [9]: ',hari[9]);
18
writeln('umur [3]: ',umur[3]);
19
writeln('umur [8]: ',umur[8]);
20

21 readln;

22 end.

23

24

Dalam kode diatas saya membuat 2 buah tipe data bentukan, yakni nama_hari yang
merupakan tipe data enumeration dan umur yang merupakan tipa data subrange. Setelah
deklarasi kedua tipe data ini, saya kemudian ‘memasukkannya’ ke dalam
variabel hari dan umur. Keduanya merupakan array dari tipe data nama_hari dan usia.
Jika anda kurang paham tentang maksud keduanya, silahkan pelajari tutorial tipe data
enumeration pascal dan tutorial subrange pascal.
Selebihnya, cara penggunaannya sama seperti biasa, kecuali kita dibatasi kepada batasan
yang dibuat. Sebagai contoh, variabel hari hanya bisa diisi dengan nama-nama hari yang
telah dideklarasikan pada bagian type. Untuk variabel umur, juga tidak bisa diisi dengan
angka lebih dari 100.
Tutorial Belajar Pascal Part 23:
Pengertian dan Cara Penggunaan Tipe
Data Record Pascal
27 Sep 15 | Andre | Tutorial Pascal | 15 Comments

Setelah membahas tentang tipe data array pascal dalam 4 tutorial sebelum ini, kita akan
beralih ke tipe data bentukan lainnya, yakni record. Kali ini saya akan membahas
tentang pengertian dan cara penggunaan tipe data record dalam bahasa pemrograman pascal.

Pengertian Tipe Data Record Pascal


Tipe data record adalah tipe data khusus yang komponennya terdiri dari berbagai jenis tipe
data lain. Sebuah record berisi beberapa variabel lain yang ‘dipaketkan’. Konsep struktur
data seperti ini sedikit mirip dengan konsep object dalam bahasa pemrograman modern
(walaupun di dalam pascal juga terdapat konsep tentang object).
Record juga mirip dengan array, dimana kita bisa membuat sebuah variabel yang berisi
berbagai element. Perbedaannya, record bisa menampung berbagai jenis tipe data, tidak
hanya 1 tipe data seperti array.

Cara Penggunaan Tipe Data Record Pascal


Untuk membuat record di dalam pascal, kita bisa mendeklarasikannya di bagian type atau di
bagian var. Jika digunakan di dalam bagian var, cara penulisannya adalah sebagai berikut:
1
var
2 nama_record:

3 record

4 variabel: tipe_data;

5 variabel: tipe_data;

variabel: tipe_data;
6
end;
7

Perhatikan bahwa untuk membuat record, diawali dengan nama_record. Ini adalah variabel
yang akan menampung seluruh isi record. Setelah itu, pembuatan ‘isi’ record berada di antara
perintah record dan end;. Disinilah seluruh variabel yang menjadi ‘isi’ record di defenisikan.
Sebagai contoh, saya akan membuat sebuah record ‘siswa’ yang terdiri
dari nama, umur, sekolah, dan kota. Berikut cara penulisannya:
1
var
2 siswa: record

3 nama: string[20];

4 umur: integer;

5 sekolah: string[30];

kota: string[20];
6
end;
7

Sekarang, variabel ‘siswa’ adalah tipe data record yang terdiri dari nama, umur, sekolah,
dan kota. Bagaimana cara mengakses record ini?
Untuk mengakses variabel di dalam record (atau disebut juga sebagai field), digunakan
karakter titik ( . ), seperti contoh berikut:
1 [Link]:= 'Anto';

2 [Link]:= 17;

3 [Link]:= 'SMA 1 Durian Runtuh';

4 [Link]:= 'Pelembang';

Dalam kode diatas, saya mengisi beberapa data kedalam record ‘siswa’. Perhatikan bahwa isi
masing-masingnya harus bersesuaian dengan tipe data sewaktu kita merancang record.
Untuk nama, bisa diisi dengan string[20], sedangkan untuk umur bisa diisi dengan angka
bulat (integer).
Berikut kode lengkap cara penggunaan struktur record di dalam pascal:

program tipe_record;
1
uses crt;
2
var
3 siswa: record

4 nama: string[20];

5 umur: integer;

6 sekolah: string[30];

kota: string[20];
7
end;
8
begin
9
clrscr;
10
11 [Link]:= 'Anto';

12 [Link]:= 17;

[Link]:= 'SMA 1 Durian Runtuh';


13
[Link]:= 'Pelembang';
14

15
writeln('Nama : ',[Link]);
16
writeln('Umur : ',[Link]);
17
writeln('Sekolah : ',[Link]);
18
writeln('Kota : ',[Link]);
19

20 readln;

21 end.

22

23

24

Pada kode diatas, saya membuat sebuah record siswa, mengisinya dengan beberapa data,
kemudian menampilkan isi record menggunakan perintah writeln.
Tutorial Belajar Pascal Part 24: Fungsi
Perintah With pada Tipe data Record
Pascal
28 Sep 15 | Andre | Tutorial Pascal | 8 Comments

Setelah membahas pengertian tipe data record dan cara penggunaan tipe data record pascal,
kali ini saya akan membahas perintah with yang bisa digunakan untuk mengakses isi record
dalam bahasa pemrograman pascal.
Perintah with ini akan memudahkan pengaksesan isi atau field dari record.

Cara Mengakses Field Record dalam Pascal


Seperti yang telah kita pelajari, untuk mengakses isi record, atau dikenal dengan
istilah fieldrecord, kita menggunakan tanda titik. Sebagai contoh, jika saya memiliki
record ‘siswa’ berikut:
1
var
2 siswa: record

3 nama: string[20];

4 umur: integer;

5 sekolah: string[30];

kota: string[20];
6
end;
7

Untuk mengakses field record siswa tersebut harus ditulis dengan


format nama_record.field_record, seperti berikut ini:
1 [Link]:= 'Anto';

2 [Link]:= 17;

3 [Link]:= 'SMA 1 Durian Runtuh';

4 [Link]:= 'Pelembang';

Perintah [Link]:= ‘Anto’ berarti saya ingin mengisi field nama dari
record siswa dengan nilai ‘Anto’.

Fungsi perintah With dalam Pascal


Selain cara pengaksesan diatas, pascal menyediakan keyword atau perintah with.
Perintah with ini bisa digunakan untuk menyederhanakan pengaksesan isi record.
Sebagai contoh, proses pengisian record siswa sebelumnya bisa ditulis menjadi:

1
with siswa do
2 begin

3 nama:= 'Anto';

4 umur:= 17;

5 sekolah:= 'SMA 1 Durian Runtuh';

kota:= 'Pelembang';
6
end;
7

Kode program diatas diawali dengan perintah “with siswa do” ini merupakan instruksi
kepada pascal bahwa kita ingin akan mengakses isi dari record siswa. Setelah perintah with,
kita harus membatasi block kode program dengan perintah begin hingga end; Diantara blok
inilah pengaksesan record dengan with dilakukan.
Perhatikan cara pengaksesan isi/field dari record siswa. Saya tidak perlu membuat nama
variabel record “[Link]”, tetapi cukup “nama” saja. Ini akan memudahkan penulisan
kode program, terutama jika record yang diisi cukup banyak.
Berikut contoh lengkap kode program pascal dengan perintah with:

1 program tipe_record;

2 uses crt;

3 var

4 siswa: record

nama: string[20];
5
umur: integer;
6
sekolah: string[30];
7
kota: string[20];
8
end;
9
begin
10 clrscr;

11 with siswa do

12 begin

13 nama:= 'Anto';
14 umur:= 17;

15 sekolah:= 'SMA 1 Durian Runtuh';

kota:= 'Pelembang';
16
end;
17

18
writeln('Nama : ',[Link]);
19
writeln('Umur : ',[Link]);
20
writeln('Sekolah : ',[Link]);
21
writeln('Kota : ',[Link]);
22

23 readln;

24 end.

25

26

Lebih jauh lagi, kita bisa melingkupi seluruh kode program dengan perintah with.
program tipe_record;
1
uses crt;
2
var
3
siswa: record
4
nama: string[20];
5 umur: integer;

6 sekolah: string[30];

7 kota: string[20];

8 end;

begin
9
clrscr;
10
with siswa do
11
begin
12
nama:= 'Anto';
13
umur:= 17;
14 sekolah:= 'SMA 1 Durian Runtuh';

15 kota:= 'Pelembang';

16
writeln('Nama : ',nama);
17
writeln('Umur : ',umur);
18
writeln('Sekolah : ',sekolah);
19
writeln('Kota : ',kota);
20
end;
21

22
readln;
23 end.

24

25

26

Penggunaan perintah with seperti ini hanya bisa digunakan selama di dalam block kode
program tersebut kita tidak mengakses record lain. Jika butuh untuk mengakses record lain,
kita harus keluar dari block with terlebih dahulu (menggunakan perintah end;).

Perintah with yang kita pelajari disini cocok digunakan untuk mempermudah pengaksesan
record, terutama jika record tersebut memiliki banyak field.
Tutorial Belajar Pascal Part 25: Cara
Membuat Array dari Struktur Data Record
Pascal
29 Sep 15 | Andre | Tutorial Pascal | 15 Comments

Melihat judul tutorial kali ini mungkin terdengar sedikit rumit. Tapi jika anda sudah
memahami cara penggunaan tipe data array dan tipe data record pascal (yang telah kita bahas
sebelumnya) , pembahasan kali ini bisa dipahami dengan mudah.
Kali ini saya akan saya akan menggabungkan tipe data array dengan tipe data record, atau
lebih tepatnya membuat array dari struktur data record di dalam bahasa pemrograman pascal.

Cara Membuat Tipe Data Record Bentukan


Pada 2 tutorial record pascal sebelum ini, saya membuat record di bagian var kode program
pascal. Kali ini saya akan memindahkannya ke bagian type. Dengan demikian, record akan
menjadi tipe data bentukan yang nantinya bisa digunakan sebagai basis dari array.
Sebagai contoh, saya kembali menggunakan record data ‘siswa’. Sebelumnya kita
mendefenisikan record siswa di bagian var, seperti contoh berikut ini:
1
var
2 siswa: record

3 nama: string[20];

4 umur: integer;

5 sekolah: string[30];

kota: string[20];
6
end;
7

Saya akan memindahkannya kepada bagian type, kemudian mengaksesnya dari bagian var:
type
1
rec_siswa =
2
record
3
nama: string[20];
4
umur: integer;
5
sekolah: string[30];
6 kota: string[20];
7 end;

9 var

siswa: rec_siswa;
10

11

Tampak sedikit perubahan, dimana kali ini saya menggunakan variabel ‘rec_siswa’ sebagai
penampung tipe data bentukan record, baru kemudian ‘memasukkannya’ ke dalam variabel
‘siswa’.
Berikut kode program lengkap cara pembuatan record di bagian type pascal:
1 program tipe_record;

uses crt;
2

3
type
4
rec_siswa =
5
record
6
nama: string[20];
7
umur: integer;
8 sekolah: string[30];

9 kota: string[20];

10 end;

11

12 var

siswa: rec_siswa;
13

14
begin
15
clrscr;
16
with siswa do
17
begin
18
nama:= 'Anto';
19 umur:= 17;

20 sekolah:= 'SMA 1 Durian Runtuh';


21 kota:= 'Pelembang';

22

23 writeln('Nama : ',nama);

writeln('Umur : ',umur);
24
writeln('Sekolah : ',sekolah);
25
writeln('Kota : ',kota);
26
end;
27

28
readln;
29
end.
30

31

32

Selain memindahkan record ‘siswa’ ke bagian type, saya juga menggunakan


perintah with untuk memudahkan pengaksesan isi array. Ini sudah kita bahas pada tutorial
sebelumnya: Fungsi dan cara penggunaan perintah with pada record.

Cara Membuat Array dari Struktur Data Record


Setelah memindahkan record ke bagian type, kita bisa membuat array berdasarkan record
ini. Melanjutkan contoh record siswa, cara pembuatan array-nya adalah sebagai berikut:
1 var

2 siswa: array [0..5] of rec_siswa;

Kode program ini akan membuat variabel siswa berisi 5 element array yang setiap element-
nya adalah record. Terasa membingungkan?
Untuk mengakses element ini, kita juga harus menggunakan index array. Sebagai contoh,
untuk mengakses element pertama, yang memiliki index 0, kita bisa menulis sebagai berikut:
1 siswa[0].nama:= 'Anto';

2 siswa[0].umur:= 17;

3 siswa[0].sekolah:= 'SMA 1 Durian Runtuh';

4 siswa[0].kota:= 'Pelembang';

Bagaimana untuk element kedua (ber-index 1)?


1 siswa[1].nama:= 'Santi';

2 siswa[1].umur:= 18;

3 siswa[1].sekolah:= 'SMA 1 Merdeka';

4 siswa[1].kota:= 'Makasar';

Seperti yang terlihat, kita mengkombinasikan pengaksesan index array dengan record.
Berikut kode program lengkap cara penggabungkan array dengan record ini:
1 program tipe_record_array;

uses crt;
2

3
type
4
rec_siswa =
5
record
6
nama: string[20];
7
umur: integer;
8 sekolah: string[30];

9 kota: string[20];

10 end;

11

12 var

siswa: array [0..5] of rec_siswa;


13

14
begin
15
clrscr;
16

17
siswa[0].nama:= 'Anto';
18
siswa[0].umur:= 17;
19
siswa[0].sekolah:= 'SMA 1 Durian Runtuh';
20 siswa[0].kota:= 'Pelembang';

21

22 writeln('Nama : ',siswa[0].nama);
23 writeln('Umur : ',siswa[0].umur);

24 writeln('Sekolah : ',siswa[0].sekolah);

writeln('Kota : ',siswa[0].kota);
25

26
writeln;
27

28
siswa[1].nama:= 'Santi';
29
siswa[1].umur:= 18;
30
siswa[1].sekolah:= 'SMA 1 Merdeka';
31
siswa[1].kota:= 'Makasar';
32

33 writeln('Nama : ',siswa[1].nama);

34 writeln('Umur : ',siswa[1].umur);

35 writeln('Sekolah : ',siswa[1].sekolah);

36 writeln('Kota : ',siswa[1].kota);

37
readln;
38
end.
39

40

41

42
Semoga anda bisa memahami maksud dari kode program diatas. Sebagai latihan, dapatkah
anda melanjutkannya hingga element ke-6 (yang memiliki index array 5)?

Tutorial kali ini sekaligus menutup 3 tutorial yang membahas tipe data record pascal.
Tutorial Belajar Pascal Part 26:
Pengertian dan Cara Penggunaan Tipe
Data Set Pascal
29 Sep 15 | Andre | Tutorial Pascal | 3 Comments

Melanjutkan tutorial belajar tentang tipe data pascal, kali ini saya akan membahas pengertian
dan cara penggunaan tipe data set di dalam pascal.
Tipe data set digunakan untuk membuat operasi himpunan.

Pengertian Tipe Data Set Pascal


Tipe data set adalah tipe data yang terdiri dari kelompok data yang sama. Ini sedikit mirip
dengan tipe data enumeration, dimana kita bisa menentukan sendiri isi dari tipe data set.
Secara khusus, tipe data set ini sangat mirip dengan konsep himpunan di dalam
matematika.
Sebagai contoh, misalnya saya membuat sebuah himpunan huruf fokal, himpunan ini terdiri
dari huruf ‘a’, ’i’, ’u’, ’e’ dan ‘o’. Kemudian, saya bisa melakukan beberapa proses terhadap
himpunan ini, apakah itu penambahan dengan himpunan lain (union), pengurangan dengan
himpunan lain (irisan), dll.

Di dalam pascal, konsep himpunan inilah yang menjadi tipe data set.

Cara Penggunaan Tipe Data Set Pascal


Untuk membuat tipe data set di dalam pascal, kita cukup mendeklarasikan variabel
sebagai set of tipe_data. Sebagai contoh, untuk membuat variabel yang merupakan
himpunan dari tipe data char, bisa ditulis seperti berikut ini:
1 var

2 himpunan1: set of char;

Sekarang, variabel himpunan1 merupakan tipe data set yang bisa diisi dengan sembarang
karakter (char). Kita juga bisa membatasi anggota yang bisa diterima oleh himpunan ini,
yang penulisannnya dilakukan sebagai berikut:
1 var

2 himpunan1: set of 1..9;

3 himpunan2: set of 99..999;

4 himpunan3: set of ‘a’..’z’;


Untuk mengisi anggota himpunan, dilakukan dengan menggunakan tanda kurung siku.
Sebagai contoh, jika himpunan1 merupakan set of char, saya bisa mengisinya dengan
karakter huruf vokal seperti berikut ini:
1 himpunan1 := ['a','i','u','e','o'];

Sekarang, himpinan 1 akan berisi 5 anggota yakni huruf ‘a’, ‘i’, ‘u’, ‘e’, dan ‘o’.
Mari kita lihat cara penggunaan tipe data set ini didalam bahasa pemrograman pascal:

1
program tipe_set;
2
uses crt;
3
var
4 himpunan1: set of char;

5 begin

6 clrscr;

7 himpunan1 := ['a','i','u','e','o'];

8
if 'e' in himpunan1 then
9
writeln('e ada di himpunan1');
10

11
readln;
12
end.
13

Jika anda menjalankan kode program diatas, hasilnya adalah: ‘e ada di himpunan1’. Sampai
di tutorial ini, saya memnag belum membahas struktur logika IF, tapi kode:
1 if 'e' in himpunan1 then

2 writeln('e ada di himpunan1');

Bisa dibaca: Jika ‘e’ ada di dalam himpunan1, maka jalankan perintah writeln(‘e ada di
himpunan1’).
Bagaimana jika karakter yang dicari tidak ada? Mari kita coba:

program tipe_set;
1
uses crt;
2
var
3
himpunan1: set of char;
4
begin
5 clrscr;

6 himpunan1 := ['a','i','u','e','o'];

7
if 'x' in himpunan1 then
8
writeln('x ada di himpunan1');
9

10
readln;
11
end.
12

13

Jika anda menjalankan kode diatas, tidak akan tampil apa-apa, karena variabel x tidak
terdapat di dalam himpunan1.
Untuk contoh selanjutnya, saya akan menggunakan himpunan angka 0 sampai 9. Berikut
kode programnya:

1
program tipe_set;
2
uses crt;
3
var
4 himpunan1: set of 1..9;

5 begin

6 clrscr;

7 himpunan1 := [1,3,8,9];

8
if 8 in himpunan1 then
9
writeln('8 ada di himpunan1');
10

11
readln;
12
end.
13

Kode program diatas sangat mirip dengan kode program kita sebelumnya, tapi kali ini saya
membuat anggota himpunan yang terdiri dari angka 0 hingga 9. Karena huruf 8 terdapat di
dalam himpunan1, maka akan tampil hasil ‘8 ada di himpunan1’.
Jika anda perhatikan, himpunan1 saya batasi hanya bisa diisi dengan angka 0 hingga 9
(melalui perintah: himpunan1: set of 1..9). Bagaimana jika saya memasukkan angka diluar
ini? Mari kita coba:
1
program tipe_set;
2
uses crt;
3
var
4 himpunan1: set of 1..9;

5 begin

6 clrscr;

7 himpunan1 := [1,3,8,9,10];

8
if 10 in himpunan1 then
9
writeln('10 ada di himpunan1');
10

11
readln;
12
end.
13

Saya menambahkan angka ‘10’ kedalam anggota himpunan1, dan anehnya pascal tidak akan
mengeluarkan error. Kode program diatas bisa dijalankan, tapi…. tidak akan menampilkan
hasil apa-apa. Kenapa? Karena angka 10 tidak ikut dihitung sebagai aggota himpunan1 yang
memang dibatasi hanya angka 0 sampai 9.

Sebagai penutup tutorial cara penggunaan tipe data set pascal ini, saya akan mencoba
menampilkan operasi penggabungan himpunan, atau di dalam teori himpunan dikenal
dengan operasi union. Berikut contoh kode programnya:
1 program tipe_set;

uses crt;
2
var
3
i:char;
4
himpunan1: set of char;
5
himpunan2: set of char;
6
himpunan3: set of char;
7 begin

8 clrscr;
9 himpunan1 := ['a','i','u','e','o'];

10 himpunan2 := ['x','y','z'];

11
himpunan3 := himpunan1 + himpunan2;
12

13
for i in himpunan3 do
14
writeln(i);
15

16
readln;
17
end.
18

19

Sekali lagi, pembahasan tentang operator dan struktur FOR akan saya bahas setelah
tutorial tentang tipe data selesai. Tapi secara singkat, kode program diatas menggabungkan
(union) himpunan1 dengan himpunan2, yang hasilnya disimpan ke dalam himpunan3.

Perulangan for digunakan untuk menampilkan seluruh isi dari himpunan3. Hasilnya adalah
sebagai berikut:

Dapat terlihat, himpunan3 terdiri dari anggota gabungan dari himpunan1 dan himpunan2.

Dalam tutorial belajar pascal kali ini kita telah membahas tentang tipe data set di dalam
pascal.
Tutorial Belajar Pascal Part 27:
Pengertian dan Cara Penggunaan Tipe
Data Pointer Pascal
30 Sep 15 | Andre | Tutorial Pascal | 7 Comments

Kali ini saya akan membahas salah satu tipe data khusus yang (bagi kebanyakan programmer
pemula) cukup rumit, yakni tipe data pointer.
Saya akan membahas pengertian dan cara penggunaan tipe data pointer di dalam bahasa
pemrograman pascal.

Pengertian Tipe Data Pointer Pascal


Tipe data pointer adalah tipe data yang berisi alamat memory dari sebuah variabel.
Untuk dapat memahami ini, saya akan membahas terlebih dahulu bagaimana pascal (dan
bahasa pemrograman lain) menyimpan nilai dari sebuah variabel.
Ketika kita mendeklarasikan sebuah variabel (misalkan variabel ‘angka’), pascal
akan menyiapkan sebuah tempat di memory komputer. Tempat ini memiliki alamat, yang
berfungsi untuk menandai lokasi variabel tersebut.
Untuk dapat memahami ini, bayangkan memory komputer sebagai sebuah lemari besar.
Variabel disimpan di dalam setiap laci lemari. Setiap laci tentunya memiliki nomor agar
mudah diakses. Nomor laci inilah yang akan disimpan sebagai pointer.
Sebagai contoh, variabel ‘angka’ bisa ditempatkan di alamat 10023 pada memory komputer.
Variabel lain, misalnya ‘huruf’, akan disimpan di alamat 19920, variabel ‘i’ bisa disimpan di
alamat 10033, dst. Alamat memory inilah yang disimpan ke dalam tipe data pointer.
Pembahasan tentang pointer dan alamat memory ini sangat luas jika dibahas. Di jurusan ilmu
komputer / teknik informatika, terdapat mata kuliah ‘struktur data’ yang secara khusus akan
membahas cara penyimpanan data di dalam memory komputer, yang semuanya akan
menggunakan pointer.

Cara Penggunaan Tipe Data Pointer Pascal


Sekarang, kita akan masuk ke praktek cara penggunaan tipe data pointer di dalam pascal.

Untuk dapat membuat pointer, di dalam pascal kita harus menyesuaikannya dengan variabel
yang ingin diakses. Maksudnya seperti ini, jika saya mendeklarasikan sebuah variabel
‘angka’:

1 var

2 angka: integer;
Disini variabel ‘angka’ disiapkan untuk menampung tipe data integer.
Untuk bisa menampung alamat memory dari variabel ‘angka’ ini, saya harus membuat
pointer yang juga di-set untuk menampung tipe data pointer integer. Berikut cara
penulisannya:
1 var

2 pointer_angka : ^integer;

Perhatikan tanda ‘topi’ atau ‘caret’. Inilah cara pendeklarasian tipe data pointer di dalam
pascal. ^integer berarti saya mempersiapkan sebuah pointer untuk variabel integer.
Jika kita butuh pointer ke tipe data lain, penulisannya juga akan berbeda. Misalnya, untuk
membuat pointer ke alamat variabel yang bertipe data char, bisa ditulis sebagai berikut:
1 var

2 pinter_kata : ^char;

Baiklah, setelah deklarasi tipe data pointer selesai, lalu bagaimana cara penggunaannya?

Di dalam pascal, kita butuh karakter ‘@’ yang berfungsi untuk menampilkan alamat memory
sebuah variabel.
Perhatikan potongan kode program pascal berikut ini:

1 var

2 angka: integer;

3 pointer_angka : ^integer;

4 begin

pointer_angka:= @angka;
5

Baris terkahir: pointer_angka:= @angka adalah kode yang ‘mengaitkan’ kedua variabel ini.
Sekarang, variabel pointer_angka akan berisi alamat memory dari variabel ‘angka’.
Silahkan anda pahami sebentar maksud kalimat ini.
Apabila di tampilkan, variabel pointer_angka akan berisi: 40960. Inilah alamat memory
yang dipergunakan pascal untuk menyimpan variabel ‘angka’. Alamat ini sepenuhnya
ditentukan oleh pascal, terserah akan menyimpan di alamat memory mana.
Baiklah, jika sekarang variabel pointer_angka sudah berisi ‘40960’, lalu bagaimana cara
menampilkan isi dari alamat memory ini?
Jika saya menggunakan perintah:

1 writeln(pointer_angka);

Yang akan ditampilkan adalah alamat memory, bukan isi dari alamat memory tersebut.
Untuk hal ini kita kembali harus menggunakan karakter topi ‘^’ tetapi letaknya di akhir
variabel, seperti berikut:
1 writeln(pointer_angka^);

Kali ini, perintah diatas akan menampilkan isi dari alamat memory yang ada di alamat
‘40960’.
Huff… anda masih bersama saya? Sebelum terlanjur ngantuk, mari kita langsung masuk ke
contoh kode program pascal:

1
program tipe_pointer;
2
uses crt;
3
var
4
angka: integer;
5
pointer_angka : ^integer;
6 begin

7 clrscr;

8 angka:= 99;

9 writeln('Variabel angka berisi: ',angka);

10
pointer_angka:= @angka;
11
writeln('Variabel pointer merujuk ke nilai: ',pointer_angka^);
12

13
angka:=74;
14
writeln('Variabel pointer merujuk ke nilai: ',pointer_angka^);
15

16
readln;
17
end.
18

Setelah penjelasan panjang sebelumnya, dapatkah anda memahami maksud kode program
ini?
Dalam kode program tersebut, saya membuat 2 buah variabel: angka dan pointer_angka.
Variabel pertama bertipe integer, sedangkan variabel kedua bertipe pointer integer.
Selanjutnya, saya memberikan nilai 99 kedalam variabel angka.
Dapatkah anda menebak apa fungsi dari kode program berikut?

1 pointer_angka:= @angka;

Yup, kode diatas akan membuat variabel pointer_angka berisi alamat memory dari variabel
angka.
Jika saya menulis kode:

1 writeln(pointer_angka^)

Hasilnya adalah 99. Sekali lagi, dapatkah anda memahami dari mana angka 99 ini berasal?
Perintah diatas berarti saya memerintahkan pascal untuk menampilkan isi dari variabel yang
berada di alamat memory pointer_angka (perhatikan penambahan karakter ‘topi’).
Sampai disini, kedua variabel telah saling terhubung. Untuk memastikannya, saya mengubah
nilai variabel angka menjadi 74. Dan, seperti yang bisa ditebak, hasil dari
perintah writeln(pointer_angka^), juga akan ikut berubah.
Jika pada contoh diatas masih membuat anda bingung, mari kita masuk ke contoh kedua:

1 program tipe_pointer;

2 uses crt;

3 var

nama: string[20] ;
4
pointer : ^string;
5
begin
6
clrscr;
7
nama:= 'Unyil';
8
writeln('Variabel nama berisi: ',nama);
9

10
pointer:= @nama;
11 writeln('Variabel pointer merujuk ke nilai: ',pointer^);

12

13 nama:= 'Alex';

14 writeln('Variabel pointer merujuk ke nilai: ',pointer^);

15

16 pointer^:= 'Joni';
17 writeln('Variabel nama berisi: ',nama);

18

19 readln;

end.
20

21

Contoh diatas mirip dengan contoh sebelumnya, tapi kali ini saya menggunakan tipe data
string. Perhatikan bahwa ketika saya mengubah isi dari variabel ‘nama’, nilai dari
variabel pointer juga akan mengikuti. Dengan kata lain, variabel nama dan
variabel pointer merujuk kepada nilai yang sama di alamat memory komputer.

Cara Menampilkan Alamat Memory dari Pointer


Untuk menampilkan alamat memory yang tersimpan di dalam pointer, kita harus
menggunakan perintah khusus. Jika anda langsung menggunakan perintah:

1 writeln(‘pointer_angka’);

Pascal akan mengeluarkan error.

Untuk dapat menampilkan alamat memory ini, kita harus mengubahnya ke dalam tipe
data word(termasuk kedalam kelompok tipe data integer), dan menggunakan fungsi addr().
Berikut contohnya:

1 program tipe_pointer;

2 uses crt;

3 var

4 angka: integer;

5 pointer : ^integer;

i : ^word;
6
7 begin

8 clrscr;

angka:= 99;
9
writeln('Variabel angka berisi: ',angka);
10

11
pointer:= @angka;
12
writeln('Variabel pointer merujuk ke nilai: ',pointer^);
13

14
i:= addr(pointer);
15
writeln('Alamat memory yang digunakan adalah: ',i^);
16

17 readln;

18 end.

19

Dalam program diatas, saya menyiapkan sebuah variabel i dengan tipe data word. Untuk
menampilkan alamat memory dari tipe data pointer, saya harus menggunakan perintah:
1 i:= addr(pointer);

Dan untuk menampilkannya juga diakses dengan tanda ‘i^’.

Tipe data pointer yang dibahas disini memang cukup rumit, terutama untuk pemula. Tapi
saya sangat sarankan agar anda bisa memahami konsep pointer ini. Karena di berbagai bahasa
pemrograman lain, konsep pointer juga sering dibahas.
Tutorial Belajar Pascal Part 28: Jenis-jenis
Tipe Data di Dalam Bahasa Pascal
07 Oct 15 | Andre | Tutorial Pascal | 5 Comments

Tutorial pascal kali ini saya rancang berisi kesimpulan dari berbagai jenis tipe data di dalam
bahasa pemrograman pascal. Hampir semua tipe data ini telah kita bahas dalam tutorial-
tutorial sebelumnya.
Sengaja saya kumpulkan kembali agar lebih mudah diakses :)

Jenis-jenis Tipe Data di Dalam Bahasa Pascal


Tipe data di dalam bahasa pemrograman pascal bisa dikelompokkan menjadi berbagai jenis.
Gambar berikut bisa menjadi acuan pembagian tipe data ini:

1. Tipe Data Standar Pascal


Kelompok pertama adalah tipe data standar pascal, atau dikenal juga sebagai tipe data
sederhana. Kelompok ini terdiri dari 4 tipe data: Integer, Real, Character dan Boolean.
Tipe Data Integer
Tipe data integer adalah tipe data yang terdiri dari angka bulat (tidak mengandung nilai
pecahan atau nilai desimal). Nilai ini bisa berbentuk angka positif maupun negatif, contohnya
3, 99, 1114, -44, 10000, atau 128730123.
Berikut contoh cara pendefenisian tipe data integer di dalam pascal:

1 var

2 a:integer;

Tipe Data Real


Tipe data real adalah tipe data angka yang mengandung nilai pecahan (baik positif maupun
negatif), seperti: 3.14, 99.99, atau 679073.22.
Berikut contoh cara pendefenisian tipe data real di dalam pascal:

1 var

2 a:real;

Tipe Data Char


Tipe data char adalah tipe data yang akan menampung karakter. Karakter ini hanya boleh
terdiri dari 1 digit, seperti ‘a’, ‘A’, ‘x’, atau ‘#’.
Berikut contoh cara pendefenisian tipe data char di dalam pascal:

1 var

2 a:char;

Tipe Data Boolean


Tipe data boolean adalah tipe data yang hanya bisa diisi dengan 1 diantara 2
nilai: true atau false(benar atau salah). Tipe data boolean biasanya digunakan untuk
percabangan kode program seperti struktur IF atau perulangan (looping).
Berikut contoh cara pendefenisian tipe data boolean di dalam pascal:

1 var

2 a:boolean;

2. Tipe Data Bentukan (User Defined) Pascal


Kelompok kedua dari tipe data pascal adalah tipe data bentukan (user defined) atau dikenal
juga dengan tipe data non standar. Tipe data bentukan ini terdiri dari 2
tipe: enumerated dansubrange. Kedua tipe data ini harus didefenisikan di dalam
bagian type struktur pascal.
Tipe Data Enumerated
Tipe data enumerated adalah tipe data yang isinya terdiri dari kelompok data yang sudah
ditentukan. Sebagai contoh, kita bisa membuat tipe enumerated warna yang
berisi: merah, kuning, biru dan ungu. Atau tipe nama_hari yang berisi nama-nama hari
seperti senin, selasa, rabu, dst.
Tipe data enumerated sering juga disebut enumeration atau enum saja.
Berikut contoh cara pendefenisian tipe data enumerated di dalam pascal:

1 type

2 nama_hari= (senin,selasa,rabu,kamis,jumat,sabtu,minggu);

3 var

4 a: nama_hari;

Tipe Data Subrange


Tipe data subrange adalah tipe data bentukan yang berasal dari bagian (sub) tipe data
lain dan berada dalam sebuah jangkauan (range). Contohnya, kita bisa membuat tipe data
baru yang hanya terdiri dari angka 0 sampai 9, atau hanya dari huruf ‘a’ hingga ‘e’.
Berikut contoh cara pendefenisian tipe data subrange di dalam pascal:

1 type

2 satuan= 1..9;

3 var

4 a: satuan;

3. Tipe Data Structured Pascal


Kelompok tipe data ketiga adalah tipe data structured, atau tipe data terstruktur. Kelompok
ini terdiri dari tipe data Array, String, Record, Set dan File.
Tipe Data Array
Tipe data array adalah tipe data yang terdiri dari kumpulan tipe data lain yang masih setipe.
Anggota dari array ini dikenal dengan element. Di dalam pascal, jumlah element array harus
sudah di tentukan di awal program.
Berikut contoh cara pendefenisian tipe data array di dalam pascal:
1 var

2 nilai: array[0..9] of integer;

Tipe Data String


Tipe data string adalah tipe data yang bisa menampung banyak karakter sekaligus, seperti
kata, atau kalimat. Secara internal di dalam pascal, string merupakan array dari tipe
data char, oleh karena itu, tipe data ini sering dimasukan ke dalam array.
Berikut contoh cara pendefenisian tipe data string di dalam pascal:

1 var

2 a:string;

Tipe Data Record


Tipe data record adalah tipe data yang ‘anggotanya’ terdiri dari berbagai jenis tipe data lain.
Berbeda dengan array yang hanya bisa diisi dengan tipe data yang sejenis, di record bisa
berisi berbagai jenis tipe data.
Berikut contoh cara pendefenisian tipe data record di dalam pascal:

1
var
2 siswa: record

3 nama: string[20];

4 umur: integer;

5 sekolah: string[30];

kota: string[20];
6
end;
7

Tipe Data Set


Tipe data set adalah tipe data yang isinya terdiri dari sebuah himpunan tipe data lain, seperti
hipunan angka 1 sampai 9, himpunan huruf vokal, dll. Tipe data set digunakan untuk
membuat operasi himpunan seperti gabungan, irisan, atau selisih.
Berikut contoh cara pendefenisian tipe data set di dalam pascal:

1 var

2 a: set of 1..9;
Tipe Data File
Tipe data file adalah tipe data yang digunakan untuk mengakses file. Tipe data ini digunakan
jika kita ingin membaca file atau menulis sesuatu kedalam file.
Berikut contoh cara pendefenisian tipe data file di dalam pascal:

1 var

2 myfile: file of single;

4. Tipe Data Pointer


Kelompok keempat dari tipe data pascal adalah tipe data pointer. Kelompok tipe data ini
hanya terdiri dari jenis: pointer.

Tipe data pointer adalah tipe data yang berisi alamat memory dari sebuah variabel. Tipe data
ini digunakan jika kita butuh memanipulasi variabel langsung dari memory komputer.
Biasanya pointer digunakan ketika mempelajari struktur data.

Berikut contoh cara pendefenisian tipe data pinter di dalam pascal:

1 var

2 pointer : ^string;

Itulah semua tipe data yang ada didalam bahasa pemrograman pascal. Selain tipe data file,
seluruh tipe data ini telah kita bahas pada tutorial pascal di duniailkom sebelum ini. Tutorial
ini juga sekaligus sebagai penutup tutorial tentang tipe data pascal.
Tutorial Belajar Pascal Part 29: Jenis-jenis
Operator dalam Bahasa Pemrograman
Pascal
09 Oct 15 | Andre | Tutorial Pascal | 6 Comments

Pada sesi tutorial pascal sebelumnya, kita telah membahas tentang jenis-jenis tipe data di
dalam pascal. Untuk mengoperasikan tipe data ini, membutuhkan operator. Dalam beberapa
tutorial ke depan, saya akan membahas tentang jenis-jenis operator dalam bahasa
pemrograman Pascal.
Untuk tutorial kali ini akan dibahas secara ringkas apa saja jenis-jenis operator pascal.
Cara penggunaan serta contoh kode programnya akan dibahas pada tutorial berikutnya.

Pengertian Operand dan Operator


Sebelum masuk ke jenis-jenis operator di dalam bahasa pascal, terdapat
istilah operand dan operator.
Operand adalah nilai asal yang digunakan di dalam sebuah proses operasi.
Sedangkan Operatoradalah instruksi yang diberikan untuk mendapatkan hasil dari proses
tersebut. Biasanya operator berupa karakter matematis atau perintah singkat sederhana.
Sebagai contoh, pada operasi: 10 + 2. Angka 10 dan 2 disebut sebagai operand, sedangkan
tanda tambah (karakter +) adalah operator.

Operator Unary, Binary dan Ternary


Berdasarkan jumlah operand-nya, operator dibagi menjadi 3 jenis: Operator
Unary, Operator Binary dan Operator Ternary.
 Operator Unary adalah operator yang hanya terdiri dari 1 operand. Contohnya adalah operator
positif (plus): +7, +9, +10.111
 Operator Binary adalah operator yang terdiri dari 2 operand. Sebagian besar operator di
dalam pascal termasuk ke dalam operator binary. Contohnya seperti operator artimatika: 4+8,
9*2, 8 mod 2, dll.
 Operator Ternary adalah operator yang terdiri dari 3 operand. Khusus di dalam pascal, tidak
terdapat operator ternary.

Jenis-jenis Operator dalam Bahasa Pemrograman


Pascal
Seperti yang telah disinggung di awal tutorial, disini saya hanya menyajikan secara ringkas
apa saja operator yang terdapat di dalam bahasa pascal. Untuk pembahasan detail dan juga
contoh kode programnya akan dibahas dalam beberapa tutorial ke depan.

Berikut jenis-jenis operator dalam bahasa pemrograman pascal:

 Operator Assignment
 Operator Aritmatika
 Operator String
 Operator Perbandingan / Relasional
 Operator Logika / Boolean
 Operator Bitwise
 Operator Set / Himpunan
 Operator Address (Pointer)

Operator Assignment
Operator assignment adalah operator yang digunakan untuk memberikan nilai ke dalam
suatu variabel. Di dalam pascal hanya terdapat 1 operator assignment, yakni ‘:=’.
Operator Penjelasan Contoh

:= Pemberian nilai (Assignment) a := “belajar pascal di duniailkom”

Operator Aritmatika
Operator aritmatika adalah operator yang biasa kita temukan untuk operasi matematika.
Berikut jenis-jenis operator aritmatika di dalam pascal:
Operator Penjelasan Contoh

+ Penambahan 2+3=5

– Pengurangan 5–2=3

* Perkalian 2*3=6

/ Pembagian (real/pecahan) 14 / 4 = 3.5

div Pembagian (integer/angka bulat) 14 div 4 = 3


mod Sisa hasil bagi 14 mod 4 = 2

Operator Aritmatika Unary

Operator Penjelasan Contoh

+ Positif (plus) +5

– Negatif (min) -3

Operator String
Di dalam pascal, hanya terdapat 1 jenis operator string, yakni tanda tambah ‘ + ’ yang
digunakan untuk menyambung string (concatenated).
Operator Penjelasan Contoh

+ Pengambungan (concatenate ) “belajar pascal” + “di duniailkom”

Operator Perbandingan / Relasional


Operator perbandingan digunakan untuk membandingkan 2 buah angka, apakah angka
tersebut sama besar, lebih kecil, lebih besar, dll. Nilai dari operator perbandingan ini adalah
True atau False (boolean).
Operator Penjelasan Contoh

= Sama dengan 5 = 5 -> True

<> Tidak sama dengan 5 <> 5 -> False

> Lebih besar 5 > 6 -> False

< Lebih kecil 5 < 6 -> True


>= Lebih besar atau sama dengan 5 >= 3 -> True

<= Lebih kecil atau sama dengan 5 <= 5 -> True

Operator Logika / Boolean


Operator logika digunakan untuk menghasilkan nilai boolean true atau false dari 2 kondisi.
Operator Penjelasan Contoh

and Akan menghasilkan TRUE jika kedua operand TRUE TRUE and FALSE, hasilnya: FALSE

or Akan menghasilkan TRUE jika salah satu operand TRUE TRUE or FALSE, hasilnya: TRUE

xor Akan menghasilkan TRUE jika kedua operand berbeda TRUE xor FALSE, hasilnya: TRUE

not Akan menghasilkan TRUE jika operand FALSE not TRUE , hasilnya: FALSE

Operator Bitwise
Operator bitwise mirip dengan operator logika / boolean, tapi dilakukan di level bit.
Operator Penjelasan Contoh

not Bitwise NOT not 1100, hasilnya: 0011

and Bitwise AND 1100 and 0101, hasilnya: 0100

or Bitwise OR 1100 and 0101, hasilnya: 1101

xor Bitwise exclusive OR 1100 xor 0101, hasilnya: 1001

shl Bitwise shift left 0100 shl 1, hasilnya: 1000


shr Bitwise shift right 0100 shr 1, hasilnya: 0010

<< Bitwise shift left 0100 << 1, hasilnya: 1000

>> Bitwise shift right 0100 >> 1, hasilnya: 0010

Operator Set / Himpunan


Operator set khusus digunakan untuk tipe data set (himpunan).
Operator Action

+ Union

– Selisih (Difference)

* Irisan (Intersection)

>< Selisih simetri (Symmetric difference)

<= Beranggotakan (Contains)

include Menambahkan element baru

exclude Mengeluarkan element baru

in Cek apakah ada di dalam himpunan

Operator Address (Pointer)


Operator address khusus digunakan untuk tipe data pointer. Berfungsi untuk mencari alamat
memory dari sebuah variabel.
Operator Penjelasan Contoh
@ Menampilkan alamat memory sebuah variabel @nama_variabel

^ Menampilkan nilai variabel dari alamat memory nama_variabel^

Itulah jenis-jenis operator yang terdapat di dalam bahasa pemrograman pascal.


Tutorial Belajar Pascal Part 30: Jenis-jenis
Operator Assignment dalam Pascal
09 Oct 15 | Andre | Tutorial Pascal | 6 Comments

Dalam sesi tutorial operator di dalam pascal ini akan saya buka dengan membahas jenis-jenis
operator assignment di dalam bahasa pemrograman Pascal.

Pengertian Operator Assignment


Sederhananya, operator assignment adalah operator yang digunakan untuk memasukkan
suatu nilai ke dalam variabel. Di dalam pascal, hanya dikenal 1 operator assignment, yakni
menggunakan tanda ‘titik dua sama dengan’, atau tanda ‘:=’.
Pascal menggunakan tanda ‘:=’, dan bukan tanda sama dengan ‘=’, karena tanda sama
dengan digunakan untuk operasi perbandingan.
Dalam bahasa pemrograman komputer, operator assignment ini bisa berbeda-beda, di dalam
bahasa turunan ‘C’, seperti C++, PHP, JavaScript, dll. Operator assignment menggunakan
tanda sama dengan ‘=’, sedangkan untuk operasi perbandingan digunakan tanda dua kali
sama dengan ‘==’.
Pembacaan operasi assignment ini dilakukan dari kanan ke kiri, bukan dari kiri ke
kanan seperti yang biasa kita bahami di dalam matematika.
Kode:

1 A := 500

Berarti kita memasukkan nilai 500 ke dalam variabel ‘A’. Di dalam bahasa pseudo code (jika
anda membaca buku tentang algoritma), ini biasa ditulis dengan simbol:
1 A <- 500

Contoh Penggunaan Operator Assignment Pascal


Operator assignment ini telah banyak kita gunakan, jika anda mengikuti tutorial pascal di
duniailkom ini dari awal, operator ini sudah saya gunakan hampir di setiap contoh kode
program.
Untuk menyegarkan pemahaman, berikut contoh penggunaan operator assignment di dalam
pascal:
program operator_assignment;
1
uses crt;
2
var
3
a:integer;
4 b:real;

5 c:string;

begin
6
clrscr;
7
a:=8;
8
b:=3.14;
9
c:='belajar pascal di duniailkom';
10

11
writeln('a: ',a);
12 writeln('b: ',[Link]);

13 writeln('c: ',c);

14

15 readln;

16 end.

17

18

Tidak ada hal yang baru dari kode program diatas. Saya mendefenisikan beberapa variabel,
memberikan nilai kedalam variabel tersebut dan menampilkan hasilnya.

Khusus di dalam compiler Free Pascal, kita bisa menggabungkan operator assignment pada
saat variabel tersebut di deklarasikan. Berikut contohnya:
program operator_assignment;
1
uses crt;
2
var
3
a:integer=8;
4
b:real=3.14;
5 c:string='belajar pascal di duniailkom';

6 begin

clrscr;
7

8
writeln('a: ',a);
9
writeln('b: ',[Link]);
10
writeln('c: ',c);
11

12
readln;
13
end.
14

15

Jika anda menggunakan Turbo Pascal, kode program diatas akan menghasilkan error, karena Turbo
Pascal tidak mendukung cara memberikan nilai kepada variabel seperti ini.

Memberikan nilai awal ketika sebuah variabel di deklarasikan biasa dikenal dengan
proses inisialisasi. Dalam best practice pemrograman, men-inisialisasi sebuah variabel
dengan nilai awal cukup penting. Ini untuk menghindari error/bug yang tidak terduga.
Misalnya ketika kita mendefenisikan variabel a sebagai integer, berapakah nilai ‘a’ ini?
apakah 0? 1? 100?.
Dalam compiler Free Pascal, nilai defaultnya adalah 0. Namun di dalam bahasa pemrograman
lain, belum tentu. Oleh karena itulah sedapat mungkin kita memberikan nilai awal kepada
setiap variabel.

Mengakses variabel yang tidak diberikan nilai awal, tidak akan menghasilkan error, seperti
contoh berikut:

program operator_assignment;
1
uses crt;
2
var
3
a:integer;
4
b:real;
5
c:string;
6 begin
7 clrscr;

9 writeln('a: ',a);

writeln('b: ',b);
10
writeln('c: ',c);
11

12
readln;
13
end.
14

15

Namun, praktek seperti ini sebaiknya tidak digunakan. Jika kita ingin memberikan nilai 0
kepada variabel a, tetap isi variabel tersebut dengan angka 0, dan tidak mengandalkan
nilai defaultbawaan pascal:
1 program operator_assignment;

2 uses crt;

var
3
a:integer;
4
b:real;
5
c:string;
6
begin
7
clrscr;
8

9 a:=0;

10 b:=0.0;

11 c:='';

12
13 writeln('a: ',a);

14 writeln('b: ',b);

writeln('c: ',c);
15

16
readln;
17
end.
18

19

Dalam tutorial belajar pascal kali ini kita telah membahas operator yang cukup sederhana,
tetapi sangat penting, yakni operator assignment.
Tutorial Belajar Pascal Part 31: Jenis-jenis
Operator Aritmatika dalam Pascal
02 Dec 15 | Andre | Tutorial Pascal | 14 Comments

Melanjutkan tutorial tentang operator di pascal, kali ini kita akan membahas tentang jenis-
jenis operator aritmatika dalam bahasa pemrograman pascal.

Pengertian dan Jenis-jenis Operator Aritmatika


dalam Pascal
Operator aritmatika merupakan operator yang sehari hari kita gunakan dalam rumus
matematika dasar, yakni ka-ba-ta-ku (kali, bagi, tambah, dan kurang). Selain itu terdapat
tambahan operator div dan mod. Berikut tabel lengkap tentang jenis-jenis operator aritmatika
dalam pascal:
Operator Penjelasan Contoh

+ Penambahan 2+3=5

– Pengurangan 5–2=3

* Perkalian 2*3=6

/ Pembagian (real/pecahan) 14 / 4 = 3.5

div Pembagian (integer/angka bulat) 14 div 4 = 3

mod Sisa hasil bagi 14 mod 4 = 2

Operator Aritmatika Unary:


Operator Penjelasan Contoh

+ Positif (plus) +5

– Negatif (min) -3

Berikut contoh penggunaan operator aritmatika di dalam pascal:


1

2 program operator_aritmatika;

uses crt;
3
var
4
a,b,c,d,e,f,g,h:integer;
5
begin
6
clrscr;
7
a:=8+4;
8 b:=9-2;

9 c:=2*3;

10 d:=10+3-7*4;

11 e:=((10+3)-7)*4;

12 f:=-79;

13
writeln('a: ',a);
14
writeln('b: ',b);
15
writeln('c: ',c);
16
writeln('d: ',d);
17
writeln('e: ',e);
18
writeln('f: ',f);
19

20 readln;

21 end.

22
Untuk operasi artimatika (dan beberapa operasi lainnya), kita bisa menggunakan tanda
kurung untuk menjelaskan operator yang harus dijalankan terlebih dahulu. Pada contoh
diatas, saya menggunakan tanda kurung agar operasi penambahan dijalankan terlebih dahulu
sebelum operasi perkalian (seperti pada variabel e)
Jika anda perhatikan, dalam contoh diatas saya tidak membuat operasi pembagian, mari kita
coba:

1
program operator_aritmatika;
2
uses crt;
3 var

4 a:integer;

5 begin

6 clrscr;

7 a:=8/4;

8
writeln('a: ',a);
9

10
readln;
11
end.
12

Kode program diatas akan menghasilkan error!. Kenapa? karena di dalam pascal, hasil
operasi pembagian (/) harus disimpan kedalam variabel bertipe real, seperti berikut ini:
1 program operator_aritmatika;

2 uses crt;

3 var

4 a:real;
5 begin

6 clrscr;

a:=8/4;
7

8
writeln('a: ',[Link]);
9

10
readln;
11
end.
12

Walaupun 8 dibagi 4 akan menghasilkan bilangan bulat 2, tapi dalam pascal semua hasil
operator pembagian harus disimpan di dalam variabel real. Oleh karena itu, operator “ / ”
disebut juga dengan real division.

Meskipun sama-sama angka, tipe data integer (bilangan bulat) dan tipe data real(bilangan desimal
pecahan) adalah berbeda. Konsep seperti ini sangat penting untuk dipahami.

Pengertian operator Div dan Mod


Khusus untuk operator div dan mod, perlu penjelasan tersendiri, terutama bagi anda yang
baru pertama kali belajar bahasa pemrograman komputer. Kedua operator ini terdengar asing
tapi sebenarnya cukup sederhana.
Operator div (singkatan dari division) akan menghasilkan angka bulat dari sebuah
pembagian. Operator div ini kadang disebut juga sebagai integer division, agar bisa
dibedakan dengan pembagian dari operator “ / “ yang dikenal sebagai real division.
Sebagi contoh, 10 div 4 adalah 2. Kenapa? Karena 10/4 = 2,5. Karena div hanya bisa
menerima angka bulat, nilai pecahan 0,5 dibuang, sisanya adalah 2.
Contoh lain, 7 div 2 = 3. Karena 7/2 = 3,5. Ingat, bagian pecahan dibuang, sehingga sisa 3.
Hasil 100 div 5 = 20. Karena 100/5 = 20. Kali ini operator div dan “ / “ menghasilkan nilai
yang sama.
Berikut contoh kode program penggunaan operator div di dalam pascal:
1 program operator_aritmatika;

2 uses crt;

3 var

4 a,b,c,d:integer;

begin
5
6 clrscr;

7 a:=10 div 4;

b:=7 div 2;
8
c:=100 div 5;
9
d:=9999 div 20;
10

11
writeln('a: ',a);
12
writeln('b: ',b);
13
writeln('c: ',c);
14 writeln('d: ',d);

15

16 readln;

17 end.

18

Perhatikan, untuk menampung nilai dari operator div, kita bisa menggunakan variabel
bertipe integer, karena hasil dari div, pasti adalah bilangan bulat (integer).
Operator mod (singkatan dari modulo atau modulus) digunakan untuk menghasilkan angka
sisa dari sebuah hasil bagi.
Sebagai contoh, 8 mod 5 = 3, karena 3 adalah angka sisa pembagian.

Sedangkan 100 mod 7 = 2, karena hanya 98 yang habis dibagi 7 (bersisa 2).

Berikut contoh kode program penggunaan operator mod di dalam pascal:

1 program operator_aritmatika;

2 uses crt;
3 var

4 a,b,c,d:integer;

begin
5
clrscr;
6
a:=8 mod 4;
7
b:=8 mod 5;
8
c:=10 mod 2;
9
d:=100 mod 7;
10

11 writeln('a: ',a);

12 writeln('b: ',b);

13 writeln('c: ',c);

14 writeln('d: ',d);

15
readln;
16
end.
17

18

Praktek langsung dari penggunaan operator div dan mod ini seperti dalam menentukan
apakah sebuah bilangan ganjil atau genap. Jika hasi x mod 2 = 0, bisa dipastikan angka
tersebut adalah bilangan genap.

Dalam tutorial pascal kali ini kita telah membahas cara penggunaan operator aritmatika di
dalam pascal. Selain itu kita juga telah membahas pengertian dari operator div dan mod.
Tutorial Belajar Pascal Part 32: Jenis-jenis
Operator String dalam Pascal
02 Dec 15 | Andre | Tutorial Pascal | No Comments

Dalam tutorial sebelumnya, kita telah membahas tentang operator aritmatika di Pascal. Kali
ini saya akan lanjut dengan Jenis-jenis Operator String dalam Pascal.

Jenis-jenis Operator String dalam Pascal


Di dalam bahasa pemrograman pascal, hanya dikenal 1 operator string, yakni tanda tambah
(+) yang digunakan untuk penyambungan string (concatenate).
Operator Penjelasan Contoh

+ Pengambungan (concatenate ) “belajar pascal” + “di duniailkom”

Langsung saja kita lihat contoh penggunaannya:

1 program operator_string;

2 uses crt;

3 var

a,b,c,d,e:string;
4
begin
5
clrscr;
6
a:='Belajar';
7
b:='Pascal';
8
c:='di Duniailkom';
9

10 d:=a+b+c;

11 writeln(d);

12

13 e:=a+' '+b+' '+c;

14 writeln(e);
15

16 readln;

17 end.

18

Dalam contoh diatas, saya membuat 3 buah variabel string: a, b, dan c. Ketiganya digabung
menjadi 1 string panjang ke dalam variabel d dan e.
Khusus pada variabel e, saya menambahkan tanda spasi diantara ketiga string ini. Cara
seperti ini sangat umum dilakukan agar tampilan kalimat menjadi lebih rapi.

Menyambung Variabel dengan String dalam Writeln


Walaupun ini tidak berkaitan dengan operator string, tapi saya ingin menyinggung cara
menyambung variabel dengan string di dalam perintah writeln. Agar lebih mudah di
mengerti, berikut contoh kode program dari apa yang saya maksud:
1 program operator_string;

uses crt;
2
var
3
ipk:real;
4
sumber:string;
5
begin
6
clrscr;
7
ipk:=3.8;
8 sumber:='Duniailkom';

10 writeln('Saya dapat ipk ',ipk:2:2,', karena belajar di ',sumber);


11

12 readln;

13 end.

14

Perhatikan cara penulisan pertintah writeln diatas, saya


‘mencampurkan’ string dengan variabel. Tanda koma ( , ) digunakan untuk memisahkan
mana yang berupa string, dan mana yang variabel. Teknik ini sebenarnya sudah kita bahas
dalam Tutorial Belajar Pascal: cara penggunaan serta perbedaan write dan writeln.

Walaupun singkat (dan hanya satu-satunya), operator penyambungan string pascal yang kita
bahas disini sangat sering digunakan.
Tutorial Belajar Pascal Part 33: Jenis-jenis
Operator Perbandingan / Relasional
Pascal
04 Dec 15 | Andre | Tutorial Pascal | 20 Comments

Menyambung pembahasan tentang operator di bahasa pemrograman Pascal, kali ini saya akan
membahas tentang jenis-jenis operator perbandingan atau operator relasional dalam Pascal.

Jenis-jenis Operator Perbandingan Pascal


Operator perbandingan umumnya digunakan dalam proses pengambilan keputusan atau
percabangan program. Sebagai contoh, jika angka pertama lebih besar dari kedua, maka
jalankan perintah ini. Atau jika string password = ‘r4h4sia’ maka berikan hak akses.
Di dalam pascal, terdapat 6 operator perbandingan:

Operator Penjelasan Contoh

= Sama dengan 5 = 5 -> True

<> Tidak sama dengan 5 <> 5 -> False

> Lebih besar 5 > 6 -> False

< Lebih kecil 5 < 6 -> True

>= Lebih besar atau sama dengan 5 >= 3 -> True

<= Lebih kecil atau sama dengan 5 <= 5 -> True

Operator perbandingan ini kadang disebut juga dengan operator relasional, karena kita
membandingkan apa hubungan (relasi) sebuah variabel dengan variabel lainnya.

Cara Penggunaan Operator Perbandingan Pascal


Hasil dari operator perbandingan adalah data bertipe boolean, apakah
itu TRUE atau FALSE. Mari kita lihat contoh penggunaannya:
1
program operator_perbandingan;
2
uses crt;
3
var
4
a,b:integer;
5
hasil:boolean;
6 begin

7 clrscr;

8 a:=6;

9 b:=8;

10 writeln('a = ',a);

writeln('b = ',b);
11
writeln;
12

13
hasil:= a = b;
14
writeln('a = b :',hasil);
15
hasil:= a <> b;
16
writeln('a <> b :',hasil);
17 hasil:= a > b;

18 writeln('a > b :',hasil);

19 hasil:= a < b;

20 writeln('a < b :',hasil);

hasil:= a >= b;
21
writeln('a >= b :',hasil);
22
hasil:= a <= b;
23
writeln('a <= b :',hasil);
24

25
readln;
26
end.
27
28

Dalam contoh kode program pascal diatas, saya membuat 2 buah variabel: a dan b.
Variabel abernilai 6, dan variabel b bernilai 8. Selanjutnya saya membandingkan kedua nilai
ini. Dalam setiap perbandingan, hasilnya disimpan ke dalam variabel hasil.
Jika anda tidak bolos ketika mata pelajaran matematika di SD, tentunya bisa menebak apa
hasil dari setiap operasi perbandingan di atas :)

Operasi perbandingan tidak hanya untuk tipe data angka saja, tapi juga bisa berbagai tipe data
lain, seperti char. Berikut contohnya:
program operator_perbandingan;
1
uses crt;
2
var
3
a,b:char;
4
hasil:boolean;
5 begin

6 clrscr;

7 a:='X';

8 b:='Y';

writeln('a = ',a);
9
writeln('b = ',b);
10
writeln;
11

12
hasil:= a = b;
13
writeln('a = b :',hasil);
14
hasil:= a <> b;
15 writeln('a <> b :',hasil);

16 hasil:= a > b;

writeln('a > b :',hasil);


17
hasil:= a < b;
18
writeln('a < b :',hasil);
19
hasil:= a >= b;
20
writeln('a >= b :',hasil);
21
hasil:= a <= b;
22 writeln('a <= b :',hasil);

23

24 readln;

25 end.

26

27

28

Kali ini saya membandingkan karakter X dan Y. Untuk kasus seperti ini, operator
perbandingan pascal akan membandingkan urutan setiap karakter dalam tabel ASCII. Di
dalam tabel ASCII, karakter X lebih dulu muncul dari Y. Oleh karena itulah X dianggap
lebih kecil daripada Y.
Seperti yang saya jelaskan diawal, operator perbandingan ini baru ‘berguna’ di dalam
percabangan kode program, seperti struktur IF. Berikut contohnya:
program operator_perbandingan;
1
uses crt;
2
var
3 password,konf_pass:string;

4 hasil:boolean;

begin
5
clrscr;
6
password:='r4has1a';
7
konf_pass:='rahasia';
8
if password=konf_pass then
9
writeln('Access Granted')
10 else

11 writeln('Warning, Intruder!!!');

12 readln;

13 end.

14

15

Struktur logika IF THEN ELSE belum kita pelajari hingga saat ini. Tetapi anda mungkin
sudah bisa menebak apa maksud kode program diatas.
Saya membuat sebuah variabel password dengan nilai string ‘r4has1a’. Kemudian saya
membandingkan nilai ini dengan variabel konf_pass. Tampilan ‘Access Granted’ hanya
akan ditampilkan jika variabel konf_pass juga berisi string ‘r4has1a’. Selain itu, password
dianggap tidak cocok dan yang akan ditampilkan adalah: ‘Warning, Intruder!!!’.

Operator perbandingan yang kita bahas disini juga merupakan operator wajib yang perlu dipahami.
Dalam bahasa pemrograman lain seperi C, C++, Java, PHP atau JavaScript, operator ini juga selalu
hadir, tapi terdapat sedikit perbedaan.

Di dalam pascal, operator perbandingan ‘sama dengan’ menggunakan 1 tanda ‘sama


dengan’ yakni tanda ‘=’. Di dalam bahasa pemrograman turunan C (seperti C++ dan PHP),
kita menggunakan tanda ‘dua kali sama dengan’ yakni ‘==’. Tapi anda tidak perlu
memusingkan hal ini :)
Dalam tutorial kali ini kita telah membahas pengertian dan cara penggunaan operator
perbandingan di dalam pascal.
Tutorial Belajar Pascal Part 34: Jenis-jenis
Operator Logika dalam Pascal
15 Sep 16 | Andre | Tutorial Pascal | 3 Comments
Dalam tutorial belajar pascal di duniailkom kali ini, kita akan membahas tentang jenis-jenis
operator logika dalam pascal. Operator logika ini sering juga disebut sebagai operator
boolean.

Pengertian Operator Logika dalam Pascal


Operator logika adalah operator yang digunakan untuk membuat kesimpulan logis dari 2
kondisi boolean: TRUE atau FALSE. Nilai asal dan nilai akhir dari operator logika ini juga
bertipe data boolean.
Melanjutkan analogi tentang kalimat password dari tutorial sebelumnya: jenis-jenis operator
perbandingan pascal. Umumnya selain password, untuk memiliki hak akses seseorang juga
harus menggunakan username yang cocok.
Dengan kata lain, kita baru bisa memberi hak akses jika username DAN password cocok.
Kata ‘dan’ dari kalimat sebelum ini merupakan salah satu dari operator logika, yakni: AND.
Di dalam pascal, terdapat 4 operator logika:

Operator Penjelasan Contoh

and Akan menghasilkan TRUE jika kedua operand TRUE TRUE and FALSE, hasilnya: FALS

or Akan menghasilkan TRUE jika salah satu operand TRUE TRUE or FALSE, hasilnya: TRUE

xor Akan menghasilkan TRUE jika kedua operand berbeda TRUE xor FALSE, hasilnya: TRUE

not Akan menghasilkan TRUE jika operand FALSE not TRUE , hasilnya: FALSE

Contoh Penggunaan Operator Logika Pascal


Sebagai contoh pertama, mari kita uji hasil dari keempat jenis operator ini:

1 program operator_logika;
2 uses crt;
3 var
a,b,hasil:boolean;
4 begin
5 clrscr;
6
7 a:=true;
8 b:=false;
9
10 writeln('a = ',a);
11 writeln('b = ',b);
writeln;
12
13 hasil:= a and b;
14 writeln('a and b :',hasil);
15
16 hasil:= a or b;
17 writeln('a or b :',hasil);
18
hasil:= a xor b;
19 writeln('a xor b :',hasil);
20
21 hasil:= not a;
22 writeln('not a :',hasil);
23
24 hasil:= not b;
25 writeln('not b :',hasil);
26
readln;
27 end.
28
29
30
31

Seperti yang terlihat, hasil dari contoh kode program sesuai dengan penjelasan dari tabel.

Lanjut ke contoh yang lebih ‘membumi’, saya akan menggabungkan operator perbandingan
dengan operator logika:

1 program operator_logika;
uses crt;
2 var
3 hasil:boolean;
4 begin
5 clrscr;
6
7 hasil:= false and false or true;
writeln('false and false or true :',hasil);
8
9 hasil:= true and false or true and false;
10 writeln('true and false or true and false :',hasil);
11
12 hasil:= (5 > 4) and (10 > 9);
13 writeln('(5 > 4) and (10 > 9) :',hasil);
14
hasil:= (15 <= 15) and (15 < 15);
15 writeln('(15 <= 15) and (15 < 15) :',hasil);
16
17 hasil:= ('a' = 'a') or ('a' = 'b') ;
18 writeln('(a = a) or (a = b) :',hasil);
19
20 hasil:= (10 > 7) and ('duniailkom'='duniailkom');
writeln('(10 > 7) and (duniailkom = duniailkom): ',hasil);
21
22 readln;
23 end.
24
25
26
27
Contoh kali ini lebih panjang, mari kita bahas:

 Pada baris 8 saya mencari logika dari 3 kondisi: false and false or true. Untuk operasi
seperti ini, pascal akan mulai dari kanan ke kiri, sehingga yang akan dijalankan
adalah: (false and false) or true. Ini menjadi: false or true. Hasilnya akhirnya
adalah true.
 Pada baris 11 saya mencari logika dari 4 kondisi: true and false or true and false.
Yang dijalankan adalah sebagai berikut: ((true and false) or true) and false. Silahkan
anda ikuti satu persatu tanda kurung tersebut dan hasil akhirnya adalah false.
 Pada baris ke 14, operasinya adalah (5 > 4) and (10 > 9), yang akan diproses
menjadi (true) and (true), hasil akhirnya adalah true.
 Pada baris ke 17, operasinya adalah (15 <= 15) and (15 < 15), yang akan diproses
menjadi (true) and (false), hasil akhirnya adalah false.
 Pada baris ke 20, operasinya adalah (‘a’ = ‘a’) or (‘a’ = ‘b’) , yang akan diproses
menjadi (true) or (false), hasil akhirnya adalah true.
 Pada baris ke 23, operasinya adalah (10 > 7) and (‘duniailkom’=’duniailkom’), yang
akan diproses menjadi (true) and (true), hasil akhirnya adalah true.

Operator logika seperti ini sangat sering kita gunakan sepanjang pembuatan kode program.
Pembuatan percabangan kode program seperti perintah IF THEN dan IF THEN ELSE akan
banyak menggunakan operator logika ini. Nantinya akan kita pelajari dalam tutorial terpisah.
Tutorial Belajar Pascal Part 35: Urutan
Prioritas Operator dalam Bahasa Pascal
19 Sep 16 | Andre | Tutorial Pascal | 3 Comments

Dari sekian banyak operator di dalam bahasa pemrograman Pascal, Pascal memiliki aturan
operator mana yang akan didahulukan, atau dikenal juga dengan urutan prioritas operator.
Dalam tutorial ini akan kita bahas dengan lebih detail.

Urutan Prioritas Operator dalam Pascal


Sebagai contoh kasus, silahkan anda tebak apa hasil akhir dari kode program dibawah ini:

1
program prioritas_operator;
2
uses crt;
3
var
4
hasil1:integer;
5 hasil2:boolean;

6 begin

7 clrscr;

9 hasil1:= 12 + 6 * 3 - 4;

writeln('hasil1 :',hasil1);
10

11
hasil2:= 12 + 6 > 6 * 4;
12
writeln('hasil2 :',hasil2);
13

14
readln;
15
end.
16

Apakah isi dari variabel hasil1 dan hasil2?


Untuk variabel hasil1 mungkin bisa kita tebak, yakni 26. Seperti yang kita pelajari dalam
matematika, oparator perkalian lebih kuat daripada penambahan dan pengurangan. Sehingga
yang akan dijalankan adalah: 12 + (6 * 3) – 4 = 12 + 18 – 4 = 30 – 4 = 26.
Bagaimana dengan hasil2? Apakah hasilnya berupa angka (integer) atau boolean? Inilah
peran dari prioritas operator. Hasilnya adalah boolean FALSE. Operator perbandingan lebih
besar dari“>” memiliki tingkat prioritas yang lebih rendah daripada operator aritmatika. Oleh
karena itu yang akan dijalankan Pascal adalah: (12 + 6) > (6 * 4), menjadi 18 > 24 = false.

Berikut tabel urutan prioritas di dalam bahasa pemrograman Pascal:

Operator Tingkat Prioritas

~, not, Paling Tinggi

*, /, div, mod, and, &

|, !, +, -, or,

=, <>, <, <=, >, >=, in

or else, and then Paling Rendah

Sebagai bahan latihan, bisakah anda menebak hasil dari kode program berikut?

1 program prioritas_operator;

2 uses crt;

3 var

4 hasil:boolean;

5 begin

clrscr;
6
7

8 hasil:= 12 + 6 > 6 * 3 - 1 and true;

9 writeln('hasil :',hasil);

10
readln;
11
end.
12

Hasilnya adalah…. Error: Incompatible types: got “Boolean” expected “LongInt”.

Error diatas terjadi karena Pascal akan mencoba menjalankan operasi berikut:

12 + 6 > (6 * 3) - (1 and true);

Perhatikan bahwa di dalam Pascal operasi lintas tipe data seperti “1 and true” tidak bisa
diproses (error). Ini karena tingkat prioritas operator perkalian dan operator logika and lebih
tinggi daripada yang lain.
Jadi, bagaimana solusinya?
Kita bisa menggunakan tanda kurung “(” dan “)” untuk meningkatkan urutan prioritas
sebuah operasi, jika dari contoh sebelumnya saya ingin menjalankan seluruh operator
aritmatika terlebih dahulu, saya bisa menulisnya seperti berikut ini:
hasil:= (12 + 6 > 6 * 3 - 1) and true;

Atau lebih jelas lagi jika ditulis sebagai berikut:

hasil:= ((12 + 6) > ((6 * 3) - 1)) and true;

Ini akan diproses menjadi: (18 > 17) and true, kemudian: true and true, yang hasilnya
adalah true. Berikut contoh penulisan kode program lengkapnya:
1 program prioritas_operator;

2 uses crt;
3 var

4 hasil:boolean;

begin
5
clrscr;
6

7
hasil:= ((12 + 6) > ((6 * 3) - 1)) and true;
8
writeln('hasil :',hasil);
9

10
readln;
11
end.
12

Walaupun bersifat opsional, menambahkan tanda kurung untuk operasi seperti diatas sangat
disarankan, terutama untuk menghindari “salah prediksi” dari urutan operator.

Tutorial kali ini menutup tutorial mengenai operator di dalam pascal. Untuk operator bitwise,
set/himpunan, dan pointer tidak akan saya jelaskan karena penggunaannya sangat jarang.
Tutorial Belajar Pascal Part 36:
Percabangan Kondisi IF THEN dalam
Pascal
21 Sep 16 | Andre | Tutorial Pascal | No Comments

Dalam pembuatan program, ada saatnya kita butuh suatu perintah percabangan, yakni jika
sebuah kondisi terpenuhi, jalankan kode program ini. Jika tidak, jalankan kode program yang
lain.

Di dalam Pascal terdapat beberapa struktur kondisi seperti ini. Kita akan mulai dari yang
paling sederhana, yakni percabangan kondisi IF THEN.

Konsep Dasar Percabangan Kondisi IF THEN dalam


Pascal
Konsep dasar dari percabangan perintah IF THEN dalam bahasa pemrogram Pascal adalah
sebagai berikut:

1 IF (kondisi) THEN

2 begin

3 (kode program)

4 end;

Kondisi berperan sebagai penentu dari stuktur percabangan ini. Jika kondisi terpenuhi
(menghasilkan nilai TRUE), kode program akan dijalankan. Jika kondisi tidak terpenuhi
(menghasilkan nilai FALSE), tidak terjadi apa-apa. Kondisi biasanya terdiri dari operasi
perbandingan, misalnya apakah variabel a berisi angka 10, atau variabel password berisi
string ‘rahasia’.
Bagian yang ditandai dengan begin dan end; merupakan “blok” kode program yang akan
dijalankan seandainya kondisi bernilai TRUE. Setelah itu, Pascal akan lanjut mengeksekusi
kode program dibawahnya.
Mari langsung praktek dengan menggunakan contoh kode program.

Contoh Kode Program Percabangan IF THEN Pascal


Sebagai contoh pertama, silahkan pelajari kode program berikut ini:
1
program struktur_if_then;
2
uses crt;
3
var
4
angka: integer;
5 begin

6 clrscr;

7 angka := 10;

8 if (angka > 5) then

9 begin

writeln('Variabel "angka" lebih besar dari 5');


10
end;
11
writeln('Belajar Pascal di Duniailkom');
12
readln;
13
end.
14

Pada awal kode program saya membuat sebuah variabel “angka” dengan nilai 10 (integer).
Kemudian saya memeriksa sebuah kondisi menggunakan perintah if then.
if (angka > 5) artinya saya ingin memeriksa apakah nilai dari variabel “angka” lebih besar
dari 5. Jika iya, kondisi tersebut akan menghasilkan nilai TRUE. Akibatnya, kode
program writeln(‘Variabel “angka” lebih besar dari 5’) akan dijalankan.
Setelah blok kondisi if selesai diproses, Pascal lanjut menjalankan kode program setelah
blok if then, yakni baris writeln(‘Belajar Pascal di Duniailkom’) hingga akhir kode
program yang di tandai dengan end.
Saya bisa menambahkan kode program lain di dalam blok if then, seperti contoh berikut:
1 program struktur_if_then;

2 uses crt;

3 var
4 angka:integer;

5 begin

clrscr;
6
angka:=10;
7
if (angka > 5) then
8
begin
9
writeln('====================================');
10
writeln('Variabel "angka" lebih besar dari 5');
11 writeln('====================================');

12 end;

13 writeln('Belajar Pascal di Duniailkom');

14 readln;

end.
15

16

Jika anda browsing atau melihat tutorial lain, kebanyakan bagian blok begin dan end; ini
tidak ditulis. Jika seperti ini, perintah yang dijalankan (saat kondisi TRUE) hanya boleh 1
baris saja, seperti contoh berikut:
program struktur_if_then;
1
uses crt;
2
var
3
angka:integer;
4
begin
5
clrscr;
6
angka:=5;
7 if (angka > 5) then
8 writeln('Variabel "angka" lebih besar dari 5');

9 writeln('Belajar Pascal di Duniailkom');

readln;
10
end.
11

12

Namun sangat sangat disarankan untuk selalu membuat blok begin dan end; pada setiap
kondisi if, karena seperti yang terlihat dari kode program diatas, susah untuk memastikan
apakah baris writeln(‘Belajar Pascal di Duniailkom’) termasuk ke dalam blok if atau tidak,
yang kenyataannya memang tidak termasuk.

Hati-hati untuk menulis penutup blok if then, yakni “end;” (dengan tanda titik koma), bukan “end.”
(dengan tanda titik).

Sebagai contoh yang lebih interaktif, silahkan jalankan kode program berikut:

1
program struktur_if_then;
2
uses crt;
3
var
4
angka:integer;
5 begin

6 clrscr;

7 write('Masukkan sebuah angka: ');

8 readln(angka);

9 if (angka mod 2 = 0) then

begin
10
writeln('Angka yang anda masukkan merupakan bilangan genap');
11
end;
12
readln;
13
end.
14
Kali ini saya membuat program yang meminta input dari pengguna (menggunakan
perintah readln), lalu disimpan kedalam variabel angka.
Variabel angka selanjutnya saya periksa menggunakan kondisi if (angka mod 2 = 0). Anda
masih ingat dengan operator mod? Operator mod akan menghasilkan sisa hasil bagi dari
suatu bilangan.
Dengan menulis if (angka mod 2 = 0) artinya saya memeriksa apakah variabel angka jika
dibagi 2 sisanya 0? Sebagai contoh, 4 mod 2 = 0 (sesuai dengan kondisi). 7 mod 2 = 1 (tidak
sesuai dengan kondisi).
Kondisi if (angka mod 2 = 0) ini sebenarnya digunakan untuk memeriksa apakah sebuah
angka termasuk genap atau tidak. Jika habis dibagi 2 (sisanya 0), artinya angka tersebut
merupakan bilangan genap.
Bagaimana dengan angka ganjil? Misalkan jika diinput sebuah angka, akan lebih baik
hasilnya “Angka yang anda masukkan merupakan bilangan genap” atau “Angka yang anda
masukkan merupakan bilangan ganjil”.
Tutorial Belajar Pascal Part 37:
Percabangan Kondisi IF THEN ELSE
dalam Pascal
23 Sep 16 | Andre | Tutorial Pascal | 10 Comments

Tutorial belajar pascal kali ini merupakan lanjutan dari tutorial sebelumnya. Disini kita akan
membahas tentang kode program untuk membuat percabangan, yakni kondisi IF THEN
ELSE dalam Pascal.

Konsep Dasar Percabangan Kondisi IF THEN ELSE


dalam Pascal
Pada dasarnya, kondisi IF THEN ELSE adalah tambahan dari kondisi IF THEN.
Bagian ELSEdigunakan untuk menjalankan kode program apabila sebuah kondisi tidak
terpenuhi.
Konsep dasar dari percabangan IF THEN ELSE dalam bahasa pemrogram Pascal adalah
sebagai berikut:
IF (kondisi) THEN

begin

(kode program 1)

end

ELSE

begin

(kode program 2)

end;

Jika kondisi terpenuhi, pascal akan menjalankan (kode program 1), jika tidak yang akan
dijalankan adalah (kode program 2). Mari masuk ke contoh kode program

Contoh Kode Program Percabangan IF THEN ELSE


Pascal
Berikut contoh program pertama kita:
1
program struktur_if_then_else;
2
uses crt;
3
var
4
angka: integer;
5
begin
6
clrscr;
7 angka := 4;

8 if (angka > 5) then

9 begin

10 writeln('Variabel "angka" lebih besar dari 5');

end
11
else
12
begin
13
writeln('Variabel "angka" lebih kecil dari 5');
14
end;
15
readln;
16 end.

17

Saya menggunakan contoh yang mirip seperti yang digunakan pada tutorial tentang IF
THEN.

Pada awal kode program saya membuat variabel angka dan diisi dengan nilai 4 (integer).
Kemudian saya memeriksa sebuah kondisi if (angka > 5), jika hasilnya TRUE yang artinya
isi variabel angka besar dari 5, jalankan writeln(‘Variabel “angka” lebih besar dari 5’).
Tapi jika kondisi if (angka > 5) menghasilkan nilai FALSE, yang akan dijalankan
adalah writeln(‘Variabel “angka” lebih kecil dari 5’).
Satu hal yang harus diperhatikan, penutup block sebelum perintah ELSE tidak boleh ada
titik koma “ ; ” . Yang kita tulis harus end else, bukan end; else.
Jika anda menulis seperti ini, kode program akan error:

1 if (angka > 5) then

2 begin

3 writeln('Variabel "angka" lebih besar dari 5');

4 end;

else
5

Kesalahan seperti ini, Fatal: syntax error, “;” expected but “ELSE” found sangat sering
terjadi dalam pembuatan kondisi IF THEN ELSE.
Mari masuk ke contoh yang kedua:

1 program struktur_if_then_else;

uses crt;
2
var
3
angka:integer;
4
begin
5
clrscr;
6
write('Masukkan sebuah angka: ');
7 readln(angka);
8 if (angka mod 2 = 0) then

9 begin

writeln('Angka yang anda masukkan merupakan bilangan genap');


10
end
11
else
12
begin
13
writeln('Angka yang anda masukkan merupakan bilangan ganjil');
14
end;
15 readln;

16 end.

17

18

Kembali, ini adalah modifikasi dari kode program yang saya gunakan pada tutorial IF
THEN. Sekarang saya bisa menambahkan 1 blok ELSE ke dalam program “tebak angka”.
Jika isi dari variabel angka habis dibagi 2, yakni hasil dari kondisi if (angka mod 2 = 0),
jalankan perintah writeln(‘Angka yang anda masukkan merupakan bilangan genap’).
Selain itu, pasti angka ganjil, sehingga yang akan dijalankan adalah writeln(‘Angka yang
anda masukkan merupakan bilangan ganjil’).

Dengan strukur IF THEN ELSE, kita bisa membuat percabangan kode program tergantung
apakah sebuah kondisi bisa dipenuhi atau tidak.

Untuk program yang lebih rumit, kita bisa mengkombinasikan berbagai struktur IF THEN
ELSE. Sebagai contoh, bagaimana jika saya ingin memeriksa apakah sebuah angka
merupakan angka genap dan kurang dari 5?
Tutorial Belajar Pascal Part 38:
Percabangan Kondisi IF Bersarang dalam
Pascal
26 Sep 16 | Andre | Tutorial Pascal | 15 Comments
Dalam tutorial belajar pascal kali ini kita akan membahas penerapan lanjutan dari struktur IF
THEN ELSE, yakni membuat percabangan IF bersarang, atau dikenal juga sebagai nested
IF.

Konsep Dasar Kondisi IF Bersarang (Nested IF)


Secara sederhana, IF bersarang atau nested IF adalah penggunaan struktur IF di dalam IF.
Kondisi seperti ini sering digunakan untuk kode program yang sudah cukup kompleks.
Terdapat banyak variasi dari nested IF, tergantung kode program yang ingin kita rancang.
Salah satunya adalah sebagai berikut:
1
2 IF (kondisi 1) THEN
3 begin
(kode program 1)
4 IF (kondisi 1.1) THEN
5 begin
6 (kode program 1.1)
7 end;
8 end
ELSE
9 begin
10 (kode program 2)
11 end;
12
Dalam contoh ini saya menempatkan sebuah kondisi IF di dalam IF (nested IF). Perhatikan
bahwa (kode program 1.1) hanya akan dijalankan jika kondisi 1 dan kondisi 1.1 terpenuhi.
Jika kondisi 1 tidak terpenuhi, program akan langsung lompat ke bagian ELSE.
Pascal dan mayoritas bahasa pemrograman lain tidak membatasi jumlah IF di dalam IF. Anda
bisa membuat struktur yang lebih rumit seperti ini:

1 IF (kondisi 1) THEN
2 begin
3 (kode program 1)
IF (kondisi 1.1) THEN
4 begin
5 (kode program 1.1)
6 IF (kondisi 1.1.1) THEN
7 begin
8 (kode program 1.1.1)
end;
9 end;
10 end
11 ELSE
12 begin
13 (kode program 2)
14 IF (kondisi 2.1) THEN
begin
15 (kode program 2.1)
16 end;
17 end;
18
19
20
Kali ini saya membuat struktur IF di dalam IF di dalam IF (2 level nested IF). Untuk kode
program yang panjang seperti ini, anda harus hati-hati menentukan kode program mana yang
masuk ke dalam blok IF.
Penulisan indenting (menjorokkan kode program beberapa spasi di awal) juga akan
membantu kita membedakan kode program ini masuk IF yang ini, dan kode program itu
masuk ke IF yang itu.
Kemampuan logika juga sangat berperan dalam membuat kondisi yang kompleks seperti ini.

Contoh Kode Program Nested IF dalam Pascal


Cukup dengan teori seputar nested IF atau IF bersarang. Mari kita masuk ke contoh
program. Saya ingin membuat sebuah program yang meminta input angka (integer),
kemudian menginformasikan apakah angka itu angka genap atau ganjil, dan apakah angka itu
besar atau kecil dari 10.
Dapatkah anda merancang kode programnya? Tentunya dengan menggunakan konsep nested
IF. Disini terdapat 2 kondisi dengan 4 kemungkinan:
1. Angka genap dan besar dari 10
2. Angka genap dan kecil dari 10
3. Angka ganjil dan besar dari 10
4. Angka ganjil dan kecil dari 10
Berikut kode program yang saya gunakan:

1 program struktur_if_then_else_nested;
uses crt;
2 var
3 angka:integer;
4 begin
5 clrscr;
write('Masukkan sebuah angka: ');
6
readln(angka);
7 if (angka mod 2 = 0) then
8 begin
9 write('Angka yang anda masukkan merupakan bilangan genap ');
10 if (angka > 10) then
begin
11 writeln('dan besar dari 10');
12 end
13 else
14 begin
15 writeln('dan kecil dari 10');
end;
16 end
17 else
18 begin
19 write('Angka yang anda masukkan merupakan bilangan ganjil ');
if (angka > 10) then
20 begin
21 writeln('dan besar dari 10');
22 end
23 else
begin
24 writeln('dan kecil dari 10');
25 end;
26 end;
27 readln;
28 end.
29
30
31
32
33
34
Silahkan pelajari sebentar kode program diatas. Jika anda sudah mengikuti seluruh tutorial
pascal di duniailkom, saya yakin bisa membaca maksud kode program ini (walaupun agak
panjang).

Kemampuan logika juga akan berperan. Sebagai contoh, saya tidak perlu memeriksa apakah
angka tersebut kecil dari 10, atau apakah angka itu tidak habis dibagi 2. Kondisi ini cukup
dibuat menggunakan ELSE. Jika sebuah angka tidak lebih besar dari 10, pastinya angka itu
kecil dari 10 (tidak perlu diperiksa). Jika angka tidak habis dibagi 2, berarti angka tersebut
ganjil.
Saya juga menggunakan perintah write dan writeln secara bergantian, agar hasil akhir teks
menjadi 1 baris.
Silahkan anda input berbagai angka, dan test apakah kode program tersebut sudah benar atau
ada yang kurang.
Alternatif Penggunaan Nested IF
Dalam beberapa situasi, kita bisa mengubah nested IF menjadi IF “biasa” dengan bantuan
operator logika AND.
Kode program yang saya buat sebelumnya digunakan untuk membuat hasil untuk 4
kemungkinan:

1. Angka genap dan besar dari 10


2. Angka genap dan kecil dari 10
3. Angka ganjil dan besar dari 10
4. Angka ganjil dan kecil dari 10
Dengan demikian, saya juga bisa membuat kode program sebagai berikut:

1
2
3 program struktur_if_then_else_nested;
4 uses crt;
5 var
6 angka:integer;
7 begin
clrscr;
8 write('Masukkan sebuah angka: ');
9 readln(angka);
10 if (angka mod 2 = 0) and (angka > 10) then
11 begin
12 writeln('Angka yang anda masukkan merupakan bilangan genap dan besar dari 10
end
13 else
14 if (angka mod 2 = 0) and (angka < 10) then
15 begin
16 writeln('Angka yang anda masukkan merupakan bilangan genap dan kecil dari 10
end
17 else
18 if (angka mod 2 <> 0) and (angka > 10) then
19 begin
20 writeln('Angka yang anda masukkan merupakan bilangan ganjil dan besar dari 1
21 end
else
22 if (angka mod 2 <> 0) and (angka < 10) then
23 begin
24 writeln('Angka yang anda masukkan merupakan bilangan ganjil dan kecil dari 1
25 end;
readln;
26 end.
27
28
29
Yup, kali ini tanpa nested IF dan hasil yang didapat sama persis dengan kode program kita
sebelumnya. Bagi kebanyakan orang, kode ini juga lebih mudah dibaca, karena kita langsung
bisa melihat kondisi apa saja yang akan diperiksa.

Namun dari sudut pandang performa, nested IF lebih efisien daripada ini. Dalam situasi
terburuk, variabel angka hanya diperiksa sebanyak 2 kali jika menggunakan nested IF.
Misalkan saya menginput angka:= 7, pertama kali akan diperiksa kondisi: if (angka mod 2 =
0)? Tidak, program langsung menjalankan bagian ELSE, dan masuk ke kondisi kedua: if
(angka > 10)? Tidak, jalankan ELSE.
Sedangkan yang tanpa nested IF, variabel angka akan diperiksa lebih dari 4 kali. Pertama if
(angka mod 2 = 0)? Tidak. Program lanjut ke bagian ELSE IF kedua: if (angka mod 2 =
0)? Juga tidak, lanjut ke ELSE IF ketiga: if (angka mod 2 <> 0)? Betul. Kali ini program
akan masuk ke kondisi (angka > 10)? Tidak. Sehingga akan dijalankan ELSE terakhir: if
(angka mod 2 <> 0) and (angka < 10)?Benar.
Untuk kode program yang sederhana seperti diatas, efeknya tidak akan terasa (karena
dieksekusi dengan sangat cepat). Beberapa programmer juga tidak keberatan mengorbankan
sedikit performa agar kode program mudah dibaca daripada menggunakan nested IF.

Hati-hati Dengan Kesalahan Logika!


Dalam pembuatan kode program, kita sering melakukan kesalahan. Misalnya lupa
menambahkan penutup titik koma ‘ ; ‘ diakhir setiap perintah atau salah memberikan tipe
data ke sebuah variabel.

Kesalahan seperti ini disebut sebagai syntax error. Meskipun sering terjadi, error seperti ini
gampang ditemukan. Compiler Pascal (aplikasi yang menerjemahkan kode program yang
kita ketik), akan langsung menampilkan pesan error ini sebagai syntax error.
Jenis error yang kedua adalah kesalahan logika (logic error). Berbeda dengan syntax
error, logic error sangat susah ditemukan. Error jenis ini tidak akan “diprotes” oleh compiler
pascal, karena penulisan kode programnya memang sudah benar. Kesalahan ini disebabkan
dari programmernya sendiri yang kurang hati-hati.
Sebagai contoh, 2 kode program yang saya tulis diatas mengandung kesalahan logika yang
cukup fatal. Dapatkah anda menemukannya? Kode programnya sendiri memang tidak
mengandung syntax error, soalnya kalau ada, program tentu tidak akan bisa jalan.
Masih belum ketemu? Bagaimana jika saya gunakan angka 10 sebagai input program?

Yup, kode program yang saya tulis hanya bisa membedakan angka yang kurang dari 10, dan
angka yang lebih dari 10. Tetapi tidak untuk angka 10 itu sendiri.
Untuk contoh yang nested IF, hasilnya adalah: Angka yang anda masukkan merupakan
bilangan genap dan kecil dari 10. Sedangkan untuk contoh kode program yang menggunakan
operator AND. Tidak akan tampil hasil apa-apa.
Ini terjadi karena kode program tersebut “tidak sadar” bahwa ada 1 lagi logika kondisi,
yakni jika angka tersebut adalah 10. Artinya, seharusnya ada 5 kemungkinan:
1. Angka genap dan besar dari 10
2. Angka genap dan kecil dari 10
3. Angka ganjil dan besar dari 10
4. Angka ganjil dan kecil dari 10
5. Angka genap dan sama dengan 10
Sebagai solusi dari masalah ini, anda bisa menambahkan 1 lagi kondisi if untuk memeriksa if
(angka = 10). Kode programnya tentu semakin kompleks, tapi bagus sebagai sarana latihan.
Silahkan anda modifikasi kode diatas, dan test apakah anda bisa memodifikasi kode
programnya untuk memproses angka 10.

Dalam tutorial ini kita telah membahas tentang struktur IF bersarang atau dikenal juga
sebagai nested IF. Selain itu kita telah melihat salah satu contoh kesalahan logika yang bisa
saja terjadi pada aplikasi yang sedang anda rancang.
Selain menggunakan struktur IF THEN ELSE, di dalam Pascal juga tersedia percabangan
kode program menggunakan kondisi CASE.
Tutorial Belajar Pascal Part 39: Struktur
Percabangan CASE dalam Pascal
10 Oct 16 | Andre | Tutorial Pascal | 2 Comments

Melanjutkan tutorial belajar pascal di Duniailkom, kali ini kita akan membahas
tentang struktur percabangan CASE dalam bahasa pemrograman Pascal.

Pengertian Struktur Percabangan CASE dalam Pascal


Secara sederhana, struktur percabangan CASE mirip seperti struktur IF THEN ELSE yang
berulang. Jika di dalam IF THEN ELSE kita memiliki format penulisan seperti berikut:
IF (kondisi1) THEN

(kode program 1)

ELSE IF (kondisi2) THEN

(kode program 2)

ELSE IF (kondisi3) THEN

(kode program 3)

Maka di struktur CASE, format penulisannya seperti ini:

CASE (expression) OF

kondisi 1 : (kode program 1);

kondisi 2 : (kode program 2);

kondisi 3 : (kode program 3);

end;

Expression adalah ‘sesuatu’ yang akan di periksa nilainya. Jika nilai dari expression ini
sama dengan kondisi 1, maka yang dijalankan adalah (kode program 1), jika sesuai dengan
kondisi 2, maka yang akan dijalankan adalah (kode program 2), dst.
Penjelasan ini akan lebih mudah jika menggunakan contoh kode program.

Contoh Kode Program Pascal untuk Struktur IF


THEN ELSE
Saya ingin membuat program yang jika seseorang menginput angka 1, akan tampil teks
“Januari”, yakni bulan pertama dalam 1 tahun. Jika diinput angka 2, akan tampil teks
“Februari”. Demikian seterusnya hingga angka ke 12 yang akan menampilkan teks
“Desember”. Bagaimana cara membuat program seperti ini?
Berikut kode program Pascal yang saya gunakan:

1 program struktur_if_then_else;

2 uses crt;

3 var

4 bulan: integer;

begin
5
clrscr;
6
write('Silahkan input angka untuk bulan (1-12): ');
7
readln(bulan);
8

9
if (bulan = 1) then
10
writeln('Januari')
11 else if (bulan = 2) then

12 writeln('Februari')

13 else if (bulan = 3) then

14 writeln('Maret')

15 else if (bulan = 4) then

writeln('April')
16
else if (bulan = 5) then
17
writeln('Mei')
18
else if (bulan = 6) then
19
writeln('Juni')
20
else if (bulan = 7) then
21 writeln('Juli')

22 else if (bulan = 8) then

23 writeln('Agustus')

24 else if (bulan = 9) then

writeln('September')
25
26 else if (bulan = 10) then

27 writeln('Oktober')

else if (bulan = 11) then


28
writeln('Novemver')
29
else if (bulan = 12) then
30
writeln('Desember');
31

32
readln;
33
end.
34

35

36

Kode program diatas lumayan panjang. Namun jika anda sudah memahami struktur logika IF
THEN ELSE, sebenarnya cukup sederhana.

Di awal kode program, saya mendefenisikan sebuah variabel bulan dengan tipe data integer.
Artinya variabel bulan hanya bisa diisi dengan angka bulat, seperti 1, 2, 7, dst. Kemudian
saya meminta user mengisi variabel ini, yakni dengan perintah:
write('Silahkan input angka untuk bulan (1-12): ');

readln(bulan);

Sekarang, apapun angka yang diinput oleh user akan disimpan ke dalam variabel bulan.
Saya bisa mengecek nilai variabel angka menggunakan struktur IF THEN ELSE, dimana if
(bulan = 1) maka jalankan writeln(‘Januari’). Jika variabel bulan bukan berisi angka 1,
lanjut ke kondisi berikutnya, yakni else if (bulan = 2) then writeln(‘Februari’), demikian
seterusnya hingga Desember.
Disini saya tidak menggunakan blok program begin dan end; untuk setiap kondisi if, semata-
mata agar kode programnya menjadi lebih singkat. Penulisan yang disarankan adalah seperti
ini:
1 if (bulan = 1) then

2 begin

3 writeln('Januari')

4 end

Jika ditulis tanpa blok ini, kita tidak boleh menempatkan tanda titik koma pada baris sebelum
perintah ELSE. Sebagai contoh, kode program berikut akan menghasilkan error:

if (bulan = 1) then

writeln('Januari'); <-- diakhiri tanda ‘ ; ’

else if (bulan = 2)

Karena tanda titik koma pada writeln(‘Januari’); tidak boleh ditulis, jadi harus ditulis seperti
ini:

if (bulan = 1) then

writeln('Januari') <-- harus ditulis tanpa ‘ ; ’

else if (bulan = 2)

Contoh Kode Program Pascal untuk Struktur CASE


Kode program IF THEN ELSE sebelumnya tidak salah dan berjalan sesuai dengan
keinginan saya. Namun untuk program yang kondisi logikanya cukup sederhana (seperti
perbandingan angka tersebut), kita bisa menggunakan alternatif penulisan dengan struktur
CASE.
Berikut contoh kode programnya:

1
program struktur_case;
2
uses crt;
3
var
4
bulan: integer;
5 begin

6 clrscr;

7 write('Silahkan input angka untuk bulan (1-12): ');

8 readln(bulan);

10 case (bulan) of

1 : writeln('Januari');
11
2 : writeln('Februari');
12
3 : writeln('Maret');
13
4 : writeln('April');
14
5 : writeln('Mei');
15
6 : writeln('Juni');
16 7 : writeln('Juli');

17 8 : writeln('Agustus');

18 9 : writeln('September');

19 10 : writeln('Oktober');

11 : writeln('November');
20
12 : writeln('Desember');
21
end;
22

23
readln;
24
end.
25
26

Terlihat lebih rapi dan lebih singkat. Mari kita bahas!

Pada 8 baris pertama kode program, sama persis dengan sebelumnya. Dimana saya membuat
variabel bulan, kemudian meminta inputan dari pengguna.
Dibaris ke 10, terdapat perintah case (bulan) of, inilah awal dari blok CASE. Perhatikan di
baris ke 23 terdapat perintah end; yang menandakan akhir dari blok CASE.
Perintah case (bulan) of artinya saya ingin memeriksa apakah nilai dari dari
variabel bulan sesuai dengan beberapa kondisi. Kondisi ini ditulis sepanjang blok CASE,
dengan format:
1 kondisi1 : kode program 1;

2 kondisi2 : kode program 2;

3 kondisi3 : kode program 3;

4 dst...

Karena saya ingin memeriksa nilai bulan dari 1 – 12, maka penulisannya sebagai berikut:

1
1 : writeln('Januari');
2
2 : writeln('Februari');
3
3 : writeln('Maret');
4 4 : writeln('April');

5 5 : writeln('Mei');

6 6 : writeln('Juni');

7 7 : writeln('Juli');

8 8 : writeln('Agustus');

9 : writeln('September');
9
10 : writeln('Oktober');
10
11 : writeln('November');
11
12 : writeln('Desember');
12

Jika nilai variabel bulan berisi angka 9, maka jalankan perintah writeln(‘September’), jika
nilai variabel bulan adalah 12, maka jalankan perintah writeln(‘Desember’).
Ketika dijalankan, kode program CASE ini sama persis seperti contoh IF THEN ELSE
sebelumnya.
Dalam tutorial kali ini kita telah mempelajari pengertian serta contoh penggunaan struktur
CASE di dalam bahasa pemrograman PASCAL. Namun struktur CASE ini sendiri masih
memiliki beberapa fitur tambahan, seperti CASE ELSE, atau memeriksa beberapa kondisi
sekaligus.
Tutorial Belajar Pascal Part 40: Struktur
Percabangan CASE ELSE dalam Pascal
15 Oct 16 | Andre | Tutorial Pascal | 11 Comments

Dalam tutorial sebelumnya, kita telah membahas cara penulisan struktur percabangan CASE
dalam bahasa Pascal. Selain itu, masih terdapat fitur tambahan di dalam CASE, seperti CASE
ELSE, menjalankan 1 perintah untuk banyak CASE, maupun menjalankan beberapa perintah
dalam 1 kondisi CASE .
Inilah yang akan kita bahas dalam tutorial PASCAL di Duniailkom kali ini, yakni materi
lanjutan tentang pembuatan struktur CASE dalam bahasa Pascal.

Membuat Kondisi Default Dengan CASE ELSE


Pada tutorial Struktur Percabangan CASE dalam Pascal kita telah mempelajari konsep dasar
penulisan CASE. Dimana saya membuat contoh kode program yang memeriksa nilai
variabel bulan, kemudian menampilkan teks dari bulan tersebut. Mari kita masuk ke contoh
lain:
1 program struktur_case;

2 uses crt;

3 var

4 grade: string;

begin
5
clrscr;
6
write('Silahkan input grade anda (A-E): ');
7
readln(grade);
8

9
case (grade) of
10
'A' : writeln('Sangat Memuaskan');
11 'B' : writeln('Memuaskan');

12 'C' : writeln('Kurang Baik');

13 'D' : writeln('Kurang Baik');

14 'E' : writeln('Maaf, anda tidak lolos');

15 end;
16

17 readln;

18 end.

19

Kali ini saya membuat kode program yang meminta inputan berupa huruf A – E, yang
disimpan ke dalam variabel grade. Jika diiput ‘A’, maka akan tampil teks ‘Sangat
Memuaskan’, jika diinput ‘B’, akan tampil teks ‘Memuaskan’, demikian hingga grade E.

Contoh kali ini kurang lebih sama seperti contoh dalam tutorial sebelumnya. Tapi, bagaimana
jika seseorang menginput huruf F? atau X? atau Z? Huruf-huruf ini tidak ada di dalam
kondisi yang kita periksa.
Untuk situasi seperti ini kita bisa menggunakan stuktur CASE ELSE. Langsung saja ke
dalam contoh kode programnya:
1 program struktur_case;

uses crt;
2
var
3
grade: string;
4
begin
5
clrscr;
6
write('Silahkan input grade anda (A-E): ');
7
readln(grade);
8

9 case (grade) of

10 'A' : writeln('Sangat Memuaskan');


11 'B' : writeln('Memuaskan');

12 'C' : writeln('Kurang Baik');

'D' : writeln('Kurang Baik');


13
'E' : writeln('Maaf, anda tidak lolos');
14
else
15
writeln('Maaf, format yang anda masukkan salah');
16
writeln('Harap input grade berupa huruf: A, B, C, D, atau E');
17
end;
18

19 readln;

20 end.

21

22

Perhatikan tambahan bagian ELSE. Artinya, jika kelima kondisi tidak cocok (yang diinput
selain dari huruf A – E), maka tampilkan perintah:
1 writeln('Maaf, format yang anda masukkan salah');

2 writeln('Harap input grade berupa huruf: A, B, C, D, atau E');

Dengan demikian, jika ada yang iseng menginput huruf lain, akan tampil penjelasan seperti
diatas. Jika tidak ditambahkan, kode program kita hanya menampilkan layar kosong (blank).
Menjalankan Kode Program Untuk Lebih dari 1
Kondisi CASE
Fitur lain yang tersedia didalam kondisi CASE adalah menjalankan kode program yang
sama untuk lebih dari 1 kondisi. Jika anda perhatikan, contoh program grade sebelumnya
menampilkan teks ‘Kurang Baik’ untuk kondisi C dan D. Ini bisa kita satukan menjadi
seperti berikut ini:
1

2 program struktur_case;

uses crt;
3
var
4
grade: string;
5
begin
6
clrscr;
7
write('Silahkan input grade anda (A-E): ');
8 readln(grade);

10 case (grade) of

11 'A' : writeln('Sangat Memuaskan');

12 'B' : writeln('Memuaskan');

'C','D' : writeln('Kurang Baik');


13
'E' : writeln('Maaf, anda tidak lolos');
14
else
15
writeln('Maaf, format yang anda masukkan salah');
16
writeln('Harap input grade berupa huruf: A, B, C, D, atau E');
17
end;
18

19 readln;

20 end.

21

Dibaris ke 13, saya menulis ‘C’,’D’ : writeln(‘Kurang Baik’). Ini artinya jika
variabel grade berisi huruf C atau D, tampilkan teks yang sama: ‘Kurang Baik’. Fitur
seperti ini bisa digunakan untuk mempersingat penulisan kode program.
Menjalankan Banyak Kode Program untuk 1 Kondisi
CASE
Kali ini kita akan membahas kebalikan dari contoh diatas, yakni bagaimana cara menjalankan
banyak kode program untuk 1 kondisi CASE. Caranya mirip seperti tutorial IF THEN ELSE,
yakni dengan blok begin dan end; untuk setiap kode program kondisi.
Berikut contoh penggunaannya:

1 program struktur_case;

2 uses crt;

var
3
grade: string;
4
begin
5
clrscr;
6
write('Silahkan input grade anda (A-E): ');
7
readln(grade);
8

9 case (grade) of

10 'A' :

11 begin

12 writeln('Sangat Memuaskan');

13 writeln('Pertahankan!');

end;
14
'B' :
15
begin
16
writeln('Memuaskan');
17
writeln('Tingkatkan lagi!');
18
end;
19 'C','D' :

20 begin

21 writeln('Kurang Baik');
22 writeln('Agar Lebih banyak belajar!');

23 end;

'E' :
24
begin
25
writeln('Maaf, anda tidak lolos');
26
writeln('Selama ini ngapain saja bro...?');
27
end
28
else
29 writeln('Maaf, format yang anda masukkan salah');

30 writeln('Harap input grade berupa huruf: A, B, C, D, atau E');

31 end;

32

33 readln;

end.
34

35

36

37

Kode program diatas merupakan modifikasi dari kode kita sebelumnya. Disini dalam setiap
kondisi saya menjalankan 2 baris perintah writeln. Tentu saja tidak dibatasi dengan 2 baris
saja, bisa 3, 4 atau lebih. Dengan syarat, harus berada diantara blok begin dan end;.
Batasan dari struktur CASE
Struktur CASE menawarkan penulisan yang lebih singkat dan efisien dibandingkan struktur
IF THEN, namun kondisi yang bisa dipakai hanya sederhana seperti yang saya contohkan,
misalkan apakah sebuah variabel bernilai angka atau string tertentu.
Untuk kondisi yang lebih rumit seperti perbandingan lebih besar ” > ” atau lebih kecil ” <“,
atau perbandingan yang melibatkan lebih dari 1 kondisi, kita tidak bisa menggunakan CASE.
Kode program untuk menentukan apakah sebuah angka genap atau ganjil, tidak bisa
dikonversi ke dalam CASE.

Dalam pemrograman yang “sebenarnya”, kita juga lebih sering menggunakan IF daripada
CASE. Tapi untuk situasi yang melibatkan banyak perulangan sederhana, struktur CASE
lebih rapi dan singkat daripada IF.

Tutorial tentang CASE ELSE kali ini menutup tutorial tentang struktur logika di dalam
bahasa pemrograman Pascal.
Tutorial Belajar Pascal Part 41:
Perulangan FOR DO dalam Pascal
21 Oct 16 | Andre | Tutorial Pascal | 4 Comments

Selain struktur percabangan program seperti IF THEN, IF THEN ELSE dan CASE, struktur
program lain yang wajib kita ketahui adalah looping, atau perulangan, atau disebut juga
dengan iterasi.
Di dalam Pascal setidaknya terdapat 3 jenis perulangan, yakni FOR DO, WHILE DO,
dan REPEAT UNTIL. Kita mulai dengan membahas Perulangan FOR DO dalam bahasa
pemrograman Pascal.

Pengertian Perulangan FOR DO dalam Pascal


Perulangan, atau looping dalam bahasa inggris, adalah konsep pemrograman dimana
kita mengulang baris program beberapa kali. “Beberapa kali” disini bisa dikatakan tidak
terbatas, selama komputer masih bisa mengolahnya.
Sebagai contoh, saya ingin anda menulis teks “Hello World” sebanyak 1000 kali. Tentu
sangat melelahkan mengetik semua ini (walaupun dengan di-copy paste). Menggunakan
struktur looping, kita bisa membuatnya dalam waktu singkat dan cepat, hanya butuh
beberapa baris kode program.
Salah satu struktur perulangan di dalam Pascal adalah FOR DO, berikut format
penulisannya:
FOR (variabel_counter) := (nilai_awal) TO (nilai_akhir) DO

begin

(kode program yang ingin diulang disini...)

end;

variabel_counter adalah variabel yang berfungsi sebagai counter, atau penghitung di dalam
perulangan. Variabel ini otomatis menaik dari nilai_awal hingga nilai_akhir. Dalam setiap
kenaikan, blok kode program yang berada di dalam begin dan end; akan
dijalankan. variabel_counter ini bisa digunakan sepanjang perulangan (jika diperlukan).
Mari langsung masuk ke contoh kode program.

Contoh Kode Program PASCAL untuk Perulangan


FOR DO
Sebagai contoh pertama, saya ingin membuat 1000 teks “Hello World”. Berikut kode
programnya:
1 program for_do_loop;
2 uses crt;

3 var

i: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 1000 do
8
begin
9
writeln('Hello World');
10
end;
11

12 readln;

13 end.

14

Di bagian var, saya membuat sebuah variabel i dengan tipe data integer. Variabel ini saya
siapkan sebagai variabel counter.

Di dalam bahasa pemrograman komputer, variabel i, j, dan k sering digunakan sebagai variabel
counter. Anda akan sering melihat huruf-huruf ini dalam setiap perulangan, tidak hanya dalam bahasa
Pascal saja.

Untuk membuat perulangan sebanyak 1000 kali, saya menggunakan perintah for i := 1 to
1000 do. Ini bisa dibaca dengan “Untuk variabel i, jalankan perulangan mulai dari 1 hingga
1000”.
Apa yang akan diulang? Adalah blok program yang diawali perintah begin, dan diakhiri
perintah end;. Di dalam blok ini saya membuat sebuah perintah: writeln(‘Hello World’).
Dengan demikian, pascal akan menjalankan 1000 kali baris writeln(‘Hello World’). Mari
kita coba:
Karena keterbatasan ukuran layar, kita tidak akan bisa menghitung jumlah “Hello
World” ini. Tapi kita bisa memanfaatkan variabel counter i. Saya akan ubah kode
programnya menjadi seperti berikut:
1
program for_do_loop;
2
uses crt;
3
var
4 i: integer;

5 begin

6 clrscr;

8 for i := 1 to 1000 do

9 begin

writeln('Hello World ke - ',i);


10
end;
11

12
readln;
13
end.
14

Disini, saya menambahkan variabel counter i ke dalam blok perulangan. Kode writeln(‘Hello
World ke – ‘,i), artinya saya ingin menampilkan Hello World – 1, Hello World – 2, Hello
World – 3, hingga Hello World – 1000.
Jika komputer anda cukup lambat (eh), ketika program dijalankan akan terlihat teks Hello
Worldmenaik secara perlahan dari 1 hingga 1000.
Mari masuk ke contoh selanjutnya. Kali ini saya ingin membuat kode program yang
merupakan daftar perkalian 7, yakni 7 x 1 = 7, 7 x 2 = 14, 7 x 3 = 21, dst hingga 7 x 10 = 70.
Disini kita harus menggunakan variabel counter i agar setiap perkalian naik dari 1 hingga 10.
Berikut kode program yang saya gunakan:
1
program for_do_loop;
2
uses crt;
3
var
4 i: integer;

5 begin

6 clrscr;

8 for i := 1 to 10 do

9 begin

writeln('7 x ',i,' = ',7 * i);


10
end;
11

12
readln;
13
end.
14
Ini sebenarnya modifikasi dari kode program perulangan Hello World. Saya merangkai
tampilan daftar perkalian menggunakan perintah writeln(‘7 x ‘,i,’ = ‘,7 * i). Jika anda
mengikuti tutorial belajar pascal duniailkom dari awal, ini adalah penyambungan teks dengan
variabel. Tanda koma digunakan untuk memisahkan mana bagian teks, dan mana variabel
Pascal.
Sebagai contoh terakhir, mari kita coba modifikasi kode program diatas agar lebih interaktif.
Kali ini saya ingin membuat daftar perkalian tapi angka perkaliannya diinput oleh pengguna.
Misalnya diinput angka 9, tampilkan daftar perkalian 9 x 1, 9 x 2, hingga 9 x 10. Jika
diinput 14, tampilkan perkalian 14 x 1, 14 x 2, hingga 14 x 10.
Sebagai latihan, silahkan anda coba buat sendiri.

Baik, berikut kode program yang saya gunakan:

1 program for_do_loop;

2 uses crt;

var
3
i,angka: integer;
4
begin
5
clrscr;
6
writeln('========================');
7
writeln('Program Daftar Perkalian');
8
writeln('========================');
9 writeln;

10

11 write('Input perkalian yang diinginkan: ');

12 readln(angka);

13
14 writeln;

15 for i := 1 to 10 do

16 begin

writeln( i ,' x ', angka ,' = ', i * angka);


17
end;
18

19
readln;
20
end.
21

22

Disini saya menggunakan 2 buah variabel: i dan angka. Variabel angka digunakan untuk
menampung inputan, sedangkan variabel i sebagai variabel counter.
Selain tambahan kode readln(angka), kode program diatas mirip seperti sebelumnya. Tentu
saja di dalam blok perulangan saya harus membuat baris writeln( i ,’ x ‘, angka ,’ = ‘, i *
angka) agar variabel angka di proses sebagai bilangan pengali.
Perulangan Dengan Angka Negatif untuk FOR DO
Pascal
Dalam contoh sebelumnya, saya menggunakan angka positif untuk perulangan. Selain itu,
kita juga bisa menggunakan nilai negatif, selama nilai awal harus lebih besar daripada nilai
akhir:

1
program for_do_loop;
2
uses crt;
3
var
4 i: integer;

5 begin

6 clrscr;

8 for i := -35 to -20 do

9 begin

writeln('10 x ',i,' = ',10 * i);


10
end;
11

12
readln;
13
end.
14
Perulangan Mundur untuk FOR DO Pascal
Bisa menggunakan angka negatif, kenapa kita tidak mencoba hitung mundur? Yakni dari
bilangan besar ke kecil. Berikut contoh kode programnya:

1
program for_do_loop;
2
uses crt;
3
var
4 i: integer;

5 begin

6 clrscr;

8 for i := 10 to 0 do

9 begin

writeln('Hitung mundur: ',i);


10
end;
11

12
readln;
13
end.
14

Eh, kenapa layarnya kosong? Yup, di dalam PASCAL kita tidak bisa melakukan hitung
mundur dengan perulangan FOR DO, tapi harus menggunakan perulangan FOR DONWTO
DO.
Tutorial Belajar Pascal Part 42:
Perulangan FOR DOWNTO dalam Pascal
22 Oct 16 | Andre | Tutorial Pascal | 12 Comments

Tutorial kali ini merupakan lanjutan dari perulangan FOR DO yang saya bahas sebelumnya.
Disini kita akan mempelajari cara penggunaan perulangan FOR DOWNTO dalam bahasa
pemrograman Pascal.

Pengertian Perulangan FOR DOWNTO dalam Pascal


Perulangan FOR DOWNTO pada dasarnya sangat mirip dengan perulangan FOR DO,
bedanya perulangan kali ini khusus untuk iterasi yang menurun, dari angka besar ke angka
kecil.
Berikut format penulisannya:

FOR (variabel_counter) := (nilai_awal) DOWNTO (nilai_akhir) DO

begin

(kode program yang ingin diulang disini...)

end;

Nyaris tidak berbeda dengan format perulangan FOR DO, hanya saja kali ini kita
menggunakan keyword DOWNTO sebagai pengganti TO. Mari kita lihat contoh kode
programnya.

Contoh Perulangan FOR DOWNTO dalam Pascal


Melanjutkan contoh kasus yang kita coba pada akhir tutorial FOR DO, berikut kode program
hitung mundur dari 10 ke 1 menggunakan FOR DOWNTO:
1 program for_do_loop;

2 uses crt;

3 var

4 i: integer;

5 begin

clrscr;
6

7
8 for i := 10 downto 0 do

9 begin

10 writeln('Hitung mundur: ',i);

end;
11

12
readln;
13
end.
14

Disini variabel counter i akan menurun dari 10 ke 0, sesuai dengan perintah for i :=
10 downto 0 do.

Menggunakan contoh kode program perkalian dari tutorial sebelumnya, saya bisa
mengubahnya sebagai berikut:

1 program for_downto_loop;

uses crt;
2
var
3
i: integer;
4
begin
5
clrscr;
6

7
for i := 10 downto 1 do
8
begin
9 writeln('Perkalian 7 * ', i ,' adalah = ', 7 * i);

10 end;
11

12 readln;

13 end.

14

Untuk contoh yang lebih interaktif, saya ingin membuat lirik lagu ayak ayam dengan
perulangan FOR DOWNTO, yakni menampilkan string “Anak ayam turun 10, pergi 1
tinggal 9”, kemudian dilanjutkan dengan string “Anak ayam turun 9, pergi 1 tinggal 8”,
hingga “Anak ayam turun 1, pergi 1 tinggal 0”. Jumlah anak ayam awal harus diinput oleh
pengguna.
Kode programnya kurang lebih mirip seperti contoh program perkalian interaktif dalam
tutorial FOR DO. Hanya saja selain menggunaan FOR DOWNTO, anda perlu memikirkan
bagaimana baris “Anak ayam turun 9, pergi 1 tinggal 8” dirangkai. Silahkan buka
aplikasi Free PASCAL, dan coba soal latihan ini.
Baik, berikut contoh kode program yang saya gunakan:

1 program for_downto_loop;

2 uses crt;

var
3
anak_ayam,i: integer;
4
begin
5
clrscr;
6

7
writeln('==============');
8
writeln('Lagu Anak Ayam');
9 writeln('==============');

10 writeln;
11

12 write('Input jumlah anak ayam: ');

13 readln(anak_ayam);

writeln;
14

15
for i := anak_ayam downto 1 do
16
begin
17
writeln('Anak ayam turun ',i,' pergi 1, tinggal ',i-1);
18
end;
19

20
readln;
21 end.

22

23

Saya membuat 2 buah variabel: i sebagai variabel counter, dan anak_ayam sebagai variabel
penampung inputan untuk perintah readln(anak_ayam).
Perhatikan baris writeln(‘Anak ayam turun ‘,i,’ pergi 1, tinggal ‘,i-1); inilah yang akan
menampilkan teks lagu anak ayam yang terus menurun hingga “Anak ayam turun 1, pergi 1
tinggal 0”.
Disini saya membuat perulangan dengan for i := anak_ayam downto 1 do. Saya tidak
membuat for i := anak_ayam downto 0 do, karena di looping nanti nilai i akan dikurangi
lagi. Jika saya melakukan perulangan hingga 0, lirik lagu terakhir akan menjadi “Anak ayam
turun 0, pergi 1 tinggal -1”. Sangat tidak logis ada anak ayam dengan nilai negatif.
Sama seperti FOR TO, perulangan FOR DOWNTO juga bisa digunakan untuk nilai negatif.
Tentu saja dengan catatan nilai awal harus lebih besar daripada nilai akhir.

Dalam tutorial ini dan tutorial sebelumnya kita telah mempelajari struktur perulangan FOR
DO, serta struktur perulangan FOR DOWNTO di dalam bahasa pemrograman PASCAL.
Tutorial Belajar Pascal Part 43:
Perulangan WHILE DO dalam Pascal
26 Oct 16 | Andre | Tutorial Pascal | 20 Comments

Melanjutkan tutorial tentang perulangan atau looping dalam bahasa pemrograman Pascal, kita
akan masuk ke perulangan WHILE DO. Disini akan dibahas cara penulisan serta cara
penggunaan perulangan WHILE DO dalam Pascal.

Konsep Dasar Perulangan WHILE DO dalam Pascal


Perulangan FOR DO dan FOR DOWNTO DO yang saya bahas sebelum ini cocok untuk
kondisi dimana kita sudah tahu berapa banyak perulangan yang ingin dijalankan. Dalam FOR
DO, nilai awal perulangan dan nilai akhir sudah harus ditulis di awal kode program.
Untuk situasi dimana jumlah perulangan belum bisa dipastikan, kita bisa menggunakan
perulangan WHILE DO atau REPEAT UNTIL. Dalam tutorial kali ini saya akan fokus
kepada WHILE DO.
Berikut format dasar penulisan perulangan WHILE DO dalam bahasa pemrograman
PASCAL:

1 WHILE (condition) DO

2 begin

3 (kode program yang ingin diulang disini...)

4 (kode program untuk mengubah condition..)

end;
5

Kunci dari perulangan WHILE DO ada di condition dan kode program untuk mengubah
condition. Condition bisa dikatakan sebagai syarat agar perulangan bisa dijalankan. Selama
syarat ini terpenuhi (bernilai TRUE), perulangan akan terus dijalankan. Jika syarat ini tidak
terpenuhi (bernilai FALSE), perulangan tidak akan berjalan.
Mari kita lihat contoh kode programnya.

Contoh kode Program Perulangan WHILE DO dalam


Pascal
Agar seragam dengan perulangan FOR DO, saya ingin membuat 10 baris teks “Hello World”
menggunakan WHILE DO. Berikut kode programnya:
1 program while_do;
2 uses crt;

3 var

i: integer;
4
begin
5
clrscr;
6
i:= 0;
7

8
while i < 10 do
9
begin
10 writeln('Hello World');

11 i:= i + 1;

12 end;

13

14 readln;

end.
15

16

Pada awal program, saya membuat variabel i yang berfungsi sebagai variabel counter.
Sebelum perulangan, saya memberikan nilai 0 untuk i. Setelah itu kita masuk ke
perulangan WHILE DO.
Baris program while i < 10 do adalah awal dari perulangan. Inilah kondisi atau syarat yang
harus dipenuhi supaya perulangan bisa diproses. Ketika kode program jalan pertama kali,
nilai variabel i adalah 0, artinya kondisi i < 10 menghasilkan nilai TRUE. Karena tentu saja 0
kurang dari 10.
Karena syarat di penuhi, blok begin hingga end; segera di eksekusi. Baris pertama
adalah writeln(‘Hello World’). Ini digunakan untuk menampilkan teks ‘Hello World’. Tidak
ada masalah.
Baris berikutnya saya membuat i:= i + 1. Bagian ini dikenal juga sebagai increment, artinya
saya ingin menambah nilai variabel counter i sebanyak 1 angka. Ini dilakukan supaya bisa
mengubah kondisi i < 10 yang terdapat di awal perulangan. Jika ini tidak ditulis, perulangan
tidak akan pernah berhenti (infinity loop).
Sampai disini, kode program akan kembali ke awal dan mengecek apakah i < 10? Ingat,
variabel i sekarang sudah bernilai 1. Oke, 1 < 10 = benar (TRUE), kembali
jalankan writeln(‘Hello World’), yang diikuti dengan i:= i + 1. Karena 1 + 1 = 2, varibel i
sekarang bernilai 2.
Kode program kembali ke awal dan mengecek apakah i < 10? Sekarang nilai i adalah 2, dan 2
masih kurang dari 10, 2 < 10 = benar (TRUE), sekali lagi kode blok perulangan akan
dijalankan.
Proses seperti ini terus berlangsung sampai kondisi i < 10 menghasilkan FALSE. Kapan
kondisi ini terjadi? Yakni ketika variabel i = 10. 10 < 10 adalah FALSE. Artinya, perulangan
WHILE DO akan dijalankan sebanyak 10 kali, dimana dalam setiap perulangan, nilai i akan
menaik mulai dari 0, 1, 2, 3, 4, 5, 6, 7, 8, hingga 9.
Agar konsep perulangan ini bisa lebih paham, silahkan anda bayangkan (kalau perlu ditulis),
bagaimana nilai variabel counter i bisa naik dari 1 sampai 9, dan pada setiap kenaikan
perulangan akan menampilkan teks ‘Hello World’.

Jika kode program diatas masih kurang paham, mari masuk ke contoh kedua:

1
program while_do;
2
uses crt;
3
var
4
i: integer;
5 begin

6 clrscr;

7 i:= 0;

9 while i < 10 do

10 begin

writeln('Variabel i sekarang bernilai: ',i);


11
i:= i + 1;
12
end;
13
readln;
14
end.
15

Kondisi perulangan WHILE DO yang saya pakai sama persis seperti sebelumnya. Hanya
saja kali ini perintah yang dijalankan pada setiap perulangan adalah writeln(‘Variabel i
sekarang bernilai: ‘,i). Ini akan membantu kita melihat nilai variabel counter i yang terus
bertambah 1 selama perulangan dijalankan.

Pemahaman Logika untuk Perulangan WHILE DO


Untuk bisa membuat perulangan dengan WHILE DO, kita perlu pemahaman logika. Logika
diperlukan untuk menentukan nilai awal dan kondisi akhir.
Sebagai latihan soal, saya ingin anda membuat kode program yang menghasilkan
teks: “Variabel i sekarang bernilai: 5”, “Variabel i sekarang bernilai: 6”, …
Hingga “Variabel i sekarang bernilai: 10”. Yup, hanya 5 baris. Silahkan anda modifikasi
kode program diatas.
Baik, berikut kode yang saya gunakan:

1 program while_do;

2 uses crt;

var
3
i: integer;
4
begin
5
clrscr;
6
i:= 5;
7

8
while i <= 10 do
9
begin
10 writeln('Variabel i sekarang bernilai: ',i);

11 i:= i + 1;

12 end;
13 readln;

14 end.

15

Kuncinya adalah bagaimana menentukan kondisi awal variabel i, dan kondisi akhir dari
perulangan. Dengan membuat i:= 5, dan while i <= 10 do, artinya nilai i akan mulai dari 5,
6, 7, 8, 9, dan 10.
Tapi saya juga bisa menggunakan kode program berikut:

1
program while_do;
2
uses crt;
3
var
4
i: integer;
5 begin

6 clrscr;

7 i:= 5;

9 while i < 11 do

10 begin

writeln('Variabel i sekarang bernilai: ',i);


11
i:= i + 1;
12
end;
13
readln;
14
end.
15
Dapatkah anda melihat bedanya? Perhatikan bahwa kali ini saya menggunakan kondisi while
i < 11 do. Sebenarnya ini sama seperti while i <= 10 do. Angka 10 akan TRUE jika
dibandingkan dengan “< 11″, maupun “<= 10“.
Konsep seperti ini agar selalu diperhatikan ketika membuat perulangan WHILE DO.

Hati-hati dengan Infinity Loop


Infinity Loop adalah sebuah perulangan yang tidak pernah berhenti. Ini terjadi karena
variabel kondisi akan selalu bernilai TRUE.
Perhatikan kode program berikut:

1
program while_do;
2
uses crt;
3
var
4
i: integer;
5 begin

6 clrscr;

7 i:= 5;

9 while i < 11 do

begin
10
writeln('Variabel i sekarang bernilai: ',i);
11
end;
12
readln;
13
end.
14

Jika anda menjalankan kode program diatas, akan terjadi Infinity Loop. Ini karena kondisi
while i <= 10 do akan selalu TRUE. Di dalam perulangan saya tidak membuat ‘sesuatu’
yang bisa mengubah nilai variabel i (untuk membuat syarat i <= 10 menjadi FALSE).
Infinity Loop biasanya terjadi karena kesalahan logika dari programmer, terutama untuk
perulangan WHILE DO dan REPEAT UNTIL. Untuk menghentikan infinity loop, anda bisa
menekan kombinasi tombol CRTL + C, atau menutup paksa Free Pascal.

Membuat Hitung Mundur dengan WHILE DO


Untuk membuat perulangan yang mundur, kita bisa mengubah nilai awal variabel
counter dan kondisi syarat dari perulangan WHILE DO. Berikut contohnya:
1
program while_do;
2
uses crt;
3
var
4
i: integer;
5 begin

6 clrscr;

7 i:= 100;

9 while i >= 0 do

10 begin

writeln('Hitung mundur: ',i);


11
i:= i - 1;
12
end;
13
readln;
14
end.
15

Disini saya memulai variabel i dari 100. Pengecekan kondisi while i >= 0 do artinya,
perulangan akan dijalankan selama nilai i besar dari 100.
Bagaimana agar kondisi ini nantinya bisa bernilai FALSE? Saya menggunakan i:= i – 1,
sehingga dalam setiap perulangan, nilai i selalu berkurang 1 angka, dari 100, ke 99, ke 98, dst
hingga berhenti saat i = 0, yakni ketika syarat i >= 0 menghasilkan FALSE.

Membuat Perulangan Lompat dengan WHILE DO


Dengan memodifikasi bagian counter, kita bisa membuat perulangan yang “lompat”, yakni
tidak berurutan dari 1, 2, 3, dst. Kita bisa membuat variabel counter yang naik misalnya dari
3, 6, 9, 12, dst.
Perhatikan kode program berikut, dan dapatkah anda menebak urutan angka yang
ditampilkan?

1
program while_do;
2
uses crt;
3
var
4
i: integer;
5
begin
6 clrscr;

7 i:= 3;

9 writeln('Berikut deret untuk kelipatan 3: ');

10

11 while i <= 30 do

begin
12
write(i,' ');
13
i:= i + 3;
14
end;
15
readln;
16
end.
17

Perhatikan bahwa variabel i mulai dari 3, dan perubahannya menggunakan i:= i + 3. Artinya
variabel i akan ‘lompat’ 3 angka setiap perulangan. Berikut hasilnya:
Sampai disini saya sarankan anda mencoba2 berbagai kombinasi perulangan lain, misalnya
membuat perulangan yang lompat setiap 7 angka, atau perulangan yang mundur 4 angka,
misalnya dari 100, ke 96, ke 92, ke 88, dst.

Dalam tutorial belajar pascal kali ini kita telah membahas perulangan WHILE DO. Di dalam
pascal masih ada 1 lagi struktur perulangan, yakni REPEAT UNTIL. Apa bedanya
perulangan WHILE DO dengan REPEAT UNTIL?
Tutorial Belajar Pascal Part 44:
Perulangan REPEAT UNTIL dalam
Pascal
01 Nov 16 | Andre | Tutorial Pascal | 11 Comments

Perulangan (looping) terakhir yang akan kita bahas adalah perulangan REPEAT UNTIL.
Inilah yang akan kita praktekkan dalam tutorial bahasa pemrograman PASCAL kali ini.

Konsep Dasar Perulangan REPEAT UNTIL dalam


Pascal
Pada dasarnya, perulangan REPEAT UNTIL mirip seperti perulangan WHILE DO, dimana
kita akan melakukan pengecekan dalam setiap iterasi apakah nilai variabel counter masih
dipenuhi atau tidak.
Bedanya, pada REPEAT UNTIL, pemeriksaan kondisi ini dilakukan di akhir perulangan,
bukan di awal seperti WHILE DO.
Berikut format dasar penulisan perulangan REPEAT UNTIL dalam bahasa pemrograman
PASCAL:
REPEAT

begin

(kode program yang ingin diulang disini...)

(kode program yang untuk mengubah condition..)

end;

UNTIL (condition)

Karena condition dicek di akhir, setidaknya isi perulangan akan dijalankan minimal 1 kali,
meskipun condition tidak dipenuhi. Inilah perbedaan mendasar dari REPEAT UNTIL
dengan perulangan lain seperti FOR DO dan WHILE DO.
Mari kita lihat contoh kode programnya.

Contoh kode Program Perulangan REPEAT UNTIL


dalam Pascal
Kembali, saya ingin menampilkan teks “Hello World” sebanyak 10 kali, berikut kode
programnya menggunakan perulangan REPEAT UNTIL:
1
program repeat_until;
2
uses crt;
3
var
4
i: integer;
5
begin
6 clrscr;

7 i:= 0;

9 repeat

10 begin

writeln('Hello World');
11
i:= i + 1;
12
end;
13
until i = 10;
14
readln;
15
end.
16

Terlihat sangat mirip dengan WHILE DO, bedanya variabel counter i akan di cek di akhir
perulangan.
Mari kita tampilkan nilai variabel i dalam setiap iterasi:
1 program repeat_until;

2 uses crt;
3 var

4 i: integer;

begin
5
clrscr;
6
i:= 0;
7

8
repeat
9
begin
10
writeln('Variabel i sekarang bernilai: ',i);
11 i:= i + 1;

12 end;

13 until i = 10;

14 readln;

end.
15

16

Kembali, jika anda sudah paham konsep perulangan WHILE DO, tidak akan sulit memahani
perulangan REPEAT UNTIL.

Perbedaan mendasar, bagaimana jika nilai variabel counter ini sudah tidak bisa dipenuhi saat
perulangan di jalankan? Mari kita coba:

1 program repeat_until;

2 uses crt;
3 var

4 i: integer;

begin
5
clrscr;
6
i:= 10000;
7

8
repeat
9
begin
10
writeln('Variabel i sekarang bernilai: ',i);
11 i:= i + 1;

12 end;

13 until i > 10;

14 readln;

end.
15

16

Perhatikan di awal kode program, saya mengisi variabel counter i dengan nilai 1000. Di akhir
looping REPEAT UNTIL, saya membuat kondisi until i > 10. Artinya, kondisi ini sudah
tidak memenuhi. 1000 tentu lebih besar dari 10, sehingga i > 10 akan menghasilkan
nilai FALSE.
Namun inilah keunikan perulangan REPEAT UNTIL. Karena kondisi diperiksa di akhir
perulangan, isi perulangan itu bisa berjalan minimal 1 kali. Berikut hasil kode program
tersebut:

Sebagai contoh terakhir, saya ingin membuat deret angka kelipatan 5 menggunakan
perulangan REPEAT UNTIL. Berikut kode programnya:
1 program repeat_until;
2 uses crt;

3 var

i: integer;
4
begin
5
clrscr;
6
i:= 5;
7

8
writeln('Berikut deret untuk kelipatan 5: ');
9

10
repeat
11 begin

12 write(i,' ');

13 i:= i + 5;

14 end;

until i > 100;


15
readln;
16
end.
17

18

Kunci dari pembuatan deret ini ada di variabel counter. Saya menggunakan perintah i:= i +
5dalam perulangan. Artinya, variabel i ditambahkan 5 dalam setiap iterasi. Hasil akhir berupa
deret dari 5, 10, 15, dst hingga 100.
Sebagai latihan, bisakah anda membuat deret dengan kenaikan 7? Silahkan buat dalam 3 jenis
looping yang sudah kita pelajari sejauh ini: FOR DO, WHILE DO, dan REPEAT UNTIL.
Tutorial Belajar Pascal Part 45:
Perulangan Bersarang (Nested Loop)
dalam Pascal (1)
03 Nov 16 | Andre | Tutorial Pascal | 2 Comments

Jika pembahasan tentang perulangan FOR DO, WHILE DO dan REPEAT UNTIL sudah
cukup rumit, maka materi kali ini akan membuat anda semakin pusing, hehe…
Dalam tutorial belajar bahasa pemrograman Pascal di Duniailkom kali ini kita akan
membahas perulangan bersarang atau nested loop.

Karena pembahasan tentang nested loop ini cukup panjang, saya akan pecah menjadi 2 artikel.

Pengertian Perulangan Bersarang (Nested Loop)


Pascal
Secara sederhana, perulangan bersarang atau dalam bahasa inggris sering disebut
sebagai nested loop adalah perulangan di dalam perulangan. Sebelumnya kita sudah
mempelajari tentang nested IF, yakni IF di dalam IF. Nested loop kurang lebih mirip seperti
itu.
Berikut format dasar nested loop menggunakan perulangan FOR DO:

FOR (variabel_counter_1) := (nilai_awal_1) TO (nilai_akhir_1) DO

begin

(kode program yang ingin diulang disini...)

FOR (variabel_counter_2) := (nilai_awal_2) TO (nilai_akhir_2) DO

begin

(kode program yang ingin diulang disini...)

end;

end;
Materi tentang nested loop ini memang cukup rumit, karena melibatkan 2 kali perulangan.
Maka tidak heran jika banyak tugas sekolah / kampus / kuliah yang berkaitan dengan nested
loop.

Soal yang hampir selalu keluar adalah membuat segitiga bintang, yang menggunakan prinsip
nested loop. Agar lebih paham, mari kita masuk ke contoh kode program.

Contoh Kode Program Pascal untuk Nested Loop


Sebagai permulaan, saya akan membuat sebuah perulangan FOR DO ‘biasa’, yang kode
programnya adalah sebagai berikut:

1
program nested_loop;
2
uses crt;
3
var
4 i: integer;

5 begin

6 clrscr;

8 for i := 1 to 5 do

9 begin

writeln('*');
10
end;
11

12
readln;
13
end.
14

Tidak ada yang baru disini. Saya membuat perulangan FOR DO menaik sebanyak 5 kali dari
angka 1 ke 5. Disetiap perulangan ini saya menampilkan sebuah karakter bintang. Hasilnya
terlihat 5 bintang ditampilkan ke bawah. Ini karena saya menggunakan perintah writeln.
Bagaimana jika saya ganti writeln menjadi write? Dapatkan anda menebak hasilnya?
1
program nested_loop;
2
uses crt;
3
var
4 i: integer;

5 begin

6 clrscr;

8 for i := 1 to 5 do

9 begin

write('*');
10
end;
11

12
readln;
13
end.
14
Yup, sekarang bintang ini berjejer dari kiri ke kanan dalam 1 baris. Jumlah bintangnya ada 5
buah karena saya memang menjalankan 5 kali perulangan (perintah for i := 1 to 5 do).
Pemahaman tentang perbedaan writeln dan write di dalam perulangan sangat penting untuk
bisa memahami konsep nested loop yang kita pelajari.
Baik saya akan membuat sebuah kode program untuk nested loop. Bisakah anda menebak
bagaimana hasil akhirnya?
1
program nested_loop;
2
uses crt;
3
var
4
i,j: integer;
5
begin
6 clrscr;

8 for i := 1 to 5 do

9 begin

10

11 for j := 1 to 5 do

12 begin

write('#');
13
end;
14

15
writeln('*');
16
end;
17

18
readln;
19
end.
20

Di awal program saya mendefenisikan 2 buah variabel, yakni i dan j. Kedua variabel ini
berfungsi sebagai variabel counter. Variabel i untuk perulangan terluar, dan variabel j untuk
perulangan terdalam.
Silahkan anda pelajari sejenak kode program diatas. Kalau perlu corat coret di kertas
bagaimana setiap perulangan di jalankan.
Ketika perulangan i dijalankan pertama kali, program akan lanjut ke perulangan j. Di
perulangan jini saya membuat 5 kali perulangan untuk perintah write(‘#’). Artinya, di layar
akan tampil tanda #sebanyak 5 kali. Karena saya menggunakan write, maka tanda pagar akan
berjejer dalam 1 baris.
Setelah perulangan j selesai dijalankan sebanyak 5 kali, berikutnya terdapat
perintah writeln(‘*’). Ini akan menampilkan 1 karakter bintang dan pindah baris. Artinya di
layar akan tampil #####*. Lima buah tanda pagar berasal dari perulangan j, dan satu tanda
bintang berasal dari perulangan i.
Kode program akan kembali menjalankan perulangan i kedua (ingat, saya membuat for i := 1
to 5 do, artinya perulangan i akan dijalankan sebanyak 5 kali). Di perulangan kedua ini akan
dijalankan kode program yang kurang lebih sama seperti sebelumnya, dan akan menampilkan
tanda #####*.
Ini terus dilakukan sebanyak 5 kali. Hasil akhirnya adalah sebagai berikut:

Jika anda kurang memahami kenapa hasilnya bisa seperti ini, kembali silahkan baca dengan
perlahan penjelasan saya sebelumnya.

Anda juga bisa ubah kode program tersebut, misalnya diganti dengan karakter lain, atau
menambah total perulangan, kemudian analisa bagaimana hasilnya. Pemahaman ini sangat
diperlukan untuk mengerti bagaimana konsep nested loop.
Tutorial tentang nested loop ini akan berlanjut, dimana kita akan menggunakan variabel
counter i dan j di dalam perulangan bersarang.
Tutorial Belajar Pascal Part 46:
Perulangan Bersarang (Nested Loop)
dalam Pascal (2)
06 Nov 16 | Andre | Tutorial Pascal | No Comments

Tutorial kali ini merupakan lanjutan dari pembahasan tentang nested loop dalam bahasa
pemrograman PASCAL. Kali ini kita akan coba mengakses variabel counter dari dalam
perulangan nested loop pascal.

Contoh Kode Program Pascal untuk Nested Loop


Sebelumnya, kita telah membuat kode program nested loop untuk menampilkan karakter
pagar dan bintang. Kali ini saya akan menampilkan variabel counter i dan j ke dalam kode
program. Berikut kode programnya:
1 program nested_loop;

2 uses crt;

3 var

i,j: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 5 do
8
begin
9

10
for j := 1 to 5 do
11
begin
12 write(i*j);

13 write(' ');

14 end;

15

16 writeln;
17 end;

18

19 readln;

end.
20

21

Agar lebih paham, silahkan anda pelajari sejenak apa yang dilakukan dari kode program
diatas. Disini saya membuat nested loop dengan variabel counter i dan j. Kemudian di dalam
perulangan j saya menulis write(i*j); dan write(‘ ‘);.
Saat perulangan i dijalankan pertama kali (i = 1), kode program akan langsung masuk ke
perulangan j.
Ketika berada ke dalam perulangan j, nilai i = 1, dan j = 1. Kemudian jalankan
perintah write(i*j);dan write(‘ ‘);, hasilnya adalah 1 * 1 = 1, lalu sebuah spasi. Dilayar akan
tampil angka 1 dan sebuah spasi.
Selanjutnya variabel counter j akan naik menjadi 2. Kembali
dijalankan write(i*j); dan write(‘ ‘);. Hasilnya adalah 1 * 2 = 2, dikuti sebuah spasi. Dilayar
akan tampil angka 2 dan sebuah spasi.
Begitu seterusnya hingga perulangan j selesai dan di layar akan tampil 1 2 3 4 5. Kode
program akan keluar dari perulangan j dan lanjut ke perintah writeln;. Ini bisa diartikan
sebagai instruksi agar tampilan pindah ke baris baru.
Kita masih ada di dalam perulangan i, dan variabel counter i akan naik menjadi 2, kemudian
masuk kembali ke dalam perulangan j. Disini akan dijalankan kode program yang sama,
yakni write(i*j); dan write(‘ ‘);. Karena i saat ini bernilai 2, hasil akhir seluruh
perulangan j (sebanyak 5 kali) adalah: 2 4 6 8 10.
Perulangan seperti ini akan dijalankan sebanyak 5 kali, dan hasil akhirnya adalah sebagai
berikut:

Jika anda masih kurang paham kenapa hasilnya bisa seperti ini, silahkan pelajari kembali
penjelasan diatas. Kalau perlu buat catatan apa yang terjadi untuk setiap perulangan.

Sebagai tambahan, perintah write(i*j); dan write(‘ ‘) bisa disingkat menjadi 1 kali
pemanggilan, menjadi write(i*j,’ ‘). Seperti kode program berikut:
1 program nested_loop;
2 uses crt;

3 var

i,j: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 5 do
8
begin
9

10
for j := 1 to 5 do
11 begin

12 write(i*j,' ');

13 end;

14

15 writeln;

end;
16

17
readln;
18
end.
19

20

Tidak ada perbedaan hasil dari kode program sebelumnya.

Contoh Nested Loop Menggunakan Perulangan


WHILE DO
Dalam 2 tutorial tentang nested loop sebelum ini saya menggunakan perulangan FOR
DO agar kode programnya sedikit sederhana. Namun hal yang sama juga bisa dilakukan
menggunakan perulangan lain seperti WHILE DO dan REPEAT UNTIL.
Jika menggunakan WHILE DO atau REPEAT UNTIL kita harus memastikan variabel
counterdinaikkan pada saat yang tepat, kalau tidak bisa terjadi infinty loop.
Berikut kode program nested loop dari contoh sebelumnya, tapi kali ini saya menggunakan
WHILE DO:
1

2 program nested_loop;

uses crt;
3
var
4
i,j: integer;
5
begin
6
clrscr;
7
i := 1;
8

9 while i <= 5 do

10 begin

11 j := 1;

12

13 while j <= 5 do

14 begin

write(i * j,' ');


15
j := j + 1;
16
end;
17

18
writeln;
19
i := i + 1;
20
end;
21

22 readln;

23 end.

24

Dari hasil yang tampil tidak terdapat perbedaan dengan contoh dari FOR DO sebelumnya.
Tapi dari kode program tampak lebih ‘njelimet’. Silahkan anda pelajari dan bandingkan
dengan contoh yang menggunakan FOR DO.
Seperti yang saya tulis dalam tutorial sebelumnya, nested loop memang cukup rumit dan
melibatkan alur logika yang kompleks. Tugas-tugas kuliah sering menjadikan nested
loop sebagai penguji logika dan pemahaman algoritma. Yang paling terkenal adalah
membuat segitiga bintang, piramida bintang, dengan berbagai macam bentuk.
Pembahasan tentang segitiga bintang, piramida, deret, dll saya rencanakan akan dibahas di
tutorial khusus tentang studi kasus bahasa pemrograman Pascal.
Tutorial Belajar Pascal Part 47: Fungsi
Perintah BREAK Dalam Perulangan
Pascal
08 Nov 16 | Andre | Tutorial Pascal | No Comments

Dalam lanjutan tutorial belajar bahasa pemrograman Pascal di duniailkom kali ini kita akan
membahas fungsi dari perintah BREAK. Perintah BREAK sendiri masih berhubungan
dengan materi tentang perulangan pascal.

Pengertian dan Fungsi Break Pascal


Sesuai dengan namanya, perintah break digunakan untuk berhenti. Berhenti dari apa?
Berhenti dari perulangan yang sedang berlangsung. Apakah itu perulangan FOR
DO, WHILE DO, maupun REPEAT UNTIL, akan dipaksa berhenti saat ketemu
perintah break.
Umumnya perintah break disimpan dalam sebuah kondisi IF ELSE. Selama kondisi belum
terpenuhi, perulangan tetap terus berlangsung. Jika kondisi sesuai, maka break!
Mari langsung kita bahas menggunakan contoh kode program.

Contoh Kode Program Penggunaan Break Pascal


Silahkan anda pelajari sejenak kode program berikut:

1
program penggunaan_break;
2 uses crt;

3 var

4 i: integer;

5 begin

6 clrscr;

8 for i := 1 to 10 do

begin
9
writeln('Hello Indonesia ',i);
10
11 if (i = 5) then

12 break;

end;
13

14
readln;
15
end.
16

Disini saya membuat sebuah perulangan FOR DO, yakni menampilkan string ‘Hello
Indonesia 1’, ‘Hello Indonesia 2’, dst hingga ‘Hello Indonesia 10’.
Akan tetapi, di dalam perulangan ini terdapat perintah if (i = 5) then break. Artinya, saat
variabel counter i mencapai nilai 5, kondisi (i = 5) akan bernilai true. Dengan demikian,
perulangan akan berhenti di posisi i = 5:

Yang mesti diperhitungkan, adalah kapan kita menjalankan kondisi break. Dari kode
program dibawah ini, bisakah anda menemukan sesuatu yang salah?
1 program penggunaan_break;

2 uses crt;

var
3
i: integer;
4
begin
5
clrscr;
6

7
for i := 100 downto 10 do
8
begin
9 writeln(i ,' * 3 = ',i*3);

10 if (i = 5) then

11 break;
12 end;

13

14 readln;

end.
15

16

Saya membuat sebuah perulangan mundur, yakni dari variabel counter i = 100 hingga 10.
Dalam setiap perulangan, tampilkan nilai perkalian 3, seperti 100 * 3 = 300, 99 * 3 = 297,
dst hingga 10 * 3 = 30.
Di dalam perulangan terdapat 1 kondisi break: if (i = 5) then break. Perintah ini tidak akan
pernah dijalankan karena secara logika variabel counter i tidak akan pernah bernilai 5. Ini
karena perulangan itu sendiri akan berhenti duluan, yakni saat i bernilai 10.
Bahasan lain yang cukup menarik adalah, posisi peletakan perintah break bisa
mempengaruhi hasil akhir. Contohnya kode program berikut:
1 program penggunaan_break;

2 uses crt;

3 var

i: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 10 do
8
begin
9
writeln(i ,' * 5 = ',i*5);
10 if (i = 7) then

11 break;

12 end;
13

14 readln;

15 end.

16

Saya ingin menampilkan perkalian 5 untuk variabel counter i, mulai dari 1 hingga 10. Di
dalam perulangan terdapat kondisi if (i = 7) then break. Artinya pada saat variabel
counter i bernilai 7, perulangan akan berhenti.
Perhatikan bahwa saya menulis perintah writeln(i ,’ * 5 = ‘,i*5) sebelum break. Bagaimana
jika dibalik?
program penggunaan_break;
1
uses crt;
2
var
3
i: integer;
4 begin

5 clrscr;

7 for i := 1 to 10 do

8 begin

9 if (i = 7) then

break;
10
writeln(i ,' * 5 = ',i*5);
11
end;
12

13
readln;
14
end.
15

16

Kode program ini sama persis seperti sebelumnya. Hanya saja saya membalik posisi letak
kondisi if (i = 7) then break, menjadi sebelum perintah writeln(i ,’ * 5 = ‘,i*5).
Hasilnya, perulangan kita hanya tampil sampai 6 * 5 = 30, tidak sampai ke 7. Padahal kondisi
break baru bernilai true pada saat i = 7.
Perbedaan ini terjadi karena pada contoh kedua, break sudah dijalankan sebelum pascal
sampai ke baris writeln(i ,’ * 5 = ‘,i*5). Akibatnya hasil akhir berhenti pada 6 * 5 = 30,
bukan 7 * 5 = 35.

Contoh Break Pascal pada WHILE DO


Contoh penggunaan perintah break sebelumnya saya menggunakan perulangan FOR. Kita
juga bisa menggunakannya pada perulangan lain seperti WHILE DO maupun REPEAT
UNTIL.
Berikut contoh penggunaan perintah break pada perulangan WHILE DO:
1 program penggunaan_break;

uses crt;
2
var
3
i: integer;
4
begin
5
clrscr;
6
i:= 0;
7

8
while i < 10 do
9 begin

10 writeln('Variabel i sekarang bernilai: ',i);


11 i:= i + 1;

12 if (i = 6) then

break;
13
end;
14
readln;
15
end.
16

17

Tidak ada perbedaan mendasar. Ketika variabel counter i sampai ke 6, perintah if (i = 6) then
break, akan bernilai true. Akibatnya perulangan WHILE DO akan berhenti di i = 6.

Perintah break yang kita bahas kali ini sering digunakan untuk kasus pencarian di dalam
array. Misalnya terdapat 100 element di array siswa. Kode program untuk mencari 1 nama
siswa akan menggunakan perulangan dengan perintah break. Jika sudah ketemu, maka kita
tidak perlu lagi melanjutkan perulangan.
Tutorial Belajar Pascal Part 48: Fungsi
Perintah CONTINUE Dalam Perulangan
Pascal
09 Nov 16 | Andre | Tutorial Pascal | 17 Comments

Perintah continue yang akan kita bahas dalam tutorial belajar bahasa pemrograman pascal
kali ini mirip seperti perintah break dari tutorial sebelumnya, yakni sama-sama menghentikan
perulangan, namun dengan sedikit perbedaan.

Pengertian dan Fungsi Continue Pascal


Jika perintah break di gunakan untuk menghentikan perulangan saat itu juga, maka
perintah continue digunakan untuk menghentikan 1 iterasi yang saat ini sedang berlangsung.
Perulangan tidak berhenti total, yang dihentikan hanya 1 kali perulangan yang sedang terjadi,
kemudian kode program akan melanjutkan perulangan.

Contoh Kode Program Penggunaan Continue Pascal


Sebagai contoh kode program pascal untuk penggunaan perintah continue, silahkan anda
perhatikan kode berikut ini:
1 program penggunaan_continue;

uses crt;
2
var
3
i: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 10 do
8
begin
9 if (i = 5) then

10 continue;

11
12 writeln('Hello Indonesia ',i);

13 end;

14
readln;
15
end.
16

17

Hasilnya perulangan tetap dijalankan mulai dari i = 1 hingga i = 10.


Tampak tidak ada perbedaan? Perhatikan lagi secara seksama, terutama untuk baris ‘Hello
Indonesia 5′.
Yup, baris Hello Indonesia 5 tidak tampil! Ini terjadi berkat kondisi if (i = 5) then continue.
Artinya, ketika variabel counter i mencapai 6, perintah continue akan memutus perulangan
saat itu, dan lanjut ke i = 7. Inilah fungsi dari perintah continue.
Sama seperti break, posisi perintah continue ini sangat berpengaruh. Berikut contoh
kasusnya:
1 program penggunaan_continue;

uses crt;
2
var
3
i: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 10 do
8
begin
9 writeln('Hello Indonesia ',i);

10 if (i = 5) then
11 continue;

12 end;

readln;
13
end.
14

15

Disini saya memindahkan posisi perintah if (i = 5) then continue setelah


baris writeln(‘Hello Indonesia ‘,i). Terlihat baris Hello Indonesia 5 tetap tampil, bahkan
seluruh baris tampil, mulai dari Hello Indonesia 1 hingga Hello Indonesia 10. Kenapa bisa
begini?
Hal ini terjadi karena pada saat i = 5, baris writeln(‘Hello Indonesia ‘,i) sudah dijalankan
terlebih dahulu, barulah perintah continue di proses. Akibatnya, sudah terlambat untuk
melompati iterasi saat itu. Solusinya, kita harus jalankan perintah continue sebelum
baris writeln(‘Hello Indonesia ‘,i).

Contoh Continue Pascal pada WHILE DO


Untuk perulangan while do, penggunaan perintah continue harus ditambahkan dengan
menaikkan nilai variabel counter. Berikut contohnya:
program penggunaan_break;
1
uses crt;
2
var
3
i: integer;
4
begin
5
clrscr;
6 i:= 0;
7

8 while i < 10 do

9 begin

10
if (i = 6) then
11
begin
12
i:= i + 1;
13
continue;
14
end;
15

16
writeln('Variabel i sekarang bernilai: ',i);
17 i:= i + 1;

18 end;

19 readln;

20 end.

21

22

Anda mungkin bertanya, untuk apa tambahan baris:

if (i = 6) then
1
begin
2
i:= i + 1;
3
continue;
4 end;

Kenapa tidak if (i = 6) then continue saja?


Perintah untuk menaikkan nilai variabel counter i, yakni baris i:= i + 1 harus ditambahkan
sebelum perintah continue. Jika tidak, akan terjadi infinity loop.
Jika saya menulis if (i = 6) then continue tanpa menaikkan nilai variabel counter,
perulangan while do akan berputar di i = 6 dan tidak akan bisa lanjut ke i = 7 (karena
memang tidak ada perintah untuk menaikkan nilai i ke 7). Baris i:= i + 1 saya tempatkan di
akhir perulangan, sehingga akan dilompati oleh perintah continue.
Tambahan perintah begin dan end digunakan sebagai block kode program ketika kondisi if (i
= 6)dipenuhi. Jika ini tidak ditulis, perintah continue tidak akan dianggap sebagai bagian
dari if (i = 6).
Jika dibandingkan dengan perintah break, perintah continue tidak terlalu sering dipakai.
Namun kedua perintah ini hampir selalu hadi di setiap bahasa pemrograman, tidak hanya di
Pascal saja.

Tutorial tentang fungsi perintah continue kali ini menutup seri tutorial pascal tentang Struktur
Kondisi dan Perulangan dalam bahasa pemrograman Pascal.
Studi Kasus, Latihan dan Contoh Kode Program
Pascal
Bagian ini dikhususkan untuk tutorial lepas yang membahas studi kasus, latihan dan contoh
kode program bahasa pemrograman Pascal. Beberapa artikel merupakan jawaban dari
pertanyaan rekan-rekan pengunjung duniailkom seputar Pascal.

Tutorial Belajar Pascal: Cara Membuat


Deret Dalam Bahasa Pascal
11 Nov 16 | Andre | Tutorial Pascal | 9 Comments

Dalam tutorial belajar pascal di duniailkom kali ini kita akan membahas cara membuat deret
menggunakan bahasa pemrograman pascal.
Jika anda sudah mengikuti seluruh tutorial pascal di duniailkom mulai dari part 1 hingga
selesai, saya sudah beberapa kali menggunakan contoh pembuatan kode program deret.
Disini kita akan ulang kembali agar semakin paham.

Contoh Kode Program Membuat Deret Dalam


Bahasa Pascal
Deret adalah sebutan untuk angka berulang dengan aturan tertentu. Bisa jadi angka itu naik
dengan kelipatan 9, atau angka itu turun dengan selisih yang berlainan. Inti dari pembuatan
deret ada di rumus matematis yang digunakan dalam menghitung angka selanjutnya.
Deret pun punya banyak jenis, mulai dari deret aritmatika, deret geometri, hingga yang cukup
kompleks seperti deret Fibonacci.
Menggunakan bahasa pemrograman pascal, kita bisa membuat deret yang bisa dibilang tanpa
batas, selama processor dan memory komputer sanggup menanganinya.

Sebagai contoh pertama, saya akan merancang kode program untuk membuat deret menaik
dengan kelipatan 9:

program kode_program_deret;
1
uses crt;
2
var
3
i: integer;
4
begin
5
clrscr;
6

7 for i := 1 to 15 do

8 begin

9 writeln(i*9);

end;
10

11
readln;
12
end.
13

14

Disini saya menggunakan perulangan FOR DO untuk membuat deret. Rumus dari deret itu
sendiri ada di dalam perulangan. Untuk menampilkan deret kelipatan 9, caranya dengan
menulis writeln(i*9).
Bagaimana jika angkanya ingin ditampilkan ke samping? Saya tinggal mengganti
perintah writelndengan write:
program kode_program_deret;
1
uses crt;
2
var
3
i: integer;
4
begin
5
clrscr;
6

7 for i := 1 to 15 do
8 begin

9 write(i*9, ' ');

end;
10

11
readln;
12
end.
13

14

Selain menampilkan angka dengan kelipatan 9, kita juga harus menambahkan 1 spasi di sisi
kanan agar tampilannya lebih rapi, sehingga perintahnya menjadi: write(i*9, ‘ ‘).
Untuk deret yang lebih kompleks, kita hanya perlu “memikirkan” rumus yang ada, misalnya
seperti kode berikut:

1 program kode_program_deret;

uses crt;
2
var
3
i: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 15 do
8
begin
9 write((i*9) - 3, ' ');

10 end;

11
12 readln;

13 end.

14

Kali ini rumus deretnya adalah 1*9 – 3.

Contoh Kode Program Deret dengan Perulangan


WHILE DO
Untuk perulangan while do, proses pembuatan deret kurang lebih sama. Berikut contoh kode
programnya:
1 program kode_program_deret;

2 uses crt;

var
3
i: integer;
4
begin
5
clrscr;
6
i:= 1;
7

8
while i <= 15 do
9
begin
10 write((i*9), ' ');

11 i:= i + 1;

12 end;
13

14 readln;

15 end.

16

Tentu saja selain menampilkan deret, kita tidak lupa menaikkan nilai variabel counter i.

Contoh Kode Program Deret dengan Perulangan


REPEAT UNTIL
Bagaimana cara membuat deret menggunakan perulangan repeat until? Berikut modifikasi
dari kode program untuk menampilkan deret kelipatan 9 dengan repeat until:
1
program kode_program_deret;
2
uses crt;
3
var
4
i: integer;
5
begin
6 clrscr;

7 i:= 1;

9 repeat

10 begin

write((i*9), ' ');


11
i:= i + 1;
12
end;
13
until i >= 15;
14

15
readln;
16
end.
17
Khusus untuk perulangan dengan while do dan repeat until, kita juga harus perhatikan
kondisi awal dan akhir perulangan. Sebelum block perulangan saya mendefenisikan
variabel i dengan i:= 1. Karena jika tidak, pascal akan memulai deret dari angka 0. Selain itu
untuk akhir perulangan juga menggunakan kondisi until i >= 15, bukan until i > 15 (semoga
anda bisa memahami apa perbedaannya).

Apa yang saya contohkan dalam tutorial ini merupakan versi sederhana dari deret dalam
bahasa pemrograman pascal. Sekali lagi, kunci dari deret ini ada di rumus matematisnya.
Untuk perhitungan yang rumit, mungkin juga memerlukan kondisi tambahan lain seperti if
else, atau bahkan nested loop (perulangan di dalam perulangan).
Tutorial Belajar Pascal: Cara Membuat
Segitiga Bintang Bahasa Pemrograman
Pascal
13 Nov 16 | Andre | Tutorial Pascal | 14 Comments

Membuat segitiga bintang sudah menjadi hal wajib dalam belajar algoritma. Jika anda pernah
mengikuti mata kuliah algoritma dan pemrograman, hampir bisa dipastikan juga pernah
dibuat pusing oleh kode program ini.

Dalam tutorial belajar pascal di duniailkom kali ini kita akan mempelajarinya dengan lebih
rinci. Kita akan membahas cara membuat segitiga bintang menggunakan bahasa
pemrograman Pascal.

Segitiga Bintang Bahasa Pemrograman Pascal


Bagi anda yang belum pernah melihatnya, berikut tampilan dari segitiga bintang yang saya
maksud:

Tugas kita adalah merancang kode program untuk tampilan seperti itu.

Mungkin anda bertanya, untuk apa kita membuat kode program ini? Apa gunanya?

Kode program bintang-bintang seperti diatas memang tidak ada peran apapun dalam aplikasi
“dunia nyata”. Ini lebih kepada melatih logika berfikir. Logika berfikir inilah skill paling
penting yang harus dimiliki oleh (calon) programmer.

Baik, mari kita coba bahas bagaimana cara pembuatannya.


Contoh Kode Program Segitiga Bintang Bahasa
Pascal
Syarat pertama, anda tidak boleh membuat tampilan tersebut secara langsung. Cara
curangnya bisa dengan membuat 5 baris writeln:

1 writeln('*');

2 writeln('**');

3 writeln('***');

4 writeln('****');

writeln('*****');
5

Tentu saja hasilnya akan sama. Tapi disini kita akan menggunakan perulangan. Lebih
tepatnya perulangan bersarang (nested loop).
Dengan menggunakan perulangan, jumlah bintang tersebut bisa diatur dari variabel.
Misalnya, saya ingin membuat 100 baris bintang, pastinya akan repot jika membuat satu
persatu seperti contoh diatas.

Hal pertama yang akan kita buat adalah sebuah perulangan dengan 5 bintang kebawah,
seperti kode program berikut ini:

1 program kode_program_segitiga_bintang;

2 uses crt;

var
3
i: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 5 do
8
begin
9
writeln('*');
10 end;

11

12 readln;

13 end.
14

Terlihat, sebuah perulangan bintang sudah tampil. Berikutnya bagaimana cara membuat
bintang ke samping? Kita akan membuat 1 perulangan j di dalam perulangan i (nested loop).
Berikut kode programnya:
1 program kode_program_segitiga_bintang;

2 uses crt;

3 var

i,j: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 5 do
8
begin
9

10
for j := 1 to 5 do
11
begin
12
write('*');
13 end;

14

15 writeln('*');

16 end;

17

18 readln;
19 end.

20

Dalam kode program diatas, perulangan j akan dijalankan sebanyak 5 kali untuk setiap
perulangan i.
Sekarang, bagaimana caranya agar pada perulangan i pertama, perulangan j hanya
dijalankan 1 kali. Ketika masuk ke perulangan i kedua, perulangan j akan dijalankan 2 kali.
Saat perulangan i ketiga, perulangan j akan dijalankan 3 kali, dst.
Dari paragraf saya diatas, kita sudah bisa melihat pola yang harus ditulis. Kuncinya ada di
variabel j. Bagaimana cara agar perulangan j bisa menjadi dinamis mengikuti jumlah
perulangan ke – i? Caranya, dengan menjadikan nilai variabel i sebagai patokan akhir
perulangan j.
Berikut kode program yang saya maksud:

1 program kode_program_segitiga_bintang;

2 uses crt;

var
3
i,j: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 5 do
8
begin
9

10
for j := 1 to i do
11 begin

12 write('*');

13 end;
14

15 writeln('*');

16 end;

17
readln;
18
end.
19

20

Perhatikan bagian for j := 1 to i do. Inilah yang bisa membuat perulangan j menjadi dinamis
dan menaik dalam setiap perulangan i.
Baik, mari kita jalankan:

Tunggu dulu, kenapa ada dua bintang di baris pertama? Bintang pertama berasal dari
perulangan i, yakni kode writeln(‘*’). Untuk memperbaikinya, kita cukup menghapus
string (‘*’) karena tidak diperlukan lagi.
Namun perintah writeln; tetap dibutuhkan agar bintang bisa pindah ke baris baru:
program kode_program_segitiga_bintang;
1
uses crt;
2
var
3
i,j: integer;
4
begin
5
clrscr;
6

7
for i := 1 to 5 do
8 begin

9
10 for j := 1 to i do

11 begin

12 write('*');

end;
13

14
writeln;
15
end;
16

17
readln;
18
end.
19

20

Done! Kode program kita untuk membuat segitiga bintang sudah selesai. Kunci dari proses
pembuatan kode program ini ada di logika dan cara berfikir kita untuk menyelesaikan
masalah.
Sebagai latihan, saya tantang anda untuk membuat segitiga bintang yang sama, namun dalam
posisi terbalik. Seperti tampilan berikut:
Silahkan anda luangkan waktu beberapa saat dan latihan bagaimana cara membuatnya.

Baik, berikut kode program yang saya gunakan:

1
program kode_program_segitiga_bintang;
2
uses crt;
3
var
4
i,j: integer;
5 begin

6 clrscr;

8 for i := 1 to 5 do

9 begin

10

11 for j := 1 to (6-i) do

12 begin

13 write('*');

end;
14

15
writeln;
16
end;
17

18
readln;
19
end.
20

Hanya perlu tambahan 2 karakter, tepatnya di bagian for j := 1 to (6-i) do. Inilah yang
membuat perulangan terdalam (j) akan menurun dari 5 bintang, 4 bintang, 3 bintang, 2
bintang dan 1 bintang.
Dengan mengutak-atik variabel i dan j, kita bisa membuat berbagai bentuk segitiga, misalnya
bagamana jika kedua segitiga ini disatukan (menjadi bentuk setengah belah ketupat). Atau
anda bisa juga menambahkan perintah readln agar jumlah baris segitiga bisa diinput dari
user.
Selamat berkreasi dan silahkan asah logika pemrograman dengan program segitiga pascal ini.
Belajar Free Pascal

Bersama

HARI SARYONO, ST

Module 01-01 PENGENALAN FREE PASCAL


01.01 INSTALASI
Instalasi Free Pascal sangat sederhana. Hanya dengan beberapa kali klik dengan mengikuti
petunjuk yang ada, kita dapat langsung menginstallnya. Tentu saja telah ada panduan instalasi
yang disertakan dalam paket. Versi terbaru Free pascal dapat didownload secara gratis
di [Link] , dimana tersedia versi terbaru yang paling stabil untuk beberapa platfor
seperti windows dan linux.

01.02 MENGAKSES PASCAL


Untuk mengakses Free Pascal dari desktop, cukup dengan melakukak click dua kali dengan mou
menunjuk pada icon Free Pascal. Maka dalam hitungan detik kita akan dibawa masuk ke
lingkungan IDE Free Pascal.

01.03 TAMPILAN LINGKUNGAN TERPADU (IDE – INTEGRATED DEVELOPMENT ENVIRONMEN


Untuk mengakses Free Pascal dari desktop, cukup dengan melakukak click dua kali dengan mou
menunjuk pada icon Free Pascal. Maka dalam hitungan detik kita akan dibawa masuk ke
lingkungan IDE Free Pascal.

Tampilan Free Pascal dibuat semirip mungkin dengan tampilan Turbo Pascal, yaitu terdiri dari
Menu Utama , Jendela Edit dan Baris bawah.

a. Menu Utama, terdiri dari

01 MENU FILE

Tabel 01.01. Menu File

Open (F3) Membuka program yang sudah ada di disk (harddisk


maupun disket atau sumber lain)
Save (F2) Menyimpan file ke dalam disket
New Membuat file baru
Save as Menyimpan file dengan nama lain yang kita kehendaki
Print Mengeprint file yang sedang dibuka
Change dir Merubah direktori aktif
Command Shell Masuk ke dalam lingkungan DOS untuk menjalankan
perintah DOS
Exit Keluar dari program Free Pascal
02 Menu Run , digunakan untuk mengecek kesalahan program kita maupun menjalankan
program
Tabel 01.02. Menu Run

Run (Ctrl+F9) Menjalankan program


Step Over (F8) Menjalankan program baris demi baris tanpa masuk
ke prosedur / fungsi yang dipanggil
Trace Into (F7) Menjalankan program baris demi baris dengan masuk
ke prosedur / fungsi yang dipanggil
Goto Cursor (F4) Menjalankan program sampai pada kursor yang
ditunjuk
03 Menu Compile , digunakan untuk mengkompilasi program yang kita buat. Bila ditekan ALT
+F9, program akan dikompilasi di disket, sedangkan bila ditekan F9 saja, program akan
dikompilasi di memori saja. Untuk mengkompile program kemudian menjalankannya di
lingkungan DOS, ditekan CTRL + F9.

Dalam proses compiling, akan dilakukan pengecekan dahulu apakah


program sudah benar syntaxnya. Bila belum benar, akan ditampilka
pesan kesalahan.
Menu Options , dipilih bila akan mengatur atau menentukan kembali bagaimana Integrated
04
Develompment bekerja.
05 Menu Debug dan Break / Watch digunakan untuk melacak jalannya program
b. Jendela Edit (edit window), digunakan untuk menulis dan mengedit program
c. Baris Bawah (bottom line), menunjukkan informasi tombol-tombol jalan pintas (shortcut)
hotkey yang dapat ditekan untuk keperluan tertentu. Shortcut ditulis di sebelah kanan menu
utama. Beberapa shortcut yang penting adalah :
01.03. Shorcut (hotkey)

F1 Menampilkan jendela bantuan (help)


F2 Menyimpan file (save)
F3 Membuka program dari disk (open)
F4 Menjalankan program sampai kursor sekarang
F5 Membuka user command
F7 Trace
F8 Step Over
F9 Make
F10 Menuju ke menu utama
ALT + F9 Compile
CTRL + F9 Menjalankan program
Shift + Del Menghapus baris yang sudah diblok sebelumnya
Ctrl + Ins Mengkopi baris yang sudah diblok ke dalam
clipboard
Shift + Ins Mempaste baris yang sudah dicopy sebelumnya
pada posisi kursor
Ctrl + Y Menghapus 1 baris
Free Pascal dikembangkan dalam lingkungan windows, sehingga perintah-perintah diatas dapat
dijalankan dengan menggunakan mouse. Tekan Click Kanan pada Jendela Edit untuk menampilk
menu pulldown tambahan
Gambar 01.02. Klik kanan pada Jendela Edit untuk menampilkan menu Pulldown
01.04 Menjalankan Program
Setelah program diketik, ada dua cara untuk menjalankannya:

1. Menggunakan hotkey, yaitu dengan menekan tombol Ctrl + F9


2. Kembali ke menu utama terlebih dahulu (F10), dan memilikh menu Run dan memilih
perintah Run dengan menekan tombol R

01.05 Menyimpan Program ke Disk


Program yang telah diketik pada jendela editor masih berada di meori computer, belum tersimp
di disk. Untuk menyimpan program tersebut ke disk dapat dilakukan dengan menekan tombol F
(hotkey) atau save pada menu File
01.06 Membuat Executabel Program
Executable Program merupakan program yang sudah berbentuk bahasa mesin hasil dari proses
kompilasi. Executabel program dapat langsung dijalankan dari prompt DOS, atau dapat langsun
dilakukan double Click pada lingkungan windows. Cara membuat executabel program adalah:

1. Menggunakan menu Compile (ALT + C)


2. Setelah sub menu dari menu compile tampak di layar, tekan tombol D untuk merubah ha
kompilasi ke disk.
3. Tekan tombol C untuk memulai kompilasi
4. Setelah proses kompilasi selesai, maka program telah diterjemahkan ke bahasa mesin d
disimpan ke disk.

01.07 Contoh Menulis Program Free Pascal


Berikut ini akan diberikan contoh langkah-langkah membuat program Pascal, mulai dari menulis
kode sampai ke mengcompile code, yaitu:

1. Pada keadaan awal, jalankan menu File à New


2. Kemudian tulis kode program Pascal pada Jendela Editor (Gambar 02)
3. Jangan lupa untuk menyimpan program yang anda ketik dengan memberi nama yang
sesuai (Gambar 03)
4. Cobalah untuk menjalankan program dengan menekan Ctrl + F9. Apabila masih salah,
akan muncul pesan kesalahan (Gambar 04). Segera perbaiki dan kembali tekan Ctrl + F9
apabila sudah selesai
5. Apabila kompilasi sukses, maka kita dapat langsung melihat hasil program pada Output
window

Gambar 01.03. Penulisan Kode didalam jendela Editor


Gambar 01.04. Menyimpan program dalam disk dan menamainya

Gambar 01.05. Ctrl + F9 akan mengaktifkan pesan kesalahan bila ada


Gambar 01.06. Hasil Program pada Output Window
01.08 LATIHAN
1. Cobalah mengetik program contoh pada gambar 01.03 diatas, kemudian lakukan compil
Periksa kesalahan-kesalahan apa saja yang anda lakukan

Kemana Setelah Ini?

Bahasan Berikutnya
Pelajaran seterusnya
Kembali Ke Daftar Isi

Anda mungkin juga menyukai