Percabangan (penyeleksian kondisi) merupakan operator yang digunakan untuk menentukan pilihan terhadap beberapa pilihan yang ada.
- Percabangan IF
a. Stuktur IF Tunggal
If Syarat then hasil;
If nilai>80 then keterangan=’Lulus’;
b. Struktur IF majemuk
If Syarat1 then
Hasil1
Else
If Syarat2 then
Hasil2
Else
...................
...................
end;
- Percabangan Case
Struktur : Struktur :
Case <variabel> of Case <variabel> of
<pilihanke1>; hasil1; <pilihanke1>; hasil1;
<pilihanke2>; hasil2; <pilihanke2>; hasil2;
<pilihanke3>; hasil3; <pilihanke3>; hasil3;
.................................. ..................................
<pilihanke4>; hasiln; else
end; hasiln;
end;
Catatan :
1. Nilai harus berupa data ordinal (bilangan bulat, karakter, atau boolean)
2. Tipe data string dan real tidak bisa digunakan
3. Bagian else digunakan jika nilai tidak terpenuhi pada salah satu kondisi diatasnya.
JABATAN | GAJI POKOK |
Direktur | 5000000 |
Manager | 3000000 |
Karyawan | 1000000 |
procedure TForm2.FormCreate(Sender: TObject);
begin
cjabatan.Items.Add('Direktur');
cjabatan.Items.Add('Manager');
cjabatan.Items.Add('Karyawan');
end;
Ø Untuk mencari gaji pokok
1. Aktifkan combobox untuk jabatan
2. Pada jendela properties pilih event, pilih dan aktifkan onclick
3. Double klik pada combo onclick
4. Ketikkan listing berikut :
procedure TForm2.cjabatanClick(Sender: TObject);
begin
if cjabatan.Text='Direktur' then
epokok.Text:='5000000' else
if cjabatan.Text='Manager' then
epokok.Text:='2000000' else
if cjabatan.Text='Karyawan' then
epokok.Text:='1000000' else
epokok.Text:='0'
end;
Ø Untuk menghitung Tunjangan Karyawan
procedure TForm2.rtetapClick(Sender: TObject);
var
a,hasil:real;
begin
if rtetap.Checked=true then
a:=strtofloat(epokok.Text);
hasil:=a*0.3;
etunjangan.Text:=floattostr(hasil)
end;
procedure TForm2.rhonorerClick(Sender: TObject);procedure TForm2.blagiClick(Sender: TObject);
begin
cjabatan.Text:='Jabatan';
enama.Text:='';
ebersih.Text:='0';
etunjangan.Text:='0';
epokok.Text:='0';
rtetap.Checked:=false;
rhonorer.Checked:=false;
end;
var
a,hasil:real;
begin
if rhonorer.Checked=true then
a:=strtofloat(epokok.Text);
hasil:=a*0.1;
etunjangan.Text:=floattostr(hasil)
end;
Ø Menghitung gaji bersih
procedure TForm2.btotalClick(Sender: TObject);
var
a,b,c:real;
begin
a:=strtofloat(epokok.Text);
b:=strtofloat(etunjangan.Text);
c:=a+b;
ebersih.Text:=floattostr(c);
end;
PERCABANGAN CASE Gunakan objek RadioGroup dan rubah :
- ItemIndex= 0
- Items = Jakarta, Yogyakarta, Surabaya
procedure TForm3.BcariClick(Sender: TObject);
begin
case radiogroup1.ItemIndex of
0:eharga.Text:='10000';
1:eharga.Text:='15000';
2:eharga.Text:='20000';
else
eharga.Text:='0';
end
Kode Dokter | Nama Dokter | Spesialis | Biaya Periksa |
DRJ01 | PRIANTI | Jantung | 2000000 |
DRA02 | RAMADHANI | Anak | 150000 |
DRM03 | NIA | Mata | 1000000 |
Gunakan Fungsi IF
Total bayar : harga obat + biaya periksa
Uang bayar diinput, uang kembali muncul otomatis.
Sumber www.khnbsi.blogspot.com