Download - LAPORAN PRAKTIKUM BASIS DATA I
-
Nolan Lasarenth Lembata
1
APLIKASI DATABASE PEGAWAI
MENGGUNAKAN MYSQL DAN DELPHI
LAPORAN PRAKTIKUM BASIS DATA I
Disusun Oleh :
Petrus Kanisius Belalo Lasar (07060104)
Jurusan : Matematika
FAKULTAS SAINS TERAPAN
INSTITUT SAINS & TEKNOLOGI AKPRIND
YOGYAKARTA
2008
-
Nolan Lasarenth Lembata
2
KATA PENGANTAR
Dewasa ini MySQL merupakan database server yang amkin populer
terutama untuk aplikasi yang berbasis web. Umumnya di lingkungan tersebut
PHPlah yang melakukan pengaksesan terhadap MySQL. Namun jika diinginkan
untuk membuat alikasi non web maka banyak pilihan yang bisa digunakan
salahsatunya adalah Borland Delphi.
Sejak versi 6 Borlan Delphi telah menyediakan komponen yang dikenal
dengan nama dbExpres , dengan menggunakan komponen kompnen ini kita bisa
megakses MySQL. Untuk itu dalam makalah ini saya akan menguarai bagaimana
cara membuat data base denagan menggunakan MySQL dan Borlab Delphi untuk
mengalsesnya.
-
Nolan Lasarenth Lembata
3
DAFTAR ISI
Halaman judul
Kata Pengantar........................................................................................................ii
Daftar Isi.................................................................................................................iii
Bab I. Pendahuluan..1
Bab II. Tinjauan Pustaka. . ....3
Bab III. Analisis dan Perancangan.... 16
Bab IV. Penutup ... 28
Daftar Pustaka ...29
-
Nolan Lasarenth Lembata
4
BAB I
PENDAHULUAN
Aktivitas kehidupan kita sehari-hari selalu akan berhubungan dengan apa
yang dinamakan data. Data-data tersebut ada di setiap sisi kehidupan kita dan
dengan data tersebut kita akan melakukan sesuatu yang bermanfaat bagi
kehidupan. Agar data-data tersebut bisa dimanfaatkan maka harus diorganisir
dalam suatu basis data yang bertujuan agar data tersebut dapat memberikan
informasi tertentu yang bisa kita manfaatkan. Cara penyajian informasinya pun
bermacam-macam, bisa dalam bentuk teks, grafik, suara, diagram, gambar, dan
lain-lain.
Bagi sebuah perusahaan atau organisasi, informasi merupakan aset yang
sangat penting. Dengan informasi ini akan diketahui perkembangan perusahaan
sehingga bisa diprediksi langkah-langkah yang harus dilakukan untuk
meningkatkan kualitas. Berbagai permasalahan juga bisa diketahui dari informasi
yang diberikan oleh suatu data dan berdasarkan informasi itu juga dapat diperoleh
penyelasaian dari permasalahan yang dihadapi.
Untuk mendapatkan informasi yang tepat (sesuai dengan yang dibutuhkan)
sangat tergantung dari kualitas data yang membentuk informasi dan proses
pengolahan datanya. Kualitas dari suatu data sangat bergantung dari pihak yang
menggunakan data tersebut untuk mendapatkan suatu informasi, bisa saja dari
data yang sama akan memberikan informasi yang berbeda pada pihak yang
berbeda. Pihak yang terpenuhi kebutuhannya merasa bahwa data yang diperoleh
sangat berkualitas tetapi pihak lain mungkin merasa data tersebut kurang
berkualitas karena informasi yang diberikan kurang atau tidak sesuai.
Pengolahan data untuk mendapatkan informasi pun masih dipengaruhi oleh
beberapa hal :
Hardware, yaitu alat-alat yang digunakan untuk membantu dalam
mengolah data. Dalam hal ini yang dimaksud adalah komputer beserta
dengan perangkat-perangkat pendukungnya.
Software, yaitu perangkat lunak yang digunakan untuk mengoperasikan
hardware/komputer, meliputi : Operating System, Program Aplikasi baik
-
Nolan Lasarenth Lembata
5
yang dijual dipasaran maupun yang kita buat sendiri, dan DBMS
(Database Management System).
Brainware, adalah manusia yang dibantu oleh kedua hal di atas.
-
Nolan Lasarenth Lembata
6
BAB II
TINJAUAN PUSTAKA
I. BASIS DATA DAN SISTEM BASIS DATA
1. Pengertian Data dan Informasi
Data : sekumpulan fakta mengenai objek tertentu, orang dan lain-lain dan
dinyatakan dengan angka, huruf, gambar, film, suara dan sebagainya.
Informasi : Informasi merupakan hasil pengolahan data sehingga menjadi
bentuk yang penting bagi penerimanya dan mempunyai kegunaan sebagai
dasar dalam pengambilan keputusan yang dapat dirasakan akibatnya secara
langsung saat itu juga atau secara tidak langsung pada saat mendatang.
Untuk memperoleh informasi, diperlukan adanya data yang akan diolah
dan unit pengolah. Contoh informasi adalah daftar pegawai berdasarkan
departemen, daftar pegawai berdasarkan golongan, rekapitulasi transaksi
pembelian pada akhir bulan, rekapitulasi transaksi penjualan pada akhir bulan,
dan lain-lain.
2. Transformasi Data Menjadi Informasi
Transformasi data menjadi informasi dapat digambarkan sebagaimana
pada gambar berikut ini.
Gambar : Transformasi data menjadi informasi
Dalam gambar tersebut, input adalah data (dalam basis data) yang akan diolah
oleh unit pengolah, dan output adalah informasi sebagai hasil pengolahan data
yang telah diinputkan tersebut. Suatu unit penyimpan (memori sekunder)
diperlukan sebagai alat simpanan data, pengolah, maupun informasi.
-
Nolan Lasarenth Lembata
7
Informasi yang diperoleh dari pengolahan data dapat dinilai berdasarkan
sifatnya. Sifat informasi yang menentukan nilai informasi, adalah:
1. Kemudahan dalam memperoleh
2. Sifat luas dan kelengkapannya
3. Ketelitian (accuracy)
4. Kecocokan dengan pengguna (relevance)
5. Ketepatan waktu
6. Kejelasan (clarity)
7. Fleksibilitas / keluwesannya
8. Dapat dibuktikan
9. Tidak ada prasangka
10. Dapat diukur
Informasi tersebut dapat mempunyai beberapa fungsi, antara lain:
1. Menambah pengetahuan
Adanya informasi akan menambah pengetahuan bagi penerimanya yang
dapat digunakan sebagai bahan pertimbangan yang mendukung proses
pengambilan keputusan.
2. Mengurangi ketidakpastian
Adanya informasi akan mengurangi ketidakpastian karena apa yang akan
terjadi dapat diketahui sebelumnya, sehingga menghindari keraguan pada
saat pengambilan keputusan.
3. Mengurangi resiko kegagalan
Adanya informasi akan resiko kegagalan karena apa yang akan terjadi
dapat diantisipasi dengan baik, sehingga kemungkinan terjadinya
kegagalan akan dapat dikurangi dengan pengambilan keputusan yang
tepat.
4. Mengurangi keanekaragaman / variasi yang tidak diperlukan
Adanya informasi akan mengurangi keanekaragaman yang tidak
diperlukan, karena keputusan yang diambil lebih terarah.
5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-
keputusan yang menentukan pencapaian sasaran dan tujuan
-
Nolan Lasarenth Lembata
8
Adanya informasi akan memberikan standar, aturan, ukuran, dan
keputusan yang lebih terarah untuk mencapai sasaran dan tujuan yang
telah ditetapkan secara lebih baik berdasar informasi yang diperoleh.
3. Pengertian dan Definisi Basis Data pada Sistem Komputer
Secara sederhana database (basis data) dapat diungkapkan sebagai suatu
pengorganisasian data denganbantuan komputer yang memungkinkan data
dapat diakses dengan mudah dan cepat. Dalam hal ini, pengertain akses dapat
mencakup pemerolehan data maupun pemanipulasian data seperti menambah
dan menghapus data (Abdul Kadir, 2003).
Manfaat database (basis data) dapat dijumpai di sekeliiling kita. ATM
(Anjungan Tunai Mandiri) merupakan senuah contoh teknologi informasi
yang pada dasarnya memanfaatkan database yang memungkinkan seseorang
bisa mengambil uang di mana saja dan kapan saja. Di dalam database
tersimpan data yang menyangkut sekening nasabah, password yang valid
untuk nasabah. Aplikasi database yang lain dapat dijumpai pada toko-toko
swalayan, perpustakaan, rumah sakit dan bahkan pada internet.
4. Wujud Basis Data pada Sistem Informasi Berbasis Komputer
Pada sistem komputer sebuah basis data/database berwujud sebuah file
yang berisi sekumpulan data yang saling terhubung. Database juga bisa
berwujud sebagai suatu folder yang berisi file-file data yang saling terhubung.
5. Mengenal DBMS dan RDBMS
DBMS (DataBase Management Sistem) merupakan perangkat lunak atau
program komputer yang dirancang khusus untuk memudahkan pengelolaan
database. Pengelolaan database dapat berupa mengubah, menghapus,
memanipulasi dan memperoleh data/informasi dengan praktis dan efisien.
Contoh Software DBMS :
DOS : Dbase III+ sampai dengan Dbase 5, Clipper, Foxbase, Foxpro
Windows : Visual Foxpro, Visual Dbase, Visual Basic, Delphi, ORACLE,
Power Builder, MS Access dan lain sebagainya.
DATA PROSES INFORMASI
-
Nolan Lasarenth Lembata
9
Linux : MySQL, PostGreSQL, Kylix dan lain sebagainya.
Salah satu macam DBMS yang popular berupa RDBMS (Relational
DataBase Management Sistem) yang menggunakan model basis data
relational atau dalam bentuk tabel-tabel yang saling terhubungkan.
MySQL merupakan salah satu contoh prodek RDBMS yang sangat
popular di lingkungan Linux, tetapi juga tersedia pada Windows. Banyak situs
Web yang menggunakan MySQL sebagai database server (server yang
melayani permintaan akses terhadap database), (lebih lanjut tentang MySQL
akan di bahas pada bab-bab berikutnya).
II. DATABASE DAN TABEL
Sebuah database mencakup sejumlah tabel dan juga objek-objek lain
seperti indeks dan pandangan (view).
Contoh sebuah database di bidang kepegawaian :
Tabel Pribadi
Tabel Pekerjaan
Tabel Bagian
Tabel Gaji
-
Nolan Lasarenth Lembata
10
Pada contoh di atas, database meliputi tabel Pribadi (berisi data pribadi
karyawan), Pekerjaan (berisi data pekerjaan), Bagian (berisi daftar nama
bagian/departemen), Gaji (berisi daftar gaji menurut golongan) dan
Pendidikan (berisi data pendidikan karyawan).
1. Konsep Dasar Tabel
a. Baris dan Kolom
Sebuah tabel berisi sejumlah baris data dan sejumlah kolom. Kolom
(kadangkala disebut field) dapat didefinisikan sebagai satuan data terkecil
dalam sebuah tabel. Nama pegawai, alamat dan nama bagian merupakan
contoh-contoh kolom. Baris kadangkala disebut record) adalah kumpulan
kolom yang menyatakan suatu data yang saling terkait.
NIP NAMA TGL_LAHIR ALAMAT KOTA 1 Ariwibowo 12/09/1988 Demangan Yogyakarta 2 Roffilth 12/10/1987 Babarsari Yogyakarta 3 Parlin 25/01/1988 Gadongan Yogyakarta
b. Hubungan
Pada model database relasional, kaitan antara dua buah tabel disebut
hubungan (relationship). Hubungan dapat berupa :
1-1 : yakni satu data pada suatu tabel berpasangan dengan hanya satu
data
pada tabel lain.
Tabel : Pribadi Tabel : Pekerjaan
Masing-masing adalah Kolom (field)
Baris (record)
NIP NAMA TGL_LAHIR ALAMAT KOTA
NIP NAMA TGL_LAHIR ALAMAT KOTA
-
Nolan Lasarenth Lembata
11
1-M : yakni satu data pada suatu tabel berpasangan dengan banyak data
pada tabel lain.
Tabel : Pekerjaan
NIP KODE_BAGIAN GOL JABATAN 12345 1 3B Staff 12346 2 3A Staff 12347 1 3A Staff
Tabel : Bagian
KODE_BAGIAN NAMA_BAGIAN 1 Personalia
2 Akunting 3 TI/SI
M-M : yakni beberapa data pada suatu tabel berpasangan dengan
beberapa
data pada tabel lain.
Contoh : perpustakaan membolehkan seorang anggota untuk meminjam
beberapa buku, tapi sebuah buku juga dapat dipinjam beberapa
orang.
c. Kunci Primer dan Kunci Tamu
Setiap tabel harus memiliki kinci primer. Kunci primer dapat tersusun dari
sebuah kolom atau beberapa kolom. Kunci primer berperan sebagai identitas
yang unik (tak kembar/tak sama) untuk masing-masing baris data.
Contoh :
NIP dalah kunci primer bagi tabel Pribadi dan Pekerjaan, sedangkan GOL
adalah kunci primer bagi tabel Gaji. Pada tabel Pendidikan, kunci primer
berupa NIP dan KODE_Pendik. Jadi dengan menyebutkan NIP 12345 pada
tabel Pribadi maka dapat dipastikan bahwa tidak mungkin terdapat lebih dari
satu baris (record) yang memenuhi.
-
Nolan Lasarenth Lembata
12
Selain kunci primer juga terdapat istilah kunci tamu atau kunci
asing(foreign key). Kunci tamu adalah sebuah kolom dalam sebuah tabel yang
menjadi penghubung dengan kunci primer pada tabel lain.
Contoh :
Tabel : Pribadi Tabel : Pekerjaan
KODE_BAGIAN pada tabel Pekerjaan merupakan kunci tamu yang
menghubungkan ke tabel Bagian.
d. Indeks
Indeks merupakan suatu mekanisme dalam database yang memungkinkan
pencarian data dapat dilakukan dengan cepat. Mengapa indeks dapat
mempercepat proses ? karena sebenarnya didasarkan oleh teknik yang
melandasi indeks. Ketika anda mengindeks suatu kolom, maka sistem akan
mengatur dengan sendirinya nilai-nilai kolom tersebut secara urut. Dengan
menggunakan indeks, anda dapat mencari suatu item dalam buku dengan
cepat.
Contoh :
Jika anda sering mengambil data menurut nama pegawai, maka bila nama
pegawai anda diindeks, pengaksesan data terhadap nama akan dilakukan
dengan cepat.
Namun, walaupun indeks bermanfaat dalam mempercepat pencarian data
tetapi sebenarnya indeks membuat sistem penambahan, peremajaan dan
penghapusan data menjadi lebih lambat, karena setiap kali terjadi proses-
proses tersebut maka indeks akan diperbaharui. Oleh karena itu, penggunaan
indeks perlu dibatasi pada kolom-kolom tertentu saja.
2. Normalisasi
NIP
KODE_BAGIAN
GOL
JABATAN
KODE_BAGIAN
NAMA_BAGIAN
-
Nolan Lasarenth Lembata
13
Normalisasi merupakan suatu proses untuk mengubah suatu tabel yang
memiliki masalah tertentu ke dalam dua buah tabel atau lebih yang tak lagi
memiliki masalah tertentu.
Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk
normal adalah suatu aturan yang dikenakan pada tabel-tabel dalam database
dan harus dipenuhi oleh tabel-tabel tersebut pada level-level normalisasi.
Suatu tabel dikatakan berada dalam bentuk normal tertentu jika memenuhi
kondisi-kondisi tertentu.
Bentuk Normal yang biasa dipakai pada normalisasi adalah :
- Bentuk Normal Pertama (1NF)
- Bentuk Normal Kedua (2NF)
- Bentuk Normal Ketiga (3NF)
Sedangkan bentuk-bentuk normal yang lain seperti normal keempat dan
seterusnya digunakan untuk kasus tertentu.
a. Bentuk Normal Pertama
Yaitu suatu tabel dikatakan dalam bentuk normal pertama hanya jika
setiap kolom bernilai tunggal untuk setiap baris (Abdul kadir, 2003).
Bentuk normal pertama mempunyai cirri bahwa setiap data dibentuk dalam
flat tabel (tabel datar/rata). Data dibentuk dalam satu record demi satu record
dan nilai dari field-field.
b. Bentuk Normal Kedua
Suatu tabel berada dalam bentuk normal kedua jika :
Tabel berada dalam bentuk normal pertama
Semua kolom bukan-kunci-primer tergantung sepenuhnya terhadap kunci
primer.
Tergantung sepenuhnya jika suatu kolom selalu bernilai sama untuk nilai
kunci primer yang sama.
c. Bentuk Normal Ketiga
Suatu tabel dikatakan dalam bentuk normal ketiga, apabila :
Berada dalam bentuk normal kedua,
Setiap kolom bukan kunci primer yang tidak memiliki ketergantungan
secara transitif terhadap kunci primer
-
Nolan Lasarenth Lembata
14
BAB III
ANALISIS DAN PERANCANGAN
A. Menjalankan Program Klien MySQL
Langkah-langkah adalah sbb :
1. Carilah folder MySQL, kemudian klik mysql, anda akan menjumpai
tampilan berikut :
2. Untuk melihat database-database yang ada dalam server mysql, dengan
perintah sebagai berikut :
mysql> show databases;
akan terlihat hasilnya sebagai berikut :
Kedua database diatas adalah database bawaan dari saat instalasi mysql.
Database test adalah database yang bias anda pakai untuk ujicoba.
Sedangkan database mysql berfungsi untuk melakukan konfigurasi dan
administrasi user pada server.
3. kemudian pilih database mysql sqbagai database aktif, dengan perintah
sebagai berikut :
mysql> USE mysql;
Database changed
Database mysql
test
-
Nolan Lasarenth Lembata
15
4. untuk menampilkan tabel dalam database mysql, diberikan perintah
berikut :
mysql> SHOW TABELS;
Dari enam tabel diatas hanya tabel user saja yang perlu dimodifikasi untuk
melakukan administrasi user root dan user lainnya.
5. untuk mengetahui struktur suatu tabel, diberikan perintah sebagai berikut :
B. Membuat Database dan Sejumlah Tabel
Anda akan mempelajari cara membuat sebuah database dengan beberapa tabel
pendukung, dalam latihan ini anda akan diajak untuk membuat database
pegawai, ada pun langkah-langkahnya sebagai berikut :
1. Aktifkan program mysql (winmysqladmin) dan mysql
2. membuat database baru (misal : pegawai) :
mysql> create database pegawai;
3. mengaktifkan database yang telah di buat :
mysql> use pegawai;
Tabels_in_mysql
columns_priv db func host tabels_priv user
-
Nolan Lasarenth Lembata
16
4. membuat beberapa tabel pendukung database pegawai. Tabel-tabel yang
diperlukan oleh database pegawai yaitu tabel pribadi, tabel pekerjaan, tabel
bagian dan tabel gaji. Langkah-langkah sebagai berikut :
mysql> create tabel pribadi ( nip smallint(10) primary key, nama char(25), alamat char(35), kota char(15),
kelamin enum(p,w), tgl_lahir date);
mysql> create tabel pekerjaan ( nip smallint (10) primary key, kode_bagian char(10), gol char(3),
jabatan char(15));
mysql> create tabel bagian ( kode_bagian char (10) primary key, nama_bagian char(12)); mysql> create tabel gaji ( gol char(2) primary key, gaji_pokok integer unsigned, tunj_gol integer unsigned);
keterangan : unsigned menyatakan hanya untuk bilangan positif.
5. memasukan data ke tabel-tabel
untuk tabel pribadi :
mysql> insert into pribadi values (1, Ariwibowo , demengan,
yogyakarta, P, 1988-09-12);
mysql> insert into pribadi values (2,
roffilth,babarsari,yogyakarta,P,1987-10-12 );
mysql> insert into pribadi values (3, Parlin , Gedongan,
yogyakarta, P, 1988-01-25);
untuk melihat semua isi tabel pribadi
-
Nolan Lasarenth Lembata
17
untuk tabel pekerjaan :
mysql> insert into pekerjaan values (1, 100, 5A, Manajer);
mysql> insert into pekerjaan values (2, 200, 2A, Staf);
mysql> insert into pekerjaan values (3, 300, 3A, staf);
untuk melihat semua isi tabel pekerjaan
untuk tabel bagian :
mysql> insert into bagian values (100, Manajer);
mysql> insert into bagian values (200, Pemasaran);
mysql> insert into bagian values (300, Akunting);
untuk melihat semua isi tabel bagian
untuk tabel gaji :
-
Nolan Lasarenth Lembata
18
mysql> insert into gaji values (5A, 5.000.000, .50.000);
mysql> insert into gaji values (2A, 4.000.000, 40.000);
mysql> insert into gaji values (3A, 3.000.000, 30.000);
untuk melihat semua isi tabel gaji
C. Aplikasi Sederhana Pengaksesan MySQL
Membuat Aplikasi untuk Edit, Hapus, Tambah
1. membuka form baru, dengan pilih File | Menu | Application.
2. lakukan perubahan pada sejumlah properties milik form seperti berikut :
Properti Isi
Caption Aplikasi
Name FormAplikasi
3. lakukan penyimpanan dengan memilih File | Save All, isikan FOperasi
pada kotak File Name dan klik save, kemudian isikan Operasi pada kotak
File Name dan klik tombol save.
4. kemudian tambahkan beberapa komponen berikut :
Komponen Properti Isi
(setelah ditaruh di form, klik ganda dan pilih Connection Name berupa MySQL Connection)
Name SQLConnectionMySQL
Connected True
SQL Connection (terdapat pada tab dbExpress)
LoginPrompt False
-
Nolan Lasarenth Lembata
19
SQLConnection SQLConnectionMySQL
SQL SELECT*FROM pribadi
Name SQLQueryPribadi
SQL Query (terdapat pada tab dbExpress)
Active True
Name DataSetProviderPribadi DataSetProvider (terdapat pada tab Data Access) DataSet SQLQueryPribadi
Name ClientDataSetPribadi
ProviderName DataSetProviderPribadi
IndexFieldName Nip
ClientDataSet (terdapat pada tab Data Access)
Active True
Name DataSourcePribadi DataSource (terdapat pada tab Data Access) DataSet ClientDataSetPribadi
SQLConnection SQLConnectionMySQL
SQL SELECT*FROM pekerjaan
Name SQLQueryPekerjaan
SQL Query (terdapat pada tab dbExpress)
Active True
Name DataSetProviderPekerjaan DataSetProvider (terdapat pada tab Data Access) DataSet SQLQueryPekerjaan
Name ClientDataSetPekerjaan
ProviderName DataSetProviderPekerjaan
IndexFieldName Jabatan
ClientDataSet (terdapat pada tab Data Access)
Active True
Name DataSourcePekerjaan DataSource (terdapat pada tab Data Access) DataSet ClientDataSetPekerjaan
SQLConnection SQLConnectionMySQL
SQL SELECT*FROM gaji
Name SQLQueryGaji
SQL Query (terdapat pada tab dbExpress)
Active True
Name DataSetProviderGaji DataSetProvider (terdapat pada tab Data Access) DataSet SQLQueryGaji
Name ClientDataSetGaji ClientDataSet (terdapat pada tab
ProviderName DataSetProviderGaji
-
Nolan Lasarenth Lembata
20
IndexFieldName Gol Data Access)
Active True
Name DataSourceGaji DataSource (terdapat pada tab Data Access) DataSet ClientDataSetGaji
SQLConnection SQLConnectionMySQL
SQL SELECT*FROM bagian
Name SQLQueryBagian
SQL Query (terdapat pada tab dbExpress)
Active True
Name DataSetProviderBagian DataSetProvider (terdapat pada tab Data Access) DataSet SQLQueryBagian
Name ClientDataSetBagian
ProviderName DataSetProviderBagian
IndexFieldName kode_bagian
ClientDataSet (terdapat pada tab Data Access)
Active True
Name DataSourceBagian DataSource (terdapat pada tab Data Access) DataSet ClientDataSetBagian
Label (pada tab standard)
Caption NIP
Label Caption Nama :
Label Caption Alamat :
Label Caption Kota :
Label Caption Jenis Kelamin :
Label Caption Tanggal Lahir
Label Caption Bagian
Label Caption Jabatan
Label Caption Golongan
Name DBEditNip
Data Source DataSourcePribadi
DBEdit
(terdapat pada tab Data Control)
DataField nip
Name DBEditNama
Data Source DataSourcePribadi
DBEdit
DataField nama
DBEdit Name DBEditAlamat
-
Nolan Lasarenth Lembata
21
Data Source DataSourcePribadi
DataField Alamat
Name DBEditKota
Data Source DataSourcePribadi
DBEdit
DataField Kota
Name RadioButtonPria
Caption &Pria
Enable False
RadioButton
(terdapat pada tab Standard)
Checked True
Name RadioButtonWanita
Caption &Wanita
Enable False
RadioButton
(terdapat pada tab Standard)
Checked False
TDateTimePicker
(pada Tab Win32)
Name DateTimePickerTglLahir
Name DBLookupComboBoxBagian
DataSource DataSourcePekerjaan
DataField kode_bagian
Keyfield kode_bagian
ListField nama_bagian
DBLookupComboBox
(pada tab Data Controls)
ListSource DataSourceBagian
Name DBEditJabatan
DataSource DataSourcePekerjaan
DBEdit (pada tab Data Controls)
DataField jabatan
Name DBLookupComboBoxGol
DataSource DataSourcePekerjaan
DataField Gol
ListSource DataSourceGaji
ListField gol
DBLookupComboBox (pada tab Data Controls)
Caption &Cari BitBtn
Name ButtonCari
-
Nolan Lasarenth Lembata
22
Caption &Pertama BitBtn
(terdapat pada tab Additional)
Name ButtonPertama
Caption &Berikutnya BitBtn
Name ButtonBerikutnya
Caption &Terakhir BitBtn
Name ButtonTerakhir
Caption &Sebelumnya BitBtn
Name ButtonSebelumnya
Caption &Tambah BitBtn
Name ButtonTambah
Caption &Hapus BitBtn
Name ButtonHapus
BitBtn Caption &Edit
Name ButtonEdit
BitBtn Caption &Simpan
Name ButtonSimpan
BitBtn Caption &Batal
Name ButtonBatal
BitBtn Caption &Keluar
Name ButtonKeluar
-
Nolan Lasarenth Lembata
23
5. Klik ganda pada tombol Cari , kemudian berilah perintah/kode berikut ini :
procedure TFormProses.ButtonCariClick(Sender: TObject);
var NoPegawai : LongInt; StrNo : String; begin NoPegawai := 0; // Inisialisasi StrNo := InputBox(Pencarian Menurut NIP, NIP : , ); if StrNo = then Exit; try NoPegawai := StrToInt(StrNo); except MessageDlg(NIP harus berupa angka, mtInformation, [mbOK], 0); StrNo := ; end; // Mencari data if not ClientDataSetPribadi.FindKey([NoPegawai]) then MessageDlg(NIP tidak ditemukan!, mtInformation, [mbOK], 0) else PerolehData;
-
Nolan Lasarenth Lembata
24
End;
6. mengubah procedure dan fungsi mula-mula klik tombol Toggle Form/Unit
atau tekan F12 yang kemudian menampilkan jendela kode, pada jendela
tersebut sisipkan baris baru diatas procedure ButtonPertamaClick(Sender:
TObject); dan kemudian tuliskan :
procedure AturEntriData(Keadaan: Boolean); procedure AturTombol(Keadaan: Boolean); procedure PerolehData(); kemudian dibawah baris berikut :
{$R *.dfm}
Tuliskan kode berikut :
procedure TFormAplikasi.AturEntriData(Keadaan: Bool ean); begin DBEditNIP.Enabled := Keadaan; DBEditNama.Enabled := Keadaan; DBEditAlamat.Enabled := Keadaan; DBEditKota.Enabled := Keadaan; RadioButtonPria.Enabled := Keadaan; RadioButtonWanita.Enabled := Keadaan; DateTimePickerTglLahir.Enabled := Keadaan; DBLookupComboBoxBagian.Enabled := Keadaan; DBEditJabatan.Enabled := Keadaan; DBLookupComboBoxGol.Enabled := Keadaan; end; procedure TFormAplikasi.AturTombol(Keadaan: Boolean); begin ButtonPertama.Enabled := Keadaan; ButtonSebelumnya.Enabled := Keadaan; ButtonBerikutnya.Enabled := Keadaan; ButtonTerakhir.Enabled := Keadaan; ButtonCari.Enabled := Keadaan; ButtonTambah.Enabled := Keadaan; ButtonHapus.Enabled := Keadaan; ButtonEdit.Enabled := Keadaan; Buttonsimpan.Enabled := not Keadaan; ButtonBatal.Enabled := not Keadaan; end; procedure TFormAplikasi.PerolehData(); var NoPegawai : LongInt;
-
Nolan Lasarenth Lembata
25
begin // Menentukan jenis kelamin if ClientDataSetPribadi.FieldByName(kelamin).Value = P then RadioButtonPria.Checked := True else RadioButtonWanita.Checked := True; // Menampilkan tanggal DateTimePickerTglLahir.Date := ClientDataSetPribadi.FieldByName(tgl_lahir).Value; // Mencari data Pekerjaan NoPegawai := ClientDataSetPribadi.FieldByName(nip).Value; DataPekerjaanAda := ClientDataSetPekerjaan.FindKey([NoPegawai]); end;
7. Menuliskan variable privat yaitu variable dalam suatu objek, adapun
variable nya adalah variabel bernama RecordBaru yang bertipe Boolean,
seperti gambar berikut :
Setelah anda menuliskan kode diatas, anda perlu menguji kebenaran kode
yang anda tulis dengan memilih menu Project | Compile Operasi, jika
tidak ada kesalahan anda dapat melanjutkan ke tahap berikutnya.
8. Menambah kode pada tombol Pertama
klik ganda pada tombol Pertama, kemudian tuliskan kode berikut ini :
-
Nolan Lasarenth Lembata
26
procedure TFormAplikasi.ButtonPertamaClick(Sender: TObject); begin ClientDataSetPribadi.First; PerolehData; end;
9. Menambah kode pada tombol Berikutnya
klik ganda pada tombol Berikutnya, kemudian tuliskan kode berikut ini: procedure TFormAplikasi.ButtonBerikutnyaClick(Sender: TObject); begin ClientDataSetPribadi.Next; PerolehData; end;
10. menambah kode pada tombol Edit
klik ganda pada tombol Edit, kemudian tuliskan kode berikut ini :
procedure TFormAplikasi.ButtonEditClick(Sender: TOb ject); begin AturTombol(False); AturEntriData(True); DBEditNIP.Enabled := False; // Buat record kosong ClientDataSetPribadi.Edit; ClientDataSetPekerjaan.Edit; DBEditNama.SetFocus; end;
11. menambah kode pada tombol Tambah
klik ganda pada tombol Tambah, kemudian tuliskan kode berikut ini :
procedure TFormAplikasi.ButtonTambahClick(Sender: TObject); begin AturTombol(False); AturEntriData(True); // Buat record kosong ClientDataSetPribadi.Append; ClientDataSetPekerjaan.Append; // Kosongkan Tanggal dan atur kelamin = Pria DateTimePickerTglLahir.Date := StrToDate(01/01/1960); RadioButtonPria.Checked := True;
-
Nolan Lasarenth Lembata
27
DBEditNIP.SetFocus; end;
12. menambah kode pada tombol Batal klik ganda pada tombol Batal,
kemudian tuliskan kode berikut ini :
procedure TFormAplikasi.ButtonBatalClick(Sender: TObject); begin ClientDataSetPribadi.Cancel; ClientDataSetPekerjaan.Cancel; AturEntriData(False); AturTombol(True); end; procedure TFormAplikasi.ButtonCariClick(Sender: TOb ject); var NoPegawai : LongInt; StrNo : String; begin NoPegawai := 0; // Inisialisasi StrNo := InputBox(Pencarian Menurut NIP, NIP : , ); if StrNo = then Exit; try NoPegawai := StrToInt(StrNo); except MessageDlg(NIP harus berupa angka, mtInformation, [mbOK], 0); StrNo := ; end; // Mencari data if not ClientDataSetPribadi.FindKey([NoPegawai]) then MessageDlg(NIP tidak ditemukan!, mtInformation, [mbOK], 0) else PerolehData; end;
13. menambah kode pada tombol Terakhir klik ganda pada tombol Terakhir,
kemudian tuliskan kode berikut ini :
-
Nolan Lasarenth Lembata
28
procedure TFormAplikasi.ButtonTerakhirClick(Sender: TObject); begin ClientDataSetPribadi.Last; PerolehData; end;
14. menambah kode pada tombol Sebelumnya klik ganda pada tombol Sebelumnya, kemudian tuliskan kode berikut ini : procedure TFormAplikasi.ButtonSebelumnyaClick(Sender: TObject); begin ClientDataSetPribadi.Prior; PerolehData; end;
15. menambah kode pada tombol Simpan klik ganda pada tombol Simpan, kemudian tuliskan kode berikut ini : procedure TFormAplikasi.ButtonSimpanClick(Sender: TObject); begin // Mengisikan tanggal ClientDataSetPribadi.FieldByName(tgl_lahir).Value := DateTimePickerTglLahir.Date; // Menentukan kode pria dan wanita if RadioButtonPria.Checked then ClientDataSetPribadi.FieldByName(kelamin).Value := P else ClientDataSetPribadi.FieldByName(kelamin).Value := W; ClientDataSetPekerjaan.FieldByName(nip).Value := ClientDataSetPribadi.FieldByName(nip).Value; // Simpan ClientDataSetPribadi.Post; ClientDataSetPekerjaan.Post; AturEntriData(False); AturTombol(True); end;
16. menambah kode pada tombol Hapus klik ganda pada tombol Hapus, kemudian tuliskan kode berikut ini : procedure TFormAplikasi.ButtonHapusClick(Sender: TObject); begin if MessageDlg(Anda mau menghapus data ini?, mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin ClientDataSetPribadi.Delete;
-
Nolan Lasarenth Lembata
29
ClientDataSetPekerjaan.Delete; end; PerolehData; end;
17. Menambah kode pada tombol Keluar klik ganda pada tombol Keluar, kemudian tuliskan kode berikut ini : procedure TFormAplikasi.ButtonKeluarClick(Sender: TObject);
begin FormAplikasi.Close; end;
18. untuk melakukan pengujian terhadap aplikasi silahkan tekan F9 atau Run.