Top Banner
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
43

SQL Server pemula

Dec 20, 2022

Download

Documents

Tiftahzani Afiq
Welcome message from author
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
Page 1: SQL Server pemula

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

Page 2: SQL Server pemula

AHMAD HABIB Teknik Informatika Untag SBY

Untuk mengaktifkan database yang telah dibuat menggunakan perintah:

Use Nama_database Contoh: Use pegawai

Page 3: SQL Server pemula

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

Create Tabel Nama_tabel (Nama_field/kolom typedata (size),…) Contoh: create table peg(nip char(2)not null, nama varchar(15),sex char(1), alamat varchar(20)constraint pk_nip primary key)

Page 4: SQL Server pemula

AHMAD HABIB Teknik Informatika Untag SBY

Datetime Datetime 1 Jan 1973 s/d 31 des 9999

Smalldatetime 1 Jan 1900 s/d 6 jun 2079

String Char Ukuran tetap max 8000

byte Varchar Ukuran tidak tetap max

8000 byte Text 2^31

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

Page 5: SQL Server pemula

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.

Page 6: SQL Server pemula

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)

Page 7: SQL Server pemula

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

Page 8: SQL Server pemula

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)

CREATE table Nama_tabel ( Nama_kolom/field typedata(size) Constraint nama_constraint Foreign key nama_field References Nama_tabel_referensi ( Nama_field Tabel_referensi),…) Contoh: CREATE Table posisi ( NIP char(4) constraint fk_nip Foreign key NIP References peg (NIP), kd_dep char(2) constraint fk_kd_dep Foreign key kd_dep References departemen (kd_dep))

Page 9: SQL Server pemula

AHMAD HABIB Teknik Informatika Untag SBY

Setelah table dibuat memalui perintah ALTER Tugas

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)

Page 10: SQL Server pemula

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 )

INSERT Into Nama_Table ( Nama_kolom1, Nama_kolom2,…) values ( nilai1, nilai2,…) Contoh: Insert into peg ( nip, nama, alamat ) values (‘A1’,’Armadyah’, ‘P’,‘Plosokuning’,)

Page 11: SQL Server pemula

AHMAD HABIB Teknik Informatika Untag SBY

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’

Page 12: SQL Server pemula

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

Page 13: SQL Server pemula

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

Page 14: SQL Server pemula

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

Page 15: SQL Server pemula

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 )

Page 16: SQL Server pemula

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’

Page 17: SQL Server pemula

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’

Page 18: SQL Server pemula

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 )

Page 19: SQL Server pemula

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.

NIP Gaji A1 1.300.000 A2 1.500.000 A3 1.300.000 A4 1.400.000 A5 1.600.000 A6 1.500.000

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

Page 20: SQL Server pemula

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

Page 21: SQL Server pemula

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

Page 22: SQL Server pemula

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

Page 23: SQL Server pemula

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.

Page 24: SQL Server pemula

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.

Page 25: SQL Server pemula

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

Page 26: SQL Server pemula

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

Page 27: SQL Server pemula

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

Page 28: SQL Server pemula

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

Page 29: SQL Server pemula

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

Page 30: SQL Server pemula

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

Page 31: SQL Server pemula

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

Page 32: SQL Server pemula

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

Page 33: SQL Server pemula

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 = ""

Page 34: SQL Server pemula

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

Page 35: SQL Server pemula

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

Page 36: SQL Server pemula

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

Page 37: SQL Server pemula

AHMAD HABIB Teknik Informatika Untag SBY

Page 38: SQL Server pemula

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

Page 39: SQL Server pemula

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.

Page 40: SQL Server pemula

AHMAD HABIB Teknik Informatika Untag SBY

5. klik kanan pada connection1 | Add Command, kemudian terbentuk

Command1.

Page 41: SQL Server pemula

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

Page 42: SQL Server pemula

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

Nama Object Properti Nilai

DataReport Name

Caption

DataSource

DataMember

ReportPegawai

Laporan Data Pegawai

DataEnvPegawai

Command1

RptLabel Caption Laporan Data Pegawai

1

2

Page 43: SQL Server pemula

AHMAD HABIB Teknik Informatika Untag SBY

Hasil Running Datareport