Vous êtes sur la page 1sur 11

Membuat Database

CREATE DATABASE `kuliah`


Uses kuliah;

Membuat Tabel

CREATE TABLE `jenis_barang` (


`kd_jenis` CHAR(4) NOT NULL,
`jenis` VARCHAR(40) DEFAULT NULL,
PRIMARY KEY (`kd_jenis`)
) ENGINE=INNODB DEFAULT CHARSET=latin1

Isikan seperti tabel berikut :

Membuat Tabel barang

REATE TABLE `barang` (


`id` CHAR(5) NOT NULL COMMENT 'id
barang', `kd_jenis` CHAR(4) DEFAULT NULL,
`nama_barang` VARCHAR(30) NOT NULL COMMENT 'nama
barang', `satuan` VARCHAR(20) NOT NULL COMMENT 'satuan',
`harga` INT(11) NOT NULL COMMENT 'harga barang',
`stok` INT(11) NOT NULL COMMENT 'stok barang',
`user_id` INT(11) NOT NULL COMMENT 'is user',
PRIMARY KEY (`id`)
) ENGINE=INNODB

Buat Project Delphi

Create New->Application seperti gambar berikut:

Pemrograman Client- Server (Badiyanto, S.Kom., M.Kom) 1 | 10


Data Modul

Tambahkan data Modul dengan New data Modul seperti pada gambar berikut:

Tambahkan beberapa fungsi seperti pada kode program berikut:

unit UnitDm1.pas

unit UnitDm1;

interface

uses
SysUtils, Classes, DB, ADODB,
dialogs,forms,stdctrls,Controls;

type
TDM1 = class(TDataModule)
ADOConnection1: TADOConnection;
ADQRy1: TADOQuery;
ADOQJenis: TADOQuery;
ADOQyCombo: TADOQuery;
AQry: TADOQuery;
private
{ Private declarations
} public
{ Public declarations }
procedure setCombo(Sender:TObject;Tabel,NamaField,Kondisi,urut:string);

function getData(Kon:TADOConnection;NamaTabel,FieldHasil,
Kondisi:string):string;

Pemrograman Client- Server (Badiyanto, S.Kom., M.Kom) 2 | 10


end;

var
DM1: TDM1;

implementation

{$R *.dfm}

// fungsi ngsisi combo


// Cara pakai Dm1.setCombo(ComboBox2,'jenis_barang','jenis','','jenis');
//************************************************************************
procedure TDM1.setCombo(Sender:TObject;Tabel,NamaField,Kondisi,urut:string);
var sql:string;
Begin
sql:='SELECT '+namaField+' FROM
'+tabel; if length(Kondisi)<> 0 then
sql:=sql+' WHERE '+ Kondisi;
if length(urut) <> 0 then
sql:=sql+' ORDER BY
'+urut; ADOQyCombo.Close;
ADOQyCombo.SQL.Clear;
ADOQyCombo.SQL.Add(sql);
try
ADOQyCombo.Open
; except
showmessage('Gagal koneksi server Jalankan Ulang
....'); end;
(sender as
TcomboBox).Items.Clear; while not
ADOQyCombo.Eof do begin
(sender as
TcomboBox).Items.Add(ADOQyCombo.Fieldbyname(Namafield).AsString)
;
ADOQyCombo.Next;
end;
end;

// fungsi baca data/rekaman


// x:=Dm1.getData(dm1.ADOConnect1,'jenis_barang',
// 'kd_jenis','jenis='’’K0012’’’)
//***********************************************************************
*

function
TDM1.getData(Kon:TADOConnection;Nam
aTabel,FieldHasil,
Kondisi:string):string;
var sql:string;
begin
sql:='SELECT '+FieldHasil+' FROM '+NamaTabel+' WHERE
'+ kondisi;
AQry.Connection:=kon;
AQry.Close;
AQry.SQL.Clear;
AQry.SQL.Add(sql);
AQry.Open;
if AQry.RecordCount>0 then
begin
result:=
AQry.FieldByName(FieldHasil).AsString; end
Pemrograman Client- Server (Badiyanto, S.Kom., M.Kom) 3 | 10
else
begin
result :='';
end;
end;

begin

//Application.CreateForm(TDM1, DM1);

end.

unit UnitDm1.pas

Operasi ADOTable

Tambahkan form seperti pada gambar berikut:

Buatlah Rancangan Form seperti berikut:

Pemrograman Client- Server (Badiyanto, S.Kom., M.Kom) 4 | 10


Tambahkan seperti pada kode program berikut:

UnitBarang.pas
unit UnitBarang;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, DB, Grids, DBGrids;

type
TFormBarang = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
EditKode: TEdit;

Pemrograman Client- Server (Badiyanto, S.Kom., M.Kom) 5 | 10


EditNamaBrg: TEdit;
EditSatuan: TEdit;
EditStok: TEdit;
EditHarga: TEdit;
Panel1: TPanel;
BitBtnSimpan: TBitBtn;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
procedure FormActivate(Sender: TObject);
procedure BitBtnSimpanClick(Sender: TObject);
procedure DBGrid1CellClick(Column:
TColumn); private
{ Private declarations
} procedure Kosongkan;

public
{ Public declarations
} end;

var
FormBarang: TFormBarang;

implementation
uses unitDm;

{$R *.dfm}

// Memanggil koneksi //

procedure TFormBarang.FormActivate(Sender:
TObject); begin
Dm.ADOTblBarang.Connection:=Dm.ADOConnPenjulan
; Kosongkan;

end;
//*****************************
// klik tombol simpam
//*************************
*
procedure TFormBarang.BitBtnSimpanClick(Sender:
TObject); begin
Dm.ADOTblBarang.TableName:='barang';
Dm.ADOTblBarang.Open;
Dm.ADOTblBarang.Append;
dm.ADOTblBarang.FieldByName('id').AsString:=EditKode.Text;
dm.ADOTblBarang.FieldByName('nama_barang').AsString:=EditNamaBrg.Text;
dm.ADOTblBarang.FieldByName('satuan').AsString:=EditSatuan.Text;
dm.ADOTblBarang.FieldByName('harga').AsInteger:=StrToInt(EditHarga.Text)
;
dm.ADOTblBarang.FieldByName('stok').AsInteger:=StrToInt(EditStok.Text);
dm.ADOTblBarang.Post;
MessageDlg('Data Sudah disimpan........',
mtInformation, [mbOk], 0);
Kosongkan;
EditKode.SetFocus;
Dm.ADOTable1.open;
end;

// mengosongkan isian

Pemrograman Client- Server (Badiyanto, S.Kom., M.Kom) 6 | 10


procedure TFormBarang.Kosongkan;
begin
EditKode.Text:='';
EditNamaBrg.Text:='';
EditStok.Text:='';
EditSatuan.Text:='';
EditHarga.Text:='';
end;

procedure TFormBarang.DBGrid1CellClick(Column:
TColumn); begin
EditKode.Text:=DBGrid1.DataSource.DataSet.fieldByName('id').AsString;

EditNamaBrg.Text:=DBGrid1.DataSource.DataSet.fieldByName('nama_barang').AsSt
r ing;

end;

end.

UnitBarang.pas

Menggunakan ADOQuery
Rancangan Form

Kode Program:

unit UnitBarang.pas

Pemrograman Client- Server (Badiyanto, S.Kom., M.Kom) 7 | 10


unit UnitBarang2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, ZConnection;

type
TFormBarang2 = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
EditKode: TEdit;
EditNamaBrg: TEdit;
EditSatuan: TEdit;
EditStok: TEdit;
EditHarga: TEdit;
Panel1: TPanel;
BitBtnSimpan: TBitBtn;
Label6: TLabel;
ComboBox1: TComboBox;
Edit1: TEdit;
procedure BitBtnSimpanClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure ComboBox2Change(Sender:
TObject); private
{ Private declarations }
procedure Kosongkan;
function getKode(jenis:string):String;

public
{ Public declarations
} end;

var
FormBarang2: TFormBarang2;

implementation

uses unitDm1;

{$R *.dfm}

// fungsi baca jenis barang

function TFormBarang2.getKode(jenis:string):String;

Pemrograman Client- Server (Badiyanto, S.Kom., M.Kom) 8 | 10


const p='''';
begin

dm1.ADOQJenis.Close;
dm1.ADOQJenis.SQL.Clear;
dm1.ADOQJenis.SQL.Add('SELECT kd_jenis FROM jenis_barang');
dm1.ADOQJenis.SQL.Add('WHERE jenis='+p+jenis+p);

dm1.ADOQJenis.Open;
if dm1.ADOQJenis.RecordCount>0 then
begin
result:= dm1.ADOQJenis.Fields[0].AsString
; end
else
result:='';
end;

procedure TFormBarang2.BitBtnSimpanClick(Sender: TObject);


begin
if EditKode.Text='' then
begin
MessageDlg('Kode tidak boleh kosong........', mtInformation,
[mbOk], 0);
EditKode.SetFocus;
exit;
end;
DM1.ADQRy1.Close;
DM1.ADQRy1.SQL.Clear;
DM1.ADQRy1.SQL.Add('INSERT INTO barang
(id,kd_jenis,nama_barang,satuan,stok,harga,user_id)');

DM1.ADQRy1.SQL.Add('VALUES(:id,:kd,:nama_barang,:satuan,:stok,:harga,:
user_id)');
DM1.ADQRy1.Parameters.ParamByName('id').Value:=EditKode.Text;

DM1.ADQRy1.Parameters.ParamByName('kd').Value:=getKode(ComboBox1.Text
) ;

DM1.ADQRy1.Parameters.ParamByName('nama_barang').Value:=EditNamaBrg.T
e xt;
DM1.ADQRy1.Parameters.ParamByName('satuan').Value:=EditSatuan.Text;

DM1.ADQRy1.Parameters.ParamByName('stok').Value:=StrToInt(EditStok.Te
x t);

DM1.ADQRy1.Parameters.ParamByName('harga').Value:=StrToInt(EditHarga.
T ext);
DM1.ADQRy1.Parameters.ParamByName('user_id').Value:=1;

DM1.ADQRy1.ExecSQL;
MessageDlg('Data Sudah Tersimpan........', mtInformation,
[mbOk], 0);

Pemrograman Client- Server (Badiyanto, S.Kom., M.Kom) 9 | 10


Kosongkan;

EditKode.SetFocus;
end;

procedure TFormBarang2.Kosongkan ;
begin
EditKode.Text:='';
EditNamaBrg.Text:='';
EditSatuan.Text:='';
EditStok.Text:='';
EditHarga.Text:='';
end;

procedure TFormBarang2.FormCreate(Sender: TObject);


begin
Kosongkan;
// mengisi kombo dengan fungsi
Dm1.setCombo(ComboBox1,'jenis_barang','jenis','','jenis');
end;

procedure TFormBarang2.ComboBox1Click(Sender:
TObject); begin
Edit1.Text:=getKode(ComboBox1.Text);
end;
end.
unit UnitBarang.pas

Cara mengisi kombo dari tabel

//ComboBox1.Items.Clear;
dm1.ADOQJenis.Close;
dm1.ADOQJenis.SQL.Clear;
dm1.ADOQJenis.SQL.Add('SELECT * FROM jenis_barang');
dm1.ADOQJenis.Open;

while not dm1.ADOQJenis.Eof do


begin
ComboBox1.Items.Add(dm1.ADOQJenis.fieldByName('jenis').AsString);
dm1.ADOQJenis.Next;
end;

Pemrograman Client- Server (Badiyanto, S.Kom., M.Kom) 10 | 10

Vous aimerez peut-être aussi