aplikasi database pegawai

Upload: honda-blade

Post on 06-Jul-2015

579 views

Category:

Documents


11 download

TRANSCRIPT

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 20081 Nolan Lasarenth Lembata

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.

2 Nolan Lasarenth Lembata

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

3 Nolan Lasarenth Lembata

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

4 Nolan Lasarenth Lembata

yang dijual dipasaran maupun yang kita buat sendiri, dan DBMS (Database Management System). Brainware, adalah manusia yang dibantu oleh kedua hal di atas.

5 Nolan Lasarenth Lembata

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. Input Unit Pengolah Output

Unit Penyimpan 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.

6 Nolan Lasarenth Lembata

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

7 Nolan Lasarenth Lembata

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).

DATA

PROSES

INFORMASI

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. 8

Nolan Lasarenth Lembata

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 9 Nolan Lasarenth Lembata

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.Masing-masing adalah Kolom (field)

Baris (record)

NIP 1 2 3

NAMA Ariwibowo Roffilth Parlin

TGL_LAHIR 12/09/1988 12/10/1987 25/01/1988

ALAMAT Demangan Babarsari Gadongan

KOTA Yogyakarta Yogyakarta Yogyakarta

b. Hubungan Pada model database relasional, kaitan antara dua buah tabel disebut hubungan (relationship). Hubungan dapat berupa : 1-1 data pada tabel lain. Tabel : PribadiNIP NAMA TGL_LAHIR ALAMAT KOTA

: yakni satu data pada suatu tabel berpasangan dengan hanya satu

Tabel : PekerjaanNIP NAMA TGL_LAHIR ALAMAT KOTA

10

Nolan Lasarenth Lembata

1-M

: yakni satu data pada suatu tabel berpasangan dengan banyak data pada tabel lain. Tabel : Pekerjaan NIP 12345 12346 12347 KODE_BAGIAN 1 2 1 GOL 3B 3A 3A JABATAN Staff Staff Staff

Tabel : Bagian KODE_BAGIAN 1 2 3 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. NAMA_BAGIAN Personalia Akunting TI/SI

M-M : yakni beberapa data pada suatu tabel berpasangan dengan

11 Nolan Lasarenth Lembata

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 : PribadiNIP KODE_BAGIAN GOL JABATAN

Tabel : PekerjaanKODE_BAGIAN NAMA_BAGIAN

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 prosesproses tersebut maka indeks akan diperbaharui. Oleh karena itu, penggunaan indeks perlu dibatasi pada kolom-kolom tertentu saja. 2. Normalisasi

12 Nolan Lasarenth Lembata

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 13 Nolan Lasarenth Lembata

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 :Database mysql test

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

14 Nolan Lasarenth Lembata

4. untuk menampilkan tabel dalam database mysql, diberikan perintah berikut : mysql> SHOW TABELS; Tabels_in_mysql columns_priv db func host tabels_priv user 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;

15 Nolan Lasarenth Lembata

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

16 Nolan Lasarenth Lembata

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 : 17 Nolan Lasarenth Lembata

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 Caption Name Aplikasi

Isi 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 SQL Connection (setelah ditaruh di form, klik ganda dan pilih (terdapat pada tab Connection Name berupa MySQL Connection) dbExpress) Name SQLConnectionMySQL Connected LoginPrompt True False 18 Nolan Lasarenth Lembata

SQL Query (terdapat pada dbExpress)

tab

SQLConnection SQL Name Active

SQLConnectionMySQL SELECT*FROM pribadi SQLQueryPribadi True DataSetProviderPribadi SQLQueryPribadi ClientDataSetPribadi DataSetProviderPribadi True DataSourcePribadi ClientDataSetPribadi SQLConnectionMySQL SELECT*FROM pekerjaan SQLQueryPekerjaan True DataSetProviderPekerjaan SQLQueryPekerjaan ClientDataSetPekerjaan DataSetProviderPekerjaan True DataSourcePekerjaan ClientDataSetPekerjaan SQLConnectionMySQL SELECT*FROM gaji SQLQueryGaji True DataSetProviderGaji SQLQueryGaji ClientDataSetGaji DataSetProviderGaji 19

DataSetProvider (terdapat pada Data Access) ClientDataSet (terdapat pada Data Access)

tab

Name DataSet

tab

Name ProviderName Active

IndexFieldName Nip DataSource (terdapat pada Data Access) SQL Query (terdapat pada dbExpress) Name DataSet tab SQLConnection SQL Name Active DataSetProvider (terdapat pada Data Access) ClientDataSet (terdapat pada Data Access) tab Name DataSet tab Name ProviderName Active DataSource (terdapat pada Data Access) SQL Query (terdapat pada dbExpress) tab Name DataSet tab SQLConnection SQL Name Active DataSetProvider (terdapat pada Data Access) ClientDataSet (terdapat pada tab Name DataSet tab Name ProviderName

tab

IndexFieldName Jabatan

Nolan Lasarenth Lembata

Data Access) DataSource (terdapat pada Data Access) SQL Query (terdapat pada dbExpress)

IndexFieldName Gol Active tab Name DataSet tab SQLConnection SQL Name Active True DataSourceGaji ClientDataSetGaji SQLConnectionMySQL SELECT*FROM bagian SQLQueryBagian True DataSetProviderBagian SQLQueryBagian ClientDataSetBagian DataSetProviderBagian True DataSourceBagian ClientDataSetBagian NIP Nama : Alamat : Kota : Jenis Kelamin : Tanggal Lahir Bagian Jabatan Golongan DBEditNip DataSourcePribadi nip DBEditNama DataSourcePribadi nama DBEditAlamat 20

DataSetProvider (terdapat pada Data Access) ClientDataSet (terdapat pada Data Access)

tab

Name DataSet

tab

Name ProviderName Active

IndexFieldName kode_bagian DataSource (terdapat pada Data Access) Label (pada standard) Label Label Label Label Label Label Label Label DBEdit (terdapat pada Data Control) DBEdit Name DataSet tab Caption Caption Caption Caption Caption Caption Caption Caption Caption Name tab Data Source DataField Name Data Source DataField DBEdit Nolan Lasarenth Lembata Name

tab

Data Source DataField DBEdit Name Data Source DataField RadioButton (terdapat pada Standard) Name tab Caption Enable Checked RadioButton (terdapat pada Standard) Name tab Caption Enable Checked TDateTimePicker (pada Tab Win32) DBLookupComboBox Name (pada tab Controls) Data DataSource DataField Keyfield ListField ListSource DBEdit (pada Data Controls) tab Name DataSource DataField DBLookupComboBox Name (pada tab Data DataSource Controls) DataField ListSource ListField Name

DataSourcePribadi Alamat DBEditKota DataSourcePribadi Kota RadioButtonPria &Pria False True RadioButtonWanita &Wanita False False DateTimePickerTglLahir DBLookupComboBoxBagian DataSourcePekerjaan kode_bagian kode_bagian nama_bagian DataSourceBagian DBEditJabatan DataSourcePekerjaan jabatan DBLookupComboBoxGol DataSourcePekerjaan Gol DataSourceGaji gol

BitBtn

Caption Name

&Cari ButtonCari 21

Nolan Lasarenth Lembata

BitBtn (terdapat pada Additional) BitBtn BitBtn BitBtn BitBtn BitBtn BitBtn BitBtn BitBtn BitBtn

Caption tab Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name

&Pertama ButtonPertama &Berikutnya ButtonBerikutnya &Terakhir ButtonTerakhir &Sebelumnya ButtonSebelumnya &Tambah ButtonTambah &Hapus ButtonHapus &Edit ButtonEdit &Simpan ButtonSimpan &Batal ButtonBatal &Keluar ButtonKeluar

22 Nolan Lasarenth Lembata

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; 23 Nolan Lasarenth Lembata

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: Boolean); 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; 24 Nolan Lasarenth Lembata

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 :

25 Nolan Lasarenth Lembata

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: TObject); 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; 26 Nolan Lasarenth Lembata

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: 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; end; 13. menambah kode pada tombol Terakhir klik ganda pada tombol Terakhir, kemudian tuliskan kode berikut ini : 27 Nolan Lasarenth Lembata

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; 28 Nolan Lasarenth Lembata

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.

29 Nolan Lasarenth Lembata