BAB 1
PENDAHULUAN
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.
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.
Tampilan utama (Editor) Turbo Pascal versi 7 adalah seperti berikut ini :
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
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
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
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
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 :
Selain dari Reserved Word di atas, Turbo Pascal masih memiliki tambahan Reserved Word
berikut:
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.
Identifier dalam Pascal tidak case sensitive, artinya huruf besar dan kecil tidak dibedakan.
Identifier ‘jumlah’, ‘JUMLAH’ dan ‘Jumlah’ dianggap sama.
Ada dua jenis kesalahan yang mungkin terjadi pada program, yaitu:
1. Kesalahan sintaks/tatabahasa (syntax error)
2. Kesalahan logika (logical error)
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 }
Tipe Real
Terstruktur Array
Record
Set
File
Pointer
1. INTEGER
Tipe integer terdiri dari bilangan bulat dalam rentang tertentu, sebagai berikut :
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.
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
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
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
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 (;).
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
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’;
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.
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.
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.
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.
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 :
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.
3. Jelaskan tentang Reserved Word dan tuliskan sepuluh reserved word tersebut.
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?
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.
BAB 2
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.
Proses ini bisa dilakukan melalui menu yang ada pada editor pascal, yaitu menu Compile,
dilanjutkan dengan pilihan Compile, seperti tampak berikut ini :
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 :
Untuk menghilangkan tampilan gambar 2.2. ini dapat menggunakan tombol Enter atau
tombol Escape.
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 :
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 :
Atau bisa juga dengan menggunakan Hotkey seperti yang telah dijelaskan pada Bab 1,
yaitu dengan menggunakan tombol Ctrl + F9.
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.
Perbedaannya :
write : kursor akan berada setelah karakter terakhir.
writeln : kursor akan berada pada kolom pertama baris berikutnya.
Contoh :
1. WRITE('HALO');
2. WRITELN('HALO');
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 :
Program Contoh_penggunaan_write;
Uses Crt;
Begin
Clrscr;
Write(‘Halo, Selamat Datang’);
Write(‘Selamat Belajar Pascal’);
Write(‘Semoga Sukses’);
Readkey;
End.
Program Contoh_penggunaan_writeln;
Uses Crt;
Begin
Clrscr;
Writeln(‘Halo, Selamat Datang’);
Writeln(‘Selamat Belajar Pascal’);
Writeln(‘Semoga Sukses’);
Readkey;
End.
Dengan menggunakan perintah write atau writeln, buatlah program untuk menampilkan
hasil seperti berikut ini :
Kelas : X
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.
Contoh :
Contoh Program :
Uses Crt;
Const
Bilangan = 2;
NamaSiswa = ‘Budi Saja’;
Begin
Clrscr;
Writeln(Bilangan);
Writeln(NamaSiswa);
End.
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.
Bilangan anda : 2
Nama Siswa : Budi Saja
Uses Crt;
Const
Bilangan = 2;
NamaSiswa = ‘Budi Saja’;
Begin
Clrscr;
Write(‘Bilangan anda : ‘,Bilangan);
Write(‘Nama Siswa : ‘,NamaSiswa);
End.
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.
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.
Dengan menggunakan konstanta, buatlah program untuk menampilkan hasil seperti berikut
ini :
Nilai Psikomotor : B
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.
Contoh :
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.
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.
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.
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.
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;
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;
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.
Beberapa perintah tambahan yang sudah digunakan pada contoh-contoh program bab 2 :
2. Readkey : berfungsi untuk meminta input berupa tekan tombol enter (running/jalannya
program akan berhenti sampai kita tekan tombol enter)
Program Penjumlahan_Variabel;
Uses Crt;
Var
A : Integer;
Begin
Clrscr;
A := 5;
A := A + 1;
Writeln(A);
Readkey;
End.
BAB 3
PERULANGAN (LOOPING)
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 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 :
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
Program FOR_Positif;
Uses Crt;
var
A : Integer;
Begin
Clrscr;
For A:= 1 To 10 Do
Writeln('Halo');
Readkey;
End.
Jawaban :
Program FOR_Positif;
Uses Crt;
var
A : Integer;
Begin
Clrscr;
For A:= 1 To 100 Do
Write(A:4);
Readkey;
End.
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.
Misalnya untuk contoh soal (3.2) di atas, operator diminta untuk memasukkan nilai akhir
looping saat program dijalankan, seperti tampak berikut ini :
Setelan operator memasukkan angka 100 dan menekan tombol enter, akan muncul hasil
seperti berikut :
Jika misalnya operator memasukkan nilai akhir looping 500 dan menekan tombol enter,
akan muncul hasil seperti 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.
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 :
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
Program FOR_Negatif;
Uses Crt;
var
A : Integer;
Begin
Clrscr;
For A:= 10 DownTo 1 Do
Writeln(A);
Readkey;
End.
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 :
Contoh :
for baris:=1 to 3 do
begin
for kolom:=1 to 5 do
write('*');
writeln;
end;
*****
*****
*****
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('*');
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 :
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.
Dengan menggunakan looping For – Do, buatlah program Pascal untuk menghasilkan
tampilan seperti berikut ini :
1. Halo
Halo
Halo
Halo
Halo
Apa Kabar
2. 123
456
789
*
**
***
****
*****
*
**
***
****
*****
*
* *
* * *
* * * *
* * * * *
*****
****
***
**
*
*****
****
***
**
*
* * * * *
* * * *
* * *
* *
*
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
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.
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.
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 :
1 2 3 4 5 6 7 8 9 10
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.
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.
3. Soal no. 3 sampai dengan soal no. 8, seperti soal FOR – DO, halaman 26.
Bentuk umum :
REPEAT
PERINTAH
UNTIL kondisi
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
Program Repeat_Until;
Uses Crt;
var
A : Integer;
Begin
Clrscr;
A:=1;
Repeat
Write(A);
A:=A+1;
Until A>5;
Readkey;
End.
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.
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 :
1 2 3 4 5 6 7 8 9 10
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.
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.
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
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
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
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
Uses Crt;
Var
A : Integer;
Begin
Clrscr;
For A := 1 To 3 Do
Write(A);
Readkey;
End.
16. Yang merupakan nilai awal dari looping pada program di atas adalah :
a. 1 c. 3 e. 123
b. A := 1 d. A
For A := 1 to 3 Do
Begin
For B := 1 To 5 Do
Write(‘*’);
Writeln;
End;
b. *****
c. *
*
*
d. *****
*****
*****
e. *
**
***
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
23. Pada soal no. 28 di atas, berapakah nilai A terakhir (setelah looping) :
A. 2 C. 4 E. 6
B. 3 D. 5
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. *** C. ** E. *
*** ** *
*** ** *
B. * D. ***
** **
*** *
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
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’);
Program Pemilihan_IF;
Uses Crt;
Var
MatPel : String[50];
Nilai : Integer;
Begin
Clrscr;
Write(‘Mata Pelajaran : ‘);Readln(MatPel);
Write(‘Nilai Kognitif : ‘);Readln(Nilai);
Readkey;
End.
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);
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”.
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);
Readkey;
End.
Contoh Soal :
Jawab :
Program Pemilihan_IF;
Uses Crt;
Var
Angka : Integer;
Jenis : String[10];
Begin
Clrscr;
Write(‘Inputkan Sembarang Angka : ‘);Readln(Angka);
Readkey;
End.
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.
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 :
IF kondisi1 THEN
Statemen1
ELSE
IF kondisi2 THEN
Statemen2
ELSE
IF kondisi3 THEN
Statemen3
ELSE
Statemen4;
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’);
Program Pemilihan_IF;
Uses Crt;
Var
Angka : Integer;
Begin
Clrscr;
Write(‘Inputkan Angka : ‘);Readln(Angka);
Readkey;
End.
Contoh Soal :
1. Dengan menggunakan IF Tersarang, buatlah program Pascal untuk mencari nilai
huruf dari nilai angka yang diinputkan. Dengan ketentuan sebagai berikut :
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;
Program Pemilihan_CASE;
Uses Crt;
Var
Angka : Integer;
Terbilang : String;
Begin
Clrscr;
Write(‘Inputkan Sebuah Angka : ‘);Readln(Angka);
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 :
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;
Program Pemilihan_CASE;
Uses Crt;
Var
NA : Integer;
NH : String[35];
Ket : String[25];
Begin
Clrscr;
Write(‘Inputkan Nilai Angka : ‘);Readln(NA);
Readkey;
End.
Contoh Soal :
BAB 5
PROSEDUR DAN FUNGSI
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.
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 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 :
Jika prosedur tidak memiliki parameter, maka tanda kurung setelah Nama_Prosedur di
atas, yaitu (param1:tipe_param1,param2:tipe_param2,...), tidak disertakan.
Program Judul_Program;
Uses Crt;
Var
{bagian deklarasi variabel program utama, sifatnya global}
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.
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.
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 :
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 :
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 :
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.
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 :
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.
Sedangkan parameter aktual adalah parameter yang disertakan pada saat pemanggilan
prosedur/fungsi tersebut di blok program utama.
Contoh Program :
var
pj,lbr:integer;
Parameter input adalah parameter yang nilainya berfungsi sebagai masukan untuk
prosedur. Nilai yang dimasukan adalah nilai dari parameter aktual.
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 :
DAFTAR PUSTAKA