Senin, 17 Desember 2012 0 komentar

percabangan





PERCABANGAN   (  If, If Else, Case Of )


Perintah if digunakan untuk menentukan perintah mana yang akan dikerjakan ketika suatu kondisi terjadi. 

Bentuk baku perintah if adalah sebagai berikut :

    if (kondisi1) then
      perintah
else
if (kondisi2) then
begin
  perintah;
  perintah;
end
else
begin
  perintah;
  perintah;
end;
           
        
Kondisi 1, Kondisi 2 adalah suatu pernyataan yang menghasilkan kondisi benar (true) atau salah(false).

Contoh kondisi :
if (a>=5) then
begin
      perintah;
end
else
if (a<5 span="span" then="then">
begin
      perintah;
end;
   

Aturan-aturan penulisan program yang menggunakan perintah IF :
1.         Jika suatu kondisi tercapai (bernilai benar), maka If hanya mengenal satu perintah berikutnya.
2.         Kalau suatu perintah if ingin mengerjakan lebih dari 1 perintah, maka gunakan perintah Begin dan End;
3.         Sebelum Else jangan memakai titik koma. Karena titik koma merupakan tanda akhir dari suatu perintah.


Contoh kasus:
Sebuah toko mempunyai tabel harga dan diskon seperti berikut :
Kode
Nama Barang
Harga Barang
A01
Speaker
50000
B02
Mouse
25000
C03
Harddisk
750000
D04
Mouse Pad
5000

Sub total

Diskon
>=100000
15%
>=50000
10%
>=25000
5%
<25000
0%

-          Buatlah Form
-          Tempatkan buah ComboBox  
Isi properti sebagai berikut :
            Items                      :  A01
                                               B02
                                               C03
                                               D04
            Text                        : {dikosongkan saja}
            Name                     :  CBKode
-          Kemudian tambahkan komponen lain sehingga terbentuk form seperti berikut :


 
Catatan :

Untuk tombol gunakan BitBtn yang ada di Component Palette Additional.
Untuk mengisikan gambar pada tombol,
gunakan properti Glyph kemudian pilih Load dan pilih file gambar yang ada di folder :
C:\Program Files \ commonFiles\ BorlandShared \ Images \ Buttons
Contoh Kasus :

Tombol Hitung : Calculate.bmp
Tombol Ulang  : Retry.bmp
Tombol Keluar : Picture.bmp

Tulislah program pada event onclick tombol Hitung


procedure TForm1.THitungClick(Sender: TObject);
var
     NamaBarang:String;
     Quantity:integer;
     Harga,Total,Subtotal,Diskon:real;
begin
     If CBKode.Text='A01' then // Kalau Kode = A01
     begin
          NamaBarang:='Speaker'; //Pengisian String diapit ' '
          Harga     :=50000; // Pengisian Harga
     end
     else
     if CBKode.Text='B02' then {Kalau Kode = B02}
     begin
          NamaBarang:='Mouse';
          Harga     :=25000;
     end
     else
     if CBKode.Text='C03' then {Kalau Kode = C03 }
     begin
          NamaBarang:='HardDisk';
          Harga     :=750000;
     end
     else
     if CBKode.Text='D04' then {Kalau Kode = D04}
     begin
          NamaBarang:='Mouse Pad';
          Harga     :=5000;
     end
     else // jika kode tidak diketahui
     begin
          NamaBarang:='Tidak Ada';
          Harga     :=0;
     end;
     Quantity:=StrToInt(EQTY.Text);// Ambil Quantity dari EQty
     SubTotal:=Harga*Quantity;     // Hitung Subtotal
     if SubTotal>=100000 then      // Jika Subtotal >= 100000 maka
          Diskon:=0.15*SubTotal    // diskon = 15%
     else
     if SubTotal>=50000 then       // Jika subtotal >=50000 maka
          Diskon:=0.10 * SubTotal  // diskon = 10%
     else
     if SubTotal>=25000 then       // Jika subtotal>=25000 maka
          Diskon:=0.05 * SubTotal  // diskon = 5%
     else                          // jika subtotal < 25000
          Diskon:=0;               // diskon = 0%
     Total:=SubTotal - Diskon;     // hitung total
     ENama.Text:=NamaBarang;       // tampilkan nama barang
     EHarga.Text:=FloatToStr(Harga); // tampilkan harga
     ESubTotal.Text:=FloatToStr(SubTotal); // tampilkan subtotal
     EDiskon.Text:=FloatToStr(Diskon); //tampilkan diskon
     ETotal.Text:=FloatToStr(Total); // tampilkan total
end;
 
Untuk event Onclick pada tombol Ulang, silahkan diisi perintah berikut :


procedure TForm1.TUlangClick(Sender: TObject);
begin
     CBKode.Text:='';
     ENama.Text:='';
     EHarga.Text:='0';
     ESubTotal.Text:='';
     EDiskon.Text:='';
     ETotal.Text:='';
     CBKode.SetFocus;
end;
 
Untuk event OnClick pada tombol Tutup isilah dengan perintah:

 
procedure TForm1.TKeluarClick(Sender: TObject);
begin
     Close;
end;
 
Operator-operator boolean  :

 
Simbol
Keterangan
Contoh
 =
Sama dengan
(a =  7)
>=
Lebih besar sama dengan
(a >= 7)
Lebih besar
(a > 7)
<=
Lebih kecil sama dengan
(a <= 7)
Lebih kecil
(a < 7)
<> 
Tidak sama dengan
(a <> 7)
Not
Tidak / Invers
Not (a<>7)
And
Operator dan
(a = 7)And(b =5)
Or
Operator
(a = 7) Or (b =5)



 
Komponen RadioButton

Radiobutton adalah suatu komponen yang digunakan untuk pemilihan suatu kondisi dari beberapa kondisi yang ada. Kondisi yang bisa dipilih hanya ada 1 buah.
Properti yang menandakan bahwa suatu radiobutton dipilih adalah properti Checked. Jika properti checked suatu Radiobutton berisi true, maka berarti Radiobutton tersebut dipilih.
Contoh kasus :
     -  Buatlah form seperti berikut :
Caranya adalah sebagai berikut :
-    Tempatkan sebuah group box
-    Tempatkan 3 buah radiobutton kemudian ganti namanya sesuai dengan keperluan. Contoh  untuk radiobutton Jakarta beri namanya RBJakarta untuk mempermudah dalam program.
-    Tempatkan sebuah Button.
 
 

   -   isi event onclick dari button  sebagai berikut :
 
Procedure TForm1.Button1Click(Sender:TObject)
begin
     if (RBJakarta.Checked=true) then
        ShowMessage(‘Jurusan yang dipilih adalah jakarta’)
     else
     if (RBYogya.Checked=true) then
        ShowMessage(‘Jurusan yang dipilih adalah Yogyakarta’)
     else
     if (RBSurabaya.Checked=true) then
        ShowMessage(‘Jurusan yang dipilih adalah Surabaya’);
End;

ShowMessage adalah suatu perintah untuk menampilkan pesan dengan ketentuan adalah sebagai berikut :
ShowMessage(Pesan:String)
Contoh :
                ShowMessage(‘Jurusan yang dipilih adalah jakarta’);

Hasilnya adalah sebagai berikut :

 

      - Coba run progam.



Komponen Radiogroup

Radiogroup adalah suatu komponen yang digunakan untuk memilih sebuah option dari beberapa pilihan (sifatnya seperti radiobutton) hanya dengan satu buah komponen radiogroup saja.  
Tabel Properti dari RadioGroup


Properti
Keterangan
Columns
Pilihan mau dibuat berapa kolom
Items
Daftar pilihan yang akan ditampilkan
ItemIndex
Item ke berapa yang dipilih. Jika ItemIndex berisi 0 maka yang dipilih adalah pilihan ke-1, jika ItemIndex berisi 1 maka yang dipilih adalah pilihan ke-2 dan seterusnya. Jika ItemIndex berisi dengan –1 maka berarti tidak ada yang dipilih.


Pada program sebelumnya, kita membuat suatu pemilihan dengan membuat sebuah group box dan 3 buah radiogroup. Sekarang kita akan membuat suatu pemilihan hanya dengan menggunakan sebuah radiogroup saja.
Caranya :
1.       Buat form seperti berikut
-    Tempatkan sebuah radiogroup, kemudian ganti namanya menjadi RGKelas dan captionnya diisi dengan Kelas.
-    Isi properti Items dengan
    Eksekutif
         Bisnis
    Ekonomi
-    Isi properti ItemIndex dengan 0 agar pilihan default adalah Eksekutif.
 

2.       Isi tombol Oncliknya dengan perintah berikut :
Procedure TForm1.Button2Click(Sender:TObject)
begin
    if (RGKelas.ItemIndex=0) then
        ShowMessage(‘Kelas adalah Exekutif’)
    else
    if (RGKelas.ItemIndex=1) then
        ShowMessage(‘Kelas adalah Bisnis’)
    else
    if (RGKelas.ItemIndex=2) then
        ShowMessage(‘Kelas adalah Ekonomi’);
End;
       
       Atau : 

Procedure TForm1.Button2Click(Sender:TObject)
begin
    case RGKelas.ItemIndex of
     0:ShowMessage(‘Kelas adalah Exekutif’);
     1:ShowMessage(‘Kelas adalah Bisnis’);
     2:ShowMessage(‘Kelas adalah Ekonomi’);
    end;
end;

3.       Run Program




    Contoh Kasus :

                Sebuah Perusahaan angkutan “Jalan Terus” memiliki ketentuan harga seperti berikut :


Eksekutif
Bisnis
Ekonomi
Jakarta
70000
40000
10000
Solo
80000
50000
20000
Surabaya
90000
60000
30000
                Karena ada masa promosi maka khusus untuk Surabaya Ekonomi atau Solo Eksekutif terdapat diskon 10%.
Untuk lebih jelasnya, ikutilah cara berikut :
1.       Buat suatu aplikasi baru dengan File-New Application
2.       Tempatkan sebuah Groupbox kemudian ganti property Caption dengan Jurusan.
3.       Tempatkan tiga buah RadioButton pada GroupBox tersebut kemudian ganti properti-propertinya seperti berikut :

RadioButton1

Name
Caption
:
:

RBJakarta

Jakarta

RadioButton2

Name
Caption
:
:

RBSolo

Solo

RadioButton3

Name
Caption
:
:

RBSurabaya

Surabaya

4.       Tempatkan sebuah RadioGroup kemudian ganti propertinya seperti berikut :
Name
Items


ItemIndex
:
:


:
RGKelas
Eksekutif
Bisnis
Ekonomi
0
5.       Tempatkan 2 buah Edit untuk pengisian data banyaknya tiket dan untuk menampilkan hasil dari perhitungan. Gantilah properti-propertinya seperti berikut :
Edit1

 Edit2
Name

Name
:

  :

ETiket

ETotal

6.       Tempatkan 3 buah tombol untuk tombol perhitungan, reset, dan tombol keluar.  Kemudian atur form seperti form berikut : 



7.       Untuk program selengkapnya dari kasus diatas adalah sebagai berikut :
procedure TForm1.THitungClick(Sender: TObject);
var
   jmltiket,harga:integer;
   total:real;
begin
     jmltiket:=StrToInt(ETiket.text);
     if (RBJakarta.Checked=true)and(RGKelas.ItemIndex=0) then
          harga:=70000
     else
     if (RBJakarta.Checked=true)and(RGKelas.ItemIndex=1) then
          harga:=40000
     else
     if (RBJakarta.Checked=true)and(RGKelas.ItemIndex=2) then
          harga:=10000
     else
     if (RBSolo.Checked=true) then
     begin
          if RGKelas.ItemIndex=0 then
               harga:=80000
          else
          if RGKelas.ItemIndex=1 then
               harga:=50000
          else
          if RGKelas.ItemIndex=2 then
               harga:=20000;
     end
     else
     if (RBSurabaya.Checked=true) then
     begin
          case RGKelas.ItemIndex of
               0:Harga:=90000;
               1:Harga:=60000;
               2:Harga:=30000;
          end;
     end;
     total:=harga*jmltiket;
     ETotal.Text:=FormatFloat('Rp #,##0.00',total);
end;

8.       Untuk perhitungan diskon, sisipkan program berikut setelah perhitungan total :
 if ((RBSurabaya.checked=true)and
     (RGKelas.ItemIndex=2)
    )                            // Surabaya Ekonomi
    or                           // atau
    ((RBSolo.Checked=true)and
     (RGKelas.ItemIndex=0)
    ) then //Solo Bisnis
          total:=0.9*total;
9.       Untuk event OnClick dari tombol Reset, programnya adalah sebagai berikut :
procedure TForm1.TResetClick(Sender: TObject);
begin
     RBJakarta.Checked:=true;
     RGKelas.ItemIndex:=0;
     ETiket.Text:='0';
     EJmlTotal.Text:='0';
end;
10.    Run Program.

Komponen Check Box

               
CheckBox adalah komponen untuk pemilihan option dimana option yang dipilih bisa lebih dari satu buah.
                Properti-properti CheckBox
Property
Keterangan

Caption

Tulisan yang ada di Checkbox
Checked
Jika berisi true berarti checkbox yang bersangkutan dipilih.

Contoh kasus :
                Rental Internet “Surf The World” mempunyai harga rental perjam Rp. 3500, dan juga menyediakan fasilitas pemesanan makanan dan minuman. Daftar yang bisa dipesan adalah sebagai berikut :
Menu
Harga
Nasi goreng
3500
Coca Cola
1250
Teh Botol
1000
                Buatlah program untuk menghitung berapa yang harus dibayar.
Form yang dibuat :

Catatan :
                Untuk Kotak, gunakan komponent Panel  yang ada di Standar dan untuk Gambar gunakan komponen Image yang ada di additional.
Properti-properti dari Panel :

Properti

Keterangan
Caption
Tulisan yang ada di Panel
Alignment
Peletakan dari Caption, di kiri, tengah atau kanan
BorderWidth
Lebar bingkai panel antara kotak luar dengan kotak dalam
BevelInner
Bentuk kotak dalam
BevelOuter
Bentuk kotal luar
Color
Warna Panel

Properti-properti dari Image :

Properti

Keterangan
AutoSize
Jika berisi true maka bidang gambar mengikuti besarnya gambar.
Picture
Isi gambar yang ada di image
Stretch
Jika berisi true maka seluruh gambar akan tampil dalam bidang yang ditentukan, besar gambar menyesuaikan besarnya bidangnya.
Center
Jika berisi true maka gambar akan ditampilkan di tengah bidang gambar.

Program untuk hitung onclick adalah seperti berikut :
procedure TForm1.THitungClick(Sender: TObject);
const // membuat suatu nilai konstanta
     HargaRental=3500;
     HargaNasGor=3500;
     HargaCocaCola=1250;
     HargaTehBotol=1000;
var
   lama:real;
   TotalRental,TotalMakanMinum,GrandTotal:Real;
   TotalNasgor,TotalCocaCola,TotalTehBotol:real;

begin
     Lama:=StrToFloat(ELama.Text);
     TotalRental:=Lama * HargaRental;
     if CBNasgor.checked=true then
          TotalNasgor:=StrToInt(ENasGor.text) * HargaNasgor
     else
          TotalNasgor:=0;
     if CBCoca.checked=true then
          TotalCocaCola:=StrToInt(ECoca.text) * HargaCocaCola
     else
          TotalCocaCola:=0;
     if CBTeh.checked=true then
          TotalTehBotol:=StrToInt(ETeh.text) * HargaTehBotol
     else
          TotalTehBotol:=0;
     TotalMakanMinum:=TotalNasGor + totalCocaCola + TotalTehBotol;
     GrandTotal:=TotalRental + TotalMakanMinum;
     ERental.text:=FloatToStr(TotalRental);
     EMakan.Text:=FloatToStr(TotalMakanMinum);
     ETotal.Text:=FloatToStr(GrandTotal);
end;

Program untuk tombol Ulang :
procedure TForm1.TUlangClick(Sender: TObject);
begin
     ELama.TexT:='1';
     ENasGor.text:='0';
     ECoca.text:='0';
     ETeh.text:='0';
     CBNasGor.checked:=false;
     CBCoca.checked:=false;
     CBTeh.checked:=false;
     ETotal.TexT:='0';
     EMakan.text:='0';
     ERental.Text:='0';
     ELama.SetFocus;
end;
 
;