KONEKSI VB DENGAN MS.ACCES
1. Masuk ke sebuah folder/drive yang Anda inginkan.
2. Klik kanan di area kosong dan pilih New--> Text Document
3. Kemudian abaikan untuk mengubah namanya (langsung enter saja).
4. Setelah itu, jalankan file text document itu tadi (biasanya akan
masuk ke notepad) dan pilih save as dengan nama file terserah anda
tetapi extensionnya gunakan *.udl
c:/ con.udl
5. Jika berhasil, maka di folder/drive itu akan muncul sebuah file baru
dengan extension udl. (File text document nya bisa anda hapus).
6. Jalankan file *.udl itu. Pada bagian tab "Provider" pilih provider
dengan nama : "Microsoft Jet 4.0 OLE DB Provider" (Ini provider untuk
database Ms Access). Lalu klik tombol Next
7. Pada tab "Connection", silahkan cari database access anda dengan
mengklik tombol browse (...) disebelah kanan. Lalu tekan tombol "Test
Connection", jika berhasil maka akan ada pesan bahwa test koneksi
berhasil, jika tidak biasanya database access yang anda pilih sedang
digunakan (coba tutup dulu saja). Selanjutnya klik tombol OK.
8. Kembali menuju file *.udl yang tadi. Sekarang klik kanan file
tersebut dan pilih Open With --> Notepad.
9. Setelah notepad terbuka anda akan melihat ada 3 baris isi dari file
tersebut. Yang akan anda gunakan untuk menghubungkan VB 6 dengan Ms
Access adalah ada pada baris ke-3. Oleh karena itu silahkan copy seluruh
baris ke tiga tersebut. (Dimulai dari tulisan provider sampai akhir baris).
----------------------------------------------------------
--Coding di VB6--
1. Pada source code vb 6 anda, silahkan pilih menu Project -->
References. Lalu cari "Microsoft ActiveX Data Objects 2.x Library".
Maksud dari 'x' disamping adalah versinya. Biasanya ada v 2.1, 2.2, 2.3,
dst. Saran saya pilih versi dibawah satu versi yang tertinggi. Misal yg
tertinggi 2.6 maka biasanya saya memilih yang 2.5 (Soalnya waktu saya
lihat di bagian Location nya (ada dibagian bawah) yang versi tertinggi
memiliki versi file yang lebih rendah. Misalnya v 2.6 filenya
"msado15.tlb" sedangkan yg v 2.5 filenya "msado25.tlb". Saya sendiri
masih bingung dengan hal ini. Jadi sebaiknya anda memilih satu versi
dibawah versi tertinggi.
2. Kemudian untuk lebih mudahnya, anda bisa tambahkan sebuah modul dalam
source code vb 6 anda. Dan tuliskan coding dibawah ini:
~~~~~~~~~~~~~~~~~Batas Awal Coding~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Public con As New ADODB.Connection
Public rs As ADODB.Recordset
Public src As String*
*Sub BukaKoneksi()
Set con = New ADODB.Connection
con.Open "(baris ke 3 yang anda copy tadi tanpa tanda kurung)"*
' contohnya : con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\My Documents\My Project\Proyek Keni\db_blackcute.mdb;Persist
Security Info=False"
' untuk flexibilitas program anda, sebaiknya anda pindahkan
database anda menjadi satu folder dengan source code vb6 anda. Jika anda
mengikuti saran saya, maka
' coding untuk koneksi sedikit diubah menjadi :
'* con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
app.path & "\db_blackcute.mdb;Persist Security Info=False*
' dengan demikian dimanapun anda jalankan program anda maka anda
tidak perlu mengkonfigurasi secara manual lokasi databasenya.
*End Sub
Sub buka_rs()
Set rs = New ADODB.Recordset
rs.Open src, con, 1, 3
End Sub*
~~~~~~~~~~~~~~~~~~~~Batas Akhir Coding~~~~~~~~~~~~~~~~~~~~~~~~~~~
3. Setelah coding diatas anda masukkan ke dalam modul. Maka sekarang
anda sudah bisa bermain-main dengan database access anda melalui VB 6.
4. Contoh penggunaannya :
* Private Sub Form_Load()*
*BukaKoneksi* 'untuk membuka jalur komunikasi dengan
database anda
*src = "" * from MsBarang"* 'perintah sql untuk
membuka/memanipulasi tabel pada database anda
*buka_rs* 'menjalankan perintah sql diatas.
*end sub*
5. Jadi yang perlu anda perhatikan dalam coding diatas adalah, sub
"BukaKoneksi" pada modul hanya akan kita letakkan pada Form_Load di
masing-masing form. Sedangkan untuk variabel 'src' dan sub "buka_rs"
bisa anda gunakan dimanapun dalam source code vb 6 anda untuk
membuka/memanipulasi tabel2 yang ada di database anda. Ingat !! variabel
'src' selalu bergandengan dengan sub "buka_rs". Karena sub "buka_rs"
membutuhkan isi dari variabel 'src' untuk melakukan tugasnya.
Rabu, 29 Juli 2009
Rabu, 22 Juli 2009
Ada beberapa definisi tentang arsitektur yaitu sebagai berikut
Menurut Laundon,Arsitektur informasi adalah bentuk khusus yang
menggunakan teknologi informasi dalam organisasi untuk mencapai tujuantujuan
maupun fungsi-fungsi yang telah dipilih.
Menurut Zwsas,Arsitektur informasi adalah desain sistem komputer secara
keseluruhan termasuk sistem jaringan untuk memenuhi kebutuhan-kebutuhan
organisasi yang spesifik
Arsitektur Informasi menggunakan arsitektur teknologi dibedakan atas 3 macam yaitu
Arsitektur tersentralisasi
Arsitektur ini telah dikenal sejak tahun 1960-an dengan mainframe sebagai
faktor utama.Mainframe adalah komputer yang berukuran relatif besaruntuk
menangani data yang berukuran besar dengan ribuan terminal untuk mengakses data
dengan tanggapan yang sangat cepat dan melibatkan jutaan transaksi.
Implementasinya adalah pemrosesan data yang terpusat/komputasi
terpusat.Semua pemrosesan data dilakukan oleh komputer yang ditempatkan didalam
suatu lokasi untuk melayani semua pemakai dalam organisasi
Arsitektur Desentralisasi
Arsitektur desentralisasi merupakan konsep dari pemrosesan data
tersebar/terdistribusi.Sistem pemrosesan data terdistribusi/komputasi tersebar sebagai
sistem yang terdiri atas sejumlah komputer yang tersebar pada berbagai lokasi yang
dihubungkan dengan sarana telekomunikasi dengan masing-masing komputer mampu
melakukan pemrosesan yang serupa secara mandiri,tetapi bisa saling berinteraksi
dalam pertukaran data
Arsitektur Client/Server
Server adalah sistem/proses yang menyediakan data/layanan yang diminta oleh
client.Server dapat berupa komputer (mainframe,mini komputer,workstation,ataupun
PC ) atau piranti lain misalnya printer.
Client mempunyai kemampuan untuk melakukan proses sendiri.Ketika sebuah client
meminta suatu data ke server,server akan segera menanggapinya dengan memberikan
data yang diminta ke client bersangkutanSeteleh diterima client akan melakukan
pemrosesan.Model komputasi yang berbasis client/server terdapat pada sistem
operasi.
Menurut Laundon,Arsitektur informasi adalah bentuk khusus yang
menggunakan teknologi informasi dalam organisasi untuk mencapai tujuantujuan
maupun fungsi-fungsi yang telah dipilih.
Menurut Zwsas,Arsitektur informasi adalah desain sistem komputer secara
keseluruhan termasuk sistem jaringan untuk memenuhi kebutuhan-kebutuhan
organisasi yang spesifik
Arsitektur Informasi menggunakan arsitektur teknologi dibedakan atas 3 macam yaitu
Arsitektur tersentralisasi
Arsitektur ini telah dikenal sejak tahun 1960-an dengan mainframe sebagai
faktor utama.Mainframe adalah komputer yang berukuran relatif besaruntuk
menangani data yang berukuran besar dengan ribuan terminal untuk mengakses data
dengan tanggapan yang sangat cepat dan melibatkan jutaan transaksi.
Implementasinya adalah pemrosesan data yang terpusat/komputasi
terpusat.Semua pemrosesan data dilakukan oleh komputer yang ditempatkan didalam
suatu lokasi untuk melayani semua pemakai dalam organisasi
Arsitektur Desentralisasi
Arsitektur desentralisasi merupakan konsep dari pemrosesan data
tersebar/terdistribusi.Sistem pemrosesan data terdistribusi/komputasi tersebar sebagai
sistem yang terdiri atas sejumlah komputer yang tersebar pada berbagai lokasi yang
dihubungkan dengan sarana telekomunikasi dengan masing-masing komputer mampu
melakukan pemrosesan yang serupa secara mandiri,tetapi bisa saling berinteraksi
dalam pertukaran data
Arsitektur Client/Server
Server adalah sistem/proses yang menyediakan data/layanan yang diminta oleh
client.Server dapat berupa komputer (mainframe,mini komputer,workstation,ataupun
PC ) atau piranti lain misalnya printer.
Client mempunyai kemampuan untuk melakukan proses sendiri.Ketika sebuah client
meminta suatu data ke server,server akan segera menanggapinya dengan memberikan
data yang diminta ke client bersangkutanSeteleh diterima client akan melakukan
pemrosesan.Model komputasi yang berbasis client/server terdapat pada sistem
operasi.
Sistem Informasi Manajemen adalah sekumpulan hardware, software, brainware, prosedur dan atau aturan yang diorganisasikan secara integral untuk mengolah data menjadi informasi yang bermanfaat guna memecahkan masalah dan pengambilan keputusan.
Komponen Sistem Informasi
Komponen keras ( Hardware )
Perangkat lunak ( Software ) atau program
Prosedur
Orang
Basis Data ( Database )
Jaringan Komputer dan Komunikasi Data
SISTEM INFORMASI PRIBADI
3 Macam Arsitektur dalam Sistem Informasi
Arsitektur tersentralisasi
Arsitektur terdistribusi
Arsitektur Client / Server
Komponen Sistem Informasi
Komponen keras ( Hardware )
Perangkat lunak ( Software ) atau program
Prosedur
Orang
Basis Data ( Database )
Jaringan Komputer dan Komunikasi Data
SISTEM INFORMASI PRIBADI
3 Macam Arsitektur dalam Sistem Informasi
Arsitektur tersentralisasi
Arsitektur terdistribusi
Arsitektur Client / Server
Kamis, 19 Maret 2009
chepter5
Private Declare Function GetTickCount Lib "kernel32" () As Long 'this function lets us not use timer
'timers are bad :)
'main body... each part of the snake has X and Y
Private Type Part
X As Integer
Y As Integer
End Type
'Dynamic array to store part coordinates
Dim Part() As Part
'Velocity in X and Y direction of the snake
Dim vX As Integer, vY As Integer
Dim i As Integer 'for loops
Dim CS As Single 'cell size
Dim FX As Integer, FY As Integer 'food coordinates
Dim X As Integer, Y As Integer
Dim bRunning As Boolean, died As Boolean
Private Sub Form_Load()
Randomize 'random generation
'Initialize controls******************
Picture1.BackColor = vbWhite
Picture1.ScaleMode = 3 'pixels
CS = 20 'cell size in pixels
X = Int(Picture1.ScaleWidth / CS)
Y = Int(Picture1.ScaleHeight / CS)
Picture1.AutoRedraw = True
Picture1.ScaleWidth = X * CS
Picture1.ScaleHeight = Y * CS
Me.WindowState = 2
Me.Show
DrawGrid Picture1, CS
'*************************************
died = False
'set up the game
ReDim Part(0)
Part(0).X = 0
Part(0).Y = 0
FX = Int(Rnd * X)
FY = Int(Rnd * Y)
'go to main loop
bRunning = True
MainLoop
End Sub
Sub MainLoop()
Do While bRunning = True
Update
Draw
WAIT (50) 'increasing this number makes game slower
Loop
Unload Me
End Sub
Sub Update()
'MOVE PARTS
For i = UBound(Part) To 1 Step -1
Part(i).X = Part(i - 1).X
Part(i).Y = Part(i - 1).Y
Next i
'MOVE HEAD
Part(0).X = Part(0).X + vX
Part(0).Y = Part(0).Y + vY
'HAS HE GONE OUT OF BOUNDS ?
If Part(0).X <>= X Or Part(0).Y <>= Y Then
died = True
End If
'HAS HE CRASHED INTO HIMSELF ?
For i = 1 To UBound(Part)
If Part(i).X = Part(0).X And Part(i).Y = Part(0).Y Then
died = True
End If
Next i
'DID HE EAT FOOD ?
If Part(0).X = FX And Part(0).Y = FY Then
ReDim Preserve Part(UBound(Part) + 1)
Part(UBound(Part)).X = -CS
Part(UBound(Part)).Y = -CS
FX = Int(Rnd * X)
FY = Int(Rnd * Y)
Form1.Caption = "Parts: " & UBound(Part)
End If
'IS HE DEAD ?
If died = True Then NewGame
End Sub
Sub Draw()
'DRAW WHITENESS
Rectangle 0, 0, X * CS, Y * CS, vbWhite
'DRAW SNAKE. PARTS IN BLUE, HEAD IN GREEN
For i = 1 To UBound(Part)
Rectangle Part(i).X * CS, Part(i).Y * CS, Part(i).X * CS + CS, Part(i).Y * CS + CS, vbBlue
Next i
Rectangle Part(0).X * CS, Part(0).Y * CS, Part(0).X * CS + CS, Part(0).Y * CS + CS, vbGreen
'DRAW FOOD
Rectangle FX * CS, FY * CS, FX * CS + CS, FY * CS + CS, vbRed
DrawGrid Picture1, CS
End Sub
Sub Rectangle(X1 As Integer, Y1 As Integer, X2 As Integer, Y2 As Integer, color As Long)
Picture1.Line (X1, Y1)-(X2, Y2), color, BF
End Sub
Sub NewGame()
'SET UP NEW GAME
died = False
ReDim Part(0)
Part(0).X = 0
Part(0).Y = 0
vX = 0
vY = 0
FX = Int(Rnd * X)
FY = Int(Rnd * Y)
End Sub
Sub DrawGrid(Pic As Control, CS As Single)
'**************************************************************************
'DRAW GRID
'**************************************************************************
Dim i As Integer, Across As Single, Up As Single
Across = Pic.ScaleWidth / CS
Up = Pic.ScaleHeight / CS
For i = 0 To Across
Pic.Line (i * CS, 0)-(i * CS, Up * CS)
Next i
For i = 0 To Up
Pic.Line (0, i * CS)-(Across * CS, i * CS)
Next i
End Sub
Sub WAIT(Tim As Integer)
'**************************************************************************
'WAIT FUNCTION
'**************************************************************************
Dim LastWait As Long
LastWait = GetTickCount
Do While Tim > GetTickCount - LastWait
DoEvents
Loop
End Sub
Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)
'USER KEYPRESSES HANDLED HERE
Select Case KeyCode
Case vbKeyRight
vX = 1
vY = 0
Case vbKeyLeft
vX = -1
vY = 0
Case vbKeyUp
vX = 0
vY = -1
Case vbKeyDown
vX = 0
vY = 1
End Select
End Sub
Private Sub Picture1_KeyPress(KeyAscii As Integer)
'27 is ESC. IF user presses ESC, QUIT
If KeyAscii = 27 Then bRunning = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
'This function can be left out
End
End Sub
'timers are bad :)
'main body... each part of the snake has X and Y
Private Type Part
X As Integer
Y As Integer
End Type
'Dynamic array to store part coordinates
Dim Part() As Part
'Velocity in X and Y direction of the snake
Dim vX As Integer, vY As Integer
Dim i As Integer 'for loops
Dim CS As Single 'cell size
Dim FX As Integer, FY As Integer 'food coordinates
Dim X As Integer, Y As Integer
Dim bRunning As Boolean, died As Boolean
Private Sub Form_Load()
Randomize 'random generation
'Initialize controls******************
Picture1.BackColor = vbWhite
Picture1.ScaleMode = 3 'pixels
CS = 20 'cell size in pixels
X = Int(Picture1.ScaleWidth / CS)
Y = Int(Picture1.ScaleHeight / CS)
Picture1.AutoRedraw = True
Picture1.ScaleWidth = X * CS
Picture1.ScaleHeight = Y * CS
Me.WindowState = 2
Me.Show
DrawGrid Picture1, CS
'*************************************
died = False
'set up the game
ReDim Part(0)
Part(0).X = 0
Part(0).Y = 0
FX = Int(Rnd * X)
FY = Int(Rnd * Y)
'go to main loop
bRunning = True
MainLoop
End Sub
Sub MainLoop()
Do While bRunning = True
Update
Draw
WAIT (50) 'increasing this number makes game slower
Loop
Unload Me
End Sub
Sub Update()
'MOVE PARTS
For i = UBound(Part) To 1 Step -1
Part(i).X = Part(i - 1).X
Part(i).Y = Part(i - 1).Y
Next i
'MOVE HEAD
Part(0).X = Part(0).X + vX
Part(0).Y = Part(0).Y + vY
'HAS HE GONE OUT OF BOUNDS ?
If Part(0).X <>= X Or Part(0).Y <>= Y Then
died = True
End If
'HAS HE CRASHED INTO HIMSELF ?
For i = 1 To UBound(Part)
If Part(i).X = Part(0).X And Part(i).Y = Part(0).Y Then
died = True
End If
Next i
'DID HE EAT FOOD ?
If Part(0).X = FX And Part(0).Y = FY Then
ReDim Preserve Part(UBound(Part) + 1)
Part(UBound(Part)).X = -CS
Part(UBound(Part)).Y = -CS
FX = Int(Rnd * X)
FY = Int(Rnd * Y)
Form1.Caption = "Parts: " & UBound(Part)
End If
'IS HE DEAD ?
If died = True Then NewGame
End Sub
Sub Draw()
'DRAW WHITENESS
Rectangle 0, 0, X * CS, Y * CS, vbWhite
'DRAW SNAKE. PARTS IN BLUE, HEAD IN GREEN
For i = 1 To UBound(Part)
Rectangle Part(i).X * CS, Part(i).Y * CS, Part(i).X * CS + CS, Part(i).Y * CS + CS, vbBlue
Next i
Rectangle Part(0).X * CS, Part(0).Y * CS, Part(0).X * CS + CS, Part(0).Y * CS + CS, vbGreen
'DRAW FOOD
Rectangle FX * CS, FY * CS, FX * CS + CS, FY * CS + CS, vbRed
DrawGrid Picture1, CS
End Sub
Sub Rectangle(X1 As Integer, Y1 As Integer, X2 As Integer, Y2 As Integer, color As Long)
Picture1.Line (X1, Y1)-(X2, Y2), color, BF
End Sub
Sub NewGame()
'SET UP NEW GAME
died = False
ReDim Part(0)
Part(0).X = 0
Part(0).Y = 0
vX = 0
vY = 0
FX = Int(Rnd * X)
FY = Int(Rnd * Y)
End Sub
Sub DrawGrid(Pic As Control, CS As Single)
'**************************************************************************
'DRAW GRID
'**************************************************************************
Dim i As Integer, Across As Single, Up As Single
Across = Pic.ScaleWidth / CS
Up = Pic.ScaleHeight / CS
For i = 0 To Across
Pic.Line (i * CS, 0)-(i * CS, Up * CS)
Next i
For i = 0 To Up
Pic.Line (0, i * CS)-(Across * CS, i * CS)
Next i
End Sub
Sub WAIT(Tim As Integer)
'**************************************************************************
'WAIT FUNCTION
'**************************************************************************
Dim LastWait As Long
LastWait = GetTickCount
Do While Tim > GetTickCount - LastWait
DoEvents
Loop
End Sub
Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)
'USER KEYPRESSES HANDLED HERE
Select Case KeyCode
Case vbKeyRight
vX = 1
vY = 0
Case vbKeyLeft
vX = -1
vY = 0
Case vbKeyUp
vX = 0
vY = -1
Case vbKeyDown
vX = 0
vY = 1
End Select
End Sub
Private Sub Picture1_KeyPress(KeyAscii As Integer)
'27 is ESC. IF user presses ESC, QUIT
If KeyAscii = 27 Then bRunning = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
'This function can be left out
End
End Sub
chepter4
Option Explicit
Dim days As Long '<-Stores the number of days elapsed from 1/1/1900 to current month and year
Dim i As Integer
Private Sub cmdGenerate_Click()
On Error GoTo Error_handle 'On error, goto to end of function
days = 0
For i = 0 To 34
Label1(i).Caption = "" 'Clear all the labels
Next i
For i = 1900 To txtYear.Text - 1
If i Mod 4 = 0 Then 'If leap year then count 366 days
days = days + 366
Else 'else 365 days
days = days + 365
End If
Next i
For i = 1 To txtMonth.Text - 1
If i = 1 Or i = 3 Or i = 5 Or i = 7 Or i = 8 Or i = 10 Or i = 12 Then 'For January,March,May....,December count 31 days
days = days + 31
ElseIf (i = 4 Or i = 6 Or i = 9 Or i = 11) Then 'For April,June,September,November count 30 days
days = days + 30
ElseIf (i = 2 And txtYear.Text Mod 4 = 0) Then 'If month is February and year is leap year count 29 days
days = days + 29
Else 'If month is February and year is not a leap year, count 28 days
days = days + 28
End If
Next i
If (i = 1 Or i = 3 Or i = 5 Or i = 7 Or i = 8 Or i = 10 Or i = 12) Then
show_calender 31 'Show calender with 31 days
ElseIf (i = 4 Or i = 6 Or i = 9 Or i = 11) Then
show_calender 30 'Show calender with 30 days
ElseIf (i = 2 And txtYear.Text Mod 4 = 0) Then
show_calender 29 'Show calender with 29 days
Else
show_calender 28 'Show calender with 28 days
End If
Error_handle:
End Sub
Private Function show_calender(n As Integer) '//<- n stores the number of days to display
Dim i, k As Integer
k = days Mod 7 'Divide days with 7, the remainder give the current day
For i = 1 To n
Label1(k).Caption = i 'Display the number in calender format
k = k + 1
If k = 35 Then k = 0
Next i
End Function
Private Sub txtMonth_Change()
End Sub
Jumat, 20 Februari 2009
Langganan:
Postingan (Atom)