Modul Praktikum Delphi
Transcript of Modul Praktikum Delphi
-
5/23/2018 Modul Praktikum Delphi
1/25
PraktikumPemrogramanDelphi 1
PRAKTIKUM PEMROGRAMAN BORLAND DELPHI
1.1 Sekilas Borland Delphi
Delphi adalah perangkat pengembangan aplikasi yang berjalan di sistem operasi Windows. Delphi merupakan
kelanjutan dari Turbo Pascal yang merupakan produk Borland, sekarang telah berganti menjadi Inprise Corporation.
Delphi diluncurkan pertama kali pada tahun 1995.
Borland menyatakan bahwa Delphi merupakan alat yang dapat digunakan untuk Rapid Application Development
(RAD), yang hingga kini tetap terbukti menjadi bahasa pemrograman yang paling baik. Dengan keberhasilan ini maka
Borland (sebelum menjadi Inprise), mengembangkan produk lain yang mirip yakni C++Builder, Jbuilder (Java Language).
Dengan demikian jika kita telah menguasai Delphi dengan mudah kita dapat berpindah menggunakan bahasa lainnya
yaitu C++Builder atau Jbuilder. Kedua produk ini sengaja dibuat memiliki IDE yang sama dengan Delphi.
Selain sebagai aplikasi biasa dengan mudah Delphi membuat aplikasi untuk internet. Seperti Win-CGI (Windows
Common Gateway Interface), ISAPI (Internet Service Application Program Interface) . Bahkan Borland menyatakan
sebagai satu langkah menuju ActiveX. Seperti dengan mudah membuat sebuah aplikasi ActiveForm yang dapat berjalan
pada Internet Explorer sebagai suatu aplikasi biasa. Selain itu Delphi dapat membuat aplikasi MIDAS, pada aplikasi ini
kita harus membuat dua lapis, lapis pertama adalah aplikasi Server yang melayani permintaan aplikasi kedua yaitu Client.Delphi dapat mengakses database Paradox, xBase, MS-Access juga dengan menggunakan ODBC Delphi dapat
mengakses database lain seperti Oracle, Sybase, Interbase, DB2, MS-SQL, MySQL. Sehingga kita dapat berpindah dari
satu database ke database lain tanpa perlu mengubah aplikasi secara keseluruhan.
1.2 Microsof t Access
Microsoft Access merupakan program paket Microsoft office untuk pengolahan database, lengkap dengan
fasilitas query atau permintaan data, form yang berfungsi untuk menginput data dan report untuk menampilkan data. Serta
bisa ditambah dengan fasilitas fasilitas lain, seperti switchboard yang berfungsi untuk navigasi program, serta dapat
dikembangkan dengan menggunakan kode pemrograman visual basic.
1. Membuat Tabel dan Memasukkan RecordsKeyword :
ALTER TABLE INSERT INTOCREATE TABLE SELECT INTODELETE UPDATE
Definisi- ALTER TABLE : keyword yang digunakan untuk memodifikasi column dan constraints dari tabel yang sudah
dibuatConstraint : digunakan untuk membatasi nilai yang akan diinputkan ke dalam field dan untuk menetapkan relasiantar tabel
- CREATE TABLE : keyword yang digunakan memberi perintah pada database untuk membuat sebuah tabel baruData Type : menentukan jenis tipe data tiap kolom/field
- DELETE: statement yang digunakan untuk menghapus record dalam tabel- INSERT : statement yang digunakan untuk menyisipkan/memasukan data ke dalam tabel
- UPDATE : statement yang digunakan untuk memperbaharui record yang ada dalam table
CREATE TABLE SyntaxCREATE TABLE Tablename(
Columnname Datatype Field Size, [NULL | NOT NULL][optional constraints]
);
-
5/23/2018 Modul Praktikum Delphi
2/25
Tipe Dat
a
PraktikumP
mrogramanDelphi 2
-
5/23/2018 Modul Praktikum Delphi
3/25
PraktikumPemrogramanDelphi 3
Contoh 1 :
CREATE TABLE Toys(
ToyID INTEGER CONSTRAINT ToyPk PRIMARY KEY,ToyName CHAR (30) NOT NULL,Price MONEY NOT NULL,Description CHAR (40) NULL
);
Untuk melihat hasil tabel tersebut ketik kode berikut :
SELECT * FROM Toys;
Contoh 2 :
CREATE TABLE Manufacturers(
ManufacturerID INTEGER CONSTRAINT ManfID PRIMARY KEY,ToyID INTEGER NOT NULL,CompanyName CHAR (50) NOT NULL,Address CHAR (50) NOT NULL,City CHAR (20) NOT NULL,State CHAR (2) NOT NULL,
Postalcode CHAR (5) NOT NULL,Areacode CHAR (3) NOT NULL,Phonenumber CHAR (8) NOT NULL UNIQUE,CONSTRAINT ToyFk FOREIGN KEY (ToyID) REFERENCES Toys (ToyID)ON UPDATE CASCADEON DELETE CASCADE
);
Menambah Constraint ke dalam tableSyntax :
ALTER TABLE TablenameADD COLUMN ColumnName ColumnType (Size) ColumnConstraint |DROP COLUMN ColumnName |ADD CONSTRAINT ColumnConstraint |DROP CONSTRAINT ColumnConstraint;
Contoh 3 :ALTER TABLE ToysADD CONSTRAINT ToyNameUnique UNIQUE (ToyName);
ALTER TABLE ToysDROP CONSTRAINT ToyNameUnique;
Contoh 4 :ALTER TABLE ToysADD CONSTRAINT CheckAmountCHECK (Price > 3);
ALTER TABLE ToysDROP CONSTRAINT CheckAmount;
Menambahkan constraint PRIMARY KEY, FOREIGN KEY, dan NOT NULLSyntax
ALTER TABLE TablenameADD CONSTRAINT ConstraintName PRIMARY KEY (ColumnName);ALTER TABLE TablenameADD CONSTRAINT ConstraintName FOREIGN KEY (ColumnName)REFERENCES LinkedTableName (PrimaryKey);ALTER TABLE TablenameALTER COLUMN ColumnName Datatype (Field size) NOT NULL;
-
5/23/2018 Modul Praktikum Delphi
4/25
PraktikumPemrogramanDelphi 4
Memasukan DataSyntax :
INSERT INTO Tablename [(ColumnNames, ...)]VALUES (values, ...);
Contoh 5 :INSERT INTO Toys (ToyID, ToyName, Price, Description)VALUES (1, 'ToyTrain1', 11.00, 'Red/blue battery powered train');
INSERT INTO Toys (ToyID, ToyName, Price, Description)VALUES (2, 'ToyTrain2', 11.00, 'Green/red/blue battery powered train');
INSERT INTO Toys (ToyID, ToyName, Price, Description)VALUES (3, 'ElectricTrain', 15.00, 'Red/white AC/DC powered train');
INSERT INTO Toys (ToyID, ToyName, Price, Description)VALUES (4, 'LivingDoll1', 12.00, 'Asian American Doll');
INSERT INTO Toys (ToyID, ToyName, Price, Description)VALUES (5, 'LivingDoll2', 12.00, 'African American Doll');
Menampilkan DataSELECT *FROM Toys;
Memasukan Data tanpa menuliskan nama kolomContoh 6 :
INSERT INTO ToysVALUES (6, 'Doll House', 17.00, 'Grand Town House');
Memasukan nilai NULLContoh 7 :
INSERT INTO ToysVALUES (7, 'Doll/Town House', 15.00, NULL);
Mengcopy records dari satu table ke table lainContoh 8 :
CREATE TABLE ToysTest(
ToyID CHAR (7) CONSTRAINT ToyPk PRIMARY KEY,ToyName CHAR (30) NOT NULL,Price MONEY NOT NULL,Description CHAR (40) NULL);
Copy Data :INSERT INTO ToysTest (ToyID, ToyName, Price, Description)SELECT ToyID, ToyName, Price, Description
FROM Toys;
Tampilkan Data :SELECT *FROM ToysTest;
Menyalin Records dari Satu Tabel ke Tabel Baru Bersamaan
Contoh 9 :SELECT ToyID, ToyName, Price, DescriptionINTO Toys2FROM Toys;
Memperbarui recordsSyntax :
UPDATE TablenameSET ColumnName = ValueWHERE Condition;
-
5/23/2018 Modul Praktikum Delphi
5/25
PraktikumPemrogramanDelphi 5
Contoh 10 :UPDATE ToysSET Description = Town HouseWHERE ToyID = 7;
Menghapus records :Syntax :
DELETE FROM Tablename
WHERE Condition
Contoh 11 :DELETE FROM Toys2WHERE ToyID = 7;
2. Mengambil / Menampilkan Records
KeywordsAS ORDER BYASC SELECTDESC TOPDISTINCT TOP PERCENTDISTINCTROW
Definisi :AS - Digunakan untuk menetapkan nama alternatif untuk sebuah kolom atau tabel.ASC - Digunakan untuk mengurutkan nilai-nilai kolom dalam urutan ascendingDESC - Digunakan untuk mengurutkan kolom nilai-nilai dalam urutan descendingDISTINCT - Digunakan untuk menampilkan nilai-nilai unik di kolom.DISTINCTROW - Digunakan untuk menghilangkan record duplikat.ORDER BY - Digunakan untuk menyortir record secara ascending atau descendingSELECT - Digunakan untuk mengambil record dari database.TOP - Digunakan untuk menampilkan record yang diambil dari bagian atas atau bagian bawah table menggunakanORDER BYTOP PERCENT - Digunakan untuk menampilkan persentase record yang diambil dari bagian atas atau bagian bawahtable menggunakan ORDER BY
Pernyataan Select :Syntax :
SELECT Columnname(s) FROM TableName(s);
Contoh 1 :SELECT ToyName, PriceFROM Toys;
Data diurut secara Descending :Contoh 2 :
SELECT *FROM ToysORDER BY ToyName DESC;
Data diurut secara Ascending :Contoh 3 :
SELECT *FROM Toys
ORDER BY ToyName;SELECT *FROM ToysORDER BY ToyName ASC;
Buat Tabel Employees :CREATE TABLE Employees(
SocialSecNum CHAR (11) CONSTRAINT NumPk PRIMARY KEY,Firstname CHAR (50),Lastname CHAR (50),Address CHAR (50),
-
5/23/2018 Modul Praktikum Delphi
6/25
PraktikumPemrogramanDelphi 6
Zipcode CHAR (10),Areacode CHAR (3),PhoneNumber CHAR (8)
);Isi terlebih dahulu datanya minimal 5 buah data!
Data diurut berdasarkan beberapa kolom :Contoh 4 :
SELECT Lastname, FirstnameFROM EmployeesORDER BY Lastname, Firstname;
Data diurut menggunakan nomor urutan kolom :Contoh 5 :
SELECT *FROM EmployeesORDER BY 3, 2;
Contoh 6 :SELECT Lastname, Firstname, PhoneNumberFROM EmployeesORDER BY 1, 2;
Penanganan Nilai Ganda / Duplikat
Menggunakan DISTINCT Keyword :Contoh 7 :
SELECT DISTINCT PriceFROM Toys;
TOP Keyword :Contoh 8 :
SELECT TOP 3 CompanyName, PostalCodeFROM ManufacturersORDER BY PostalCode DESC;
Contoh 9 :SELECT TOP 3 CompanyName, PostalCodeFROM Manufacturers
ORDER BY PostalCode;
TOP PERCENT Keyword :Contoh 10 :
SELECT TOP 50 PERCENT CompanyNameFROM ManufacturersORDER BY CompanyName;
Contoh 11 :SELECT TOP 50 PERCENT CompanyNameFROM ManufacturersORDER BY CompanyName DESC;
3. Menyaring Record
KeywordsWHERE
DefinisiOperator Pembanding : Digunakan untuk melakukan perbandingan antara ekspresiExpression : Tipe data apapun yang mengembalikan sebuah nilaiLogical operators : Digunakan untuk menguji kebenaran dari beberapa kondisi.Klausa WHERE : Digunakan untuk menyaring recordWildcard characters : Karakter khusus yang digunakan untuk mencocokkan bagian-bagian dari sebuah nilai
-
5/23/2018 Modul Praktikum Delphi
7/25
Operato
Logical
Operato
Contoh 1
LIKE Op
Contoh 2
Pembandin
perators
Precedenc
:SELECT SeriFROM CompWHERE (BraAND OfficeN
erator
:SELECT *FROM ToolsWHERE Man
g
alNum, Brandutersnd = 'Dell' Omber < 130;
ufacturer LIK
, Department
Brand = 'Gat
'D*' AND Lo
eway')
cation LIKE '[
-C]';
PraktikumP mrogramanDelphi 7
-
5/23/2018 Modul Praktikum Delphi
8/25
PraktikumPemrogramanDelphi 8
Contoh 3 :SELECT *FROM ToolsWHERE Manufacturer LIKE '*H';
Contoh 4 :SELECT *
FROM ToolsWHERE Manufacturer LIKE '*Dewalt*';
Contoh 5 :SELECT *FROM ToolsWHERE Manufacturer LIKE 'Bos?h';
Contoh 6 :SELECT *FROM ToolsWHERE ToolID LIKE '1#';
Contoh 7 :SELECT *FROM Tools
WHERE Location LIKE '[!A-C]';
Contoh 8 :SELECT *FROM ToolsWHERE ToolID LIKE '[!1-5]';
Contoh 9 :SELECT *FROM ToolsWHERE ToolID LIKE 'b[!a-e]#';
BETWEEN Operator
Contoh 10 :
SELECT *FROM ToolsWHERE ToolID BETWEEN 3 AND 10;
SELECT *FROM ToolsWHERE ToolID >= 3 AND ToolID
-
5/23/2018 Modul Praktikum Delphi
9/25
PraktikumPemrogramanDelphi 9
2.1 Membuat Aplikasi Kepegawaian
Membuat aplikasi database kepegawaian yang memuat informasi tentang biodata pegawai sebuah perusahaan
beserta data aktifitas pekerjaannya.
2.1.1 Membuat database kepegawaian
Langkah-langkah untuk membuat database kepegawaian menggunakan Microsoft Access.
1. Buka aplikasi Microsoft Access 2007 yang sudah terinstal pada komputer
2. Klik File -> New -> Blank Database
3. Pada isian File Name, klik tombol browse yang ada disebelah kanannya kemudian pindahkan aktif folder pada
Drive D: , lalu buatlah folder dengan nama Anda dan klik Open pada folder tersebut
4. Berikutnya ketik DBPraktikum_NPM pada isian File name dan pilih Microsoft Access Database (2002-2003
Format) (*.mdb).
5. Lalu klik OK. Terakhir klik Create.
6. Buatlah tabel pegawai dengan struktur sebagai berikut :
Tabel Name : Biodata
Field Name Data Type Field Size Key
NIP Text 5 Primary KeyNama Text 30Tempat_Lahir Text 15Tanggal_Lahir DateTimeAlamat Text 50Kode_POS Text 5Telp Text 15
Tabel Name : Kepegawaian
Field Name Data Type Field Size Key
NIP Text 5Jabatan Text 25Golongan Text 10Bidang_Kerja Text 25Tanggal_Masuk DateTimeStatus Text 10
7. Setelah tabel selesai dibuat, isi data setiap tabel minimal 3 buah data sebagai sampel.
Relasi Tabel
Dari struktur tabel yang telah dibuat diatas, maka dapat dilihat ada relasi antara kedua tabel tersebut. Kunci relasi
dari kedua tabel tersebut adalah Field NIP. Field NIP pada tabel Bidoata digunakan sebagai kunci primer (Primary Key)
yang berfungsi sebgai pengidentifikasi unik setiap record yang terdapat pada tabel tersebut. Sedangkan Field NIP pada
tabel Kepegawaian digunakan sebagai kunci tamu (Foreign Key) yang berfungsi sebagai kunci referensi terhadap tabel
Biodata, sehingga data Tabel Kepegawaian memiliki ketergantungan terhadap data pada Tabel Biodata. Kardinalitas dari
kedua tabel tersebut adalah 1 : 1 , artinya setiap pegawai yang terdaftar pada tabel Biodata akan berrelasi dengan satu
record pada Tabel Kepegawaian.
Field Name Data Type Field Size Key
NIP Text 5 Primary Key
Field Name Data Type Field Size Key
NIP Text 5
-
5/23/2018 Modul Praktikum Delphi
10/25
PraktikumPemrogramanDelphi 10
2.1.2 Membuat Aplikasi Kepegawaian Menggunakan Borland Delphi
Aplikasi database kepegawaian yang dibuat menggunakan borland delphi 7. Buatlah tampilan visual (User
Interface) seperti di bawah ini!
Pemberian nama komponen silahkan diatur sendiri, boleh juga menggunakan penamaan bawaan dari Delphinya.
Tambahkan komponen Data Aware diantaranya adalah :
Nama Komponen PropertyAdoConnection Name : AdoConnection1
Login Prompt : FalseConnection String :Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\DOCUMENT ~\PraktikumDelphi\DBPraktikum.mdb;Persist Security Info=FalseConnected : True
AdoQuery Name : Adoquery1
SQL : Select * From BiodataActive : True
DataSource Name : Datasource1DataSet : Adoquery1
DBGrid DataSource : Datasource1
-
5/23/2018 Modul Praktikum Delphi
11/25
PraktikumPemrogramanDelphi 11
Listing Kode Program
EVENT ONCREATE
Event OnCreate pada form untuk membersihkan field dan menampilkan data pada DBGrid
procedure TFormbi odata. FormCr eat e(Sender: TObj ect ) ;begi n/ / kosongkan semua f i el dEdi t ni p. Cl ear;Edi t namapeg. Cl ear ;Edi t t empat l ahi r . Cl ear;Edi t al amat . Cl ear ;Edi t pos. Cl ear ;Edi t t el epon. Cl ear;Edi tcar i . Cl ear ;DateTi mePi cker l ahi r . Date : = Now( ) ;
/ / t ampi l kan semua dat a kar yawan pada dbgr i dbi odat awi t h ADOQuer y1 do
begi nActi ve : = Fal se;
SQL. Cl ear ;SQL. Text : =
' SELECT * FROM BI ODATA ' ;Act i ve : = True;
end;end;
EVENT BUTTONSAVE
Proses button Save. Untuk menyimpan data pada Database, dilengkapi dengan validasi Field NIP tidak kboleh kosong
dan tidak boleh terjadi duplikasi NIP
procedur e TFor mbi odata. Butt onsaveCl i ck(Sender : TObj ect) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosongi f Lengt h( Edi t ni p. Text ) < 1 t hen
begi nMessageDl g( ' Fi el d NI P ti dak bol eh kosong!' , mt Warni ng, [ mbOK] , 0) ;Exi t ;
end;
/ / val i dasi dupl i kasi NI P pegawaiwi t h ADOQuer y1 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT * FROM BI ODATA WHERE NI P = ' + Quot edSt r ( Edi t ni p. Text ) ;Act i ve : = True;
/ / t ampi l kan pesan j i ka t er j adi dupl i kasi/ / dan kel uar proses SAVEi f ADOQuery1. Recor dCount > 0 t hen
begi nMessageDl g(' Ter j adi dupl i kasi NI P. Si l ahkan ganti dengan yang
bar u! ' , mt Er r or , [ mbOK] , 0) ;Edi tni p. Cl ear;Edi t ni p. Set Focus;
/ / kel uar dari proses i nsertExi t ;
end;
-
5/23/2018 Modul Praktikum Delphi
12/25
PraktikumPemrogramanDelphi 12
end;
/ / proses s i mpan bi odata pegawaiwi t h ADOQuer y1 do
begi nSQL. Cl ear ;SQL. Text : =
' I NSERT I NTO BI ODATA( NI P, Nama, Tempat _Lahi r , Tanggal _Lahi r , Al amat , Kode_POS, Tel p)
VALUES ( ' + Quot edSt r ( Edi t ni p. Text) + ' , ' +QuotedSt r ( Edi t namapeg. Text ) + ' , ' +Quot edSt r ( Edi t t empat l ahi r . Text) + ' , ' +
' #' + Dat eToSt r ( Dat eTi mePi cker l ahi r . Dat e) + ' #' + ' , ' + QuotedSt r ( Edi t al amat. Text) + ' , ' +
QuotedSt r ( Edi t pos. Text) + ' , ' +Quot edSt r( Edi t t el epon. Text ) + ' ) ' ;
ExecSQL;MessageDl g( ' Data sudah t ersi mpan' , mt I nf ormati on, [ mbOK] , 0);
/ / panggi l event f ormcr eat e unt uk meref r esh dat a pada dbgri dFormCr eat e(Sender) ;
end;end;
EVENT DBGRIDDOUBLECLICK
Proses double click dbGrid untuk mengcopy data dari DbGrid ke dalam field di form
procedur e TFormbi odata. DBGr i dbi odataDbl Cl i ck(Sender: TObj ect) ;
begi n
/ / pr oses meng- copy i si dbgr i d ke dal am f i el d dal am f or m
Edi t ni p. Text : = DBGr i dbi odat a. Fi el ds[ 0] . AsSt r i ng;
Edi t namapeg. Text : = DBGr i dbi odat a. Fi el ds[ 1] . AsSt r i ng;
Edi t t empat l ahi r . Text : = DBGr i dbi odat a. Fi el ds[ 2] . AsSt r i ng;
DateTi mePi cker l ahi r . Date : = DBGr i dbi odata. Fi el ds[ 3]. AsDateTi me;
Edi t al amat . Text : = DBGr i dbi odat a. Fi el ds[ 4] . AsSt r i ng;Edi t pos. Text : = DBGr i dbi odat a. Fi el ds[ 5] . AsSt r i ng;
Edi t t el epon. Text : = DBGr i dbi odat a. Fi el ds[6]. AsSt ri ng;
Edi t ni p. Set Focus;
end;
EVENT BUTTONUPDATE
Proses untuk memperbaharui biodata pegawai
procedur e TFormbi odata. Butt onupdateCl i ck(Sender: TObj ect) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosongi f Lengt h( Edi t ni p. Text ) < 1 t hen
begi nMessageDl g( ' Pi l i h sal ah sat u dat a pada DBGRI D! ' , mt Warni ng, [ mbOK] , 0) ;Exi t ;
end;
/ / proses updat e bi odata pegawaiwi t h ADOQuer y1 do
begi nSQL. Cl ear ;SQL. Text : =
' UPDATE BI ODATA SET ' +' NAMA = ' + Quot edSt r ( Edi t namapeg. Text ) + ' , ' +
-
5/23/2018 Modul Praktikum Delphi
13/25
PraktikumPemrogramanDelphi 13
' Tempat_Lahi r = ' + Quot edSt r ( Edi t t empat l ahi r . Text) + ' , ' +' Tanggal _Lahi r = ' + ' #' + Dat eToSt r ( Dat eTi mePi cker l ahi r . Dat e) + ' #' + ' , ' +' Al amat = ' + QuotedSt r ( Edi t al amat . Text ) + ' , ' +' Kode_POS = ' + Quot edSt r ( Edi t pos. Text ) + ' , ' +' Tel p = ' + QuotedSt r ( Edi t t el epon. Text ) +' WHERE NI P = ' + Quot edSt r ( Edi t ni p. Text) ;
ExecSQL;MessageDl g( ' Data sudah di perbaharui ' , mt I nformati on, [ mbOK] , 0) ;
end;
/ / panggi l event f ormcr eat e unt uk meref r esh dat a pada dbgri dFormCr eat e(Sender) ;
end;
EVENT BUTTONDELETE
Proses untum menghapus salah satu Biodata pegawai berdasarkan NIP yang dipilih dari DBGrid
procedur e TFormbi odata. Butt ondel eteCl i ck(Sender: TObj ect) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosongi f Lengt h( Edi t ni p. Text ) < 1 t hen
begi n
MessageDl g( ' Pi l i h sal ah sat u dat a pada DBGRI D! ' , mt Warni ng, [ mbOK] , 0) ;Exi t ;end;
/ / proses hapus bi odata pegawaii f Appl i cat i on. MessageBox(' Apakah anda akan menghapus data i ni ?' , ' Warni ng' , MB_YESNO) =
mr Yes t henbegi n
wi t h ADOQuer y1 dobegi n
SQL. Cl ear ;SQL. Text : =
' DELETE FROM BI ODATA WHERE NI P = ' + Quot edStr ( Edi t ni p. Text ) ;ExecSQL;MessageDl g(' Data sudah t erhapus' , mt I nformati on, [ mbOK] , 0) ;
end;
end;
/ / panggi l event f ormcr eat e unt uk meref r esh dat a pada dbgri dFormCr eat e(Sender) ;
end;
EVENT ONCHANGE PENCARIAN DATA
Proses untuk mencari data dari tabel Biodata berdasarkan nama pegawai
procedur e TFormbi odata. Edi t cari Change( Sender: TObj ect) ;begi n
/ / proses pencari an bi odat a pegawai ber dasar kan nama pegawai/ / di buat di dal am event onChange edi t car iwi t h ADOQuer y1 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT * FROM BI ODATA WHERE NAMA LI KE ' + Quot edStr ( ' %' +Edi t car i . Text +' %' ) ;Act i ve : = True;
end;
end;
2.1.3 Form Kepegawaian
-
5/23/2018 Modul Praktikum Delphi
14/25
PraktikumPemrogramanDelphi 14
Buatlah sebuah form seperti dibawah ini. Form ini digunakan untuk memproses data kepegawaian berdasarkan data
pegawai yang sudah diolah pada form Biodata
Item ComboBox Jabatan diisi dengan :
Direktur Wakil Direktur Kepala Bagian Kepala Sub Staff
Item ComboBox Golongan diisi dengan :
I II III IV
Item ComboBox Golongan diisi dengan :
Administrasi Keuangan Umum SDM Marketing Produksi Gudang
-
5/23/2018 Modul Praktikum Delphi
15/25
PraktikumPemrogramanDelphi 15
Item ComboBox Status diisi dengan :
Aktif Cuti Keluar
Listing Kode Program
Buatlah Variable Global dengan nama
nip : String;
EVENT ONCREATE
procedure TFor mkepeg. FormCr eat e(Sender: TObj ect ) ;begi n
ni p : = ' ' ;Edi t cari ni p. Cl ear;Label namapeg. Capt i on : = ' . . . . ' ;ComboBoxj abatan. Text : = ' ' ;ComboBoxgol ongan. Text : = ' ' ;
ComboBoxbi dangker j a. Text : = ' ' ;ComboBoxstatus. Text : = ' ' ;Dat eTi mePi cker kepeg. Dat e : = Now( ) ;
/ / t ampi l kan semua data kepegawai an pada dbgr i dwi t h ADOQuer y2 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT * FROM KEPEGAWAI AN ' ;Act i ve : = True;
end;
end;
EVENT ONDOUBLECLICK DBGRID KEPEGAWAIAN
procedure TFor mkepeg. DBGr i dkepegawai anDbl Cl i ck( Sender: TObj ect ) ;begi n
/ / t ampi l kan dat a pada f i el d di dal am f or m
ni p : = DBGr i dkepegawai an. Fi el ds[ 0] . AsSt r i ng;/ / l akukan proses pencar i an nama pegawai unt uk di t ampi l kan pada l abel namapeg/ / ber dasar kan ni pwi t h ADOQuer y3 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT NAMA FROM BI ODATA WHERE NI P = ' + Quot edSt r ( ni p) ;
Act i ve : = True;
/ / t ampi l kan nama pegawaiLabel namapeg. Capt i on : = ADOQuer y3. Fi el dVal ues[ ' NAMA' ] ;
end;
ComboBoxj abatan. Text : = DBGr i dkepegawai an. Fi el ds[ 1] . AsSt r i ng;ComboBoxgol ongan. Text : = DBGr i dkepegawai an. Fi el ds[ 2] . AsSt r i ng;ComboBoxbi dangker j a. Text : = DBGr i dkepegawai an. Fi el ds[ 3] . AsStr i ng;DateTi mePi ckerkepeg. Date : = DBGr i dkepegawai an. Fi el ds[ 4] . AsDat eTi me;ComboBoxst atus. Text : = DBGr i dkepegawai an. Fi el ds[ 5] . AsStr i ng;
-
5/23/2018 Modul Praktikum Delphi
16/25
PraktikumPemrogramanDelphi 16
end;
EVENT ONCHANGE PENCARIAN DATA PEGAWAI
procedur e TFormkepeg. Edi t cari ni pChange(Sender : TObj ect) ;begi n
/ / proses pencar i an NI P dan Nama pegawai berdasar kan namanya
wi t h ADOQuer y3 dobegi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT * FROM BI ODATA WHERE NAMA LI KE ' + Quot edStr ( ' %' +Edi t car i ni p. Text +' %' ) ;Act i ve : = True;
end;end;
EVENT ONDOUBLECLICK DBGRIDPENCARIAN
procedure TFor mkepeg. DBGr i dpencar i anDbl Cl i ck( Sender: TObj ect ) ;begi n
/ / mengambi l ni l ai NI P, hasi l dari quer y pencar i an ni p/ / dan di si mpan pada var i abel gl obal ni pni p : = ADOQuer y3. Fi el dVal ues[ ' NI P' ] ;
Label namapeg. Capt i on : = ADOQuer y3. Fi el dVal ues[ ' NAMA' ] ;ComboBoxj abat an. Set Focus;
end;
EVENT SAVE BUTTONSAVE
procedur e TFormkepeg. But t onsaveCl i ck(Sender : TObj ect) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosongi f ni p = ' ' then
begi nMessageDl g( ' Cari data pegawai t erl ebi h dahul u! ' , mt Warni ng, [ mbOK] , 0) ;Exi t ;
end;
/ / val i dasi dupl i kasi NI P pegawaiwi t h ADOQuer y2 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT * FROM KEPEGAWAI AN WHERE NI P = ' + QuotedSt r ( ni p) ;Act i ve : = True;
/ / t ampi l kan pesan j i ka t er j adi dupl i kasi/ / dan kel uar proses SAVEi f ADOQuery2. Recor dCount > 0 t hen
begi nMessageDl g(' Ter j adi dupl i kasi NI P. Si l ahkan ganti dengan yang
bar u! ' , mt Er r or , [ mbOK] , 0) ;Edi tcari ni p. Cl ear;Edi t car i ni p. Set Focus;
/ / kel uar dari proses i nsertExi t ;
end;end;
/ / proses si mpan dat a kepegawai an ber dasar kan NI Pwi t h ADOQuer y2 do
-
5/23/2018 Modul Praktikum Delphi
17/25
PraktikumPemrogramanDelphi 17
begi nSQL. Cl ear ;SQL. Text : =
' I NSERT I NTO KEPEGAWAI AN( NI P, J abatan, Gol ongan, Bi dang_Kerj a, Tanggal _Masuk, Status)VALUES ( ' +
QuotedSt r ( ni p) + ' , ' +Quot edStr ( ComboBoxj abatan. Text ) + ' , ' +
Quot edSt r ( ComboBoxgol ongan. Text ) + ' , ' +
Quot edStr ( ComboBoxbi dangkerj a. Text ) + ' , ' +' #' + DateToSt r ( DateTi mePi cker kepeg. Date) + ' #' + ' , ' + QuotedSt r ( ComboBoxstat us. Text) + ' ) ' ;
ExecSQL;MessageDl g( ' Data sudah t ersi mpan!' , mt I nf ormati on, [ mbOK] , 0);FormCr eat e(Sender) ;
end;
end;
EVENT EVENT UPDATE BUTTONUPDATE
procedure TFor mkepeg. Butt onupdat eCl i ck( Sender: TObj ect ) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosong
i f ni p = ' ' thenbegi nMessageDl g( ' Cari t erl ebi h dahul u pegawai nya!' , mt Warni ng, [ mbOK] , 0) ;Exi t ;
end;
/ / proses updat e dat a kepegawai anwi t h ADOQuer y2 do
begi nSQL. Cl ear ;SQL. Text : =
' UPDATE KEPEGAWAI AN SET ' + ' J abatan = ' + Quot edStr ( ComboBoxj abatan. Text ) + ' , ' +
' Gol ongan = ' + Quot edStr ( ComboBoxgol ongan. Text ) + ' , ' + ' Bi dang_Ker j a = ' + Quot edStr ( ComboBoxbi dangker j a. Text ) + ' , ' +
' Tanggal _Masuk = ' + ' #' + DateToStr ( DateTi mePi cker kepeg. Date) + ' #' + ' , ' +
' Stat us = ' + Quot edStr ( ComboBoxst atus. Text ) +' WHERE NI P = ' + QuotedSt r ( ni p) ;ExecSQL;MessageDl g( ' Data sudah di perbaharuo! ' , mt I nf ormati on, [ mbOK] , 0);FormCr eat e(Sender) ;
end;
end;
EVENT DELETE BUTTONDELETE
procedur e TFormkepeg. But t ondel eteCl i ck(Sender : TObj ect) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosongi f ni p = ' ' then
begi nMessageDl g( ' Cari t erl ebi h dahul u pegawai nya!' , mt Warni ng, [ mbOK] , 0) ;Exi t ;
end;
/ / proses hapus data kepegawai ani f Appl i cat i on. MessageBox(' Apakah anda akan menghapus data i ni ?' , ' Warni ng' , MB_YESNO) =
mr Yes t henbegi n
wi t h ADOQuer y2 dobegi n
SQL. Cl ear ;
-
5/23/2018 Modul Praktikum Delphi
18/25
PraktikumPemrogramanDelphi 18
SQL. Text : = ' DELETE FROM KEPEGAWAI AN WHERE NI P = ' + Quot edSt r ( ni p) ;
ExecSQL;MessageDl g(' Data sudah t erhapus' , mt I nformati on, [ mbOK] , 0) ;
end;
FormCr eat e(Sender) ;
end;end;
EVENT ONKEYPRESS
procedure TFor mkepeg. DBGr i dpencar i anKeyPr ess( Sender: TObj ect ;var Key: Char ) ;
begi ni f Key = #13 then
DBGr i dpencari anDbl Cl i ck(Sender) ;
end;
EVENT FORMACTIVATE
procedure TFormkepeg. FormAct i vate( Sender: TObj ect ) ;begi n
FormCr eat e(Sender) ;end;
CODING LENGKAP FORM BIODATA
uni t Uni t 1;
i nt erf ace
usesWi ndows, Messages, SysUt i l s, Var i ant s, Cl asses, Gr aphi cs, Cont r ol s, For ms,Di al ogs, XPMan, St dCt r l s, Gr i ds, DBGr i ds, ComCt r l s, DB, ADODB;
t ypeTFor mbi odat a = cl ass( TFor m)
Label 1: TLabel ;Label 2: TLabel ;Label 3: TLabel ;Label 4: TLabel ;Label 5: TLabel ;Label 6: TLabel ;Label 7: TLabel ;Label 8: TLabel ;Edi tni p: TEdi t ;Edi t namapeg: TEdi t ;
Edi t t empat l ahi r: TEdi t ;Edi t al amat : TEdi t ;Edi t pos: TEdi t ;Edi t t el epon: TEdi t ;DateTi mePi cker l ahi r : TDateTi mePi cker ;DBGr i dbi odata: TDBGr i d;Butt onsave: TBut t on;Butt onupdat e: TBut t on;But t ondel et e: TBut t on;Butt onkepeg: TButt on;Gr oupBox1: TGr oupBox;Edi tcar i : TEdi t ;
-
5/23/2018 Modul Praktikum Delphi
19/25
PraktikumPemrogramanDelphi 19
XPMani f est1: TXPMani f est ;ADOConnect i on1: TADOConnect i on;ADOQuer y1: TADOQuer y;DataSour ce1: TDataSour ce;procedure FormCr eat e(Sender: TObj ect ) ;pr ocedur e But t onsaveCl i ck(Sender : TObj ect) ;pr ocedur e DBGr i dbi odataDbl Cl i ck( Sender: TObj ect) ;pr ocedur e Edi t cari Change(Sender: TObj ect) ;
pr ocedur e But t ondel et eCl i ck(Sender : TObj ect ) ;pr ocedur e But t onupdateCl i ck(Sender : TObj ect) ;pr ocedur e But t onkepegCl i ck( Sender: TObj ect ) ;
pr i vat e{ Pri vat e decl ar at i ons }
publ i c{ Publ i c decl arati ons }
end;
varFormbi odata: TFor mbi odat a;
i mpl ement at i on
uses Uni t 2;
{$R *. df m}
procedure TFormbi odata. FormCr eat e(Sender: TObj ect ) ;begi n
/ / kosongkan semua f i el dEdi t ni p. Cl ear;Edi t namapeg. Cl ear ;Edi t t empat l ahi r . Cl ear;Edi t al amat . Cl ear ;Edi t pos. Cl ear ;Edi t t el epon. Cl ear;Edi tcar i . Cl ear ;DateTi mePi cker l ahi r . Date : = Now( ) ;
/ / t ampi l kan semua dat a kar yawan pada dbgr i dbi odat awi t h ADOQuer y1 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT * FROM BI ODATA ' ;Act i ve : = True;
end;end;
procedur e TFor mbi odata. Butt onsaveCl i ck(Sender : TObj ect) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosongi f Lengt h( Edi t ni p. Text ) < 1 t hen
begi nMessageDl g( ' Fi el d NI P ti dak bol eh kosong!' , mt Warni ng, [ mbOK] , 0) ;Exi t ;
end;
/ / val i dasi dupl i kasi NI P pegawaiwi t h ADOQuer y1 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT * FROM BI ODATA WHERE NI P = ' + Quot edSt r ( Edi t ni p. Text ) ;Act i ve : = True;
/ / t ampi l kan pesan j i ka t er j adi dupl i kasi
-
5/23/2018 Modul Praktikum Delphi
20/25
PraktikumPemrogramanDelphi 20
/ / dan kel uar proses SAVEi f ADOQuery1. Recor dCount > 0 t hen
begi nMessageDl g(' Ter j adi dupl i kasi NI P. Si l ahkan ganti dengan yang
bar u! ' , mt Er r or , [ mbOK] , 0) ;Edi tni p. Cl ear;Edi t ni p. Set Focus;
/ / kel uar dari proses i nsertExi t ;end;
end;
/ / proses s i mpan bi odata pegawaiwi t h ADOQuer y1 do
begi nSQL. Cl ear ;SQL. Text : =
' I NSERT I NTO BI ODATA( NI P, Nama, Tempat _Lahi r , Tanggal _Lahi r , Al amat , Kode_POS, Tel p)VALUES ( ' + Quot edSt r ( Edi t ni p. Text) + ' , ' +
QuotedSt r ( Edi t namapeg. Text ) + ' , ' +Quot edSt r ( Edi t t empat l ahi r . Text) + ' , ' +
' #' + Dat eToSt r ( Dat eTi mePi cker l ahi r . Dat e) + ' #' + ' , ' +
QuotedSt r ( Edi t al amat. Text) + ' , ' +QuotedSt r ( Edi t pos. Text) + ' , ' +Quot edSt r( Edi t t el epon. Text ) + ' ) ' ;
ExecSQL;MessageDl g( ' Data sudah t ersi mpan' , mt I nf ormati on, [ mbOK] , 0);
/ / panggi l event f ormcr eat e unt uk meref r esh dat a pada dbgri dFormCr eat e(Sender) ;
end;end;
procedur e TFormbi odata. DBGr i dbi odataDbl Cl i ck(Sender: TObj ect) ;begi n
/ / pr oses meng- copy i si dbgr i d ke dal am f i el d dal am f or m Edi t ni p. Text : = DBGr i dbi odat a. Fi el ds[ 0] . AsSt r i ng;
Edi t namapeg. Text : = DBGr i dbi odat a. Fi el ds[ 1] . AsSt r i ng;Edi t t empat l ahi r . Text : = DBGr i dbi odat a. Fi el ds[ 2] . AsSt r i ng;DateTi mePi cker l ahi r . Date : = DBGr i dbi odata. Fi el ds[ 3]. AsDateTi me;Edi t al amat . Text : = DBGr i dbi odat a. Fi el ds[ 4] . AsSt r i ng;Edi t pos. Text : = DBGr i dbi odat a. Fi el ds[ 5] . AsSt r i ng;Edi t t el epon. Text : = DBGr i dbi odat a. Fi el ds[6]. AsSt ri ng;Edi t ni p. Set Focus;
end;
procedur e TFormbi odata. Edi t cari Change( Sender: TObj ect) ;begi n
/ / proses pencari an bi odat a pegawai ber dasar kan nama pegawai/ / di buat di dal am event onChange edi t car iwi t h ADOQuer y1 do
begi n
Acti ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT * FROM BI ODATA WHERE NAMA LI KE ' + Quot edStr ( ' %' +Edi t car i . Text +' %' ) ;Act i ve : = True;
end;
end;
procedur e TFormbi odata. Butt ondel eteCl i ck(Sender: TObj ect) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosong
-
5/23/2018 Modul Praktikum Delphi
21/25
PraktikumPemrogramanDelphi 21
i f Lengt h( Edi t ni p. Text ) < 1 t henbegi n
MessageDl g( ' Pi l i h sal ah sat u dat a pada DBGRI D! ' , mt Warni ng, [ mbOK] , 0) ;Exi t ;
end;
/ / proses hapus bi odata pegawaii f Appl i cat i on. MessageBox(' Apakah anda akan menghapus data i ni ?' , ' Warni ng' , MB_YESNO) =
mr Yes t henbegi nwi t h ADOQuer y1 do
begi nSQL. Cl ear ;SQL. Text : =
' DELETE FROM BI ODATA WHERE NI P = ' + Quot edStr ( Edi t ni p. Text ) ;ExecSQL;MessageDl g(' Data sudah t erhapus' , mt I nformati on, [ mbOK] , 0) ;
end;end;
/ / panggi l event f ormcr eat e unt uk meref r esh dat a pada dbgri dFormCr eat e(Sender) ;
end;
procedur e TFormbi odata. Butt onupdateCl i ck(Sender: TObj ect) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosongi f Lengt h( Edi t ni p. Text ) < 1 t hen
begi nMessageDl g( ' Pi l i h sal ah sat u dat a pada DBGRI D! ' , mt Warni ng, [ mbOK] , 0) ;Exi t ;
end;
/ / proses updat e bi odata pegawaiwi t h ADOQuer y1 do
begi nSQL. Cl ear ;SQL. Text : =
' UPDATE BI ODATA SET ' +
' NAMA = ' + Quot edStr ( Edi t namapeg. Text ) + ' , ' + ' Tempat_Lahi r = ' + Quot edSt r ( Edi t t empat l ahi r . Text) + ' , ' +
' Tanggal _Lahi r = ' + ' #' + Dat eToSt r ( Dat eTi mePi cker l ahi r . Dat e) + ' #' + ' , ' +' Al amat = ' + QuotedSt r ( Edi t al amat . Text ) + ' , ' +' Kode_POS = ' + Quot edSt r ( Edi t pos. Text ) + ' , ' +' Tel p = ' + QuotedSt r ( Edi t t el epon. Text ) +' WHERE NI P = ' + Quot edSt r ( Edi t ni p. Text) ;
ExecSQL;MessageDl g( ' Data sudah di perbaharui ' , mt I nformati on, [ mbOK] , 0) ;
end;
/ / panggi l event f ormcr eat e unt uk meref r esh dat a pada dbgri dFormCr eat e(Sender) ;
end;
procedur e TFor mbi odata. Butt onkepegCl i ck(Sender: TObj ect ) ;begi n
For mkepeg. Show;end;
end.
-
5/23/2018 Modul Praktikum Delphi
22/25
PraktikumPemrogramanDelphi 22
CODING LENGKAP FORM KEPEGAWAIAN
uni t Uni t 2;
i nt erf ace
usesWi ndows, Messages, SysUt i l s, Var i ant s, Cl asses, Gr aphi cs, Cont r ol s, For ms,
Di al ogs, St dCt r l s, Gr i ds, DBGr i ds, ComCt r l s, DB, ADODB;
t ypeTFor mkepeg = cl ass( TFor m)
Gr oupBox1: TGr oupBox;Edi tcari ni p: TEdi t ;ComboBoxj abatan: TComboBox;ComboBoxgol ongan: TComboBox;ComboBoxbi dangkerj a: TComboBox;ComboBoxst at us: TComboBox;DateTi mePi ckerkepeg: TDateTi mePi cker;Label 1: TLabel ;Label 2: TLabel ;Label 3: TLabel ;Label 4: TLabel ;Label 5: TLabel ;
DBGr i dkepegawai an: TDBGr i d;Label 6: TLabel ;Label namapeg: TLabel ;Butt onsave: TBut t on;Butt onupdat e: TBut t on;But t ondel et e: TBut t on;ADOQuer y2: TADOQuer y;DataSour ce2: TDataSour ce;DBGr i dpencar i an: TDBGr i d;ADOQuer y3: TADOQuer y;DataSour ce3: TDataSour ce;pr ocedur e Edi t cari ni pChange(Sender : TObj ect) ;pr ocedur e DBGr i dpencari anDbl Cl i ck( Sender: TObj ect) ;pr ocedur e But t onsaveCl i ck(Sender : TObj ect) ;procedure FormCr eat e(Sender: TObj ect ) ;procedure DBGr i dkepegawai anDbl Cl i ck( Sender: TObj ect ) ;
pr ocedur e But t onupdateCl i ck(Sender : TObj ect) ;pr ocedur e But t ondel et eCl i ck(Sender : TObj ect ) ;pr ocedur e DBGr i dpencari anKeyPress( Sender: TObj ect; var Key: Char ) ;pr ocedur e For mAct i vat e(Sender : TObj ect) ;
pr i vat e{ Pri vat e decl ar at i ons }
publ i c{ Publ i c decl arati ons }
end;
varFor mkepeg: TFor mkepeg;ni p : St r i ng;
i mpl ement at i on
uses Uni t 1;
{$R *. df m}
procedur e TFormkepeg. Edi t cari ni pChange(Sender : TObj ect) ;begi n
/ / proses pencar i an NI P dan Nama pegawai berdasar kan namanyawi t h ADOQuer y3 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
-
5/23/2018 Modul Praktikum Delphi
23/25
PraktikumPemrogramanDelphi 23
' SELECT * FROM BI ODATA WHERE NAMA LI KE ' + Quot edStr ( ' %' +Edi t car i ni p. Text +' %' ) ;Act i ve : = True;
end;end;
procedure TFor mkepeg. DBGr i dpencar i anDbl Cl i ck( Sender: TObj ect ) ;begi n
/ / mengambi l ni l ai NI P, hasi l dari quer y pencar i an ni p/ / dan di si mpan pada var i abel gl obal ni pni p : = ADOQuer y3. Fi el dVal ues[ ' NI P' ] ;
Label namapeg. Capt i on : = ADOQuer y3. Fi el dVal ues[ ' NAMA' ] ;ComboBoxj abat an. Set Focus;
end;
procedur e TFormkepeg. But t onsaveCl i ck(Sender : TObj ect) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosongi f ni p = ' ' then
begi nMessageDl g( ' Cari data pegawai t erl ebi h dahul u! ' , mt Warni ng, [ mbOK] , 0) ;Exi t ;
end;
/ / val i dasi dupl i kasi NI P pegawaiwi t h ADOQuer y2 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT * FROM KEPEGAWAI AN WHERE NI P = ' + QuotedSt r ( ni p) ;Act i ve : = True;
/ / t ampi l kan pesan j i ka t er j adi dupl i kasi/ / dan kel uar proses SAVEi f ADOQuery2. Recor dCount > 0 t hen
begi nMessageDl g(' Ter j adi dupl i kasi NI P. Si l ahkan ganti dengan yang
bar u! ' , mt Er r or , [ mbOK] , 0) ;
Edi tcari ni p. Cl ear;Edi t car i ni p. Set Focus;
/ / kel uar dari proses i nsertExi t ;
end;end;
/ / proses si mpan dat a kepegawai an ber dasar kan NI Pwi t h ADOQuer y2 do
begi nSQL. Cl ear ;SQL. Text : =
' I NSERT I NTO KEPEGAWAI AN( NI P, J abatan, Gol ongan, Bi dang_Kerj a, Tanggal _Masuk, Status)VALUES ( ' +
QuotedSt r ( ni p) + ' , ' +
Quot edStr ( ComboBoxj abatan. Text ) + ' , ' + Quot edSt r ( ComboBoxgol ongan. Text ) + ' , ' +
Quot edStr ( ComboBoxbi dangkerj a. Text ) + ' , ' +' #' + DateToSt r ( DateTi mePi cker kepeg. Date) + ' #' + ' , ' +
QuotedSt r ( ComboBoxstat us. Text) + ' ) ' ;ExecSQL;MessageDl g( ' Data sudah t ersi mpan!' , mt I nf ormati on, [ mbOK] , 0);FormCr eat e(Sender) ;
end;
end;
-
5/23/2018 Modul Praktikum Delphi
24/25
PraktikumPemrogramanDelphi 24
procedure TFor mkepeg. FormCr eat e(Sender: TObj ect ) ;begi n
ni p : = ' ' ;Edi t cari ni p. Cl ear;Label namapeg. Capt i on : = ' . . . . ' ;ComboBoxj abatan. Text : = ' ' ;ComboBoxgol ongan. Text : = ' ' ;ComboBoxbi dangker j a. Text : = ' ' ;
ComboBoxstatus. Text : = ' ' ;Dat eTi mePi cker kepeg. Dat e : = Now( ) ;
/ / t ampi l kan semua data kepegawai an pada dbgr i dwi t h ADOQuer y2 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT * FROM KEPEGAWAI AN ' ;Act i ve : = True;
end;
end;
procedure TFor mkepeg. DBGr i dkepegawai anDbl Cl i ck( Sender: TObj ect ) ;
begi n/ / t ampi l kan dat a pada f i el d di dal am f or m
ni p : = DBGr i dkepegawai an. Fi el ds[ 0] . AsSt r i ng;/ / l akukan proses pencar i an nama pegawai unt uk di t ampi l kan pada l abel namapeg/ / ber dasar kan ni pwi t h ADOQuer y3 do
begi nActi ve : = Fal se;SQL. Cl ear ;SQL. Text : =
' SELECT NAMA FROM BI ODATA WHERE NI P = ' + Quot edSt r ( ni p) ;Act i ve : = True;
/ / t ampi l kan nama pegawaiLabel namapeg. Capt i on : = ADOQuer y3. Fi el dVal ues[ ' NAMA' ] ;
end;
ComboBoxj abatan. Text : = DBGr i dkepegawai an. Fi el ds[ 1] . AsSt r i ng;ComboBoxgol ongan. Text : = DBGr i dkepegawai an. Fi el ds[ 2] . AsSt r i ng;ComboBoxbi dangker j a. Text : = DBGr i dkepegawai an. Fi el ds[ 3] . AsStr i ng;DateTi mePi ckerkepeg. Date : = DBGr i dkepegawai an. Fi el ds[ 4] . AsDat eTi me;ComboBoxst atus. Text : = DBGr i dkepegawai an. Fi el ds[ 5] . AsSt r i ng;
end;
procedure TFor mkepeg. Butt onupdat eCl i ck( Sender: TObj ect ) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosongi f ni p = ' ' then
begi nMessageDl g( ' Cari t erl ebi h dahul u pegawai nya!' , mt Warni ng, [ mbOK] , 0) ;
Exi t ;end;
/ / proses updat e dat a kepegawai anwi t h ADOQuer y2 do
begi nSQL. Cl ear ;SQL. Text : =
' UPDATE KEPEGAWAI AN SET ' + ' J abatan = ' + Quot edStr ( ComboBoxj abatan. Text ) + ' , ' +
' Gol ongan = ' + Quot edStr ( ComboBoxgol ongan. Text ) + ' , ' + ' Bi dang_Ker j a = ' + Quot edStr ( ComboBoxbi dangker j a. Text ) + ' , ' +
-
5/23/2018 Modul Praktikum Delphi
25/25
PraktikumPemrogramanDelphi 25
' Tanggal _Masuk = ' + ' #' + DateToStr ( DateTi mePi cker kepeg. Date) + ' #' + ' , ' +' Stat us = ' + Quot edStr ( ComboBoxst atus. Text ) +' WHERE NI P = ' + QuotedSt r ( ni p) ;
ExecSQL;MessageDl g( ' Data sudah di perbaharuo! ' , mt I nf ormati on, [ mbOK] , 0);FormCr eat e(Sender) ;
end;
end;
procedur e TFormkepeg. But t ondel eteCl i ck(Sender : TObj ect) ;begi n
/ / val i dasi f i el d NI P t i dak bol eh kosongi f ni p = ' ' then
begi nMessageDl g( ' Cari t erl ebi h dahul u pegawai nya!' , mt Warni ng, [ mbOK] , 0) ;Exi t ;
end;
/ / proses hapus data kepegawai ani f Appl i cat i on. MessageBox(' Apakah anda akan menghapus data i ni ?' , ' Warni ng' , MB_YESNO) =
mr Yes t henbegi n
wi t h ADOQuer y2 do
begi nSQL. Cl ear ;SQL. Text : =
' DELETE FROM KEPEGAWAI AN WHERE NI P = ' + Quot edSt r ( ni p) ;ExecSQL;MessageDl g(' Data sudah t erhapus' , mt I nformati on, [ mbOK] , 0) ;
end;
FormCr eat e(Sender) ;
end;end;
procedure TFor mkepeg. DBGr i dpencar i anKeyPr ess( Sender: TObj ect ;var Key: Char ) ;
begi n
i f Key = #13 thenDBGr i dpencari anDbl Cl i ck(Sender) ;
end;
procedure TFormkepeg. FormAct i vate( Sender: TObj ect ) ;begi n
FormCr eat e(Sender) ;end;
end.