RSS

Kuis Pemrograman Visual : Program Data Hewan dengan Delphi

KUIS
PEMROGRAMAN VISUAL

Disusun Untuk Memenuhi Tugas Kuis Mata Kuliah Pemrograman Visual
Kode Mata Kuliah : JFKK232











DOSEN PEMBIMBING :
MULIADI, S.Kom, M.Cs
NIP. 19780422 201012 1 002        


OLEH :
MUHAMMAD RIPANI
NIM. J1F113021
           


























KEMENTERIAN RISET TEKNOLOGI DAN PENDIDIKAN TINGGI
UNIVERSITAS LAMBUNG MANGKURAT
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
PROGRAM STUDI ILMU KOMPUTER
                                                           BANJARBARU           
2014


I.         Deskripsi Program
Program Data Penjualan Hewan
        Program ini bertujuan untuk mendata hewan. Program ini menggunakan delphi 7 dengan database menggunakan mysql. Pengguna harus menginputkan kode hewan, jenis hewan, jenis kelamin hewan, jumlah hewan, harga hewan, dan foto hewan dengan menggunakan webcam. Setelah menginputkan data maka data tersebut akan tersimpan pada database mysql serta akan ditampilkan pada tabel yang telah disediakan.

II.     Interface Program


 Gambar 2.1 Interface dari Program dan nama komponennya


Gambar 2.2 Interface pada database mysql
Gambar 2.3. Interface pada report/form 2

Gambar 2.4. Interface pada Popup Menu (pm1) beserta nama komponennya

III. Coding Program
Nama Komponen
Event
Perintah
Btn3
Onclick
procedure TForm1.btn3Click(Sender: TObject);
var strsql : string;
begin
strsql  :=  'Select * from barang where Kode Hewan like "'  +  edt1.Text  +'%"';
qry1.SQL.Clear;
qry1.SQL.Add(strsql);
qry1.Close;
qry1.Open;
end;
Btn4
Onclick
procedure TForm1.btn4Click(Sender: TObject);
begin
if edt1.text='' then
begin
showmessage('Kode hewan harus diisi !');
edt1.setfocus;
end else
if edt2.text='' then
begin
showmessage('Jenis hewan harus diisi !');
edt2.setfocus;
end else
if edt3.text='' then
begin
showmessage('Jenis kelamin harus diisi !');
edt3.SetFocus;
end else
if edt4.text='' then
begin
showmessage('Jumlah hewan harus diisi !');
edt4.SetFocus;
end else
if edt5.text='' then
begin
showmessage('Harga harus diisi !');
edt5.SetFocus;
end else
begin
if not qry1.locate ('Kode Hewan',edt1.Text,[]) then
qry1.append
else
qry1.edit;
qry1.fieldbyname('Kode Hewan').Value:=edt1.Text;
qry1.fieldbyname('Nama Hewan').Value:=edt2.Text;
qry1.fieldbyname('Jenis Kelamin').Value:=edt3.Text;
qry1.fieldbyname('Jumlah').Value:=edt4.Text;
qry1.fieldbyname('Harga').Value:=edt5.Text;
qry1.post;
end;
end;
Combobox1
Onclick
procedure TForm1.Combobox1Click(Sender: TObject);
begin
FilterGraph1.ClearGraph;FilterGraph1.Active := false;Filter1.BaseFilter.Moniker:=capenum.GetMoniker(combobox1.ItemIndex);FilterGraph1.Active := true;with FilterGraph1 as ICaptureGraphBuilder2 do RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter1 as IBaseFilter, SampleGrabber1 as IBaseFilter, VideoWindow1 as IbaseFilter);FilterGraph1.Play;
end;
Form1
Closequery
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
capenum.Free;FilterGraph1.ClearGraph;FilterGraph1.Active := false;
end;
Form1
Activate
procedure TForm1.FormActivate(Sender: TObject);
var i: integer;
begin
CapEnum:=TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);For i:=0 to CapEnum.CountFilters-1 do begin combobox1.Items.Add(CapEnum.Filters[i].FriendlyName);end;ComboBox1.ItemIndex:=0;ComboBox1Click(Form1);
end;
Btn2
Onclick
procedure TForm1.btn2Click(Sender: TObject);
begin  samplegrabber1.GetBitmap(Image1.Picture.Bitmap);
end;
Btn1
Onclick
procedure TForm1.btn1Click(Sender: TObject);
begin
if SavePictureDialog1.Execute then Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;
Btn10
Onclick
procedure TForm1.btn10Click(Sender: TObject);
begin
edt1.Text:='';
edt2.Text:='';
edt3.Text:='';
edt4.Text:='';
edt5.Text:='';
end;
Btn12
Onclick
procedure TForm1.btn12Click(Sender: TObject);
begin
with Form2.QuickRep1 do
begin
dataset:=form1.Qry1;
form2.QRDBTxt1.DataSet:=Qry1; form2.QRDBTxt1.DataField:= 'Kode Hewan';
form2.QRDBTxt2.DataSet:=Qry1; form2.QRDBTxt2.DataField:= 'Nama Hewan';
form2.QRDBTxt3.DataSet:=Qry1; form2.QRDBTxt3.DataField:= 'Jenis Kelamin';
form2.QRDBTxt4.DataSet:=Qry1; form2.QRDBTxt4.DataField:= 'Jumlah';
form2.QRDBTxt5.DataSet:=Qry1; form2.QRDBTxt5.DataField:= 'Harga';
Preview;
end;
end;
Btn13
Onclick
procedure TForm1.btn13Click(Sender: TObject);
begin
if edt1.Text = '' then
  begin
    Showmessage('Kode hewan masih kosong');
    edt1.SetFocus;
  end else
  if edt2.Text = '' then
  begin
    Showmessage('Jenis hewan masih kosong');
    edt2.SetFocus;
  end else
  if edt3.Text ='' then
  begin
    Showmessage('Jenis kelamin masih kosong');
    edt3.SetFocus;
  end else
  if Edt4.Text ='' then
  begin
    Showmessage('Jumlah hewan masih kosong');
    Edt4.SetFocus;
  end else
  if Edt5.Text ='' then
  begin
    Showmessage('Harga hewan masih kosong');
    Edt5.SetFocus;
  end else
    begin
    with qry1 do
    begin
      Edit;
      FieldByname('Kode Hewan').AsString := edt1.Text;
      FieldByName('Nama Hewan').AsString := Edt2.Text;
      FieldByName('Jenis Kelamin').AsString := edt3.Text;
      FieldByName('Jumlah').AsString := Edt4.Text;
      FieldByName('Harga').AsString := Edt5.Text;
      Post;
      Showmessage('Data berhasil diubah');
    end;
  end;

end;
Btn14
Onclick
procedure TForm1.btn14Click(Sender: TObject);
begin
if MessageDlg('Keluar dari sistem?',mtConfirmation,mbOKCancel,0)=mrok then
Application.Terminate;
end;
Btn11
Onclick
procedure TForm1.btn11Click(Sender: TObject);
var
str:string;
begin
 str:='Anda yakin '+qry1.Fields[1].AsString+' akan dihapus?';
 if (Application.MessageBox(Pchar(str),'Peringatan',MB_YESNO or MB_ICONQUESTION)=IDYES) then
 qry1.Delete;
end;
Keluar1
Onclick
procedure TForm1.Keluar1Click(Sender: TObject);
begin
if MessageDlg('Keluar dari sistem?',mtConfirmation,mbOKCancel,0)=mrok then
Application.Terminate;
end;
Form1
Onc lose
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if MessageDlg('Keluar dari sistem?',mtConfirmation,mbOKCancel,0)=mrok then
      Application.Terminate;
end;
Tmr1
Ontimer
procedure TForm1.tmr1Timer(Sender: TObject);
var tgl:TDateTime;
begin
tgl:=Now;
Stat1.Panels[3].Text:='Waktu  : '+FormatDateTime('tt', tgl);
end;
Form1
Oncreate
procedure TForm1.FormCreate(Sender: TObject);
var tgl:TDateTime;
begin
tgl:=Now;
Stat1.Panels[2].Text:='Tgl  : '+FormatDateTime('ddd d mmm yyyy', tgl);
a:='Muhammad Ripani - J1F113021      ';
end;
Tmr2
Ontimer
procedure TForm1.tmr2Timer(Sender: TObject);
begin
if lbl6.Visible = True then lbl6.Visible :=False
else lbl6.Visible:=True;
end;
Tmr3
Ontimer
procedure TForm1.tmr3Timer(Sender: TObject);
var
i: Integer;
begin
Application.Title := a;
Form1.Caption := a;
for i := 1 to (length(a) - 1) do
a[i] := Application.Title[i + 1];
a[Length(a)] :=
Application.Title[1];
end;


IV. Coding Keseluruhan
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtDlgs, DBCtrls, Grids, DBGrids, ComCtrls, StdCtrls, Buttons,
  ExtCtrls, sSkinManager, acPNG, DSPack, DB, ADODB, DirectShow9, DsUtil,
  Menus, sLabel;

type
  TForm1 = class(TForm)
    sknmngr1: TsSkinManager;
    pnl1: TPanel;
    image1: TImage;
    grp1: TGroupBox;
    lbl1: TLabel;
    lbl2: TLabel;
    lbl3: TLabel;
    lbl4: TLabel;
    lbl5: TLabel;
    ud1: TUpDown;
    dbgrd1: TDBGrid;
    dbnvgr1: TDBNavigator;
    dlgOpenPic1: TOpenPictureDialog;
    con1: TADOConnection;
    qry1: TADOQuery;
    ds1: TDataSource;
    VideoWindow1: TVideoWindow;
    Combobox1: TComboBox;
    btn1: TButton;
    edt1: TEdit;
    edt2: TEdit;
    edt3: TEdit;
    edt4: TEdit;
    edt5: TEdit;
    btn2: TButton;
    Filtergraph1: TFilterGraph;
    samplegrabber1: TSampleGrabber;
    filter1: TFilter;
    Savepicturedialog1: TSavePictureDialog;
    pnl2: TPanel;
    btn4: TSpeedButton;
    btn10: TBitBtn;
    btn3: TBitBtn;
    btn11: TBitBtn;
    btn12: TBitBtn;
    btn13: TBitBtn;
    btn14: TBitBtn;
    pm1: TPopupMenu;
    Keluar1: TMenuItem;
    stat1: TStatusBar;
    tmr1: TTimer;
    lbl6: TLabel;
    tmr2: TTimer;
    tmr3: TTimer;
    procedure btn3Click(Sender: TObject);
    procedure btn4Click(Sender: TObject);
    procedure Combobox1Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormActivate(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure btn10Click(Sender: TObject);
    procedure btn12Click(Sender: TObject);
    procedure btn13Click(Sender: TObject);
    procedure btn14Click(Sender: TObject);
    procedure btn11Click(Sender: TObject);
    procedure Keluar1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure tmr1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure tmr2Timer(Sender: TObject);
    procedure tmr3Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  CapEnum: TSySDevEnum;
  a:string;



implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.btn3Click(Sender: TObject);
var strsql : string;
begin
strsql  :=  'Select * from barang where Kode Hewan like "'  +  edt1.Text  +'%"';
qry1.SQL.Clear;
qry1.SQL.Add(strsql);
qry1.Close;
qry1.Open;
end;

procedure TForm1.btn4Click(Sender: TObject);
begin
if edt1.text='' then
begin
showmessage('Kode hewan harus diisi !');
edt1.setfocus;
end else
if edt2.text='' then
begin
showmessage('Jenis hewan harus diisi !');
edt2.setfocus;
end else
if edt3.text='' then
begin
showmessage('Jenis kelamin harus diisi !');
edt3.SetFocus;
end else
if edt4.text='' then
begin
showmessage('Jumlah hewan harus diisi !');
edt4.SetFocus;
end else
if edt5.text='' then
begin
showmessage('Harga harus diisi !');
edt5.SetFocus;
end else
begin
 if not qry1.locate ('Kode Hewan',edt1.Text,[]) then
    qry1.append
  else
  qry1.edit;
  qry1.fieldbyname('Kode Hewan').Value:=edt1.Text;
  qry1.fieldbyname('Nama Hewan').Value:=edt2.Text;
  qry1.fieldbyname('Jenis Kelamin').Value:=edt3.Text;
  qry1.fieldbyname('Jumlah').Value:=edt4.Text;
  qry1.fieldbyname('Harga').Value:=edt5.Text;

  qry1.post;
     end;
     end;


procedure TForm1.Combobox1Click(Sender: TObject);
begin
FilterGraph1.ClearGraph;FilterGraph1.Active := false;Filter1.BaseFilter.Moniker:=capenum.GetMoniker(combobox1.ItemIndex);FilterGraph1.Active := true;with FilterGraph1 as ICaptureGraphBuilder2 do RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter1 as IBaseFilter, SampleGrabber1 as IBaseFilter, VideoWindow1 as IbaseFilter);FilterGraph1.Play;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
capenum.Free;FilterGraph1.ClearGraph;FilterGraph1.Active := false;
end;

procedure TForm1.FormActivate(Sender: TObject);
var i: integer;
begin
CapEnum:=TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);For i:=0 to CapEnum.CountFilters-1 do begin combobox1.Items.Add(CapEnum.Filters[i].FriendlyName);end;ComboBox1.ItemIndex:=0;ComboBox1Click(Form1);
end;

procedure TForm1.btn2Click(Sender: TObject);
begin
         samplegrabber1.GetBitmap(Image1.Picture.Bitmap);
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
if SavePictureDialog1.Execute then Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;

procedure TForm1.btn10Click(Sender: TObject);
begin
edt1.Text:='';
edt2.Text:='';
edt3.Text:='';
edt4.Text:='';
edt5.Text:='';
end;

procedure TForm1.btn12Click(Sender: TObject);
begin
with Form2.QuickRep1 do
begin
dataset:=form1.Qry1;
form2.QRDBTxt1.DataSet:=Qry1; form2.QRDBTxt1.DataField:= 'Kode Hewan';
form2.QRDBTxt2.DataSet:=Qry1; form2.QRDBTxt2.DataField:= 'Nama Hewan';
form2.QRDBTxt3.DataSet:=Qry1; form2.QRDBTxt3.DataField:= 'Jenis Kelamin';
form2.QRDBTxt4.DataSet:=Qry1; form2.QRDBTxt4.DataField:= 'Jumlah';
form2.QRDBTxt5.DataSet:=Qry1; form2.QRDBTxt5.DataField:= 'Harga';
Preview;
end;
end;

procedure TForm1.btn13Click(Sender: TObject);
begin
if edt1.Text = '' then
  begin
    Showmessage('Kode hewan masih kosong');
    edt1.SetFocus;
  end else
  if edt2.Text = '' then
  begin
    Showmessage('Jenis hewan masih kosong');
    edt2.SetFocus;
  end else
  if edt3.Text ='' then
  begin
    Showmessage('Jenis kelamin masih kosong');
    edt3.SetFocus;
  end else
  if Edt4.Text ='' then
  begin
    Showmessage('Jumlah hewan masih kosong');
    Edt4.SetFocus;
  end else
  if Edt5.Text ='' then
  begin
    Showmessage('Harga hewan masih kosong');
    Edt5.SetFocus;
  end else
    begin
    with qry1 do
    begin
      Edit;
      FieldByname('Kode Hewan').AsString := edt1.Text;
      FieldByName('Nama Hewan').AsString := Edt2.Text;
      FieldByName('Jenis Kelamin').AsString := edt3.Text;
      FieldByName('Jumlah').AsString := Edt4.Text;
      FieldByName('Harga').AsString := Edt5.Text;
      Post;
      Showmessage('Data berhasil diubah');
    end;
  end;

end;

procedure TForm1.btn14Click(Sender: TObject);
begin
if MessageDlg('Keluar dari sistem?',mtConfirmation,mbOKCancel,0)=mrok then
Application.Terminate;
end;


procedure TForm1.btn11Click(Sender: TObject);
var
str:string;
begin
 str:='Anda yakin '+qry1.Fields[1].AsString+' akan dihapus?';
 if (Application.MessageBox(Pchar(str),'Peringatan',MB_YESNO or MB_ICONQUESTION)=IDYES) then
 qry1.Delete;
end;

procedure TForm1.Keluar1Click(Sender: TObject);
begin
if MessageDlg('Keluar dari sistem?',mtConfirmation,mbOKCancel,0)=mrok then
        Application.Terminate;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if MessageDlg('Keluar dari sistem?',mtConfirmation,mbOKCancel,0)=mrok then
      Application.Terminate;
end;

procedure TForm1.tmr1Timer(Sender: TObject);
var tgl:TDateTime;
begin
tgl:=Now;
Stat1.Panels[3].Text:='Waktu  : '+FormatDateTime('tt', tgl);
end;


procedure TForm1.FormCreate(Sender: TObject);
var tgl:TDateTime;
begin
tgl:=Now;
Stat1.Panels[2].Text:='Tgl  : '+FormatDateTime('ddd d mmm yyyy', tgl);

a:='Muhammad Ripani - J1F113021      ';
end;

procedure TForm1.tmr2Timer(Sender: TObject);
begin
if lbl6.Visible = True then lbl6.Visible :=False
else lbl6.Visible:=True;
end;

procedure TForm1.tmr3Timer(Sender: TObject);
var
i: Integer;
begin
Application.Title := a;
Form1.Caption := a;
for i := 1 to (length(a) - 1) do
a[i] := Application.Title[i + 1];
a[Length(a)] :=
Application.Title[1];
end;

end.










 


V.    Output

Gambar 5.1. Tampilan awal ketika program dijalankan

Gambar 5.2. Tampilan ketika memasukkan beberapa data dan menekan tombol Simpan

Gambar 5.3. Tampilan ketika data telah disimpan

Gambar 5.4. Tampilan ketika menekan tombol Baru

Gambar 5.5. Tampilan ketika ingin mencetak data

Gambar 5.6. Tampilan ketika menghapus data

Gambar 5.7. Tampilan ketika mengedit data tapi belum menginputkan data hewan terlebih dahulu

Gambar 5.8. Tampilan mengedit data

Gambar 5.9. Tampilan ketika ingin keluar

Download laporan dan programnya disini. Maaf jika ada kekurangannya ya.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS