Pada
dasarnya kode program yang disebut juga dengan statemen akan dijalankan secara
berurutan mulai dari statemen pertama sampai dengan statemen terakhir.
Kadang-kadang diperlukan bahwa pengerjaan harus melompat dari statemen tertentu
ke statemen yang lain, sehingga kode program tidak lagi dijalankan secara
berurutan. Hal demikian disebut dengan percabangan. Selain itu kadang-kadang
diperlukan juga beberapa statemen harus dikerjakan secara berulan-ulang. Pada
bab ini akan membahas mengenai perulangan dan percabangan.
3.1 Pernyataan Bersyarat
Kadang-kadang diperlukan bahwa
suatu statemen akan dikerjakan bila suatu syarat (kondisi) terpenuhi. Sebagai contoh,
status kelulusan akan diberikan dengan lulus bila nilai lebih besar dari lima
puluh empat. Hal yang demikian disebut dengan pernyataan bersyarat. Ada dua jenis pernyataan bersyarat yang dapat digunakan,
yaitu if-then-else dan case-of.
a. Pernyataan If-Then-Else
Pernyataan bersyarat
If-Then-Else digunakan untuk menjalankan suatu pernyataan atau satu blok
pernyataan, bila suatu nilai yang diuji terpenuhi. Sintaks dari pada pernyataan
if-then-else adalah sebagai berikut :
if <kondisi> then
<pernyataan>;
atau
if <kondisi> then
<pernyatan1>
else
<pernyataan2>;
Pada penulisan diatas, <pernyataan1> dan <pernyataan2> tidak menggunakan
kata kunci begin dan end karena hanya satu pernyataan. Jika lebih dari satu
pernyataan maka harus menggunakan kata kunci begin dan end. <Kondisi>
adalah suatu ekspresi logika atau berupa syarat yang akan diuji. Perintah If
akan menguji ekspresi logika yang ada di sebelah kanannya. Jika kondisi
bernilai True maka akan dikerjakan <pernyataan1>. Dan sebaliknya jika
kondisi bernilai False maka akan dikerjakan <pernyataan2>. Berikut ini beberapa contoh penulisan
If-Then-Else:
Var
NilAngka
: Integer;
Status : String;
Begin
If NilAngka>=60
Then Status:=’Lulus’;
--
Contoh diatas
menunjukkan jika variabel NilAngka
mempunyai nilai lebih besar atau sama dengan 60 maka variabel Status akan diisi
dengan nilai ‘Lulus’.
Var
NilAngka
: Integer;
Status : String;
Begin
If NilAngka>=60
Then Status:=’Lulus’ Else
Status:=’Gagal’;
--
Contoh diatas
menunjukkan jika variabel NilAngka
mempunyai nilai lebih besar atau sama dengan 60 maka variabel Status akan diisi
dengan nilai ‘Lulus’, selain itu jika variabel NilAngka mempunyai nilai lebih kecil dari 60 maka
variabel Status akan diisi dengan nilai ‘Gagal’. Contoh diatas dapat ditulis dalam bentuk lain
seperti dibawah ini :
Var
NilAngka
: Integer;
Status : String;
Begin
If NilAngka>=60
Then
Status:=’Lulus’
Else
Status:=’Gagal’;
--
Pada contoh diatas, pernyataan Status:=’Lulus’
tidak perlu diakhiri dengan tanda titik koma. Bila anda menambahkan titik koma, Delphi akan menampilkan pesan kesalahan. Bila
pernyataan yang dituliskan berupa blok pernyataan atau lebih dari satu
pernyataan, anda harus menggunakan kata kunci begin-end dan setiap pernyataan
diakhiri titik koma.
b. Pernyataan Case-Of
Pernyataan bersyarat case-of
digunakan untuk menyederhanakan penggunaan if-then-else yang terlalu panjang.
Hanya saja pernyataan ini biasanya dipakai untuk pemilihan dengan pilihan lebih
dari dua. Sebagai contoh, anda dapat mengganti penulisan fungsi if-then-else
menjadi lebih ringkas dan lebih mudah dibaca dengan bentuk penulisan sebagai
berikut :
If (NilAngka >=
85) and (NilAngka <= 100) Then
NilHuruf :=’A’
Else
If (NilAngka >= 70) and (NilAngka
< 85) Then
NilHuruf :=’B’
Else
If (NilAngka >= 60) and (NilAngka
< 70) Then
NilHuruf :=’C’
Else
If (NilAngka >= 55) and (NilAngka
< 60) Then
NilHuruf :=’D’
Else
If (NilAngka >= 0) and (NilAngka <
55) Then
NilHuruf :=’E’
Else
NilHuruf :=’’;
Dapat diubah menjadi :
Case NilAngka of
85..100 :
NilHuruf :=’A’;
70..84 :
NilHuruf :=’B’;
60..69 :
NilHuruf :=’C’;
55..59 :
NilHuruf :=’D’;
0..54 :
NilHuruf :=’E’;
Else NilHuruf :=’’;
End;
Sintaks dari pada pernyataan case-of
adalah sebagai berikut :
Case
<ekspresi> of
<daftar-1> : <pernyataan-1>;
<daftar-2> :
<pernyataan-2>;
---
---
<daftar-n> :
<pernyataan-n>;
End;
atau dapat juga ditulis dengan bentuk :
Case
<ekspresi> of
<daftar-1> :
<pernyataan-1>;
<daftar-2> :
<pernyataan-2>;
---
---
<daftar-n> :
<pernyataan-n>;
else
<pernyataan-x>;
end;
<Ekspresi> adalah suatu pernyataan bertipe ordinal (integer atau
char). Program akan menguji satu per satu <daftar> yang ada. Jika nilai <ekspresi>
adalah anggota dari <daftar> tertentu maka pernyataan pada <daftar>
tersebut akan dikerjakan. Pernyataan Else sifatnya optional. Jika digunakan
pernyataan Else dan tidak ada nilai <ekspresi> yang sesuai dengan <daftar>
yang ada, maka yang dijalankan adalah pernyataan yang ada di bagian Else. Pada
contoh diatas, bila variabel NilAngka berisi antara 85 s/d 100 maka variabel
NilHuruf diisi dengan nilai A, tapi bila variabel NilAngka berisi antara 70 s/d
84 maka variabel NilHuruf diisi dengan nilai B, demikian seterusnya bila
NilAngka berisi antara 0 s/d 54 maka NilHuruf diisi dengan E, tetapi bila variabel
NilAngka berisi selain dari 0 s/d 100 maka variabel NilHuruf diisi dengan nilai
kosong.
Contoh berikut ini adalah fungsi Case untuk menguji
suatu subrange yang berisi data Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, dan
Minggu :
Case Nilai of
Senin,Selasa :
Hasil :=’1’;
Rabu,Kamis :
Hasil :=’2’;
Jumat,Sabtu :
Hasil :=’3’;
Minggu :
Hasil :=’4’;
End;
3.2 Pernyataan Goto
Pernyataan Goto merupakan
pernyataan yang tidak bersyarat dan dipergunakan untuk melompat ke pernyataan
tertentu yang telah diberi kata kunci. Kata kunci tersebut didefinisikan dengan pernyataan “Label”. Pendeklarasian
sebuah label menggunkan pernyataan label dan diikuti dengan nama labelnya. Pernyataan
label pada program dapat diletakkan di sebarang tempat dalam blok program.
Label Ulang; {deklarasi label}
Begin
Ulang : {pernyataan
label}
X := X + 10;
Y := Y / X;
If (X <= 100)
Then Goto Ulang;
---
End;
3.3 Pernyataan Perulangan
Kadang-kadang diperlukan pengerjaan sekumpulan pernyataan
secara berulang-ulang sampai pada suatu kondisi tertentu. Untuk keperluan
tersebut, ada tiga perulangan yang dapat dipergunakan yaitu While..Do,
Repeat..Until, dan For..Do.
a. Perulangan While…Do
Pernyataan perulangan
While…Do berfungsi mengulang suatu pertanyaan atau satu blok pernyataan selama
(while) suatu kondisi (syarat) bernilai True. Sintaks dari pernyataan tersebut
adalah sebagai berikut :
While
<Kondisi> Do <Pernyataan>;
Prosedur perulangan diatas adalah
sebagai berikut :
1. Pertama, program akan menguji nilai
<kondisi>
2. Jika <kondisi> bernilai False, maka
<pernyataan> tidak dikerjakan dan progam menghentikan perulangan, kemudian
mengerjakan pernyataan setelah while.
3. Jika <kondisi> bernilai True, maka
pernyataan akan dikerjakan satu kali
4.
Lalu kembali ke langkah 1
Pada dasarnya, perulangan akan berhenti kalau
<kondisi> bernilai False. Tetapi dapat juga digunakan pernyataan Break
untuk memaksa program keluar dari perulangan dan melanjutkan ke baris program
yang terletak setelah perintah perulangan.
<Pernyataan> bisa berupa satu pernyataan
atau blok pernyataan yang diawali dengan begin dan diakhiri dengan end. Untuk
satu pernyataan penulisan pernyataan harus diakhiri dengan titik koma sebagai
tanda akhir dari While. Untuk lebih jelasnya, perhatikan contoh kode program
berikut.
While Jumlah < 20 Do Nilai := Nilai + 1;
Program diatas akan mengulang Nilai := Nilai + 1
selama variabel Jumlah memiliki nilai lebih kecil dari 20. Berikut ini adalah
contoh penulisan pernyataan yang diawali dengan begin dan diakhiri dengan end.
While Kode <> ‘X’ Do
Begin
A := A + 1;
B := B * A;
End;
Program diatas akan mengulang
blok pernyataan selama Kode tidak sama dengan ‘X’.
While Kode
<> ‘X’ Do
Begin
If A > 0 Then
Begin
A :=
A + 1;
B :=
B * A;
End
Else
Break;
Nilai := B + 10;
End;
Program diatas akan mengulang blok pernyataan selama
Kode tidak sama dengan ‘X’. Pernyataan While…Do biasanya digunakan bila Anda
belum tahu dengan pasti berapa kali perulangan harus dilakukan. Berakhirnya perulangan
dapat ditentukan oleh suatu kondisi, dimana bila kondisi sudah tidak terpenuhi
perulangan akan berakhir.
b. Perulangan Repeat…Until
Perulangan ini hampir sama dengan
perulangan While…Do dan biasanya digunakan jika jumlah perulangan belum dapat
ditentukan pada saat program ditulis. Perbedaannya, pernyataan repeat…until dan
while…do terletak pada letak pengecekan kondisi. Jika pada pernyataan while…do
kondisi diperiksa pada awal pernyataan while…do, sedangkan pada pernyataan
repeat…until, kondisi dicek pada akhir pernyataan repeat…until. Perbedaan lain
adalah pernyataan while…do mengulang pernyataan selama kondisi masih terpenuhi,
tetapi pernyataan repeat…until hanya akan mengulang pernyataan selama kondisi
belum terpenuhi.
Selain itu pernyataan repeat…until
akan menjalankan pernyataan yang berada diantara repeat…until minimal satu kali,
karena pengujian terletak dibagian akhir pernyataan repeat…until. Pada dasarnya
perulangan akan berhenti kalau <kondisi> bernilai True. Tetapi anda juga
dapat menggunakan pernyataan Break untuk memaksa program keluar dari perulangan
dan melanjutkan ke pernyataan setelah repeat…until. Sintaks dari repeat...
until adalah sebagai berikut :
Repeat
<pernyataan>
---
<pernyataan>
Until
<kondisi>
Contoh :
Counter := 1;
Repeat
---
Counter := Counter + 1;
Until Counter
> 5;
c. Perulangan For…Do
Perulangan
For…Do merupakan perintah perulangan yang paling sederhana di antara perintah
perulangan lain yang disediakan Delphi . Perulangan
For…Do digunakan untuk pengerjaan satu pernyataan atau blok pernyataan secara
berulang-ulang yang ditentukan oleh nilai awal dan nilai akhir dari pencacah.
Dengan kata lain, jumlah perulangan yang akan dikerjakan sudah diketahui.
For <pencacah> := <awal> To <akhir> Do < pernyataan>;
atau
For <pencacah> : = <awal> Downto
<akhir> Do < pernyataan>;
<pencacah> adalah variabel bertipe integer, char,
byte, shortint, subrange, dan lain–lain. Variabel tersebut mempunyai nilai
pasti, dimana nilainya dapat dikurangi atau ditambah satu satuan. Nilai <pencacah>
tidak boleh diubah dalam <pernyataan>.
Jika anda
menggunakan bentuk pertama, maka For…Do akan mengulang <pernyataan> dimulai
dari nilai <pencacah> sama dengan nilai <awal> hingga nilai
<pencacah> sama dengan nilai <Akhir>. Jika anda menggunakan bentuk
kedua, pada prinsipnya sama dengan bentuk pertama, perbedaannya
<pencacah> nilainya menurun.
Contoh :
Jumlah := 0;
For i := 1 To 10 Do Jumlah := Jumlah + 5;
Program diatas
mengubah nilai variabel Jumlah dengan menambahkan variabel tersebut dengan angka
5, dimana pengulangan perintah dilakukan sebanyak sepuluh kali, dengan urutan
proses sebagai berikut :
1.
Variabel pencacah i diberi nilai 1
2.
Pernyataan setelah Do yaitu Jumlah := Jumlah + 5
dikerjakan satu kali
3.
Diulang kembali ke langkah 1, dengan menambahkan nilai 1
ke variabel pencacah i
4.
Jika nilai pencacah telah mencapai lebih besar dari
nilai akhir (yaitu 10), pengulangan dihentikan dan akan dikerjakan pernyataan
setelah perintah For….Do.
Ketentuan dalam
For…Do bahwa variabel pencacah (i) harus didefinisikan secara lokal di dalam
blok For…Do. Ketentuan lain ialah nilai awal dari variabel pencacah (i) harus
lebih kecil dari nilai akhir. Anda juga dapat mencacah mundur, dengan contoh
sbb. :
Jumlah := 0;
For i := 10 Downto 1 Do Jumlah := Jumlah + 5;
3.4 Pernyataan Break
Pernyataan Break dipakai untuk memaksa menghentikan
perulangan, baik perulangan dengan While …Do, Repeat…Until atau For…Do. Dengan
kata lain pernyataan Break digunakan
untuk menghentikan proses perulangan secara paksa. Jika terdapat pernyataan
Break pada suatu perulangan, maka pelaksanaan program akan dilanjutkan ke
pernyataan setelah struktur perulangan. Berikut ini adalah contoh penggunaan
pernyataan Break.
Var
Hitung, X :
Integer
Begin
For Hitung :=1 To 10 Do
If X > 0 Then
X := X + 1
Else
Break;
---
---
End;
3.5 Pernyataan Exit
Pernyataan Exit dipakai untuk
keluar dari suatu blok program. Jika pernyatan Exit berada pada suatu procedure
atau fungsi maka pernyataan Exit akan menyebabkan proses dalam procedure atau
fungsi tersebut dihentikan dan kontrol program kembali ke pernyataan berikutnya
pemanggil procedure atau fungsi tersebut. Jika pernyataan Exit berada pada
program utama, maka program akan berhenti.
Var
Jumlah, Disct, Total : Integer;
Begin
If Jumlah <=
100 Then
Begin
Disct := 10/100 * Total;
Total
:= Total – Disct;
End
Else
Exit;
End;
Contoh diatas menunjukkan
jika jumlah lebih dari 100 maka alur program akan berhenti atau keluar dari
blok program.
3.6 Pernyataan Continue
Kadang-kadang diperlukan untuk menghentikan
sebuah perulangan dan ingin melanjut-kannya kembali. Untuk keperluan tersebut
anda dapat menggunakan pernyataan Continue untuk melanjutkan ke perulangan
berikutnya. Create : Abednego,S.T
Tidak ada komentar:
Posting Komentar