Anda di halaman 1dari 170

TUGAS

PRAKTIKUM DASAR-DASAR PEMROGRAMAN


TUTORIAL BELAJAR PASCAL

Disusun oleh :
1. Mochammad Taufan, 181071008
2. Yosita, 181077007

JURUSAN SISTEM KOMPUTER


FAKULTAS SAINS TERAPAN
INSTITUT SAINS & TEKNOLOGI AKPRIND
YOGYAKARTA
2019
1. Tutorial Belajar Pascal Part 5: 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 atau Lazarus, karena dari sisi tampilan serta pilihan menu yang
ada, kedua aplikasi ini hampir sama.
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.

A. 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 :)


B. 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, 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 Name, kemudian ketik: “hello” atau “hello.pas” 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\hello.pas.
C. 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.
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 Anda menggunakan Windows Explorer. Apabila menggunakan
Free Pascal, akan terlihat 3 buah file: hello.pas, hello.o dan hello.exe.
Bagi yang menggunakan Turbo Pascal, hanya akan terlihat
file hello.pas dan hello.exe.
File hello.pas merupakan file kode pascal yang kita save sebelumnya.
Sedangkan file hello.oadalah object code yang digunakan secara internal oleh
Free Pascal (di dalam Turbo Pascal anda tidak akan mendapati file ini). Dan
file hello.exe adalah program hasil kode pascal yang kita buat sebelumnya.
Kita bisa langsung menjalankan file hello.exe seperti layaknya sebuah
aplikasi Windows jika anda mengunakan Free Pascal. Silahkan double-klik
file hello.exe.
Namun jika anda menggunakan Turbo Pascal 7 di sistem operasi
Windows 64-bit, anda tidak akan bisa menjalankan file hello.exe 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.

D. 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.
2. Tutorial Belajar Pascal Part 6: Aturan dan Cara Penulisan Kode Program
Pascal
A. Struktur Sederhana Kode Pascal

Berikut contoh struktur kode sederhana kode pascal :

program hello_world;
begin
   writeln('Hello World');
   writeln('Sedang belajar pascal...');
   readln;  
end.
Sebuah kode program pascal, diawali dengan
keyword program kemudian diikuti dengan judul program yang diinginkan
(dalam contoh diatas, saya menggunakan judul hello_world). Selanjutnya,
kode program dibuka dengan perintah “begin”, dan diakhiri dengan perintah
“end.”(perhatikan tanda titik di akhir end). Diantara “begin” dan “end.”
inilah seluruh kode program pascal berada.
Perintah writeln digunakan untuk menampilkan teks (output),
sedangkan perintah readln digunakan untuk menerima masukan (input).
Perintah readln pada kode diatas saya tambahkan hanya untuk menahan
jendela tampilan jendela program ketika di-run. Anda boleh menghapus
baris readln; dan mencoba men-run kode diatas. Hasilnya hanya akan
terlihat sekilas saja (tidak sampai 1 detik).
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.
B. 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,  atau wriTEln.
Semuanya dianggap sama dalam pascal.

Kode program dibawah ini akan menghasilkan tampilan yang sama dengan
kode kita sebelumnya:

PROGRAM hello_world;
BEGIN
   WRITELN('Hello World');
   WRITELN('Sedang belajar pascal...');
   READLN;  
END.
C. 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;
begin
  (* Kode untuk menampilkan tulisan 'Hello World'*)
  writeln('Hello World');
  { Kode untuk menampilkan tulisan 'Sedang belajar pascal...'}
  writeln('Sedang belajar pascal...');
  readln;
end.
Penulisan komentar juga bisa mencakup beberapa baris, selama tanda penutup
komentar belum di temukan:

program hello_world;
begin
  (* Kode untuk
  menampilkan tulisan
  'Hello World'*)
  writeln('Hello World');
  { Kode untuk
  menampilkan tulisan
  'Sedang belajar pascal...'}
  writeln('Sedang belajar pascal...');
  readln;
end.
Khusus untuk Free Pascal, terdapat 1 lagi cara penulisan komentar,
yakni menggunakan tanda ‘//’. Tanda komentar ‘//’ sangat populer digunakan,
khususnya dalam bahasa pemrograman lain seperti C, C++, atau PHP. Akan
tetapi komentar ini tidak didukung oleh Turbo Pascal.

D. 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:

program hello_world;begin writeln('Hello World');


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.

program hello_world;
begin
  writeln('Hello World');
  writeln('Sedang belajar pascal...');
  readln;
end
E. 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:

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


Writeln
('Hello World');
writeln
('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.

F. 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;
G. 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 @.

3. Tutorial Belajar Pascal Part 7: Struktur Dasar Kode Program Pascal


A. 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:

program nama_program;

   { bagian deklarasi }

begin

   { main program }

end.

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.

B. 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), 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.

C. 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.
D. Deklarasi Type
Pada bagian deklarasi Type, kita bisa membuat tipe data bentukan.
Sebagai contoh, dalam membuat tipe data yaitu warna, dimana tipe data ini
hanya bisa diisi dengan nilai merah, kuning,  atau biru.

E. Deklarasi Konstanta (constant)


Konstanta atau constant adalah sebuah ‘penampung’ yang nilainya
bersifat tetap. Dalam contoh diatas, saya membuat konstanta phi 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

F. Deklarasi Variabel (variable)


Variabel atau variable adalah ‘penampung’ yang nilainya bisa
berubah sepanjang alur program. Kita akan sering menggunakan variabel
dalam pembuatan kode program.

G. 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.

H. 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.

I. 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.

4. Tutorial Belajar Pascal Part 8: Pengertian Variabel dan Cara Penulisan


Variabel Pascal
A. Pengertian Variabel
Variabel adalah ‘penanda’ identitas yang digunakan untuk
menampung suatu nilai. Nilai tersebut dapat diubah sepanjang kode program.
Secara teknis, variabel merujuk kepada suatu alamat di memory komputer.
Setiap variabel memiliki nama yang sebagai identitas variabel tersebut.
Dalam matematika, konsep variabel biasanya menggunakan x atau y,
seperti persamaan berikut:
x=y+2
Disini, nilai ‘x’ dan ‘y’ bisa diisi dengan angka apapun (walaupun
dalam persamaan diatas, nilai x bergantung kepada nilai y).
Di dalam pemrograman, nilai variabel bisa berubah dari waktu ke
waktu, tergantung kebutuhkan. Sebagai contoh, jika saya membuat program
menghitung luas lingkaran, saya bisa membuat variabel ‘jari-jari’ dan
mengisinya dengan nilai ‘7’, kemudian di dalam kode program, saya bisa
mengubah nilainya menjadi ‘8’, ‘10’ atau ‘1000’.

B. 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 ‘jari-jari’ 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’.

C. 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: tutorialspoint.com):

D. 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.

E. Cara Pendeklarasian Variabel

Sebelum dapat digunakan di dalam kode program, sebuah variabel


harus di deklarasikan terlebih dahulu. Berikut format penulisannya:

var

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:

var

nama: string;

umur: integer;

alamat: string;

Pascal juga membolehkan deklarasi variabel untuk tipe data yang sama dalam
1 baris (dipisahkan dengan tanda koma “ , ”):

var

nama, alamat: string;

umur: integer;

F. Cara Memberikan Nilai Variabel (Assignment)

Setelah variabel dideklarasikan, berikutnya adalah meng-input nilai ke dalam


variabel tersebut. Berikut format penulisannya:

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:

nama := 'Dika';

Kode diatas berarti kita memberikan nilai ‘Dika’ kedalam variabel nama.

G. Penggabungan Perintah Deklarasi dan Assignment

Pascal juga membolehkan proses deklarasi dan assignment digabung


dalam 1 kali penulisan. Berikut contoh penggunaannya:

nama:string='Dika';

umur:integer:19;

H. Menampilkan Nilai Varibel

Untuk menampilkan nilai variabel, kita tinggal menuliskannya dengan


perintah writeln, seperti contoh berikut ini:

writeln(nama);

writeln(umur);

I. 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;

uses crt;

var

nama,alamat:string;

umur:integer=21;

kuliah:string='IST Akprind Yogyakarta';

begin

clrscr;

nama:='Dika';
alamat:='Jl. Bimo Kurdo no.39';

umur:=19;

writeln(nama);

writeln(umur);

writeln(alamat);

writeln(kuliah);

readln;

end.

5. Tutorial Belajar Pascal Part 9: Pengertian Konstanta dan Cara Penulisan


Konstanta Pascal
A. Pengertian Konstanta
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.

B. 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:
Const
  nama_kosntanta=nilai_konstanta;
Berikut contoh penulisannya di dalam kode program pascal:

Const
  phi = 3.14;
  dollar = 13000;
  nama = ‘Joko’;
Perhatikan bahwa pascal menggunakan tanda sama dengan ‘ = ’ untuk
memberikan nilai kepada konstanta saat dideklarasikan.
Berikut adalah contoh program pascal yang menggunakan konstanta:

program konstanta;
uses crt;
 
const
  phi=3.14;
  dollar=14500;
  nama='Tiki';
  
var
  situs:string='www.duniailkom.com';
  
begin
  clrscr;
  writeln(phi:4:2);
  writeln(dollar);
  writeln(nama);
  writeln(situs);
  readln;
end.

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.

6. Tutorial Belajar Pascal Part 10: Cara Penggunaan serta Perbedaan Write
dan Writeln Pascal
A. 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:

program tampil;
uses crt;
 
begin
  clrscr;
  write('Nama : ');
  writeln('Kindi');
  
  writeln('Nama: ');
  writeln('Jenifer');
  
  write('C');
  write('i');
  write('n');
  write('t');
  write('a');
  
  writeln('h');
  writeln('e');
  writeln('w');
  writeln('a');
  writeln('n');
  
  readln;
end.
Hasil kode program:
Oleh karena itu, perintah writeln juga digunakan untuk pindah baris, tanpa
perlu menulis teks apapun.

B. 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:

program tampil;
uses crt;
const
  kota='Bandung';
var
  nama:string='Tarzan';
  umur:integer=18;
begin
  clrscr;
  
  write('Nama : ');
  writeln(nama);
  
  write('Umur : ');
  writeln(umur);
  
  write('Kota : ');
  writeln(kota);
  
  write('IPK : ');
  writeln(3);
  
readln;
end.

Hasil kode program:


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

C. 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:

program tampil;
uses crt;
const
  kota='Ambon';
var
  nama:string='Joni';
  umur:integer=17;
begin
  clrscr;
  
  writeln('Nama : ',nama);
  writeln('Umur : ',umur);
  writeln('Kota : ',kota);
  writeln('IPK : ',3);
  
  readln;
end.
Lebih jauh lagi, seluruh tampilan diatas bisa digabung kedalam 1
perintah writeln. Seperti berikut:
program tampil;
uses crt;
const
  kota='Ambon';
var
  nama:string='Joni';
  umur:integer=17;
begin
  clrscr;
  writeln('Nama : ',nama,'. Umur : ',umur,'. Kota : ',kota,'. IPK : ',3);
  readln;
end.
Perhatikan bahwa kita perlu mengetahui kapan harus menggunakan tanda
kutip, dan kapan menggunakan tanda koma.
D. 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:

program tampil;
uses crt;
var
  angka_int:integer=1234;
  angka_real:real=1234.12345;
begin
  clrscr;
  
  writeln(angka_int);
  writeln(angka_int:4);
  writeln(angka_int:8);
  
  writeln(angka_real);
  writeln(angka_real:4:2);
  writeln(angka_real:2:4);
  readln;
end.
Hasil kode program:

7. Tutorial Belajar Pascal Part 11: Cara Penggunaan serta Perbedaan Read
dan Readln Pascal

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

B. 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;
uses crt;
var
  nama,alamat:string;
  umur:integer;
  ipk:real;
 
begin
  clrscr;
  writeln('Masukkan Data Mahasiswa');
  writeln('=======================');
  write('Nama   :');
  readln(nama);
  write('Alamat :');
  readln(alamat);
  write('Umur   :');
  read(umur);
  write('IPK    :');
  readln(ipk);
 
  writeln;
 
  writeln('=========HASIL=========');
  write('Nama: ',nama,'. Alamat: ',alamat);
  writeln('. Umur: ',umur,'. IPK: ',ipk:1:2);
 
  readln;
end.
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.

C. 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.

D. 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:

program input;
uses crt;
var
  a,b,c,d:integer;
begin
  clrscr;
  writeln('Input 4 angka, dipisah dengan spasi:');
  read(a);
  read(b);
  read(c);
  read(d);
  writeln;
  writeln('Hasil Input:');
  writeln('a: ',a,', b: ',b,', c: ',c,', d: ',d);
  readln; readln;
end.
Hasil kode program:

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.

E. 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:

program input;
uses crt;
var
  a,b,c,d,e:char;
begin
  clrscr;
  writeln('Input Teks Sembarang (5 karakter)');
  read(a);
  read(b);
  read(c);
  read(d);
  read(e);
  
  writeln;
  writeln('Hasil Teks:');
  write(a,' ',b,' ',c,' ',d,' ',e);
  readln;
  readln;
end.
Hasil program:

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).

F. Penggunaan read dan readln untuk tipe data string


Apabila menggunakan tipe data string, perintah read berprilaku
sedikit ‘membingungkan’. Perhatikan contoh kode berikut:

program input;
uses crt;
var
  a,b,c,d:string;
begin
  clrscr;
  writeln('Input 4 kata:');
  
  read(a);
  read(b);
  read(c);
  read(d);
  
  writeln;
  writeln('Hasil Teks:');
  writeln('a: ',a);
  writeln('b: ',b);
  writeln('c: ',c);
  writeln('d: ',d);
  readln;
  readln;
end.
Jika kita menginput 4 kata yang dipisah dengan spasi, dan menekan tombol
enter, keempat kata ini akan diinput kedalam variabel a:

Hasil program:
Solusi untuk hal ini, kita mengganti perintah read dengan readln.
Dengan begitu, setiap teks dipisah dengan enter dan diinput kepada masing-
masing variabel.
program input;
uses crt;
var
  a,b,c,d:string;
begin
  clrscr;
  writeln('Input 4 kata:');
 
  readln(a);
  readln(b);
  readln(c);
  readln(d);
 
  writeln;
  writeln('Hasil Teks:');
  writeln('a: ',a);
  writeln('b: ',b);
  writeln('c: ',c);
  writeln('d: ',d);
  readln;
end.

Hasil kode program:


8. Tutorial Belajar Pascal Part 11: Cara Penggunaan serta Perbedaan Read
dan Readln Pascal
A. 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’.

B. 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;
uses crt;
var
  nama,alamat:string;
  umur:integer;
  ipk:real;
 
begin
  clrscr;
  writeln('Masukkan Data Mahasiswa');
  writeln('=======================');
  write('Nama   :');
  readln(nama);
  write('Alamat :');
  readln(alamat);
  write('Umur   :');
  read(umur);
  write('IPK    :');
  readln(ipk);
 
  writeln;
 
  writeln('=========HASIL=========');
  write('Nama: ',nama,'. Alamat: ',alamat);
  writeln('. Umur: ',umur,'. IPK: ',ipk:1:2);
 
  readln;
end.
Hasil kode program:

C. 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.

D. 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:

program input;
uses crt;
var
  a,b,c,d:integer;
begin
  clrscr;
  writeln('Input 4 angka, dipisah dengan spasi:');
  read(a);
  read(b);
  read(c);
  read(d);
  writeln;
  writeln('Hasil Input:');
  writeln('a: ',a,', b: ',b,', c: ',c,', d: ',d);
  readln; readln;
end.
Hasil kode program:

9. Tutorial Belajar Pascal Part 12: Pengertian dan Cara Penggunaan Tipe Data
Integer Pascal
A. 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.
B. 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:
program tipe_integer;
uses crt;
var
  a:integer;
begin
  clrscr;
  a:=58;
  writeln('a: ',a);
  
  a:=76;
  writeln('a: ',a);
  
  a:= a + 10;
  writeln('a: ',a);
  readln;
end.
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:


C. 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

antara smallint atau longint


Integer* size 2 atau 4

Cardinal Longword 4

Longint -2147483648 .. 2147483647 4

Longword 0 .. 4294967295 4

-9223372036854775808 ..
Int64 9223372036854775807 8

Qword 0 .. 18446744073709551615 8

10. Tutorial Belajar Pascal Part 13: Pengertian dan Cara Penggunaan Tipe Data
Real Pascal
A. 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.

B. Cara Penggunaan Tipe Data Real Pascal


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

program tipe_real;
uses crt;
var
  a:real;
begin
  clrscr;
  a:=4.67;
  writeln('a: ',a);
  
  a:=907.89;
  writeln('a: ',a);
  
  a:= a + 0.01;
  writeln('a: ',a);
  readln;
end.
Hasil Program :

C. 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 digits Ukuran (dalam 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

Berikut contoh penggunaan berbagai tipe data ini:


program tipe_real;
uses crt;
var
  a:real;
  b:single;
  c:double;
  d:extended;
  e:comp;
begin
  clrscr;
  a:=12345.6789;
  b:=12345.6789;
  c:=12345.6789;
  d:=12345.6789;
  e:=12345.6789;
  
  writeln('a: ',a:6:4);
  writeln('b: ',b:6:4);
  writeln('c: ',c:6:4);
  writeln('d: ',d:6:4);
  writeln('e: ',e:6:4);
  readln;
end.

Hasil program :

11. Tutorial Belajar Pascal Part 14: Pengertian dan Cara Penggunaan Tipe Data
Char Pascal
A. 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.

B. 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:

program tipe_char;
uses crt;
var
  a:char;
begin
  clrscr;
  a:='Z';
  writeln('a: ',a);
  
  a:='8';
  writeln('a: ',a);
  
  a:='k';
  writeln('a: ',a);
  readln;
end.
Hasil Program :
Dalam contoh diatas, saya mendefenisikan variabel a dengan tipe data char,
sehingga kita bisa mengisinya dengan 1 karakter saja.

C. 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.
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;
uses crt;
var
  a:char;
begin
  clrscr;
  a:=#65;
  writeln('a: ',a);
  
  a:=#78;
  writeln('a: ',a);
  
  a:=#134;
  writeln('a: ',a);
  readln;
end.
Hasil Program :

12. Tutorial Belajar Pascal Part 15: Pengertian dan Cara Penggunaan Tipe Data
String Pascal
A. 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).

B. Cara Penggunaan Tipe Data String Pascal

Untuk mendeklarasikan sebuah variabel sebagai string, kita tinggal


menambahkannya di bagian var. Berikut contoh penggunaannya:

program tipe_string;

uses crt;

var

  a:string;

begin

  clrscr;

  a:='Duniailkom';

  writeln('a: ',a);

  a:='Sedang belajar Pascal';

  writeln('a: ',a);

  a:='123456789';

  writeln('a: ',a);

  readln;

end

Hasil Program :
C. 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:

program tipe_string;

uses crt;

var

  a:string;

begin

 clrscr;

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

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

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

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

    'Atas alasan itu pula Pascal masih digunakan di berbagai sekolah dan ' +

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

 writeln(a);

 readln;

end.

Hasil Program :

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.

13. Tutorial Belajar Pascal Part 16: Pengertian dan Cara Penggunaan Tipe Data
Boolean Pascal
A. 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).

B. Cara Penggunaan Tipe Data Boolean Pascal

Langsung saja kita lihat contoh program untuk mendefenisikan dan


mengisi variabel dengan tipe data boolean menginput hasilnya dari sebuah
operasi perbandingan di pascal:
program tipe_boolean;
uses crt;
var
  a:boolean;
begin
  clrscr;
  
  a:= 4=4;
  writeln('a: ',a);
  
  a:= 8<9;
  writeln('a: ',a);
  
  a:= 999<>998;
  writeln('a: ',a);
  
  a:= 'duniailkom' = 'duniailkom.com';
  writeln('a: ',a);
  
  readln;
end.
Hasil Program :

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:= 4=4” berarti kita mengisi nilai
variabel a dengan hasil dari perbandingan “4=4”. Hasilnya benar, Oleh
karena itulah variabel a akan diisi dengan nilai boolean true.
Pada contoh kedua, apakah “8<9”? benar karena 8 lebih kecil dari 9,
sehingga hasilnya: true.
Berikutnya, apakah “999<>998”? Tanda “<>” di dalam pascal bisa
dibaca sebagai “tidak sama dengan”, sehingga hasilnya adalah: true.
Contoh terakhir, apakah ‘duniailkom’ = ‘duniailkom.com’? salah!,
karena untuk ‘benar’, kedua string harus mengandung karakter yang sama
persis. Sehingga hasilnya adalah false.

14. Tutorial Belajar Pascal Part 17: Pengertian dan Cara Penggunaan Tipe Data
Enumerated Pascal
A. 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.

B. 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 “warna” yang
berisi nama-nama hari, harus mendefenisikannya sebagai berikut:

type

  warna= (merah,kuning,hijau,biru,ungu);

Setelah itu, baru diberikan ke dalam variabel:

var

  a,b:warna;

Sekarang variabel a dan b berisi tipe enum nama_hari. Berikut contoh kode


program lengkapnya:

program tipe_enumerated;

uses crt;

type

  warna= (merah,kuning,hijau,biru,ungu);

var

  a,b: warna;

begin

  clrscr;

  a:= merah;
  writeln('a: ',a);

  b:= ungu;

  writeln('b: ',b);

  readln;

end.

Hasil program :

15. Tutorial Belajar Pascal Part 18: Pengertian dan Cara Penggunaan Tipe Data
Subrange Pascal
A. 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.

B. 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:

program tipe_subrange;

uses crt;

type

  satuan= 1..9;

var

  a,b: satuan;

begin

  clrscr;

  a:= 9;

  writeln('a: ',a);

  b:= 3;

  writeln('b: ',b);

  readln;

end.
Hasil program :

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
.
C. 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:

program tipe_enumeration;

uses crt;

type

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

  hari_kerja= senin..jumat;

  weekend= sabtu..minggu;

var

  a:hari_kerja;

  b:weekend;

begin

  clrscr;

  a:= selasa;

  writeln('a: ',a);

  b:= minggu;
  writeln('b: ',b);

  readln;

end.

Hasil program :

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.

16. Tutorial Belajar Pascal Part 19: Pengertian dan Cara Penggunaan Tipe Data
Array Pascal
A. 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.

B. 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:
Var
  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)

Berikut contoh kode program pascal cara penggunaan tipe data array:

program tipe_array;
uses crt;
var
  nilai: array[0..9] of integer;
  
  begin
  clrscr;
  
  nilai[0]:= 67;
  nilai[1]:= 19;
  nilai[2]:= 59;
  nilai[3]:= 107;
  
  writeln('nilai0: ',nilai[0]);
  writeln('nilai1: ',nilai[1]);
  writeln('nilai2: ',nilai[2]);
  writeln('nilai3: ',nilai[3]);
  
  readln;
end.
Hasil program :

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.

17. Tutorial Belajar Pascal Part 20: Cara Membuat Array 2 Dimensi Pascal
A. 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:

program tipe_array;

uses crt;

var

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

begin

  clrscr;

  nilai[0]:= 10;

  nilai[1]:= 20;

  nilai[2]:= 30;

  writeln('nilai1: ',nilai[0]);

  writeln('nilai2: ',nilai[1]);

  writeln('nilai3: ',nilai[2]);

  readln;

end.

Hasil program :

B. 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:

var

  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:

program tipe_array;

uses crt;

var

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

begin

  clrscr;

  nilai[0,0]:= 1;

  nilai[0,1]:= 2;

  nilai[0,2]:= 3;

  nilai[1,0]:= 4;

  nilai[1,1]:= 5;

  nilai[1,2]:= 6;

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

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

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

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

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

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

  readln;

end.

Hasil program :

C. 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:

var

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

Cara pengaksesannya pun cukup dengan menambahkan dimensi ketiga


di nomor index, seperti nilai[1,2,3] atau nilai[0,0,1]. Berikut contohnya:

program tipe_array;

uses crt;

var

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


begin

  clrscr;

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

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

  nilai[1,2,3]:= 999;

  writeln(nilai[1,2,3]);

  readln;

end.

Hasil program :
18. Tutorial Belajar Pascal Part 21: Pengertian dan Cara Membuat Array
Dinamis Pascal

A. 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:

Var
  nilai: array[0..9] of integer;
Berarti kita membuat array integer yang terdiri dari 10 element (0, 1,
2, 3 … 9).

B. Pengertian Dynamic Array Pascal

Dynamic array adalah tipe array yang jumlah element-nya belum


ditentukan (masih nol). Contoh penulisannya adalah sebagai berikut:
Var
  nilai: array of integer;
  kata: array of string[20];
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:
program tipe_array;
uses crt;
var
  nilai: array of integer;
begin
  clrscr;
  setlength(nilai,10);
  
  nilai[0]:= 1;
  nilai[6]:= 3;
  nilai[9]:= 7;
  
  writeln('nilai 0: ',nilai[0]);
  writeln('nilai 6: ',nilai[6]);
  writeln('nilai 9: ',nilai[9]);
  
  readln;
end.

Hasil program :

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.
19. Tutorial Belajar Pascal Part 22: Cara Membuat Array dari Tipe Data
Bentukan Pascal

A. 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).

B. 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. Berikut contoh
programnya :

program tipe_array;

uses crt;

type

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

  usia= 0..99;

var

  hari: array[0..9] of nama_hari;

  umur: array[0..9] of usia;

begin

  clrscr;

  hari[1]:= rabu;

  hari[9]:= minggu;

  umur[3]:= 15;

  umur[8]:= 84;

 
  writeln('hari [1]: ',hari[1]);

  writeln('hari [9]: ',hari[9]);

  writeln('umur [3]: ',umur[3]);

  writeln('umur [8]: ',umur[8]);

  readln;

end.

Hasil Program :
20. Tutorial Belajar Pascal Part 23: Pengertian dan Cara Penggunaan Tipe Data
Record Pascal

A. 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.

B. 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:

var

  nama_record:

    record

      variabel: tipe_data;

      variabel: tipe_data;

      variabel: tipe_data;

    end;

Berikut contoh cara penggunaan struktur record di dalam pascal:

program tipe_record;

uses crt;

var

  siswa: record

         nama: string[20];

         umur: integer;

         sekolah: string[30];


         kota: string[20];

         end;

begin

  clrscr;

  siswa.nama:= 'Dirgantara';

  siswa.umur:= 18;

  siswa.sekolah:= 'SMA 4 Jakarta';

  siswa.kota:= 'Jakarta';

  writeln('Nama : ',siswa.nama);

  writeln('Umur : ',siswa.umur);

  writeln('Sekolah : ',siswa.sekolah);

  writeln('Kota : ',siswa.kota);

  readln;

end.

Hasil Program :
21. Tutorial Belajar Pascal Part 24: Fungsi Perintah With pada Tipe data
Record Pascal

A. 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:

var

  siswa: record

         nama: string[20];

         umur: integer;

         sekolah: string[30];

         kota: string[20];

         end;

Untuk mengakses field record siswa tersebut harus ditulis dengan


format nama_record.field_record, seperti berikut ini:

siswa.nama:= 'Dirgantara';

  siswa.umur:= 18;

  siswa.sekolah:= 'SMA 4 Jakarta;

  siswa.kota:= 'Jakarta';

Perintah siswa.nama:= ‘Anto’ berarti saya ingin mengisi field nama dari


record siswa dengan nilai ‘Anto’.

B. 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:

with siswa do

    begin

      nama:= 'Dirgantara';


      umur:= 18;

      sekolah:= 'SMA 4 Jakarta;

      kota:= 'Jakarta';

    end;

Berikut contoh lengkap kode program pascal dengan perintah with:

program tipe_record;

uses crt;

var

  siswa: record

         nama: string[20];

         umur: integer;

         sekolah: string[30];

         kota: string[20];

         end;

begin

  clrscr;

  with siswa do

    begin

      nama:= 'Diragantara';

      umur:= 18;

      sekolah:= 'SMA 4 Jakarta’;

      kota:= ‘Jakarta';

      writeln('Nama : ',nama);

      writeln('Umur : ',umur);

      writeln('Sekolah : ',sekolah);

      writeln('Kota : ',kota);


  end;

  readln;

end.

Hasil Program :

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;).
22. Tutorial Belajar Pascal Part 25: Cara Membuat Array dari Struktur Data
Record Pascal

A. 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.
Berikut kode program lengkap cara pembuatan record di bagian type pascal:
program tipe_record;
uses crt;
 
type
  rec_siswa =
    record
      nama: string[20];
      umur: integer;
      sekolah: string[30];
      kota: string[20];
    end;
var
  siswa: rec_siswa;
 
begin
  clrscr;
  with siswa do
    begin
      nama:= 'Dirgantara';
      umur:= 18;
      sekolah:= 'SMA 4 Jakarta';
      kota:= 'Jakarta';
      writeln('Nama : ',nama);
      writeln('Umur : ',umur);
      writeln('Sekolah : ',sekolah);
      writeln('Kota : ',kota);
  end;
  readln;
end.
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.
B. Cara Membuat Array dari Struktur Data Record

Setelah memindahkan record ke bagian type, kita bisa


membuat array berdasarkan record ini. Kita mengkombinasikan
pengaksesan index array dengan record. Berikut kode program lengkap cara
penggabungkan array dengan record ini:
program tipe_record_array;
uses crt;
 
type
  rec_siswa =
    record
      nama: string[20];
      umur: integer;
      sekolah: string[30];
      kota: string[20];
    end;
var
  siswa: array [0..5] of rec_siswa;
 
begin
  clrscr;
  
  siswa[0].nama:= 'Dirgantara';
  siswa[0].umur:= 18;
  siswa[0].sekolah:= 'SMA 4 Jakarta';
  siswa[0].kota:= 'Jakarta';
  
  writeln('Nama : ',siswa[0].nama);
  writeln('Umur : ',siswa[0].umur);
  writeln('Sekolah : ',siswa[0].sekolah);
  writeln('Kota : ',siswa[0].kota);
  writeln;
  
  siswa[1].nama:= 'Salma';
  siswa[1].umur:= 18;
  siswa[1].sekolah:= 'SMA Tunas Bangsa';
  siswa[1].kota:= ‘Depok';
  
  writeln('Nama : ',siswa[1].nama);
  writeln('Umur : ',siswa[1].umur);
  writeln('Sekolah : ',siswa[1].sekolah);
  writeln('Kota : ',siswa[1].kota);
  readln;
end.

Hasil Program
23. Tutorial Belajar Pascal Part 26: Pengertian dan Cara Penggunaan Tipe Data
Set Pascal
A. 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.
B. 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:

var

  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:

var

  himpunan1: set of 1..9;

  himpunan2: set of 99..999;

  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:

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

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:
program tipe_set;

uses crt;

var

  i:char;

  himpunan1: set of char;

  himpunan2: set of char;

  himpunan3: set of char;

begin

  clrscr;

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

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

  himpunan3 := himpunan1 + himpunan2;

  for i in himpunan3 do

    writeln(i);

  readln;

end.

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:
24. Tutorial Belajar Pascal Part 27: Pengertian dan Cara Penggunaan Tipe Data
Pointer Pascal
A. 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.
B. Cara Penggunaan Tipe Data Pointer 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’:

var

  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:

var

  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.
Di dalam pascal, kita butuh karakter ‘@’ yang berfungsi untuk
menampilkan alamat memory sebuah variabel. Berikut contoh programnya :

program tipe_pointer;
uses crt;

var

  angka: integer;

  pointer_angka : ^integer;

begin

  clrscr;

  angka:= 32;

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

  pointer_angka:= @angka;

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

  angka:=76;

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

  readln;

end.

Hasil Program :

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 32 kedalam variabel angka.

C. 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:
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:

program tipe_pointer;

uses crt;

var

  angka: integer;

  pointer : ^integer;

  i : ^word;

begin

  clrscr;

  angka:= 89;

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

  pointer:= @angka;

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

  i:= addr(pointer);

  writeln('Alamat memory yang digunakan adalah: ',i^);

  readln;

end.

Hasil program :
25. Tutorial Belajar Pascal Part 28: Jenis-jenis Tipe Data di Dalam Bahasa
Pascal
A. 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.
a) 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:

Var
  a:integer;
b) 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:

Var
  a:real;
c) 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:

Var
  a:char;
d) 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:

var
  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.
a) 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:

Type
  nama_hari= (senin,selasa,rabu,kamis,jumat,sabtu,minggu);
var
  a: nama_hari;
b) 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:

Type
  satuan= 1..9;
var
  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.
a) 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:

Var
  nilai: array[0..9] of integer;
b) 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:

var
  a:string;
c) 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:

var
  siswa: record
  nama: string[20];
  umur: integer;
  sekolah: string[30];
  kota: string[20];
end;
d) 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:

var
  a: set of 1..9;
e) 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:

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

var
  pointer : ^string;

26. Tutorial Belajar Pascal Part 29: Jenis-jenis Operator dalam Bahasa
Pemrograman Pascal
A. 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.

B. 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.
C. 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)

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

Operato
r Penjelasan Contoh

Pemberian nilai  a := “belajar pascal di


:= (Assignment) duniailkom”

2) Operator Aritmatika

Operator aritmatika adalah operator yang biasa kita temukan


untuk operasi matematika. Berikut jenis-jenis operator aritmatika di dalam
pascal:
Operato
r Penjelasan Contoh

+ Penambahan 2 + 3 = 5

– Pengurangan 5 – 2 = 3

* Perkalian 2 * 3 = 6

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

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

Mod Sisa hasil bagi 14 od 4 = 2

3) Operator Aritmatika Unary

Operator Penjelasan Contoh

+ Positif (plus) +5

– Negatif (min) -3
4) Operator String

Di dalam pascal, hanya terdapat 1 jenis operator string, yakni


tanda tambah ‘ + ’ yang digunakan untuk menyambung string
(concatenated).

Operator Penjelasan Contoh

Pengambungan  “belajar pascal” + “di


+ (concatenate ) duniailkom”

5) 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

6) Operator Logika / Boolean

Operator logika digunakan untuk menghasilkan nilai boolean true


atau false dari 2 kondisi.
Operator Penjelasan Contoh

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

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

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

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

7) 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

8) Operator Set / Himpunan

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


Operato
r 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

9) Operator Address (Pointer)

Operator address khusus digunakan untuk tipe data pointer.


Berfungsi untuk mencari alamat memory dari sebuah variabel.
Operato
r Penjelasan Contoh

Menampilkan alamat memory


@ sebuah variabel @nama_variabel

Menampilkan nilai variabel dari


^ alamat memory nama_variabel^
27. Tutorial Belajar Pascal Part 30: Jenis-jenis Operator Assignment dalam
Pascal
A. 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:

A := 500
B. 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;
uses crt;
var
  a:integer;
  b:real;
  c:string;
begin
  clrscr;
  a:=13;
  b:=6.34;
  c:='belajar pascal di duniailkom';
  
  writeln('a: ',a);
  writeln('b: ',b:4:2);
  writeln('c: ',c);
  
  readln;
end.
Hasil program :

Tidak ada hal yang baru dari kode program diatas. Saya
mendefenisikan beberapa variabel, memberikan nilai kedalam variabel
tersebut dan menampilkan hasilnya.
28. Tutorial Belajar Pascal Part 31: Jenis-jenis Operator Aritmatika dalam
Pascal
A. 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:


Operato
r Penjelasan Contoh

+ Positif (plus) +5

– Negatif (min) -3

Berikut contoh penggunaan operator aritmatika di dalam pascal:

program operator_aritmatika;
uses crt;
var
  a,b,c,d,e,f,g,h:integer;
begin
  clrscr;
  a:=10+3;
  b:=11-7;
  c:=7*3;
  d:=10+2-7*3;
  e:=((8+3)-9)*4;
  f:=-81;
  
  writeln('a: ',a);
  writeln('b: ',b);
  writeln('c: ',c);
  writeln('d: ',d);
  writeln('e: ',e);
  writeln('f: ',f);
  
  readln;
end.
Hasil Program :

B. 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.
Berikut contoh kode program penggunaan operator div di dalam pascal:
program operator_aritmatika;
uses crt;
var
  a,b,c,d:integer;
begin
  clrscr;
  a:=12 div 5;
  b:=9 div 2;
  c:=108 div 5;
  d:=9999 div 23;
  
  writeln('a: ',a);
  writeln('b: ',b);
  writeln('c: ',c);
  writeln('d: ',d);
  
  readln;
end.
Hasil program :

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;
5 begin
6   clrscr;
7   a:=8 mod 4;
8   b:=8 mod 5;
9   c:=10 mod 2;
10   d:=100 mod 7;
11   
12   writeln('a: ',a);
13   writeln('b: ',b);
14   writeln('c: ',c);
15   writeln('d: ',d);
16   
17   readln;
18 end.

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.
Tutorial Belajar Pascal Part 32: 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).
Operato
r Penjelasan Contoh

“belajar pascal” + “di


+ Pengambungan (concatenate ) duniailkom”

Langsung saja kita lihat contoh penggunaannya:

program operator_string;

uses crt;

var

  a,b,c,d,e:string;

begin

  clrscr;

  a:='Belajar';

  b:='Pascal';

  c:='di Duniailkom';

  d:=a+b+c;

  writeln(d);

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

  writeln(e);

  readln;
end.

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:

program operator_string;

uses crt;

var

  ipk:real;

  sumber:string;

begin

  clrscr;

  ipk:=3.8;

  sumber:='Duniailkom';

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


  readln;

end.

Perhatikan cara penulisan pertintah writeln diatas, saya


‘mencampurkan’ string dengan variabel. Tanda koma ( , ) digunakan untuk
memisahkan mana yang berupa string, dan mana yang variabel.

Tutorial Belajar Pascal Part 33: Jenis-jenis Operator Perbandingan / Relasional


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:

Operato
r 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);
11   writeln('b = ',b);
12   writeln;
13  
14   hasil:= a = b;
15   writeln('a = b  :',hasil);
16   hasil:= a <> b;
17   writeln('a <> b :',hasil);
18   hasil:= a > b;
19   writeln('a > b  :',hasil);
20   hasil:= a < b;
21   writeln('a < b  :',hasil);
22   hasil:= a >= b;
23   writeln('a >= b :',hasil);
24   hasil:= a <= b;
25   writeln('a <= b :',hasil);
26  
27   readln;
28 end.

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:
1 program operator_perbandingan;
2 uses crt;
3 var
4   a,b:char;
5   hasil:boolean;
6 begin
7   clrscr;
8   a:='X';
9   b:='Y';
10   writeln('a = ',a);
11   writeln('b = ',b);
12   writeln;
13  
14   hasil:= a = b;
15   writeln('a = b  :',hasil);
16   hasil:= a <> b;
17   writeln('a <> b :',hasil);
18   hasil:= a > b;
19   writeln('a > b  :',hasil);
20   hasil:= a < b;
21   writeln('a < b  :',hasil);
22   hasil:= a >= b;
23   writeln('a >= b :',hasil);
24   hasil:= a <= b;
25   writeln('a <= b :',hasil);
26  
27   readln;
28 end.

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:
1 program operator_perbandingan;
2 uses crt;
3 var
4   password,konf_pass:string;
5   hasil:boolean;
6 begin
7   clrscr;
8   password:='r4has1a';
9   konf_pass:='rahasia';
10   if password=konf_pass then
11     writeln('Access Granted')
12   else
13     writeln('Warning, Intruder!!!');
14   readln;
15 end.

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

Tutorial Belajar Pascal Part 34: Jenis-jenis Operator Logika dalam Pascal

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:

Oper
ator Penjelasan Contoh

Akan menghasilkan TRUE jika TRUE and FALSE,


and kedua operand TRUE hasilnya: FALSE

Akan menghasilkan TRUE jika TRUE or FALSE,


or salah satu operand TRUE hasilnya: TRUE

Akan menghasilkan TRUE jika TRUE xor FALSE,


xor kedua operand berbeda hasilnya: TRUE

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

Contoh Penggunaan Operator Logika Pascal

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

program operator_logika;

uses crt;
var

  a,b,hasil:boolean;

begin

  clrscr;

  a:=true;

  b:=false;

  writeln('a = ',a);

  writeln('b = ',b);

  writeln;

  hasil:= a and b;

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

  hasil:= a or b;

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

  hasil:= a xor b;

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

  hasil:= not a;

  writeln('not a   :',hasil);

  hasil:= not b;

  writeln('not b   :',hasil);


  readln;

end.

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:

program operator_logika;

uses crt;

var

  hasil:boolean;

begin

  clrscr;

  hasil:= false and false or true;

  writeln('false and false or true :',hasil);

  hasil:= true and false or true and false;

  writeln('true and false or true and false :',hasil);

  hasil:= (5 > 4) and (10 > 9);


  writeln('(5 > 4) and (10 > 9)  :',hasil);

  hasil:= (15 <= 15) and (15 < 15);

  writeln('(15 <= 15) and (15 < 15) :',hasil);

  hasil:= ('a' = 'a') or ('a' = 'b') ;

  writeln('(a = a) or (a = b) :',hasil);

  hasil:= (10 > 7) and ('duniailkom'='duniailkom');

  writeln('(10 > 7) and (duniailkom = duniailkom): ',hasil);

  readln;

end.

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.

Tutorial Belajar Pascal Part 35: Urutan Prioritas Operator dalam Bahasa
Pascal

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;
8  
9   hasil1:= 12 + 6 * 3 - 4;
10   writeln('hasil1 :',hasil1);
11  
12   hasil2:= 12 + 6 > 6 * 4;
13   writeln('hasil2 :',hasil2);
14  
15   readln;
16 end.
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
6   clrscr;
7  
8   hasil:= 12 + 6 > 6 * 3 - 1 and true;
9   writeln('hasil :',hasil);
10  
11   readln;
12 end.
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;
5 begin
6   clrscr;
7  
8   hasil:= ((12 + 6) > ((6 * 3) - 1)) and true;
9   writeln('hasil :',hasil);
10  
11   readln;
12 end.

Walaupun bersifat opsional, menambahkan tanda kurung untuk operasi seperti


diatas sangat disarankan, terutama untuk menghindari “salah prediksi” dari
urutan operator.

Tutorial Belajar Pascal Part 36: Percabangan Kondisi IF THEN dalam


Pascal

Konsep Dasar Percabangan Kondisi IF THEN dalam Pascal

Konsep dasar dari percabangan perintah IF THEN dalam bahasa pemrogram


Pascal adalah sebagai berikut:

IF (kondisi) THEN

begin

(kode program)

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:

program struktur_if_then;

uses crt;

var

  angka: integer;

begin

  clrscr;

  angka := 10;

  if (angka > 5) then


    begin

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

    end;

  writeln('Belajar Pascal di Duniailkom');

  readln;

end.

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:

program struktur_if_then;

uses crt;

var

  angka:integer;

begin

  clrscr;

  angka:=10;
  if (angka > 5) then

    begin

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

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

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

    end;

  writeln('Belajar Pascal di Duniailkom');

  readln;

end.

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;

uses crt;

var

  angka:integer;

begin

  clrscr;

  angka:=5;

  if (angka > 5) then

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

  writeln('Belajar Pascal di Duniailkom');


  readln;

end.

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

program struktur_if_then;

uses crt;

var

  angka:integer;

begin

  clrscr;

  write('Masukkan sebuah angka: ');

  readln(angka);

  if (angka mod 2 = 0) then

    begin

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

    end;    

  readln;

end.

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.

Tutorial Belajar Pascal Part 37: Percabangan 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');
11     end
12   else
13     begin
14       writeln('Variabel "angka" lebih kecil dari 5');
15     end;
16   readln;
17 end.

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;
5 else

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;
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
10     begin
11       writeln('Angka yang anda masukkan merupakan bilangan genap');
12     end
13   else
14     begin
15       writeln('Angka yang anda masukkan merupakan bilangan ganjil');
16     end;    
17   readln;
18 end.
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.

Tutorial Belajar Pascal Part 38: Percabangan Kondisi IF Bersarang dalam Pascal

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 IF (kondisi 1) THEN
2   begin
3     (kode program 1)
4     IF (kondisi 1.1) THEN
5       begin
6         (kode program 1.1)
7       end;
8   end
9 ELSE
10   begin
11     (kode program 2)
12   end;
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)
4     IF (kondisi 1.1) THEN
5       begin
6         (kode program 1.1)
7           IF (kondisi 1.1.1) THEN
8             begin
9              (kode program 1.1.1)
10           end;
11       end;
12   end
13 ELSE
14   begin
15     (kode program 2)
16         IF (kondisi 2.1) THEN
17       begin
18         (kode program 2.1)
19       end;
20   end;
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;
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
10     begin
11       write('Angka yang anda masukkan merupakan bilangan genap ');
12       if (angka > 10) then
13         begin
14           writeln('dan besar dari 10');
15         end
16       else
17         begin
18           writeln('dan kecil dari 10');
19         end;
20     end
21   else
22     begin
23       write('Angka yang anda masukkan merupakan bilangan ganjil ');
24      if (angka > 10) then
25         begin
26           writeln('dan besar dari 10');
27         end
28       else
29         begin
30           writeln('dan kecil dari 10');
31         end;
32     end;    
33   readln;
34 end.
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 program struktur_if_then_else_nested;
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) and (angka > 10) then
10     begin
11       writeln('Angka yang anda masukkan merupakan bilangan genap dan besar dari 10');
12     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');
17     end
18   else
19   if (angka mod 2 <> 0) and (angka > 10) then
20     begin
21       writeln('Angka yang anda masukkan merupakan bilangan ganjil dan besar dari 10');
22     end
23   else
24   if (angka mod 2 <> 0) and (angka < 10) then
25     begin
26       writeln('Angka yang anda masukkan merupakan bilangan ganjil dan kecil dari 10');
27     end;      
28   readln;
29 end.
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.
Tutorial Belajar Pascal Part 39: Struktur Percabangan CASE dalam 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;
5 begin
6   clrscr;
7   write('Silahkan input angka untuk bulan (1-12): ');
8   readln(bulan);
9    
10   if (bulan = 1) then
11      writeln('Januari')
12   else if (bulan = 2) then
13      writeln('Februari')
14   else if (bulan = 3) then
15      writeln('Maret')
16   else if (bulan = 4) then
17      writeln('April')
18   else if (bulan = 5) then
19      writeln('Mei')
20   else if (bulan = 6) then
21      writeln('Juni')
22   else if (bulan = 7) then
23      writeln('Juli')
24   else if (bulan = 8) then
25      writeln('Agustus')
26   else if (bulan = 9) then
27      writeln('September')
28   else if (bulan = 10) then
29      writeln('Oktober')
30   else if (bulan = 11) then
31      writeln('Novemver')
32   else if (bulan = 12) then
33      writeln('Desember');    
34    
35   readln;
36 end.
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);
9    
10   case (bulan) of
11      1 : writeln('Januari');
12      2 : writeln('Februari');
13      3 : writeln('Maret');
14      4 : writeln('April');
15      5 : writeln('Mei');
16      6 : writeln('Juni');
17      7 : writeln('Juli');
18      8 : writeln('Agustus');
19      9 : writeln('September');
20      10 : writeln('Oktober');
21      11 : writeln('November');
22      12 : writeln('Desember');    
23   end;
24    
25   readln;
26 end.
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 9 : writeln('September');
10 10 : writeln('Oktober');
11 11 : writeln('November');
12 12 : writeln('Desember');
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.

Tutorial Belajar Pascal Part 40: Struktur Percabangan CASE ELSE dalam
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:

program struktur_case;
uses crt;

var

  grade: string;

begin

  clrscr;

  write('Silahkan input grade anda (A-E): ');

  readln(grade);

  case (grade) of

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

     'B' : writeln('Memuaskan');

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

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

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

  end;

  readln;

end.

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:

program struktur_case;

uses crt;

var

  grade: string;

begin

  clrscr;

  write('Silahkan input grade anda (A-E): ');

  readln(grade);

  case (grade) of

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

     'B' : writeln('Memuaskan');

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

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

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

  else

    writeln('Maaf, format yang anda masukkan salah');

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

  end;

  readln;

end.

Perhatikan tambahan bagian ELSE. Artinya, jika kelima kondisi tidak cocok


(yang diinput selain dari huruf A – E), maka tampilkan perintah:
writeln('Maaf, format yang anda masukkan salah');

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:

program struktur_case;

uses crt;

var

  grade: string;

begin

  clrscr;

  write('Silahkan input grade anda (A-E): ');

  readln(grade);

  case (grade) of
     'A' : writeln('Sangat Memuaskan');

     'B' : writeln('Memuaskan');

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

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

  else

    writeln('Maaf, format yang anda masukkan salah');

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

  end;

  readln;

end.

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:

program struktur_case;

uses crt;

var

  grade: string;

begin

  clrscr;

  write('Silahkan input grade anda (A-E): ');


  readln(grade);

  case (grade) of

    'A' :

      begin

        writeln('Sangat Memuaskan');

        writeln('Pertahankan!');

      end;

    'B' :

      begin

      writeln('Memuaskan');

      writeln('Tingkatkan lagi!');

      end;

    'C','D' :

      begin

        writeln('Kurang Baik');

        writeln('Agar Lebih banyak belajar!');

      end;

    'E' :

      begin

        writeln('Maaf, anda tidak lolos');

        writeln('Selama ini ngapain saja bro...?');

      end

  else

    writeln('Maaf, format yang anda masukkan salah');

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

  end;
 

  readln;

end.

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 Belajar Pascal Part 41: Perulangan FOR DO dalam 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
4   i: integer;
5 begin
6   clrscr;
7  
8     for i := 1  to 1000 do
9       begin
10         writeln('Hello World');
11       end;
12      
13   readln;
14 end.
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;
7  
8     for i := 1  to 1000 do
9       begin
10         writeln('Hello World ke - ',i);
11       end;
12      
13   readln;
14 end.
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;
7  
8     for i := 1  to 10 do
9       begin
10         writeln('7 x ',i,' = ',7 * i);
11       end;
12      
13   readln;
14 end.

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;
3 var
4   i,angka: integer;
5 begin
6   clrscr;
7     writeln('========================');
8     writeln('Program Daftar Perkalian');
9     writeln('========================');
10     writeln;
11      
12     write('Input perkalian yang diinginkan: ');
13     readln(angka);
14      
15     writeln;
16     for i := 1  to 10 do
17       begin
18         writeln( i ,' x ', angka ,' = ', i * angka);
19       end;
20      
21   readln;
22 end.
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;
7  
8     for i := -35  to -20 do
9       begin
10         writeln('10 x ',i,' = ',10 * i);
11       end;
12      
13   readln;
14 end.

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;
7  
8     for i := 10  to 0 do
9       begin
10         writeln('Hitung mundur: ',i);
11       end;
12      
13   readln;
14 end.
Tutorial Belajar Pascal Part 42: Perulangan FOR DOWNTO dalam 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:

program for_do_loop;

uses crt;

var

  i: integer;

begin

  clrscr;
    for i := 10  downto 0 do

      begin

        writeln('Hitung mundur: ',i);

      end;

    

  readln;

end.

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:

program for_downto_loop;

uses crt;

var

  i: integer;

begin

  clrscr;

    for i := 10  downto 1 do

      begin
        writeln('Perkalian 7 * ', i ,' adalah = ', 7 * i);

      end;

    

  readln;

end.

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:

program for_downto_loop;

uses crt;

var

  anak_ayam,i: integer;

begin

  clrscr;

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

    writeln('Lagu Anak Ayam');


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

    writeln;

    write('Input jumlah anak ayam: ');

    readln(anak_ayam);

    writeln;

    for i := anak_ayam downto 1 do

      begin

        writeln('Anak ayam turun ',i,' pergi 1, tinggal ',i-1);

      end;

  readln;

end.

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.

Tutorial Belajar Pascal Part 43: 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..)
5 end;
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
4   i: integer;
5 begin
6   clrscr;
7   i:= 0;
8  
9   while i < 10 do
10     begin
11       writeln('Hello World');
12       i:= i + 1;
13     end;
14      
15   readln;
16 end.
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;
8
 
9
  while i < 10 do
10
    begin
11
      writeln('Variabel i sekarang bernilai: ',i);
12
      i:= i + 1;
13
    end;
14
  readln;
15
end.
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;
3 var
4   i: integer;
5 begin
6   clrscr;
7   i:= 5;
8  
9   while i <= 10 do
10     begin
11       writeln('Variabel i sekarang bernilai: ',i);
12       i:= i + 1;
13     end;
14   readln;
15 end.

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;
8  
9   while i < 11 do
10     begin
11       writeln('Variabel i sekarang bernilai: ',i);
12       i:= i + 1;
13     end;
14   readln;
15 end.
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;
8  
9   while i < 11 do
10     begin
11       writeln('Variabel i sekarang bernilai: ',i);
12     end;
13   readln;
14 end.
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;
8  
9   while i >= 0 do
10     begin
11       writeln('Hitung mundur: ',i);
12       i:= i - 1;
13     end;
14   readln;
15 end.

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;
8  
9   writeln('Berikut deret untuk kelipatan 3: ');
10    
11   while i <= 30 do
12     begin
13       write(i,' ');
14       i:= i + 3;
15     end;
16   readln;
17 end.
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.

Tutorial Belajar Pascal Part 44: Perulangan REPEAT UNTIL dalam Pascal

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;
8  
9   repeat
10     begin
11       writeln('Hello World');
12       i:= i + 1;
13     end;
14   until i = 10;
15   readln;
16 end.
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;
5 begin
6   clrscr;
7   i:= 0;
8  
9   repeat
10     begin
11       writeln('Variabel i sekarang bernilai: ',i);
12       i:= i + 1;
13     end;
14   until i = 10;
15   readln;
16 end.
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;
5 begin
6   clrscr;
7   i:= 10000;
8  
9   repeat
10     begin
11       writeln('Variabel i sekarang bernilai: ',i);
12       i:= i + 1;
13     end;
14   until i > 10;
15   readln;
16 end.
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
4   i: integer;
5 begin
6   clrscr;
7   i:= 5;
8  
9   writeln('Berikut deret untuk kelipatan 5: ');
10  
11   repeat
12     begin
13       write(i,' ');
14       i:= i + 5;
15     end;
16   until i > 100;
17   readln;
18 end.
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)

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;
7  
8   for i := 1 to 5 do
9     begin
10       writeln('*');
11     end;
12      
13   readln;
14 end.
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;
7  
8   for i := 1 to 5 do
9     begin
10       write('*');
11     end;
12      
13   readln;
14 end.
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).

Tutorial Belajar Pascal Part 46: Perulangan Bersarang (Nested Loop) dalam
Pascal (2)

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
4   i,j: integer;
5 begin
6   clrscr;
7  
8   for i := 1 to 5 do
9     begin
10          
11     for j := 1 to 5 do
12       begin
13         write(i*j);
14         write(' ');
15       end;
16            
17     writeln;
18     end;
19      
20   readln;
21 end.
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
4   i,j: integer;
5 begin
6   clrscr;
7  
8   for i := 1 to 5 do
9     begin
10        
11     for j := 1 to 5 do
12       begin
13         write(i*j,' ');
14       end;
15          
16     writeln;
17     end;
18      
19   readln;
20 end.
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 program nested_loop;
2 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
15       write(i * j,' ');
16       j := j + 1;
17     end;
18      
19     writeln;
20     i := i + 1;
21   end;
22    
23   readln;
24 end.
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.

Tutorial Belajar Pascal Part 47: Fungsi Perintah BREAK Dalam Perulangan
Pascal

Pengertian dan Fungsi Break Pascal

Sesuai dengan namanya, perintah break digunakan untuk berhenti. 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:

program penggunaan_break;

uses crt;

var

  i: integer;

begin

  clrscr;

    

    for i := 1  to 10 do

    begin

      writeln('Hello Indonesia ',i);

      if (i = 5) then

        break;

    end;

    

  readln;

end.

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?

program penggunaan_break;

uses crt;

var

  i: integer;

begin

  clrscr;

    for i := 100 downto 10 do

    begin

      writeln(i ,' * 3 = ',i*3);

      if (i = 5) then

        break;

    end;

  readln;

end.
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:

program penggunaan_break;

uses crt;

var

  i: integer;

begin

  clrscr;

    for i := 1 to 10 do

    begin

      writeln(i ,' * 5 = ',i*5);

      if (i = 7) then

        break;

    end;

  readln;
end.

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;

uses crt;

var

  i: integer;

begin

  clrscr;

    for i := 1 to 10 do

    begin

      if (i = 7) then

        break;      

      writeln(i ,' * 5 = ',i*5);

    end;

  readln;

end.
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:

program penggunaan_break;

uses crt;

var

  i: integer;

begin

  clrscr;

  i:= 0;

  while i < 10 do

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

      i:= i + 1;

      if (i = 6) then

        break;

    end;

  readln;

end.

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.

Tutorial Belajar Pascal Part 48: Fungsi Perintah CONTINUE Dalam Perulangan
Pascal

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:

program penggunaan_continue;

uses crt;

var

  i: integer;

begin

  clrscr;

    

    for i := 1  to 10 do

    begin

      if (i = 5) then

        continue;

      writeln('Hello Indonesia ',i);

    end;

    

  readln;

end.

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:

program penggunaan_continue;

uses crt;

var

  i: integer;

begin

  clrscr;

    

    for i := 1  to 10 do

    begin

      writeln('Hello Indonesia ',i);

      if (i = 5) then

       continue;

    end;

  readln;

end.

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;

uses crt;

var

  i: integer;

begin

  clrscr;

  i:= 0;

  while i < 10 do

    begin

    

    if (i = 6) then

    begin

      i:= i + 1;

      continue;

    end;

    

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


    i:= i + 1;

    end;

  readln;

end.

Anda mungkin bertanya, untuk apa tambahan baris:

if (i = 6) then

begin

i:= i + 1;

continue;

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.

Anda mungkin juga menyukai