Percabangan dan Perulangan Dalam Delphi 7

 on Rabu, 17 Mei 2017  


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

Percabangan dan Perulangan Dalam Delphi 7 4.5 5 Meta Aksara Dev Rabu, 17 Mei 2017 Pada dasarnya kode program yang disebut juga dengan statemen akan dijalankan secara berurutan mulai dari statemen pertama sampai dengan...


Tidak ada komentar:

Posting Komentar

Diberdayakan oleh Blogger.
J-Theme