Modul Praktikum Delphi

download Modul Praktikum Delphi

of 25

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.