Perulangan PASCAL


Percabangan

Percabangan adalah perintah paling tradisional, fondasional dan primitif dalam pemrograman komputer, karena pada dasarnya, komputer hanyalah seperangkat alat elektronik yang cara kerjanya hanya menyeleksi output arus listrik yang akan dihasilkan berdasarkan tegangan / arus yang masuk. Dapat dikatakan bahwa percabangan adalah induk dari seluruh pemrograman komputer.

Dalam pembuatan aplikasi, kelompok perintah yang diinginkan, dapat diseleksi sesuai dengan kondisi yang terjadi dalam program tersebut, baik berupa perubahan nilai variabel maupun hasil output variabel atau fungsi. Pascal hanya mengenal 2 bentuk percabangan yaitu if – else dan case of – else. Keduanya hanya memiliki perbedaan dalam pendeklarasian dan pengklasifikasian kondisi.

Percabangan if – else adalah jenis percbangan yang sering digunakan karena bentuknya sederhana dan fleksibel karena kita bisa memeriksa lebih dari satu variabel dalam pendeklarasian kondisi. Akan tetapi jumlah pilihan yang ditentukan secara default hanya ada dua berdasarkan kebenaran nilai yang diuji.

Berikut adalah bentuk umum percabangan if – else :

 

if kondisi nilai then statemen bila kondisi benar ;

 

atau bisa berbentuk seperti ini

 

if kondisi nilai then

statement bila kondisi benar

else

statement bila kondisi salah ;

 

atau dapat pula berbentuk seperti ini

 

if kondisi nilai then

begin

blok statement bila kondisi benar ;

end

else

begin

blok statement bila kondisi salah ;

end;

 

Operator relasional (untuk mensyaraktan nilai variabel) dalam percabangan if – else yang digunakan dapat dijelaskan dalam tabel sebagai berikut.

Operator Keterangan
= Sama dengan
<> Tidak sama dengan
> Lebih dari
< Kurang dari
>= Tidak kurang dari
<= Tidak lebih dari
in [x..y] Berada dalam kelompok nilai tersebut

 

Dalam percabangan Pascal, kita dapat menggunakan operator logika dalam pengujian nilai. Berikut adalah tabel operator logika yang dapat digunakan dalam Pascal.

Operator Keterangan
Not Negasi nilai kebenaran
And Logika “Dan” (bernilai “Benar” jika kedua nilai bernilai “Benar”)
Or Logika “Atau” (bernilai “Benar” jika salah satu nilai bernilai “Benar”)
Xor Logika “Exklusif Atau ” (bernilai “Benar” jika nilai kebenaran kedua nilai berbeda)

Percabangan case of – else lebih sering digunakan bila hanya satu variabel yang diuji tetapi memiliki banyak nilai yang ingin diujikan. Penggunaan perintah ini mempermudah pembacaan skrip program karena dibuat dalam bentuk daftar. Hanya saja, perintah ini hanya dapat menguji satu variabel atau fungsi.

Berikut adalah bentuk umum percabangan case of – else dengan berbagai bentuk yang diizinkan dalam setiap nilai persyaratannya:

 

Case nama variabel of

1 :

statement ;

2..10 :

statement ;

‘a’ :

statement ;

‘b’..’z’ :

statement ;

20 :

begin

blok statement ;

end;

else

begin

blok statement ;

end;

end;

 

Program akan mengecek setiap nilai secara berurut dari atas ke bawah, jika tidak ada nilai yang benar, maka program akan menjalankan statemen else. Perintah Case of – else boleh tidak menggunakan perintah else. Jika tidak ada nilai yang benar, maka program akan lanjut ke perintah berikutnya.

 

Perulangan

Blok perintah dapat dijalankan berulang – ulang sebanyak yang diinginkan atau dibatasi oleh kondisi tertentu. Perulangan adalah perintah yang paling sering digunakan untuk meringkas penulisan perintah – perintah yang metode pengerjaannya mirip, serta merupakan pengembangan dari perintah percabangan. Pascal memiliki tiga buah struktur perulangan, antara lain : while – do, repeat – until dan for – do.

 

While – do

Perulangan while – do adalah perulangan bersyarat yang paling umum digunakan. Perintah ini akan terlebih dahulu memeriksa kebenaran nilai yang diujikan, kemudian menjalankan dan mengulang perintah selama hasil pengujian nilai bernilai “Benar”. Terkadang jika salah dalam pembuatan statemen ini, perulangan while – do dapat mengakibatkan perulangan yang tidak dapat berhenti atau dapat dikenal dengan istilah infinite loop, hal ini dapat mengakibatkan terkurasnya ruang memory yang kosong.

Bentuk umum :

 

while kondisi nilai do statement ;

 

jika jumlah perintah yang akan diulang lebih dari satu, maka diharuskan menggunakan bentuk sebagai berikut.

 

while kondisi nilai do

begin

blok statement ;

end;

Repeat – until

Pada dasarnya, perintah repeat – until hampir sama dengan perintah perulangan while – do. Perbedaannya adalah perintah repeat – until akan menjalankan terlebih dahulu blok perintah yang akan diulang, lalu memeriksa kondisi kebenaran nilai. Perbedaan yang lebih mencolok dalam perintah repeat – until adalah blok perintah akan berhenti jika kondisi bernilai “Benar”.

Bentuk umum :

 

repeat statement until kondisi nilai ;

 

jika perintah yang akan diulang lebih dari satu, maka semua perintah diapit perintah

begin–end; menggunakan bentuk sebagai berikut.

 

repeat

begin

blok statement ;

end;

until kondisi nilai ;

 

For – do

Perulangan ini adalah perintah untuk mengulang blok perintah dengan menentukan jumlah pengulangan. Jumlah pengulangan yang dilakukan sebanyak selisih nilai inisialisasi variabel penunjuk perulangan dengan nilai akhir yang dideklarasikan. Pascal memiliki dua bentuk perulangan for, yaitu perulangan meningkat dan perulangan menurun. Perbedaan keduanya hanyalah perubahan nilai variabel penanda perulangannya saja.

Bentuk umum :

Perulangan meningkat

 

for variabel := nilai awal to nilai akhir do statement ;

 

jika jumlah perintah yang akan diulang lebih dari satu, maka diharuskan menggunakan bentuk sebagai berikut.

 

for variabel := nilai awal to nilai akhir do

begin

blok statement ;

end;

Pada perulangan ini, nilai awal tidak boleh lebih dari nilai akhir.

 

Perulangan menurun

 

for variabel := nilai awal downto nilai akhir do statement ;

 

jika jumlah perintah yang akan diulang lebih dari satu, maka diharuskan menggunakan bentuk sebagai berikut.

 

for variabel := nilai awal downto nilai akhir do

begin

blok statement ;

end;

Pada perulangan ini, nilai awal tidak boleh kurang dari nilai akhir.

 

 

 

 

Prosedur dan fungsi

Dalam pembuatan program, seringkali menggunakan metode perintah yang sama dan berulang – ulang dalam posisi yang berbeda. Penggunaan keyword goto dapat membuat system analist atau orang – orang yang membaca skrip program tersebut kebingungan dalam memahami logika program tersebut. Pascal adalah bahasa pemrograman prosedural yang memperbolehkan pembuatan blok perintah yang dibungkus dalam sebuah nama perintah baru yaitu Prosedur dan Fungsi.

 

Prosedur

Prosedur berguna untuk membungkus blok perintah menjadi satu. Isinya hanyalah perintah – perintah, dan prosedur tidak dapat dijadikan sebuah nilai yang dapat disimpan kedalam variabel. Pembuatan prosedur sama saja seperti membuat program baru termasuk membuat prosedur / fungsi baru di dalam prosedur tersebut (disebut sub-prosedur / sub-fungsi), serta boleh menggunakan variabel dan fungsi lain yang dideklarasikan di dalam program utama maupun variabel yang dideklarasikan di dalam prosedur / fungsi tersebut. Akan tetapi, prosedur hanya dapat dijalankan bila nama prosedur tersebut dipanggil dan tidak dapat mendeklarasikan keyword program.

Prosedur memiliki dua bentuk yaitu prosedur tanpa parameter serta prosedur berparameter.

Bentuk umum :

 

Prosedur tanpa parameter

procedure nama prosedur ;

begin

blok statement ;

end;

 

Prosedur dengan parameter

procedure nama prosedur (variabel : tipe data);

begin

blok statement ;

end;

Fungsi

Fungsi sama halnya dengan prosedur, yang membedakan fungsi dengan prosedur yaitu fungsi dapat dijadikan sebagai nilai yang dapat disimpan kedalam variabel.

Bentuk umum :

 

Prosedur tanpa parameter

function nama fungsi : tipe data fungsi ;

begin

blok statement ;

nama fungsi := nilai ;

end;

 

Prosedur dengan parameter

function nama fungsi (variabel : tipe data) : tipe data fungsi ;

begin

blok statement ;

nama fungsi := nilai ;

end;

 

Catatan : Nilai yang boleh dimasukkan kedalam nama fungsi tersebut harus sesuai dengan tipe data yang dideklarasikan.

Rekursi

Rekursi adalah pemanggilan nama prosedur / fungsi itu sendiri beserta parameternya (bila terdapat parameter) didalam blok perintah prosedur / fungsi tersebut maupun di dalam sub-prosedur / sub-fungsi tersebut. Sama halnya dengan perulangan, rekursi akan membutuhkan sejumlah memori setiap kali dipanggil. Kesalahan dalam penggunaan rekursi akan mengakibatkan infinite loop.

Leave a comment

Leave a comment