68
Pada gambar 5.2, Anda dapat melihat bahwa tabel terkait satu sama lain melalui kunci
yang sama (data value) dalam relasi database. Tabel yang terkait dalam relasi database,
memungkinkan data dapat diambil pada master query (Meskipun data yang diinginkan berada
pada lebih dari satu tabel.) Dengan memiliki sebuah primary key dan foreign key dapat
membentuk satu set data yang besar. Jika Anda telah mengetahui bagaimana sebuah database
dibangun maka selanjutnya penggunaan sintaks SQL untuk memanajemen sebuah data.
5.1.3 Type SQL Command
Bagian berikut membahas dasar perintah yang digunakan dalam SQL untuk
melakukan berbagai fungsi. Fungsi ini meliputi membangun objek database, memanipulasi
objek data, mengisi tabel database dengan data, mengedit data yang ada di tabel, menghapus
data, menggunakan query database, mengontrol akses database, dan mengatur sistem database
yang secara keseluruhan. Kategori fungsi utama SQL sebagai berikut :
1. Data Definition Language (DDL)
Data Definition Language (DDL) adalah bagian dari SQL yang memungkinkan pengguna
database untuk membuat basis data seperti membuat atau penghapusan tabel. Beberapa
perintah DDL berikut ini:
CREATE TABLE
ALTER TABLE
DROP TABLE
CREATE INDEX
ALTER INDEX
DROP INDEX
CREATE VIEW
DROP VIEW
2. Data Manipulation Language (DML)
Data Manipulation Language (DML) adalah bagian dari SQL yang digunakan untuk
memanipulasi data di dalam objek dari relasi database. Tiga perintah daasr DML sebagai
berikut :
INSERT
UPDATE
DELETE
69
3. Data Query Language (DQL)
Meskipun hanya satu perintah, Data Query Language (DQL) adalah yang paling Fokus
terkonsentrasi SQL untuk pengguna relasi database modern. Perintah dasar adalah SELECT.
4. Data Control Language (DCL)
Data control commands adalah perintah untuk mengontrol akses ke data dalam database.
Data Control Language (DCL) biasanya digunakan untuk membuat objek terkait dengan
akses pengguna dan juga mengontrol distribusi hak antara pengguna. Beberapa perintah Data
Control Language (DCL) sebagai berikut :
ALTER PASSWORD
GRANT
REVOKE
CREATE SYNONYM
5. Data administration commands
Data administration commands memungkinkan pengguna untuk melakukan audit dan
melakukan analisis atas operasi dalam database. Data administration commands juga dapat
digunakan untuk membantu menganalisis kinerja sistem. Dua perintah Data administration
commands yang digunakan :
START AUDIT
STOP AUDIT
6. Transactional control commands
Selain perintah sebelumnya, ada perintah yang memungkinkan pengguna untuk mengelola
transaksi database. Beberapa perintah yang digunakan sebagai berikut :
COMMIT; Menyimpan transaksi database
ROLLBACK; Membatalkan transaksi database
SAVEPOINT; Menciptakan poin dalam kelompok transaksi pada penggunaan
ROLLBACK
SET TRANSAKSI; penempatan nama pada transaksi
70
5.1.4 Membuat Aplikasi Sederhana
LATIHAN 5.1 Aplikasi Sederhana Database SQL Server
Anda akan mempelajari membangun sebuah aplikasi pendataan mahasiswa yang bisa
melakukan penambahan, pengeditan, penghapusan dan menggunakan navigasi data. Langkah-
langkah sebagai berikut :
1. Buatlah Project baru Visual BASIC
2. Desain Form Siswa seperti pada gambar 5.1 dibawah ini :
Gambar 5.1 Latihan Aplikasi Sederhana dengan SQL Server
Gantilah properti masing-masing komponen seperti tertera dibawah ini :
Tabel 5.1 Pengaturan Properties Latihan Aplikasi Sederhana dengan SQL Server
Object Properties Value
Form1 Text Aplikasi Sederhana
SQL
Label1 Text NPM
Label2 Text Nama
Label3 Text Jenis Kelamin
Botton1 Text <<
Botton2 Text <
Botton3 Text >
Botton4 Text >>
Botton5 Text Tambah
Botton6 Text Hapus
Botton7 Text Simpan
3. Buatlah sebuah database dengan klik Menu Project > Add Menu Item > Service-
based Database dan ketikkan “database.mdf” sebagai nama database.
71
4. Database yang telah dibuat akan berada pada Solution Explorer selanjutnya double klik
database.mdf sehingga akan muncul tampilan Server Dialog, klik kanan Table pilih Add
New Table berikut ditunjukkan pada gambar 5.2 berikut ini :
Gambar 5.2 Membuat Tabel Baru pada Database
5. Buatlah sebuah tabel dengan nama “mahasiswa” dengan field sebagai berikut ini :
Tabel 5.2 Struktur Data Mahasiswa
Field Name Data Type Field Size
NPM nVarchar 12
Nama nVarchar 25
JK nVarchar 20
6. Pada tahap akhir, masukkan kode sehingga hasil penulisan kode seperti dibawah ini :
Public Class Form1
Private MyDatAdp As New SqlDataAdapter
Private MyCmdBld As New SqlCommandBuilder
Private MyDataTbl As New DataTable
Private MyCn As New SqlConnection
Private MyRowPosition As Integer = 0
End Class
Masukkan kode pada objek form1 prosedur close berikut ini:
Private Sub Form1_FormClosed(sender As Object, e As FormClosedEventArgs) Handles
Me.FormClosed
MyCn.Close()
MyCn.Dispose()
End Sub
Masukkan kode pada objek form1 prosedur load berikut ini:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
72
MyCn.ConnectionString = “Data Source=LY-PC\SQL2012;
AttachDbFilename=C:\Program Files\Microsoft SQL
Server\MSSQL11.SQL2012\MSSQL\DATA\database.mdf; ” &
“User Instance=True;Integrated Security=SSPI”
MyCn.Open()
MyDatAdp = New SqlDataAdapter(“Select* from Mahasiswa”, MyCn)
MyCmdBld = New SqlCommandBuilder(MyDatAdp)
MyDatAdp.Fill(MyDataTbl)
Dim MyDataRow As DataRow = MyDataTbl.Rows(0)
Dim strNPM As String
Dim strNama As String
strNPM = MyDataRow(“NPM”)
strNama = MyDataRow(“Nama”)
strJK = MyDataRow(“JK”)
TextBox1.Text = strNPM.ToString
TextBox2.Text = strNama.ToString
ComboBox1.Text = strJK.ToString
Me.showRecords()
End Sub
Buatlah prosedur baru dengan nama showRecords, masukkan kode berikut ini:
Private Sub showRecords()
If MyDataTbl.Rows.Count = 0 Then
TextBox1.Text = “”
TextBox2.Text = “”
ComboBox1.Text = “”
Exit Sub
End If
TextBox1.Text = MyDataTbl.Rows(MyRowPosition)(“NPM”).ToString
TextBox2.Text = MyDataTbl.Rows(MyRowPosition)(“Nama”).ToString
TextBox2.Text = MyDataTbl.Rows(MyRowPosition)(“JK”).ToString
End Sub
Masukkan kode pada botton1 berikut ini:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MyRowPosition = 0
Me.showRecords()
End Sub
73
Masukkan kode pada botton2 berikut ini:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If MyRowPosition > 0 Then
MyRowPosition = MyRowPosition – 1
Me.showRecords()
End If
End Sub
Masukkan kode pada botton3 berikut ini:
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If MyRowPosition < (MyDataTbl.Rows.Count – 1) Then
MyRowPosition = MyRowPosition + 1
Me.showRecords()
End If
End Sub
Masukkan kode pada botton4 berikut ini:
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
If MyDataTbl.Rows.Count > 0 Then
MyRowPosition = MyDataTbl.Rows.Count – 1
Me.showRecords()
End If
End Sub
Masukkan kode pada botton5 berikut ini:
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Dim MyNewRow As DataRow = MyDataTbl.NewRow()
MyDataTbl.Rows.Add(MyNewRow)
MyRowPosition = MyDataTbl.Rows.Count – 1
Me.showRecords()
End Sub
Masukkan kode pada botton6 berikut ini:
Private Sub Button6_Click(ByVal sender As Object, ByVal e As EventArgs) Handles
Button6.Click
If MyDataTbl.Rows.Count <> 0 Then
MyDataTbl.Rows(MyRowPosition).Delete()
MyRowPosition = 0
MyDatAdp.Update(MyDataTbl)
Me.showRecords()
End If
End Sub
74
Masukkan kode pada botton7 berikut ini:
Private Sub Botton7_Click(ByVal sender As Object, ByVal e As EventArgs) Handles
Botton7.Click
If MyDataTbl.Rows.Count <> 0 Then
MyDataTbl.Rows(MyRowPosition)(“NPM”) = TextBox1.Text
MyDataTbl.Rows(MyRowPosition)(“Nama”) = TextBox2.Text
MyDataTbl.Rows(MyRowPosition)(“JK”) = ComboBox1.Text
MyDatAdp.Update(MyDataTbl)
End If
End Sub
Hasil dari kode program diatas, dapat dilihat pada gambar 5.3 berikut ini :
Gambar 5.3 Hasil Form Latihan Aplikasi Sederhana dengan SQL Server
5.2 Mengenal Microsoft Office Acces 2016
Microsoft Office telah menjadi bagian utama dalam penggunaan aplikasi perkantoran di
Indonesia untuk mengolah surat, persentasi, perhitungan dan sebagainya. Microsoft Office
2016 muncul pada akhir tahun 2015 dengan berbagai fitur dan tampilan. Berikut merupakan
beberapa fitur Office 2016 sebagai berikut :
1. Integrasi OneDrive
2. Integrasi Skype
3. Lintas Platform , Lintas Perangkat
4. Berbagai Tema Office
5. Pencarian Cerdas
6. Kontrol yang Lebih Baik
7. Tipe Bagan Baru
8. Pengetikan Real-Time
9. Dan diupdate setiap saat.
75
Selain digunakan sebagai aplikasi perkantoran Microsoft Office 2016 bisa digunakan
sebagai alat membangun aplikasi sederhana dan mengelola database yaitu Microsoft Office
Acces.
5.2.1 Sejarah Microsoft Acces
Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi
basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil
hingga menengah. Aplikasi ini merupakan bagian dari beberapa aplikasi Microsoft Office,
selain tentunya Microsoft Word, Microsoft Excel, dan Microsoft PowerPoint. Aplikasi ini
menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan
tampilan grafis yang intuitif sehingga memudahkan pengguna.
Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft
Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua
kontainer basis data yang mendukung standar ODBC. Para pengguna/programmer yang mahir
dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang kompleks,
sementara para programmer yang kurang mahir dapat menggunakannya untuk
mengembangkan perangkat lunak aplikasi yang sederhana. Access juga mendukung teknik-
teknik pemrograman berorientasi objek, tetapi tidak dapat digolongkan ke dalam perangkat
bantu pemrograman berorientasi objek.
Microsoft merilis Microsoft Access 1.0 pada bulan November 1992 dan dilanjutkan
dengan merilis versi 2.0 pada tahun 1993. Microsoft menentukan spesifikasi minimum untuk
menjalankan Microsoft Access 2.0 adalah sebuah komputer dengan sistem operasi Microsoft
Windows 3.0, RAM berkapasitas 4 megabyte (6 megabyte lebih disarankan) dan ruangan
kosong hard disk yang dibutuhkan 8 megabyte (14 megabyte lebih disarankan). Versi 2.0 dari
Microsoft Access ini datang dengan tujuh buah disket floppy 3½ inci berukuran 1.44
megabyte.
Perangkat lunak tersebut bekerja dengan sangat baik pada sebuah basis data dengan
banyak record tapi terdapat beberapa kasus di mana data mengalami kerusakan. Sebagai
contoh, pada ukuran basis data melebihi 700 megabyte sering mengalami masalah seperti ini
(pada saat itu, memang hard disk yang beredar masih berada di bawah 700 megabyte). Buku
manual yang dibawanya memperingatkan bahwa beberapa kasus tersebut disebabkan oleh
driver perangkat yang kuno atau konfigurasi yang tidak benar.
Nama kode (codename) yang digunakan oleh Access pertama kali adalah Cirrus yang
dikembangkan sebelum Microsoft mengembangkan Microsoft Visual Basic, sementara mesin
76
pembuat form antarmuka yang digunakannya dinamakan dengan Ruby. Bill Gates melihat
purwarupa (prototype) tersebut dan memutuskan bahwa komponen bahasa pemrograman
BASIC harus dikembangkan secara bersama-sama sebagai sebuah aplikasi terpisah tapi dapat
diperluas. Proyek ini dinamakan dengan Thunder. Kedua proyek tersebut dikembangkan
secara terpisah, dan mesin pembuat form yang digunakan oleh keduanya tidak saling cocok
satu sama lainnya. Hal tersebut berakhir saat Microsoft merilis Visual Basic for Applications
(VBA). Berikut versi dari Microsoft Office Acces :
Tabel 5.3 Versi Microsoft Office Acces
Tanggal Versi Acces Versi Office
1992 Microsoft Access 1.1 T/A
1993 Microsoft Access 2.0 Microsoft Office 4.3
Professional
1995 Microsoft Access for Microsoft Office 95
Windows 95 Professional
1997 Microsoft Access 97 Microsoft Office 97
Professional
1999 Microsoft Access 2000 Microsoft Office 2000
Premium dan Office 2000
Professional
2001 Microsoft Access 2002 Microsoft Office XP
Professional
2003 Microsoft Access 2003 Microsoft Office System 2003
2007 Microsoft Access 2007 Microsoft Office System 2007
2010 Microsoft Access 2010 Microsoft Office Professional
2010
2012 Microsoft Access 2013 Microsoft Office Professional
2013
2015 Microsoft Access 2016 Microsoft Office Professional
2016
Microsoft Access digunakan kebanyakan oleh bisnis-bisnis kecil dan menengah, di
dalam sebuah organisasi yang kecil bahkan mungkin juga digunakan oleh perusahaan yang
cukup besar, dan juga para programmer untuk membuat sebuah sistem buatan sendiri untuk
77
menangani pembuatan dan manipulasi data. Access juga dapat digunakan sebagai sebuah
basis data untuk aplikasi Web dasar yang disimpan di dalam server yang menjalankan
Microsoft Internet Information Services (IIS) dan menggunakan Microsoft Active Server
Pages (ASP). Meskipun demikian, penggunaan Access kurang disarankan, mengingat telah
ada Microsoft SQL Server yang memiliki kemampuan yang lebih tinggi.
Beberapa pengembang aplikasi profesional menggunakan Microsoft Access untuk
mengembangkan aplikasi secara cepat (digunakan sebagai Rapid Application
Development/RAD tool), khususnya untuk pembuatan purwarupa untuk sebuah program yang
lebih besar dan aplikasi yang berdiri sendiri untuk para salesman.
Microsoft Access kurang begitu bagus jika diakses melalui jaringan sehingga aplikasi-
aplikasi yang digunakan oleh banyak pengguna cenderung menggunakan solusi sistem
manajemen basis data yang bersifat klien/server. Meskipun demikian, tampilan muka Access
(form, report, query, dan kode Visual Basic) yang dimilikinya dapat digunakan untuk
menangani basis data yang sebenarnya diproses oleh sistem manajemen basis data lainnya,
seperti halnya Microsoft Jet Database Engine (yang secara default digunakan oleh Microsoft
Access), Microsoft SQL Server, Oracle Database, dan beberapa produk lainnya yang
mendukung ODBC.
5.2.2 Penggunaan Sintaks SQL Acces 2016
Penggunaan SQL pada Microsoft Acces pada dasarnya sama dengan menggunakan
SQL Server, SQL merupakan bahasa standar yang digunakan untuk mengakses database
relasional termasuk Microsoft Acces. Selain Microsoft Acces, software database yang
menggunakan SQL sebagai subbahasa dalam mengakses data, diantaranya : DB2, Ingres,
Informix, ORACLE, MySQL, PostgreSQL, Rdb, Sybase.
Untuk menggunakan SQL pada Microsoft Acces terletak pada kueri (query). sebagai
contoh anggaplah database Anda memiliki dua tabel tidak berkaitan yang satu menyimpan
data pelanggan dan yang lainnya menyimpan data tentang pemasok, dan kedua tabel memiliki
informasi kontak. Anda ingin melihat informasi kontak dari kedua tabel dalam satu tampilan.
Untuk melakukan ini, pertama-tama buat kueri pemilihan untuk setiap tabel untuk mengambil
informasi kontak, lalu gabungkan hasil tersebut dengan membuat kueri gabungan.
Beberapa pembuatan dasar dalam pemilihan kueri yaitu :
1. Kueri pemilihan yang Anda gabungkan dalam kueri gabungan harus memiliki jumlah
bidang output yang sama, dalam urutan yang sama, dan dengan tipe data yang sama atau
kompatibel. Saat Anda menjalankan kueri gabungan, data dari masing-masing kumpulan
78
bidang yang berkaitan digabungkan ke dalam satu bidang output sehingga kueri output
memiliki jumlah bidang yang sama dengan setiap pernyataan SELECT.
2. Kueri gabungan bersifat spesifik SQL, oleh karena itu harus ditulis secara langsung dalam
SQL. Anda dapat beralih ke Tampilan SQL untuk menulis spesifik kueri SQL, termasuk
kueri gabungan.
5.2.3 Membuat Aplikasi Sederhana
LATIHAN 5.2 Aplikasi Sederhana Database Ms. Acces
Sebelumnya Anda telah mempelajari membangun sebuah aplikasi pendataan mahasiswa
menggunakan SQL Server, desain form sama dengan sebelumnya dan memiliki proses dalam
penambahan, pengeditan, penghapusan dan menggunakan kontrol listview untuk
menampilkan data. Langkah-langkah sebagai berikut :
1. Buatlah Project baru Visual BASIC
2. Desain Form Siswa seperti pada gambar 5.4 dibawah ini :
Gambar 5.4 Latihan Aplikasi Sederhana dengan Ms. Acces
Gantilah properti masing-masing komponen seperti tertera dibawah ini :
Tabel 5.4 Pengaturan Properties Latihan Aplikasi Sederhana dengan Ms. Acces
Object Properties Value
Form1 Text Aplikasi Sederhana
Microsoft Acces
GroupBox1 Text Kosong
Label1 Text NPM
Label2 Text Nama
Label3 Text Jenis Kelamin
Label4 Name LblSet
Botton1 Text Tambah
79
Botton2 Text Simpan
Botton3 Text Batal
Botton4 Text Hapus
Botton5 Text Edit
Botton6 Text Tutup
ListView1 Columns : NPM
ColumnHeader1 :
ListView1 Text
Columns : NAMA
ListView1 ColumnHeader2 :
Text
ListView1 Columns : JENIS KELAMIN
ListView1 ColumnHeader3 :
ListView1 Text
FullRowSelect True
GridLines True
View Details
3. Untuk membuat database buka Microsoft Office Acces 2016 dan ketikkan “database”
sebagai nama database. letakkan file database yang telah dibuat pada project Visual
BASIC pada folder BIN/Debug seperti ditunjukan pada gambar 5.5 berikut ini:
Gambar 5.5 direktori penyimpanan database
4. Buatlah sebuah tabel dengan nama “mahasiswa” dengan field sebagai berikut ini :
Tabel 5.5 Struktur Data Mahasiswa
Field Name Data Type Field Size
NPM Short Text 12
Nama Short Text 25
80
JK Short Text 20
Berikut hasil dalam pembuatan tabel berikut ini :
Gambar 5.6 Tabel Mahasiswa
5. Pada tahap akhir, masukkan kode sehingga hasil penulisan kode seperti dibawah ini :
Buatlah Module baru dengan klik menu Project > Add Module dan masukkan kode
berikut ini :
Module Module1
Public cn As ADODB.Connection
Public rs As ADODB.Recordset
Public Sub koneksi()
cn = New ADODB.Connection
With cn
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=database.accdb"
.CursorLocation = ADODB.CursorLocationEnum.adUseClient
.Open()
End With
End Sub
End Module
Masukkan kode pada objek form1 prosedur load berikut ini:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
koneksi()
End Sub
Masukkan kode pada objek form1 prosedur Actived berikut ini:
Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Activated
Tampilkan()
End Sub
81
Buatlah prosedur tampilkan dengan kode berikut ini:
Sub Tampilkan()
Dim lst
ListView1.Items.Clear()
rs = New ADODB.Recordset
With rs
.Open("select * from mahasiswa", cn, 2, 3)
Do While Not .EOF
lst = New ListViewItem
lst = ListView1.Items.Add(.Fields("NPM").Value)
lst.SubItems.Add(.Fields("Nama").Value)
lst.SubItems.Add(.Fields("JK").Value)
.MoveNext()
Loop
End With
End Sub
Buatlah prosedur clear dengan kode berikut ini:
Sub Clear()
TextBox1.Text = ""
TextBox2.Text = ""
ComboBox1.Text = ""
Button1.Enabled = True
Button2.Enabled = False
Button3.Enabled = False
Button5.Enabled = True
Button4.Enabled = True
Button6.Enabled = True
GroupBox1.Enabled = False
End Sub
Masukkan kode pada objek botton1 atau tombol tambah berikut ini:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
LblSet.Text = "Tambah"
Button1.Enabled = False
Button2.Enabled = True
Button3.Enabled = True
Button5.Enabled = False
Button4.Enabled = False
Button6.Enabled = False
82
GroupBox1.Enabled = True
TextBox1.Text = ""
TextBox2.Text = ""
ComboBox1.Text = ""
TextBox1.Focus()
End Sub
Masukkan kode pada objek botton2 atau tombol simpan berikut ini:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If TextBox1.Text = "" Then : MsgBox("Data masing kosong !",
MsgBoxStyle.Exclamation) : TextBox1.Focus() : Exit Sub : End If
If TextBox2.Text = "" Then : MsgBox("Data masing kosong !",
MsgBoxStyle.Exclamation) : TextBox2.Focus() : Exit Sub : End If
If ComboBox1.Text = "" Then : MsgBox("Data masing kosong !",
MsgBoxStyle.Exclamation) : ComboBox1.Focus() : Exit Sub : End If
If MsgBox("Apakah Ada yakin menyimpan data ?", MsgBoxStyle.YesNo, "Pesan") =
MsgBoxResult.No Then : Exit Sub : End If
rs = New ADODB.Recordset
With rs
If LblSet.Text = "Tambah" Then
.Open("Select * from mahasiswa", cn, 2, 3)
.AddNew()
Else
.Open("Select * from mahasiswa where NPM='" & Me.Text & "'", cn, 2, 3)
End If
.Fields("NPM").Value = TextBox1.Text
.Fields("Nama").Value = TextBox2.Text
.Fields("JK").Value = ComboBox1.Text
.Update()
Clear()
End With
Tampilkan()
End Sub
Masukkan kode pada objek botton3 atau tombol batal berikut ini:
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Clear()
End Sub
83
Masukkan kode pada objek botton4 atau tombol hapus berikut ini:
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
If MsgBox("Apakah yakin data ini dihapus ?", MsgBoxStyle.YesNo, "Pesan") =
MsgBoxResult.No Then : Exit Sub : End If
rs = New ADODB.Recordset
rs.Open("select * from mahasiswa mahasiswa NPM like '" & Me.Text & "'", cn, 2, 3)
rs.Delete()
Tampilkan()
End Sub
Masukkan kode pada objek botton5 atau tombol edit berikut ini:
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Me.Text = ListView1.FocusedItem.Text
LblSet.Text = "Edit"
Button1.Enabled = False
Button2.Enabled = True
Button3.Enabled = True
Button5.Enabled = False
Button4.Enabled = False
Button6.Enabled = False
GroupBox1.Enabled = True
TextBox1.Focus()
End Sub
Masukkan kode pada objek botton6 atau tombol tutup berikut ini:
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Me.Close()
End Sub
Masukkan kode pada objek ListView1 prosedur Click berikut ini:
Private Sub ListView1_Click(sender As Object, e As EventArgs) Handles ListView1.Click
rs = New ADODB.Recordset
With rs
.Open("Select * from mahasiswa where NPM like '" &
ListView1.FocusedItem.Text & "'", cn, 2, 3)
TextBox1.Text = .Fields("NPM").Value
ComboBox1.Text = .Fields("JK").Value
TextBox2.Text = .Fields("Nama").Value
End With
End Sub
84
Masukkan kode pada objek ListView1 prosedur SelectedIndexChanged berikut ini:
Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ListView1.SelectedIndexChanged
Me.Text = ListView1.FocusedItem.Text
End Sub
Hasil dari kode program diatas, dapat dilihat pada gambar 5.7 berikut ini :
Gambar 5.7 Hasil Form Latihan Aplikasi Sederhana dengan Ms. Acces
5.3 Perbedaan SQL Server dengan Microsoft Access
Perbedaan terbesar antara Microsoft Access dan SQL Server yaitu Microsoft Access
merupakan aplikasi pengembangan dan aplikasi database sedangkan SQL Server merupakan
aplikasi database murni. Selanjutnya perbedaan antara keduanya dapat dilihat pada tabel 5.6.
di bawah ini :
Tabel 5.6 Perbedaan SQL Server dengan Microsoft Access
Kategori SQL MS-Access
Server
Aplikasi Pengembangan Tidak Ya
Database Jaringan (1-30) Ya Ya
Database Jaringan Skala Ya Tidak
Besar (Ratusan atau
ribuan user)
Trigger dan Storage Ya Tidak
Procedure
Bagian dari Microsoft Ya Tidak
Back Office
Bagian dari Microsoft Tidak Ya (hanya
85
Office pada
beberapa
versi)
5.4 Rangkuman
1. Penggunaan database menjadi kebutuhan utama dalam penanganan data dan berbagai
informasi dalam pembuatan aplikasi Visual BASIC khususnya.
2. SQL Server merupakan aplikasi yang dikhususkan dalam penanganan manajemen data
yang besar sedangkan Microsoft Office Acces masih pada penanganan aplikasi skala
kecil.
3. SQL merupakan bagian utama SQL Server dalam melakukan perintah penanganan data
sedangkan SQL pada Microsoft Office Acces merupakan sub bagian.
4. Untuk menghubungkan database baik menggunakan SQL Server dan Microsoft Office
Acces pada Visual BASIC 2015 menggunakan tekhnik kode yang berbeda.
5.5 Tugas/ Soal Latihan
1. Jelaskan penggunaan database dalam kehidupan sehari-hari
2. Sebutkan aplikasi apa saja yang menggunakan SQL sebagai subbahasa
3. Buatlah sebuah aplikasi sederhana untuk mendata mahasiswa dengan dengan field NPM,
nama, jenis kelamin, golongan darah, alamat, telepon, agama, asal sekolah, tahun lulus, no
sttb dan tahun masuk.
5.6 Daftar Bacaan
1 Allen G. Taylor. 2013. SQL For Dummies®, 8th Edition. Indiana: John Wiley & Sons,
Inc.
2 Brian Larson. 2012. Microsoft® SQL Server® 2012 Reporting Services, Fourth Edition.
United States: McGraw-Hill Companies.
3 C. J. Date. 2015. SQL and Relational Theory: How to Write Accurate SQL Code (3rd
edition). United States: O’Reilly Media, Inc.
4 Del Sole, Alessandro. 2010. Visual Basic 2010 unleashed. Indiana: Sams Teach.
5 Foxall, James. 2015. Visual Basic 2015 in 24 Hours. Indiana: Sams Teach.
6 Michael Alexander, Dick Kusleika. 2016. Access® 2016 Bible. Indiana: John Wiley &
Sons, Inc.
7 Newsome, Bryan. 2016. Beginning Visual Basic 2015. Indiana: John Wiley & Sons, Inc.
86
8 Peter A Carter. 2015. SQL Server AlwaysOn Revealed. New York: Apress
9 Ryan Stephens, Arie D. Jones, Ron Plew. 2016. SQL in 24 Hours, Sixth Edition. Indiana:
Sams Teach.
BAB VI
CRYSTAL REPORT
Ringkasan
Laporan digunakan sebagai sarana untuk menampilkan hasil pengolahan data, baik
tampilan di layar maupun di kertas melalui printer. Pada Visual BASIC, laporan dapat dibuat
dengan fasilitas Cristal Report (diinstal tersendiri) maupun dengan Data Report (bawaan
standard). Pada bahasan bab ini Anda akan membuat laporan dengan menggunakan Cristal
Report. Crystal Reports merupakan salah satu paket program yang digunakan untuk membuat,
menganalisa, dan menterjemahkan informasi yang terkandung dalam database ke dalam
berbagai jenis laporan.
6.1 Mengenal Crystal Report
Crystal Reports merupakan aplikasi untuk merancang dan menghasilkan laporan dari
berbagai sumber data (database) dan dapat digunakan dengan berbagai bahasa pemrograman
berbasis Windows, seperti Visual Basic, Visual C/C++, Visual Interdev, dan Borland Delphi.
Beberapa kelebihan yang dimiliki Crystal Reports sebagai berikut :
1 Pembuatan laporan dengan Crystal Reports tidak terlalu rumit dengan banyak melibatkan
kode program.
2 Crystal Reports banyak digunakan karena mudah terintegrasi dengan bahasa
pemrograman lain.
3 Fasilitas impor hasil laporan yang mendukung format-format paket program lain, seperti
Microsoft Office, Adobe Acrobat Reader, HTML, dan sebagainya.
Pada standar reprts expert terdiri dari delapan langkah yaitu:
1. Tab data
Tab data ini harus menentukan tabel atau query yang akan digunakan untuk membuat
laporan.
2. Tab fields
Tab ini dapat menentukan field-field atau kolom-kolom yang akan ditampilkan dalam
laporan.
87
88
3. Tab sort
Tab ini dapat mengurutkan atau mengelompokan data-data yangakan ditampilkan dalam
laporan.
4. Tab total
Tab ini dapat menampilkan subtotal berdasarkan kriteria atau pengelompokan berdasarkan
fields yang telah ditentukan pada tab sebelimnya.
5. Tab topN
Tab ini dapat menentukan data yang akan ditampilkan dengan cara memilih N terbesar
dari data yang ada.
6. Tab graph
Tab ini dapat membuat dan memilih type grafik yang diinginkan.
7. Tab select
Tab ini dapat menyaring atau memfilter record-record yang akan ditampilkan dalam
laporan.
8. Tab style
Tab ini dapat memilih bentuk tampilan laporan dan menuliskan judul laporan yang
diinginkan.
Terdapat dua model untuk mengambil data berasal dari database untuk ditampilkan pada
laporan, yaitu:
1 Pull Mode
Proses yang terjadi adalah driver akan melakukan koneksi dan mengambil data dari
database sesuai dengan permintaan.
2 Push Mode
Proses koneksi database untuk mengambil data dan mengisikan data tersebut ke dalam
Dataset. Data yang berada dalam Dataset selanjutnya ditampilkan pada laporan. Dengan
metode ini memungkinkan untuk membangun koneksi yang terbagi (sharing) ke dalam
aplikasi dan membagi data sebelum Crystal Reports menerimanya.
Laporan yang telah dibuat dengan Crystal Reports masih belum terlihat bentuk tampilan
datanya. Untuk itu dibutuhkan kontrol lain yang dipasang di form Visual BASIC yaitu kontrol
.
Microsoft Visual Studio 2015 tidak mengikutsertakan Crystal Report dalam Setup
Installernya, tidak seperti dalam versi sebelumnya. Maka untuk menginstal Crystal Report
89
harus secara manual (terpisah). Ada berbagai versi Crystal Report mendukung Microsoft
Visual Studio seperti ditunjukkan pada tabel 6.1 berikut ini:
Tabel 6.1 Versi Crystal Report untuk Microsoft Visual Studio
Versi Visual Studio
1-
2-
3-
4-
5-
6-
7-
8 2003, 2005, 6.0
8.5 2003, 2005
9 2003, 2005
10 2003, 2005
XI (11) 2003, 2005, 2008
XI R2 (11.5) 2003, 2005
2008 (12) 2012, 2013
13 2010, 2012, 2013
2011 (14.0.x) 2010, 2012, 2013
2013 (14.1.x) 2013, 2014
15 2013, 2015
16 2010, 2012, 2013, 2015
Hubungan crystal report dengan Visual BASIC yaitu percetakan/ hasil akhir dilakukan
dalam sebuah form maka objek crystal report yang terdapat didalam form harus dihubungkan
dengan file Crystal Report yang sudah jadi. Berkaitan dengan tampilan laporan ada beberapa
tombol yang mendukung, yaitu:
1. Tab Design
Fungsi dari tab design ini adalah untuk menampilkan desain laporan yang dibuat.
2. Tab Preview
Fungsi dari tab preview adalah untuk menampilkan bentuk/hasil dari laporan.
90
6.2 Membuat Laporan pada Crystal Report
Sebelum membuat laporan dengan menggunakan Crystal Report, dibutuhkan sebuah
database sebagai sumber data untuk menghasilkan informasi. Pada latihan selanjutnya buatlah
sebuah database mahasiswa menggunakan Microsoft Acces dengan ketentuan sebagai berikut
:
LATIHAN 6.1 Database Mahasiswa
Tabel 6.2 Struktur Data Mahasiswa
Field Name Data Type Field Size
NPM Short Text 12
Nama Short Text 25
T_Lahir Short Text 20
Tgl_Lahir Date Short Date
JK Short Text 20
Tahun_Masuk Short Text 4
Semester Short Text 6
Selanjutnya isi field seperti pada gambar 6.1 berikut ini :
Gambar 6.1 Latihan Database Mahasiswa
6.2.1 Koneksi Crystal Report dengan Database Microsoft Acces
Ada dua cara membuat laporan yaitu membuat laporan langsung dengan membuka
aplikasi Crystal Report atau membuat laporan pada menu Visual BASIC. Cara yang terbaik
adalah membuat laporan dengan membuka aplikasi Crystal Report berikut langkah-
langkahnya :
1. Buka Crystal Report klik File > New
2. Ada tiga pilihan untuk membuat laporan pada Crystal Report yaitu; Using Report Wizard,
As a Blank Report dan From an Existing Report. Pada umumnya pilihan pertama yang
terbaik membuat laporan secara mudah dan cepat. Berikut tampilan pilihan pembuatan
laporan Crystal Report
91
Gambar 6.2 Pilihan Laporan Crystal Report
3. Pada pilihan koneksi database, pilih OLE DB (ADO) untuk membuat koneksi ke
Microsoft Acces 2016
4. Pada pilihan OLE DB (ADO) Provider pilih Microsoft Office 15.0 Acces Database
Engine OLE DB Provider
5. Pada pilihan Data Source pilihlah database yang telah dibuat sebelumnya sehingga pada
tampilan dialog box Data Standard Report Creation Wizard seperti pada gambar 6.3
berikut ini :
Gambar 6.3 Koneksi Database Ms. Acces dengan Crystal Report
6. Pilihlah tabel mahasiswa dan klik tombol Next untuk melanjutkannya
7. Pada tab Fields Display pilihlah semua field yang ada pada tabel mahasiswa
8. Pada tahap akhir report style, pilih style standard dan klik finish. Hasil dari pembuatan
laporan seperti pada gambar 6.4 berikut ini:
92
Gambar 6.3 Hasil Laporan Mahasiswa dengan Crystal Report
6.3 Sections
Pada laporan crystal report terdiri dari lima bagian yaitu;
1. Section 1 (Report Header): Setiap data (teks, gambar, dan sebagainya) dimasukkan
dalam bagian ini dan hanya ditampilkan dalam laporan halaman pertama saja.
2. Section 2 (Page Header): Setiap data (teks, gambar, dan sebagainya) dimasukkan
dalam bagian ini akan ditampilkan pada setiap header.
3. Section 3 (Details): Bagian ini menampilkan data dari sumber data yang mengandung
beberapa baris dari hasil seperti Microsoft SQL Server dan Microsoft Office Acces.
4. Section 4 (Report Footer): Setiap data (teks, gambar, dan sebagainya) dimasukkan
dalam bagian ini akan ditampilkan satu kali di akhir halaman laporan.
5. Section 5 (Page Footer): Setiap data (teks, gambar, dan sebagainya) dimasukkan ke
dalam bagian ini akan ditampilkan pada footer dari setiap halaman dalam laporan.
6.4 Special Fields
Pada crystal reports, ada banyak special fields yang dapat kita gunakan dalam laporan. Di
bagian ini kita akan melihat bagaimana menggunakan special fields. Berikut special fields
seperti ditunjukkan pada gambar 6.4 :
93
Gambar 6.4 Special Fields Crystal Report
Sebagai contoh penggunaan special fields untuk pemberian nomor halaman Anda cukup
letakkan Page N of M pada bagian Page Footer sehingga setiap halaman secara otomatis
muncul di setiap halaman.
6.5 String Formula
Anda dapat menggunakan FormulaFields(n).Text, untuk memanipulasi Formula pada saat
runtime. Contoh penggunaan formula:
xRpt.FormulaFields(1).Text = "{Barang.b0}+{Barang.b1}"
Formula bertujuan untuk menampilkan hasil saldo barang.
6.6 Grafik
Crystal Reports dapat digunakan untuk membuat grafik. Berikut pilihan beberapa model
grafik seperti pada gambar 6.5 :
Gambar 6.5 Grafik Type Crystal Report
94
6.7 Membuat Laporan pada Visual BASIC 2015
LATIHAN 6.2 Form Laporan Mahasiswa
Pada latihan sebelumnya Anda telah membuat database mahasiswa menggunakan
Microsoft Office Acces, untuk menampilkan serta mensortir beberapa data dibutuhkan kode
Visual BASIC, selanjutnya kontrol crystal report viewer digunakan untuk menampilkan data
dari crystal report ke Visual BASIC :
1. Buatlah Project baru Visual BASIC
2. Desain Form Laporan Mahasiswa seperti pada gambar 6.5 dibawah ini :
Gambar 6.5 Latihan Form Laporan Mahasiswa
Gantilah properti masing-masing komponen seperti tertera dibawah ini :
Tabel 6.3 Pengaturan Properties Form Laporan Mahasiswa
Object Properties Value
Form1 Text Laporan
Form1 Window State Maximized
CrystalReportViewer1 Name CRV
CrystalReportViewer1 Choose a Tool Panel None
View
Form Laporan diatas dengan menggunakan kontrol crystal report viewer berguna sebagai
form untuk menampilkan data dari crystal report.
3. Selanjutnya tambahkan buat 1 (satu) buah form seperti pada gambar 6.6 dibawah ini :
95
Gambar 6.5 Latihan Form Laporan Mahasiswa
Gantilah properti masing-masing komponen seperti tertera dibawah ini :
Tabel 6.3 Pengaturan Properties Form Laporan Mahasiswa
Object Properties Value
Form2 Text Laporan
Mahasiswa
Label1 Text Laporan
Mahasiswa
Menurut Tahun
Masuk
Label2 Text Laporan
Mahasiswa
Menurut NPM
ComboBox1 - -
ComboBox2 - -
Button1 Text Tampil
Button2 Text Tampil
Button3 Text Rekap Mahasiswa
4. Tambahkan module dan masukkan kode berikut ini :
Imports System.Data.OleDb
Module Module1
Public Conn As OleDbConnection
Public da As OleDbDataAdapter
Public ds As DataSet
Public cmd As OleDbCommand
Public rd As OleDbDataReader
Public str As String
96
Public Sub Koneksi()
str = "Provider=Microsoft.ACE.OLEDB.12.0;data source=Database_Mahasiswa.accdb"
Conn = New OleDbConnection(str)
If Conn.State = ConnectionState.Closed Then
Conn.Open()
End If
End Sub
End Module
Masukkan kode pada objek form1 prosedur load berikut ini:
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Call Koneksi()
End Sub
Masukkan kode pada objek form1 prosedur load berikut ini:
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Call Koneksi()
CMD = New OleDbCommand("select distinct Tahun_Masuk from mahasiswa", CONN)
RD = CMD.ExecuteReader
Do While RD.Read
ComboBox1.Items.Add(RD.Item(0))
Loop
CMD = New OleDbCommand("select distinct NPM from mahasiswa", CONN)
RD = CMD.ExecuteReader
Do While RD.Read
ComboBox2.Items.Add(RD.Item(0))
Loop
End Sub
Masukkan kode pada botton1 berikut ini:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If ComboBox1.Text = "" Then
MsgBox("Pilih tahun masuk terlebih dahulu")
Else
Form1.Show()
Form1.CRV.ReportSource = Nothing
Form1.CRV.RefreshReport()
Form1.CRV.SelectionFormula = "{mahasiswa.Tahun_Masuk}='" & ComboBox1.Text
& "'"
Form1.CRV.ReportSource = "laporan.rpt"
97
End If
End Sub
Masukkan kode pada botton2 berikut ini:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
If ComboBox2.Text = "" Then
MsgBox("Pilih NPM masuk terlebih dahulu")
Else
Form1.Show()
Form1.CRV.ReportSource = Nothing
Form1.CRV.RefreshReport()
Form1.CRV.SelectionFormula = "{mahasiswa.NPM}='" & ComboBox2.Text & "'"
Form1.CRV.ReportSource = "laporan.rpt"
End If
End Sub
Masukkan kode pada botton3 berikut ini:
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Form1.Show()
Form1.CRV.ReportSource = Nothing
Form1.CRV.RefreshReport()
Form1.CRV.ReportSource = "laporan.rpt"
End Sub
Hasil dari kode program diatas, dapat dilihat pada gambar 6.6 berikut ini :
Gambar 6.6 Hasil Form Latihan Form Laporan Mahasiswa
Gambar 6.7 Hasil Form Latihan Laporan Tahun Masuk
98
Gambar 6.8 Hasil Form Latihan Laporan NPM
Gambar 6.9 Hasil Form Latihan Laporan Rekap Mahasiswa
6.8 Rangkuman
1. Laporan digunakan sebagai sarana untuk menampilkan hasil pengolahan data, baik
tampilan di layar maupun di kertas melalui printer.
2. Microsoft Report Viewer ialah suatu report definition standar dari Microsoft dalam hal
pembuatan aplikasi report (laporan) yang ditulis dengan Visual Studio.
3. Crystal Report adalah standar bantuan membuat report untuk Visual Studio .NET
digunakan untuk menampilkan data.
4. Membuat laporan di Crystal Report membutuhkan koding yang kecil tanpa mendesain
tampilan. Selain itu juga tersedia fitur untuk integrasi dengan Microsoft Visual Studio
.NET, Borland Delphi, and C#.
5. Crystal Reports adalah aplikasi bisnis yang digunakan untuk merancang dan
menghasilkan laporan dari berbagai sumber data (Native, ODBC, OLE DB, dan
konektivitas JDBC untuk relasional, OLAP, jasa web, XML, legacy dan enterprises data
source). Laporan-laporan ini memungkinkan anda menampilkan informasi yang
diinginkan sehingga menghasilkan serta dapat menganalisis dan menafsirkan informasi
penting tanpa harus menyaring seluruh databasenya.
6.9 Tugas/ Soal Latihan
1. Buatlah Laporan untuk mencetak kartu mahasiswa
2. Sebutkan dan jelaskan contoh penggunaan pada setiap bagian Section 1, Section 2, Section
3, Section 4, Section 5!
3. Buatlah laporan grafik untuk menghasilkan jumlah mahasiswa per tahun!
99
4. Buatlah laporan untuk menghasilkan detail mahasiswa
6.10 Daftar Bacaan
1 Allen G. Taylor. 2004. Crystal Report 10 For Dummies. Indiana: Wiley Publising.
2 Foxall, James. 2015. Visual Basic 2015 in 24 Hours. Indiana: Sams Teach.
3 Mahmoud Elkoush. 2013. Reporting with Visual Studio and Crystal Reports.
Birmingham: Packt Publishing Ltd.
4 Michael Alexander, Dick Kusleika. 2016. Access® 2016 Bible. Indiana: John Wiley &
Sons, Inc.
5 Newsome, Bryan. 2016. Beginning Visual Basic 2015. Indiana: John Wiley & Sons, Inc.
BAB VII
MEMBUAT APLIKASI KASIR SEDERHANA
Ringkasan
Aplikasi kasir yang akan dibahas sangat sederhana, dan dapat dikembangkan ke sistem
penjualan yang lebih lengkap. Fokus utama sistem ini untuk mendata pelanggan, barang,
pemasok dan proses transaksi penjualan.
7.1 Relasional Database Aplikasi Kasir
Sebelum membuat model objek, terlebih dahul menyiapkan spesifikasi kebutuhan, tetapi
pada sistem aplikasi kasir sederhana, penulis membuat membuat model objek. Tujuan utama
diagram objek untuk mendapatkan susunan tabel. Digram objek sistem aplikasi kasir seperti
diperlihatkan pada gambar 7.1 berikut ini.
Gambar 7.1 Relasional Database Aplikasi Kasir
7.2 Struktur File Sistem Aplikasi Kasir
Pada awalnya dari model objek mendesain database menggunakan tekhnik normalisasi,
karena model objek baru mencapai 2NF (second normal form). Tabel sistem aplikasi kasir
telah mencapai 3NF yang termasuk dalam kategori baik. Jika desain database model objek
sistem aplikasi kasir memakai normalisasi, harus mencapai 3NF dan BCNF. Dalam
implementasi struktur file sistem aplikasi kasir menggunakan database Microsoft Office
100
101
Acces dengan ekstensi (nama file) .mdb. Struktur file sistem aplikasi kasir seperti pada tabel
7.1, 7.2, 7.3, 7.4, 7.5 , 7.6, 7.7, 7.8 dan 7.9 berikut ini.
Tabel 7.1 Struktur Data Barang
Field Name Data Type Field Size
KodeBrg Short Text 3
NamaBrg Short Text 25
Satuan Short Text 20
JumlahBrg Number Integer
StokMinimal Number Integer
Harga Number Long Integer
Tabel 7.2 Struktur Data Pelanggan
Field Name Data Type Field Size
KodePlg Short Text 3
NamaPlg Short Text 25
AlamatPlg Short Text 30
TeleponPlg Short Text 15
JK Short Text 10
EmailPlg Short Text 20
Tabel 7.3 Struktur Data Pemasok
Field Name Data Type Field Size
KodePms Short Text 3
NamaPms Short Text 25
AlamatPms Short Text 30
TeleponPms Short Text 15
PersonPms Short Text 20
EmailPms Short Text 20
Tabel 7.4 Struktur Data Pemakai
Field Name Data Type Field Size
KodePmk Short Text 3
NamaPmk Short Text 25
PassPmk Short Text 20
102
StatusPmk Short Text 10
Tabel 7.5 Struktur Data Penerimaan Barang
Field Name
NomorTrm Data Type Field Size
TanggalTrm
KodePms Short Text 10
NomorBon
TotalTrm Short Text 25
KodePmk
Short Text 20
Short Text 15
Number Integer
Short Text 3
Tabel 7.6 Struktur Data Detail Terima
Field Name Data Type Field Size
NomorTrm Short Text 10
KodeBrg Short Text 25
StokAwal Number Integer
QtyTrm Number Integer
StokAkhir Number Integer
Tabel 7.7 Struktur Data TMPTerima
Field Name Data Type Field Size
Kode Short Text 3
Nama Short Text 25
StokAwal Number Integer
Diterima Number Integer
Tabel 7.8 Struktur Data Penjualan
Field Name Data Type Field Size
Faktur Short Text 3
Tanggal Date/Time Short Date
Item Number Integer
Total Number Long Integer
Dibayar Number Long Integer
103
Kembali Number Long Integer
KodePmk Short Text 5
KodePlg Short Text 3
Tabel 7.9 Struktur Data DetailJual
Field Name Data Type Field Size
Faktur Short Text 3
KodeBrg Short Text 13
Nama_Barang Short Text 30
Harga_Jual Number Long Integer
Jumlah Number Integer
Subtotal Number Long Integer
7.3 Membuat Koneksi Database
Untuk membuat koneksi ikuti langkah berikut ini :
1. Klik menu Project dan pilih Add Module
2. Masukkan kode berikut pada module1
Imports System.Data.OleDb
Module Module1
Public CONN As OleDbConnection
Public DA As OleDbDataAdapter
Public DS As DataSet
Public CMD As OleDbCommand
Public RD As OleDbDataReader
Public Sub Koneksi()
CONN = New OleDbConnection("provider=microsoft.jet.oledb.4.0;data
source=DATABASE.mdb")
CONN.Open()
End Sub
End Module
7.4 Membuat Form Barang
Untuk membuat form barang ikuti langkah berikut ini :
1. Desain Form Barang seperti pada gambar 7.2 dibawah ini :
104
Gambar 7.2 Form Barang
2. Gantilah properti masing-masing komponen seperti tertera dibawah ini :
Tabel 7.8 Pengaturan Properties Form Barang
Object Properties Value
Form1 Text Form : Barang
Form1 Name Barang
Form1 Start Position CenterScreen
Label1 Text Kode Barang
Label2 Text Nama
Label3 Text Satuan
Label4 Text Jumlah
Label5 Text Harga
Botton1 Text &Simpan
Botton2 Text &Hapus
Botton3 Text &Batal
Botton4 Text &Tutup
DataGridView1 Name DGV
3. Masukkan kode berikut diatas Public Class Barang bertujuan untuk memanggil driver
dengan koneksi oleDB
Imports System.Data.OleDb
4. Dengan membuat prosedur kosongkan yang berfungsi untuk menghilangkan teks pada
textbox, Masukkan kode berikut ini :
105
Sub Kosongkan()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
ComboBox1.Text = ""
TextBox1.Focus()
End Sub
5. Tambahkan kembali prosedur DataBaru dengan kode sebagai berikut :
Sub DataBaru()
textbox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
combobox1.Text = ""
combobox1.Focus()
End Sub
6. Pada prosedur Tampilkan berfungsi untuk mengambil data dari tabel barang dengan kode
sebagai berikut :
Sub Tampilkan()
da = New OleDbDataAdapter("Select * from barang", Conn)
ds = New DataSet
ds.Clear()
da.Fill(ds, "Barang")
DGV.DataSource = (ds.Tables("Barang"))
DGV.ReadOnly = True
End Sub
7. Pada nilai combobo1 untuk mengambil data dari tabel barang field satuan masukkan kode
sebagai berikut ini :
Sub TampilSatuan()
combobox1.Items.Clear()
cmd = New OleDbCommand("select distinct satuan from Barang",
Conn)
rd = cmd.ExecuteReader
While rd.Read
combobox1.Items.Add(rd.GetString(0))
End While
End Sub
8. Masukkan kode berikut ini pada objek form1 prosedur load sebagai berikut :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
106
Call Koneksi()
Call Tampilkan()
Call TampilSatuan()
End Sub
9. Masukkan kode berikut ini pada objek Textboxt1 prosedur KeyPress :
Private Sub textbox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles textbox1.KeyPress
If e.KeyChar = Chr(13) Then
Try
CMD = New OleDbCommand("select * from barang where
KodeBrg='" & TextBox1.Text & "'", CONN)
rd = cmd.ExecuteReader
rd.Read()
If rd.HasRows = True Then
TextBox2.Text = RD.GetString(1)
ComboBox1.Text = RD.GetString(2)
TextBox3.Text = RD.GetValue(3)
TextBox4.Text = RD.GetValue(4)
textbox2.Focus()
Else
Call DataBaru()
textbox2.Focus()
End If
Catch ex As Exception
End Try
End If
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar =
vbBack) Then e.Handled() = True
End Sub
Kode diatas berfungsi ketika nilai yang sama dimasukkan pada textbox1 maka akan
dimunculkan data yang sebelumnya telah terinput.
10. Masukkan kode pada objek textbox2 prosedur KeyPress sebagai berikut :
Private Sub textbox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles textbox2.KeyPress
If e.KeyChar = Chr(13) Then ComboBox1.Focus()
End Sub
11. Masukkan kode pada objek combobox1 prosedur KeyPress sebagai berikut :
Private Sub combobox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress
107
If e.KeyChar = Chr(13) Then TextBox3.Focus()
End Sub
12. Masukkan kode pada objek textbox3 prosedur KeyPress sebagai berikut :
Private Sub textbox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If e.KeyChar = Chr(13) Then Button1.Focus()
End Sub
Pada kode objek textbox2, combobox1 dan textbox3 prosedur KeyPress berfungsi jika
nilai telah diisi pada textbox2 maka kursor akan dilanjutkan pada combobox1 dan seterusnya
pada button1.
13. Masukkan kode pada button1 yang berfungsi untuk menyimpan data barang ke tabel
barang
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Or ComboBox1.Text = "" Or
TextBox3.Text = "" Then
MsgBox("Data Belum Lengkap")
Exit Sub
Else
CMD = New OleDbCommand("Select * from barang where KodeBrg='" &
TextBox1.Text & "'", CONN)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then
Dim sqltambah As String = "Insert into
barang(KodeBrg,NamaBrg,Satuan,JumlahBrg,Harga) values " & _
"('" & TextBox1.Text & "','" & TextBox2.Text & "','" &
ComboBox1.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "')"
CMD = New OleDbCommand(sqltambah, CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
Else
Dim sqledit As String = "Update barang set " & _
"NamaBrg='" & TextBox2.Text & "', " & _
"Satuan='" & ComboBox1.Text & "', " & _
"JumlahBrg='" & TextBox3.Text & "' " & _
"Harga='" & TextBox4.Text & "' " & _
108
"where KodeBrg='" & TextBox1.Text & "'"
CMD = New OleDbCommand(sqledit, CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
End If
End If
End Sub
14. Masukkan kode pada button2 berfungsi untuk menghapus data barang
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
If TextBox1.Text = "" Then
MsgBox("Isi kode barang terlebih dahulu")
TextBox1.Focus()
Exit Sub
Else
If MessageBox.Show("Yakin akan dihapus..?", "",
MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
CMD = New OleDbCommand("Delete * from barang where
KodeBrg='" & TextBox1.Text & "'", CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
Else
Call Kosongkan()
End If
End If
End Sub
15. Masukkan kode pada button3 berfungsi untuk menghilangkan nilai pada textbox dan
combobox
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Call Kosongkan()
End Sub
16. Masukkan kode pada button4 untuk menutup form barang
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
Me.Close()
End Sub
17. Hasil dari kode program diatas, dapat dilihat pada gambar 7.3 berikut ini :
109
Gambar 7.3 Hasil Form Barang
7.5 Membuat Form Pelanggan
Untuk membuat form pelanggan ikuti langkah berikut ini :
1. Desain Form Pelanggan seperti pada gambar 7.4 dibawah ini :
Gambar 74 Form Pelanggan
2. Gantilah properti masing-masing komponen seperti tertera dibawah ini :
Tabel 7.9 Pengaturan Properties Form Pelanggan
Object Properties Value
Form1 Text Form : Pelanggan
Form1 Name Pelanggan
Form1 Start Position CenterScreen
Label1 Text Kode
110
Label2 Text Alamat
Label3 Text Telepon
Label4 Text Email
Label5 Text Jenis Kelamin
Botton1 Text &Simpan
Botton2 Text &Hapus
Botton3 Text &Batal
Botton4 Text &Tutup
DataGridView1 Name DGV
3. Masukkan kode berikut diatas Public Class Pelanggan bertujuan untuk memanggil
driver dengan koneksi oleDB
Imports System.Data.OleDb
4. Dengan membuat prosedur kosongkan yang berfungsi untuk menghilangkan nilai pada
textbox, Masukkan kode berikut ini :
Sub Kosongkan()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
ComboBox1.Text = ""
TextBox1.Focus()
End Sub
5. Tambahkan kembali prosedur DataBaru dengan kode sebagai berikut :
Sub DataBaru()
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
ComboBox1.Text = ""
ComboBox1.Focus()
End Sub
6. Pada prosedur Tampilkan berfungsi untuk mengambil data dari tabel Pelanggan dengan
kode sebagai berikut :
Sub Tampilkan()
DA = New OleDbDataAdapter("Select * from Pelanggan", CONN)
111
DS = New DataSet
DS.Clear()
DA.Fill(DS, "Pelanggan")
DGV.DataSource = (DS.Tables("Pelanggan"))
DGV.ReadOnly = True
End Sub
7. Masukkan kode berikut ini pada objek form atau pelanggan prosedur load sebagai berikut
:
Private Sub Pelaggan_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Call Koneksi()
Call Tampilkan()
End Sub
8. Masukkan kode berikut ini pada objek Textboxt1 prosedur KeyPress :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
TextBox1.MaxLength = 3
If e.KeyChar = Chr(13) Then
Try
CMD = New OleDbCommand("select * from Pelanggan where
KodePlg='" & TextBox1.Text & "'", CONN)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = True Then
TextBox2.Text = RD.GetString(1)
TextBox3.Text = RD.GetValue(2)
TextBox4.Text = RD.GetValue(3)
TextBox5.Text = RD.GetValue(4)
ComboBox1.Text = RD.GetString(5)
TextBox2.Focus()
Else
Call DataBaru()
TextBox2.Focus()
End If
Catch ex As Exception
End Try
End If
End Sub
112
Kode diatas berfungsi ketika nilai yang sama dimasukkan pada textbox1 maka akan
dimunculkan data pelanggan yang sebelumnya telah terinput.
9. Masukkan kode pada objek textbox2 prosedur KeyPress sebagai berikut :
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If e.KeyChar = Chr(13) Then TextBox3.Focus()
End Sub
10. Masukkan kode pada objek textbox3 prosedur KeyPress sebagai berikut :
Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If e.KeyChar = Chr(13) Then TextBox4.Focus()
End Sub
11. Masukkan kode pada objek textbox4 prosedur KeyPress sebagai berikut
Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
If e.KeyChar = Chr(13) Then TextBox5.Focus()
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar =
vbBack) Then e.Handled() = True
End Sub
12. Masukkan kode pada objek textbox5 prosedur KeyPress sebagai berikut
Private Sub TextBox5_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox5.KeyPress
If e.KeyChar = Chr(13) Then ComboBox1.Focus()
End Sub
13. Masukkan kode pada objek combobox1 prosedur KeyPress sebagai berikut
Private Sub combobox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs)
If e.KeyChar = Chr(13) Then Button1.Focus()
End Sub
Pada kode objek textbox2, textbox3, textbox4, textbox5 dan combobox1 prosedur
KeyPress berfungsi jika nilai telah diisi pada textbox2 maka kursor akan dilanjutkan pada
combobox1 dan seterusnya pada button1.
14. Masukkan kode pada button1 yang berfungsi untuk menyimpan data pelanggan ke tabel
pelanggan
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
113
If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = ""
Or TextBox4.Text = "" Or TextBox5.Text = "" Or ComboBox1.Text = "" Then
MsgBox("Data Belum Lengkap")
Exit Sub
Else
CMD = New OleDbCommand("Select * from Pelanggan where
KodePlg='" & TextBox1.Text & "'", CONN)
RD = CMD.ExecuteReader
RD.Read()
If Not RD.HasRows Then
Dim sqltambah As String = "Insert into
Pelanggan(KodePlg,NamaPlg,AlamatPlg,TeleponPlg,EmailPlg,JK) values " & _
"('" & TextBox1.Text & "','" & TextBox2.Text & "','" &
TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" &
ComboBox1.Text & "')"
CMD = New OleDbCommand(sqltambah, CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
Else
Dim sqledit As String = "Update Pelanggan set " & _
"NamaPlg='" & TextBox2.Text & "', " & _
"AlamatPlg='" & TextBox3.Text & "', " & _
"TeleponPlg='" & TextBox4.Text & "', " & _
"EmailPlg='" & TextBox5.Text & "', " & _
"JK='" & ComboBox1.Text & "' " & _
"where KodePlg='" & TextBox1.Text & "'"
CMD = New OleDbCommand(sqledit, CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
End If
End If
End Sub
15. Masukkan kode pada button2 berfungsi untuk menghapus data pelanggan
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
If TextBox1.Text = "" Then
MsgBox("Isi kode Pelanggan terlebih dahulu")
114
TextBox1.Focus()
Exit Sub
Else
If MessageBox.Show("Yakin akan dihapus..?", "",
MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
CMD = New OleDbCommand("Delete * from Pelanggan where
KodePlg='" & TextBox1.Text & "'", CONN)
CMD.ExecuteNonQuery()
Call Kosongkan()
Call Tampilkan()
Else
Call Kosongkan()
End If
End If
End Sub
16. Masukkan kode pada button3 berfungsi untuk menghilangkan nilai pada textbox dan
combobox
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Call Kosongkan()
End Sub
17. Masukkan kode pada button4 untuk menutup form pelanggan
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
Me.Close()
End Sub
18. Hasil dari kode program diatas, dapat dilihat pada gambar 7.5 berikut ini :
Gambar 7.5 Hasil Form Pelanggan
115
7.6 Membuat Form Pemasok
Untuk membuat form pemasok ikuti langkah berikut ini :
1. Desain Form Pemasok seperti pada gambar 7.6 dibawah ini :
Gambar 7.6 Form Pemasok
2. Gantilah properti masing-masing komponen seperti tertera dibawah ini :
Tabel 7.10 Pengaturan Properties Form Pemasok
Object Properties Value
Form1 Text Form : Pemasok
Form1 Name Pemasok
Form1 Start Position CenterScreen
Label1 Text Kode
Label2 Text Alamat
Label3 Text Telepon
Label4 Text Email
Label5 Text Person
Botton1 Text &Simpan
Botton2 Text &Hapus
Botton3 Text &Batal
Botton4 Text &Tutup
DataGridView1 Name DGV
3. Masukkan kode berikut diatas Public Class Pemasok bertujuan untuk memanggil
driver dengan koneksi oleDB
Imports System.Data.OleDb
116
4. Dengan membuat prosedur kosongkan yang berfungsi untuk menghilangkan nilai pada
textbox, Masukkan kode berikut ini :
Sub Kosongkan()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox1.focus()
End Sub
5. Tambahkan kembali prosedur DataBaru dengan kode sebagai berikut :
Sub DataBaru()
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox6.focus()
End Sub
6. Pada prosedur Tampilkan berfungsi untuk mengambil data dari tabel pemasok dengan
kode sebagai berikut :
Sub Tampilkan()
DA = New OleDbDataAdapter("Select * from Pemasok", CONN)
DS = New DataSet
DS.Clear()
DA.Fill(DS, "Pemasok")
DGV.DataSource = (DS.Tables("Pemasok"))
DGV.ReadOnly = True
End Sub
7. Masukkan kode berikut ini pada objek form atau pemasok prosedur load sebagai berikut :
Private Sub Pemasok_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Call Koneksi()
Call Tampilkan()
End Sub
8. Masukkan kode berikut ini pada objek Textboxt1 prosedur KeyPress :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
TextBox1.MaxLength = 3
117
If e.KeyChar = Chr(13) Then
Try
CMD = New OleDbCommand("select * from Pemasok where
KodePms='" & TextBox1.Text & "'", CONN)
RD = CMD.ExecuteReader
RD.Read()
If RD.HasRows = True Then
TextBox2.Text = RD.GetString(1)
TextBox3.Text = RD.GetValue(2)
TextBox4.Text = RD.GetValue(3)
TextBox5.Text = RD.GetValue(4)
TextBox6.Text = RD.GetString(5)
TextBox2.Focus()
Else
Call DataBaru()
TextBox2.Focus()
End If
Catch ex As Exception
End Try
End If
End Sub
Kode diatas berfungsi ketika nilai yang sama dimasukkan pada textbox1 maka akan
dimunculkan data pemasok yang sebelumnya telah terinput.
9. Masukkan kode pada objek textbox2 prosedur KeyPress sebagai berikut :
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If e.KeyChar = Chr(13) Then TextBox3.Focus()
End Sub
10. Masukkan kode pada objek textbox3 prosedur KeyPress sebagai berikut :
Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If e.KeyChar = Chr(13) Then TextBox4.Focus()
End Sub
11. Masukkan kode pada objek textbox4 prosedur KeyPress sebagai berikut
Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
If e.KeyChar = Chr(13) Then TextBox5.Focus()