AHMAD HABIB Teknik Informatika Untag SBY MODUL 6 DDL ( Data Definition Language ) Berfungsi untuk mendefinisikan database dan objek-objek ( Tabel, index, view, Stored procedure, trigger ) yang ada didalam database. Perintah DDL ada 3 macam: 1. CREATE 2. DROP 3. ALTER Keterangan: 1. CREATE Digunakan untuk membuat database dan objek-objek didalam database. Membuat Database Create Database Nama database Contoh: Create database pegawai
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
AHMAD HABIB Teknik Informatika Untag SBY
MODUL 6
DDL ( Data Definition Language ) Berfungsi untuk mendefinisikan database dan objek-objek ( Tabel, index, view, Stored procedure, trigger ) yang ada didalam database.
Perintah DDL ada 3 macam:
1. CREATE 2. DROP 3. ALTER
Keterangan:
1. CREATE Digunakan untuk membuat database dan objek-objek didalam database.
Membuat Database
Create Database Nama database Contoh: Create database pegawai
AHMAD HABIB Teknik Informatika Untag SBY
Untuk mengaktifkan database yang telah dibuat menggunakan perintah:
Use Nama_database Contoh: Use pegawai
AHMAD HABIB Teknik Informatika Untag SBY
Membuat Tabel
Catatan: Not null------- kolom/field tidak boleh kosong ( harus diisi ). Pada saat membuat kolom/field table database harus ditentukan jenis data (type data) untuk masing-masing kolom/field. Dibawah ini beberapa type data yang sering digunakan.
Type data Jenis data Ket
Numeric Tinyint 1 byte Smallint 2 byte Mediumint 3 byte Integer 4 byte Bigint 8 byte Real Decimal Numeric Bit 0 atau 1 Money Money 8 byte
2. DROP Digunakan untuk menghapus Database dan menghapus objek. Sintax:
DROP Database Nama_database Contoh: DROP Database Pegawai DROP Table Nama_table Contoh: DROP Table Peg
AHMAD HABIB Teknik Informatika Untag SBY
Tugas: 1. Buat Database yang bernama Pegawai_XXXX
2. Buat table dari 3 tabel diatas menggunakan perintah CREATE
3. Hapus table Posisi menggunakan perintah DROP.
4. Hapust Database Pegawai menggunakan perintah DROP.
AHMAD HABIB Teknik Informatika Untag SBY
3. ALTER Merupakan perintah DDL yang ke-3 yang berfungsi untuk memodifikasi table.
Menambah kolom/field.
Menghapus kolom/filed.
Membuat suatu constraint ( Primary key dan Foreign key ).
Constrain adalah Mekanisme untuk membatasi domain ( nilai-nilai yang
diperbolehkan ) untuk sebuah kolom dalam table. Dengan memberikan konstrain
pada sebuah kolom, server database dapat menjamin kondisi-kondisi berikut:
Keunikan data.
Memberikan nilai default.
Mengharuskan nilai baru mengikuti pola tertentu.
Mengharuskan nilai baru adalah anggota dari sebuah daftar yang telah
ditentukan.
Sintax: 1. Menambah Kolom/Field
2. Menghapus kolom/Field
ALTER Table Nama_tabel ADD Nama_kolom Typedata(size) Contoh: ALTER Table Peg ADD Status varchar(5)
AHMAD HABIB Teknik Informatika Untag SBY
3. Membuat konstrain Primary Key Suatu constraint Primary key bisa dibuat pada saat table dibuat/di-create atau setelah table dibuat. Pada saat table dibuat melalui perintah CREATE
ALTER Table Nama_tabel DROP Column Nama_kolom/filed Contoh: ALTER Table Peg DROP Column status
CREATE table Nama_tabel ( Nama_kolom/field typedata(size),… Constraint nama_constraint Primary key) Contoh: CREATE Table peg ( NIP char(4) not null constraint pk_nip Primary key, Nama varchar(15), Sex char(1), Alamat varchar(20)) CREATE Table Departemen ( kd_dep char(2) not null constraint pk_kd_dep Primary key, Nama varchar(15) )
AHMAD HABIB Teknik Informatika Untag SBY
Setelah table dibuat memalui perintah ALTER
4. Membuat konstrain Foreign Key Suatu constraint Foreign key bisa dibuat pada saat table dibuat/di-create atau setelah table dibuat. Pada saat table dibuat melalui perintah CREATE
ALTER table Nama_table ADD constraint Nama_constraint Primary key (Nama_filed) Contoh: ALTER table peg ADD constraint pk_NIP Primary key (NIP)
1. Pada table Peg tambahkan kolom status dengan typedata varchar, size 5
2. Tambahkan definisi constraint pada tiap-tiap table ( Primary key dan
Foreign key ).
ALTER table Nama_table ADD constraint Nama_constraint Foreign key nama_field References Nama_tabel_referensi ( Nama_field Tabel_referensi) Contoh: ALTER table posisi ADD constraint fk_nip Foreign key NIP References NIP (NIP) ALTER table posisi ADD constraint fk_kd_departemen Foreign key kd_departemen References kd_departemen (kd_departemen)
AHMAD HABIB Teknik Informatika Untag SBY
DML ( DATA MANIPULATION LANGUAGE ) Berfungsi untuk memanipulasi data ( menampilkan, pengupdate, menambahkan, dan menghapus data ). 1) Select -- Menampilkan record-record data yang terdapat pada table. 2) Insert -- Menambah data dalam satu record.
Select Nama_filed from nama_table Contoh: Select * from peg ( Menampilkan data di semua field dalam table peg )
3) Update -- Mengubah satu atau lebih data yang terdapat pada satu atau lebih kolom table. 4) Delete -- Menghapus satu atau beberapa record dalam suatu table. Tabel Peg
NIP Nama SEX Alamat Status A1 Armadyah P Kotabaru Nikah A2 Hendra
Gauthama L Plosokuning Nikah
A3 Armadyan P Jl. Mgelang Belum A4 Guntur
Mahendra L Jetis Belum
A5 Nouval L Kotagede Nikah A6 Hanif L Plosokuning Nikah
Tabel Departemen
Kd_departemen Nama Tunjangan M Pemasaran 800.000 P Produksi 700.000 S Sumber Daya Manusia 1000.000 A Administrasi 750.000
UPDATE Nama_tabel SET Nama_kolom=value WHERE Kondisi Contoh: UPDATE Peg SET Alamat=’Kotabaru’ Where NIP=’A1’
DELETE From Nama_tabel Where Kondisi Contoh: DELETE From peg where NIP=’A1’
AHMAD HABIB Teknik Informatika Untag SBY
Tabel Posisi
NIP Kd_departemen A1 P A2 M A3 P A4 A A5 S A6 M
Tugas.
1. Isi masing-masing table sesuai data diatas.
2. Ubahlah alamat pegawai yang bernama Guntur mahendra menjadi Jl.
Kaliurang.
3. Hapuslah data posisi pegawai yang mempunyai NIP A1
PERINTAH SELECT - Menampilkan record-record data yang terdapat pada table. 1. Menampilkan semua kolom/field dalam suatu table
SELECT * From nama_tabel Contoh: Select * from Departemen ( Menampilkan semua kolom dalam table departemen ).
AHMAD HABIB Teknik Informatika Untag SBY
2. Menampilkan kolom/field sesuai keinginan/kebutuhan.
3. Membuat Judul Field. -- Mengubah judul field yang ditampilkan.
SELECT Nama_kolom1, nama_kolom2,…from nama_tabel Contoh: Select NIP, Nama from peg ( Menampilkan kolom NIP dan nama dari table peg ).
AHMAD HABIB Teknik Informatika Untag SBY
4. Menampilkan data tertentu ( melakukan penyaringan informasi ).
SELECT Nama_kolom AS Nama_kolom_baru,… From Nama_tabel Contoh: SELECT NIP, Nama AS NamaPegawai from peg ( Menampilkan NIP dan Nama dari table peg dimana kolom nama pada hasil query diubah menjadi NamaPegwai).
SELECT Nama_kolom,… from Nama_tabel WHERE Kondisi Contoh: Select * From peg where Alamat=’Plosokuning’ ( Menampilkan semua kolom dari table peg yang alamatnya plosokuning ).
AHMAD HABIB Teknik Informatika Untag SBY
5. Melakukan perhitungan. -- Sebelumnya pada table peg tambahkan filed/kolom yang bernama gaji dengan typedata money.
SELECT Ekspresi AS Nama_kolom_baru,… from Nama_tabel Contoh: Select Nama, Tunjangan+100000 AS besargaji from Departemen ( Menampilkan kolom nama dan penjumlahan filed Tunjangan + 100.000 dari table departemen dimana kolom penjumlahan tersebut diberi nama besargaji )
AHMAD HABIB Teknik Informatika Untag SBY
6. Penggunaan Operator pembanding. Operator pembanding-- =, >, <, >=, <=, <> 7. Penggunaan Operator Logika.
SELECT Nama_kolom,… from nama_tabel Where Ekspresi1 Operator logika Ekspresi2 Contoh: Select * from Departemen where Tunjangan<750000
Select Nama_kolom,… from Nama_table Where --- Kondisi NOT Select Nama_kolom,… from Nama_table Where Kondisi----------- kondisi
OR AND Contoh: Select NIP, nama from peg where sex=’L’ and status=’Nikah’ Select NIP, nama from peg where NOT status=’Nikah’
AHMAD HABIB Teknik Informatika Untag SBY
8. Menjangkau data tertentu. --- Menampilkan data yang berada pada jangkauan tertentu.
9. Operator IN ---- Pencocokan data kondisi pencarian dengan salah satu data yang ada pada suatu daftar nilai.
SELECT nama_kolom,…from nama_table where nama_kolom BETWEEN nilai_batas_bawah AND nilai_batas_atas Contoh: Select * from departemen where tunjangan BETWEEN 750000 and 900000
SELECT nama_kolom,…from Nama_tabel Where Nama_kolom IN (value1, value2,…) Contoh: Select * from peg where alamat IN (‘Plosokuning’,’kotabaru’) IN sama dengan operator OR Select * from peg where alamat=’plosokuning’ OR alamat=’kotabaru’
AHMAD HABIB Teknik Informatika Untag SBY
10. Operator Like -- Untuk pencarian data. -- Bekerja pada typedata char, varchar, text.
SELECT nama_kolom,…from nama_tabel where Nama_kolom LIKE ‘% ekspresi %’ Contoh: Select * from peg where nama like ‘%Arma%’ ( menampilkan semua kolom dari table pegawai yang namanya mengandung kata Arma )
AHMAD HABIB Teknik Informatika Untag SBY
11. Fungsi Agregat -- Sum, Count, AVG, Max, Min a) SUM --- Penjumlahan dalam satu kolom. b) AVG --- Untuk menghitung nilai rata-rata dalam satu kolom. --- Sebelumnya pada table peg tambahkan filed/kolom yang bernama gaji dengan typedata money.
SELECT fungsi agregat ( Nama_kolom ) AS nama_kolom_baru from nama table SUM AVG Count MAX MIN where kondisi
SELECT sum (nama_kolom) AS nama_kolom_baru from nama_tabel where kodisi Contoh: Select Sum (tunjangan) AS Jml_tnj from Departemen
SELECT AVG (nama_kolom) AS nama_kolom_baru from nama_tabel where kodisi Contoh: Select AVG ( gaji ) AS Rata_gaji from peg
AHMAD HABIB Teknik Informatika Untag SBY
c) Count -- Untuk menghitung jumlah record yang sesuai dengan kondisi. d) MAX -- Untuk mencari atau menentukan nilai tertinggi. e) MIN -- Untuk mencari atau menampilkan nilai terendah. 12. Mengelompokan Record -- Pada kondisi tertentu, sekumpulahn record dapat dikelompokkan berdasarkan satu atau lebih field yang terdapat pada sebuah table atau query. Dati pengelompokan ini, dapat dilakukan tindakan-tindakan untuk mengetahui berapa jumlah transaksi , rata-rata dan lainnya pada suatu perusahaan.
SELECT COUNT (nama_kolom) AS nama_kolom_baru from nama_tabel where kodisi Contoh: Select Count ( NIP ) AS Jml_peg from peg where status=’Nikah’ ( Menampilkan jumlah pegawai dari table pe yang statusnya sudah menikah ).
SELECT MAX (nama_kolom) AS nama_kolom_baru from nama_tabel where kodisi Contoh: Select Max ( gaji ) as Gaji_max from peg ( Menampilkan gaji tertinggi dari table peg ).
SELECT MIN (nama_kolom) AS nama_kolom_baru from nama_tabel where kodisi Contoh: Select Min ( gaji ) as Gaji_max from peg where status=’nikah’ ( Menampilkan gaji terrendah dari table peg yang statusnya sudah menikah).
AHMAD HABIB Teknik Informatika Untag SBY
13. Pernyataan Having -- Menampilkan kelompok-kelompok data tertentu. -- Having berbeda dengan Where, pernyataan Where digunakan untuk memberikan criteria sebelum pengelompokan dan melakukan penyaringan baris. Sedangkan Having digunakan untuk memberikan criteria setelah pengelompokan dilakukan, menyaring kelompok, dan menentukan kondisi bagi GROUP BY. 14. Melakukan Sorting ( Pengurutan Data )
SELECT Nama_kolom1,nama_kolom2,…from Nama_tabel GROUP By Kolom_pengacu Contoh: Select No_pelanggan, Count (No) AS Total_pesanan from Orders Group by No_pelanggan Select No_pelanggan, No_sales, Count(No) AS Total_pesanan from Orders Group by No_pelanggan, No_sales
SELECT Nama_kolom1,…from nama_tabel GROUP BY kolom_pengacu HAVING kondisi Contoh: Select barang, count(jumlah) AS totalfaktur from Orders GROUP By barang Having Barang=’A009’ (menampilkan field barang dan menjumlahkan total faktur dari table Orders, dikelompokkan berdasarkan barang dengan criteria kode barang=A009 )
SELECT Nama_kolom1,…from nama_table where kondisi ORDER By nama_kolom Contoh: Select * from peg ORDER By sex Select NIP, Nama from peg ORDER By Nama, Alamat
AHMAD HABIB Teknik Informatika Untag SBY
QUERY Antar Tabel Pada pertemuan ini dibahas penggunaan query untuk lebih dari satu table.
SELECT Nama_tabel1.nama_kolom1, nama_tabel2.nama_kolom2,… from nama_tabel1, Nama_tabel2,… Where Nama_tabel_induk.Primary key=nama_tabel_transaksi.foreign key and … Contoh: Select Peg.NIP, Peg.Nama, Departemen.Nama from peg, departemen, posisi where peg.nip = posisi.nip and departemen.kd_departemen = posisi.kd_departemen
AHMAD HABIB Teknik Informatika Untag SBY
Tugas.
1. Tampilkan nama pegawai dan posisinya dimana gajinya diatas 1.400.000.
2. Buat contoh perintah yang lain menggunakan query antar table.
3. Dikerjakan dirumah, buat suatu database minimal 4 tabel. Gunakan
perintah DML, perintah select ( termasuk Group By dan Having ), dan Query
antar table. PrintScreen hasilnya. Dikumpulkan pada saat ujian MID.
Tugas no.3 kelompok maksimal anggotanya 4 orang.
AHMAD HABIB Teknik Informatika Untag SBY
MODUL 7
Manajemen Database Setelah membuat stored procedure dalam server database yang kemudian
disimpan dalam objek-objek server, kemudian objek tersebut dapat dimanfaatkan
untuk mengolah data. Berarti juga urusan dalam database server sudah selesai,
sekarang bagaimana membuat untuk kepentingan client yaitu aplikasi client.
Untuk praktikum ini diasumsikan anda sudah bisa mengoperasikan Microsoft
Visual Basic karena anda sudah mendapatkan pada pertemuan sebelumnya.
1. Buka Visual Basic sampai tampil seperti dibawah ini.
AHMAD HABIB Teknik Informatika Untag SBY
Pilih standard EXE klik Open
Pada Visual Basic Standar EXE belum ada komponen untuk database, oleh
sebab itu kita harus menambahkan komponen tersebut :
2. Komponen Database
Pilih menu Project – Component
Komponen :
1. Microsoft ADO Data Control 6.0 (OLEDB)
2. Microsoft Datagrid Control 6.0 (OLEDB)
3. Reference Database (Library Database)
Pilih menu Project – Reference
Reference:
1. Visual Basic for Applications 2. Visual Basic runtime objects and
procedures 3. Visual Basic objects and procedures 4. OLE Automation 5. Microsoft ActiveX Data Object 2.0
Library
4. Tambahkan Module (untuk koneksi ke database)
Pilih menu Project – Add Module
AHMAD HABIB Teknik Informatika Untag SBY
Ketik kode program berikut : Public conn As New ADODB.Connection Public rs As New ADODB.Recordset Public koneksi As String Public strsql As String 'koneksi ke sql server Public Sub konek() On Error GoTo keliru koneksi = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pegawai_xxxx;Data Source=WINXP;" If conn.State = adStateOpen Then conn.Close Set conn = New ADODB.Connection conn.Open (koneksi) Else conn.Open (koneksi) End If Exit Sub keliru: MsgBox "Maaf Koneksi ke Database Server gagal!!, coba periksa koneksinya", vbCritical, "Kesalahan Koneksi!" End Sub Simpan dengan nama Project_Pegawai.vbp dan Mod_Connect.bas
5. Desain Form
a. Form Pegawai
CmdTambah
CmdSimpan
CmdEdit
CmdHapus
CmdKeluar
AdoPegawai
DataPegawai
TxtNIP
TxtNama
TxtSEX
TxtAlamat
TxtStatus
AHMAD HABIB Teknik Informatika Untag SBY
Listing Program : Sub RefreshDataGrid() Dim sql As String 'refresh data Call konek sql = "select * from peg order by nip asc" AdoPegawai.ConnectionString = koneksi AdoPegawai.RecordSource = sql AdoPegawai.Refresh Set DataPegawai.DataSource = AdoPegawai End Sub ------------------------------------------------------------------ Sub ClearText() On Error Resume Next 'membersihkan textbox TxtNIP.Text = "" TxtNama.Text = "" TxtSEX.Text = "" TxtAlamat.Text = "" TxtStatus.Text = "" TxtNIP.SetFocus End Sub ------------------------------------------------------------------ Private Sub CmdEdit_Click() Dim pesan pesan = MsgBox("Anda yakin akan merubah data ini?", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then strsql = "exec update_peg '" & TxtNIP.Text & "','" & TxtNama.Text & "'," & _ "'" & TxtSEX.Text & "','" & TxtAlamat.Text & "','" & TxtStatus.Text & "'" conn.Execute (strsql) 'refresh data RefreshDataGrid End If 'rubah status text TxtNIP.Enabled = True ClearText 'rubah status command CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = False CmdHapus.Enabled = False End Sub ------------------------------------------------------------------
AHMAD HABIB Teknik Informatika Untag SBY
Private Sub CmdHapus_Click() Dim pesan pesan = MsgBox("Anda yakin akan menghapus data ini?", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then strsql = "exec delete_peg '" & TxtNIP.Text & "'" conn.Execute (strsql) 'refresh data RefreshDataGrid End If 'rubah status text TxtNIP.Enabled = True ClearText 'rubah status command CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = False CmdHapus.Enabled = False End Sub ------------------------------------------------------------------ Private Sub CmdKeluar_Click() Unload Me End Sub ------------------------------------------------------------------ Private Sub CmdSimpan_Click() 'simpan data strsql = "exec insert_peg '" & TxtNIP.Text & "','" & TxtNama.Text & "'," & _ "'" & TxtSEX.Text & "','" & TxtAlamat.Text & "','" & TxtStatus.Text & "'" conn.Execute (strsql) 'refresh data RefreshDataGrid End Sub ------------------------------------------------------------------ Private Sub CmdTambah_Click() 'rubah status command button CmdTambah.Enabled = False CmdSimpan.Enabled = True CmdEdit.Enabled = False CmdHapus.Enabled = False 'clear text TxtNIP.Enabled = True ClearText End Sub ------------------------------------------------------------------ Private Sub DataPegawai_RowColChange(LastRow As Variant, ByVal LastCol As Integer) 'rubah status command button CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = True
AHMAD HABIB Teknik Informatika Untag SBY
CmdHapus.Enabled = True 'tampilkan data ke dalam textbox With AdoPegawai.Recordset TxtNIP.Enabled = False TxtNIP.Text = .Fields("nip") TxtNama.Text = .Fields("nama") TxtSEX.Text = .Fields("sex") TxtAlamat.Text = .Fields("alamat") TxtStatus.Text = .Fields("status") End With End Sub ------------------------------------------------------------------ Private Sub Form_Load() Call konek 'refresh data RefreshDataGrid 'panggil clear text ClearText 'rubah status command button CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = False CmdHapus.Enabled = False End Sub ------------------------------------------------------------------
b. Form Departemen
CmdTambah
CmdSimpan
CmdEdit
CmdHapus
CmdKeluar
TxtID_Dep
TxtNama_Dep
TxtTunj_dep
AdoDepartemen
DataDepartemen
AHMAD HABIB Teknik Informatika Untag SBY
Listing Program: Sub RefreshDataGrid() Dim sql As String 'refresh data Call konek sql = "select * from departemen order by kd_dep asc" AdoDepartemen.ConnectionString = koneksi AdoDepartemen.RecordSource = sql AdoDepartemen.Refresh Set DataDepartemen.DataSource = AdoDepartemen End Sub ------------------------------------------------------------------ Sub ClearText() On Error Resume Next 'membersihkan textbox TxtID_Dep.Text = "" TxtNama_Dep.Text = "" TxtTunj_Dep.Text = "" TxtID_Dep.SetFocus End Sub ------------------------------------------------------------------ Private Sub CmdEdit_Click() Dim pesan pesan = MsgBox("Anda yakin akan merubah data ini?", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then strsql = "exec update_departemen '" & TxtID_Dep.Text & "','" & TxtNama_Dep.Text & "'," & _ "" & TxtTunj_Dep.Text & "" conn.Execute (strsql) 'refresh data RefreshDataGrid End If 'rubah status text TxtID_Dep.Enabled = True ClearText 'rubah status command CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = False CmdHapus.Enabled = False End Sub ------------------------------------------------------------------ Private Sub CmdHapus_Click() Dim pesan pesan = MsgBox("Anda yakin akan menghapus data ini?", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then
AHMAD HABIB Teknik Informatika Untag SBY
strsql = "exec delete_departemen '" & TxtID_Dep.Text & "'" conn.Execute (strsql) 'refresh data RefreshDataGrid End If 'rubah status text TxtID_Dep.Enabled = True ClearText 'rubah status command CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = False CmdHapus.Enabled = False End Sub ------------------------------------------------------------------ Private Sub CmdKeluar_Click() Unload Me End Sub Private Sub CmdSimpan_Click() 'simpan data strsql = "exec insert_departemen '" & TxtID_Dep.Text & "','" & TxtNama_Dep.Text & "'," & _ "" & TxtTunj_Dep.Text & "" conn.Execute (strsql) 'refresh data RefreshDataGrid End Sub ------------------------------------------------------------------ Private Sub CmdTambah_Click() 'rubah status command button CmdTambah.Enabled = False CmdSimpan.Enabled = True CmdEdit.Enabled = False CmdHapus.Enabled = False 'clear text TxtID_Dep.Enabled = True ClearText End Sub ------------------------------------------------------------------ Private Sub DataDepartemen_RowColChange(LastRow As Variant, ByVal LastCol As Integer) 'rubah status command button CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = True CmdHapus.Enabled = True 'tampilkan data ke dalam textbox With AdoDepartemen.Recordset On Error Resume Next TxtID_Dep.Enabled = False
AHMAD HABIB Teknik Informatika Untag SBY
TxtID_Dep.Text = .Fields("kd_dep") TxtNama_Dep.Text = .Fields("nama_dep") TxtTunj_Dep.Text = .Fields("tunjangan") End With End Sub ------------------------------------------------------------------ Private Sub Form_Load() Call konek 'refresh data RefreshDataGrid 'panggil clear text ClearText 'rubah status command button CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = False CmdHapus.Enabled = False End Sub ------------------------------------------------------------------
c. Form Jabatan
Listing Program : Sub Tampil_KodePegawai() Dim vntTemp As Variant ' Retrieve all the states in the table ' AdoPegawai.ConnectionString = koneksi AdoPegawai.RecordSource = "SELECT DISTINCT nip FROM peg" AdoPegawai.Refresh ' ' If the database name file is not valid an trappable error will occur here
CmdTambah
CmdSimpan
CmdEdit
CmdHapus
CmdKeluar
AdoJabatan
DataJabatan AdoPegawai
AdoDepartemen
TxtNIP
TxtNama
TxtID_Dep
TxtNama_Dep
AHMAD HABIB Teknik Informatika Untag SBY
Do While Not AdoPegawai.Recordset.EOF vntTemp = Trim(AdoPegawai.Recordset!nip) If IsNull(vntTemp) Then vntTemp = "" TxtNIP.AddItem CStr(vntTemp) AdoPegawai.Recordset.MoveNext Loop End Sub ------------------------------------------------------------------ Sub Tampil_KodeDepartemen() Dim vntTemp As Variant ' Retrieve all the states in the table ' AdoDepartemen.ConnectionString = koneksi AdoDepartemen.RecordSource = "SELECT DISTINCT kd_dep FROM departemen" AdoDepartemen.Refresh ' ' If the database name file is not valid an trappable error will occur here Do While Not AdoDepartemen.Recordset.EOF vntTemp = Trim(AdoDepartemen.Recordset!kd_dep) If IsNull(vntTemp) Then vntTemp = "" TxtID_Dep.AddItem CStr(vntTemp) AdoDepartemen.Recordset.MoveNext Loop End Sub ------------------------------------------------------------------ Sub RefreshDataGrid() Dim sql As String 'refresh data Call konek sql = "select peg.nip,peg.nama,departemen.nama_dep," & _ "departemen.tunjangan,departemen.kd_dep from peg,departemen,posisi " & _ "where peg.nip=posisi.nip and " & _ "departemen.kd_dep=posisi.kd_dep order by peg.nip asc" AdoJabatan.ConnectionString = koneksi AdoJabatan.RecordSource = sql AdoJabatan.Refresh Set DataJabatan.DataSource = AdoJabatan 'sembunyikan kolom kode jabatan di data grid With DataJabatan .Columns(4).Visible = False End With End Sub ------------------------------------------------------------------ Sub ClearText() On Error Resume Next 'membersihkan textbox TxtNIP.Text = "" TxtNama.Text = "" TxtID_Dep.Text = ""
AHMAD HABIB Teknik Informatika Untag SBY
TxtNama_Dep.Text = "" TxtNIP.SetFocus End Sub ------------------------------------------------------------------ Private Sub CmdEdit_Click() Dim pesan pesan = MsgBox("Anda yakin akan merubah data ini?", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then strsql = "exec update_posisi '" & TxtNIP.Text & "','" & TxtID_Dep.Text & "'" conn.Execute (strsql) 'refresh data RefreshDataGrid End If 'rubah status text TxtNIP.Enabled = True ClearText 'rubah status command CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = False CmdHapus.Enabled = False End Sub ------------------------------------------------------------------ Private Sub CmdHapus_Click() Dim pesan pesan = MsgBox("Anda yakin akan menghapus data ini?", vbYesNo + vbQuestion, "Konfirmasi") If pesan = vbYes Then strsql = "exec delete_posisi '" & TxtNIP.Text & "'" conn.Execute (strsql) 'refresh data RefreshDataGrid End If 'rubah status text TxtNIP.Enabled = True ClearText 'rubah status command CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = False CmdHapus.Enabled = False End Sub ------------------------------------------------------------------ Private Sub CmdKeluar_Click() Unload Me End Sub Private Sub CmdSimpan_Click()
AHMAD HABIB Teknik Informatika Untag SBY
'simpan data strsql = "exec insert_posisi '" & TxtNIP.Text & "','" & TxtID_Dep.Text & "'" conn.Execute (strsql) 'refresh data RefreshDataGrid End Sub ------------------------------------------------------------------ Private Sub CmdTambah_Click() 'rubah status command button CmdTambah.Enabled = False CmdSimpan.Enabled = True CmdEdit.Enabled = False CmdHapus.Enabled = False 'clear text TxtNIP.Enabled = True ClearText End Sub ------------------------------------------------------------------ Private Sub DataJabatan_RowColChange(LastRow As Variant, ByVal LastCol As Integer) 'rubah status command button CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = True CmdHapus.Enabled = True 'tampilkan data ke dalam textbox With AdoJabatan.Recordset On Error Resume Next TxtNIP.Enabled = False TxtNIP.Text = .Fields("nip") TxtNama.Text = .Fields("nama") TxtID_Dep.Text = .Fields("kd_dep") TxtNama_Dep.Text = .Fields("nama_dep") End With End Sub ------------------------------------------------------------------ Private Sub Form_Load() Call konek 'dampilkan di combo Tampil_KodePegawai Tampil_KodeDepartemen 'refresh data RefreshDataGrid 'panggil clear text ClearText 'rubah status command button CmdTambah.Enabled = True CmdSimpan.Enabled = False CmdEdit.Enabled = False
AHMAD HABIB Teknik Informatika Untag SBY
CmdHapus.Enabled = False End Sub ------------------------------------------------------------------ Private Sub TxtID_Dep_Click() Dim query query = "SELECT nama_dep FROM departemen where kd_dep='" & TxtID_Dep.Text & "'" Set rs = conn.Execute(query) TxtNama_Dep.Text = rs.Fields("nama") End Sub ------------------------------------------------------------------ Private Sub TxtNIP_Click() Dim query query = "SELECT nama FROM peg where nip='" & TxtNIP.Text & "'" Set rs = conn.Execute(query) TxtNama.Text = rs.Fields("nama") End Sub
AHMAD HABIB Teknik Informatika Untag SBY
AHMAD HABIB Teknik Informatika Untag SBY
MODUL X
Laporan (Report)
Berikut Langkah-langkah membuat Laporan Data Pegawai
a. Membuat Data Sumber untuk Laporan (Data Environment)
1. pilih menu Project | More ActiveX Desaigners | Data Environment
2. klik kanan pada connection1 | Properties | Pilih Provider Microsoft OLE
DB Provider for SQL Server | next
AHMAD HABIB Teknik Informatika Untag SBY
3. pada select or enter a server name isikan Nama server database | pilih Use
a spesific user name and password dan masukkan user sa dan beri tanda
cek Blank password | pilih database “pegawai_xxxx” pada option Select
the database on the server
4. klik tombol Test Connection, jika sudah muncul pesan Success berarti
database sudah terhubung.
AHMAD HABIB Teknik Informatika Untag SBY
5. klik kanan pada connection1 | Add Command, kemudian terbentuk
Command1.
AHMAD HABIB Teknik Informatika Untag SBY
6. klik kanan pada command1, kemudian pilih Properties
7. anda simpan dengan DataEnvPegawai.Dsr,
b. Membuat desain Laporan (Data Report)
Langkah :
1. pilih menu Project | Add Data Report
AHMAD HABIB Teknik Informatika Untag SBY
2. anda drag drop command1 ke area data report bagian detail (section1)
3. silakan anda lihat gambar dibawah. Anda tata pada gambar 1 di bagian
page header.
4. anda desain seperti gambar dibawah ini, setelah seperti gambar di bawah
berarti desain laporan anda selesai.
5. Anda simpan desain laporan anda dengan nama ReportPegawai.Dsr