jiannya akan sangat ringkas.
II. DESIGN & CODING
Gambar Design Form Stopwatch
Buatlah sebuah form seperti pada gambar diatas dengan 3 buah button, 1 buah label, dan
1 buah Timer. Lalu susunlah komponen-komponen ini seperti gambar diatas.
Untuk komponen timer nya ubah Properties Interval nya menjadi “100”.
Sekarang buka jendela Code untuk form, lalu ketikkan sintaks di bawah, seperti pada
gambar.
Dim Mili, Sec, Min, hr As Integer
Dim Countr As Integer
_____________________.Net – Step XI
Junindar
Lalu double click Form dan ketikkan sintaks di bawah
Double click button Start
Double click button Stop
Double click button Reset
Dan terakhir double click komponen Timer dan ketikkan sintaks berikut..
Mili = 0
Sec = 0
Min = 0
hr = 0
Timer1.Enabled = True
Timer1.Enabled = False
Dim mYes_No As String = MsgBox("Do you want Reset the Timer ?", vbYesNo)
If mYes_No = vbYes Then
Mili = 0
Sec = 0
Min = 0
hr = 0
lblTime.Text = ""
Timer1.Enabled = False
End If
Dim Mili2, Sec2, Min2, hr2 As String
Countr = Countr + 1
Mili2 = Countr
If Countr = 10 Then
Sec = Sec + 1
Countr = 0
End If
If Sec = 60 Then
Min = Min + 1
Sec = 0
End If
If Min = 60 Then
hr = hr + 1
Min = 0
End If
Sec2 = Format(Val(Sec), "00")
Min2 = Format(Val(Min), "00")
hr2 = Format(Val(hr), "00")
blTime.Text = hr2 & ":" & Min2 & ":" & Sec2 & ":" & Mili2
_____________________.Net – Step XI
Junindar
Lalu jalankan program, dan coba uji seluruh button yang ada, apakah berjalan seperti
Stopwatch pada umumnya……
PENUTUP
Seperti yang penulis katakan sebelumnya kita selalu lupa akan hal yang mudah-mudah,
seperti hal nya membuat program ini.. mungkin banyak diantara pembaca yang tidak
menyangkan begitu simple nya cara membuat program Stopwatch ini..
Mudah-mudah artikel ini bermanfaat dan dapat di kembangkan lebih baik lagi.
Semoga Artikel-artikel tentang VB.Net ini masih tetap saya tulis, seiring dengan
berkembangnya ilmu yang saya miliki. Aminnnnnnnnnnnnnnnn
_____________________.Net – Step XII
Junindar
STEP BY STEP MENJADI
PROGRAMMER HANDAL
DENGAN VB.NET
Junindar
Blog : http://junindar.blog.com
E-Mail : xx_lead@yahoo.com
junindar@gmail.com
STEP XII
Mengganti Warna Form Secara Permanen
(Color Setting)
I. Pengantar
Untuk seorang programmer salah satu hal yang harus di perhatikan yaitu dengan
memanjakan para pengguna program. Hal itu bisa di lakukan dengan membuat
program yang mudah di gunakan, memberikan keleluasan user dalam memakai
program. Dalam memberikan keleluasan bisa dengan menyediakan suatu fungsi
Lisensi Dokumen:
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat
tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang
disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,
kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
_____________________.Net – Step XII
Junindar
untuk para pengguna dalam hal melakukan penyetingan program seperti warna,
tulisan dan jika memungkinkan dalam hal bahasa.
Jika hal itu dapat dilakukan maka seorang programmer dapat dikatakan sebagai
programmer yang tidak dictator. sebab biasanya dalam hal pemilihan warna atau
tulisan untuk program tidak jarang seorang programmer hanya mengikuti apa yang
di sukainya saja. Oleh sebab itu dalam era reformasi yang demokratis ini penulis
membuat artikel bagaimana kita (programmer) dapat membuat fungsi untuk
mensetting warna sesuai dengan apa yang di sukai oleh pengguna.
II. DESIGN & CODING
Gambar Design Form
Buatlah sebuah form seperti pada gambar diatas dengan 2 buah button, 1 buah
ColorDialog. Ubah Properties Name dari ColorDilaog1 Menjadi dlgWarna. Lalu
susunlah komponen-komponen ini seperti gambar diatas.
Untuk pertama kalu buat module pada project kita, seperti gambar dibawah ini. Ubah
nama Module menjadi Module.vb
_____________________.Net – Step XII
Junindar
Gambar Cara Membuat Module
Gambar Add New Item
_____________________.Net – Step XII
Junindar
Pada jendela module ketikkan sintaks seperti dibawah ini.
Sintaks diatas untuk mengambil alamat dari folder dimana file exe disimpan, jadi
AppPath ini bersifat Fleksibel.
Klik ganda pada Form1.
Note : Tulisan berwarna hijau merupakan comment untuk menjelaskan maksud dari
code.
Module _Module
Public AppPath As String =
Replace(Replace(Replace(Application.ExecutablePath, Application.ProductName
+ ".EXE", ""), Application.ProductName + ".exe", ""),
Application.ProductName + ".exe", "")
End Module
Try
'jika file setting tidak ada folder Bin,
'maka kita akan membuat file ini dengan nama "Setting"
'Proses ini untuk pertama kali program dijalankan
If System.IO.File.Exists(AppPath & ("Setting.txt")) = False Then
'mendeklarasikan file Setting yang akan di buat lalu di tulis
'AppPath yaitu Nama alamat dimana file exe disimpan
Dim sw As New System.IO.StreamWriter(AppPath & ("Setting.txt"))
'Mesetting warna untuk pertama kali di jalankan yaitu warna Default Form (Control)
Dim c As System.Drawing.Color = System.Drawing.ColorTranslator.FromHtml("Control")
'mengconvert warna menjadi bilangan Hexa,lalu di tulis pada file setting
sw.WriteLine("#" & Hex(c.ToArgb))
sw.Close() ' Menutup file yang dibuka
Else 'jika File setting sudah ada
Dim color As String
'mendklarasikan file Setting yang akan di baca
'AppPath yaitu Nama alamat dimana file exe disimpan
Dim sr As New System.IO.StreamReader(AppPath & ("Setting.txt"))
'Mengambil text dari file Setting
color = sr.ReadLine()
'Menutup File
sr.Close()
'Mesetting warna dari file Setting
Dim color2 As System.Drawing.Color = System.Drawing.ColorTranslator.FromHtml(color)
'Mengubah Warna untuk Background form sesuai dengan file Setting
Me.BackColor = color2
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
_____________________.Net – Step XII
Junindar
Klik ganda button Show Color, dan ketik sintaks seperti dibawah
Klik ganda button Restore Color, dan ketik sintaks seperti dibawah
sesudah langkah-langkah diatas sudah dilakukan dengan benar, maka jalankan program
dengan menekan tombol F5.
Try
'Menampilkan Dialog warna..
'Jika menekan tombol Ok pada Dialog Warna
If dlgWarna.ShowDialog() = System.Windows.Forms. _
DialogResult.OK Then
'Background Form sama dengan warna yang di pilih pada dialog warna
Me.BackColor = dlgWarna.Color
'mendeklarasikan file Setting2 yang akan di tulis (file ini hanya temporary saja)
'AppPath yaitu Nama alamat dimana file exe disimpan
Dim sw As New System.IO.StreamWriter(AppPath & ("Setting2.txt"))
'mengconvert warna menjadi bilangan Hexa,lalu di tulis pada file Setting2
Dim a As String = Hex(dlgWarna.Color.ToArgb)
'Memotong 2 digit pertama dari hasil convert
a = a.Substring(2)
'Menuliskan hasil convert ke dalam file Setting2
sw.WriteLine("#" & a)
sw.Close() 'Menutup file
System.IO.File.Delete(AppPath & ("Setting.txt"))
'Mengganti nama File Setting2 menjadi Setting
System.IO.File.Move(AppPath & ("Setting2.txt"), AppPath & ("Setting.txt"))
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Try
'mendeklarasikan file Setting2 yang akan di tulis (file ini hanya temporary saja)
'AppPath yaitu Nama alamat dimana file exe disimpan
Dim sw As New System.IO.StreamWriter(AppPath & ("Setting2.txt"))
'Mesetting warna untuk pertama kali di jalankan yaitu warna Default Form (Control)
Dim color2 As System.Drawing.Color = System.Drawing.ColorTranslator.FromHtml("Control")
'Mengubah Warna untuk Background menjadi default
Me.BackColor = color2
'mengconvert warna menjadi bilangan Hexa,lalu di tulis pada file Setting2
sw.WriteLine("#" & Hex(color2.ToArgb))
sw.Close() 'menutup file Setting2
System.IO.File.Delete(AppPath & ("Setting.txt")) 'Menghapus File Setting dari Drive
'Mengganti nama File Setting2 menjadi Setting
System.IO.File.Move(AppPath & ("Setting2.txt"), AppPath & ("Setting.txt"))
Catch ex As Exception
MsgBox(ex.Message)
End Try
_____________________.Net – Step XII
Junindar
Lalu akan muncul form seperti dibawah ini.
Gambar Form sesudah dijalankan
Lalu tekan tombol show color, maka dialog color akan tampil seperti gambar dibawah
ini.
Gambar Dialog Warna
Pilih warna yang di sukai, lalau tekan tombol OK. Maka form tadi akan berubah warna
seperti yang kita pilih.
_____________________.Net – Step XII
Junindar
Gambar Form sesudah dilakukan perubahan warna
Lalu coba matikan aplikasi dan hidupkan lembali, maka warna form masih seperti
dengan warna yang terakhir kali kita pilih.
Untuk mengembalikan warna seperti semula (default) tekan tombol Restore Color.
PENUTUP
Ini merupakan salah satu cara dalam hal mengubah warna secara permanent. Mungkin
masih banyak lagi cara yang lain seperti menyimpan text ke dalam Registry dan lain-lain.
Mudah-mudah artikel ini bermanfaat dan dapat di kembangkan lebih baik lagi.
Semoga Artikel-artikel tentang VB.Net ini masih tetap saya tulis, seiring dengan
berkembangnya ilmu yang saya miliki. Aminnnnnnnnnnnnnnnn
_____________________.Net XIII
Junindar
STEP BY STEP MENJADI
PROGRAMMER HANDAL
DENGAN VB.NET
Junindar
Blog : http://junindar.blog.com
E-Mail : xx_lead@yahoo.com
junindar@gmail.com
STEP XIII
Membuat Aplikasi Database dengan
memakai Vb.Net 2003
dan SQL Server 2000
Lisensi Dokumen:
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat
tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang
disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,
kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
_____________________.Net XIII
Junindar
I. Pengantar
Artikel ini saya buat, sebab sangat banyak sekali Email yang masuk ke saya untuk
membuat artikel Vb.Net dengan Sql Server sebagai database nya.
sesudah sekian lama akhir nya pada artikel saya yang ke 13 ini baru dapat saya
realisasikan. Untuk studi kasus pada artikel ini saya ambil dari artikel pertama saya
(Step 1). Oleh sebab itu tata cara penulisan dan penyampaian sangat mirip dengan
step 1.
Dalam artikel ini para pembaca akan, di bimbing bagaimana membuat program
aplikasi sederhana dari mulai membuat Database, Table, Stored procedure pada Sql
Server 2000 sampai pada pemogramannya dengan Vb.net 2003.
II. A TIME TO MAKE PROGRAM
2.1 Desain Form
Gambar Flash Form
Gambar Form Login
_____________________.Net XIII
Junindar
Untuk membuat program seperti diatas, mari ikuti langkah-langkah dibawah ini.
Sebelum kita masuk dalam pembuatan program, terlebih dahulu kita buat database
pada Sql Server. Buatlah database dengan nama Coba. Ikuti langkah-langkah dibawah
ini. Pada jendela SQL Server Enterprise Manager, klik kanan pada folder Database
lalu pilih New Database.
Lalu akan muncul jendela Database properties. Ketikkan Coba untuk nama database
yang akan kita buat. Dan klik button OK.
_____________________.Net XIII
Junindar
sesudah itu di bawah folder Database, akan terlihat database yang baru saja kita buat
(Coba). Klik tanda + pada database coba, dan klik kanan pada root Table dan pilih
New Table.
Gambar Desain Table Users
Buatlah field seperti gambar diatas, untuk membuat Primary Key, klik row Username
lalu klik tanda kunci pada toolbar diatas. sesudah selesai klik Save untuk menyimpan
design table dengan nama “Users”. sesudah selesai buat satu lagi table dengan nama
_____________________.Net XIII
Junindar
TbUsaha, dengan nama field IdUsaha dan NamaUsaha (IdUsaha sebagai Primary
Key nya).
Gambar Desain Table TbUsaha
sesudah selesai dalam pembuatan database, sekarang kita masuk dalam pembuatan
program.
Buka Aplikasi Visual Studio.Net, dan pilih New Project. Ketikan nama project sesuai
dengan keinginan anda. Simpan di drive pada PC anda (Untuk drive bebas juga,
sekarang jamannya hak asasi manusia, tidak ada pemaksaan).
3.1.1 Membuat StartUp Form.
Untuk pertama kali, .Net akan memberikan Default sebuah form, dengan nama
Form1. Sekarang tugas kita yaitu merubah tampilan Form1 ini menjadi seperti
tampilan Flash Form seperti diatas.
Ubah properties Form1 seperti dibawah ini.
BackColor White
FormBorderStyle FixedToolWindow
Text (Kosongkan)
Name StartUp
StartPosition CenterScreen
ControlBox False
ShowInTaskbar False
sesudah selesai melakukan perubahan Form1 seperti diatas. Sekarang kita tambah
aksesoris pada form StartUp. Tambahkan dua (2) buah label, 1 ProgressBar dan 1
buah PictureBox. Sehingga tampilan seperti pada gambar dibawah ini.
_____________________.Net XIII
Junindar
Desain Splash Form
Untuk gambar diatas silahkan ganti dengan gambar yang anda suka dan jika anda
tidak suka dengan tampilan ini, anda dapat merubah sesuai dengan keinginan anda.
sesudah selesai mendesain form, tambahkan sebuah timer dan beri nama
Splash_Timer.
3.1.2 Membuat Login Form.
Tambahkan sebuah Form ke dalam aplikasi. Caranya Klik Kanan Pada Project anda
Pilih Add>Add Windows Form. Ganti properties Form baru ini seperti dibawah
ini.
_____________________.Net XIII
Junindar
BackColor LightBlue
Font+ Microsoft Sans Serif, 8.25pt, style=Bold
FormBorderStyle Fixed3D
Text Login
Name FrmLogin
StartPosition CenterScreen
ControlBox False
ShowInTaskbar False
Tambahkan 2 buah label, 2 buah TextBox dan 2 buah Button Ubah properties dari
masing-masing component seperti dibawah ini.
Label 1
BackColor LightBlue
Font+ Microsoft Sans Serif, 8.25pt, style=Bold
Text Username
Label 2
BackColor LightBlue
Font+ Microsoft Sans Serif, 8.25pt, style=Bold
Text Password
Textbox 1
BorderStyle Fixed3D
Name txtUser
Textbox 2
BorderStyle Fixed3D
Name txtPassword
PasswordChar *
_____________________.Net XIII
Junindar
Button1
BackColor LightBlue
Font+ Microsoft Sans Serif, 8.25pt, style=Bold
Flatstyle Flat
Text Login
Name btnlogin
Button2
BackColor LightBlue
Font+ Microsoft Sans Serif, 8.25pt, style=Bold
Flatstyle Flat
Text Cancel
Name btnbatal
sesudah selesai merubah properties seperti di atas, susun dan disain form seperti
dibawah ini.
Gambar Desain Form Login
3.1.3 Membuat Menu Utama
Sekarang kita akan membuat Form Utama, tapi untuk sementara jangan di modifikasi.
Untuk saat ini kita ganti Form Name menjadi MainMenu
_____________________.Net XIII
Junindar
2.2 Source Code
2.2.1 Source Code Form Splash
sesudah kita selesai mendesain 2 buah form, sekarang waktunya kita bermain dengan
source code. Pada Form splash, klik 2 kali (Double Click) component Splash_Timer .
Dan ketikkan listing seperti dibawah ini.
Note : anda dapat mencoba mengubah nilai value pada progressbar. Dengan
menaikkan atau mengurangi nilai value maka anda melihat perubahan progessbar
berjalan, apakah semakin cepat atau lambat. Itu semua tergantung pada anda.
Coba jalankan program, gmana? apakah sudah sesuai dengan yang anda inginkan
????????
2.2.2 Source Code Form Login
Sebelum kita mulai membuat listing pada form login, terlebih dahulu kita membuat
koneksi pada database. Sekarang kita akan membuat koneksi dengan memanggil
Class lain untuk koneksi ke database.
Sebelumnya Buat folder pada project yang anda buat (Klik kanan project>Add>New
Folder) dan beri nama “AccessData”. Selanjutnya didalam Folder ini tambahkan
Class dengan nama “DataBaseConnection.vb” (Klik kanan Folder
“AccessData”>Add>Add Class). Ketikan listing di bawah ini pada class yang baru
anda buat.
Private Sub Splash_Timer_Tick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Splash_Timer.Tick
Dim cur As New frmLogin
ProgressBar1.Value += 4
If ProgressBar1.Value = 100 Then
Splash_Timer.Dispose()
Me.Visible = False
cur.Show()
End If
End Sub
_____________________.Net XIII
Junindar
Note :Dengan membuat koneksi memakai Class, untuk setiap proses yang
berhubungan dengan database anda cukup dengan memanggil nama Class ini ,
dengan mendeklarasikan Class ini .
Contoh : Dim MyConnection As New AccessData.DatabaseConnection
sesudah selesai membuat Class, selanjutnya kita akan membuat module untuk menyimpan
Variable global yang sering kita gunakan dalam pembuatan program. Buat satu module
caranya sama dengan membuat Class, dan beri nama “module.vb”. (Klik kanan Folder
“AccessData”>Add>Add Module). Ketikan listing di bawah ini pada module yang baru
anda buat.
Imports System.Data.SqlClient
Namespace AccessData
Public Class DataBaseConnection
Public Function open() As SqlClient.SqlConnection
'Server = Nama dimana kita menginstall SQL server
'Database = Nama database yang akan di akses
'User ID= Account untuk SQL server, sebagai default sa (system
administrator)
'Password = Password untuk login ke SQL server
Dim conect As New
SqlClient.SqlConnection("Server='TESTSERVER';Database='Coba'; " & _
" User ID='sa';Password='testserver'")
conect.Open()
Return conect
End Function
Public Function close() As SqlClient.SqlConnection
Dim conect As New
SqlClient.SqlConnection("Server='TESTSERVER';Database='Coba'; " & _
" User ID='sa';Password='testserver'")
conect.Close()
Return conect
End Function
End Class
End Namespace
_____________________.Net XIII
Junindar
sesudah selesai sekarang kita kembali pada Form Login. Untuk pertama kali ketikkan
listing dibawah ini pada baris paling atas.
Dan buat variable global untuk form Login ini, seperti dibawah ini.
Ketikkan listing diatas dibawah Inherits System.Windows.Forms.Form
Selanjutnya kita buat listing untuk mencari apakah Username ada pada table Users
Module _Module
Public Msg As Integer
Public intResponse As Integer
Public Username, Password As String
End Module
Imports System.Data
Imports System.Data.SqlClient
Sub CheckUser()
objDataTable.Clear()
StrSQL = ("SELECT * FROM [Users] WHERE [UserName] " & _
" = '" & Trim(txtuser.Text) & "' ")
objCommand = New SqlCommand
objCommand.Connection = MyConnection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = StrSQL
objDataAdapter = New SqlDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "MDT_user")
objDataTable = objDataSet.Tables("MDT_user")
MyConnection.close()
End Sub
#Region "deklarasi"
Dim MyConnection As New AccessData.DataBaseConnection
Dim f_utama As New MainMenu
Dim objConnection As SqlConnection
Dim objCommand As SqlCommand
Dim objDataAdapter As SqlDataAdapter
Dim objdatareader As SqlDataReader
Dim strSQL As String
Dim objDataSet As New DataSet
Dim objDataTable As New DataTable
Dim mProcess As String
#End Region
_____________________.Net XIII
Junindar
Fungsi dari listing yaitu , mencari Username apakah ada pada table Users. Syntax
SQL ("SELECT * FROM [Users] WHERE [UserName] = '" &
Trim(txtuser.Text) & "' "), Maksudnya yaitu menampilkan data user dengan
criteria Username. Dan jumlah banyaknya data akan disimpan pada ObjDataTable.
Kemudian ketikkan listing untuk menampilkan data users (Username,Password).
Untuk sekilas sepertinya listing antara Sub CheckUser sama dengan Sub
Find_User. Tapi pada kenyataannya fungsi dari kedua listing ini berbeda. Untuk Sub
Find_User disini kita menampilkan value dari username & Password. Jika anda
sudah mengerti dengan yang saya maksud, mari lanjutkan pelajaran kita. Sekarang
Double Click Button Login. Ketikan Listing seperti dibawah ini.
Sub Find_User()
objCommand = MyConnection.open.CreateCommand
objCommand.CommandText = ("Select [UserName],[Password] from
[Users] where [UserName]='" & Trim(txtuser.Text) + "' ")
objDataReader = objCommand.ExecuteReader
objDataReader.Read
Username = objDataReader.Item("Username")
Password = objDataReader.Item("Password")
MyConnection.close()
End Sub
_____________________.Net XIII
Junindar
2.3
III.
sesudah ini Double Click button Cancel, dan ketikkan listing seperti berikut
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnLogin.Click
‘untuk mengaktifkan fungsi CheckUsers
CheckUsers
‘mengharuskan user memasukkan username dan password
If txtuser.Text.Trim() = "" And _
txtpassword.Text.Trim() = "" Then
Msg = MsgBox("Masukan Username dan Password", MsgBoxStyle.OKOnly, "Pesan")
txtuser.Focus()
ElseIf txtuser.Text = "" Then
Msg = MsgBox("Masukan Username ", MsgBoxStyle.OKOnly, "Pesan")
txtuser.Focus()
ElseIf txtpassword.Text = "" Then
Msg = MsgBox("Masukan password ", MsgBoxStyle.OKOnly, "Pesan")
txtpassword.Focus()
Else
Try
‘Menghitung jumlah baris yang ada pada ObjDataTable
If objDataTable.Rows.Count <= 0 Then
‘Jika jumlah baris = 0 / username tidak ada pada table
Msg = MsgBox("Username tidak ada ", MsgBoxStyle.OKOnly, "Pesan")
txtuser.Focus()
Else
‘Jika username ada pada table / jumlah baris ObjdataTable > 0
‘Mengaktifkan fungsi mencari nilai value Username & Password
Find_User()
‘Jika Password yang diketik pada TextBox tidak sama pada Database
If Password <> Trim(txtPassword.Text) Then
Msg = MsgBox("Password salah!", MsgBoxStyle.OKOnly, "Pesan")
txtPassword.Focus()
Exit Sub
Else
‘Jika Sama
Me.Hide()
f_utama.ShowDialog()
txtuser.Text = ""
txtPassword.Text = ""
End If
End If
Catch When Err.Number <> 0
MsgBox("Tidak dapat melakukan proses" _
& vbCrLf & Err.Description)
End Try
End If
End Sub
_____________________.Net XIII
Junindar
Sekarang anda telah selesai membuat aplikasi yang sangat sederhana. Kalau berhasil
jangan senang dulu, sebab masih banyak sekali rintangan yang akan kita hadapi untuk
kasus-kasus berikutnya. Bagi yang gagal jangan berkecil hati, jangan ragu dan sungkan
silahkan E-Mail ke saya.
Jika program yang anda buat tidak ada masalah, kita lanjutkan pelajaran kita.
Sekarang mari kita modif form utama kita yang masih polos, menjadi seperti berikut :
Ubah Properties pada form utama seperti di bawah ini.
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnBatal.Click
intResponse = MessageBox.Show("Are you sure want to quit ?", Me.Text, MessageBoxButtons.YesNo,
MessageBoxIcon.Exclamation)
If intResponse = MsgBoxResult.Yes Then
End
Else
Exit Sub
End If
End Sub
_____________________.Net XIII
Junindar
BackColor White
FormBorderStyle Fixed3D
BackGroundImage Bebas mau gambar apa
Text MainMenu
Name MainMenu
StartPosition CenterScreen
Icon Bebas juga
Anda dapat memodif form sesuai dengan keinginan anda. Dan kita tambah komponen
MainMenu1 dan StatusBar1 pada Form MainMenu. Buat seperti dibawah ini.
File>>Exit
Inputan>>Input Usaha
_____________________.Net XIII
Junindar
Ketik listing seperti dibawah ini.
Double_Click Form Utama
Public Sub BuatPanelStatusBar()
'Membuat panel dan mengatur properti teks.
StatusBar1.Panels.Add("Ready..")
StatusBar1.Panels.Add("")
StatusBar1.Panels.Add("")
'Mengatur properti panel StatusBar.
'Mengatur properti panel AutoSize.
StatusBar1.Panels(0).AutoSize = _
StatusBarPanelAutoSize.Spring
StatusBar1.Panels(1).Width = 200
StatusBar1.Panels(2).Width = 200
' Mengatur properti panel BorderStyle.
StatusBar1.Panels(0).BorderStyle = _
StatusBarPanelBorderStyle.Raised
StatusBar1.Panels(1).BorderStyle = _
StatusBarPanelBorderStyle.Sunken
StatusBar1.Panels(2).BorderStyle = _
StatusBarPanelBorderStyle.Sunken
' Mengatur perataan panel
StatusBar1.Panels(0).Alignment = _
HorizontalAlignment.Left
StatusBar1.Panels(1).Alignment = _
HorizontalAlignment.Center
StatusBar1.Panels(2).Alignment = _
HorizontalAlignment.Center
'Menambahkan properti teks pada panel ketiga dengan
'tanggal(sekarang)
StatusBar1.Panels(1).Text = "Selamat Datang" & " " & Username
StatusBar1.Panels(2).Text = _
System.DateTime.Today.ToLongDateString()
'Mengatur properti icon pada panel ketiga
StatusBar1.ShowPanels = True
End Sub
BuatPanelStatusBar()
_____________________.Net XIII
Junindar
sesudah itu Double Click menu item Exit dan ketik listing seperti dibawah ini :
Lalu Double Click menu item Inputan dan ketikan listing seperti dibawah ini :
sesudah selesai kita mendesain Form Utama (MainMenu), sekarang kita akan membuat
Form Untuk Penginputan Usaha.
Sekarang tambahkan sebuah form baru pada project yang kita buat. Ubah properties form
seperti dibawah ini.
BackColor LightBlue
FormBorderStyle Fixed3D
Text Form Usaha
Name Frm_usaha
StartPosition CenterScreen
ControlBox False
ShowInTaksbar False
Dan tambahkan 11 Button, 1 GroupBox dan 2 TextBox. Susun semua komponen seperti
dibawah ini.
End
Dim f_usaha As New Frm_Usaha
f_usaha.ShowDialog()
f_usaha.Dispose()
1
2 3
4
11
19 8 7 6
13
12
14
15
16
_____________________.Net XIII
Junindar
Dan ubah properties masing-masing komponen seperti dibawah ini :
1.
BackColor Transparent
FlatStyle Flat
ForeColor Black
Text <<
TextAlign MiddleCenter
Name btnAwal
ShowInTaksbar False
Untuk menghemat waktu dan tempat, properties setiap button hamper sama yang beda
Cuma di nama dan text.
2.
Text <
Name btnMundur
3.
Text >
Name btnMaju
4.
Text >>
Name btnAkhir
5.
Text F1 Add
Name btnAdd
6.
Text F2 Delete
Name btnDelete
5
_____________________.Net XIII
Junindar
7.
Text F3 Edit
Name btnEdit
8.
Text F4 Find
Name btnCari
9.
Text Save (Ctrl+S)
Name btnSave
10.
Text F5 Cancel
Name BtnCancel
11.
Text F6 Close
Name btnClose
12.
BorderStyle Fixed3D
Name txtID
Text “” (Kosong)
13.
BorderStyle Fixed3D
Name txtNama
Text “”(Kosong)
Untuk Nomor 14-16 ganti Text pada properties sesuai pada gambar.
_____________________.Net XIII
Junindar
Jika sudah selesai mendesain form ini , kita akan lanjutkan membuat class untuk
pemrosesan data. Buat satu class didalam folder AccessData dengan nama AccessUsaha.
Tapi sebelum itu kita melakukan coding pada Class itu, hal yang harus kita lakukan
yaitu dengan membuat Stored Procedures di SQL Server. Ikuti langkah-langkah
dibawah ini. Pada jendela Enteprise Manager klik tanda + pada database Coba, lalu di
bawah nya akan terlihat Stored Procedures, klik kanan lalu New Stored Procedure.
sesudah itu akan muncul jendela Stored Procedure. Dan ketikkan sintaks seperti dibawah
ini. Untuk menyimpannya klik button OK, sedangkan untuk mengecek syntak dari SQL
nya klik button Check Syantax.
Lalu buat 2 Stored Procedure dan ketikkan sintaks dibawah untuk masing-masing Stored
Procedure.
CREATE PROCEDURE [SpInsertUsaha]
(@IDUsaha [varchar](3),
@NamaUsaha [varchar](50))
AS INSERT INTO [TbUsaha]
( [IDUsaha], [NamaUsaha])
VALUES
( @IDUsaha, @NamaUsaha)
GO
CREATE PROCEDURE [SpUpdateUsaha]
(@IDUsaha [varchar],
@NamaUsaha [varchar](50))
AS UPDATE [TbUsaha]
SET [NamaUsaha] = @NamaUsaha
WHERE
( [IDUsaha] = @IDUsaha)
GO
CREATE PROCEDURE [SpDeleteUsaha]
(@IDUsaha [varchar])
AS DELETE [TbUsaha]
WHERE
( [IDUsaha] = @IDUsaha)
GO
_____________________.Net XIII
Junindar
sesudah melakukan hal diatas dengan benar maka kita akan memiliki 3 Stored Procedures,
seperti pada gambar dibawah ini.
Dan kita kembali pada jendela Vb.Net, pada Class AccessUsaha, ketikkan sintaks
berikut.
Imports System.Data
Imports System.Data.SqlClient
Namespace AccessData
Public Class AccessUsaha
Public Function AccessUsahaInsert(ByVal IDUsaha As String, _
ByVal NamaUsaha As String) As SqlDataReader
Dim MyConnection As DataBaseConnection = New AccessData.DataBaseConnection
Dim myCommand As SqlCommand = New SqlCommand("SpInsertUsaha", MyConnection.open)
myCommand.CommandType = CommandType.StoredProcedure
Dim parameterIdUsaha As SqlParameter = New SqlParameter("@IDUsaha",
SqlDbType.VarChar, 3)
parameterIdUsaha.Value = IDUsaha
Dim parameterNamaUsaha As SqlParameter = New SqlParameter("@NamaUsaha",
SqlDbType.VarChar, 50)
parameterNamaUsaha.Value = NamaUsaha
With myCommand.Parameters
.Add(parameterIdUsaha)
.Add(parameterNamaUsaha)
End With
Dim result As SqlDataReader =
myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Return result
End Function
_____________________.Net XIII
Junindar
Public Function AccessUsahaUpdate(ByVal IDUsaha As String, ByVal NamaUsaha As
String)
Dim MyConnection As DataBaseConnection = New AccessData.DataBaseConnection
Dim myCommand As SqlCommand = New SqlCommand("SpUpdateUsaha",
MyConnection.open)
myCommand.CommandType = CommandType.StoredProcedure
Dim parameterIdUsaha As SqlParameter = New SqlParameter("@IDUsaha",
SqlDbType.VarChar, 3)
parameterIdUsaha.Value = IDUsaha
Dim parameterNamaUsaha As SqlParameter = New SqlParameter("@NamaUsaha",
SqlDbType.VarChar, 50)
parameterNamaUsaha.Value = NamaUsaha
With myCommand.Parameters
.Add(parameterIdUsaha)
.Add(parameterNamaUsaha)
End With
Dim result As SqlDataReader =
myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Return result
End Function
Public Function AccessUsahaDelete(ByVal IDUsaha As String)
Dim MyConnection As DataBaseConnection = New AccessData.DataBaseConnection
Dim myCommand As SqlCommand = New SqlCommand("SpDeleteUsaha",
MyConnection.open)
myCommand.CommandType = CommandType.StoredProcedure
Dim parameterIdUsaha As SqlParameter = New SqlParameter("@IDUsaha",
SqlDbType.VarChar, 3)
parameterIdUsaha.Value = IDUsaha
With myCommand.Parameters
.Add(parameterIdUsaha)
End With
Dim result As SqlDataReader =
myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Return result
End Function
End Class
End Namespace
_____________________.Net XIII
Junindar
Jika sudah selesai, mari kita lanjutkan membuat program di dalam Form Usaha.
Dan buat variable global form seperti dibawah ini.
Lalu ketikan fungsi-fungsi berikut :
#Region "deklarasi"
Dim MyConnection As New AccessData.DataBaseConnection
Dim objConnection As SqlConnection
Dim objCommand As SqlCommand
Dim objDataAdapter As SqlDataAdapter
Dim objdatareader As SqlDataReader
Dim strSQL As String
Dim objDataSet As New DataSet
Dim objDataTable As New DataTable
Public mProcess As String
Dim mPosition As Integer
#End Region
Private Sub clear()
'Mengkosongkan isi TextBox
txtID.Text = ""
txtNama.Text = ""
End Sub
Private Sub enabled_off()
'Menonaktifkan Textbox
txtID.Enabled = False
txtNama.Enabled = False
End Sub
Private Sub enabled_on()
'Mengaktifkan TextBox
txtID.Enabled = True
txtNama.Enabled = True
End Sub
Sub ViewData()
'Menampilkan Data IDUsaha dan Nama Usaha dengan Criteria “IDUsaha”
pada masing-masing Textbox
objCommand = MyConnection.open.CreateCommand
objCommand.CommandText = "select * from TbUsaha " & _
" Where IDUsaha = '" & Trim(txtID.Text) & "'"
objdatareader = objCommand.ExecuteReader
While objdatareader.Read
txtID.Text = objdatareader.Item("IDUsaha").ToString
txtNama.Text = objdatareader.Item("NamaUsaha").ToString
End While
MyConnection.close
End Sub
_____________________.Net XIII
Junindar
Sub Displaydata()
Try
'Menyimpan jumlah baris Tabel “TbUsaha” pada Objdatatable
objDataTable.Clear()
StrSQL = "select * from TbUsaha"
objCommand = New SqlCommand
objCommand.Connection = MyConnection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = StrSQL
objDataAdapter = New SqlDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "MDT_Usaha")
MyConnection.close()
objDataTable = objDataSet.Tables("MDT_Usaha")
Catch ex As Exception
MsgBox("Tidak dapat membuat hubungan ke database" _
& vbCrLf & Err.Description)
MyConnection.close()
End Try
End Sub
Sub displaydata2()
Try
'Menampilkan Data “IDUsaha” dan “NamaUsaha”
berdasarkan posisi Baris yang dicari
StrSQL = "select * from TbUsaha"
objCommand = New SqlCommand
objCommand.Connection = MyConnection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = StrSQL
objDataAdapter = New SqlDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "MDT_Usaha")
MyConnection.close()
objDataTable = objDataSet.Tables("MDT_Usaha")
mPosition = BindingContext(objDataTable).Position
With objDataTable.Rows(mPosition)
txtID.Text = .Item("IDUsaha")
txtNama.Text = .Item("NamaUsaha")
End With
Catch When Err.Number <> 0
MsgBox("Tidak dapat membuat hubungan ke database" _
& vbCrLf & Err.Description)
MyConnection.close()
End Try
End Sub
_____________________.Net XIII
Junindar
Double Click “btnclose” dan ketik seperti dibawah ini :
Double Click “btncancel” dan ketik seperti dibawah ini :
Double Click “btnadd” dan ketik seperti dibawah ini :
Double Click “btnEdit” dan ketik seperti dibawah ini :
Sub cari()
Try
'untuk mengecek apakah IDUsaha
yang diinputkan ada pada Tabel “TbUsaha”
objDataTable.Clear()
strSQL = "select * from [TbUsaha] where " & _
" IDUsaha = '" & Trim(txtID.Text) + "'"
objCommand = New SqlCommand
objCommand.Connection = MyConnection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = strSQL
objDataAdapter = New SqlDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "MDT_Usaha")
MyConnection.close()
objDataTable = objDataSet.Tables("MDT_Usaha")
Catch When Err.Number <> 0
MsgBox("Tidak dapat membuat hubungan ke database" _
& vbCrLf & Err.Description)
MyConnection.close()
End Try
End Sub
objDataTable.Clear()
Me.Close()
enabled_off()
clear()
mProcess = ""
btnsave.Enabled = False
btnsave.Text = "Save"
mProcess = "ADD"
btnsave.Text = "Save Add"
enabled_on()
btnsave.Enabled = True
txtID.Focus()
clear()
_____________________.Net XIII
Junindar
Pilih ClassName = txtNama, Seperti dibawah ini
Dan Pilih Method Name = Leave. Untuk selanjutnya penulis hanya menyebutkan
ClassName dan MethodName saja, untuk visual tidak akan diberikan.
Lalu ketik seperti dibawah ini.
Double Click Form Usaha, dan ketik seperti berikut :
If mProcess <> "View" Or txtNama.Text = "" Then
MsgBox("Lakukan pencarian terlebih dahulu, sebelum proses edit")
Else
enabled_on()
txtNama.Focus()
mProcess = "EDIT"
btnsave.Text = "Save Edit"
btnsave.Enabled = True
End If
btnsave.Focus()
_____________________.Net XIII
Junindar
Double Click btncari, dan ketik seperti berikut :
Double Click btnSave, dan ketik seperti berikut :
Try
StrSQL = "Select * From TbUsaha"
objCommand = New SqlDbCommand
objCommand.Connection = MyConnection.open
objCommand.CommandType = CommandType.Text
objCommand.CommandText = StrSQL
objDataAdapter = New SqlDataAdapter(objCommand)
objDataAdapter.Fill(objDataSet, "MDT_Usaha")
MyConnection.close()
objDataTable = objDataSet.Tables("MDT_Usaha")
Catch When Err.Number <> 0
MsgBox("Tidak dapat membuat hubungan ke database" _
& vbCrLf & Err.Description)
End Try
clear()
enabled_off()
mProcess = "View"
txtID.Enabled = True
txtID.Focus()
_____________________.Net XIII
Junindar
If btnsave.Text = "Save Add" Then
Try
cari()
If objDataTable.Rows.Count >= 1 Then
MsgBox(" Kode " & "" & txtID.Text & "" & " sudah ada")
txtID.Focus()
ElseIf txtID.Text = "" Or txtNama.Text = "" Then
MsgBox("Isikan data yang mau di Input terlebih dahulu")
txtID.Focus()
Else
Dim mYes_No As String = MsgBox("Anda yakin data mau disimpan ?", vbYesNo)
If mYes_No = vbYes Then
myconnectionUsaha.AccessUsahaInsert(txtID.Text, txtNama.Text)
enabled_off()
btnsave.Enabled = False
btnsave.Text = "Save"
btnadd.Focus()
Displaydata()
clear()
Else
enabled_off()
clear()
btnadd.Focus()
End If
End If
Catch When Err.Number <> 0
MsgBox("Tidak dapat melakukan proses simpan" _
& vbCrLf & Err.Description)
End Try
Else
Try
cari()
If objDataTable.Rows.Count = 0 Then
MsgBox(" Kode : " & "" & txtID.Text & "" & " tidak ada pada table")
Else
Dim mYes_No As String = MsgBox("Anda yakin data mau diupdate ?", vbYesNo)
If mYes_No = vbYes Then
myconnectionUsaha.AccessUsahaUpdate(txtID.Text, txtNama.Text)
enabled_off()
btnsave.Text = "Save"
btnsave.Enabled = False
btnadd.Focus()
clear()
Else
enabled_off()
clear()
btnadd.Focus()
End If
End If
Catch When Err.Number <> 0
MsgBox("Tidak dapat melakukan proses update" _
& vbCrLf & Err.Description)
End Try
End If
objDataTable.Clear()
_____________________.Net XIII
Junindar
Pilih ClassName = txtNama
Dan Pilih Method Name = KeyUp
Pilih ClassName = txtNama, Seperti dibawah ini
Dan Pilih Method Name = KeyUp
Double_Click btnakhir
Double_Click btnmaju
Double_Click btnmundur
Double_Click btnawal
If e.KeyCode = Keys.Enter Then
btnsave.PerformClick()
ElseIf e.KeyCode = Keys.Escape Then
btncancel.PerformClick()
End If
If mProcess = "View" Then
Try
cari()
If objDataTable.Rows.Count = 0 Then
MsgBox("Data yang dicari tidak ada")
Else
ViewData()
btndelete.Focus()
End If
Catch When Err.Number <> 0
MsgBox("Tidak dapat melakukan proses pencarian" _
& vbCrLf & Err.Description)
MyConnection.close()
End Try
End If
BindingContext(objDataTable).Position = objDataTable.Rows.Count - 1
displaydata2()
BindingContext(objDataTable).Position += 1
displaydata2()
BindingContext(objDataTable).Position -= 1
displaydata2()
BindingContext(objDataTable).Position -= 1
displaydata2()
_____________________.Net XIII
Junindar
Sekarang coba anda jalankan program, apakah program sudah berjalan dengan
semestinya, jika belum bisa seperti biasa……
Tentu anda akan merasa heran, kenapa pada button Add, Edit dll ada semacam shortcut.
Tetapi jika digunakan shortcut-shortcut ini tidak bekerja. Mungkin merupaka suatu
kelemahan pada VB.Net tidak menyediakan shortcut untuk component button, tidak
seperti Delphi yang menyediakan shortcut untuk button . Tapi jika anda seorang
programmer yang memanfaatkan kelebihan dari bahasa pemrograman, masalah itu semua
akan bisa diatasi. Ok, sekarang penulis akan memberikan solusi gimana cara membuat
shortcut untuk menjalankan perintah pada suatu button.
Tambahkan komponen MainMenu pada Form Usaha. Lalu buat seperti berikut :
Pada masing-masing Properties MenuItem, buat Visible=False. Dan shortcut sesuai
dengan button. Contoh : Untuk Button dengan Text : F1 Add, pada menu item add
properties>Shortcut = F1. Dan selanjutnya..Buat sendiri ya…… ???????. Lalu coba
Double_Click menu item add, dan ketik listing seperti dibawah.
Untuk semua menu item buat listing seperti diatas, hanya ubah button apa yang akan
diperoses. Coba jalankan program dan gunakan shortcut. Apa sudah jalan ??????
Kalau berhasil, berarti anda sudah bisa proses dasar dari database (Select, Insert, Delete
& Update). Dengan begitu anda dapat mengembangkan program ini sesuai dengan
keinginan anda.
Untuk mendapatkan source code lengkap dapat di download pada bog saya
http://junindar.blog.com . Untuk menjalankan program yang didownload. Unzip file
btnadd.PerformClick()
_____________________.Net XIII
Junindar
ini . Lalu copy 2 file yang berada pada folder DB ke C:\Program Files\Microsoft
SQL Server\MSSQL\Data. Lalu buka Enteprise Manager, klik kanan pada Folder
Database All Tasks >> Attach Database
Lalu akan muncul jendela seperti dibawah. Dan klik button Browse disampin button
Verify
_____________________.Net XIII
Junindar
Akan muncul jendela seperti diatas, lalu cari file pada path dimana kita menyimpan file
DB (C:\Program Files\Microsoft SQL Server\MSSQL\Data). sesudah ketemu klik file
Coba_Data.MDF dan klik button OK. Maka jendela Attach Database akan terisi sendiri
seperti gambar dibawah ini.
_____________________.Net XIII
Junindar
Dan klik OK, maka didalam Folder Database di Enterprise Manager akan terdapat
database baru dengan nama Coba. sesudah langkah diatas berhasil maka program yang di
download juga dapat dijalankan. Username :jun Password :123
Penutup
Maaf kepada para pembaca, kalau artikel ini baru saat ini dapat dirilis. Mudah-mudahan
artikel ini dapat sedikit menjawab dari persoalan yang dihadapi para pembaca.
_____________________.Net XIV
Junindar
STEP BY STEP MENJADI
PROGRAMMER HANDAL
DENGAN VB.NET
Junindar
Blog : http://junindar.blog.com
E-Mail : xx_lead@yahoo.com
junindar@gmail.com
STEP XIV
Pengolahan XML File
memakai Vb.Net
I. Pengantar
Extensible Markup Language (XML) yaitu bahasa markup serbaguna yang
direkomendasikan W3C untuk mendeskripsikan berbagai macam data. XML
memakai markup tags seperti halnya HTML namun penggunaannya tidak
terbatas pada tampilan halaman web saja. Dan pada artikel ini penulis akan
Lisensi Dokumen:
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat
tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang
disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,
kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
_____________________.Net XIV
Junindar
mengajak para pembaca untuk membuat program dalam mengolah file XML, dari
membuat file xml, manambahkan data pada file xml hingga menampilkan data dari
file XML ke Datagrid pada Vb.Net.
Bagaimanakah caranya?? Ayoo ikutin terus artikel ini.
II. Desain Form
Buatlah Project Baru, lalu pada form yang tersedia tambahkan 3 Button dan 1
Datagrid. Lalu susun komponen-komponen ini seperti gambar di bawah ini.
III. Coding
Double click pada button “Create XML File” dan ketikkan sintaks dibawah.
_____________________.Net XIV
Junindar
Sintaks diatas yaitu cara untuk membuat file XML, yang disimpan sama dengan file exe
berada, dengan nama sample.xml. Dibawah ini merupakan hasil dari sintaks diatas.
Lalu double click button “Add New Data” dan ketik sintaks dibawah.
Try
If File.Exists(Application.StartupPath & "\sample.xml") Then
MsgBox("File xml sudah ada")
Exit Sub
Else
Dim Writer As New XmlTextWriter(Application.StartupPath &
"\Sample.xml", System.Text.Encoding.Default)
' Write XML with Indent
Writer.Formatting = Formatting.Indented
'Tulis deklarasi XML
Writer.WriteStartDocument(True)
'Menulis comment di file XML
Writer.WriteComment("Contoh XML")
' Root Element
Writer.WriteStartElement("dataset")
Writer.WriteStartElement("Users")
Writer.WriteElementString("Username", "aku")
Writer.WriteElementString("Password", "123")
Writer.WriteElementString("Joined", "21-06-2008")
Writer.WriteEndElement()
' Users End Tag
Writer.WriteEndElement()
' Dataset End Tag
Writer.WriteEndDocument()
Writer.Flush()
Writer.Close()
MsgBox("File xml berhasil dibuat")
End If
Catch ex As Exception
MsgBox(ex.Message)
Exit Sub
End Try
<?xml version="1.0" standalone="yes"?>
<dataset>
<Users>
<Username>aku</Username>
<Password>123</Password>
<Joined>21-06-2008</Joined>
</Users>
</dataset>
_____________________.Net XIV
Junindar
Maksud dari coding diatas yaitu bagaimana kita menambah data baru untuk tag “Users”
pada file sample.xml yang kita buat sebelumnya.
Dan double click button “Refresh Datagrid”, ketik sintaks dibawah. Fungsi dari sintaks
dibawah ini yaitu bagaiman cara menampilkan data pada file xml ke dalam datagrid.
Coba jalankan project dengan menekan F5, lalu coba klik button-button yang berada pada
form apakah sudah berjalan dengan semestinya?
Try
Dim objDataSet As New DataSet
Dim objDataRow As DataRow
objDataSet.ReadXml(Application.StartupPath & "\Sample.xml")
'buat baris baru pada table user
objDataRow = objDataSet.Tables("Users").NewRow
objDataRow("username") = "aku2"
objDataRow("password") = "456"
objDataRow("joined") = DateTime.Now.ToString("dd-MM-yyyy")
'Tambah baris baru pada table users baru
objDataSet.Tables("users").Rows.Add(objDataRow)
'Tulis data ke file xml
objDataSet.WriteXml(Application.StartupPath & "\Sample.xml")
objDataSet.Clear()
MsgBox("Data telah berhasil di tambah")
Catch ex As Exception
MsgBox(ex.Message)
Exit Sub
End Try
Try
Dim objDataSet As New DataSet
objDataSet.Clear()
DgXML.Refresh()
objDataSet.ReadXml(Application.StartupPath & "\Sample.xml")
DgXML.DataSource = objDataSet.Tables("Users")
Catch ex As Exception
MsgBox(ex.Message)
Exit Sub
End Try
_____________________.Net XIV
Junindar
and Repair database pada MS Access. Hal itu bisa kita lakukan dengan mudah
sekali. Sekarang yang menjadi pertanyaan bagaimana jika kita membuat program
dengan MS Access sebagai database nya? Apakah yang harus kita lakukan. Hal
yang paling baik yaitu membuat fasilitas Compact ini pada program anda.
Jadi user tidak perlu langsung membuka database program anda, apalagi jika
program anda database nya di password, hal itu akan menyebabkan program
menjadi lambat sebab membengkaknya size database anda sebab tidak bisa di
compact oleh user. Melalui artikel ini penulis mengajak para pembaca untuk
membuat suatu fasilitas untuk meng compact database program anda. Program
sederhana dengan manfaat yang sangat besar.
Sudah penasaran, ayoo kita mulai ……………..
II. Desain Form
Buatlah Project Baru, lalu pada form yang tersedia tambahkan 1 Button. Lalu susun
komponen-komponen ini seperti gambar di bawah ini.
Sebelum kita masuk ke coding, terlebih dahulu kita melakukan add reference
Microsoft® Jet and Replication Objects (JRO), file library ini yang berperan dalam
melakukan compact pada program ini. Caranya yaitu klik kanan Root Reference di
bawah nama project kita, lalu pilih add reference. Lalu keluar form Add Reference pilih
tab COM. Dan cari component name Microsoft Jet and Replication Object 2.6 Library.
Lalu klik button select dan OK.
III. Coding
Double click pada button “Compact” dan ketikkan sintaks dibawah.
Keterangan :
ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Application.StartupPath + originalDB + ";Jet OLEDB:Database
Password=test;"
Fungsi diatas yaitu untuk melakukan koneksi pada file original yang memiliki size yang
besar. Pada artikel ini penulis memberikan password pada database dengan password
“test”, jika file yang akan di compact tidak memiliki password maka koneksi nya yaitu
sebagai berikut.
ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Application.StartupPath + originalDB + ";"
Try
Dim jro As JRO.JetEngineClass
Dim newConStr As String
Dim ConStr As String
Dim originalDB As String = "\test.mdb"
Dim NewDB As String = "\BackUptest.mdb"
jro = New JRO.JetEngineClass
'membuat koneksi untuk database yang original
ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Application.StartupPath + originalDB + ";Jet OLEDB:Database
Password=test;"
'membuat koneksi untuk meng compact database (Database backup)
newConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine
Type=5;Data Source=" + Application.StartupPath + NewDB + ";Jet
OLEDB:Database Password=test;"
'compact database
jro.CompactDatabase(ConStr, newConStr)
'Mengcopy database yang sudah di compact kedalam folder yang sama dengan
original database
'menimpa isi dari database yang lama dengan yang baru
System.IO.File.Copy(Application.StartupPath + NewDB,
Application.StartupPath + originalDB, True)
'Terakhir delete database backup yang sudah di compact
System.IO.File.Delete(Application.StartupPath + NewDB)
MsgBox("Sukses", MsgBoxStyle.Information, "Compact")
Catch ex As Exception
MsgBox(ex.Message)
End Try
newConStr = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine
Type=5;Data Source=" + Application.StartupPath + NewDB + ";Jet
OLEDB:Database Password=test;"
Sedangkan untuk sintaks diatas merupakan koneksi untuk file backup (file hasil dari
compact). Kita simpan pada lokasi yang sama dengan file original.
Catatan : Jika pada koneksi file original memakai password maka pada
koneksi file backup harus juga diberikan password yang sama. Dan sebaliknya.
jro.CompactDatabase(ConStr, newConStr)
Mengcompact database original, dan hasilnya yaitu database backup.
System.IO.File.Copy(Application.StartupPath + NewDB,
Application.StartupPath + originalDB, True)
Mencopy database backup hasil dari compact database original, kedalam folder yang
sama dengan database original (
