Untuk membuat sebuah aplikasi yang dibuat dengan gabungan dari aplikasi-
aplikasi sebelumnya dan ditambah dengan database yang disimulasikan dalam
bentuk database toko buku sederhana. Aplikasi ini dapat dikembangkan menjadi
database toko buku yang sebenarnya jika kita pandai-pandai mengatur dan
mengaplikasikan Delphi 7 yang digunakan untuk membuat aplikasi ini.
Aplikasi ini berisi simulasi database toko buku, yang dilengkapi dengan
menambah data buku, mengurangi (menghapus data buku), mengedit data buku,
sistem pencarian buku, kamera untuk mengambil foto, client-server yang dapat
mengirim informasi data buku dari komputer server ke komputer-komputer client.
LATAR BELAKANG
L a p o r a n P r a k ti k u m Page |
119
Pemograman Komputer Kelompok 2
Database, Webcame & Client Server
- DBGrid1
- GroupBox1
- Label1
- Edit1
- ADOConnection1
- ADOQuery1
- ADOQuery2
- ADOQuery3
- DataSource1
- BitBtn1
- GroupBox2
- Button1
- Button2
- Button3
- Label2
- Label3
- Label4
- Label5
- Label6
- Label7
- Label8
- Edit2
- Edit3
- Edit4
- Edit5
- Edit6
- Edit7
- Edit8
- Button4
- Button5
- Button6
L a p o r a n P r a k ti k u m Page |
120
Pemograman Komputer Kelompok 2
- VideoCap1
- Buttonnamafile
- Buttonsimpan
- SavePictureDialog1
- Labelnamafile
- Label9
- Label10
- Edit9
- Edituser
- Button7
- Button8
- Button9
- Editsend
- Memo1
- ClientSocket1
- ServerSocket1
1. Buka Program
2. Lakukan Login untuk masuk ke program database
3. Tentukan pilihan antara menambah data, mengedit data, menghapus data,
atau menyimpan gambar
4. Jika menambah data klik tambah
5. Masukkan informasi tentang pelanggan
6. Klik Simpan
7. Jika ingin mengedit data, pilih data yang akan di edit
8. Klik edit
9. Setelah selesai klik simpan
10. Jika ingin menghapus data, pilih data yang akan dihapus
11. Klik hapus
12. Jika ingin menyimpan foto klik namafile untuk menentukan nama file dan
lokasi penyimpanan
L a p o r a n P r a k ti k u m Page |
121
Pemograman Komputer Kelompok 2
13. Klik Simpan untuk menyimpan foto
14. Jika ingin mengirim ke server, masukkan IP Addres dan klik hubungkan
15. Klik kirim ke Server untuk mengirim ke server
16. Klik close untuk menutup program
unit Unit1;
interface
uses
L a p o r a n P r a k ti k u m Page |
122
Pemograman Komputer Kelompok 2
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
private
{ Private declarations }
L a p o r a n P r a k ti k u m Page |
123
Pemograman Komputer Kelompok 2
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
begin
close;
sql.Clear;
quotedstr (Edit1.Text));
open;
end;
L a p o r a n P r a k ti k u m Page |
124
Pemograman Komputer Kelompok 2
if adoquery1.RecordCount = 0 then
begin
Edit1.Text:='';
Edit2.Text:='';
Edit1.SetFocus;
end
else
begin
Edit1.Text:='';
Edit2.Text:='';
Edit1.SetFocus;
end
else
begin
MessageDlg('Login berhasil!'+#13+
edit1.Clear;
edit2.Clear;
form1.Visible :=False;
end
end;
begin
application.Terminate;
end;
begin
end;
begin
end;
L a p o r a n P r a k ti k u m Page |
126
Pemograman Komputer Kelompok 2
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, Buttons, ExtDlgs,
Videocap,
ScktComp;
type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
cari: TEdit;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
DataSource1: TDataSource;
BitBtn1: TBitBtn;
GroupBox2: TGroupBox;
tambah: TButton;
L a p o r a n P r a k ti k u m Page |
127
Pemograman Komputer Kelompok 2
simpan: TButton;
reset: TButton;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit6: TEdit;
Edit5: TEdit;
Edit7: TEdit;
edit: TButton;
hapus: TButton;
batal: TButton;
VideoCap1: TVideoCap;
Buttonnamafile: TButton;
Buttonsimpan: TButton;
SavePictureDialog1: TSavePictureDialog;
Labelnamafile: TLabel;
Label9: TLabel;
Label10: TLabel;
Edit8: TEdit;
eUser: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
eSend: TEdit;
L a p o r a n P r a k ti k u m Page |
128
Pemograman Komputer Kelompok 2
Memo1: TMemo;
ClientSocket1: TClientSocket;
ServerSocket1: TServerSocket;
procedure BitBtn1Click(Sender: TObject);
procedure cariChange(Sender: TObject);
procedure tambahClick(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure simpanClick(Sender: TObject);
procedure editClick(Sender: TObject);
procedure hapusClick(Sender: TObject);
procedure resetClick(Sender: TObject);
procedure batalClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormCreate(Sender: TObject);
procedure ButtonnamafileClick(Sender: TObject);
procedure ButtonsimpanClick(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Error(Sender: TObject; Socket:
TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure Label10MouseEnter(Sender: TObject);
procedure Label10MouseLeave(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
L a p o r a n P r a k ti k u m Page |
129
Pemograman Komputer Kelompok 2
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
function GetNetUser : Ansistring;
var
dwI : DWord;
begin
dwI := MAX_PATH;
SetLength (Result, dwI + 1);
if WNetGetUser (Nil, PChar (Result), dwI) = NO_ERROR then
SetLength (Result, StrLen (PChar (Result)))
else
SetLength (Result, 0)
end;
L a p o r a n P r a k ti k u m Page |
130
Pemograman Komputer Kelompok 2
ADOQuery2.SQL.Add('select * from buku where judul like
"'+Edit5.Text+'%"');
ADOQuery2.Open;
end;
'"'+Edit4.Text+'","'+Edit5.Text+'","'+Edit6.Text+'","'+Edit7.Text+'")');
ADOQuery1.ExecSQL;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from buku');
L a p o r a n P r a k ti k u m Page |
134
Pemograman Komputer Kelompok 2
ADOQuery2.Open;
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='';
Edit7.Text:='';
Edit1.Enabled:=False;
Edit2.Enabled:=False;
Edit3.Enabled:=False;
Edit4.Enabled:=False;
Edit5.Enabled:=False;
Edit6.Enabled:=False;
Edit7.Enabled:=False;
Batal.Enabled:=False;
Reset.Enabled:=False;
Simpan.Enabled:=False;
Tambah.Enabled:=True;
Edit.Enabled:=True;
Hapus.Enabled:=True;
DBGrid1.Enabled:=True;
end;
end;
if Edit.Enabled=False then
begin
if MessageDlg('Apakah Anda yakin mengedit data?',
mtConfirmation, [mbYes,mbNo], 0)=mrYes then
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('update buku set penerbit="'+Edit2.Text+'",'+
L a p o r a n P r a k ti k u m Page |
135
Pemograman Komputer Kelompok 2
'jenis="'+Edit3.Text+'",judul="'+Edit4.Text+'",harga="'+Edit5.Text+'",kete
rangan="'+Edit6.Text+'",stok="'+Edit7.Text+'" where
kodebuku="'+Edit1.Text+'"');
ADOQuery1.ExecSQL;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from buku');
ADOQuery2.Open;
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='';
Edit7.Text:='';
Edit1.Enabled:=False;
Edit2.Enabled:=False;
Edit3.Enabled:=False;
Edit4.Enabled:=False;
Edit5.Enabled:=False;
Edit6.Enabled:=False;
Edit7.Enabled:=False;
Batal.Enabled:=False;
Reset.Enabled:=False;
Simpan.Enabled:=False;
Tambah.Enabled:=True;
Edit.Enabled:=True;
Hapus.Enabled:=True;
DBGrid1.Enabled:=True;
L a p o r a n P r a k ti k u m Page |
136
Pemograman Komputer Kelompok 2
end;
end;
end;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from buku');
ADOQuery2.Open;
end;
end;
end;
L a p o r a n P r a k ti k u m Page |
137
Pemograman Komputer Kelompok 2
procedure TForm2.resetClick(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='';
Edit7.Text:='';
end;
'jenis="'+Edit3.Text+'",judul="'+Edit4.Text+'",harga="'+Edit5.Text+'",kete
rangan="'+Edit6.Text+'",stok="'+Edit7.Text+'" where
kodebuku="'+Edit1.Text+'"');
ADOQuery1.ExecSQL;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from buku');
ADOQuery2.Open;
L a p o r a n P r a k ti k u m Page |
139
Pemograman Komputer Kelompok 2
end;
end;
end;
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
FormUtama.Visible:=True;
Close;
}
if Edit1.Text='' then
begin
ShowMessage('Pilih data yang akan diedit!');
Exit;
end;
if Tambah.Enabled=False then
begin
ShowMessage('Klik batal dahulu untuk mengedit data pembeli!');
Exit;
end;
Edit2.Enabled:=True;
Edit3.Enabled:=True;
Edit4.Enabled:=True;
Edit5.Enabled:=True;
Edit6.Enabled:=True;
Edit7.Enabled:=True;
Simpan.Enabled:=True;
Batal.Enabled:=True;
Edit.Enabled:=False;
Hapus.Enabled:=False;
end;
L a p o r a n P r a k ti k u m Page |
140
Pemograman Komputer Kelompok 2
procedure TForm2.FormCreate(Sender: TObject);
begin
VideoCap1.DriverIndex := 0;
VideoCap1.DriverOpen := true;
VideoCap1.VideoPreview := true;
end;
begin
ServerSocket1.Port:=1880;
ServerSocket1.Open;
eUser.Text := GetNetUser;
end;
end;
end;
end;
end;
L a p o r a n P r a k ti k u m Page |
142
Pemograman Komputer Kelompok 2
procedure TForm2.Button2Click(Sender: TObject);
begin
if (ClientSocket1.Socket.Connected) then
begin
if trim(eUser.Text)='' then
begin
Memo1.Lines.Add(eUser.Text+eSend.Text);
ClientSocket1.Socket.SendText(eUser.Text+eSend.Text);
end
else
begin
Memo1.Lines.Add(eUser.Text+':'+eSend.Text);
ClientSocket1.Socket.SendText(eUser.Text+':'+eSend.Text);
end;
eSend.Text := '';
end;
end;
end;
L a p o r a n P r a k ti k u m Page |
144
Pemograman Komputer Kelompok 2
6. Pilih data yang akan mau di lihat.
7. Tentukan pilihan antara menambah data, mengedit data, menghapus
data, atau menyimpan gambar
8. Jika menambah data masukkan data yang baru
9. Proses menambahkan data
10. Jika ingin mengedit data, pilih data yang akan diedit
11. Proses mengedit data
12. Jika ingin menghapus data, pilih data yang akan dihapus
13. Proses menghapus data
14. Jika ingin menyimpan foto tentukan nama file dan lokasi penyimpanan
15. Proses menyimpan foto
16. Untuk menghubungkan koneksi client server, pilih hubungkan
17. Proses menghubungkan client server
18. Proses mengirim atau menerima pesan
19. End
L a p o r a n P r a k ti k u m Page |
145
Pemograman Komputer Kelompok 2
FLOWCHART
L a p o r a n P r a k ti k u m Page |
146
Pemograman Komputer Kelompok 2
L a p o r a n P r a k ti k u m Page |
147
Pemograman Komputer Kelompok 2
L a p o r a n P r a k ti k u m Page |
148
Pemograman Komputer Kelompok 2
A
Input IP Address
Proses Koneksi
Ada T
koneks
i
Y
Proses mengirim atau
menerima Pesan
Pesan terkirim
Atau Pesan diterima
End
L a p o r a n P r a k ti k u m Page |
149
Pemograman Komputer Kelompok 2
4.3 PENUTUP
KESIMPULAN
L a p o r a n P r a k ti k u m Page |
150
Pemograman Komputer Kelompok 2