Pada artikel sebelumnya tentang Otorisasi dan Klasifikasi User yang menggunakan DataModule, telah dibahas tentang teknik mengecek keabsahan user dengan menyediakan form login. Setelah user tersebut berhasil login (authorized), selanjutnya sistem melakukan proses klasifikasi user dan mematikan / menghidupkan menu-menu utama sistem sesuai dengan group user yang telah login.
Sekarang kita akan bahas bagaimana membuat form input dengan memanfaatkan komponen DBGrid, DataSource dan DBEdit. Form Input yang akan dibuat adalah Form Input Data Program Studi pada menu Data Induk > Program Studi.
Sebelum kita mulai, pastikan bahwa Anda telah membuat database AKADEMIK dengan tabel-tabel mhs, prodi dan users. Yang kedua, Anda harus memiliki source code pada artikel Otorisasi dan Klasifikasi User, karena program yang dibuat pada artikel ini akan menggunakan source code-source code tersebut.
Persiapan
Baiklah, pertama-tama, buatlah dulu folder baru, beri nama sesuai keinginan Anda. Lalu copykan semua source code yang saya sebutkan tadi ke folder tersebut seperti gambar berikut: 
Kemudian jalankan Delphi 7, lalu buka Project1 pada folder tadi.
Modifikasi Data Modul
Buka datamodul (tekan Ctrl-F12), lalu tambahkan 2 buah ADOQuery masing-masing beri nama Qry dan QryProdi :
Rubah properti Qry.Connection, isi dengan ADOConnection1. Demikian juga dengan QryProdi.
Perancangan Layout Form Program Studi
Selanjutnya buatlah form baru, rubah properti Name=frmProdi, lalu rancanglah tampilannya seperti terlihat pada gambar berikut ini:
Sebelum mengatur properti, buka dulu menu File> Use Unit. Pilih datamodul lalu klik OK.
Selanjutnya atur properti masing-masing objek pada form diatas sebagai berikut:
Shape1: Align=alTop | Brush.Color=clWhite |
DataSource1: DataSet=dm.QryProdi
GroupBox1: Caption=Input Program Studi
DBEdit1: DataSource=DataSource1 | DataField=kdprodi | Name=fld_kdprodi (jika muncul jendela error ketika mengisi properti DataField, abaikan saja)
DBEdit2: DataSource=DataSource1 | DataField=nmprodi | Name=fld_nmprodi (jika muncul jendela error ketika mengisi properti DataField, abaikan saja)
Button1: Name=btnBatal | Caption=Batal
Button2: Name=btnSimpan | Caption=Simpan >
GroupBox2: Caption=Daftar Program Studi yang ada
DBGrid1: DataSource=DataSource1 | Options : dgEditing=false, dgIndicator=false, dgRowSelect=true, dgAlwaysShowSelection=true | Readonly=true
Button3: Name=btnBaru | Caption=Baru
Button4: Name=btnEdit| Caption=Edit
Button5: Name=btnHapus | Caption=Hapus
Button6: Name=btnTutup | Caption=Tutup
Kemudian klik 2x pada DBGrid1, sehingga muncul jendela Editing DBGrid1.Columns seperti gambar berikut: 
Untuk membuat kolom kdprodi dan nmprodi seperti diatas, caranya:
1. Tekan tombol INSERT pada keyboard. Kolom baru dengan nama TColumn akan muncul pada list di window tersebut.
2. Isi properti FieldName=kdprodi dan Title=Kode (jika muncul jendela error ketika mengisi properti FieldName, abaikan saja)
3, Tekan lagi tombol INSERT, isi properti FieldName=nmprodi dan Title=Nama Program Studi (jika muncul jendela error ketika mengisi properti FieldName, abaikan saja)
4. Tutup jendela Editing DBGrid1.Columns tersebut.
Coding Form Program Studi
Klik 2x pada area kosong di form, lalu ketikkan kode program berikut ini pada procedure TfrmProdi.FormShow(Sender: TObject) :
Klik 2x pada btnBaru lalu ketikkan kode program berikut:
Klik DataSource1, lalu pada Object Inspector klik tab Events. Klik 2x pada OnStateChange dan ketikkan kode program berikut :
Klik 2x pada btnEdit lalu ketikkan kode program berikut:
Klik 2x pada btnHapus lalu ketikkan kode program berikut:
Klik 2x pada btnBatal lalu ketikkan kode program berikut:
Klik 2x pada btnTutup lalu ketikkan kode program berikut:
Klik 2x pada btnSimpan lalu ketikkan kode program berikut:
Simpan form tersebut (Ctrl-S) dengan nama file prodi.
Coding Form Utama
Tampilkan form utama dengan menekan tombol Shift-F12. Setelah form tersebut tampil, klik menu File > Use Unit. Pilih prodi lalu klik OK.
Pada form Utama telah dibuat beberapa menu utama. Klik menu Data Induk > Program Studi :
Lalu ketikkan kode program berikut:
Simpan Form Utama tersebut dengan menekan tombol Ctrl-S.
Selanjutnya simpan project dengan mengklik menu File > Save All
Oke, project telah selesai. Run project tersebut lalu isikan User ID : user1 dan Password : user1 (ingat, menu Data Induk > Program Studi hanya aktif jika login sebagai usergroup USER).
Pada Form Utama klik menu Data Induk > Program Studi. Cobalah isikan beberapa record dan coba mengedit dan menghapus record tersebut.











mas rofiq, saya ingin mendalami delphi client/server, nah kebetulan sekarang saya sekarang bekerja di internet / warnet, kan udah ada jaringannya, bagaimana menyetting komputer server dan client-nya. saya sangat mohon saran dan petunjuk mas rofiq, terima kasih.
By: ocim on September 12, 2007
at 10:44 pm
Makasih banget atas infonya tentang aplikasi database dengan delphi…
By: Hapsoro on October 4, 2007
at 7:35 am
halo Mas…
kalo utk aplikasi C/S itu sebaiknya kita definisikan
stored procedure, trigger, dll di DBMS
trus dr aplikasi yg dibuat dr Delphi, khan tinggal execute aja strored procedure, di DBMS
yg sy masih bingung….
utk pemakaian datasetnya di delphi…
sebaiknya pake table ato query ?
yg sy tahu kalo pake DBMS, sebaiknya gunakan perintah SQL
contoh : kalo pake DBnavigator kan tdk mungkin kita pake perintah sqlnya…
mudah2an mas rofiq tdk bingung dgn pertanyaan saya
By: suhada on October 24, 2007
at 6:25 am
Halo juga mas,
Mungkin maksud mas bagaimana mengeksekusi stored procedure dan menggunakan datasetnya, begitu?
Ok, sebelumnya mas harus tau dulu kalo stored procedure itu bisa menghasilkan ato me-return dataset dan bisa juga tidak. Bergantung dari program T-SQL yang ditulis di sp tersebut. Kalo ada perintah SELECT dan hasilnya di-return, maka sp tersebut menghasilkan dataset.
Nah kalo di Delphi, mas bisa gunakan ADOStoredProc untuk eksekusi sp. Jika sp nya me-return dataset, tinggal letakkan DataSource lalu properti DataSet diisi dengan nama ADOStoredProc-nya.
Karena sudah ada DataSource, mas bisa gunakan DBNavigator dan DBGrid untuk melihat hasilnya.
Ok semoga jawaban saya pas…
By: Rofiq Siregar on October 24, 2007
at 1:26 pm