0% found this document useful (0 votes)
12 views11 pages

Panduan SQL untuk Pemrograman Client-Server

This document discusses how to create a database and tables in MySQL using SQL statements. It also discusses creating a Delphi application to connect to the database and perform CRUD operations on tables using ADO components like TADOConnection, TADOQuery, and TADOTable. Functions are created in a data module to populate combo boxes from database tables and retrieve data. Forms are created to allow adding, editing, and viewing record data from tables.

Uploaded by

Eko Ardiansyah
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views11 pages

Panduan SQL untuk Pemrograman Client-Server

This document discusses how to create a database and tables in MySQL using SQL statements. It also discusses creating a Delphi application to connect to the database and perform CRUD operations on tables using ADO components like TADOConnection, TADOQuery, and TADOTable. Functions are created in a data module to populate combo boxes from database tables and retrieve data. Forms are created to allow adding, editing, and viewing record data from tables.

Uploaded by

Eko Ardiansyah
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

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, [Link]., [Link]) 1 | 10


Data Modul

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

Tambahkan beberapa fungsi seperti pada kode program berikut:

unit [Link]

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, [Link]., [Link]) 2 | 10


end;

var
DM1: TDM1;

implementation

{$R *.dfm}

// fungsi ngsisi combo


// Cara pakai [Link](ComboBox2,'jenis_barang','jenis','','jenis');
//************************************************************************
procedure [Link](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; [Link];
[Link];
[Link](sql);
try
[Link]
; except
showmessage('Gagal koneksi server Jalankan Ulang
....'); end;
(sender as
TcomboBox).[Link]; while not
[Link] do begin
(sender as
TcomboBox).[Link]([Link](Namafield).AsString)
;
[Link];
end;
end;

// fungsi baca data/rekaman


// x:=[Link](dm1.ADOConnect1,'jenis_barang',
// 'kd_jenis','jenis='’’K0012’’’)
//***********************************************************************
*

function
[Link](Kon:TADOConnection;Nam
aTabel,FieldHasil,
Kondisi:string):string;
var sql:string;
begin
sql:='SELECT '+FieldHasil+' FROM '+NamaTabel+' WHERE
'+ kondisi;
[Link]:=kon;
[Link];
[Link];
[Link](sql);
[Link];
if [Link]>0 then
begin
result:=
[Link](FieldHasil).AsString; end
Pemrograman Client- Server (Badiyanto, [Link]., [Link]) 3 | 10
else
begin
result :='';
end;
end;

begin

//[Link](TDM1, DM1);

end.

unit [Link]

Operasi ADOTable

Tambahkan form seperti pada gambar berikut:

Buatlah Rancangan Form seperti berikut:

Pemrograman Client- Server (Badiyanto, [Link]., [Link]) 4 | 10


Tambahkan seperti pada kode program berikut:

[Link]
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, [Link]., [Link]) 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 [Link](Sender:
TObject); begin
[Link]:=[Link]
; Kosongkan;

end;
//*****************************
// klik tombol simpam
//*************************
*
procedure [Link](Sender:
TObject); begin
[Link]:='barang';
[Link];
[Link];
[Link]('id').AsString:=[Link];
[Link]('nama_barang').AsString:=[Link];
[Link]('satuan').AsString:=[Link];
[Link]('harga').AsInteger:=StrToInt([Link])
;
[Link]('stok').AsInteger:=StrToInt([Link]);
[Link];
MessageDlg('Data Sudah disimpan........',
mtInformation, [mbOk], 0);
Kosongkan;
[Link];
[Link];
end;

// mengosongkan isian

Pemrograman Client- Server (Badiyanto, [Link]., [Link]) 6 | 10


procedure [Link];
begin
[Link]:='';
[Link]:='';
[Link]:='';
[Link]:='';
[Link]:='';
end;

procedure TFormBarang.DBGrid1CellClick(Column:
TColumn); begin
[Link]:=[Link]('id').AsString;

[Link]:=[Link]('nama_barang').AsSt
r ing;

end;

end.

[Link]

Menggunakan ADOQuery
Rancangan Form

Kode Program:

unit [Link]

Pemrograman Client- Server (Badiyanto, [Link]., [Link]) 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 [Link](jenis:string):String;

Pemrograman Client- Server (Badiyanto, [Link]., [Link]) 8 | 10


const p='''';
begin

[Link];
[Link];
[Link]('SELECT kd_jenis FROM jenis_barang');
[Link]('WHERE jenis='+p+jenis+p);

[Link];
if [Link]>0 then
begin
result:= [Link][0].AsString
; end
else
result:='';
end;

procedure [Link](Sender: TObject);


begin
if [Link]='' then
begin
MessageDlg('Kode tidak boleh kosong........', mtInformation,
[mbOk], 0);
[Link];
exit;
end;
[Link];
[Link];
[Link]('INSERT INTO barang
(id,kd_jenis,nama_barang,satuan,stok,harga,user_id)');

[Link]('VALUES(:id,:kd,:nama_barang,:satuan,:stok,:harga,:
user_id)');
[Link]('id').Value:=[Link];

[Link]('kd').Value:=getKode([Link]
) ;

[Link]('nama_barang').Value:=EditNamaBrg.T
e xt;
[Link]('satuan').Value:=[Link];

[Link]('stok').Value:=StrToInt([Link]
x t);

[Link]('harga').Value:=StrToInt(EditHarga.
T ext);
[Link]('user_id').Value:=1;

[Link];
MessageDlg('Data Sudah Tersimpan........', mtInformation,
[mbOk], 0);

Pemrograman Client- Server (Badiyanto, [Link]., [Link]) 9 | 10


Kosongkan;

[Link];
end;

procedure [Link] ;
begin
[Link]:='';
[Link]:='';
[Link]:='';
[Link]:='';
[Link]:='';
end;

procedure [Link](Sender: TObject);


begin
Kosongkan;
// mengisi kombo dengan fungsi
[Link](ComboBox1,'jenis_barang','jenis','','jenis');
end;

procedure TFormBarang2.ComboBox1Click(Sender:
TObject); begin
[Link]:=getKode([Link]);
end;
end.
unit [Link]

Cara mengisi kombo dari tabel

//[Link];
[Link];
[Link];
[Link]('SELECT * FROM jenis_barang');
[Link];

while not [Link] do


begin
[Link]([Link]('jenis').AsString);
[Link];
end;

Pemrograman Client- Server (Badiyanto, [Link]., [Link]) 10 | 10

You might also like