Modul Pemrograman Pascal
Modul Pemrograman Pascal
Dalam mempelajari bahasa pemrograman pascal, Kegiatan praktikum sangat penting untuk
dilakukan. dalam buku ini materi praktikum bahasa pemrograman pascal telah disusun
secara urut, dimulai dari tingkat yang paling dasar.
Dengan membaca buku ini diharapkan para pembaca dapat belajar memahami serta
melakukan praktikum bahasa pemrograman pascal secara mandiri maupun dibantu oleh
pengajar.
Bahasa Pemrograman Pascal pertama kali dikembangkan pada tahun 1971 oleh Professor
Niklaus Wirth. Kata pascal diambil dari nama seorang ilmuwan matematika bernama Blaise
Pascal. Bahasa Pascal termasuk dalam Bahasa Pemrograman Tingkat Tinggi, sehingga
perintah-perintah yang digunakan dalam bahasa pemrograman ini sangat terstruktur serta
sistematis.
Untuk membuat program menggunakan bahasa pascal, diperlukan aplikasi Compailer yang
dapat mengkompilasi bahasa pascal menjadi sebuah program utuh. Compailer Pascal yang
sudah sangat populer untuk digunakan adalah Turbo Pascal yang dikembangkan oleh
Borland. Sayangnya, Turbo Pascal merupakan aplikasi berbayar serta pengembangannya
telah dihentikan sejak bertahun-tahun yang lalu.
Selain Turbo Pascal, masih banyak Aplikasi compailer pascal yang dapat anda gunakan,
salah satunya adalah Free Pascal, yang merupakan compailer pascal open source yang
masih dikembangkan hingga saat ini.
Hal itu dikarenakan bahasa pemrograman pascal termasuk bahasa pemrograman yang
cukup mudah untuk dipelajari serta notasi penulisannya tidak begitu rumit.
Misalnya pada Contoh penggalan Dapat anda baca kedalam bahasa manusia,
program bahasa pascal dibawah menjadi :
ini :
Tidak sulit untuk dipahami bukan ? pastinya anda sudah dapat membayangkan
bagaimana pelajaran yang akan anda hadapi kedepannya, semangat ! dan Selamat
melanjutkan bacaan anda :)
Secara umum program pascal memiliki 2 bagian struktur, yaitu header dan body
program. Header adalah bagian untuk meletakan judul program, pemanggilan unit,
serta pendeklarasian (variabel, procedure, function, dll). Sedangkan bagian body untuk
menuliskan perintah-perintah yang akan menjadi program utama saat dijalankan.
setiap anda menulis program dalam bahasa pascal, maka struktur penulisan yang akan
selalu anda gunakan adalah sebagai berikut :
program nama_program;
Header Program
uses crt;
begin
Body Program
end.
digunakan untuk menginformasikan nama atau judul dari program yang anda tulis
kepada compailer, perintah ini selalu diletakan dibaris paling awal. Dalam penulisannya
tidak boleh mengandung karakter unik dan untuk setiap kata hanya dapat dipisahkan
dengan simbol garis bawah “_”.
2. Uses crt;
Digunakan untuk memanggil unit crt yang berisi kumpulan fungsi standar program. Ada
banyak unit yang dapat anda gunakan sesuai kebutuhan. Unit yang paling umum
digunakan dalam membuat program pascal sederhana adalah WINCRT atau CRT.
3. Begin
Merupakan perintah yang menunjukan awal dimana program akan mulai dijalankan.
instruksi yang akan dikerjakan oleh program utama, nantinya akan ditulis diantara
perintah “Begin” dan “end.”
4. End.
Buka file installer Free Pascal yang telah anda download sebelumnya. Maka Akan
muncul tampilan seperti gambar dibawah ini. Klik “Next”.
Selanjutnya silahkan anda Pilih mode Installasi. pilih “Full Installation”, Agar semua
Berikan tanda centang pada bagian “Associate .pas files with Free Pascal IDE” sehingga file
dengan format .pas dapat terintegrasi dengan Free Pascal. Lalu klik “Next”.
Klik “Install” untuk memulai installasi. Tunggu beberapa saat hingga aplikasi Free Pascal
selesai melakukan installasi. Setelah itu klik “Finish”.
Buka program Free Pascal yang telah terinstall di komputer anda, lalu buat file project baru
dengan cara klik menu “File” → “New”.
anda dapat menuliskan kode program pada tampilan text editor yang tersedia. Untuk
mencobanya silahkan anda tuliskan terlebih dahulu kode program dibawah ini :
program pascal_pertama;
uses crt;
begin
clrscr;
write(‘Hello World !!’);
readln;
end.
Penjelasan : kode program diatas akan menampilkan tulisan “Hello World !!” pada layar. Jika
anda lihat, pada bagian program utama (body) terdapat 3 buah perintah yang akan dijalankan
yaitu :
1. Clrscr ─ perintah ini berfungsi untuk membersihkan layar dari tampilan program yang telah
dijalankan sebelumnya. Anda dapat mencoba menghilangkan perintah ini untuk melihat
pengaruhnya pada program.
2. Write ─ perintah untuk menampilkan output ke layar. Perintah ini akan dijelaskan lebih
mendalam pada pembahasan selanjutnya.
3. Readln ─ Dalam hal ini perintah readln digunakan untuk mencegah layar program anda
menutup saat dijalankan. Untuk melihat pengaruhnya pada program, anda dapat mencoba
menghilangkan perintah ini.
Kode program yang ditulis dalam bahasa pascal akan disimpan dalam format “.pas”. untuk
menyimpan kode program yang telah anda buat dapat dilakukan dengan cara klik menu “File”
→ “Save”.
Beri nama file pascal anda, jangan lupa menambahkan format “.pas” di akhir nama file agar
dapat dikenali sebagai kode program pascal. kemudian klik “OK”.
Setelah anda selesai menuliskan kode program dan telah tersimpan, selanjutnya anda dapat
mencoba untuk menjalankan program yang anda buat dengan cara klik menu “Run” → “Run”,
atau anda dapat menekan tombol “CTRL + F9” pada keyboard. Tunggu beberapa saat hingga
program anda tampil.
Hello World !!
Untuk menampilkan output berupa tulisan pada layar, dapat menggunakan perintah
“WRITE” dan “WRITELN”. Perbedaan antara kedua perintah tersebut ada pada tampilan
yang dihasilkan. Jika menggunakan perintah “write” maka tulisan yang dihasilkan akan
berada dalam satu baris yang sama (inline), sedangkan jika menggunakan perintah “writeln”
maka tulisan yang ada setelahnya akan berganti baris dan berada pada baris berikutnya
(new line).
Contoh Program :
program biodata;
uses crt;
begin
clrscr;
write('Selamat Datang di ');
Selamat Datang di BIODATA DIRI
write('BIODATA DIRI'); Nama : Ahmad
writeln; Umur : 12 Tahun
Terimakasih Salam Kenal
writeln('Nama : Ahmad');
writeln('Umur : 12 Tahun');
writeln;
write('Terimakasih ');
write('Salam Kenal');
readln;
end.
Penjelasan : perhatikan hasil dari program diatas. Tulisan yang ditampilkan menggunakan
perintah write akan berada dalam satu baris yang sama. Sedangkan yang ditampilkan
menggunakan perintah writeln berada pada baris baru dibawahnya.
Variabel digunakan untuk menyimpan suatu data secara sementara didalam memori
komputer. Setiap variabel memiliki tipe data tertentu sesuai dengan data yang akan disimpan
dalam variabel tersebut.
Dalam pemrograman pascal terdapat banyak tipe data yang dapat anda gunakan sesuai
kebutuhan program yang anda buat. Adapun dalam buku ini hanya menuliskan beberapa tipe
data yang umumnya digunakan dalam membuat program pascal sederhana, seperti yang
dapat anda lihat pada tabel dibawah ini.
Numerik, Bilangan
Byte 0 s/d 255 5
Bulat
Numerik, Bilangan
Integer -32768 s/d 32767 15500
Bulat
Numerik, Bilangan
Real 3.4x10-38 s/d 3.4x1038 3.14
Desimal
Seluruh Karakter
Char Sebuah Karakter *
ASCII
Seluruh Karakter
String Kumpulan Karakter Salam Kenal
ASCII
Deklarasi Variabel
Sebelum dapat digunakan, sebuah variabel harus terlebih dahulu “dideklarasi-kan” agar dapat
dikenali oleh komputer. Pada pemrograman pascal, variabel dideklarasikan dengan perintah
“VAR” yang diletakkan pada bagian header program sebelum perintah “Begin”.
Variabel dengan tipe data yang sama dapat ditulis dalam satu baris, Setiap item
variabel dipisahkan dengan tanda koma “,”
Variabel dengan tipe data yang berbeda-beda dapat dituliskan pada baris berikutnya
var
variabel_1 : tipe_data_1;
variabel_2 : tipe_data_2;
Contoh :
var
harga, diskon : integer;
nomor : byte;
pesan : string
Dalam penamaan variabel terdapat hal-hal yang perlu diperhatikan seperti, nama variabel
hanya dapat diawali dengan huruf atau garis bawah “_”, tidak boleh mengandung spasi
kosong, dan nama variabel hanya boleh terdiri dari huruf angka dan garis bawah.
Untuk memberikan nilai pada suatu variabel dalam pemrograman pascal, digunakan simbol
titik dua sama dengan “:=” (Assignment Operator), Nilai yang akan disimpan pada variabel
harus sesuai dengan tipe data dari variabel tersebut.
Contoh penulisan :
program contoh_variabel;
Muhammad Effendi
uses crt; 8704
var
no_induk : integer;
nama_karyawan : string;
begin
clrscr;
no_induk:=8704;
nama_karyawan := 'Muhammad Effendi';
writeln(nama_karyawan);
writeln(no_induk);
readln;
end.
Penjelasan : pada contoh diatas kita mendeklarasikan 2 buah variable (no_induk dan
nama_karyawan), kemudian pada program utama kita berikan nilai pada masing- masing
variabel, terakhir kita tampilkan kedua isi variabel tadi menggunakan perintah writeln.
Tip : Perlu anda ingat, dalam bahasa pemrograman pascal setiap data yang berupa
karakter / teks, maka harus diletakkan di antara dua buah tanda petik atas.
Contoh :
Writeln (‘Belajar Pemrograman Pascal’);
Pesan := ‘Hati-hati dijalan’;
Proses Input (Memasukkan) data pada pemrograman pascal dapat dilakukan menggunakan
perintah “readln”. Setiap data yang diinputkan melalui perintah readln nantinya akan disimpan
dalam sebuah variabel. Oleh karena itu perintah readln selalu diikuti dengan variabel untuk
menampung data yang telah diinput-kan.
Contoh Program :
program contoh_program_input;
Begin
clrscr;
write(‘Masukkan Nama :’); readln(nama);
write(‘Masukkan Umur :’); readln(umur);
writeln (‘Nama saya ’,nama,’ Umur saya ’,umur);
readln;
end.
Penjelasan: pada contoh program diatas terdapat 2 buah proses input-an, nantinya data yang
telah dimasukkan akan disimpan dalam variabel “nama” dan “umur”, kemudian isi dari
variabel “nama” dan “umur” akan ditampilkan menggunakan perintah writeln.
Tip : anda dapat menampilkan beberapa data (dengan tipe data yang berbeda)
dalam satu baris perintah writeln. setiap data yang ingin ditampilkan harus
dipisahkan dengan tanda koma. Seperti yang ada pada baris writeln (‘Nama
saya ’,nama,’ Umur saya ’,umur).
Baris Komentar
Baris komentar digunakan untuk memberikan keterangan pada kode program yang anda tulis.
Semua yang anda tuliskan didalam Baris komentar tidak akan dijalankan oleh program. Baris
komentar di tulis menggunakan simbol double slash “//”
Baris komentar juga dapat berbentuk blok komentar yang ditulis diantara simbol “{“ dan “}”,
sehingga dapat memuat lebih dari satu baris keterangan.
Contoh penulisan :
{
ini adalah blok komentar
hanya sebagai keterangan
Pada aplikasi free pascal, baris komentar akan ditandai dengan warna abu-abu.
Contoh Program
Selamat Datang di Toko Budi
program baris_komentar; Jl. Semar No.3
uses crt;
begin
clrscr;
writeln ('Selamat Datang di Toko Budi');
writeln ('Jl. Semar No.3'); //tampilkan nama jalan
{
writeln ('Hp. 0821001010');
writeln ('Website : www.budi.com');
}
readln;
end.
Penjelasan : pada contoh program diatas, no hp dan website tidak ditampilkan karena
berada dalam blok komentar.
program keliling_persegi;
Masukan Nilai Sisi : 2
uses crt; Keliling Persegi = 8
var
s,keliling : integer;
begin
clrscr;
write('Masukan Nilai Sisi : '); readln(s);
keliling := 4 * s;
writeln('Keliling Persegi = ',keliling);
readln;
end.
Penjelasan : kita membuat proses input data agar user dapat memasukkan nilai sisi persegi,
yang nantinya akan disimpan dalam variabel “s”. Lalu kita lakukan perhitungan aritmatika
sesuai rumus keliling persegi. Terakhir tampilkan hasil dari perhitungan keliling menggunakan
perintah writeln.
Dalam pemrograman pascal terdapat beberapa operator perbandingan yang digunakan untuk
membandingkan dua buah data. Hasil dari perbandingan tersebut akan berupa nilai TRUE
(benar) atau FALSE (salah).
Operator Fungsi
= Operasi sama dengan
> Operasi lebih dari
< Operasi kurang dari
>= Operasi lebih dari atau sama dengan
<= Operasi kurang dari atau sama dengan
<> Operasi Tidak sama dengan
Contoh :
Contoh Program :
Penjelasan : Perbandingan “variable nama sama dengan Bilal” akan menghasilkan nilai false.
Sedangkan perbandingan “variable nama tidak sama dengan Bilal” menghasilkan nilai true.
Hasilnya seperti itu karena variabel nama berisi nilai ‘Khalid’.
Operasi logika juga akan menghasilkan nilai true atau false dari suatu perbandingan. Dalam
buku ini hanya membahas 2 buah operator logika yang biasa digunakan dalam membuat
program sederhana, yaitu : AND dan OR
AND akan menghasilkan nilai True jika semua data yang dibandingkan berinilai benar.
Sedangkan OR akan menghasilkan nilai True jika salah satu atau semua data yang
dibandingkan bernilai benar
Struktur Penyeleksian digunakan untuk menentukan perintah yang harus dijalankan pada
kondisi tertentu.
Jika anda pernah melihat sebuah program yang dapat secara otomatis menentukan
lulus/tidaknya nilai seorang mahasiswa, perlu anda ketahui bahwa program tersebut
menggunakan struktur penyeleksian didalamnya.
Dalam pemrograman pascal terdapat 2 struktur perintah yang dapat digunakan untuk
melakukan penyeleksian, yaitu “IF .. THEN” dan “CASE .. OF”.
IF .. THEN
Jika kondisi terpenuhi (bernilai benar) maka pernyataan akan dijalankan, sedangkan jika
kondisi tidak terpenuhi (bernilai salah) maka pernyataan tersebut tidak akan dijalankan dan
program akan berlanjut ke perintah berikutnya setelah struktur “IF .. THEN”.
Contoh Program :
Nilai a lebih besar dari Nilai b
program penyeleksian_if_1;
uses crt;
var a,b : integer;
begin
clrscr;
Penjelasan: pada program diatas, Kondisinya adalah nilai a>=b, apabila kondisi tersebut
benar, maka text “Nilai a lebih besar dari Nilai b” akan ditampilkan.
Statement Block
Struktur penyeleksian yang memiliki lebih dari satu pernyataan yang akan dijalankan, maka
harus ditambahkan “Statement Block” menggunakan perintah “begin” dan “end;” untuk
mengelompokkan pernyataan-pernyataan yang akan dijalankan.
Penambahan statement block seperti ini juga berlaku pada struktur perintah yang lain seperti
struktur perulangan.
IF kondisi Then
Begin
Pernyataan_1;
Pernyataan_2;
Pernyataan_3;
End;
Contoh Program :
Penjelasan : Pada program ini terdapat 2 pernyataan yang akan dijalankan saat kondisi
terpenuhi, yaitu writeln('tidak lulus'); dan writeln('nilai anda kurang dari 75'); maka diperlukan
statement block untuk mengelompokkan 2 pernyataan tersebut.
IF .. THEN .. ELSE
Struktur IF..THEN dapat ditambahkan dengan perintah ELSE, fungsinya untuk dapat
menentukan perintah yang harus dijalankan saat kondisi tidak terpenuhi (bernilai salah).
Bentuk umum penulisan :
IF kondisi THEN
Pernyataan_1;
ELSE
Pernyataan_2
Jika kondisi terpenuhi (benar) maka yang akan dijalankan adalah pernyataan_1, sedangkan
jika kondisi tidak terpenuhi (salah) maka pernyataan_1 akan diabaikan dan program akan
menjalankan pernyataan_2.
Contoh Program :
program penyeleksian_if_3;
uses crt;
var umur:integer;
begin
clrscr;
write('Masukan Umur Anda : ');readln(umur);
if umur >= 18 then
writeln('Anda Telah Dewasa')
else
writeln('Anda Masih Dibawah Umur');
readln;
end.
Struktur case..of juga dapat digunakan untuk melakukan penyeleksian, namun hanya pada
sebuah kondisi yang memiliki nilai sama (equivalent).
CASE ungkapan OF
label_1 : pernyataan_1;
label_2 : pernyataan_2;
label_3 : pernyataan_3;
end;
Saat ungkapan tersebut memiliki nilai yang sama (equivalent) dengan label_1 maka yang
akan dijalankan adalah pernyataan_1, begitu juga saat ungkapan tersebut bernilai sama
dengan label_2 maka yang akan dijalankan adalah peryataan 2, begitu seterusnya.
Contoh program :
program penyeleksian_case_of;
uses crt;
var hewan:char;
begin
clrscr;
write(‘Masukan Huruf (A/B/C) : ‘); readln(hewan);
case hewan of
‘A’ : writeln (‘Ayam’);
Masukan Huruf (A/B/C) : B
‘B’ : writeln (‘Badak’); Badak
‘C’ : writeln (‘Cacing’);
end;
readln;
end.
Penjelasan : anggaplah ketika proses input anda memasukkan huruf ‘B’, maka ungkapan
(variabel hewan) akan bernilai sama dengan label ‘B’, sehingga yang akan ditampilkan adalah
‘Badak’.
Sama halnya dengan IF .. Then, perintah Case .. of juga dapat ditambahkan dengan perintah
ELSE untuk menjalankan suatu pernyataan saat tidak ada kondisi yang terpenuhi.
CASE ungkapan OF
label_1 : pernyataan_1;
label_2 : pernyataan_2;
label_3 : pernyataan_3;
ELSE
pernyataan_4;
end;
saat nilai pada ungkapan tidak sama dengan label_1 hingga label_3 maka yang akan
dijalankan adalah pernyataan_4
Contoh Program :
program penyeleksian_case_of_else;
Masukan Menu Pilihan: 5
uses crt;
Menu yang anda pilih tidak ada
var menu:integer;
begin
clrscr;
write(‘Masukan Menu Pilihan : ‘);readln(menu);
case menu of
1 : writeln (‘Nasi Uduk’);
2 : writeln (‘Telor Goreng’);
3 : writeln (‘Pentol Kuah’);
else
writeln (‘menu yang anda pilih tidak ada’);
end;
end.
Penjelasan : saat program dijalankan dan anggaplah pada proses input anda memasukkan
angka 3 maka yang ditampilkan adalah text “Pentol Kuah”, tetapi jika yang anda masukkan
adalah angka selain 1-3, maka yang akan ditampilkan adalah pernyataan yang ada pada
bagian else.
Struktur IF..Then dapat melakukan penyeleksian sesuai dengan kondisi yang anda buat,
sedangkan case of hanya dapat melakukan penyeleksian pada kondisi yang bernilai
equivalent terhadap label.
Terkadang dalam suatu kasus tertentu, membuat struktur penyeleksian akan menjadi lebih
ringkas menggunakan CASE OF dari pada IF THEN
Silahkan anda lihat perbandingan struktur penyeleksian pada contoh kasus dibawah ini :
Pada kasus diatas tentulah mengggunakan case of akan lebih efisien dbandingkan
menggunakan if..then.
Struktur perulangan digunakan untuk mengulang suatu perintah sebanyak beberapa kali
dalam kondisi tertentu. Perulangan akan sangat membantu saat menangani banyak proses
yang harus dikerjakan secara berulang.
Contoh saja ketika anda harus membuat ratusan proses input data, tentu akan menyulitkan
jika anda harus membuat ratusan perintah input secara manual. Maka
anda perlu menggunakan struktur perulangan agar dapat membuatnya secara otomatis.
Beberapa Perintah yang dapat menangani operasi perulangan dalam pemrograman pascal,
yaitu “FOR .. DO”, “WHILE .. DO”, dan “REPEAT .. UNTIL”.
Penjelasan : saat dijalankan, nilai yang ada pada counter (variabel nomor) akan terus
bertambah hingga mencapai angka 7 (nilai akhir). Sehingga perintah writeln akan terus
diulang sebanyak 7 kali.
WHILE .. DO
Sama dengan for, hanya saja dengan menggunakan perintah while do anda dapat
menyesuaikan kondisi serta menentukan nilai penambahan (increase) pada perulangan yang
anda buat
While kondisi Do
Pernyataan;
selama kondisi tersebut terpenuhi (benar) maka pernyataan akan terus dijalankan secara
berulang. perulangan pernyataan ini akan otomatis berhenti saat kondisi tidak lagi terpenuhi
(salah).
program perulangan_while;
uses crt; Angka = 1
var nomor:integer; Angka = 2
Angka = 3
begin Angka = 4
clrscr; Angka = 5
nomor := 1;
while nomor <= 5 do
begin
writeln (‘angka = ‘, nomor);
nomor := nomor + 1;
end;
readln;
end.
Penjelasan : kita tentukan terlebih dahulu nilai awal dari counter (variabel nomor=1). pada
program ini kondisinya adalah selama variabel nomor bernilai kurang dari 5 maka tulisan
“Angka = ” Akan terus di tampilkan secara berulang. Nilai pada variabel nomor akan terus
ditambahkan (increase) sebanyak 1 nilai, perulangan akan berhenti saat variabel nomor
bernilai lebih dari 5 (kondisi sudah tidak terpenuhi lagi).
Contoh Program :
program perulangan_while_2;
uses crt;
2010
var tahun:integer;
2015
begin 2020
2025
clrscr;
2030
tahun := 2010;
while tahun <= 2030 do
begin
writeln (tahun);
tahun := tahun + 5;
end;
readln;
end.
Nilai pada variabel tahun akan terus ditambahkan sebanyak 5 nilai, perulangan akan
dihentikan saat variabel tahun bernilai lebih dari 2030 (kondisi sudah tidak terpenuhi).
REPEAT .. UNTIL
Perulangan repeat until kebalikan dari perulangan while do. Jika dalam struktur while do
perulangan akan dihentikan saat kondisi sudah tidak terpenuhi, maka dalam struktur repeat
until perulangan akan berhenti ketika kondisi sudah terpenuhi.
Pernyataan akan terus dijalankan secara berulang hingga kondisi tersebut terpenuhi
(benilai benar).
Contoh program :
FOR .. DO NEGATIF
Jika menggunakan perintah for, maka untuk menghasilkan perulangan negatif menggunakan
struktur FOR .. DOWNTO .. DO
Contoh Program :
program perulangan_for_negatif;
5
uses crt; 4
var timer:integer; 3
2
1
begin Boooommm!!
clrscr;
for timer := 5 downto 1 do writeln (timer);
writeln (‘Booommm !!’);
readln;
end.
Penjelasan : program ini akan melakukan perulangan dimulai dari angka 5 dan terus
berkurang sebanyak 1 nilai hingga variabel timer bernilai 1. Setelah perulangan selesai
text “BOOOM!” akan ditampilkan.
WHILE .. DO NEGATIF
Membuat while do negatif yaitu dengan cara menyesuaikan kondisi serta pengurangan
nilai (decrease) pada counter hingga menghasilkan perulangan negatif.
Contoh Program :
program perulangan_while_negatif;
uses crt;
var waktu:integer;
begin
clrscr;
waktu := 3;
while waktu >= 1 do
begin
writeln (waktu); 3
2
waktu := waktu – 1; 1
end; Mulai !!
writeln (‘Mulai !!’);
readln;
end.
Penjelasan: program ini akan melakukan perulangan sebanyak 3 kali, variabel waktu dengan
nilai awal 3 akan terus berkurang sebanyak 1 angka. Perulangan akan berhenti saat variabel
waktu bernilai kurang dari atau sama dengan 1.
Perulangan bersarang (nested loop) adalah perulangan yang memiliki struktur perulangan
lagi didalamnya. Perulangan bersarang dapat penggunakan perintah for, while, ataupun
repeat. Berikut ini adalah contoh perulangan bersarang menggunakan perintah for.
Contoh Program :
program perulangan_for_bersarang;
uses crt;
var ulang_atas,ulang_bawah:integer;
begin
clrscr;
Penjelasan : Cara kerja dari perulangan bersarang yaitu, perulangan yang diluar baru akan
dijalankan setelah perulangan yang berada di dalamnya selesai.
Sehingga pada contoh program diatas Perulangan ulang_bawah akan terlebih dahulu
dijalankan untuk menampilkan “*” sebanyak 2 kali, setelah itu barulah perulangan ulang_atas
dijalankan untuk mengulang perulangan ulang_bawah sebanyak 3 kali hingga selesai.
Dengan begitu akan membentuk “*” sebanyak 2 kolom dan 3 baris.
3.8 Array
Array termasuk dalam tipe data terstruktur, array adalah jenis tipe data yang dapat
menampung lebih dari satu “element” dengan tipe data yang sama. Jika variabel biasa hanya
dapat menyimpan satu data didalamnya, maka dalam array dapat menyimpan lebih dari 1
data.
pada contoh diatas kita membuat sebuah array yang dapat menampung sebanyak 5 element
data dengan tipe data string. untuk memudahkan anda dalam memahaminya, maka array
dapat digambarkan dalam bentuk seperti ini :
Masing-masing kotak kosong itu nantinya dapat di isi dengan suatu nilai yang memiliki tipe
data string. Nomor diatasnya merupakan “index” yang merupakan nomor identitas dari setiap
element yang ada.
Dalam pemrograman pascal sebuah array dapat membentuk rentang index hingga 255,
artinya anda dapat membuat sebuah array yang dapat menampung maksimal 255 element
data.
Sama halnya seperti varibel, setiap element array dapat ditentukan nilainya. bentuk penulisan
sebagai berikut :
nama_array [nomor_index] := isi_element;
Contoh penulisan :
Buah[4] := ‘Anggur’;
Artinya kita memberikan nilai “Anggur” pada array Buah index nomor 4, perlu anda ingat
bahwa data yang diletakkan dalam element array harus sesuai dengan tipe data array
tersebut.
untuk mengakses nilai yang ada pada suatu array dapat ditulis dalam bentuk :
nama_array[nomor_index];
artinya kita akan menampilkan nilai yang ada pada array buah indeks nomor 4.
Contoh program :
program array_1;
uses crt;
var kota : array[1..5] of string;
writeln(kota[1]);
writeln(kota[2]);
writeln(kota[3]);
writeln(kota[4]);
writeln(kota[5]);
readln;
end.
Penjelasan : pertama kita deklarasikan sebuah array bernama kota yang memiliki 5 blok
element dengan tipe data string. Selanjutnya array kota pada element ke 1,2, dan 4 kita isi
dengan beberapa nama kota yang berbeda. Dan terakhir kita tampilkan data yang ada pada
array kota element 1 hingga 5.
Jika digambarkan array pada contoh program tersebut dapat berbentuk seperti ini :
kota : string
1 2 3 4 5
Banjarmasin Jakarta Bandung
Penjelasan : kita buat proses input agar user dapat menentukan jumlah data pesanan. Pada
baris selanjutnya kita buat perulangan untuk mengulang proses input sebanyak jumlah data
yang telah ditentukan user dan akan disimpan dalam array “menu”.
Terakhir kita buat satu buah perulangan lagi untuk menampilkan semua data yang telah
di masukkan oleh user pada array “menu”.
Array 2 Dimensi adalah array yang memilki struktur element berupa baris dan kolom. Pada
pembahasan array (1 dimensi) sebelumnya setiap elemen hanya memiliki 1 nomor indeks,
sedangkan pada array 2 dimensi setiap elemen dapat memiliki 2 nomor indeks yang
membentuk baris dan kolom.
artinya kita membuat sebuah array dengan nama “minuman” yang memiliki 2 baris dan
3 kolom element.
1 2 3
1
2
Untuk memberikan nilai pada pada element array 2 dimensi sama seperti sebelumnnya
hanya saja menggunakan 2 nomor index (baris dan kolom).
Contoh penulisan :
Maka array minuman pada element baris 1 kolom 2 akan berisi nilai “Teh Es” Dan pada
element baris 2 kolom 3 akan berisi nilai “Jus”.
1 2 3
1 Teh Es
2 Jus
Artinya kita akan menampikan nilai dari element array minuman pada element baris 2
kolom 3.
Karena dapat membentuk baris dan kolom, Array 2 dimensi ini biasanya digunakan
untuk membuat program matriks.
Contoh program :
program matriks_2_x_3;
uses crt;
var
i,j: integer;
matriks : array[1..2, 1..3] of string;
begin
clrscr;
Penjelasan : dari contoh program diatas, Array 2 dimensi dikombinasikan dengan struktur
Perulangan bersarang, sehingga dapat membentuk matriks dengan ordo 2x3. Nilai yang
diinputkan dalam setiap element aray akan ditampilkan menggunakan perulangan dengan
struktur yang sama ketika proses input, sehingga posisi matriks saat ditampilkan dapat
sesuai.
Tip : sebagai pengingat, dalam perulangan bersarang, proses pada perulangan yang
berada didalam akan lebih dahulu dijalankan hingga selesai, barulah setelah itu
perulangan diatasnya akan dijalankan.
Modular Programming adalah suatu metode yang digunakan untuk menyusun struktur
program. Dalam konsep modular programming, program utama akan dipecah kedalam
beberapa bagian (modul), setiap modul nantinya akan memiliki tugas atau fungsi masing-
masing.
Contoh sederhananya, sebuah program kalkulator yang dipecah kedalam beberapa modul,
yaitu modul A, B, C, dan D. Setiap modul tersebut nantinya akan menjalankan tugasnya
masing-masing. Misal, modul A dibuat khusus untuk menangani proses penjumlahan,
sedangkan proses pengurangan, perkalian, dan pembagian akan ditangani oleh modul yang
berbeda.
Dalam bahasa pascal ada 2 perintah yang digunakan untuk menerapkan konsep modular
programming yaitu Procedure dan Function.
Procedure
Procedure merupakan sub-program yang dibuat terpisah dari program utama. Nantinya,
procedure yang dibuat akan dapat dijalankan dibagian manapun dalam program utama.
Deklarasi Procedure
end;
Dalam penggunaannya, procedure dapat diikuti oleh satu atau lebih variabel yang akan
membawa suatu nilai kedalam procedure, atau disebut dengan Paramenter.
Agar dapat dijalankan, procedure harus terlebih dahulu dipanggil melalui program utama.
Procedure dapat dipanggil dengan menuliskan : nama_procedure;
Procedure akan dijalankan secara berurutan dimulai dari procedure yang lebih dulu dipanggil.
Tanpa adanya pemanggilan procedure maka Seluruh instruksi yang ada dalam procedure
tidak akan dijalankan.
program contoh_procedure;
uses crt;
var i : integer;
procedure berhitung;
begin
for i := 1 to 5 do writeln(i);
1
end;
2
3
4
begin
5
clrscr;
berhitung;
readln;
end.
Penjelasan : pada contoh diatas, kita membuat sebuah procedure dengan nama “berhitung”.
Procedure ini berisi sruktur perulangan didalamnya, sehingga saat procedure “berhitung”
dipanggil pada program utama, maka perulangan akan dijalankan.
Sedangkan jika anda tidak memanggil procedure tersebut kedalam program utama, maka
seluruh perintah yang ada pada procedure tadi tidak akan dijalankan.
program contoh_procedure_paramenter;
uses crt;
Penjelasan : pada contoh program diatas, kita membuat sebuah procedure say_hello;
yang mana procedure ini memiliki sebuah “paramenter nama” dengan tipe data string. Di
bagian program utama kita panggil procedure say_hello diikuti dengan “paramenter nama”
yang berbeda.
Tip : anda dapat memanggil Procedure yang sama berkali-kali sesuai kebutuhan,
sebagaimana contoh program diatas.
Contoh dibawah ini merupakan program menghitung nilai akhir yang dibuat menggunakan
modular programming sederhana mengunakan procedure.
Contoh Program :
program contoh_procedure;
uses crt;
var uas, uts, tugas, nilai_akhir : real;
procedure input_nilai;
begin
write('Masukan Nilai UAS : ');readln(uas);
write('Masukan Nilai UTS : ');readln(uts);
write('Masukan Nilai Tugas : ');readln(tugas);
writeln;
end;
Penjelasan : Pada contoh program diatas, kita membuat procedure input_nilai yang bertugas
untuk menangani proses input nilai dan procedure hitung_nilai_akhir yang bertugas untuk
menghitung nilai akhir dari nilai-nilai yang telah dimasukan pada procedure input. Pada
program utama kita panggil 2 buah procedure yang telah dibuat sebelumnya.
Function
Function juga merupakan sub-program, dan dalam penerapannya dapat diikuti oleh
paramenter. Perbedaannya dengan procedure adalah, Function harus dideklarasikan
bersamaan dengan tipe data dari nilai yang dihasilkan oleh function tersebut.
Deklarasi Function
Sama halnya dengan procedure, function harus terlebih dahulu dideklarasikan pada bagian
header program.
Menjalankan Function
Function dapat dijalankan dengan menuliskan : nama_function pada program utama.
Penjelasan : Setiap function pada contoh diatas, dideklarasikan dengan tipe data integer,
sesuai dengan nilai yang akan dihasilkannya. Masing-masing function akan menghasilkan
nilai dari proses perhitungan yang terdapat dalam function tersebut. Setiap function juga
memiliki 2 buah paramenter yang digunakan untuk mengirim nilai- nilai yang ingin diproses
oleh masing-masing function.
Pada materi pembahasan terakhir ini, kita akan mencoba menerapkan seluruh materi yang
telah dipelajari dari buku ini, dimulai dari Input & Output hingga Modular Programming
kedalam sebuah kasus sederhana, yaitu membuat program KASIR.
Source code dari program Kasir ini dapat anda download melalui link yang tersedia pada
halaman yang sama ketika anda mendownload buku ini.
Adapun beberapa fitur yang terdapat dalam program Kasir ini, yaitu :
● Input pembelian, MAX 100 barang. Petugas kasir dapat memasukan data barang (nama
barang, jumlah, dan harga satuan) yang dibeli sampai maksimal 100 barang.
● Menghitung Pembayaran & Kembalian Otomatis. Program dapat melakukan
perhitungan total biaya pembelian yang perlu dibayar beserta uang kembalian secara
otomatis.
● Menampilkan Struk pembelian. Petugas kasir dapat menampilkan struk pembelian
berdasarkan data-data barang yang dibeli oleh pelanggan.
Sebelum menuliskan kode program pascal, silahkan anda perhatikan dan pahami terlebih
dahulu Alur dari Program kasir yang akan dibuat, sehingga anda dapat membayangkan
bagaimana proses jalannya program kasir tersebut.
START
1
INPUT DATA
BARANG
YANG MELAKUKAN
PEMBAYARAN
INPUT DATA
BARANG
LAGI ? INGIN YA
YA CETAK
CETAK
STRUK ? STRUK
TIDAK
MENGHITUNG TIDAK
JUMLAH HARGA PER
BARANG
INGIN
KELUAR
MENGHITUNG TOTAL PROGRAM
TIDAK
HARGA YANG PERLU
DIBAYAR
YA
END
1
program kasir_sederhana;
uses crt;
var
jumlah_pembelian,i : integer;
cetak,keluar,input_lagi : char;
total_harga,kembalian,bayar : longint;
2. Membuat Procedure input data barang, Selanjutnya kita buat sebuah procedure dengan
nama “input_barang_dbeli” yang bertugas untuk menangani proses input data barang (Nama
Barang, Harga Satuan, dan Jumlah).
procedure input_barang_dibeli;
begin
write('Nama Barang : ');
readln(nama_barang[jumlah_pembelian]);
write('Harga Satuan : ');
readln(harga_satuan[jumlah_pembelian]);
write('Jumlah : ');
readln(jumlah_barang[jumlah_pembelian]);
writeln;
end;
nantinya procedure ini akan diletakkan didalam struktur perulangan, sehingga setiap data
yang di inputkan dapat disimpan dalam masing-masing array berdasarkan nomor index yang
disesuaikan dengan increase dari variable jumlah_pembelian.
procedure hitung_jumlah_harga;
begin
for i:=1 to jumlah_pembelian do
begin
jumlah_harga[i] := harga_satuan[i] * jumlah_barang[i];
end;
end;
procedure hitung_total;
begin
total_harga := 0;
for i:=1 to jumlah_pembelian do
begin
total_harga := total_harga + jumlah_harga[i];
end;
end;
5. Membuat Procedure Pembayaran, procedure ini untuk menampilkan total harga yang
perlu dibayar, serta memasukkan jumlah uang pembayaran kemudian menghitung
jumlah uang kembalian secara otomatis.
procedure pembayaran;
begin
clrscr;
writeln ('+ +');
writeln ('| APLIKASI KASIR SEDERHANA |');
writeln ('| PEMBAYARAN |');
6. Membuat Procedure Untuk Mencetak Struk, saat procedure ini dijalankan maka akan
menampilkan struk pembelian sesuai dengan data-data yang telah diproses pada
procedure-procedure sebelumnya.
procedure cetak_struk;
begin
clrscr;
writeln (' TOKO BUDI MAKMUR ');
writeln ('Jl. A. Yani KM 21 No. 10');
writeln (' ');
writeln(' ');
writeln('Total = ', total_harga);
writeln('Bayar = ',bayar);
writeln('Kembalian = ',kembalian);
writeln(' ');
writeln('BARANG YANG TELAH DIIBELI');
writeln('TIDAK DAPAT DIKEMBALIKAN');
writeln(' TERIMAKASIH ');
7. Menyusun Program Utama, Setelah kita selesai membuat procedure yang dibutuhkan
lengkap dengan tugasnya masing-masing. Langkah tertakhir adalah menyusun program
utama dengan menggabungkan semua procedure yang telah kita buat.
Procedure dipanggil secara berurutan sesuai dengan alur program, diimulai dari procedure
input_barang_dibeli, hitung_jumlah_harga, hitung_total, pembayaran, hingga cetak_struk.
begin
keluar := 'n';
repeat // perulangan seluruh sistem kasir selama, keluar = n
begin
clrscr;
jumlah_pembelian:=1;
input_lagi:='y';
hitung_jumlah_harga;
hitung_total;
pembayaran;
writeln;
writeln;
write ('Cetak struk pembelian ? (Y/n) : ');
cetak := ReadKey;
if ((cetak = 'y') OR (cetak = 'Y')) then cetak_struk;
end;
writeln;
write ('Keluar dari Aplikasi Kasir ? : '); keluar:=ReadKey;
until ((keluar = 'y') or (keluar='Y'));
end.
Seluruh perintah yang ada dalam Program utama akan terus diulang hingga variabel “keluar”
bernilai = y (repeat until keluar = ‘y’). Saat variabel keluar benilai = y maka program KASIR
akan dihentikan (end).
Sebagai info tambahan, jika kalian mengamati program utama diatas, ada beberapa proses
inputan yang menggunakan perintah “ReadKey”. Fungsinya sama seperti “readln” hanya saja
“ReadKey” dapat melakukan input sebuah karakter tanpa harus menekan tombol enter.
Jika anda berhasil menyusun kode program KASIR diatas dengan baik, saat dijalankan maka
akan menampilkan tampilan sebagai berikut :
Total = 83000
Bayar = 100000
Kembalian = 17000