aplikasi database pegawai by MazRy

VIEWS: 10,058 PAGES: 29

aplikasi database pegawai

More Info
									          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


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



                   NIP      NAMA              TGL_LAHIR          ALAMAT              KOTA
                  1      Ariwibowo            12/09/1988        Demangan           Yogyakarta
  Baris
(record)          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

                             NIP                                  NIP
                             NAMA                                 NAMA
                             TGL_LAHIR                            TGL_LAHIR
                             ALAMAT                               ALAMAT
                             KOTA                                 KOTA
                                                                                          10
Nolan Lasarenth
Lembata
   •   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.




                                                                              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 : Pribadi                   Tabel : Pekerjaan

                     NIP                                   KODE_BAGIAN
                     KODE_BAGIAN                           NAMA_BAGIAN
                     GOL
                     JABATAN




   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




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

                                                                                18
Nolan Lasarenth
Lembata
       SQL Query
                               SQLConnection   SQLConnectionMySQL
       (terdapat pada    tab
       dbExpress)              SQL             SELECT*FROM pribadi
                               Name            SQLQueryPribadi
                               Active          True
       DataSetProvider
                               Name            DataSetProviderPribadi
       (terdapat pada    tab
       Data Access)            DataSet         SQLQueryPribadi
       ClientDataSet           Name            ClientDataSetPribadi
       (terdapat pada    tab
       Data Access)            ProviderName    DataSetProviderPribadi
                               IndexFieldName Nip
                               Active          True
       DataSource
                               Name            DataSourcePribadi
       (terdapat pada    tab
       Data Access)            DataSet         ClientDataSetPribadi
       SQL Query
                               SQLConnection   SQLConnectionMySQL
       (terdapat pada    tab
       dbExpress)              SQL             SELECT*FROM pekerjaan
                               Name            SQLQueryPekerjaan
                               Active          True
       DataSetProvider         Name            DataSetProviderPekerjaan
       (terdapat pada    tab
       Data Access)            DataSet         SQLQueryPekerjaan
       ClientDataSet
                               Name            ClientDataSetPekerjaan
       (terdapat pada    tab
       Data Access)            ProviderName    DataSetProviderPekerjaan
                               IndexFieldName Jabatan
                               Active          True
       DataSource
                               Name            DataSourcePekerjaan
       (terdapat pada    tab
       Data Access)            DataSet         ClientDataSetPekerjaan
       SQL Query               SQLConnection   SQLConnectionMySQL
       (terdapat pada    tab
       dbExpress)              SQL             SELECT*FROM gaji
                               Name            SQLQueryGaji
                               Active          True
       DataSetProvider
                               Name            DataSetProviderGaji
       (terdapat pada    tab
       Data Access)            DataSet         SQLQueryGaji
       ClientDataSet           Name            ClientDataSetGaji
       (terdapat pada    tab
                               ProviderName    DataSetProviderGaji


                                                                          19
Nolan Lasarenth
Lembata
       Data Access)
                               IndexFieldName Gol
                               Active          True
       DataSource              Name            DataSourceGaji
       (terdapat pada    tab
       Data Access)            DataSet         ClientDataSetGaji
       SQL Query
                               SQLConnection   SQLConnectionMySQL
       (terdapat pada    tab
       dbExpress)              SQL             SELECT*FROM bagian
                               Name            SQLQueryBagian
                               Active          True
       DataSetProvider         Name            DataSetProviderBagian
       (terdapat pada    tab
       Data Access)            DataSet         SQLQueryBagian
       ClientDataSet
                               Name            ClientDataSetBagian
       (terdapat pada    tab
       Data Access)            ProviderName    DataSetProviderBagian
                               IndexFieldName kode_bagian
                               Active          True
       DataSource
                               Name            DataSourceBagian
       (terdapat pada    tab
       Data Access)            DataSet         ClientDataSetBagian
       Label     (pada   tab Caption           NIP
       standard)
       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
       DBEdit                  Name            DBEditNip
       (terdapat pada    tab Data Source       DataSourcePribadi
       Data Control)
                               DataField       nip
       DBEdit                  Name            DBEditNama
                               Data Source     DataSourcePribadi
                               DataField       nama
       DBEdit                  Name            DBEditAlamat

                                                                       20
Nolan Lasarenth
Lembata
                              Data Source   DataSourcePribadi
                              DataField     Alamat
       DBEdit                 Name          DBEditKota
                              Data Source   DataSourcePribadi
                              DataField     Kota
       RadioButton            Name          RadioButtonPria
       (terdapat pada     tab Caption       &Pria
       Standard)
                              Enable        False
                              Checked       True
       RadioButton            Name          RadioButtonWanita
       (terdapat pada     tab Caption       &Wanita
       Standard)
                              Enable        False
                              Checked       False
       TDateTimePicker        Name          DateTimePickerTglLahir
       (pada Tab Win32)
       DBLookupComboBox Name                DBLookupComboBoxBagian
       (pada     tab     Data DataSource    DataSourcePekerjaan
       Controls)
                              DataField     kode_bagian
                              Keyfield      kode_bagian
                              ListField     nama_bagian
                              ListSource    DataSourceBagian
       DBEdit (pada       tab Name          DBEditJabatan
       Data Controls)
                              DataSource    DataSourcePekerjaan
                              DataField     jabatan
       DBLookupComboBox Name                DBLookupComboBoxGol
       (pada     tab Data
                          DataSource        DataSourcePekerjaan
       Controls)
                          DataField         Gol
                              ListSource    DataSourceGaji
                              ListField     gol



       BitBtn                 Caption       &Cari
                              Name          ButtonCari


                                                                     21
Nolan Lasarenth
Lembata
       BitBtn              Caption   &Pertama
       (terdapat pada   tab Name     ButtonPertama
       Additional)
       BitBtn              Caption   &Berikutnya
                           Name      ButtonBerikutnya
       BitBtn              Caption   &Terakhir
                           Name      ButtonTerakhir
       BitBtn              Caption   &Sebelumnya
                           Name      ButtonSebelumnya
       BitBtn              Caption   &Tambah
                           Name      ButtonTambah
       BitBtn              Caption   &Hapus
                           Name      ButtonHapus
       BitBtn              Caption   &Edit
                           Name      ButtonEdit
       BitBtn              Caption   &Simpan
                           Name      ButtonSimpan
       BitBtn              Caption   &Batal
                           Name      ButtonBatal
       BitBtn              Caption   &Keluar
                           Name      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

								
To top