Post By : Ellyx Christian
Post Date : Sat, Feb 13th 2010, 16:43
Category : Visual Basic
Pada tutorial ini anda akan belajar bagaimana membuat aplikasi client server menggunakan visual basic & MYSQL Untuk lebih memperjelas pemahaman anda akan digunakan studi kasusprogram KASIR. Dimana pada implemantasinya nanti, aplikasi yang dibuat akan terpisah dengan database. Database akan ditempatkan pada sebuah server dan aplikasi dapat ditempatkan pada beberapa komputer client. Untuk pengembangan / pembuatan aplikasinya sendiri dapat dilakukan di komputer lokal terlebih dahulu. Adapun yang anda perlukan pada tutorial ini, yaitu visual basic,MYSQL, dan Mysql Connector-ODBC. MYSQL dan MYSQL Connector ODBC dapat anda download di www.mysql.com. MYSQL Connector ODBC dibutuhkan agar dapat melakukan koneksi database MYSQL dari VBPost Date : Sat, Feb 13th 2010, 16:43
Category : Visual Basic
Setelahnya semuanya terinstall mulailah membuat database MYSQL beserta tabel - tabelnya. Buatlah sebuah database dengan nama kasir, dan buat 5 tabel seperti di bawah:
Tabel user_login
Field | Tipe Data |
user_login_id | varchar(50) * |
user_name | varchar(100) |
user_psw | varchar(20) |
Field | Tipe Data |
---|---|
product_id | varchar(40) * |
product_name | varchar(100) |
price | double |
stock | integer |
Fields | Tipe Data |
---|---|
no_transaksi | integer (auto increment) * |
tgl_transaksi | datetime |
total_barang | integer |
total_harga | double |
kasir | varchar(50) |
Fields | Tipe Data |
---|---|
no_transaksi | integer |
product_id | varchar(40) |
jumlah | integer |
harga_satuan | double |
Fields | Tipe Data |
---|---|
no_transaksi | integer |
product_id | varchar(40) |
jumlah | integer |
harga_satuan | double |
* Primary Key
Tabel user_login digunakan untuk menyimpan data pengguna aplikasi, tabel product digunakan untuk menyimpan data product yang dijual. Tabel transaksi untuk menyimpan data transaksi dan tabel detail_transaksi untuk menyimpan detail dari transaksi yang dilakukan. Sedangkan tabel traksaksi_temp digunakan untuk mencatat secara sementara detail traksaksi yang dilakukan, setelah transaksi selesai dilakukan baru dipindahkan ke tabel transaksi.Setelah database dan kasir selesai dibuat tambahkan data (insert data) pada tabel user dengan data berikut:
user_login_id | user_name | user_psw |
---|---|---|
admin | Administrator | admin |
- Buka control panel, double klik pada Administrative Tools, kemudian double klik pada Data Sources (ODBC). Dan akan muncul window kurang lebih seperti berikut:
- Klik pada System DSN, dan klik tombol Add, dan akan muncul window seperti berikut:
- Pilih MySQL ODBC 3.5.1 Driver, dan klik tombol Finish, dan akan tampil window berikut :
- Kemudian isi form di atas dengan data seperti berikut:
- Klik tombol Test, jika muncul kotak dialog yang menyatakan sukses, tekan OK dan tekan OK sekali lagi.
Membuat Form Utama Administrator dan Form Login
Buka microsoft visual basic anda dan buat Standar EXE project. Setelah project dibuat akan langsung terbentuk sebuah form. Tambahkan label dan tombol serta atur propertiesnya seperti berikut :Komponent | Properties |
---|---|
Form1 | Name : main_form Caption : Administration |
Label1 | Caption : Welcome, |
Label2 | Name : label_user Caption : User |
Command1 | Name : btn_user Caption : User |
Command2 | Name : btn_product Caption : Product |
Command3 | Name : btn_trans Caption : Transaksi |
Command4 | Name : btn_report Caption : Report |
Admin Form
Kemudian Buat Form baru dengan cara, klik Menu Project, Add Form. Akan tampil window Add Form dan pilih Log In Dialog serta klik tombol open. Hasilnya seperti di bawah:
Form Login
Sekarang buka notepad dan ketik kode di bawah:
[Data]
DB=kasir
SERVER=localhost
Uid=root
Password=root
Kemudian simpan di direktori c:\windows dengan nama koneksi.ini, file koneksi.ini berfungsi untuk menyimpan data yang diperlukan untuk koneksi ke database. Pada bagian DB berisi nama database yang akan digunakan, SERVER berisi IP address Server tempat database disimpan (untuk sementara gunakan lokalhost). Uid berisi database user name dan Password adalah password database.DB=kasir
SERVER=localhost
Uid=root
Password=root
Sekarang Kembali ke Editor Visual Studio. Pilih Menu Project, Add Module untuk membuat module. Pada window Add Module klik Open. Download File berikut ini, kemudian copy dan paste isi file tersebut pada module yang sedang dibuat. Setelah selesai simpan module tersebut. Kemudian Klik menu Project, References dan akan muncul window project reference. Centang pada bagianMicosoft ActiveX Data Objects 2.0 Library dan tekan tombol OK.
Sekarang beralih ke form login, double click pada tombol OK, Hapus script yang telah ada dan ganti dengan script di bawah:
Private Sub cmdOK_Click()
Call Koneksi
Dim RS As ADODB.Recordset
Set RS = New ADODB.Recordset
Dim SQL As String
'query untuk login
SQL = "select * from user_login where user_login_id='" & txtUserName.Text & "'"
'membuka koneksi ke databse
RS.CursorLocation = adUseClient
RS.Open SQL, conn, adOpenDynamic, adLockOptimistic
'cek kebenaran user_login_id
If (RS.RecordCount > 0) Then
'cek kebenaran password
If (RS!user_psw = txtPassword.Text) Then
user_login_id = txtUserName.Text
user_name = RS!user_name
Load main_form
main_form.Show
Unload Me
Else
MsgBox "Maaf Password Salah"
End If
Else
MsgBox "Maaf User Name Salah"
End If
End Sub
Kemudian double click pada tombol Cancel, hapus script yang telah ada dan ganti dengan script berikut:Call Koneksi
Dim RS As ADODB.Recordset
Set RS = New ADODB.Recordset
Dim SQL As String
'query untuk login
SQL = "select * from user_login where user_login_id='" & txtUserName.Text & "'"
'membuka koneksi ke databse
RS.CursorLocation = adUseClient
RS.Open SQL, conn, adOpenDynamic, adLockOptimistic
'cek kebenaran user_login_id
If (RS.RecordCount > 0) Then
'cek kebenaran password
If (RS!user_psw = txtPassword.Text) Then
user_login_id = txtUserName.Text
user_name = RS!user_name
Load main_form
main_form.Show
Unload Me
Else
MsgBox "Maaf Password Salah"
End If
Else
MsgBox "Maaf User Name Salah"
End If
End Sub
Private Sub cmdCancel_Click()
Dim pil As VbMsgBoxResult
pil = MsgBox("Anda Yakin untuk keluar?", vbQuestion + vbYesNo, "Exit")
If (pil = vbYes) Then Unload Me
End Sub
Setelah selesai pilih menu Project, properties. Pada window Project Properties di bagian Startup Object pilih frmLogin. Kemudian tekan tombol OK.Dim pil As VbMsgBoxResult
pil = MsgBox("Anda Yakin untuk keluar?", vbQuestion + vbYesNo, "Exit")
If (pil = vbYes) Then Unload Me
End Sub
Sekarang beralih ke admin_form, double click pada form dan ketik script berikut :
Private Sub Form_Load()
label_user.Caption = user_name
End Sub
Setelah selesai simpan project anda dengan nama kasir dan coba untuk menjalankanya dengan menekan tombol F5 pada keybord.label_user.Caption = user_name
End Sub
rumus untuk di modul
Option Explicit
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Public Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public conn As ADODB.Connection
Public rs2 As ADODB.Recordset
Public user_login_id As String
Public user_name As String
' pembacaan string pada ini file
Public Sub writestring(Section As String, Key As String, Value As String, File As String)
WritePrivateProfileString Section, Key, Value, File
End Sub
' membuat integer dari ini file
Public Function ReadNumber(Section As String, Key As String, filename As String) As Long
ReadNumber = GetPrivateProfileInt(Section, Key, 0, filename)
End Function
' Function untuk pembacaaan dan pengulangan string dari ini file
Public Function ReadString(Section As String, Key As String, filename As String) As String
Dim s As String
s = String(255, vbNullChar)
GetPrivateProfileString Section, Key, "", s, Len(s), filename
s = Left(s, InStr(s, vbNullChar) - 1)
ReadString = s
End Function
'untuk melakukan koneksi ke database
Sub Koneksi()
On Error GoTo err:
Dim filename As String
Dim Server, Uid, Psw, Db As String
filename = "c:\windows\koneksi.ini"
Server = ReadString("DATA", "SERVER", filename)
Uid = ReadString("DATA", "Uid", filename)
Psw = ReadString("DATA", "Password", filename)
Db = ReadString("DATA", "DB", filename)
Set conn = New ADODB.Connection
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER=" + Server + ";" _
& " DATABASE=" + Db + ";" _
& "UID=" + Uid + ";PWD=" + Psw + "; OPTION=1 + 2 + 3 + 8 + 32 + 2048 + 16384;"
conn.Open
Exit Sub
err:
MsgBox " Error Saat Melakukan koneksi" + Chr(13) + "Error Message: " + err.Description, vbCritical, "Koneksi"
End Sub
'menututp koneksi
Public Sub Tutup_Kon()
conn.Close
Set conn = Nothing
End Sub
Tidak ada komentar:
Posting Komentar