Jumat, 31 Oktober 2014

Percabangan

I.      Deskripsi Program
Program dibuat  menggunakan Borland Delphi 7. Program ini berjudul Program Printing. Program ini dibuat untuk memudahkan pengguna untuk menghitung biaya printing. Pengguna hanya perlu menginput jumlah kertas dan jumlah uang yang dibayar. Ketika pengguna mengisi data secara tidak urut, misal langsung menginput jumlah kertas maka akan ada peringatan harus memilih tinta yang digunakan, sehingga mengurangi kesalahan pengguna dan membantu program dalam error handling.
Jika pengguna ingin mengisi data baru cukup menekan tombol clear untuk membersihkan form. Harga perlembar akan berbeda jika kertas yang digunakan berasal dari kopma atau membawa sendiri, jika kertas dari kopma maka harga kertas dengan tinta biasa senilai Rp.250 untuk kertas sendiri Rp.150, untuk warna Rp.500 dari kopma sedangkan dari sendiri Rp.350 dan full warna senilai Rp.1000 dari kopma dan dari sendiri senilai Rp.900.
II.   Interface Program


III.   Coding Program
Nama Komponen
Event
Perintah
btnClr










RdG































cmbKrts





























EdJml

















EdByr









btnExit
OnClick










OnClick































OnClick





























OnChange















OnChange













OnClick
procedure TForm1.btnClrClick(Sender: TObject);
begin
  EdByr.Text:='';
  RdG.ItemIndex:=-1;
  cmbKrts.ItemIndex:=-1;
  EdHrg.Text:='';
  EdTot.Text:='';
  EdJml.Text:='';
  EdKmbl.Text:='';
end;

procedure TForm1.RdGClick(Sender: TObject);
var
  jml:integer;
  tot:longint;
begin
  if rdg.ItemIndex=0 then
     begin
      if cmbKrts.ItemIndex=0 then
        EdHrg.Text:='250'
      else if cmbKrts.ItemIndex=1 then
        EdHrg.Text:='500'
      else if cmbKrts.ItemIndex=2 then
        EdHrg.Text:='1000';
     end
   else
   begin
     if cmbKrts.ItemIndex=0 then
        EdHrg.Text:='150'
      else if cmbKrts.ItemIndex=1 then
        EdHrg.Text:='350'
      else if cmbKrts.ItemIndex=2 then
        EdHrg.Text:='900';
   end;
  if (cmbKrts.ItemIndex=-1) or (rdg.ItemIndex=-1) then
   else
   begin
     jml:=strtoint(EdJml.Text);
     tot:=strtoint(EdHrg.Text)*jml;
     EdTot.Text:=inttostr(tot);
   end;
end;

procedure TForm1.cmbKrtsChange(Sender: TObject);
var
  jml:integer;
  tot:longint;
begin
 if RdG.ItemIndex=-1 then
  showmessage('Harus Pilih Kertas Dari Kopma/Punya Sendiri')
 else
 begin
  if cmbKrts.ItemIndex=0 then
     begin
       if RdG.ItemIndex=0 then
        EdHrg.Text:='250'
       else EdHrg.Text:='150';
     end
  else if cmbKrts.ItemIndex=1 then
     begin
       if RdG.ItemIndex=0 then
        EdHrg.Text:='500'
       else
        EdHrg.Text:='350';
     end
  else if cmbKrts.ItemIndex=2 then
     begin
       if RdG.ItemIndex=0 then
        EdHrg.Text:='1000'
       else
        EdHrg.Text:='900';
     end;
  if (cmbKrts.ItemIndex=-1) or (rdg.ItemIndex=-1) then
   else
   begin
     if EdJml.Text='' then jml:=0
     else
     jml:=strtoint(EdJml.Text);
     tot:=strtoint(EdHrg.Text)*jml;
     EdTot.Text:=inttostr(tot);
   end;
 end;
end;

procedure TForm1.EdJmlChange(Sender: TObject);
var
  jml:integer;
  tot:longint;
begin
  if EdJml.Text='' then jml:=0
   else
    begin
     if cmbKrts.ItemIndex=-1 then
     showmessage('Harus Pilih Tinta Yang Digunakan')
     else
       begin
        jml:=strtoint(EdJml.Text);
        tot:=strtoint(EdHrg.Text)*jml;
        EdTot.Text:=inttostr(tot);
       end;
    end;
end;

procedure TForm1.EdByrChange(Sender: TObject);
var
  Byr,kmb,tot:longint;
begin
 if (RdG.ItemIndex=-1) or (cmbKrts.ItemIndex=-1) or (EdHrg.Text='')
   then showmessage('Input Data Kosong')
 else
 begin
  if EdByr.Text='' then byr:=0
  else byr:=strtoint(EdByr.Text);
  tot:=strtoint(EdTot.Text);
  kmb:=byr-tot;
  EdKmbl.Text:=inttostr(kmb);
 end;
end;

procedure TForm1.btnExitClick(Sender: TObject);
begin
  application.Terminate;
end;

IV.      Output
1.    Tampilan awal program

2.    Tampilan ketika pengguna memasukan data secara tidak terurut

3.    Tampilan setelah memilih kertas dan tinta yang dipakai

4.    Tampilan setelah memasukkan jumlah kertas



5.    Tampilan setelah memasukan pembayaran

Terima Kasih telah membaca postingan ini
Untuk versi lengkap source codenya bisa di download di link bawah ini :


Tidak ada komentar:

Posting Komentar