The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by permadhi, 2020-03-13 23:12:12

Visual Basic Net 2015

Visual Basic Net 2015

Keywords: visual,basic,net,2015

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


Click to View FlipBook Version