Daftar Menu


video pembelajaran

Selasa, 14 Maret 2023

P4_Percabangan dalam program Delphi 7.0

 1.      Dasar teori

Pencabangan adalah merupakan perintah yang dapat memberikan pilihan suatu kondisi, program akan menjalankan perintah apabila suatu kondisi memenuhi syarat tertentu. Pencabangan dapat dibedakan menjadi:

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;

2.     Praktikum

Buat project baru, desain seperti gambar 4.1 berikut:

Gambar 4.1 Tampilan Projek Percabangan

Ubahlah properti setiap komponen yang ada seperti pada tabel 4.1 berikut:

Tabel 4.1 Grade Nilai

Komponen

Properti

Value

Form1

Caption

Program Grade Nilai

Height

450

Name

Form1

Width

751

Label1

Caption

PROGRAM PENENTUAN GRADE NILAI

Name

Label1

Label2

Caption

Masukkan Nilai Anda

Name

Label2

Label3

Caption

Grade Nilai

Name

Label3

Label4

Caption

Label4

Name

Label4

Label5

Caption

Keterangan

Name

Label5

Label6

Caption

Label6

Name

Label6

Edit1

Text

Kosongkan

Name

tnilai

Button1

Caption

Proses

Name

Button1

Button2

Caption

Baru

Name

Button2

Button3

Caption

Keluar

Name

Button3

 

Klik event OnClick atau double klik pada button. Kemudian tambahkan kode berikut:

procedure TForm1.Button1Click(Sender: TObject);

var

nilai:integer;

begin

nilai := strtoint(tnilai.Text);

If nilai > 85 then

begin

label4.Caption := 'A';

label6.Caption := 'SANGAT MEMUASKAN';

end

else

If nilai > 80 then

begin

label4.Caption := 'AB';

label6.Caption := 'MEMUASKAN';

end

else

If nilai > 75 then

begin

label4.Caption := 'B';

label6.Caption := 'Baik';

end

else

If nilai > 65 then

begin

label4.Caption := 'BC';

label6.Caption := 'Cukup Baik';

end

else

If nilai > 55 then

begin

label4.Caption := 'C';

label6.Caption := 'Cukup';

end

else

If nilai > 25 then

begin

label4.Caption := 'D';

label6.Caption := 'Kurang';

end

else

begin

label4.Caption := 'E';

label6.Caption := 'Gagal';

end;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

tnilai.Text := '';

Label4.Caption := '';

Label6.Caption := '';

tnilai.SetFocus;

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

Halt;

      end;

3. Rangkuman

Pencabangan adalah merupakan perintah yang dapat memberikan pilihan suatu kondisi, program akan menjalankan perintah apabila suatu kondisi memenuhi syarat tertentu. Pencabangan dapat dibedakan menjadi Pernyataan If-Then-Else dan Pernyataan Case-Of

 

4. Tugas

Buatlah program untuk menampilkan gaji pegawai dengan perhitungan berikut:

Golongan

A

B

C

Gaji Pokok

3.000.000

2.000.000

1.000.000

Insentif

Masa kerja > 10 tahun = 700.000

Masa kerja antara 5 – 10 tahun = 500.000

Masa kerja lebih dari 5 tahun = 200.000

Tunjangan

Anak 0 = 0

Anak 1 = 200.000

Anak 2 = 300.000

Anak lebih dari 3 = 500.000

Gaji Total

Gaji Pokok + Insentif + Tunjangan

Pajak

Gaji Total lebih dari 3.750.000 pajak 10%

Gaji Total lebih dari 2. 250.000 pajak 5%

Gaji Total < 2.250.000 pajak 0%

Gaji Pegawai

Gaji Total - Pajak

 

Tentukan bentuk form-nya, komponen yang digunakan serta input yang diperlukan sehingga menghasilkan gaji pegawai sesuai dengan ketentuan

Rekaman penggunaan pada delphi

Tidak ada komentar:

Posting Komentar

Silahkan Meninggalkan Pesan