Pemrograman Database
Pemrograman Database
NET
1.
Keterangan
System.Data
System.Data.Common
System.Data.SqlClient
System.Data.SqlDataTypes
Namespace ini menyediakan class untuk tipe data native dalam SQL
Server
System.Data.Odbc
B. Command
Digunakan untuk menjalankan perintah (propertinya berbentuk tabel, SQL, atau stored procedure) yang
akan memanggil data dari sumber data.
C. DataReader
Digunakan untuk membaca data dengan sifat forward-only and read.
D. DataAdapter
Digunakan sebagai penghubung antara sumber data dengan dataset.
B. Dataset
Dataset merupakan obyek yang terpisah dari sumber data dan dapat digambarkan sebagai sebuah
recordset yang terpisah. Pada dataset juga terdapat tabel, baris, kolom, relasi, constraint dan view.
Semua tipe data, baik yang flat, hirarki atau relasional dapat disimpan di dalam dataset. Karena sesuai
dengan obyek dasar dari dataset yaitu XML, semua model penyimpanan data dapat bekerja dengan dataset.
Secara ringkas cara mengakses data dengan menggunakan ADO.NET dapat dijelaskan sebagai
berikut:
1.
2.
Obyek command digunakan untuk mengeksekusi perintah dengan parameter tabel, SQL atau stored
procedure pada sumber data.
3.
Jika command menghasilkan lebih dari sebuah nilai, obyek command akan menghasilkan sebuah
DataReader untuk menyediakan sekumpulan data tersebut.
4.
b.
c.
d.
Properti ConnectionString
Properti ConnectionString digunakan untuk mendefinisikan parameter-parameter yang dibutuhkan saat
membuat koneksi database. Beberapa parameter yang digunakan pada properti ini yaitu:
a.
Provider digunakan untuk menentukan penyedia OLEDB yang sesuai dengan database yang digunakan.
Berikut ini daftar provider berdasarkan databasenya:
Database
SQL Server
Microsoft Access
Oracle
MySql
DB2
b.
Provider
SQLOLEDB
Microsoft.Jet.OLEDB.4.0
MSDAORA
MySQLProv
DB2OLEDB
c.
d.
Integrated Security
Menentukan bahwa provider harus memanggil provider security yang sesuai di dalam operating system untuk
memperoleh akses ke nama login kita, kemudian menggunakan login tersebut untuk mengijinkan penyimpan data
untuk mengecek akses kita.
Jika menggunakan Windows Authentication, nilai yang harus digunakan Integrated Security = True atau SSPI
e.
User ID (UID)
Menentukan User ID dari user yang login.
f.
Password (Pwd)
Menentukan password dari user yang login pada user id tertentu.
g.
b.
CommandText, digunakan untuk menetapkan pernyataan SQL atau nama Stored Procedure untuk memilih data.
c.
CommandType, digunakan untuk menetapkan sebuah nilai yang menentukan bagaimana properti CommandText
diterapkan. Properti ini mempunyai tiga konstanta, yaitu : StoredProcedure, TableDirect, dan Text.
1.6.1.
Metode ExecuteReader
Metode ini akan menjalankan sebuah command yang menghasilkan sekumpulan data berbentuk DataReader
yang mempunyai sifat read-only dan navigasinya bersifat forward-only. Jadi dengan metode ini anda hanya dapat
membaca saja dan pergerakan pointer hanya ke depan.
1.6.2.
Metode ExecuteScalar
Metode ini digunakan untuk menjalankan perintah query berupa fungsi agregate dari sebuah database.
Pemakaian metode ExecuteScalar akan menghasilkan sebuah nilai bertipe integer yang menandakan berapa hasil dari
fungsi Agregate, seperti Sum, Max, Min,Average, atau Count.
1.6.3.
Metode ExecuteNonQuery
Metode ini digunakan untuk menjalankan perintah-perintah query seperti INSERT, UPDATE dan DELETE
1.
Untuk latihan awal, buat database dari Microsoft Access dengan desain seperti gambar berikut:
2.
Buat project baru di Microsoft Visual Studio. Desain suatu form seperti pada gambar di bawah ini:
Komponen
TextBox
TextBox
TextBox
ComboBox
ComboBox
ComboBox
ComboBox
DataGridView
Button
Button
Button
Button
Button
3.
Properties
Name : txtNim
Name : txtNama
Name : txtAlamat
Name : cmbFak
DropDownStyle : DropDownList
Name : cmbJur
DropDownStyle : DropDownList
Name : cmbProdi
DropDownStyle : DropDownList
Name : cmbDosen
DropDownStyle : DropDownList
Name : grid
Name : btnNew
Text : &New
Name : btnSave
Text : &Save
Name : btnUpdate
Text : &Update
Name : btnDelete
Text : &Delete
Name : btnClose
Text : &Close
Klik kanan pada project dan tambahkan Class Baru, simpan dengan nama DbConnection.vb. masukkan kode
berikut pada class tersebut:
Imports System
Imports System.Data
Imports System.Data.OleDb
Public Class DBConnection
Public Function GetDBConn() As OleDbConnection
Dim conn As OleDbConnection = New OleDbConnection(GetConnStr())
Return conn
End Function
Public Function GetConnStr() As String
Dim constr As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=C:\Data\DB_AKAD.MDB"
Return constr
End Function
End Class
4.
Klik kanan pada projects dan tambahkan Class Baru dan simpan dengan nama MainClass.vb. masukkan kode
berikut pada class tersebut:
Imports System
Imports System.data
Imports System.Data.OleDb
Public Class MainClass
Dim dbLib As New DBConnection
Dim AccConn As OleDbConnection = dbLib.GetDBConn
Dim AccComm As OleDbCommand = AccConn.CreateCommand
Dim AccReader As OleDbDataReader
Public Function SaveData(ByVal table As String, ByVal field As String,
ByVal value As String) As Boolean
Dim q As String = "INSERT INTO " & table & "(" & field & ") VALUES("
& value & ")"
End While
AccReader.Close()
AccConn.Close()
Dim dv As DataView = New DataView(dt)
Return dv
End Function
Function GetDosen() As DataView
Dim dt As DataTable = New DataTable
Dim dr As DataRow
dt.Columns.Add(New DataColumn("CODE", GetType(String)))
dt.Columns.Add(New DataColumn("VALUE", GetType(String)))
Dim q As String = "SELECT * FROM T_DOSEN"
If (AccConn.State = ConnectionState.Closed) Then
AccConn.Open()
End If
AccComm.CommandText = q
AccReader = AccComm.ExecuteReader()
While AccReader.Read()
dr = dt.NewRow()
dr(0) = AccReader.GetString(0)
dr(1) = AccReader.GetString(1)
dt.Rows.Add(dr)
End While
AccReader.Close()
AccConn.Close()
Dim dv As DataView = New DataView(dt)
Return dv
End Function
End Class
5.
Kembali ke form, tambahkan 3 kolom baru pada datagridview dengan cara seperti pada gambar berikut ini:
Pilih Link Edit Columns... dan akan muncul window baru seperti berikut:
Tekan tombol Add dan tambahkan kolom NIM seperti gambar berikut:
Tekan Tombol Add dan tambahkan 2 kolom lagi, yaitu Nama dan Alamat.
6.
Pilih kolom NIM dan set properties DataPropertyName dengan nim seperti gambar berikut:
Set juga untuk kolom NAMA dengan nama, dan ALAMAT dengan alamat. Tekan OK kalau sudah selesai.
7.
8.
9.
dr(0) = AccReader.GetString(0)
dr(1) = AccReader.GetString(1)
dr(2) = AccReader.GetString(2)
dt.Rows.Add(dr)
End While
AccReader.Close()
AccConn.Close()
Dim dv As DataView = New DataView(dt)
Return dv
End Function
Private Sub ResetForm()
txtNim.Text = ""
txtNama.Text = ""
txtAlamat.Text = ""
main.SetGridSource(grid, GetGridSource(cmbProdi.SelectedValue))
End Sub
11. Klik 2x pada form dan masukkan kode berikut
main.SetComboSource(cmbFak, main.GetFakultas())
main.SetComboSource(cmbJur, main.GetJurusan(cmbFak.SelectedValue))
main.SetComboSource(cmbProdi, main.GetProdi(cmbJur.SelectedValue))
main.SetComboSource(cmbDosen, main.GetDosen())
ResetForm()
12. Pilih komponen cmbFak, dan set kode untuk event SelectionChangeCommited
main.SetComboSource(cmbJur, main.GetJurusan(cmbFak.SelectedValue))
main.SetComboSource(cmbProdi, main.GetProdi(cmbJur.SelectedValue))
main.SetGridSource(grid, GetGridSource(cmbProdi.SelectedValue)
13. Tentukan juga untuk event pada cmbJur
main.SetComboSource(cmbProdi, main.GetProdi(cmbJur.SelectedValue))
main.SetGridSource(grid, GetGridSource(cmbProdi.SelectedValue)
14. Begitu juga untuk event cmbProdi
main.SetGridSource(grid, GetGridSource(cmbProdi.SelectedValue)
15. Klik 2x pada tombol New dan panggil procedure ResetForm( )
16. Klik 2x pada tombol Close dan masukkan kode Close
17. Jalankan aplikasi dengan menekan tombol F5 dan lihat hasilnya minimal seperti gambar di bawah ini:
18. Tahap awal di atas hanya untuk menampilkan data mahasiswa pada form. Berikutnya klik 2x pada tombol Save
untuk melakukan proses penyimpanan entri data mahasiswa. Masukkan kode berikut:
If txtNim.TextLength < 1 Or txtNama.TextLength < 1 Or txtAlamat.TextLength <
1 Then
MessageBox.Show("Data Tidak Lengkap", "Perhatian",
MessageBoxButtons.OK, MessageBoxIcon.Warning)
Exit Sub
End If
val = "'" & txtNim.Text & "', '" & txtNama.Text & "', '" & txtAlamat.Text &
"', " & "'" & cmbProdi.SelectedValue & "', '" & cmbDosen.SelectedValue & "'"
If main.SaveData(tabel, field, val) Then
ResetForm()
Else
MessageBox.Show("Entri Data Gagal", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End If
19. Jalankan program, coba masukkan data mahasiswa dan tekan tombol simpan.
20. Berikutnya adalah proses update dan delete data. Untuk update atau delete, harus ditampilkan dulu data yang akan
di-update atau dihapus. Perlu ditambahkan satu procedure untuk menampilkan data mahasiswa berdasarkan NIM
Private Sub ShowDataMhs(ByVal nim As String)
Dim q As String = "SELECT * FROM T_MHS WHERE NIM = '" & nim & "' AND
KD_PRODI = '" & cmbProdi.SelectedValue & "'"
If (AccConn.State = ConnectionState.Closed) Then
AccConn.Open()
End If
AccComm.CommandText = q
AccReader = AccComm.ExecuteReader()
If AccReader.Read() Then
txtNama.Text = AccReader.GetString(1)
txtAlamat.Text = AccReader.GetString(2)
cmbDosen.SelectedValue = AccReader.GetString(4)
Else
MessageBox.Show("Data Tidak Ditemukan", "Perhatian",
MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
AccReader.Close()
AccConn.Close()
End Sub
21. Berikutnya masukkan kode berikut pada event KeyPress txtNim
If e.KeyChar = Chr(13) Then
ShowDataMhs(txtNim.Text.Trim)
End If
22. Masukkan kode untuk proses update pada tombol Update
If txtNim.TextLength < 1 Or txtNama.TextLength < 1 Or txtAlamat.TextLength <
1 Then
MessageBox.Show("Data Tidak Lengkap", "Perhatian", MessageBoxButtons.OK,
MessageBoxIcon.Warning)
Exit Sub
End If
val = "NAMA_MHS = '" & txtNama.Text & "', ALAMAT = '" & txtAlamat.Text & "',
KD_PRODI = '" & cmbProdi.SelectedValue & "', KD_DOSEN = '" &
cmbDosen.SelectedValue & "'"
kondisi = "NIM = '" & txtNim.Text & "'"
If main.UpdateData(tabel, val, kondisi) Then
ResetForm()
Else
MessageBox.Show("Update Data Gagal", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End If
23. Masukkan kode untuk proses hapus pada tombol Delete
If MessageBox.Show("Apakah Data Akan Dihapus?", "Konfirmasi",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) =
Windows.Forms.DialogResult.Yes Then
kondisi = "NIM = '" & txtNim.Text.Trim & "'"
If main.DeleteData(tabel, kondisi) Then
ResetForm()
Else
MessageBox.Show("Delete Data Gagal", "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End If
End If
24. Jalankan program, dan coba masukkan nim pada txtnim kemudian tekan Enter. Setelah itu lakukan update atau
hapus data.
Mencetak laporan umumnya dijadikan sebagai hasil akhir dari suatu rangkaian pengolahan data. Oleh akrena
itu proses yang dilakukan membutuhkan teknik tersendiri agar hasil laporannya mudah dibaca dan dipahami. Banyak
paket program yang ditawarkan dan salah satunya adalah Crystal Reports.
Crystal Reports merupakan salah satu paket program yang digunakan untuk membuat, menganalisa, dan
menterjemahkan informasi yang terkandung dalam database ke dalam berbagai jenis laporan. Crystal Reports dirancang
untuk membuat laporan yang dapat digunakan dengan berbagai bahasa pemrograman berbasis windows, seperti Visual
Basic, Visual C/C++, Visual Interdev, dan Borland Delphi.
Bukan tanpa alasan kenapa program Crystal Reports banyak digunakan untuk membuat laporan. Beberapa
kelebihan yang dimiliki program Crystal Reports antara lain:
a.
Pembuatan laporan dengan Crystal Reports tidak terlalu rumit dan tidak banyak melibatkan kode program.
b.
Program Crystal Reports banyak digunakan karena mudah terintegrasi dengan bahasa pemrograman lain.
c.
Fasilitas impor hasil laporan yang mendukung format-format paket program lain, seperti MS. Office,
Adobe Acrobat Reader, HTML, dan sebagainya.
1.
setiap saat dapat diaktifkan. Untuk membuat laporan dengan Crystal Reports pada proyek yang sedang dibuat, langkahlangkah yang harus dilakukan sebagai berikut:
a.
Lakukan klik kanan pada proyek di jendela solution. Pilih menu Add dan klik menu Add New Items.
b.
Sebuah kotak dialog Add New Items ditampilkan. Pilih Crystal Report lalu tuliskan nama laporan yang
sedang dibuat pada kotak isian Name, kemudian tekan tombol Add untuk menutup kotak dialog tersebut.
c.
Selanjutnya muncul jendela Crystal Report Gallery seperti pada gambar berikut:
d.
Pada jendela di atas, pilih As a Blank Report dan akan ditampilkan halaman desain laporan :
e.
Dari jendela Field Explorer, klik kanan pada database dan pilih Database Expert sehingga muncul
jendela untuk memilih database yang akan digunakan.
f.
Pilih Create New Connection kemudian pilih nama provider yang dipakai, pada project ini dipakai
database MS. Access, maka pilih Access/Excel (ADO). Kemudian pilih database Access yang akan
digunakan dan tekan Finish, sehingga akan ditampilkan seperti pada gambar di bawah ini:
g.
2.