Modul Pemrograman Visual Lengkap

  Modul Praktikum Pemrograman Visual

  Jurusan Teknik Informatika

KATA PENGANTAR

  Dengan mengucap syukur Alhamdulillah, akhirnya modul praktikum Pemrograman visual untuk mahasiswa Teknik Informatika Fakultas Teknik selesai di kerjakan. Semoga bermanfaat bagi mahasiswa dan civitas akademika Universitas Janabadra Yogyakarta.

  Modul ini dirancang untuk selalu dinamis mengikuti jadwal tatap muka dosen di kelas, sehingga apa yang disampaikan di kelas akan di pertajam lagi di kelas praktikum. Dengan mengikuti step-step di modul ini secara tertip dan terurut, diharapkan mahasiswa akan memahami tentang matakuliah ini dan bisa di implementasikan dalam kehidupan akademis untuk menunjang keberhasilan mahasiswa.

  Keberhasilan mahasiswa sangat di pengaruhi oleh sikap dan perilaku mahasiswa sendiri dalam mengikuti proses belajar mengajar, dengan kedisiplinan yang tinggi serta di tunjang dengan aktifitas dalam mencari bahan rujukan lain baik itu di perpustakaan, internet maupun sharing dengan teman.

  Apabila dalam kegiatan praktikum, praktikan menemukan kesulitas dan atau kekurangan dalam modul ini diharapkan segera memberitahukan kepada asisten pendamping atau dengan dosen pengampu matakuliah ini.

  Demikian semoga modul ini bisa bermanfaat bagi kita semua. Amin.

  Yogyakarta, Agustus 2015 Penyusun, Disusun Oleh : Ryan Ari Setyawan, S.Kom., M.Eng. Dosen Teknik Informatika, Fakultas Teknik

  Universitas Janabadra Untuk praktikum ini kita menggunakan Ms. Access sebagai databasenya. Contoh: Buat Database Toko di Ms.Access, langkah-langkah: 1.

  Buka Ms.Access 2. Klik File-New – Blank Database 3. Beri nama File Name: Toko, klik create 4. Pada menu Table klik create Table in Design view untuk membuat struktur tabel 5. Buat tabel Barang dengan struktur seperti di bawah ini, dengan KodeB sebagai kunci primer (klik kanan pada field kodeB – primary key)

  6. Simpan tabel dengan nama Barang, kemudian tutup design tabel 7.

  Pada jendela Toko:database, double klik tabel barang, kemudian isi tabel dengan data-data di bawah ini

  8. Dengan cara yang sama, buat tabel Beli dengan struktur seperti di bawah ini 9.

  Relasikan tabel Beli dengan taebl Barang

  

MODUL I

PEMROGRAMAN DATABASE DENGAN DELPHI

  10. Kemudian isi Tabel Beli dengan data-data seperti di bawah ini 11.

  Tutup aplikasi Ms.Access

BORLAND DELPHI PENCARIAN DATA 1.

  Buat form untuk pencarian data seperti di bawah ini Komponen :

  Tab Komponen Property Nilai ADO ADOConnection1 Connection String *(ke data base

  Toko) Loginprompt false ADOTable1 Connection ADOConnection1 Table Name Barang Active True

  Data Access Data Source1 Dataset ADOTable1 Data Control DBGrid1 DataSource Datasource1

  DBNavigator1 DataSource Datasource1 Standar Label1 Caption Cari Nama Barang

  GroupBox1 Caption Metode I GroupBox2 Caption Metode II GroupBox3 Caption Metode III Edit1 Text Edit2 Text Edit3 Text Button1 Caption Cari

   ADOConnection1 connection string, pilih use connection string – Build  Pilih Microsoft Office 12.0 Access Database Engine OLEDB provider.(jika Anda menggunakan Ms Access 2003 ke bawah pilih Microsoft Jet4.0 OLE DB Povider) – Next  Select or enter a database name -> cari lokasi penyimpanan database Toko (Jika menggunakan Ms.Access 2007 ubah extensinya menjadi accdb,contoh: Toko.accdb)  Klik Test Connection, jika berhasil akan keluar jendela: Test connection succeeded  Klik OK

  Catatan: Dalam mengisi property Table Name jangan mengetik sendiri nama tabelnya, tapi pilih nama tabel yang tersedia

2. Pencarian Metode I (Pencarian tepat Sama)

  Pencarian ini berdasarkan masukan yang dimasukkan pada komponen Edit1, dimana masukannya harus tepat sama dengan nama barang yang dicari. Pencariannya diseleksi mulai dari abjad yang pertama. Ketik kode program pada Edit1 On Change:

  procedure TForm1.Edit1Change(Sender: TObject); begin ADOTable1.Locate('NamaB',Edit1.Text,[]); end; 3.

  Pencarian Metode II (Pencarian Mendekati Sama) Hampir sama dengan Metode I, tetapi masukannya tidak harus sama dengan nama barang yang dicari.

  procedure TForm1.Edit2Change(Sender: TObject); begin ADOTable1.Locate('NamaB',Edit2.Text,[LoPartialKey]); end; 4.

  Pencarian Metode III Pencarian ini dapat mencari nama barang yang mengandung huruf-huruf yang dimasukkan pada Edit3 (jadi bisa berada di awal, tengah ataupun belakang) Tambahkan var Ada di deklarasi global:

  var Form1: TForm1; Ada: integer;

  Kemudian ketikkan kode program di bawah ini(Button1 On Click)

  procedure TForm1.Button1Click(Sender: TObject); begin if Ada =0 then ADOTable1.First else ADOTable1.Next; While not ADOTable1.Eof do begin

Ada:=Pos(uppercase(Edit3.Text),uppercase(ADOTable1['NamaB']

)); If Ada>0 then break; ADOTable1.Next; end; If Ada =0 then begin Beep; ADOTable1.First;

  end; end; MANIPULASI DATA

INSERT DATA 1.

  Buat Form untuk input data barang seperti di bawah ini, dengan komponen: Tab Komponen Property Nilai ADO ADOConnection1 Connection String (ke data base Toko)

  ADOTable1 Connection ADOConnection1 Table Name Barang Active True

  Data Access Data Source1 Dataset ADOTable1 Data Control DBGrid1 DataSource Datasource1 2.

  Procedure Button1 OnClick

  procedure TForm1.Button1Click(Sender: TObject); begin ADOTable1.Append; ADOTable1['KodeB']:=Edit1.Text; ADOTable1['NamaB']:=Edit2.Text; ADOTable1['HBeli']:=Edit3.Text; ADOTable1['HJual']:=Edit4.Text; ADOTable1.Post; end;

  atau dapat juga dengan menggunakan kode program :

  ADOTable1.InsertRecord([edit1.text, edit2.text,edit3.text, edit4.text]);

  VALIDASI (untuk memastikan bahwa kode barang yang akan diinsert belum ada di tabel barang) procedure TForm1.Edit1Exit(Sender: TObject); var ada:boolean; begin ada:=false; ada:=ADOTable1.Locate('KodeB',Edit1.Text,[]); if ada=true then begin showmessage('kode barang sudah ada'); edit1.setfocus; end; end; DELETE DATA 1.

  Tambahkan satu buah button, beri caption : DELETE 2. Kenakan event on click pada button tersebut kemudian beri kode program:

  AdoTable1.delete; (record yang ditunjuk oleh cursor pada DBGrid akan dihapus)

UPDATE/EDIT DATA 1.

  Dalam mengedit data, pertama-tama kita pilih data yang akan dipilih pada DBGrid, kemudian setiap field dari record yang terpilih ditampilkan pada komponen Edit5, Edit6, Edit7, dan Edit8. Jadi pertama-tama kita kenakan evenT OnCellClick pada komponen DBGrid dengan kode program sebagai berikut:

  procedure TForm1.DBGrid1CellClick(Column: TColumn); begin edit5.Text := dbgrid1.Fields[0].AsString; edit6.Text := dbgrid1.Fields[1].AsString; edit7.Text := dbgrid1.Fields[2].AsString; edit8.Text := dbgrid1.Fields[3].AsString;

  end;

  Setelah itu kita dapat mengedit data yang ada pada komponen Edit tersebut, kemudian kita simpan dengan menggunakan button UBAH dengan kode program sebagai berikut:

  procedure TForm1.Button3Click(Sender: TObject); begin ADOTable1.Edit; ADOTable1['KodeB']:=Edit5.Text; ADOTable1['NamaB']:=Edit6.Text; ADOTable1['HBeli']:=Edit7.Text; ADOTable1['HJual']:=Edit8.Text; ADOTable1.Post; end; RELASI TABEL 1.

  Buat form untuk menampilkan relasi antara tabel Barang dengan Tabel Beli seperti di bawah ini: dengan komponen sbb:

  Tab Komponen Property Nilai ADO ADOConnection1 ConnectionString (ke database Toko)

  LoginPrompt False ADOTable1 Connection ADOConnection1

  TableName Beli Active True

  Data Access DataSource1 Dataset ADOTable1 ADO ADOTable2 Connection ADOConnection1

  TableName Barang Mastersource DataSource1 MasterField KodeB* Active True

  Data Access DataSource2 Dataset ADOTable2 Data Controls DBGrid1 DataSource Datasource1

  DBNavigator DataSource DataSource1 DBEdit1 DataSource DataSource2

  DataField NamaB

  • Cara mengisi property MasterField adalah kita pilih kunci/field yang menjadi penghubung antara kedua tabel, dalam kasus ini adalah KodeB. Setelah kita klik KodeB di kolom detail Fields dan KodeB di kolom Master Fields, kemudian klik add sehingga muncul tampilan seperti di bawah ini.

2. Jalankan program.

  Program di atas menunjukkan keterkaitan antar tabel yang dalam kasus ini field pengaitnya adalah KodeB. Ketika program dijalankan, maka kursor akan menunjuk pada baris tertentu pada DBGrid yang mengacu ke ADOTable1, yaitu tabel Beli. Komponen DBEdit akan menampilkan nama barang yang didapat dari tabel ADOTable2 (tabel Barang) sesuai dengan baris yang ditunjuk oleh kursor .

DATA MODULE

  Komponen-komponen seperti ADOconnection, ADOTable, dan DataSource dapat diletakkan pada DataModule. Form-form yang mengakses suatu tabel database dapat menggunakan komponen-komponen pada data module, sehingga kita tidak perlu melakukan koneksi pada setiap form.

  Contoh Penggunaan Data Module Contoh berikut merupakan aplikasi yang terdiri dari 2 form yang sama-sama menampilkan tabel barang pada database Toko.

  1. Pilih File-New-Application. (Akan terbuka form 1 dan Unit 1 yang menyertainya) 2.

  Pilih File-New-data module. (Akan terbuka datamodule 2 dan unit 2 yang menyertainya (jadi unit 2 adalah unit untuk data module)). Letakkan komponen- komponen ADOConnection, ADOTable, dan Datasource untuk mengakses tabel barang pada database Toko. Lengkapi propertinya sebagai berikut.

  Komponen : Tab Komponen Property Nilai ADO ADOConnection1 Connection String *(ke data base

  Toko) Loginprompt false

  ADOTable1 Connection ADOConnection1 Table Name Barang Active True

  Data Access Data Source1 Dataset ADOTable1 3.

  Pada Unit 1 di bawah statement implementation tambahkan uses Unit 2 (karena form 1 akan menggunakan komponen pada data module), dan pada unit 2 tambahkan uses unit 1.

  4. Tambahkan komponen DBGrid pada form 1, pilih property data source menjadi DataModule2.Datasource1. (DBGrid akan menampilkan tabel Barang) 5. Pilih File-New-Form untuk membuat form 3 6. Pada form 1 tambahkan 1 buah button untuk membuka form 3. Pada unit 1 pada deklarasi uses tambahkan unit 3.(karena form 1 terdapat button untuk membuka form 3) 7. Pada unit 3 di bawah implementation tambahkan uses unit 2 (karena form 3 akan menggunakan komponen-komponen yang ada pada DataModule). Dan pada unit

  2 pada deklarasi uses tambahkan unit 3.

  8. Letakkan komponen DBGrid pada form 3, pilih property data source menjadi DataModule2.Datasource1. (DBGrid akan menampilkan tabel Barang)

  Dari contoh di atas dapat kita lihat dengan menggunakan datamodule kita tidak perlu mengatur koneksi database pada setiap form, cukup kita lakukan satu kali saja pada datamodule. Catatan: Jika Anda mengetikkan kode program pada Unit 1 atau unit 3 yang mengakases komponen-komponen pada datamodule, maka tambahkan statement DataModule2 di depan statement yang menyebutkan komponen tersebut. Contoh:

  DataMoudule2.ADOTable1.InsertRecord([edit1.text, edit2.text,edit3.text, edit4.text]);

Latihan

  

Buatlah Aplikasi database yang mengandung form untuk pencarian, form manipulasi

data, dan form untuk melihat data(relasi 2 tabel) dengan menggunakan data module

  

MODUL II

ADOTABLE SIMPAN DELPHI

  Untuk praktikum pertemuan ini, melakukan fungsi penyimpanan database menggunakan adotable di delphi.

1. Membuat database dengan Access

  Sebelum membuat database, ada baiknyakan dibuat. Misal kita buat Folder pada drive C:Projek_baru.

   Buka Start –>All Programs–> Microsoft Office–> pilih Microsoft Office Access 2007.  Klik Blank Database untuk membuat database baru.

   Pada kolom kanan terdapat form File Name, atur lokasi penyimpanan pada Folder yang telah dibuat sebelumnya C:projek_baru dan beri nama db_pb.accdb.

   Klik Create untuk membuat database projek.

   Pada kolom kanan projek baru terdapat Tulisan Table1, Klik kanan pada Table1 : Table, pilih Design View.

   Simpan dengan nama tb_buku (singkatan dari tabel buku).

   Jika langkah benar akan tampil seperti berikut. Buat kolom baru pada table yang kita buat tadi, caranya isi field name dengan nama kolom, data type diisi dengan type datanya.

   No type data integer.  Nama type data (text) field size 30.

   Agama type data (text) field size 10.

   Kota_lahir type data (text) field size 20.

   Tgl_lhr type data (date/time) format Short date.

   No_hp type data (text) field size 13

   Alamat type data (text) field size 225

   Kategori type data (text) field size 20  Foto type data (memo).

2. Desain Aplikasi

  Tahap selanjutnya kita akan membuat database tersebut dapat digunakan dengan kombinasi Delphi.

A. Koneksi Database

   Buka Delphi baru dan desain form seperti berikut Komponen pendukung dan setting properties :

   No, nama, kota lahir, no hp (Gunakan EDIT text).

   Agama, Kategori (gunakan Combobox).

   Agama pada Properties –>Items, tambahkan Islam, hindu, Budha, katolik.

   Kategori pada properties

  • –>Items, tambahkan TK, SD, SMP, SMA, KULIAH dan Umum.

   Adoconnection pada tab ADO

   2 Adotable (pada tab ado), ganti name masing-masing table dengan ado_view dan ado_simpan.

   Datasource.

   OpenPictureDialog

   Image

   DBGrid

  

   Pada Tanggal lahir gunakan komponen Datetimepicker. Aktifkan Form1, pada event oncreate ketikan Source berikut : procedure TForm1.FormCreate(Sender: TObject); begin try with ADOConnection1 do begin Connected:=false; ConnectionString:='Provider=Microsoft.ACE.OLEDB.12.0;D ata Source='+ 'C:projek_barudb_pb.accdb;Persist Security Info=False'; LoginPrompt:=false; Connected:=true; end; ShowMessage('Koneksi Sukses'); with ado_view do begin Active:=false; TableName:='tb_buku'; Active:=true; end; except ShowMessage('Koneksi gagal'); end; end; Simpan Data (Insert data).

  Setelah berhasil membuat koneksi dan menyambungkan antar komponen, tahap berikutnya adalah simpan data menggunakan adotable. Ikuti langkah demi langkah berikut :

   Klik 2x Button1 (Buka Gambar), ketikan source berikut : procedure TForm1.Button2Click(Sender: TObject); begin if OpenPictureDialog1.Execute then lokasi:=OpenPictureDialog1.FileName; Image1.Picture.LoadFromFile(lokasi); end; Untuk dapat menjalankan syntax diatas, buat variable global lokasi dengan tipe data string. Variable lokasi disini adalah lokasi foto yang digunakancomputer untuk disimpan Klik 2x button Simpan untuk menyimpan gambar. Ketikan source berikut : procedure TForm1.Button1Click(Sender: TObject); begin try with ado_simpan do begin Active:=false; TableName:='tb_buku'; Active:=true; append; ado_simpan['no']:=edit1.Text; ado_simpan['nama']:=edit2.Text; ado_simpan['agama']:=ComboBox1.Text; ado_simpan['kota_lahir']:=edit3.Text; ado_simpan['tgl_lhr']:=DateTimePicker1.Time; ado_simpan['no_hp']:=edit4.Text; ado_simpan['alamat']:=memo1.Text; ado_simpan['kategori']:=ComboBox2.Text; ado_simpan['foto']:=lokasi; post; end; ShowMessage('Berhasil disimpan'); ado_view.Close; ado_view.Open; except ShowMessage('Gagal disimpan'); end; end; Terakhir, akan membuat ketika aplikasi dijalankan saat mengklik cell pada dbGrid data akan ditampilkan pada tiap komponen, contoh seperti gambar berikut : Caranya klik pada DBgrid

  • –>Event–>OnCellClick, Tuliskan Syntax berikut : with DBGrid1 do begin edit1.DisableAlign; edit1.Text:=DBGrid1.DataSource.DataSet['no']; edit2.Text:=DBGrid1.DataSource.DataSet['nama']; ComboBox1.Text:=DBGrid1.DataSource.DataSet['agama']; edit3.Text:=DBGrid1.DataSource.DataSet['kota_lahir']; DateTimePicker1.Time:=DBGrid1.DataSource.DataSet['tgl_lhr']; edit4.Text:=DBGrid1.DataSource.DataSet['no_hp']; memo1.Text:=DBGrid1.DataSource.DataSet['alamat']; ComboBox2.Text:=DBGrid1.DataSource.DataSet['kategori']; lokasi:=DBGrid1.DataSource.DataSet['foto']; end; Image1.Picture.LoadFromFile(lokasi);

  TUGAS !!! Setelah mengerjakan praktikum diatas, kembangkan untuk aplikasi database mahasiswa.

  

MODUL III

BEKERJA DENGAN DUA FORM

  Untuk praktikum pertemuan kali ini yakni bekerja dengan dua form. Dimana untuk proses simpan database terdapat di form lain.

1. Buatlah database di MS.Access, dengan ketentuan sebagai berikut :

  Field Name Data Type NIP Text (7) Nama Text (25) Golongan Text (4) Unit Kerja Text (15) Alamat Text (30) Simpan dalam bentuk .mdb 2.

  Kemudian Buatlah form aplikasi pertama seperti berikut :

3. Kemudian Buatlah form kedua seperti berikut :

  Gunakan :  ADOConection  ADOTable  DataSource  DBGrid Setelah itu ketiklah source code berikut a.

  Untuk Button Simpan procedure TForm1.ButtonSimpanClick(Sender: TObject); begin

  Form2.ADOTable1.Open; Form2.ADOTable1.Append; Form2.ADOTable1['NIP']:=Edit1.Text; Form2.ADOTable1['Nama']:=Edit2.Text; Form2.ADOTable1['Golongan']:=Edit3.Text; Form2.ADOTable1['Unit Kerja']:=Edit4.Text; Form2.ADOTable1['Alamat']:=Edit5.Text; Form2.ADOTable1.Post; ShowMessage('Data Telah Tersimpan'); Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit4.Clear;

  Edit5.Clear; Edit1.SetFocus; end; b.

  Untuk Lihat Data procedure TForm1.ButtonLihatDataClick(Sender: TObject); begin

  Form2.Show; Form1.Hide; end; c.

  Untuk Button Keluar procedure TForm1.Button2Click(Sender: TObject); begin if MessageDlg('Anda Yakin Akan Keluar dari

  Sistem?',mtConfirmation,[mbYes,mbNo],0)=mrYes then begin Form1.Close; end; end; d.

  Untuk Button Kembali (Form 2) procedure TForm2.Button1Click(Sender: TObject); begin

  Form1.Show; Form2.Close; end;

  

TUGAS

  Silahkan modifikasi aplikasi tersebut dengan menambahkan fungsi delete, update dan cari data.

  MODUL IV

DATABASE DENGAN ADOQUERY

  Praktikum pertemuan ini, belajar membuat aplikasi dengan menggunakan database adoquery di bahasa pemrograman delphi.

1.1 Buatlah database

  Langkah-langkah untuk membuat database kepegawaian menggunakan Microsoft Access.

  1 Buka aplikasi Microsoft Access 2007 yang sudah terinstal pada komputer

  2 Klik File -> New -> Blank Database

  3 Pada isian File Name, klik tombol browse yang ada disebelah kanannya kemudian pindahkan aktif folder pada Drive D: , lalu buatlah folder dengan nama Anda dan klik Open pada folder tersebut

  4 Berikutnya ketik DBPraktikum_NPM pada isian File name dan pilih Microsoft Access Database (2002-2003 Format) (*.mdb).

  5 Lalu klik OK. Terakhir klik Create.

  6 Buatlah tabel pegawai dengan struktur sebagai berikut : Tabel Name : Biodata Tabel Name : Kepegawaian Setelah tabel selesai dibuat, isi data setiap tabel minimal 3 buah data sebagai sampel.

  Relasi Tabel

  Dari struktur tabel yang telah dibuat diatas, maka dapat dilihat ada relasi antara kedua tabel tersebut. Kunci relasi dari kedua tabel tersebut adalah Field NIP. Field NIP pada tabel Bidoata digunakan sebagai kunci primer (Primary Key) yang berfungsi sebgai pengidentifikasi unik setiap record yang terdapat pada tabel tersebut. Sedangkan Field NIP pada tabel Kepegawaian digunakan sebagai kunci tamu (Foreign Key) yang berfungsi sebagai kunci referensi terhadap tabel Biodata, sehingga data Tabel Kepegawaian memiliki ketergantungan terhadap data pada Tabel Biodata. Kardinalitas dari kedua tabel tersebut adalah 1 : 1 , artinya setiap pegawai yang terdaftar pada tabel Biodata akan berrelasi dengan satu record pada Tabel Kepegawaian.

1.2 Buatlah Aplikasi

  Aplikasi database kepegawaian yang dibuat menggunakan borland delphi 7. Buatlah tampilan visual (User Interface) seperti di bawah ini! Pemberian nama komponen silahkan diatur sendiri, boleh juga menggunakan penamaan bawaan dari Delphinya. Tambahkan komponen Data Aware diantaranya adalah :

  Listing Kode Program EVENT ONCREATE

  Event OnCreate pada form untuk membersihkan field dan menampilkan data pada DBGrid

EVENT BUTTONSAVE

  Proses button Save. Untuk menyimpan data pada Database, dilengkapi dengan validasi Field NIP tidak kboleh kosong dan tidak boleh terjadi duplikasi NIP. procedure TFormbiodata.ButtonsaveClick(Sender: TObject); begin // validasi field NIP tidak boleh kosong if Length(Editnip.Text) < 1 then begin MessageDlg('Field NIP tidak boleh kosong!',mtWarning,[mbOK],0); Exit; end;

  // validasi duplikasi NIP pegawai with ADOQuery1 do begin Active := False; SQL.Clear; SQL.Text := ' SELECT * FROM BIODATA WHERE NIP = ' + QuotedStr(Editnip.Text); Active := True; // tampilkan pesan jika terjadi duplikasi // dan keluar proses SAVE if ADOQuery1.RecordCount > 0 then begin MessageDlg('Terjadi duplikasi NIP. Silahkan ganti dengan yang baru!',mtError,[mbOK],0); Editnip.Clear; Editnip.SetFocus; // keluar dari proses insert Exit; end; end; // proses simpan biodata pegawai with ADOQuery1 do begin SQL.Clear; SQL.Text := ' INSERT INTO BIODATA(NIP,Nama,Tempat_Lahir,Tanggal_Lahir,Alamat,Kode_POS,Tel)

  VALUES (' + QuotedStr(Editnip.Text) + ' , ' + QuotedStr(Editnamapeg.Text) + ' , ' + QuotedStr(Edittempatlahir.Text) + ' , ' + '#' + DateToStr(DateTimePickerlahir.Date) + '#' + ' , ' + QuotedStr(Editalamat.Text) + ' , ' + QuotedStr(Editpos.Text) + ' , ' + QuotedStr(Edittelepon.Text) + ')'; ExecSQL; MessageDlg('Data sudah tersimpan',mtInformation,[mbOK],0); // panggil event formcreate untuk merefresh data pada dbgrid FormCreate(Sender); end; end;

  MODUL V

UPDATE DATABASE ADOQUERY

  Praktikum pertemuan ini, belajar membuat aplikasi dengan menggunakan database adoquery di bahasa pemrograman delphi.

1.1 Buatlah database

  Langkah-langkah untuk membuat database kepegawaian menggunakan Microsoft Access.

  1 Buka aplikasi Microsoft Access 2007 yang sudah terinstal pada komputer

  2 Klik File -> New -> Blank Database

  3 Pada isian File Name, klik tombol browse yang ada disebelah kanannya kemudian pindahkan aktif folder pada Drive D: , lalu buatlah folder dengan nama Anda dan klik Open pada folder tersebut

  4 Berikutnya ketik DBPraktikum_NPM pada isian File name dan pilih Microsoft Access Database (2002-2003 Format) (*.mdb).

  5 Lalu klik OK. Terakhir klik Create.

  6 Buatlah tabel pegawai dengan struktur sebagai berikut : Tabel Name : Biodata Tabel Name : Kepegawaian Setelah tabel selesai dibuat, isi data setiap tabel minimal 3 buah data sebagai sampel.

  Relasi Tabel

  Dari struktur tabel yang telah dibuat diatas, maka dapat dilihat ada relasi antara kedua tabel tersebut. Kunci relasi dari kedua tabel tersebut adalah Field NIP. Field NIP pada tabel Bidoata digunakan sebagai kunci primer (Primary Key) yang berfungsi sebgai pengidentifikasi unik setiap record yang terdapat pada tabel tersebut. Sedangkan Field NIP pada tabel Kepegawaian digunakan sebagai kunci tamu (Foreign Key) yang berfungsi sebagai kunci referensi terhadap tabel Biodata, sehingga data Tabel Kepegawaian memiliki ketergantungan terhadap data pada Tabel Biodata. Kardinalitas dari kedua tabel tersebut adalah 1 : 1 , artinya setiap pegawai yang terdaftar pada tabel Biodata akan berrelasi dengan satu record pada Tabel Kepegawaian.

1.2 Buatlah Aplikasi

  Aplikasi database kepegawaian yang dibuat menggunakan borland delphi 7. Buatlah tampilan visual (User Interface) seperti di bawah ini! Pemberian nama komponen silahkan diatur sendiri, boleh juga menggunakan penamaan bawaan dari Delphinya. Tambahkan komponen Data Aware diantaranya adalah :

  Listing Kode Program EVENT ONCREATE

  Event OnCreate pada form untuk membersihkan field dan menampilkan data pada DBGrid

EVENT DBGRIDDOUBLECLICK

  Proses double click dbGrid untuk mengcopy data dari DbGrid ke dalam field di form procedure TFormbiodata.DBGridbiodataDblClick(Sender: TObject); begin // proses meng-copy isi dbgrid ke dalam field dalam form Editnip.Text := DBGridbiodata.Fields[0].AsString; Editnamapeg.Text := DBGridbiodata.Fields[1].AsString; Edittempatlahir.Text := DBGridbiodata.Fields[2].AsString; DateTimePickerlahir.Date := DBGridbiodata.Fields[3].AsDateTime; Editalamat.Text := DBGridbiodata.Fields[4].AsString; Editpos.Text := DBGridbiodata.Fields[5].AsString; Edittelepon.Text := DBGridbiodata.Fields[6].AsString; Editnip.SetFocus; end;

  EVENT BUTTONUPDATE Proses untuk memperbaharui biodata pegawai

  procedure TFormbiodata.ButtonupdateClick(Sender: TObject); begin // validasi field NIP tidak boleh kosong if Length(Editnip.Text) < 1 then begin MessageDlg('Pilih salah satu data pada DBGRID!',mtWarning,[mbOK],0); Exit; end; // proses update biodata pegawai with ADOQuery1 do begin SQL.Clear; SQL.Text := ' UPDATE BIODATA SET ' + ' NAMA = ' + QuotedStr(Editnamapeg.Text) + ' , ' + ' Tempat_Lahir = ' + QuotedStr(Edittempatlahir.Text) + ' , ' +

' Tanggal_Lahir = ' + '#' + DateToStr(DateTimePickerlahir.Date) + '#' +

' , ' + ' Alamat = ' + QuotedStr(Editalamat.Text) + ' , ' + ' Kode_POS = ' + QuotedStr(Editpos.Text) + ' , ' + ' Telp = ' + QuotedStr(Edittelepon.Text) + ' WHERE NIP = ' + QuotedStr(Editnip.Text); ExecSQL; MessageDlg('Data sudah diperbaharui',mtInformation,[mbOK],0); end; // panggil event formcreate untuk merefresh data pada dbgrid FormCreate(Sender); end;

  MODUL VI

DELETE DATABASE ADOQUERY

  Praktikum pertemuan ini, belajar membuat aplikasi dengan menggunakan database adoquery di bahasa pemrograman delphi.

1.1 Buatlah database

  Langkah-langkah untuk membuat database kepegawaian menggunakan Microsoft Access.

  1 Buka aplikasi Microsoft Access 2007 yang sudah terinstal pada komputer

  2 Klik File -> New -> Blank Database

  3 Pada isian File Name, klik tombol browse yang ada disebelah kanannya kemudian pindahkan aktif folder pada Drive D: , lalu buatlah folder dengan nama Anda dan klik Open pada folder tersebut

  4 Berikutnya ketik DBPraktikum_NPM pada isian File name dan pilih Microsoft Access Database (2002-2003 Format) (*.mdb).

  5 Lalu klik OK. Terakhir klik Create.

  6 Buatlah tabel pegawai dengan struktur sebagai berikut : Tabel Name : Biodata Tabel Name : Kepegawaian Setelah tabel selesai dibuat, isi data setiap tabel minimal 3 buah data sebagai sampel.

  Relasi Tabel

  Dari struktur tabel yang telah dibuat diatas, maka dapat dilihat ada relasi antara kedua tabel tersebut. Kunci relasi dari kedua tabel tersebut adalah Field NIP. Field NIP pada tabel Bidoata digunakan sebagai kunci primer (Primary Key) yang berfungsi sebgai pengidentifikasi unik setiap record yang terdapat pada tabel tersebut. Sedangkan Field NIP pada tabel Kepegawaian digunakan sebagai kunci tamu (Foreign Key) yang berfungsi sebagai kunci referensi terhadap tabel Biodata, sehingga data Tabel Kepegawaian memiliki ketergantungan terhadap data pada Tabel Biodata. Kardinalitas dari kedua tabel tersebut adalah 1 : 1 , artinya setiap pegawai yang terdaftar pada tabel Biodata akan berrelasi dengan satu record pada Tabel Kepegawaian.

1.2 Buatlah Aplikasi

  Aplikasi database kepegawaian yang dibuat menggunakan borland delphi 7. Buatlah tampilan visual (User Interface) seperti di bawah ini! Pemberian nama komponen silahkan diatur sendiri, boleh juga menggunakan penamaan bawaan dari Delphinya. Tambahkan komponen Data Aware diantaranya adalah :

  Listing Kode Program EVENT ONCREATE

  Event OnCreate pada form untuk membersihkan field dan menampilkan data pada DBGrid

EVENT DBGRIDDOUBLECLICK

  Proses double click dbGrid untuk mengcopy data dari DbGrid ke dalam field di form procedure TFormbiodata.DBGridbiodataDblClick(Sender: TObject); begin // proses meng-copy isi dbgrid ke dalam field dalam form Editnip.Text := DBGridbiodata.Fields[0].AsString; Editnamapeg.Text := DBGridbiodata.Fields[1].AsString; Edittempatlahir.Text := DBGridbiodata.Fields[2].AsString; DateTimePickerlahir.Date := DBGridbiodata.Fields[3].AsDateTime; Editalamat.Text := DBGridbiodata.Fields[4].AsString; Editpos.Text := DBGridbiodata.Fields[5].AsString; Edittelepon.Text := DBGridbiodata.Fields[6].AsString; Editnip.SetFocus; end;

  EVENT BUTTON DELETE Proses untuk memperbaharui biodata pegawai

  procedure TFormbiodata.ButtondeleteClick(Sender: TObject); begin // validasi field NIP tidak boleh kosong if Length(Editnip.Text) < 1 then begin MessageDlg('Pilih salah satu data pada DBGRID!',mtWarning,[mbOK],0); Exit; end; // proses hapus biodata pegawai

if Application.MessageBox('Apakah anda akan menghapus data

ini?','Warning',MB_YESNO) = mrYes then begin with ADOQuery1 do begin SQL.Clear; SQL.Text := ' DELETE FROM BIODATA WHERE NIP = ' + QuotedStr(Editnip.Text); ExecSQL; MessageDlg('Data sudah terhapus',mtInformation,[mbOK],0); end; end;

  // panggil event formcreate untuk merefresh data pada dbgrid FormCreate(Sender); end;

  MODUL VII

PENCARIAN DATABASE ADOQUERY

  Praktikum pertemuan ini, belajar membuat aplikasi dengan menggunakan database adoquery di bahasa pemrograman delphi.

1.1 Buatlah database

  Langkah-langkah untuk membuat database kepegawaian menggunakan Microsoft Access.

  1 Buka aplikasi Microsoft Access 2007 yang sudah terinstal pada komputer

  2 Klik File -> New -> Blank Database

  3 Pada isian File Name, klik tombol browse yang ada disebelah kanannya kemudian pindahkan aktif folder pada Drive D: , lalu buatlah folder dengan nama Anda dan klik Open pada folder tersebut

  4 Berikutnya ketik DBPraktikum_NPM pada isian File name dan pilih Microsoft Access Database (2002-2003 Format) (*.mdb).

  5 Lalu klik OK. Terakhir klik Create.

  6 Buatlah tabel pegawai dengan struktur sebagai berikut : Tabel Name : Biodata Tabel Name : Kepegawaian Setelah tabel selesai dibuat, isi data setiap tabel minimal 3 buah data sebagai sampel.

  Relasi Tabel

  Dari struktur tabel yang telah dibuat diatas, maka dapat dilihat ada relasi antara kedua tabel tersebut. Kunci relasi dari kedua tabel tersebut adalah Field NIP. Field NIP pada tabel Bidoata digunakan sebagai kunci primer (Primary Key) yang berfungsi sebgai pengidentifikasi unik setiap record yang terdapat pada tabel tersebut. Sedangkan Field NIP pada tabel Kepegawaian digunakan sebagai kunci tamu (Foreign Key) yang berfungsi sebagai kunci referensi terhadap tabel Biodata, sehingga data Tabel Kepegawaian memiliki ketergantungan terhadap data pada Tabel Biodata. Kardinalitas dari kedua tabel tersebut adalah 1 : 1 , artinya setiap pegawai yang terdaftar pada tabel Biodata akan berrelasi dengan satu record pada Tabel Kepegawaian.

1.2 Buatlah Aplikasi

  Aplikasi database kepegawaian yang dibuat menggunakan borland delphi 7. Buatlah tampilan visual (User Interface) seperti di bawah ini! Pemberian nama komponen silahkan diatur sendiri, boleh juga menggunakan penamaan bawaan dari Delphinya. Tambahkan komponen Data Aware diantaranya adalah :

  Listing Kode Program EVENT ONCREATE

  Event OnCreate pada form untuk membersihkan field dan menampilkan data pada DBGrid

EVENT DBGRIDDOUBLECLICK

  Proses double click dbGrid untuk mengcopy data dari DbGrid ke dalam field di form procedure TFormbiodata.DBGridbiodataDblClick(Sender: TObject); begin // proses meng-copy isi dbgrid ke dalam field dalam form Editnip.Text := DBGridbiodata.Fields[0].AsString; Editnamapeg.Text := DBGridbiodata.Fields[1].AsString; Edittempatlahir.Text := DBGridbiodata.Fields[2].AsString; DateTimePickerlahir.Date := DBGridbiodata.Fields[3].AsDateTime; Editalamat.Text := DBGridbiodata.Fields[4].AsString; Editpos.Text := DBGridbiodata.Fields[5].AsString; Edittelepon.Text := DBGridbiodata.Fields[6].AsString; Editnip.SetFocus; end;

  EVENT PENCARIAN DATA Proses untuk pencarian data procedure TFormbiodata.EditcariChange(Sender: TObject); begin // proses pencarian biodata pegawai berdasarkan nama pegawai // dibuat didalam event onChange editcari with ADOQuery1 do begin Active := False; SQL.Clear; SQL.Text := ' SELECT * FROM BIODATA WHERE NAMA LIKE ' + QuotedStr('%'+Editcari.Text+'%'); Active := True; end; end;

  TUGAS Silahkan modifikasi dan kembangkan source code tersebut dengan melakukan pencarian berdasarkan kriteria minimal 2 kriteria. Misal ingin melakukan pencarian berdasarkan Golongan dan Alamat (Gol : IIIa dengan Alamat : Yogyakarta)

  MODUL VIII

DATA PEGAWAI

  Praktikum pertemuan ini, belajar membuat aplikasi dengan menggunakan database adoquery di bahasa pemrograman delphi.

1.1 Buatlah database

  Langkah-langkah untuk membuat database kepegawaian menggunakan Microsoft Access.

  1 Buka aplikasi Microsoft Access 2007 yang sudah terinstal pada komputer

  2 Klik File -> New -> Blank Database

  3 Pada isian File Name, klik tombol browse yang ada disebelah kanannya kemudian pindahkan aktif folder pada Drive D: , lalu buatlah folder dengan nama Anda dan klik Open pada folder tersebut

  4 Berikutnya ketik DBPraktikum_NPM pada isian File name dan pilih Microsoft Access Database (2002-2003 Format) (*.mdb).

  5 Lalu klik OK. Terakhir klik Create.

  6 Buatlah tabel pegawai dengan struktur sebagai berikut : Tabel Name : Biodata Tabel Name : Kepegawaian Setelah tabel selesai dibuat, isi data setiap tabel minimal 3 buah data sebagai sampel.

  Relasi Tabel

  Dari struktur tabel yang telah dibuat diatas, maka dapat dilihat ada relasi antara kedua tabel tersebut. Kunci relasi dari kedua tabel tersebut adalah Field NIP. Field NIP pada tabel Bidoata digunakan sebagai kunci primer (Primary Key) yang berfungsi sebgai pengidentifikasi unik setiap record yang terdapat pada tabel tersebut. Sedangkan Field NIP pada tabel Kepegawaian digunakan sebagai kunci tamu (Foreign Key) yang berfungsi sebagai kunci referensi terhadap tabel Biodata, sehingga data Tabel Kepegawaian memiliki ketergantungan terhadap data pada Tabel Biodata. Kardinalitas dari kedua tabel tersebut adalah 1 : 1 , artinya setiap pegawai yang terdaftar pada tabel Biodata akan berrelasi dengan satu record pada Tabel Kepegawaian.

1.2 Buatlah Aplikasi

  Buatlah sebuah form seperti dibawah ini. Form ini digunakan untuk memproses data kepegawaian berdasarkan data pegawai yang sudah diolah pada form Biodata 7. Buatlah tampilan visual (User Interface) seperti di bawah ini! Item ComboBox Jabatan diisi dengan :

   Direktur  Wakil Direktur  Kepala Bagian

   Kepala Sub  Staff Item ComboBox Golongan diisi dengan :  I  II  III  IV Item ComboBox Golongan diisi dengan :

   Administrasi  Keuangan  Umum  SDM  Marketing  Produksi  Gudang Item ComboBox Status diisi dengan :  Aktif  Cuti  Keluar

  Listing Kode Program

  Buatlah Variable Global dengan nama nip : string;

  procedure TFormkepeg.FormCreate(Sender: TObject); begin nip := ''; Editcarinip.Clear; Labelnamapeg.Caption := '....'; ComboBoxjabatan.Text := ''; ComboBoxgolongan.Text := ''; ComboBoxbidangkerja.Text := ''; ComboBoxstatus.Text := ''; DateTimePickerkepeg.Date := Now();

  // tampilkan semua data kepegawaian pada dbgrid with ADOQuery2 do begin Active := False; SQL.Clear; SQL.Text := ' SELECT * FROM KEPEGAWAIAN '; Active := True; end; end;

EVENT ONDOUBLECLICK DBGRID KEPEGAWAIAN EVENT ONCHANGE PENCARIAN DATA PEGAWAI EVENT ONDOUBLECLICK DBGRIDPENCARIAN

  procedure TFormkepeg.FormCreate(Sender: TObject); begin nip := ''; Editcarinip.Clear; Labelnamapeg.Caption := '....'; ComboBoxjabatan.Text := ''; ComboBoxgolongan.Text := ''; ComboBoxbidangkerja.Text := ''; ComboBoxstatus.Text := ''; DateTimePickerkepeg.Date := Now();

  // tampilkan semua data kepegawaian pada dbgrid with ADOQuery2 do begin Active := False; SQL.Clear; SQL.Text := ' SELECT * FROM KEPEGAWAIAN '; Active := True; end; end; end; procedure TFormkepeg.EditcarinipChange(Sender: TObject); begin // proses pencarian NIP dan Nama pegawai berdasarkan namanya with ADOQuery3 do begin

  Active := False; SQL.Clear; SQL.Text := ' SELECT * FROM BIODATA WHERE NAMA LIKE ' + QuotedStr('%'+Editcarinip.Text+'%'); Active := True; end; end; procedure TFormkepeg.DBGridpencarianDblClick(Sender: TObject); begin // mengambil nilai NIP, hasil dari query pencarian nip // dan disimpan pada variabel global nip nip := ADOQuery3.FieldValues['NIP']; Labelnamapeg.Caption := ADOQuery3.FieldValues['NAMA']; ComboBoxjabatan.SetFocus; end;;

EVENT BUTTON SAVE

  procedure TFormkepeg.ButtonsaveClick(Sender: TObject); begin // validasi field NIP tidak boleh kosong if nip = '' then begin MessageDlg('Cari data pegawai terlebih dahulu!',mtWarning,[mbOK],0); Exit; end; // validasi duplikasi NIP pegawai with ADOQuery2 do begin Active := False; SQL.Clear; SQL.Text :=

' SELECT * FROM KEPEGAWAIAN WHERE NIP = ' + QuotedStr(nip);

Active := True; // tampilkan pesan jika terjadi duplikasi

  // dan keluar proses SAVE if ADOQuery2.RecordCount > 0 then begin

MessageDlg('Terjadi duplikasi NIP. Silahkan ganti dengan yang

baru!',mtError,[mbOK],0); Editcarinip.Clear; Editcarinip.SetFocus; // keluar dari proses insert

  Exit; end; end; // proses simpan data kepegawaian berdasarkan NIP with ADOQuery2 do begin SQL.Clear; SQL.Text := ' INSERT INTO KEPEGAWAIAN(NIP,Jabatan,Golongan,Bidang_Kerja,Tanggal_Masuk,Status)

  VALUES ( ' + QuotedStr(nip) + ' , ' + QuotedStr(ComboBoxjabatan.Text) + ' , ' + QuotedStr(ComboBoxgolongan.Text) + ' , ' + QuotedStr(ComboBoxbidangkerja.Text) + ' , ' + '#' + DateToStr(DateTimePickerkepeg.Date) + '#' + ' , ' + QuotedStr(ComboBoxstatus.Text) + ')'; ExecSQL;

  MessageDlg('Data sudah tersimpan!',mtInformation,[mbOK],0); FormCreate(Sender); end; end;

EVENT BUTTON UPDATE

  procedure TFormkepeg.ButtonupdateClick(Sender: TObject); begin // validasi field NIP tidak boleh kosong if nip = '' then begin MessageDlg('Cari terlebih dahulu pegawainya!',mtWarning,[mbOK],0); Exit; end; // proses update data kepegawaian with ADOQuery2 do begin SQL.Clear; SQL.Text :=

  ' UPDATE KEPEGAWAIAN SET ' + ' Jabatan = ' + QuotedStr(ComboBoxjabatan.Text) + ' , ' +

' Golongan = ' + QuotedStr(ComboBoxgolongan.Text) + ' , ' +

' Bidang_Kerja = ' + QuotedStr(ComboBoxbidangkerja.Text) + ' , ' + ' Tanggal_Masuk = ' + '#' + DateToStr(DateTimePickerkepeg.Date)

  • '#' + ' , ' + ' Status = ' + QuotedStr(ComboBoxstatus.Text) + ' WHERE NIP = ' + QuotedStr(nip); ExecSQL; MessageDlg('Data sudah diperbaharuo!',mtInformation,[mbOK],0); FormCreate(Sender);

  end; end;

EVENT BUTTON UPDATE

  begin // validasi field NIP tidak boleh kosong if nip = '' then begin

  MessageDlg('Cari terlebih dahulu pegawainya!',mtWarning,[mbOK],0); Exit; end; // proses hapus data kepegawaian

if Application.MessageBox('Apakah anda akan menghapus data

ini?','Warning',MB_YESNO) = mrYes then begin with ADOQuery2 do begin 17 SQL.Clear;