Anda di halaman 1dari 55

DASAR PEMOGRAMAN Dengan Turbo Pascal

BAB 1
PENDAHULUAN

1.1. PENGENALAN PROGRAM

Pada awal perkembangan komputer, orang meng-asumsikan bahwa komputer adalah


mesin pintar dan ajaib yang dapat menyelesaikan masalah apa saja. Asumsi tersebut tidak
seluruhnya benar, karene komputer tidak begitu saja dapat menyelesaikan setiap
permasalahan yang “diberikan” padanya. Orang harus merumuskan langkah-langkah
penyelesaian masalah itu dalam suatu runtunan instruksi dan komputer akan melaksanakan
runtunan instruksi tersebut.

Kumpulan atau runtunan instruksi untuk penyelesaian suatu masalah tersebut, dinamakan
dengan PROGRAM.

Agar program yang kita berikan dapat dimengerti komputer maka kita harus memberikan
program tersebut dengan bahasa yang dimengerti oleh komputer. Bahasa komputer yang
digunakan untuk menulis program yang dapat dimengerti komputer, disebut dengan
BAHASA PEMROGRAMAN.

Dan proses penulisan program dengan menggunakan bahasa pemograman, itulah yang
disebut dengan PEMROGRAMAN.

Pada awal perkembangan komputer, orang membuat program dengan langsung menulis
program tersebut dengan sebuah bahasa pemograman. Tapi, dengan berkembangnya
teknik pemograman terstruktur, orang mulai memikirkan suatu teknik pemecahan
masalah yang akan diprogramkan dengan menekankan pada desain pemecahan masalah
tersebut.

Disain tersebut berisi urutan langkah-langkah logis pencapaian solusi dari permasalahan
yang ditulis dengan notasi yang mudah dimengerti dan tersusun secara sistimatis.
Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistimatis
tersebut, itulah yang disebut dengan ALGORITMA.

1.2. PENGENALAN PASCAL

Bahasa Pascal dikembangkan pada awal tahun 1970-an oleh ilmuwan komputer Eropa,
bernama Niklaus Wirth. Nama Pascal diambil dari nama ahli matematika Blaise Pascal yang
menemukan mesin hitung mekanik pertama. Sekarang Pascal digunakan baik untuk
keperluan ilmiah maupun aplikasi bisnis. Sampai saat ini, bahasa Pascal juga digunakan
pada sekolah dan universitas di Indoensia untuk belajar pemrograman dasar.

Pascal sebagai salah satu bahasa tingkat tinggi (high-level language) untuk dapat dapat
dikenali oleh computer harus diterjemahkan menjadi bahasa mesin. Untuk itu
dikembangkan sebuah program penerjemah yang disebut dengan kompilator (compiler).
Kompilator Pascal adalah sebuah software, bukan perangkat keras (hardware). Kompilator
adalah progam yang disimpan pada file dalam disk.

Pascal yang akan kita gunakan disini adalah Turbo Pascal versi 7, dimana Pascal ini masih
berbasis DOS. Jadi tidak perlu diinstal pada sistim operasi Windows. Untuk menjalankan
Pascal ini cukup dengan meng-eksekusi atau meng-klik file utamanya. Yaitu file TP.exe.

by |HANAFI, S.Kom., M.Kom #1


DASAR PEMOGRAMAN Dengan Turbo Pascal

Tampilan utama (Editor) Turbo Pascal versi 7 adalah seperti berikut ini :

Gambar 1.1. Editor Turbo Pascal versi 7

Dari gambar 1.1. diatas kita bisa lihat di Turbo Pascal versi 7 ini memiliki 10 buah menu
utama yang terdiri dari : File, Edit, Search, Run, Compile, Debug, Tools, Options,
Window dan Help. Untuk memilih salah satu dari menu itu kita bisa meng-klik dengan
mouse atau bisa juga dengan menekan tombol Alt + huruf pertama dari menu. Misalnya
untuk menu File, bias dengan menekan tombol Alt + F.

1.2.1. HOTKEY

Hotkey merupakan tombol-tombol pada keyboard yang bisa digunakan untuk


mempersingkat jalan dalam menggunakan fasilitas, baik menu, kursor dan blok pada Turbo
Pascal.

A. Hotkey Menu
Hotkey menu adalah tombol-tombol keyboard yang dapat digunakan untuk
mempersingkat jalan dalam memilih menu pada Turbo Pascal.
Tabel berikut ini merupakan daftar hotkey yang dapat digunakan pada Turbo Pascal,
selain dari penggunaan menu yang sudah disebutkan di atas, (bagian 1.1.) yaitu dengan
menggunakan tombol Alt + huruf awal menu.

HOTKEY FUNGSI EKIVALEN MENU


F1 Mengaktifkan jendela help Help
F2 Menyimpan file (program) yang sedang aktif pada File - Save
editor
F3 Memanggil atau membuka file (program) File - Open
F4 Mengeksekusi program sampai posisi kursor Run – Go to cursor
F5 Zoom Window – Zoom
F6 Berpindah ke jendela berikutnya (next window) Window – Next
F7 Melacak kedalam sub rutin Run – Trace into
F8 Melompati pemanggil sub rutin Run – Step over
F9 Make Run - Make
F10 Berpindah ke baris menu pada jendela yang
sedang aktif
Alt + F1 Memanggil jendela pertolongan yang terakhir Help – Previous topic
dibaca (dibaca sebelumnya)
Alt + F3 Menutup file yang sedang aktif Window - Close
Alt + F5 Memperlihatkan hasil running (jalannya) program Debug – User screen
Alt + F7 Go to previous Tools – Go to previous
Alt + F8 Go to next Tools – Go to next
Alt + F9 Mengkompilasi program Compile - Compile

by |HANAFI, S.Kom., M.Kom #2


DASAR PEMOGRAMAN Dengan Turbo Pascal

HOTKEY FUNGSI EKIVALEN MENU


Alt + 0 Menampilkan daftar file / window yang sudah Window - List
dibuka
Alt + Backspace Membatalkan perintah pengetikan terakhir (undo) Edit - Undo
Alt + X Keluar dari pascal File - Exit
Ctrl + F1 Mencari topic pertolongan (help) Help – Topic Search
Ctrl + F2 Menghentikan pembetulan Run – Program reset
Ctrl + F3 Menampilkan isi tumpukan (stack) Debug – Call stack
Ctrl + F4 Melakukan penghitungan atau mengubah nilai Debug - Evaluate
peubah
Ctrl + F5 Merubah ukuran jendela file yang sedang aktif, Window – Size/Move
atau memindah jendela yang sedang aktif
Ctrl + F7 Menambahkan ungkapan pada jendela watch Debug – Add watch
Ctrl + F9 Menjalankan (running) program Run - Run
Ctrl + Insert Menduplikasi (copy) Edit - Copy
Ctrl + Delete Menghapus blok Edit - Clear
Shift + F1 Indeks pertolongan (help) Help - Index
Shift + F2 Grep Tools - Grep
Shift + F6 Berpindah ke jendela sebelumnya (previous Window - Previous
window)
Shift + Insert Paste Edit - Paste
Shift + Delete Cut Edit - Cut

B. Hotkey Pergerakan Kursor


Kursor adalah penunjuk posisi pada editor Turbo Pascal yang berbentuk seperti
underscore yang berkedip-kedip ( _ ).
Berikut ini merupakan hotkey untuk pergerakan kursor :

HOTKEY FUNGSI
Ctrl + S atau panah kiri Bergerak ke kiri satu karakter
Ctrl + D atau panah kanan Bergerak ke kanan satu karakter
Ctrl + A atau Ctrl + Panah kiri Bergerak ke kiri satu kata
Ctrl + F atau Ctrl + Panah kanan Bergerak ke kanan satu kata
Ctrl + E atau panah naik Bergerak ke atas satu baris
Ctrl + X atau panah turun Bergerak ke bawah satu baris
Ctrl + W Memutar layar ke atas
Ctrl + Z Memutar layar ke bawah
Ctrl + R atau page up Ke halaman sebelumnya
Ctrl + C atau page down Ke halaman berikutnya

C. Hotkey Kendali Operasi Blok


Blok merupakan satu range yang sudah dipilih untuk dilakukan sesuatu operasi pada
range tersebut.
Berikut ini merupakan hotkey untuk kendali operasi blok :

HOTKEY FUNGSI
Ctrl + K + Y Menghapus blok
Ctrl + K + V Memindahkan blok ke tempat lain
Ctrl + K + C Membuat duplikat blok (copy)
Ctrl + K + W Menyimpan blok
Ctrl + K + H Menyembunyikan atau menampilkan blok
Ctrl + K + R Memanggil atau membuka blok

by |HANAFI, S.Kom., M.Kom #3


DASAR PEMOGRAMAN Dengan Turbo Pascal

1.2.2. RESERVED WORD

Reserved Word adalah kata-kata baku yang digunakan dalam program dan sudah
terintergrated dalam pascal dan juga mempunyai bentuk serta kegunaan tertentu yang telah
didefinisikan oleh Pascal.

Reserved Word tidak boleh didefinisikan kembali oleh pemakai, sehingga tidak dapat
digunakan sebagai pengenal (Identifier). Dalam bahasa pemrograman Pascal, beberapa
Reserved Word dalam Pascal anatra lain :

AND DOWNTO IN OF STRING


ASM ELSE INHERITED OR THEN
ARRAY END INLINE PACKED TO
BEGIN EXPORTS INTERFACE PROCEDURE TYPE
CASE FILE LABEL PROGRAM UNIT
CONST FOR LIBRARY RECORD UNTIL
CONSTRUCTOR FUNCTION MOD REPEAT USES
DESTRUCTOR GOTO NIL SET VAR
DIV IF NOT SHL WHILE
DO IMPLEMENTATION OBJECT SHR WITH

Selain dari Reserved Word di atas, Turbo Pascal masih memiliki tambahan Reserved Word
berikut:

ABSOLUTE ASSEMBLER () FAR FORWARD INDEX

1.2.3. IDENTIFIER

Identifier adalah nama yang diberikan oleh programmer. Identifier tidak hanya untuk
menamai program (judul program), tetapi juga untuk objek-objek Pascal yang lain, seperti
variable, konstanta dan lainnya.

Aturan penamaan identifier:


1. Karakter pertama identifier harus berupa huruf
2. Karakter selanjutnya dapat gabungan antara huruf dan angka
3. Tidak berupa reserved word atau kata kunci dalam Pascal
4. Tidak boleh dipisahkan dengan spasi, tidak boleh mengandung tanda ‘-‘ atau ‘&’

Contoh identifier yang tidak diperbolehkan:


6jumlah, 7alamat  dimulai dengan angka
i/6, j%, k$  mengandung selain huruf dan angka
tulis jumlah  menggunakan spasi
begin, do, while  merupakan reserved word

Identifier dalam Pascal tidak case sensitive, artinya huruf besar dan kecil tidak dibedakan.
Identifier ‘jumlah’, ‘JUMLAH’ dan ‘Jumlah’ dianggap sama.

1.2.4. KESALAHAN PADA PROGRAM

Ada dua jenis kesalahan yang mungkin terjadi pada program, yaitu:
1. Kesalahan sintaks/tatabahasa (syntax error)
2. Kesalahan logika (logical error)

Kesalahan sintaks menyebabkan program tidak dapat dikompilasi, sedangkan apabila


terdapat kesalahan logika dalam program, program dapat dikompilasi, tetapi jika dijalankan
akan menghasilkan keluaran yang salah.

by |HANAFI, S.Kom., M.Kom #4


DASAR PEMOGRAMAN Dengan Turbo Pascal

1.2.5. KOMENTAR

Komentar atau ketarangan atau remaks adalah bagian program yang tidak akan diproses
oleh program. Ini biasanya hanya digunakan untuk memberi keterangan atau penjelasan
tentang suatu perintah program atau lainnya. Jadi isi dari komentar ini akan diabaikan oleh
program.

Untuk membuat komentar pada pascal, ada dua cara, yaitu sebagai berikut :
1. Dengan menggunakan tanda kurung kurawa.
contoh :
{ komentar }

2. Dengan menggunakan tanda kurung biasa diikuti tanda bintang.


contoh :
(* komentar *)

1.2.6. TIPE DATA DAN OPERATOR

Tipe data dalam Pascal

Sederhana Ordinal Integer


Boolean
Char
Enumerasi
Subjangkauan

Tipe Real

Terstruktur Array
Record
Set
File

Pointer

1. INTEGER
Tipe integer terdiri dari bilangan bulat dalam rentang tertentu, sebagai berikut :

TIPE JANGKAUAN NILAI


byte 0 s/d 255
shortint -128 s/d 127
integer -32.768 s/d 32.767
word 0 s/d 65535
longint -2.147.483.648 s/d 2.147.483.647

by |HANAFI, S.Kom., M.Kom #5


DASAR PEMOGRAMAN Dengan Turbo Pascal

Operator Integer :

Operator Arti
+ Penjumlahan
- Pengurangan
* Perkalian
DIV Division, hasil pembagian bulat
MOD Modulo, sisa pembagian

2. BOOLEAN
Tipe Boolean hanya terdiri dari dua harga yaitu TRUE dan FALSE. Ekspresi TRUE
atau FALSE disebut ekspresi Boolean. Terdapat dua jenis operator yang dapat
digunakan dalam ekspresi Boolean, yaitu operator Boolean dan operator relasional.

Operator Boolean :
Operator Boolean terdiri dari AND, OR dan NOT.

Tabel Kebenaran Operator Boolean

P q p AND q p OR q NOT p
TRUE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE TRUE
FALSE FALSE FALSE FALSE TRUE

3. CHAR
Tipe data char hanya berisikan sebuah karakter, baik huruf, angka, tanda baca dan lainnya.

4. STRING
Tipe data string berisikan sekumpulan karakter, baik huruf, angka dan tanda baca lainnya,
dengan panjang maksimal adalah 255 karakter.

5. REAL
Tipe real terdiri dari bilangan pecahan dalam rentang tertentu, yaitu dari 1E-38 sampai
dengan 1E+38. E menunjukakn nilai 10 pangkat.

Operator Real :

Operator Arti
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian

6. Tingkatan Operator dalam Pascal


Tingkat Operator
1 * dan /
2 - dan +

by |HANAFI, S.Kom., M.Kom #6


DASAR PEMOGRAMAN Dengan Turbo Pascal

Tingkatan operator ini maksudnya adalah, jika kita menggunakan rumus matematika di
dalam program pascal, dan penggunaan rumus tersebut tidak dibatasi dengan tanda
kurung, maka program akan memproses operator dengan tingkat yang lebih tinggi terlebih
dahulu.

Contoh :

A=B+C*D

Pada contoh ini, program akan memproses C*D terlebih dahulu, baru hasil C*D akan
ditambah dengan B.
Namun, jika yang kita maksud sebenarnya adalah B+C, baru setelah itu dikali D, maka
kita harus batasi dengan kurung seperti berikut ini :

A = (B+C)*D

Artinya, jika kita menggunakan rumus matematika di dalam program, maka program
akan memproses terlebih dahulu rumus yang ada pada bagian kurung paling dalam.

Contoh :
A = (B + (C * (D - E))) + F

Dari contoh rumus di atas, maka program akan memproses dengan urutan sebagai
berikut :
1. (D–E), umpama X
2. C * X, umpama Y
3. B + Y, umpama Z
4. A = Z + F

Jika : B=10, C=2, D=15, E=5 dan F=20, maka :


1. X = D-E = 15-5 = 10
2. Y = C*X = 2*10 = 20
3. Z = B+Y = 10+20 = 30
4. A = Z+F = 30+20 = 50

1.2.7. STRUKTUR PROGRAM PASCAL

Bagian-bagian utama dari program Pascal terdiri dari tiga bagian yaitu:
1. Bagian Judul Program / Kepala Program
2. Bagian Deklarasi
3. Bagian Deskripsi / Badan Program

1. Judul Program / Kepala Program

Judul program adalah identifier untuk penamaan program. Judul program pada
Turbo Pascal sifatnya adalah opsional (pilihan) dan tidak signifikan di dalam
program. Jika ditulis dapat digunakan untuk memberi nama program dan daftar dari
parameter tentang komunikasi dengan lingkungan yang sifatnya sebagai
dokumentasi saja.

Judul program, bila ditulis harus terletak pada awal dari program dan diakhiri dengan
titik koma (;).

by |HANAFI, S.Kom., M.Kom #7


DASAR PEMOGRAMAN Dengan Turbo Pascal

Contoh :

Program Contoh;
Uses Crt;
Begin
Writeln(‘Hai, Saya Pascal’);
Writeln(‘----------------‘);
End.

Pada contoh di atas, yang menjadi judul program adalah Program Contoh. Jadi,
judul program sifatnya hanya sebagai dokumentasi saja, tidak signifikan terhadap
proses program.

2. Bagian Deklarasi

Bagian dekalarasi digunakan bila di dalam program menggunakan pengenal


(Identifier). Identifier, selain digunakan untuk judul program, juga dapat berupa label,
konstanta, tipe, variabel, prosedur dan fungsi. Kalau suatu program menggunakan
identifier, maka pascal menuntut dikenalkan terlebih dahulu sebelum digunakan,
yaitu dideklarasikan terlebih dahulu pada bagian deklarasi ini.

a. Deklarasi Konstanta

Konstanta adalah identifier yang berisi data yang tidak dapat diubah-ubah nilainya
didalam program. Defenisi konstanta diawali dengan kata cadangan (Reserved
Word) Const dan diikuti oleh kumpulan identifier yang diberi suatu nilai konstanta.

Contoh :
Program Contoh_Konstanta;
Uses Crt;

Const
Potongan = 0.2;
Gaji = 250000;
NamaPerusahaan = ‘ PT. Giat Belajar’;

Dari contoh di atas, Potongan, Gaji dan NamaPerusahaan merupakan nama


konstanta. Sedang 0.2 merupakan isi atau nilai untuk konstanta Potongan,
250000 merupakan isi atau nilai untuk konstanta Gaji dan PT. Giat Belajar
merupakan isi atau nilai untuk konstanta NamaPerusahaan.

Jadi, cara mendeklarasikan konstanta adalah, setelah kita gunakan kata


cadangan const, lalu diikuti dengan nama konstanta, disambung dengan tanda
“=” (sama dengan), dan selanjutnya isi atau nilai dari konstanta dan diakhiri
dengan tanda “;” (titik koma).

Untuk nama konstanta, harus mengikuti aturan seperti yang telah diuraikan pada
bagian Identifier.

Sedangkan untuk isi atau nilai konstanta mempunyai aturan sebagai berikut :
1. Untuk isi atau nilai konstanta berupa huruf diisi dengan menulis diantara dua
tanda kutip satu, seperti contoh di atas.

by |HANAFI, S.Kom., M.Kom #8


DASAR PEMOGRAMAN Dengan Turbo Pascal

2. Untuk isi atau nilai konstanta berupa angka yang bisa dilakukan proses
matematika berupa kali, bagi, kurang, tambah dan sebagainya, kita tulis
angka itu langsung, seperti contoh di atas.
Sedangkan untuk isi atau nilai konstanta berupa angka yang tidak akan
dilakukan proses matematika, sebaiknya kita tulis diantara tanda kutip satu.
Misalnya untuk nomor HP, sebaiknya kita tulis seperti berikut :
‘08127000284’. Isi atau nilai konstanta seperti ini, jika kita tulis bukan
diantara tanda kutip satu, maka yang nantinya tersimpan di memory
komputer adalah 8127000284. Jadi angka 0 (nol) didepan dihilangkan.

b. Deklarasi Variabel

Variabel adalah identifier yang berisi data yang dapat berubah-ubah nilainya didalam
program. Pada konstanta, nilainya tidak bisa kita rubah-rubah di dalam program,
tetapi dengan menggunakan variabel, nilainya dapat diubah-ubah di dalam program.

Hampir setiap program pascal yang panjang pasti menggunakan variabel. Setiap
variabel di dalam program pascal harus dideklarasikan sebelum digunakan.

Kata cadangan Var digunakan sebagai judul didalam bagian deklarasi variabel dan
diikuti oleh satu atau lebih identifier yang dipisahkan koma, dan diikuti dengan “:”
(titik dua) lalu tipe datanya, serta diakhiri dengan “;” (titik koma).
Contoh :

Program Contoh_Variabel;
Uses Crt;

Var
Gaji_Pokok : LongInt;
Tunjangan, Total_Gaji : Real;
NamaKaryawan : String;

Untuk nama variabel juga mengikuti aturan seperti pada Identifier. Sedangkan untuk
tipe datanya seperti yang sudah dijelaskan pada bagian 1.2.6. Tipe Data dan
Operator.

3. Bagian Deskripsi / Badan Program

Bagian deklarasi atau badan program atau program utama adalah bagian program
yang dimulai dengan Begin dan di akhiri dengan End. (End titik). Semua perintah
program kita tulis pada bagian Deskripsi ini.

1.2.8. PENULISAN PROGRAM PASCAL

Program Pascal tidak mengenal aturan penulisan di kolom tertentu, jadi boleh ditulis mulai
kolom ke berapapun.

Penulisan statemen-statemen pada program yang menjorok masuk beberapa kolom tidak
mempunyai pengaruh saat proses program, hanya dimaksudkan supaya mempermudah
pembacaan program (oleh programmer), sehingga akan lebih terlihat bagian-bagiannya,
serta tampak lebih rapi.

by |HANAFI, S.Kom., M.Kom #9


DASAR PEMOGRAMAN Dengan Turbo Pascal

Contoh (1) :
Begin
Writeln(‘Hai, Saya Pascal’);
Writeln(‘----------------‘);
End.

Dan juga penulisan program dalam Pascal bukan line-oriented, yaitu setiap perintah yang
berbeda harus ganti baris penulisan. Jadi, dalam Pascal perintah-perintah yang berbeda
boleh ditulis pada satu baris yang sama. Dengan catatan, satu perintah di dalam Pascal
diakhiri dengan tanda “;” (titik koma).

Contoh (2) :
Dari contoh (1) di atas, juga dapat ditulis seperti berikut ini :

Begin Writeln(‘Hai, Saya Pascal’); Writeln(‘----------------‘); End.

Akan tetapi penulisan seperti ini tidaklah dianjurkan dan sebisa mungkin dihindari, karena
tidak baik untuk dokumentasi program dan sulit untuk membacanya. Apalagi jikalau terjadi
kesalahan program (baik kesalahan sintaks, maupun kesalahan logika) akan sulit ditentukan
apa kesalahan tersebut.

Dan dapat dilihat, bahwasannya contoh(1) tentu akan lebih rapi dan lebih mudah dibaca
dibanding dengan contoh(2).

Soal-Soal Bab 1.

1. Jelaskan yang dimaksud dengan :


a. Program
b. Bahasa Pemograman
c. Pemograman

2. Sebutkan fungsi Hotkey berikut, beserta ekivalen menunya :


a. F2 c. F3 e. Alt + F9
b. Ctrl + F9 d. Alt X

3. Jelaskan tentang Reserved Word dan tuliskan sepuluh reserved word tersebut.

4. Penulisan identifier berikut adalah salah, jelaskan kenapa :


a. 123Angka c. Nama Siswa e. ?Lagi
b. Begin d. Discount%

5. Tuliskan lima contoh penulisan identifier yang benar.

6. Terdapat sebuah rumus matematika : A = B-(C*(D/(E+F))), jika rumus tersebut kita tulis
dalam program pascal, dan nilai variabel B sampai F berturut-turut adalah : B=100,
C=50, D=10, E=2, F=3, maka berapakan nilai A?

7. Sebutkan dan jelaskan bagian-bagian utama dalam program pascal.

8. Jika sebuah variabel, missal A, kita isi dengan bilangan bulat 1000000, maka tipe data
apa yang bisa kita gunakan untuk variabel A tersebut, jelaskan kenapa.

9. Jelaskan yang dimaksud dengan konstanta, serta buat contoh penulisan konstanta
tersebut.

10. Jelaskan yang dimaksud dengan variabel, serta buat contoh penulisan variabel tersebut.

by |HANAFI, S.Kom., M.Kom # 10


DASAR PEMOGRAMAN Dengan Turbo Pascal

BAB 2
MENGGUNAKAN PASCAL

2.1. MEMULAI MENGGUNAKAN PASCAL

Untuk memulai menggunakan Turbo Pascal versi 7 yang masih berbasis DOS, cukup
dengan membuka atau meng-eksekusi file utamanya, yaitu file TP.EXE. Maka akan
langsung terbuka editor Turbo Pascal versi 7 seperti gambar 1.1. pada Bab 1.

Selanjutnya kita sudah bisa menuliskan perintah-perintah program yang kita inginkan pada
editor tersebut.

2.2. KOMPILASI PROGRAM

Meng-kompilasi atau meng-compile adalah melakukan pengecekan kebenaran penulisan


program-program (syntax) yang telah kita buat pada editor pascal.

Proses ini bisa dilakukan melalui menu yang ada pada editor pascal, yaitu menu Compile,
dilanjutkan dengan pilihan Compile, seperti tampak berikut ini :

Gambar 2.1. Menu Kompilasi

Atau bisa juga dengan menggunakan Hotkey seperti yang telah dijelaskan pada Bab 1,
yaitu dengan menggunakan tombol Alt + F9.

Jika semua penulisan program (syntax) yang telah kita buat tersebut benar, maka akan
muncul pesan seperti berikut ini :

Gambar 2.2. Kompilasi Sukses

Untuk menghilangkan tampilan gambar 2.2. ini dapat menggunakan tombol Enter atau
tombol Escape.

by |HANAFI, S.Kom., M.Kom # 11


DASAR PEMOGRAMAN Dengan Turbo Pascal

Akan tetapi jika terdapat kesalahan penulisan program, maka akan dimunculkan pesan
kesalahan (biasanya dengan tulisan kuning latar belakang merah) pada bagian atas
sebelah kiri layar editor pascal dan kursor akan langsung berada dekat posisi kesalah yang
terjadi, seperti berikut ini :

Gambar 2.3. Pesan Kesalahan

2.3. MENJALANKAN (RUNNING) PROGRAM

Setelah perintah-perintah program kita ketik (buat) pada editor pascal, dan setelah
dilakukan proses kompilasi tidak ada kesalahan, maka selanjutnya program sudah bisa
dijalankan (di-Run).

Untuk menjalankan (run) program dari menu editor pascal dapat dilakukan dengan memilih
menu Run, dilanjutkan pilihan Run, seperti berikut ini :

Gambar 2.4. Run Program

Atau bisa juga dengan menggunakan Hotkey seperti yang telah dijelaskan pada Bab 1,
yaitu dengan menggunakan tombol Ctrl + F9.

2.4. PERINTAH WRITE DAN WRITELN

Perintah Write dan Writeln digunakan untuk menampilkan ke layar semua yang ada diantara
dua tanda kutip satu dalam kurung biasa. Dan juga untuk menampilkan ke layar isi atau nilai
dari suatu konstanta ataupun variable.

by |HANAFI, S.Kom., M.Kom # 12


DASAR PEMOGRAMAN Dengan Turbo Pascal

Perbedaannya :
write : kursor akan berada setelah karakter terakhir.
writeln : kursor akan berada pada kolom pertama baris berikutnya.

Contoh :
1. WRITE('HALO');

Setelah program dijalankan, maka hasilnya seperti berikut ini :


kursor
HALO_

2. WRITELN('HALO');

Setelah program dijalankan, maka hasilnya seperti berikut ini :

HALO
_ kursor

Jika di dalam program terdapat perintah writeln langsung tanda “;”, tanpa diikuti tanda
kurung (writeln;), maka ini hanya akan mengakibatkan kursor akan turun kebawah dari
posisi perintah terakhir. Sehingga perintah seperti ini bisa digunakan untuk membuat baris
kosong.

Contoh Program :

1. Menggunakan perintah Write

Program Contoh_penggunaan_write;
Uses Crt;
Begin
Clrscr;
Write(‘Halo, Selamat Datang’);
Write(‘Selamat Belajar Pascal’);
Write(‘Semoga Sukses’);
Readkey;
End.

Hasil program di atas setelah dijalankan adalah :

Halo, Selamat DatangSelamat Belajar PascalSemoga Sukses_ kursor

2. Menggunakan perintah Writeln

Program Contoh_penggunaan_writeln;
Uses Crt;
Begin
Clrscr;
Writeln(‘Halo, Selamat Datang’);
Writeln(‘Selamat Belajar Pascal’);
Writeln(‘Semoga Sukses’);
Readkey;
End.

by |HANAFI, S.Kom., M.Kom # 13


DASAR PEMOGRAMAN Dengan Turbo Pascal

Hasil program di atas setelah dijalankan adalah :

Halo, Selamat Datang


Selamat Belajar Pascal
Semoga Sukses kur
_ sor

Contoh Soal ( 2.1. ) :

Dengan menggunakan perintah write atau writeln, buatlah program untuk menampilkan
hasil seperti berikut ini :

DATA SISWA SMA N 1 BATAM


------------------------

Nomor Induk Siswa : 3204

Nama Siswa : Budi Saja

Jenis Kelamin : Laki – Laki

Tempat Lahir : Batam

Tgl. Lahir : 17 Juli 2005

Kelas : X

2.5. MENGGUNAKAN KONSTANTA

Seperti yang sudah dijelaskan pada Bab 1, bahwa untuk mendefenisikan konstanta pada
bagian deklarasi adalah dengan menggunakan kata cadangan Const, diikuti nama
konstanta, tanda sama dengan, isi atau nilai konstanta dan diakhiri tanda “;” (titik koma).

Untuk menampilkan isi atau nilai konstanta dapat digunakan perintah write atau writeln.

Bentuk umumnya adalah sebagai berikut :

Write(namakostanta); atau Writeln(namakonstanta);

Contoh :

Write(Bilangan); atau Writeln(Bilangan);

Contoh Program :

Uses Crt;
Const
Bilangan = 2;
NamaSiswa = ‘Budi Saja’;
Begin
Clrscr;
Writeln(Bilangan);
Writeln(NamaSiswa);
End.

by |HANAFI, S.Kom., M.Kom # 14


DASAR PEMOGRAMAN Dengan Turbo Pascal

Hasil program di atas setelah dijalankan adalah :

2
Budi Saja

Pada contoh program di atas, untuk memberi tampilan sebelum menampilkan isi konstanta
kita bisa menggunakan perintah write, seperti berikut ini :

Uses Crt;
Const
Bilangan = 2;
NamaSiswa = ‘Budi Saja’;
Begin
Clrscr;
Write(‘Bilangan anda : ‘);Writeln(Bilangan);
Write(‘Nama Siswa : ‘);Writeln(NamaSiswa);
End.

Hasil program di atas setelah dijalankan adalah :

Bilangan anda : 2
Nama Siswa : Budi Saja

Atau bisa dipersingkat sebagai berikut :

Uses Crt;
Const
Bilangan = 2;
NamaSiswa = ‘Budi Saja’;
Begin
Clrscr;
Write(‘Bilangan anda : ‘,Bilangan);
Write(‘Nama Siswa : ‘,NamaSiswa);
End.

Hasil program di atas setelah dijalankan adalah :

Bilangan anda : 2
Nama Siswa : Budi Saja

Dari Contoh Soal (2.1.) sub bab 2.4., menggunakan perintah write/writeln di atas, sekarang
kita gunakan konstanta untuk menyimpan nilai atau isi dari setiap baris data. Yaitu nilai atau
isi “3204” untuk Nomor Induk Siswa, nilai atau isi “Budi Saja” untuk Nama Siswa dan
seterusnya.

Maka disini, kita butuh enam konstanta, yaitu :


1. Untuk Nomor Induk Siswa, misal NIS
2. Untuk Nama Siswa, misal Nama_Siswa
3. Untuk Jenis Kelamin, misal Jenis_Kelamin
4. Untuk Tempat Lahir, misal T_Lahir
5. Untuk Tgl. Lahir, misal Tgl_Lahir
6. Untuk Kelas, misal Kelas

by |HANAFI, S.Kom., M.Kom # 15


DASAR PEMOGRAMAN Dengan Turbo Pascal

Programnya adalah seperti berikut ini :

Program Contoh_Konstanta;
Uses Crt;
Const
NIS = ‘3204’;
Nama_Siswa = ‘Budi Saja’;
Jenis_Kelamin = ‘Laki – Laki’;
T_Lahir = ‘Batam’;
Tgl_Lahir = ’17 Juli 2005’;
Kelas = ‘X’;
Begin
Clrscr;
Writeln(‘DATA SISWA SMA N 1 BATAM’);
Writeln(‘------------------------‘);
Writeln; { Membuat baris kosong }
Writeln(‘Nomor Induk Siswa : ‘,NIS);
Writeln;
Writeln(‘Nama Siswa : ‘,Nama_Siswa);
Writeln;
Writeln(‘Jenis Kelamin : ‘,Jenis_Kelamin);
Writeln;
Writeln(‘Tempat Lahir : ‘,T_Lahir);
Writeln;
Writeln(‘Tgl. Lahir : ‘,Tgl_Lahir);
Writeln;
Writeln(‘Kelas : ‘,Kelas);
Readkey;
End.

Contoh Soal ( 2.2. ) :

Dengan menggunakan konstanta, buatlah program untuk menampilkan hasil seperti berikut
ini :

DATA NILAI SISWA SMA N 1 BATAM


------------------------------

Nomor Induk Siswa : 3204

Nama Siswa : Budi Saja

Mata Pelajaran : Muatan Lokal

Nilai Kognitif : 80.50

Nilai Afektif : 75.00

Nilai Psikomotor : B

by |HANAFI, S.Kom., M.Kom # 16


DASAR PEMOGRAMAN Dengan Turbo Pascal

2.6. PERINTAH READ DAN READLN

Perintah Read dan Readln adalah perintah yang digunakan untuk meng-inputkan atau
memasukkan nilai atau isi kedalam variable.

Perbedaan perintah read dan readln sama halnya dengan perbedaan Write dan Writeln.

Bentuk umum perintah read dan readln ini adalah :

Read(var); atau Readln(var);

dimana var adalah variable.

Contoh :

1. Read(a); atau Readln(a);


2. Read(NIS); atau Readln(NIS);
3. Read(Nama_Siswa); atau Readln(Nama_Siswa);

Jika di dalam program kita menggunakan perintah read atau readln tanpa variabel, maka
berarti running atau jalannya program akan berhenti sementara sampai kita tekan tombol
enter.

Contoh Program :

Uses Crt;
Var
Bilangan : Integer;
Begin
Clrscr;
Readln(Bilangan);
End.

Hasil program di atas setelah dijalankan adalah :

Jadi, hanya tampak kursor berkedip-kedip pada bagian kiri atas layar.

Hal ini tentunya bisa membingungkan bagi pengguna (operator) program, karena tidak ada
penjelasan apa-apa sebelum tanda krusor tersebut. Padahal kita tahu program itu meminta
operator atau pengguna program untuk memasukkan sebuah angka yang akan disimpan
pada variable bilangan.

Agar ada petunjuk bagi pengguna atau operator program, kita bisa memberi tampilan
sebelumnya dengan menggunakan perintah write.

Contoh Program :

Uses Crt;
Var
Bilangan : Integer;
Begin
Clrscr;
Write(‘Input Sebuah Bilangan : ‘);Readln(Bilangan);
Readkey;
End.

by |HANAFI, S.Kom., M.Kom # 17


DASAR PEMOGRAMAN Dengan Turbo Pascal

Hasil program di atas setelah dijalankan adalah :

Input Sebuah Bilangan : _

2.7. MENGGUNAKAN VARIABEL

Pada sub bab 2.6. di atas sudah dijelaskan bagaimana cara meng-inputkan atau
memasukkan nilai ke dalam variabel.

Untuk menampilkan nilai atau isi dari variabel sama caranya dengan menampilkan isi atau
nilai dari konstanta, seperti yang sudah dijelaskan pada sub bab 2.5. di atas.

Contoh Program :

Uses Crt;
Var
Bilangan : Integer;
Begin
Clrscr;
Write(‘Input Sebuah Bilangan : ‘);Readln(Bilangan);
Writeln;
Writeln(‘Bilangan anda adalah : ‘,Bilangan);
Readkey;
End.

Hasil program di atas setelah dijalankan, misalkan diinput angka 5, adalah :

Input Sebuah Bilangan : 5

Bilangan anda adalah : 5

Cara lain untuk meng-inputkan atau memasukkan nilai ke dalam variabel adalah dengan
cara men-set-nya atau memberi nilai secara langsung variabel tersebut pada bagian badan
program.

Bentuk umumnya adalah seperti berikut ini :

NamaVariabel := IsiVariabel;

Contoh :

Bilangan := 5;

Atau, untuk men-set variabel yang merupakan rumus matematika, contoh rumus luas
segitiga, juga bisa kita lakukan pada bagian badan program, seperti berikut ini :

Luas := (Alas*Tinggi)/2;

Contoh Soal ( 2.3. ) :


Buat program untuk mencari hasil rumus : A = (B+C)*(D-E);

by |HANAFI, S.Kom., M.Kom # 18


DASAR PEMOGRAMAN Dengan Turbo Pascal

Jawaban :

Program rumus_ABCDE;
Uses Crt;
Var
A,B,C,D,E : Integer;
Begin
Clrscr;
A := 0;
Writeln(‘Program Rumus A = (B+C)*(D-E)’);
Writeln(‘-----------------------------‘);
Writeln;
Write(‘Input Nilai B : ‘);Readln(B);
Write(‘Input Nilai C : ‘);Readln(C);
Write(‘Input Nilai D : ‘);Readln(D);
Write(‘Input Nilai E : ‘);Readln(E);
A:=(B+C)*(D-E);
Writeln(‘Nilai A adalah : ‘,A);
Readkey;
End;

Contoh Soal ( 2.4. ) :


Buatlan program untuk mencari luas segitiga.

Jawaban :

Program luas_segitiga;
Uses Crt;
Var
Alas, Tinggi : Integer;
Luas : Real;
Begin
Clrscr;
Luas := 0;
Writeln(‘Program Mencari Luas Segitiga’);
Writeln(‘-----------------------------‘);
Writeln;
{ Input Alas dan Tinggi }
Write(‘Input nilai alas : ‘);Readln(Alas);
Write(‘Input nilai tinggi : ‘);Readln(Tinggi);
Writeln;
{ Cari Luas }
Luas := (Alas*Tinggi)/2;

{ Tampilkan Luas }
Writeln(‘Luas segitiga adalah : ‘,Luas);
Readkey;
End.

by |HANAFI, S.Kom., M.Kom # 19


DASAR PEMOGRAMAN Dengan Turbo Pascal

2.8. Catatan Tambahan

Beberapa perintah tambahan yang sudah digunakan pada contoh-contoh program bab 2 :

1. Clrscr : berfungsi untuk menghilangkan atau membersihkan tampilan layar


sebelumnya.

2. Readkey : berfungsi untuk meminta input berupa tekan tombol enter (running/jalannya
program akan berhenti sampai kita tekan tombol enter)

3. Pada pemograman, rumus : A := A + 1 bisa kita gunakan. Berbeda halnya pada


matematika biasa, dimana tentu rumus itu tidak bisa digunakan. Rumus tersebut
maksudnya adalah A sekarang adalah A sebelumnya ditambah satu.

Contoh dalam program :

Program Penjumlahan_Variabel;
Uses Crt;
Var
A : Integer;
Begin
Clrscr;
A := 5;
A := A + 1;
Writeln(A);
Readkey;
End.

Jika program di atas dijalankan, maka akan menampilkan angka 6 ke layar.

Soal – Soal Bab 2.

1. Buat program untuk mencari luas persegi panjang.


2. Buat program untuk mencari luas bujur sangkar.
3. Buat program untuk mencari dalil phytagoras.

by |HANAFI, S.Kom., M.Kom # 20


DASAR PEMOGRAMAN Dengan Turbo Pascal

BAB 3
PERULANGAN (LOOPING)

3.1. Defenisi Looping (Perulangan)

Looping atau perulangan adalah :


Mengulang perintah (statement/syntax) atau blok perintah berulang kali sesuai dengan
yang ditentukan dalam program atau yang ditentukan sendiri oleh pemakai (operator
program).

Bentuk perulangan ada tiga macam, yaitu :


1. Perulangan FOR - DO
2. Perulangan WHILE - DO
3. Perulangan REPEAT - UNTIL

3.2. Perulangan FOR - DO

Perulangan dengan perintah FOR-DO atau biasa disebut FOR saja digunakan untuk
mengulang perintah (statement/syntax) atau blok perintah berulang kali, sesuai dengan
nilai awal dan nilai akhir pada perintah FOR tersebut.

Perulangan dengan perintah For dapat berupa :


A. Perulangan For Positif
B. Perulangan For Negatif
C. Perulangan For Tersarang

A. Perulangan For Positif.

Perulangan For positif adalah perulangan FOR dengan nilai awal lebih kecil dari nilai
akhir. Variabel yang digunakan pada perulangan FOR positif nilainya akan otomatis
bertambah satu demi satu sampai dengan nilai akhir.

Bentuk umum :

FOR VAR := nilai awal TO nilai akhir DO


PERINTAH

Contoh :

For A := 1 To 10 Do
Writeln('Halo');

Hasil penggalan program ini jika dijalankan (di-run) adalah menampilkan ke layar
kata Halo sebanyak 10 baris, yaitu :

Halo
Halo
Halo
dst

by |HANAFI, S.Kom., M.Kom # 21


DASAR PEMOGRAMAN Dengan Turbo Pascal

Contoh dalam program :

Program FOR_Positif;
Uses Crt;
var
A : Integer;
Begin
Clrscr;
For A:= 1 To 10 Do
Writeln('Halo');
Readkey;
End.

Contoh Soal (3.1.)


Dengan menggunakan perulangan For, buatlah program untuk menampilkan angka
dari 1 sampai dengan 100 ke layar berurutan kesamping.

Jawaban :

Program FOR_Positif;
Uses Crt;
var
A : Integer;
Begin
Clrscr;
For A:= 1 To 100 Do
Write(A:4);
Readkey;
End.

Contoh Soal (3.2.)


Dengan menggunakan perulangan For, buatlah program untuk menghasilkan
tampilan ke layar seperti berikut ini :

Jumlah angka dari 1 s/d 100 adalah : 5050

Jawaban :

Program FOR_Positif;
Uses Crt;
var
A, Jml : Integer;
Begin
Clrscr;
Jml := 0;
For A:= 1 To 100 Do
Jml := Jml + A;
Writeln(‘Jumlah angka dari 1 s/d 100 adalah : ‘,Jml);
Readkey;
End.

Sesuai dengan defenisi perulangan yang telah dijelaskan di atas, bahwa nilai dari looping
dapat juga ditentukan oleh pemakai (operator program). Ini artinya nilai perulangan akan
terlebih dahulu diminta untuk diinputkan saat program dijalankan (di-run), sebelum
perulangan itu dilaksanakan.

by |HANAFI, S.Kom., M.Kom # 22


DASAR PEMOGRAMAN Dengan Turbo Pascal

Misalnya untuk contoh soal (3.2) di atas, operator diminta untuk memasukkan nilai akhir
looping saat program dijalankan, seperti tampak berikut ini :

Inputkan batas akhir looping : 100

Setelan operator memasukkan angka 100 dan menekan tombol enter, akan muncul hasil
seperti berikut :

Jumlah angka dari 1 s/d 100 adalah : 5050

Jika misalnya operator memasukkan nilai akhir looping 500 dan menekan tombol enter,
akan muncul hasil seperti berikut :

Jumlah angka dari 1 s/d 500 adalah : 125250

Maka programnya adalah sebagai berikut :

Program FOR_Positif;
Uses Crt;
var
A, B_Akhir, Jml : Integer;
Begin
Clrscr;
Jml := 0;
Writeln(‘Input batas akhir looping : ‘);Readln(B_Akhir);
Writeln;
For A:= 1 To B_Akhir Do
Jml := Jml + A;
Writeln(‘Jumlah angka dari 1 s/d ‘,B_Akhir,’ adalah : ‘,Jml);
Readkey;
End.

B. Perulangan For Negatif.

Perulangan For negatif adalah perulangan FOR dengan nilai awal lebih besar dari nilai
akhir. Variabel yang digunakan pada perulangan FOR negatif nilainya akan otomatis
berkurang satu demi satu sampai dengan nilai akhir.

Bentuk umum :

FOR VAR := nilai awal DOWNTO nilai akhir DO


PERINTAH

Contoh :

For A := 10 DownTo 1 Do
Writeln(A);

Hasil penggalan program ini jika dijalankan adalah menampilkan ke layar angka 10
sampai dengan angka 1 perbaris, yaitu :

10
9
8
dst

by |HANAFI, S.Kom., M.Kom # 23


DASAR PEMOGRAMAN Dengan Turbo Pascal

Contoh dalam program :

Program FOR_Negatif;
Uses Crt;
var
A : Integer;
Begin
Clrscr;
For A:= 10 DownTo 1 Do
Writeln(A);
Readkey;
End.

C. Perulangan For Tersarang

Perulangan For tersarang adalah perulangan For yang berada dalam perulangan For
lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu sampai habis,
kemudian perulangan yang lebih luar baru akan bertambah, mengerjakan perulangan yang
lebih dalam lagi mulai dari nilai awalnya dan seterusnya.

Bentuk umum :

FOR VAR := nilai awal TO nilai akhir DO


FOR VAR := nilai awal TO nilai akhir DO
PERINTAH

Contoh :

for baris:=1 to 3 do
begin
for kolom:=1 to 5 do
write('*');
writeln;
end;

Hasil dari contoh penggalan program di atas jika dijalankan adalah :

*****
*****
*****

Contoh dalam program :

Program bintang_dg_looping_for;
uses crt;
var
baris,kolom : integer;
Begin
clrscr;
Writeln('Program Menampilkan Bintang');
Writeln('--------------------------');
Writeln;
for baris:=1 to 3 do
begin
for kolom:=1 to 5 do
write('*');

by |HANAFI, S.Kom., M.Kom # 24


DASAR PEMOGRAMAN Dengan Turbo Pascal

writeln;
end;
readky;
End.

CATATAN :
Perintah FOR hanya akan mengulang satu perintah berikutnya. Jadi jika kita ingin
mengulang lebih dari satu perintah, maka kita gunakan BLOK PERINTAH.

Blok Perintah adalah dimulai dengan BEGIN dan diakhiri dengan END;
Dimana diantara Begin dengan End; tersebut bisa ada satu perintah atau lebih.

Contoh :

Kita ingin menampilkan ke layar kata-kata :


Halo
Selamat Datang

sebanyak lima kali.

Maka solusinya adalah :

For A := 1 to 5 Do
Begin
Writeln('Halo');
Writeln('Selamat Datang');
End;
Contoh dalam program :

Program FOR_Positif;
Uses Crt;
var
A : Integer;
Begin
Clrscr;
For A:= 1 To 5 Do
Begin
Writeln('Halo');
Writeln(‘Selamat Datang’);
End;
Readkey;
End.

Soal – Soal Looping FOR - DO:

Dengan menggunakan looping For – Do, buatlah program Pascal untuk menghasilkan
tampilan seperti berikut ini :

1. Halo
Halo
Halo
Halo
Halo
Apa Kabar

by |HANAFI, S.Kom., M.Kom # 25


DASAR PEMOGRAMAN Dengan Turbo Pascal

2. 123
456
789

3. Input batas looping : 5

*
**
***
****
*****

4. Input batas looping : 5

*
**
***
****
*****

5. Input batas looping : 5

*
* *
* * *
* * * *
* * * * *

6. Input batas looping : 5

*****
****
***
**
*

7. Input batas looping : 5

*****
****
***
**
*

8. Input batas looping : 5

* * * * *
* * * *
* * *
* *
*

by |HANAFI, S.Kom., M.Kom # 26


DASAR PEMOGRAMAN Dengan Turbo Pascal

3.3. Perulangan WHILE - DO

Perulangan While-Do digunakan untuk melakukan proses perulangan suatu statemen atau
blok stetemen terus menerus selama kondisi pada While masih bernilai logika benar
(kondisi terpenuhi).

Bentuk umum :

WHILE kondisi DO
PERINTAH

Contoh :

A := 1;
While A<=5 Do
Begin
Write(A);
A:=A+1;
End;

Hasil penggalan program ini jika dijalankan (di-run) adalah menampilkan ke layar :
12345

Contoh dalam program :

Program While_Do;
Uses Crt;
var
A : Integer;
Begin
Clrscr;
A:=1;
While A<=5 Do
Begin
Write(A);
A:=A+1;
End;
Readkey;
End.

Perbedaan Looping FOR – DO dengan Looping WHILE – DO :

1. Pada looping FOR nilai awal variabel yang kita gunakan untuk looping ditetapkan
pada perintah FOR tersebut. Sementara pada looping while, nilai awal variabel
looping ditetapkan sebelum While.

2. Pada looping FOR nilai variabel yang digunakan untuk looping akan bertambah 1
(satu) secara otomatis, sedangkan pada While nilai variabel yang kita gunakan untuk
looping harus kita tambahkan secara manual.

3. Pada looping FOR kita tidak perlu menggunakan blok (Begin...End;) jika kita
hanya mengulang (melooping) satu perintah saja. Sementara pada looping While
hampir dipastikan kita harus menggunakan blok karena yang akan kita ulang pasti
lebih dari satu perintah.

by |HANAFI, S.Kom., M.Kom # 27


DASAR PEMOGRAMAN Dengan Turbo Pascal

Perulangan WHILE – DO Tersarang

Perulangan While-Do tersarang adalah perulangan While-Do di dalam perulangan While-Do


lainnya.

Contoh dalam program :

Program While_Do;
Uses Crt;
var
A,B : Integer;
Begin
Clrscr;
A:=1;
While A<=5 Do
Begin
B:=1;
While B<=5 Do
Begin
Write(B);
B:=B+1;
End;
Writeln;
A:=A+1;
End;
Readkey;
End.

Hasil dari program ini jika dijalankan (di-run) adalah menampilkan ke layar :

12345
12345
12345
12345
12345

Pada looping While-Do, kita juga bisa menentukan nilai kondisi looping dari input yang
dilakukan oleh operator program. Program akan terus melakukan looping selama input yang
diberikan oleh operator program memenuhi kondisi pada While-Do.

Contoh :
Kita akan membuat program Pascal menggunakan looping While-Do dengan tampilan
seperti berikut ini :

Program Menampilkan Angka


-------------------------

1 2 3 4 5 6 7 8 9 10

Ulangi Lagi (Y/T) : Y (Y diinputkan oleh operator)

Pada contoh di atas, program akan terus mengulang menampilkan angka sampai dengan
input yang diberikan oleh operator pada Ulagi Lagi (Y/T) :, diinputkan selain dari
huruf “Y”. Artinya, selama input yang diberikan adalah huruf “Y” maka program akan terus
mengulang. Jika input yang diberikan bukan huruf “Y”, maka program akan berhenti.

by |HANAFI, S.Kom., M.Kom # 28


DASAR PEMOGRAMAN Dengan Turbo Pascal

Programnya sebagai berikut :

Program While_Do;
Uses Crt;
var
A : Integer;
Lagi : Char;
Begin
Lagi := ‘Y’;
While Lagi=’Y’ Do
Begin
Clrscr;
A:=1;
While A<=10 Do
Begin
Write(A:3);
A:=A+1;
End;
Writeln;
Write(‘Ulangi Lagi (Y/T) : ‘);Readln(Lagi);
End;
End.

Soal – Soal While – Do

1. Jumlah angka dari 1 – 100 adalah : 5050

2. Input batas looping : 50


Jumlah angka dari 1 – 50 adalah : 1275

3. Soal no. 3 sampai dengan soal no. 8, seperti soal FOR – DO, halaman 26.

9. Input batas looping : 100


Jumlah angka dari 1 – 100 adalah : 5050

Ulangi Lagi (Y/T) :

3.4. Perulangan REPEAT - UNTIL

Perulangan Repeat-Until digunakan untuk melakukan proses perulangan satu statemen


atau blok stetemen terus menerus selama kondisi pada Until bernilai logika benar (kondisi
terpenuhi).

Bentuk umum :

REPEAT
PERINTAH
UNTIL kondisi

by |HANAFI, S.Kom., M.Kom # 29


DASAR PEMOGRAMAN Dengan Turbo Pascal

Contoh :

A := 1;
Repeat
Write(A);
A:=A+1;
Until A>5;

Hasil penggalan program ini jika dijalankan (di-run) adalah menampilkan ke layar :

12345

Contoh dalam program :

Program Repeat_Until;
Uses Crt;
var
A : Integer;
Begin
Clrscr;
A:=1;
Repeat
Write(A);
A:=A+1;
Until A>5;
Readkey;
End.

Perulangan REPEAT - UNTIL Tersarang

Perulangan Repeat-Until tersarang adalah perulangan Repeat-Until di dalam perulangan


Repeat-Until lainnya.

Contoh dalam program :

Program Repeat_Until;
Uses Crt;
var
A,B : Integer;
Begin
Clrscr;
A:=1;
Repeat
B:=1;
Repeat
Write(B);
B:=B+1;
Until B>5;
Writeln;
A:=A+1;
Until A>5;
Readkey;
End.

by |HANAFI, S.Kom., M.Kom # 30


DASAR PEMOGRAMAN Dengan Turbo Pascal

Hasil dari program ini jika dijalankan (di-run) adalah menampilkan ke layar :

12345
12345
12345
12345
12345

Sama halnya dengan looping While-Do, pda looping Repeat-Until kita juga bisa menentukan
nilai kondisi looping dari input yang dilakukan oleh operator program. Program akan terus
melakukan looping selama input yang diberikan oleh operator program memenuhi kondisi
pada Until.

Contoh :
Sama dengn contoh pada looping While-Do, kita akan membuat program Pascal
menggunakan looping Repeat-Until dengan tampilan seperti berikut ini :

Program Menampilkan Angka


-------------------------

1 2 3 4 5 6 7 8 9 10

Ulangi Lagi (Y/T) : Y (Y diinputkan oleh operator)

Pada contoh di atas, program akan terus mengulang menampilkan angka sampai dengan
input yang diberikan oleh operator pada Ulagi Lagi (Y/T) :, diinputkan selain dari
huruf “Y”. Artinya, selama input yang diberikan adalah huruf “Y” maka program akan terus
mengulang. Jika input yang diberikan bukan huruf “Y”, maka program akan berhenti.

Programnya sebagai berikut :

Program Repeat_Until;
Uses Crt;
var
A : Integer;
Lagi : Char;
Begin
Repeat
Clrscr;
A:=1;
Repeat
Write(A:3);
A:=A+1;
Until A>10;
Writeln;
Write(‘Ulangi Lagi (Y/T) : ‘);Readln(Lagi);
Until Lagi IN[‘T’,’t’];
End.

Soal – Soal Repeat - Until

Dengan menggunakan looping Repeat-Until, buatlah program Pascal untuk menghasilkan


tampilan seperti pada Soal-Soal While-Do (soal 1 - 9, halaman 29).

by |HANAFI, S.Kom., M.Kom # 31


DASAR PEMOGRAMAN Dengan Turbo Pascal

Kisi – Kisi soal ujian semester ganjil

1. Yang termasuk sepuluh menu uatama pada editor Turbo Pascal versi 7 adalah, kecuali :
a. File c. Search e. Compile
b. Edit d. Save

2. Tombol-tombol pada keyboard yang bisa digunakan untuk mempersingkat jalan dalam
menggunakan fasilitas, baik menu, kursor dan blok pada Turbo Pascal disebut dengan :
a. Hot key c. Primary key e. Menu
b. Cold Key d. Secondary key

3. Untuk mengeksekusi program sampai denga posisi kursor dapat digunakan tombol :
a. F1 c. F3 e. F5
b. F2 d. F4

4. Langkah-langkah untuk meng-kompilasi program dari menu adalah :


a. File  Compile c. Run  Compile e. Compile  Compile
b. Edit  Compile d. Run  Run

5. Nama yang diberikan oleh programmer baik untuk judul program, konstanta, variabel dan
lainnya disebut dengan :
a. Identitas c. Deklarasi e. Syntax
b. Identifier d. Deskripsi

6. Pendeklarasian variabel yang benar adalah :


a. A : Integer; c. A = Integer; e. A := Integer;
b. A : Integer d. A = Integer

7. Berikut ini merupakan penulisan komenter yang benar, kecuali :


a. ( Cari Luas ) c. (* Cari Luas *) e. (*Cari_Luas*)
b. { Cari Luas } d. { Cari_Luas }

8. Yang tidak termasuk ke dalam Reserved Word adalah :


a. AND c. CONTOH e. END
b. BEGIN d. DIV

9. Perintah yang digunakan untuk menampilkan ke layar semua yang ada diantara dua tanda kutip
satu dalam kurung biasa, dan juga untuk menampilkan ke layar isi atau nilai dari suatu konstanta
ataupun variable adalah :
a. Uses c. Const e. Var
b. Read/Readln d. Write/Writeln

10. Mengulang perintah (statement/syntax) atau blok perintah berulang kali sesuai dengan yang
ditentukan dalam program atau yang ditentukan sendiri oleh pemakai (operator program),
merupakan defenisi dari :
a. Looping c. Konstanta e. Komentar
b. Identifier d. Variabel

11. Penggalan program berikut :


Write(‘Halo’);
Write(‘Apa Kabar’);
Jika dijalankan akan menghasilkan tampilan :
a. HaloApa Kabar d. Halo
b. Halo Apa Kabar Apa Kabar
c. HaloApaKabar e. Halo ApaKabar

by |HANAFI, S.Kom., M.Kom # 32


DASAR PEMOGRAMAN Dengan Turbo Pascal

12. Penggalan program berikut :


Const
Nama = ‘Budi’;
Begin
Write(Nama);
End.

Jika dijalankan akan menghasilkan tampilan :


a. Nama = ‘Budi’ c. Nama = Budi e. Budi
b. Nama d. Nama := ‘Budi’

13. Penggalan program berikut :


Var
... : Integer;
Begin
Bil := 123;
Write(Bil);
End.
Isi ... dari program di atas adalah :
a. Clrscr c. Const e. Angka
b. Bil d. Bilangan

14. Jika ... dari program soal di atas telah dilengkapi, dan penggalan program tersebut
dijalankan, maka akan menghasilkan tampilan :
a. 123 c. Bil 123 e. Angka
b. Bil d. Bilangan

Program berikut untuk soal no 15 – 17 :

Uses Crt;
Var
A : Integer;
Begin
Clrscr;
For A := 1 To 3 Do
Write(A);
Readkey;
End.

15. Program di atas merupakan penerapan jenis looping :


a. For Tersarang c. For Negatif e. While – Do
b. For Positif d. Repeat Until

16. Yang merupakan nilai awal dari looping pada program di atas adalah :
a. 1 c. 3 e. 123
b. A := 1 d. A

17. Jika program tersebut di atas dijalankan, akan menampilkan hasil :


a. AAA c. 123 e. AAA123
b. A123 d. A1A2A3

by |HANAFI, S.Kom., M.Kom # 33


DASAR PEMOGRAMAN Dengan Turbo Pascal

Penggalan program berikut untuk soal no 18 – 20 :

For A := 1 to 3 Do
Begin
For B := 1 To 5 Do
Write(‘*’);
Writeln;
End;

18. Program di atas merupakan penerapan jenis looping :


a. For Tersarang c. For Negatif e. While – Do
b. For Positif d. Repeat Until

19. Jika penggalan program tersebut dijalankan akan menghasilkan tampilan :


a. ***************

b. *****

c. *
*
*

d. *****
*****
*****

e. *
**
***

20. Jika perintah For B := 1 To 5 Do diganti menjadi For B := 1 To A Do maka jika


penggalan program tersebut dijalankan akan menghasilkan tampilan :
a. ***************

b. *****

c. *
*
*

d. *****
*****
*****

e. *
**
***

21. Perulangan suatu statemen atau blok stetemen terus menerus selama kondisi masih bernilai
logika benar (kondisi terpenuhi), adalah perulangan :
A. FOR - DO C. WHILE – DO E. REPEAT – UNTIL
B. IF D. CASE

by |HANAFI, S.Kom., M.Kom # 34


DASAR PEMOGRAMAN Dengan Turbo Pascal

22. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
WHILE A < 5 DO
BEGIN
WRITE(‘A’);
A := A + 1;
END;

A. 1234 C. AAAAA E. AAAA


B. 12345 D. Tidak ada hasil

23. Pada soal no. 28 di atas, berapakah nilai A terakhir (setelah looping) :
A. 2 C. 4 E. 6
B. 3 D. 5

24. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
WHILE A <= 3 DO
BEGIN
B := 1;
WHILE B <= 3 DO
BEGIN
WRITE(A);
B := B + 1;
END;
A := A + 1;
END;

A. 111222333 C. AAAAAAAAA E. 123123123


B. 123456789 D. Tidak ada hasil

25. Jika perintah A:=A+1; pada soal no. 24 di atas dihilangkan, maka hasil program tersebut
adalah :
A. A terus-menerus C. 1 terus-menerus E. 123123123
B. 123 terus-menerus D. Tidak ada hasil
26. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :
A := 1;
WHILE A <= 3 DO
BEGIN
B := 1;
WHILE B <= 3 DO
BEGIN
WRITE(B);
B := B + 1;
END;
A := A + 1;
END;

A. 111222333 C. AAAAAAAAA E. 123123123


B. 123456789 D. Tidak ada hasil

by |HANAFI, S.Kom., M.Kom # 35


DASAR PEMOGRAMAN Dengan Turbo Pascal

27. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
WHILE A < 3 DO
BEGIN
B := 1;
WHILE B < 3 DO
BEGIN
WRITE(A,B);
B := B + 1;
END;
WRITELN;
A := A + 1;
END;

A. 11122122 C. AAAAAAAA E. 121212


B. 1112 D. 123
2122 123

28. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
REPEAT
WRITE(‘A’);
A := A + 1;
UNTIL A > 5;

A. 1234 C. AAAAA E. AAAA


B. 12345 D. Tidak ada hasil

29. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
B := 5;
REPEAT
WRITE(B);
A := A + 1;
UNTIL A>5;

A. 11111 C. 55555 E. BBBBB


B. 12345 D. Tidak ada hasil

30. Penggalan program berikut jika dijalankan akan menghasilkan tampilan :


A := 1;
REPEAT
B := 1;
REPEAT
WRITE(‘*’);
UNTIL B=1;
WRITELN;
A := A + 1;
UNTIL A>3;

A. *** C. ** E. *
*** ** *
*** ** *
B. * D. ***
** **
*** *

by |HANAFI, S.Kom., M.Kom # 36


DASAR PEMOGRAMAN Dengan Turbo Pascal

BAB 4

PENSELEKSIAN KONDISI
( PEMILIHAN )

Hampir tiap program yang komplek mengandung suatu penseleksian kondisi atau
pemilihan. Dengan penseleksian kondisi, program dapat menentukan tindakan yang harus
dikerjakan, tergantung dari hasil kondisi yang diseleksi tersebut. Untuk menseleksi suatu
kondisi, didalam Pascal dapat dipergunanakan statamen IF dan statemen CASE.

4.1. STATEMEN IF

Statemen IF digunakan untuk memecahkan masalah dengan terlebih dahulu mengevaluasi


sebuah kondisi. Jika kondisi terpenuhi, maka sebuah perintah atau serangkaian perintah
(statemen/aksi) akan dilakukan. Jika kondisi tidak terpenuhi maka program akan melakukan
perintah berikutnya, setelah statemen IF tersebut.

Bentuk umum :

IF kondisi THEN
Aksi1
ELSE
Aksi2;

Bentuk umum di atas, bagian ELSE dapat dihilangkan, jika hanya terdapat satu kondisi
yang memerlukan perlakuan atau penanganan khusus, sehingga bentuk umum di atas
tersebut menjadi :

IF kondisi THEN
Aksi;

Contoh :

IF nilai>=68 THEN
Writeln(‘Tuntas’)
ELSE
Writeln(‘Tidak Tuntas’);

atau :
IF nilai>=68 THEN
Writeln(‘Tuntas’);

Contoh dalam program :

Program Pemilihan_IF;
Uses Crt;
Var
MatPel : String[50];
Nilai : Integer;
Begin
Clrscr;
Write(‘Mata Pelajaran : ‘);Readln(MatPel);
Write(‘Nilai Kognitif : ‘);Readln(Nilai);

by |HANAFI, S.Kom., M.Kom # 37


DASAR PEMOGRAMAN Dengan Turbo Pascal

(* --- Seleksi Nilai dg Menggunakan IF --- *)


If Nilai >= 68 Then
Write(‘Keterangan : Tuntas’)
Else
Write(‘Keterangan : Tidak Tuntas’);

Readkey;
End.

Hasil dari program ini jika dijalankan (di-run) adalah :

Mata Pelajaran : Mulok (diinputkan)


Nilai Kognitif : 70 (diinputkan)
Keterangan : Tuntas (hasil seleksi IF)

Dari contoh di atas, untuk nilai atau isi dari Keterangan, yaitu Tuntas atau Tidak Tuntas
dapat juga kita jadikan sebuah variabel, yaitu menjadi seperti berikut ini :

Program Pemilihan_IF;
Uses Crt;
Var
MatPel : String[50];
Nilai : Integer;
Ket : String[25];
Begin
Clrscr;
Write(‘Mata Pelajaran : ‘);Readln(MatPel);
Write(‘Nilai Kognitif : ‘);Readln(Nilai);

(* --- Seleksi Nilai dg Menggunakan IF --- *)


If Nilai >= 68 Then
Ket := 'Tuntas'
Else
Ket := 'Tidak Tuntas';

(* --- Tampilkan Hasil Seleksi/Pemilihan --- *)


Writeln('Keterangan : ',Ket);

Readkey;
End.

Hasil dari program ini jika dijalankan (di-run) adalah sama dengan hasil running contoh di
atas.

Pada penseleksian IF, jika pada satu kondisi terdapat lebih dari satu aksi yang harus
dilakukan, maka untuk itu kita gunakan blok (Begin...End;).
Misalnya dari contoh di atas, jika nilai >=68, maka Ket adalah ‘Tuntas’ dan misalnya tambah
satu aksi lagi, yaitu Ket1 dengan isi “Tidak Remedial”. Dan untuk Ket ‘Tidak Tuntas’, Ket1
kita isi dengan “Harus Remedial”.

by |HANAFI, S.Kom., M.Kom # 38


DASAR PEMOGRAMAN Dengan Turbo Pascal

Programnya sebagai berikut :

Program Pemilihan_IF;
Uses Crt;
Var
MatPel : String[50];
Nilai : Integer;
Ket : String[25];
Ket1 : String[25];
Begin
Clrscr;
Write(‘Mata Pelajaran : ‘);Readln(MatPel);
Write(‘Nilai Kognitif : ‘);Readln(Nilai);

(* --- Seleksi Nilai dg Menggunakan IF --- *)


If Nilai >= 68 Then
Begin
Ket := 'Tuntas';
Ket1 := 'Tidak Remedial';
End
Else
Begin
Ket := 'Tidak Tuntas';
Ket1 := 'Harus Remedial';
End;

(* --- Tampilkan Hasil Seleksi/Pemilihan --- *)


Writeln('Keterangan : ',Ket);
Writeln('Tindakan : ',Ket1);

Readkey;
End.

Contoh Soal :

1. Dengan menggunakan IF buatlah program Pascal untuk menentukan angka yang


diinputkan, apakah angka tersebut adalah Ganjil atau Genap, dengan tampilan seperti
berikut ini :

Inputkan Sembarang Angka : 6 (diinputkan)


Angka Tersebut adalah : Genap (hasil seleksi IF)

Jawab :

Program Pemilihan_IF;
Uses Crt;
Var
Angka : Integer;
Jenis : String[10];
Begin
Clrscr;
Write(‘Inputkan Sembarang Angka : ‘);Readln(Angka);

by |HANAFI, S.Kom., M.Kom # 39


DASAR PEMOGRAMAN Dengan Turbo Pascal

(* --- Seleksi Angka dg Menggunakan IF --- *)


If Angka Mod 2 = 0 Then
Jenis := 'Genap'
Else
Jenis := ‘Ganjil’;

(* --- Tampilkan Hasil Seleksi/Pemilihan --- *)


Writeln(‘Angka Tersebut adalah : ',Jenis);

Readkey;
End.

2. Dengan menggunakan IF buatlah program Pascal untuk menampilkan bilangan genap


dari 1 sampai 100.

Jawab :

Program Pemilihan_IF_dalam_FOR;
Uses Crt;
Var
A : Integer;
Begin
Clrscr;
(* --- Looping dari 1-100 --- *)
For A:=1 To 100 DO
(* --- Seleksi nilai A dengan IF --- *)
(* --- dimana jika A bernilai Genap --- *)
(* --- maka tampilkan nilai A --- *)
If Angka Mod 2 = 0 Then
Write(A:4);

Readkey;
End.

4.2. STATEMEN IF TERSARANG

Statemen IF Tersarang adalah statemen IF yang berada dalam statemen IF.

Bentuk umum :

IF kondisi1 THEN
Statemen1
ELSE
IF kondisi2 THEN
Statemen2
ELSE
Statemen3;

Untuk IF dengan tiga kondisi atau lebih, maka setelah ELSE yang terakhir dari bentuk
umum di atas, kita tambah lagi IF baru, seperti berikut ini :

by |HANAFI, S.Kom., M.Kom # 40


DASAR PEMOGRAMAN Dengan Turbo Pascal

IF kondisi1 THEN
Statemen1
ELSE
IF kondisi2 THEN
Statemen2
ELSE
IF kondisi3 THEN
Statemen3
ELSE
Statemen4;

Begitu seterusnya, jika kita akan menseleksi banyak kondisi.

Contoh :

IF angka>0 THEN
Writeln(‘Angka Lebih dari Nol’)
ELSE
IF angka<0 THEN
Writeln(‘Angka Kurang dari Nol’)
ELSE
Writeln(‘Angka Sama dengan Nol’);

Contoh dalam program :

Program Pemilihan_IF;
Uses Crt;
Var
Angka : Integer;
Begin
Clrscr;
Write(‘Inputkan Angka : ‘);Readln(Angka);

(* --- Seleksi Angka dg Menggunakan IF --- *)


IF angka>0 THEN
Writeln(‘Angka Lebih dari Nol’)
ELSE
IF angka<0 THEN
Writeln(‘Angka Kurang dari Nol’)
ELSE
Writeln(‘Angka Sama dengan Nol’);

Readkey;
End.

Hasil dari program ini jika dijalankan (di-run) adalah :

Inputkan Angka : 1 (diinputkan)


Angka Lebih dari Nol (hasil seleksi IF)

by |HANAFI, S.Kom., M.Kom # 41


DASAR PEMOGRAMAN Dengan Turbo Pascal

Contoh Soal :
1. Dengan menggunakan IF Tersarang, buatlah program Pascal untuk mencari nilai
huruf dari nilai angka yang diinputkan. Dengan ketentuan sebagai berikut :

Jika Nilai Angka Maka Nilai Huruf


0 – 44 E
45 – 54 D
55 – 69 C
70 – 84 B
85 – 100 A

Dan tampilan program adalah seperti berikut ini :

Inputkan nilai angka : 67 (diinputkan)

Nilai hurufnya adalah : C (hasil seleksi IF)

2. Dengan menggunakan IF Tersarang, buatlah program Pascal untuk mencari nilai


huruf dari nilai angka yang diinputkan. Dengan ketentuan sebagai berikut :

Jika Nilai Angka Maka Nilai Huruf Keterangan


0 – 44 E Sangat Kurang
45 – 54 D Kurang
55 – 69 C Cukup
70 – 84 B Baik
85 – 100 A Sangat Baik

Dan tampilan program adalah seperti berikut ini :

Inputkan nilai angka : 67 (diinputkan)


Nilai hurufnya adalah : C (hasil seleksi IF)
Keterangan : Cukup (hasil seleksi IF)

3. Dengan menggunakan IF Tersarang di dalam Looping, buatlah program untuk


mencari nilai discount dengan ketentuan sebagai berikut :

Jika Jumlah Belanja Maka Diskon


(dari Jumlah Belanja)
< 5000 0%
5000 – 9999 2%
10000 – 19999 5%
>= 20000 10 %

Dan tampilan program adalah seperti berikut ini :

Inputkan nama barang ke - 1 : Buk (diinputkan)


Inputkan harga barang ke - 1 : 3000 (diinputkan)
Inputkan nama barang ke - 2 : Pena (diinputkan)
Inputkan harga barang ke - 2 : 1000 (diinputkan)
Inputkan nama barang ke - 3 : Spidol (diinputkan)
Inputkan harga barang ke - 3 : 2000 (diinputkan)

Jumlah Belanja : 6000 (penjumlahan)


Diskon : 2% (hasil seleksi IF)
Nilai Diskon : 120 (proses)
Total Bayar : 5880 (proses)

by |HANAFI, S.Kom., M.Kom # 42


DASAR PEMOGRAMAN Dengan Turbo Pascal

4.3. CASE

CASE adalah merupakan bentuk lain penseleksian kondisi (pemilihan). Jadi IF dan CASE
mempunyai fungsi atau kegunaan yang sama, yaitu sama-sama utnuk penseleksian kondisi
atau pemilihan.

Tapi, CASE tidak bisa kita gunakan untuk semua masalah yang akan kita seleksi. CASE
hanya bisa digunakan untuk menseleksi variable yang jelas batasan nilainya.

Bentuk umum :

CASE variable OF
Kondisi : Aksi;
End;

Jika terdapat lebih dari satu kondisi, maka bentuknya adalah seperti berikut ini :

CASE variable OF
Kondisi1 : Aksi1;
Kondisi2 : Aksi2;
Kondisi3 : Aksi3;
End;

Dan, jika kita memakai ELSE, hanya bisa kita lakukan setelah Aksi terakhir, seperti berikut
ini :

CASE variable OF
Kondisi1 : Aksi1;
Kondisi2 : Aksi2;
Kondisi3 : Aksi3;
ELSE
Aksi4;
End;

Contoh :

CASE Angka OF
0 : Terbilang := ‘Nol’;
1 : Terbilang := ‘Satu’;
2 : Terbilang := ‘Dua’;
3 : Terbilang := ‘Tiga’;
4 : Terbilang := ‘Empat’;
5 : Terbilang := ‘Lima;
ELSE
Terbilang := ‘Angka belum didefenisikan’;
End;

Contoh dalam program :

Program Pemilihan_CASE;
Uses Crt;
Var
Angka : Integer;
Terbilang : String;
Begin
Clrscr;
Write(‘Inputkan Sebuah Angka : ‘);Readln(Angka);

by |HANAFI, S.Kom., M.Kom # 43


DASAR PEMOGRAMAN Dengan Turbo Pascal

(* --- Seleksi Angka dg Menggunakan CASE --- *)


CASE Angka OF
0 : Terbilang := ‘Nol’;
1 : Terbilang := ‘Satu’;
2 : Terbilang := ‘Dua’;
3 : Terbilang := ‘Tiga’;
4 : Terbilang := ‘Empat’;
5 : Terbilang := ‘Lima;
ELSE
Terbilang := ‘Angka belum didefenisikan’;
End;

(* --- Tampilkan Hasil Seleksi --- *)


Writeln(‘Terbilang : ‘,Terbilang);
Readkey;
End.

Hasil dari program ini jika dijalankan (di-run) adalah :

Inputkan Sebuah Angka : 5 (diinputkan)


Terbilang : Lima (hasil seleksi CASE)

Untuk menseleksi sebuah range nilai angka bulat, penggunaan CASE lebih sederhana dari
pada IF. Misalkan, jika variabel NA berisi 0 sampai dengan 44, maka variabel NH diisi
dengan huruf E, dapat kita tulis seperti berikut :

Case NA OF
0..44 : NH := ‘E’;

Contoh Soal :
1. Dengan menggunakan CASE, buatlah program Pascal untuk mencari nilai huruf dari
nilai angka yang diinputkan. Dengan ketentuan sebagai berikut :

Jika Nilai Angka Maka Nilai Huruf


0 – 44 E
45 – 54 D
55 – 69 C
70 – 84 B
85 – 100 A

Dan tampilan program adalah seperti berikut ini :

Inputkan nilai angka : 67 (diinputkan)


Nilai hurufnya adalah : C (hasil seleksi CASE)

Untuk satu kondisi pada CASE dengan lebih dari satu aksi, maka kita juga gunakan blok
(Begin...End;), seperti berikut ini :

CASE NA OF
0..44 : Begin
NH := ‘E’;
Ket := ‘Sangat Kurang’;
End;
End;

by |HANAFI, S.Kom., M.Kom # 44


DASAR PEMOGRAMAN Dengan Turbo Pascal

Contoh dalam program :

Program Pemilihan_CASE;
Uses Crt;
Var
NA : Integer;
NH : String[35];
Ket : String[25];
Begin
Clrscr;
Write(‘Inputkan Nilai Angka : ‘);Readln(NA);

(* --- Seleksi Angka dg Menggunakan CASE --- *)


CASE NA OF
0..44 : Begin
NH := ‘E’;
Ket := ‘Kurang Sekali’;
End;
45..54 : Begin
NH := ‘D’;
Ket := ‘Kurang’;
End;
55..69 : Begin
NH := ‘C’;
Ket := ‘Cukup’;
End;
70..84 : Begin
NH := ‘B’;
Ket := ‘Baik’;
End;
85..100 : Begin
NH := ‘A’;
Ket := ‘Sangat Baik’;
End;
ELSE
Begin
NH := ‘Nilai Angka Tidak Terdefenisi’;
Ket := ‘Ulang Lagi Input Nilai Angka !’);
End;
End;

(* --- Tampilkan Hasil Seleksi --- *)


Writeln(‘Nilai Huruf : ‘,NH);
Writeln(‘Keterangan : ‘,Ket);

Readkey;
End.

Hasil dari program ini jika dijalankan (di-run) adalah :

Inputkan Nilai Angka : 70 (diinputkan)


Nilai Huruf : B (hasil seleksi CASE)
Keterangan : Baik (hasil seleksi CASE)

by |HANAFI, S.Kom., M.Kom # 45


DASAR PEMOGRAMAN Dengan Turbo Pascal

Contoh Soal :

Dengan menggunakan CASE, buatlah program Pascal untuk menyelesaikan Contoh


Soal no. 2 pada soal IF di atas (halaman 42).

by |HANAFI, S.Kom., M.Kom # 46


DASAR PEMOGRAMAN Dengan Turbo Pascal

BAB 5
PROSEDUR DAN FUNGSI

5.1. KONSEP PEMROGRAMAN PROSEDURAL

Ketika program yang dibuat sudah terlalu panjang, ratusan bahkan puluhan ribu baris,
sehingga kita mengalami kesulitan untuk memahami jalannya program secara keseluruhan,
maka ada baiknya bila program tersebut dipecah menjadi beberapa bagian yang biasanya
disebut modul, subprogram atau subrutin.

Konsep semacam ini biasa disebut dengan pemrograman prosedural.

Memecah program menjadi modul-modul tentunya akan lebih memudahkan dalam mencari
kesalahan, memperbaiki serta membuat dokumentasinya. Pembuatan modul di Turbo
Pascal dibagi dua jenis yaitu : Prosedur dan Fungsi.

Prosedur atau Fungsi adalah suatu modul program yang terpisah dari program utama,
diletakan dalam blok tersendiri yang berfungsi sebagai bagian dari program. Setiap
prosedur diawali dengan kata cadangan (reserver word) Procedure, sedangkan Fungsi
diawali dengan kata cadangan Function.

Prosedur atau Fungsi banyak digunakan pada program terstruktur, karena :


1. Merupakan penerapan konsep modular, yaitu memecah program menjadi modul-
modul atau subprogram-subprogam yang lebih sederhana.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja
dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila
diperlukan.

5.2. PENULISAN PROSEDUR (PROCEDURE)

Prosedur memiliki struktur yang sama dengan struktur program, yaitu terdiri dari nama
prosedur, deklarasi-deklarasi dan bagian deskripsi (statement atau aksi di dalam prosedur).
Semua deklarasi di dalam prosedur bersifat lokal sehingga hanya bias digunakan oleh
prosedur itu saja, sedangkan deklarasi di dalam program utama bersifat global sehingga
dapat dikenali di seluruh bagian program. Struktur umum prosedur adalah sebagai berikut :

Procedure Nama_Prosedur (param1:tipe_param1,param2:tipe_param2,...);


var
{bagian deklarasi variabel prosedur, sifatnya lokal}
begin
statement-1;
statement-2;
. . .
Statement-n;
end;

Jika prosedur tidak memiliki parameter, maka tanda kurung setelah Nama_Prosedur di
atas, yaitu (param1:tipe_param1,param2:tipe_param2,...), tidak disertakan.

by |HANAFI, S.Kom., M.Kom # 47


DASAR PEMOGRAMAN Dengan Turbo Pascal

Struktur blok program utama beserta prosedur, adalah sebagai berikut :

Program Judul_Program;
Uses Crt;
Var
{bagian deklarasi variabel program utama, sifatnya global}

Procedure Nama_Prosedur (param_:tipe_param1,param_:tipe_param2,...);


Var
{bagian deklarasi variabel prosedur, sifatnya lokal}
begin
statement-1;
statement-2;
. . .
Statement-n;
end;

{*** Program Utama ***}


Begin
Nama_Prosedur;
End.

5.3. BAGAIMANA JIKA TANPA PROSEDUR ?

Apakah dalam suatu program harus selalu terdapat prosedur? Jawabannya adalah tidak.
Bila kita membuat program yang sangat sederhana, misalnya program untuk menampilkan
kata “Hallo Pascal” di layar, maka boleh saja tidak menggunakan prosedur.

Programnya seperti berikut :

Uses Crt;
Begin
Clrscr;
Writeln(‘Hallo Pascal’);
Readkey;
End.

Untuk lebih jelasnya berikut disajikan contoh program untuk menghitung luas dan keliling
persegi panjang tanpa prosedur.

Program PersegiPanjang; {Judul Program Utama}


uses crt;
var {deklarasi variabel global}
p,l : byte; {p :panjang, l:lebar}
ls,kel : integer; {ls:luas, kel:keliling}
begin
clrscr;
writeln('Program Menghitung Luas dan Keliling Persegipanjang');
writeln;
write('Masukan panjang : ');readln(p);
write('Masukan lebar : ');readln(l);
writeln;

ls:=p*l; {luas=panjang x lebar}

by |HANAFI, S.Kom., M.Kom # 48


DASAR PEMOGRAMAN Dengan Turbo Pascal

Kel:=(2*p)+(2*l); {keliling=(2 x panjang) + (2 x lebar)}

writeln('Luas : ',ls);
writeln('Keliling : ',kel);
readkey;
end.

Setelah dirunning (Ctrl + F9), kemudian cobalah untuk menginputkan data, misal : 4 untuk
panjang dan 6 untuk lebar maka hasilnya adalah, Luas = 24 dan Keliling = 20, maka
hasilnya akan tampak seperti berikut :

5.4. MENGGUNAKAN PROSEDUR

Jika kita menggunakan Prosedur, maka prosedur tersebut harus dituliskan sebelum badan
program atau bagian deskripsi atau program utama.

Selanjutnya kita modifikasi program Hallo Pascal di atas tadi, dengan menambahkan
prosedur sehingga menjadi seperti dibawah ini :

Uses Crt;
Procedure Tampil;
Begin Bagian Procedure
Writeln(‘Hallo Pascal’);
End;

Begin
Clrscr;
Tampil; badan program/program utama
Readkey;
End.

Dapat kita lihat, bahwa procedure Tampil dibuat sebelum program utama/badan program.
Dan pada program utama, kita hanya tinggal memanggil procedure Tampil, dengan hanya
mengetikkan nama procedure tersebut, yaitu Tampil;.

Berikutnya, pada program PersegiPanjang, untuk mencari Luas dan Keliling kita jadikan
masing-masing menjadi satu procedure, seperti berikut ini :

by |HANAFI, S.Kom., M.Kom # 49


DASAR PEMOGRAMAN Dengan Turbo Pascal

Pada program tanpa prosedur maka seluruh statement dituliskan di dalam blok program
utama, sehingga ketika program semakin besar maka blok program utama semakin padat.
Tetapi bila menggunakan prosedur maka di dalam blok program utama akan lebih sedikit,
karena hanya berisi nama prosedur yang dibutuhkan dan statement tambahan lainnnya
yang dibutuhkan.

Pada contoh program PersegiPanjang di atas nama prosedur yang dipanggil di dalam blok
program utama yaitu Hitung_Luas dan Hitung_Keliling dan arah pemanggilan prosedur
digambarkan dengan garis putus-putus agar lebih jelas.

Bila program sudah dieksekusi maka kedua program tersebut (program dengan prosedur
atau tanpa prosedur) akan memberikan hasil yang sama, tetapi dari teknik pembuatan
program, jelas berbeda.

Ketika kita membuat suatu program tanpa prosedur maka seluruh statement yang terdapat
di dalam program utama akan dieksekusi secara beruntun (sequential) dari atas ke bawah,
sedangkan bila menggunakan prosedur, maka program utama hanya akan mengeksekusi
prosedur-prosedur yang dipanggil, bila prosedur tersebut dipanggil di dalam program utama,
jadi bila untuk sementara kita tidak membutuhkannya, maka cara mudah yang dapat kita
lakukan yaitu tidak usah menghapusnya tetapi cukup dengan tidak memanggilnya di dalam
blok program utama.

Arah eksekusi program utama ketika terdapat prosedur, maka akan memanggil prosedur
dan melakasanakan statement yang terdapat di dalam prosedur, lalu kembali ke program
utama, dan seterusnya, seperti tampak pada gambar berikut :

by |HANAFI, S.Kom., M.Kom # 50


DASAR PEMOGRAMAN Dengan Turbo Pascal

5.5. VARIABEL GLOBAL DAN VARIABEL LOKAL

Untuk lebih memudahkan kita memahami variabel lokal dan variabel global, mari kita
modifikasi listing prorgram PersegiPanjang. Perubahannya hanya sedikit yaitu,
memindahkan penulisan variabel ls ke dalam Procedure Hitung_luas , dan variable kel
dipindahkan ke dalam Procedure Hitung_keliling, sehingga menjadi seperti gambar
dibawah ini :

Variabel p dan l pada listing program di Gambar 11 diatas, bersifat global sehingga dapat
dikenali baik di program utama maupun didalam Procedure Hitung_luas dan Procedure
Hitung_keliling, variabel semacam itulah yang dimaksud dengan variabel global.

by |HANAFI, S.Kom., M.Kom # 51


DASAR PEMOGRAMAN Dengan Turbo Pascal

Sedangkan variabel ls dan variabel kel bersifat lokal dan hanya dikenali oleh program itu
sendiri, variabel seperti itu disebut variabel lokal. Bila variabel lokal dipanggil diluar prosedur
tersebut maka tidak akan dikenali dan program menjadi error, sebagai bukti mari kita sedikit
modifikasi listing program pada gambar 11, output program yang terdapat pada masing-
masing program kita pindahkan ke dalam blok program utama, sehingga di dalam setiap
prosedur hanya terdapat satu statement saja, hasilnya seperti gambar dibawah ini :

Bila program tersebut dicompile maka akan terjadi error karena variabel ls dan kel tidak
dikenali (unknown identifier) di dalam blok program utama. Prosedur yang terdapat di dalam
program pada listing diatas adalah contoh prosedur tanpa parameter..

Bila prosedur tidak memiliki parameter maka tanda kurung setelah nama prosedur tidak
perlu disertakan. Agar listing program pada gambar 12 tidak terjadi error ketika dicompile,
maka dapat dilakukan cara sebagai berikut :

1. Dibuat bersifat global.


Supaya suatu variabel bersifat global, maka harus dideklarasikan di atas modul yang
menggunakannya.
2. Dikirim sebagai parameter ke modul yang membutuhkannya.

5.6. PARAMETER

Secara sederhana parameter merupakan variabel yang dituliskan di dalam kurung setelah
nama prosedur atau fungsi. Dalam pembuatan program biasanya diperlukan pertukaran
informasi antara prosedur atau fungsi, serta pada blok progam utama dimana nama
prosedur atau fungsi tersebut dipanggil.

Berdasarkan penulisannya terdapat 2 jenis parameter, yaitu : parameter formal (formal


parameter) dan parameter aktual (actual parameter).

Parameter formal adalah parameter yang disertakan/dituliskan pada saat pendefinisian


prosedur/fungsi itu sendiri.

Sedangkan parameter aktual adalah parameter yang disertakan pada saat pemanggilan
prosedur/fungsi tersebut di blok program utama.

by |HANAFI, S.Kom., M.Kom # 52


DASAR PEMOGRAMAN Dengan Turbo Pascal

Berdasarkan tujuannya terdapat 3 jenis parameter formal :

1. Parameter masukan (input parameter), yaitu : parameter yang nilainya berfungsi


sebagai masukan untuk prosedur/fungsi, jenis parameter ini kadang disebut juga
parameter nilai (value parameter atau parameter by value).

2. Parameter keluaran (output parameter), yaitu : parameter yang berfungsi untuk


menampung keluaran yang dihasilkan oleh prosedur.

3. Parameter masukan/keluaran (input/output parameter) adalah parameter yang


berfungsi sebagai “pintu” masuk dan keluar bagi prosedur tersebut. Parameter
keluaran (output parameter) dan parameter masukan/keluaran (input/output
parameter) kadang disebut parameter acuan (reference parameter atau paramater
by reference).

Contoh Program :

Program PersegiPanjang; {judul Program Utama}


uses crt;

var
pj,lbr:integer;

Procedure Hitung_Luas(p,l:integer); {Prosedur dengan parameter}


var
ls:integer; {variabel lokal}
begin
ls:=p*l;
writeln('Luas :',ls);
end;

Procedure Hitung_Keliling(p,l:integer); {Prosedur dengan parameter}


var
kel:integer; {variabel lokal}
begin
kel:=(2*p)+(2*l);
writeln('Keliling :',kel);
end;

{*** program utama ***}


begin
clrscr;
writeln('Program Menghitung Luas dan Keliling Persegipanjang');
writeln;
write('Masukan panjang : ');readln(pj);
write('Masukan lebar : ');readln(lbr);
writeln;

Hitung_Luas(pj,lbr); {Memanggil prosedur Hitung_Luas}

Hitung_Keliling(pj,lbr); {Memanggil prosedur Hitung_Keliling}


readkey;
end.

by |HANAFI, S.Kom., M.Kom # 53


DASAR PEMOGRAMAN Dengan Turbo Pascal

Parameter input adalah parameter yang nilainya berfungsi sebagai masukan untuk
prosedur. Nilai yang dimasukan adalah nilai dari parameter aktual.

Pada listing program PersegiPanjang di atas, parameter aktual/nyata (actual parameter)


adalah pj dan lbr, sedangkan p dan l adalah parameter formal (formal parameter). Nama
parameter actual dan parameter formal boleh berbeda, yang penting tipe datanya sama, p
dan l yang ditulis di dalam kurung setelah nama prosedur seperti listing program diatas
termasuk ke dalam parameter input.

Maksudnya bahwa p dan l berfungsi sebagai pintu masuk data bagi prosedur Hitung_Luas
dan Hitung_Keliling. Data yang masuk ke dalam parameter p berasal dari parameter
aktual pj, dan data yang masuk ke dalam parameter l berasal dari parameter aktual lbr. Bila
diketikan di editor Turbo Pascal kurang lebih hasilnya sebagai berikut :

by |HANAFI, S.Kom., M.Kom # 54


DASAR PEMOGRAMAN Dengan Turbo Pascal

DAFTAR PUSTAKA

Agung, blog pada WorldPress

Alwin Sanjaya, www.ilmukomputer.com

Jogiyanto HM, Pemograman Pascal, Andi Offset, Yogyakarta

by |HANAFI, S.Kom., M.Kom # 55

Anda mungkin juga menyukai