Sabtu, 28 Januari 2012

jawaban no 3 (surya ningsih)


LISTING PROGRAM SERVER

Dim ClientIndex As Byte

Dim cRequest As Integer

Dim cData As String

Dim i As Integer

Dim iGD As Integer

Sub MulaiServer()

WS(0).LocalPort = 3000

WS(0).Listen

cRequest = 1

ClientIndex = 1

End Sub

Private Sub Form_Load()

MulaiServer

GD.Rows = 41

For i = 1 To 40

GD.Col = 0

GD.Row = i

GD.Text = i

Next i

iGD = 1

End Sub

Private Sub Timer1_Timer()

For i = 1 To GD.Rows - 1

GD.Row = i

GD.Col = 4

If GD.Text = "START" Then

GD.Col = 3

GD.Text = Time

End If

Next i

End Sub

Private Sub Timer2_Timer()

WS.SendData "PAKAI-" & Pakai.Value & "/" & 3000

End Sub

Private Sub WS_ConnectionRequest(index As Integer, ByVal requestID As Long)

Load WS(cRequest)

WS(cRequest).Close

WS(cRequest).Accept requestID

cRequest = cRequest + 1 '

Timer1.Enabled = True

Timer2.Enabled = True

End Sub

Private Sub WS_DataArrival(index As Integer, ByVal bytesTotal As Long)

WS(index).GetData cData, vbString, bytesTotal

Call CekData(index)

End Sub

Sub CekData(index)

Dim kata() As String

kata = Split(cData, "-")

Select Case kata(0)

Case "START"

GD.Row = iGD

GD.Col = 1

GD.Text = kata(1) 'WS(index).RemoteHostIP

GD.Col = 2

GD.Text = Time

GD.Col = 4

GD.Text = "START"

GD.Col = 5

GD.Text = kata(2)

iGD = iGD

Case "STOP"

For i = 1 To GD.Rows - 1

GD.Row = i

GD.Col = 1

If GD.Text = kata(1) Then

GD.Col = 4

GD.Text = "STOP"

End If

Next i

End Select

End Sub

Private Sub WS_Error(index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)

WS(index).Close

End Sub

BERIKUT ADALAH HASIL PROGRAM SERVER















LISTING PROGRAM CLIENT

Dim IPS As String

Dim user As String

Dim xpakai As String

Dim xkirim As String

Dim xData1() As String

Dim xData2() As String

Private Sub Form_Load()

IPS = "127.0.0.1"

user = ws.LocalIP

ws.Connect IPS, 3000

End Sub

Private Sub start_Click()

ws.SendData "START-" & user & "-SURYA NINGSIH"

End Sub

Private Sub stop_Click()

ws.SendData "STOP-" & user

End Sub

Private Sub Timer1_Timer()

mulai.Value = Format(Now, "HH:MM:SS")

Timer1.Enabled = True

End Sub

Private Sub Timer2_Timer()

pakai.Value = Format(Now, "HH:MM:SS")

Timer2.Enabled = True

Private Sub WS_DataArrival(ByVal bytesTotal As Long)

ws.GetData xkirim, vbString, bytesTotal

Call CheckData

End Sub

Sub CheckData()

xData1 = Split(xkirim, "-")

xData2 = Split(xData1(1), "/")

Select Case xData1(0)

Case "PAKAI"

mulai.Value = xData2(0)

selesai.Value = xData2(1)

pakai.Value = xData2(2)

biaya.Text = (Val(Hour(pakai.Value) * 60) + Val(Minute(pakai.Value) * 50))

End Select

End Sub


HASIL PROGRAM CLIENT:





jawaban no 2 (surya ningsih)


SERVER

LISTING PROGRAM SERVER

Private Sub cmdproses_Click(Index As Integer)

Select Case Index

Case 0

Call hapus

kode.SetFocus

Case 1

If cmdproses(1).Caption = "&Simpan" Then

Call prosesDB(0)

Else

Call prosesDB(1)

End If

Case 2

X = MsgBox("yakin RECORD barang akan dihapus...!", vbQuestion + vbYesNo, "barang")

If X = vbYes Then prosesDB 2

Call hapus

kode.SetFocus

Case 3

Call hapus

kode.SetFocus

Case 4

Unload Me

End Select

End Sub

Sub hapus()

kode.Enabled = True

clearform Me

Call rubahcmd(Me, True, False, False, False)

cmdproses(1).Caption = " &Simpan"

End Sub

Private Sub Form_Load()

Call opendb

Call hapus

mulaiserver

End Sub

Sub prosesDB(log As Byte)

Select Case log

Case 0

SQL = "INSERT INTO barang(kode,nama,harga)" & _

"values('" & kode.Text & _

"','" & nama.Text & _

"','" & harga.Text & "')"

Case 1

SQL = "UPDATE barang SET nama='" & nama.Text & "'," & _

"harga='" & harga.Text & "' " & _

"WHERE kode='" & kode.Text & "'"

Case 2

SQL = "DELETE FROM barang WHERE kode='" & kode.Text & "'"

End Select

MsgBox "Pemrosesan record Database telah berhasil....!!", vbInformation, "Data Barang"

db.BeginTrans

db.Execute SQL, adCmdTable

db.CommitTrans

Call hapus

Adodc1.Refresh

kode.SetFocus

End Sub

Sub tampilbarang()

On Error Resume Next

kode.Text = rs!kode

nama.Text = rs!nama

harga.Text = rs!harga

End Sub

Private Sub kode_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then

If kode.Text = "" Then

MsgBox "Masukkan Kode Barang!", vbInformation, "Barang"

kode.SetFocus

Exit Sub

End If

SQL = " SELECT * FROM barang WHERE kode='" & kode.Text & "'"

If rs.State = adStateOpen Then rs.Close

rs.Open SQL, db, adOpenDynamic, adLockOptimistic

If rs.RecordCount <> 0 Then

tampilbarang

Call rubahcmd(Me, False, True, True, True)

cmdproses(1).Caption = "&Edit"

kode.Enabled = False

Else

X = kode.Text

Call hapus

kode.Text = X

Call rubahcmd(Me, False, True, False, True)

cmdproses(1).Caption = "&Simpan"

End If

nama.SetFocus

End If

End Sub

Sub mulaiserver()

ws.LocalPort = 1000

ws.Listen

End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long)

ws.Close

ws.Accept requestID

Me.Caption = "server-client" & ws.RemoteHostIP & "connect"

End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)

Dim xkirim As String

Dim xData1() As String

Dim xData2() As String

ws.GetData xkirim, vbString, bytesTotal

xData1 = Split(xkirim, "-")

Select Case xData1(0)

Case "SEARCH"

SQL = " delete * FROM barang " & _

" where kode= '" & xData1(1) & "'"

SQL = "SELECT * FROM barang WHERE kode='" & xData1(1) & "'"

If rs.State = adStateOpen Then rs.Close

rs.Open SQL, db, adOpenDynamic, adLockOptimistic

If rs.RecordCount <> 0 Then

ws.SendData "RECORD-" & rs!nama & "/" & rs!harga

Else

ws.SendData "NOTHING-DATA"

End If

Case "INSERT"

db.BeginTrans

db.Execute xData1(1), adCmdTable

db.CommitTrans

Adodc1.Refresh

ws.SendData "INSERT-XXX"

Case "EDIT"

db.BeginTrans

db.Execute xData1(1), adCmdTable

db.CommitTrans

Adodc1.Refresh

ws.SendData "UPDATE-XXX"

Case "DELETE"

SQL = " delete * FROM barang " & _

" where kode= '" & xData1(1) & "'"

db.BeginTrans

db.Execute SQL, adCmdTable

db.CommitTrans

Adodc1.Refresh

ws.SendData "DEL-xxx"

Case "UPDATE"

db.BeginTrans

db.Execute xData1(1), adCmdTable

db.CommitTrans

End Select

End Sub

LISTING PROGRAM MODULE

Public db As New ADODB.Connection

Public rs As New ADODB.Recordset

Public rs2 As New ADODB.Recordset

Public SQL As String

Sub opendb()

If db.State = adStateOpen Then db.Close

db.CursorLocation = adUseClient

db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\module\belajar server\vb\test.mdb;Persist Security Info=False"

End Sub

Sub clearform(f As Form)

Dim ctl As Control

For Each ctl In f

If TypeOf ctl Is TextBox Then ctl.Text = ""

If TypeOf ctl Is ComboBox Then ctl.Text = ""

Next

End Sub

Sub center(f As Form)

f.Move (Screen.Width - f.Width) / 2, (Screen.Height - f.Height) / 4

End Sub

Sub rubahcmd(f As Form, L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean)

f.cmdproses(0).Enabled = L0

f.cmdproses(1).Enabled = L1

f.cmdproses(2).Enabled = L2

f.cmdproses(3).Enabled = L3

End Sub

HASIL TAMPILAN PROGRAM SERVER




CLIENT

LISTING PROGRAM CLIENT

Private Sub cmdproses_Click(Index As Integer)

Select Case Index

Case 0

Call hapus

kode.SetFocus

Case 1

If cmdproses(1).Caption = "&Simpan" Then

Call prosesDB(0)

Else

Call prosesDB(1)

End If

Case 2

X = MsgBox("yakin RECORD barang akan dihapus...!", vbQuestion + vbYesNo, "barang")

If X = vbYes Then prosesDB 2

Call hapus

kode.SetFocus

Case 3

Call hapus

kode.SetFocus

Case 4

Unload Me

End Select

End Sub

Sub hapus()

kode.Enabled = True

clearform Me

Call rubahcmd(Me, True, False, False, False)

cmdproses(1).Caption = " &Simpan"

End Sub

Private Sub Form_Load()

Call opendb

Call hapus

mulaiserver

End Sub

Sub prosesDB(log As Byte)

Select Case log

Case 0

SQL = "INSERT INTO barang(kode,nama,harga)" & _

"values('" & kode.Text & _

"','" & nama.Text & _

"','" & harga.Text & "')"

Case 1

SQL = "UPDATE barang SET nama='" & nama.Text & "'," & _

"harga='" & harga.Text & "' " & _

"WHERE kode='" & kode.Text & "'"

Case 2

SQL = "DELETE FROM barang WHERE kode='" & kode.Text & "'"

End Select

MsgBox "Pemrosesan record Database telah berhasil....!!", vbInformation, "Data Barang"

db.BeginTrans

db.Execute SQL, adCmdTable

db.CommitTrans

Call hapus

Adodc1.Refresh

kode.SetFocus

End Sub

Sub tampilbarang()

On Error Resume Next

kode.Text = rs!kode

nama.Text = rs!nama

harga.Text = rs!harga

End Sub

Private Sub kode_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then

If kode.Text = "" Then

MsgBox "Masukkan Kode Barang!", vbInformation, "Barang"

kode.SetFocus

Exit Sub

End If

SQL = " SELECT * FROM barang WHERE kode='" & kode.Text & "'"

If rs.State = adStateOpen Then rs.Close

rs.Open SQL, db, adOpenDynamic, adLockOptimistic

If rs.RecordCount <> 0 Then

tampilbarang

Call rubahcmd(Me, False, True, True, True)

cmdproses(1).Caption = "&Edit"

kode.Enabled = False

Else

X = kode.Text

Call hapus

kode.Text = X

Call rubahcmd(Me, False, True, False, True)

cmdproses(1).Caption = "&Simpan"

End If

nama.SetFocus

End If

End Sub

Sub mulaiserver()

ws.LocalPort = 1000

ws.Listen

End Sub

Private Sub ws_ConnectionRequest(ByVal requestID As Long)

ws.Close

ws.Accept requestID

Me.Caption = "server-client" & ws.RemoteHostIP & "connect"

End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)

Dim xkirim As String

Dim xData1() As String

Dim xData2() As String

ws.GetData xkirim, vbString, bytesTotal

xData1 = Split(xkirim, "-")

Select Case xData1(0)

Case "SEARCH"

SQL = " delete * FROM barang " & _

" where kode= '" & xData1(1) & "'"

SQL = "SELECT * FROM barang WHERE kode='" & xData1(1) & "'"

If rs.State = adStateOpen Then rs.Close

rs.Open SQL, db, adOpenDynamic, adLockOptimistic

If rs.RecordCount <> 0 Then

ws.SendData "RECORD-" & rs!nama & "/" & rs!harga

Else

ws.SendData "NOTHING-DATA"

End If

Case "INSERT"

db.BeginTrans

db.Execute xData1(1), adCmdTable

db.CommitTrans

Adodc1.Refresh

ws.SendData "INSERT-XXX"

Case "EDIT"

db.BeginTrans

db.Execute xData1(1), adCmdTable

db.CommitTrans

Adodc1.Refresh

ws.SendData "UPDATE-XXX"

Case "DELETE"

SQL = " delete * FROM barang " & _

" where kode= '" & xData1(1) & "'"

db.BeginTrans

db.Execute SQL, adCmdTable

db.CommitTrans

Adodc1.Refresh

ws.SendData "DEL-xxx"

Case "UPDATE"

db.BeginTrans

db.Execute xData1(1), adCmdTable

db.CommitTrans

End Select

End Sub

MODULE CLIENT

Public db As New ADODB.Connection

Public rs As New ADODB.Recordset

Public rs2 As New ADODB.Recordset

Public SQL As String

Sub opendb()

If db.State = adStateOpen Then db.Close

db.CursorLocation = adUseClient

db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\suryaning-a562c3\vb2\vb\test.mdb;Persist Security Info=False"

End Sub

Sub clearform(f As Form)

Dim ctl As Control

For Each ctl In f

If TypeOf ctl Is TextBox Then ctl.Text = ""

If TypeOf ctl Is ComboBox Then ctl.Text = ""

Next

End Sub

Sub center(f As Form)

f.Move (Screen.Width - f.Width) / 2, (Screen.Height - f.Height) / 4

End Sub

Sub rubahcmd(f As Form, L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean)

f.cmdproses(0).Enabled = L0

f.cmdproses(1).Enabled = L1

f.cmdproses(2).Enabled = L2

f.cmdproses(3).Enabled = L3

End Sub

HASIL TAMPILAN FORM CLIENT


Rabu, 18 Januari 2012

client-server(TUGAS)

Laporan Data Buku

Dengan menggunakan Database Microsoft office Accses dan Program Visual Basic 6.0

Pemrograman Visual Basic

Visual basic adalah bahasa pemrograman tingkat tinggi produk dari Microsoft Corporation dan merupakan pengembangan dari bahasa BASIC (Beginner Allpurpose Instruction Code ) versi DOS.

Visual basic merupakan pemrograman terkendali kejadian (event driven pemograman), artinya pemrograman menunggu sampai adanya respon dari pengguna berupa event / kejadian tertentu (tombol di klik, menu dipilih, dan lain-lain). Ketika event terdeteksi, kode yang berhubungan dengan event akan dieksekusi.
Lingkungan Kerja Visual Basic
Pada saat pertama di jalankan visual basic akan menampilkan sebuah splash screen yang menampilkan logo dari Visual Basic.
Selanjutnya Visual Basic menempilkan IDE (Integrated Development environment) yang merupakan tempat untuk menghasilkan program aplikasi, seperti gambar dibawah ini.
Gambar Visual Basic 6.0
a. Menu Bar
Baris Menu terletak paling atas pada IDE, Menu merupakan kumpulan perintah-perintah yang di kelompokkan dalam kriteria operasi yang di hasilakan.
Gambar Menu Bar
b. Form
Form adalah sebuah objek yang di pakai sebagai sebagai tempat bekerja program aplikasi. Di dalam form garis titik-titik disebut grid yang membuat pemakai dalam pengaturan tata letak objek dalam form.

Gambar Form
c. Toolbar
Toolbar adalah tombol-tombol yang mewakili suatu perintah tertentu dengan Visual Basic.

Gambar Toolbar
d. Window Property
Property digunakan untuk menentukan setting atau objek. Suatu objek biasanya mempunyai beberapa property yang dapat diatur langsung dari jendela properties atau lewat jendela program. Untuk menggunakan properti yaitu click terlebih dahulu kontrol yang ingin kita setting. Bentuk dari properties dapat dilihat pada gambar berikut :

Gambar Window Property
e. Window Form LayOut
Form LayOut window adalah jendela yang menggambarkan posisi dari form yang ditampilakn pada layar monitor.
Gambar Form layout

f. Project Explorer
Project adalah sekumpulan modul. Jadi project atau proyek merupakan progaram aplikasi itu sendiri. Project disimpan dalam fileyang berakhiran VBP. File ini menyimpan seluruh komponen program, termasuk pilihan proyek, pilihan environment, pilihan file EXEdan segala sesuatu yang berkaitan dengan proyek.
Gambar Project Explorer
g. Code Window
Code Window adalah jendela yang berisi kode-kode pogram yang merupakan intruksi-intruksi program untuk aplikasi Visual Basic.
Gambar Code Window
Server adalah adalah komputer yang menyediakan fasilitas bagi komputer- komputer lain di dalam jaringan.
Client adalah komputer-komputer yang menerima atau menggunakan fasilitas yang disediakan oleh server.
Komputer server
Langkah berikut ini dilakukan pada komputer server:
1.Buat terlebih dahulu folder belajarserver pada komputer
a. buka windows explorer pada drive c: buat folder












b. klik kanan folder pilih sharing and security
















c. setelah itu muncul dialog berikut:













Checklist share this folder and allow network hal ini bertujuan untuk memberikan hak accsess kepada komputer client untuk bisa merubah data yang berada pada komputer server. Kemudian klik ok dan akan muncul gambar tangan pada folder yanf sudah di sharingkan.
Kemudian buat database dengan menggunakan Microsoft Accsess dengan field berikut:
Field
Type
kd_buku
text
judul
text
penerbit
text
harga
text
jumlah
text

Isikan data:
kd_buku
judul
penerbit
harga
jumlah
004.678
Buku Pintar Menguasai Internet
Elex MediaKomputindo
64900
12
040.035.11
Panduan Ngeblog Menggunakan Wordpress
Andi
28500
6

Langkah membuat database Microsoft Office Accsess

1.buka Microsoft Office Accsess



Plih blank database dan ketikkan nama database data_buku, cari lokasi untuk penyimpanannya.misalnya di Drive D:

Kemudian klik create




































Pilih Design view












ketikkan field dan kemudian disimpan dengan nama tabel buku







Berikut adalah tampilan form Login server beserta Listing Program :


Label : ketikkan di caption pada jendela windowpropety disebelah kanan user dan
Password.
Textbox : ketikkan di name pada jendela windowproperty
text 1: user
text2: password
Commanbutton: ketikkan di name dan caption
Name:cmdlogin caption:Login
Name:cmdexit caption:exit

Listing Program:
Private Sub cmdkeluar_Click()
Unload Me
End Sub

Private Sub cmdmasuk_Click()
If user.Text = "eka_wahyuni" And password.Text = "eka" Then
menu.Show
ElseIf user.Text = "" & password.Text = "" Then
MsgBox "Silahkan Anda Masukkan password untuk Login", vbCritical, "info"
user.SetFocus
Else
MsgBox "Password yang anda inputkan salah", vbCritical, "info"
user.Text = ""
password.Text = ""
End If
End Sub

Private Sub Form_Load()
user.Text = ""
password.Text = ""
password.PasswordChar = "*"
End Sub

Private Sub password_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
cmdmasuk_Click
End If
End Sub

Private Sub user_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If user.Text = "" Then
user.SetFocus
Exit Sub
End If
password.SetFocus
End If
End Sub

2. Tampilan Menu Utama













Untuk membuat menu utama :

1.klik kanan project, add, form, dan enter

2.klik kanan form, menu editor, isikan caption dan file
Caption: File
File :f
Kemudian pilih insert dan tanda panah, isikan kembali
Caption: Laporan Data Buku
File :ldb
Kemudian next, begitu seterusnya kemudian klik ok.jadilah menu utama sesuai yang dibutuhkan.
Listing Program menu Utama
Private Sub k_Click()
Unload Me
End Sub
Private Sub ldb_Click()
data_buku.Show
End Sub
3. Tampilan laporan Data Buku
Data Buku terdiri dari Beberapa Field
Tabel buku
Nama Database : Data_buku
No
Field Name
Type
1
Kd_buku
text
2
judul
text
3
penerbit
text
4
harga
text
5
jumlah
text

Listing Program Data Buku
Sub hapus()
kd_buku.Enabled = True
clearform Me
Call rubahcmd(Me, True, False, False, False)
cmdproses(1).Caption = "&Simpan"

End Sub
Private Sub cmdproses_Click(Index As Integer)
Select Case Index
Case 0
Call hapus
kd_buku.SetFocus
Case 1
If cmdproses(1).Caption = " &simpan" Then
Call prosesDB(0)
Else
Call prosesDB(1)
End If
Case 2
X = MsgBox("yakin RECORD buku akan dihapus...!", vbQuestion + vbYesNo, "buku")
If X = vbYes Then prosesDB 2
Call hapus
kd_buku.SetFocus
Case 3
Call hapus
kd_buku.SetFocus
Case 4
pesan = MsgBox("Apakah Anda yakin keluar...?", vbInformation + vbYesNo, "keluar")
Unload Me
End Select
End Sub
Private Sub Form_Load()
Call opendb
Call hapus
mulaiserver
End Sub
Sub prosesDB(log As Byte)
Select Case log
Case 0
SQL = "INSERT INTO buku(kd_buku,judul,penerbit,harga,jumlah)" & _
"values('" & kd_buku.Text & _
"','" & judul.Text & _
"','" & penerbit.Text & _
"','" & harga.Text & _
"','" & jumlah.Text & "')"
Case 1
SQL = "UPDATE buku SET judul='" & judul.Text & "'," & _
"penerbit='" & penerbit.Text & "'," & _
"harga='" & harga.Text & "'," & _
"jumlah='" & jumlah.Text & "' " & _
"WHERE kd_buku='" & kd_buku.Text & "'"
Case 2
SQL = "DELETE FROM buku WHERE kd_buku='" & kd_buku.Text & "'"
End Select
MsgBox "Pemrosesan record Database telah berhasil....!!", vbInformation, "Data buku"
db.BeginTrans
db.Execute SQL, adCmdTable
db.CommitTrans
Call hapus
Adodc1.Refresh
kd_buku.SetFocus

End Sub
Sub tampilbuku()
On Error Resume Next
kd_buku.Text = rs!kd_buku
judul.Text = rs!judul
penerbit.Text = rs!penerbit
harga.Text = rs!harga
jumlah.Text = rs!jumlah
End Sub
Sub mulaiserver()
ws.LocalPort = 1000
ws.Listen
End Sub


Private Sub kd_buku_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If kd_buku.Text = "" Then
MsgBox "Masukkan kd_buku buku!", vbInformation, "buku"
kd_buku.SetFocus
Exit Sub
End If
SQL = " SELECT * FROM buku WHERE kd_buku='" & kd_buku.Text & "'"
If rs.State = adStateOpen Then rs.Close
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount <> 0 Then
tampilbuku
Call rubahcmd(Me, False, True, True, True)
cmdproses(1).Caption = " &Edit"
kd_buku.Enabled = False
Else
X = kd_buku.Text
Call hapus
kd_buku.Text = X
Call rubahcmd(Me, False, True, False, True)
cmdproses(1).Caption = " &Simpan"
End If
judul.SetFocus
End If
End Sub
Private Sub ws_ConnectionRequest(ByVal requestID As Long)
ws.Close
ws.Accept requestID
Me.Caption = "server-client" & ws.RemoteHostIP & "connect"


End Sub

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim xkirim As String
Dim xData1() As String
Dim xData2() As String
ws.GetData xkirim, vbString, bytesTotal

xData1 = Split(xkirim, "-")
Select Case xData1(0)
Case "SEARCH"
SQL = "SELECT * FROM buku WHERE kd_buku='" & xData1(1) & "'"
If rs.State = adStateOpen Then rs.Close
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount <> 0 Then
ws.SendData "RECORD-" & rs!judul & "/" & rs!penerbit & "/" & rs!harga & "/" & rs!jumlah
Else
ws.SendData "NOTHING-DATA"
End If
Case "INSERT"
db.BeginTrans
db.Execute xData1(1), adCmdTable
db.CommitTrans
Adodc1.Refresh
ws.SendData "INSERT-XXX"
Case "UPDATE"
db.BeginTrans
db.Execute xData1(1), adCmdTable
db.CommitTrans
Adodc1.Refresh
ws.SendData "UPDATE-XXX"
Case "DELETE"
SQL = "DELETE* from buku " & _
"where kd_buku='" & xData1(1) & "'"
db.BeginTrans
db.Execute SQL, adCmdTable
Adodc1.Refresh
ws.SendData "DEL-XXX"
End Select
End Sub


CLIENT


Client adalah komputer-komputer yang menerima atau menggunakan fasilitas yang disediakan oleh server.

Sebelum masuk ke form Client, kita harus Login terlebih dahulu.
Inputkan user dan password, kemudian klik masuk.
Berikut ini adalah form Login.












Tampilan listing program login:

Private Sub cmdkeluar_Click()
Unload Me
End Sub

Private Sub cmdmasuk_Click()
If user.Text = "suryaningsih" And password.Text = "bintun" Then
MDIForm1.Show
ElseIf user.Text = "" & password.Text = "" Then
MsgBox "silahkan masukkan password login", vbCritical, "info"
user.SetFocus
Else
MsgBox "password yang anda inputkan salah", vbCritical, "info"
user.Text = ""
password.Text = ""
End If

End Sub

Private Sub Form_Load()
user.Text = ""
password.Text = ""
password.PasswordChar = "*"
End Sub

Private Sub user_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
password.SetFocus
End If
End Sub



Kemudian masuk ke menu utama. Lalu pilih file, laporan data buku.
berikut ini adalah tampilan menu utama:

Dan berikut ini adalah tampilan listing program menu utama:

Private Sub e_Click()
Unload Me
End Sub

Private Sub ldb_Click()
client.Show
End Sub

Setelah dipilih data laporan buku maka akan tampil form client.
Berikut ini adalah tampilan form client:














Berikut adalah tampilan listing program client:

Dim IpServer As String
Sub hapus()
kode.Enabled = True
clearFORM Me
Call rubahCMD(Me, True, False, False)
cmdproses(1).Caption = "&simpan"
End Sub
Sub prosesDB(log As Byte)
Select Case log
Case 0
Case 0
SQL = "INSERT INTO buku(kd_buku,judul,penerbit,harga,jumlah)" & _
"values('" & kd_buku.Text & _
"','" & judul.Text & _
"','" & penerbit.Text & _
"','" & harga.Text & _
"','" & jumlah.Text & "')"
Case 1
SQL = "UPDATE buku SET judul='" & judul.Text & "'," & _
"penerbit='" & penerbit.Text & "' " & _
"harga='" & harga.Text & "' " & _
"jumlah='" & jumlah.Text & "' " & _
"where kd_buku='" & kd_buku.Text & "'"
Case 2
SQL = "DELETE FROM buku WHERE kd_buku='" & kd_buku.Text & "'"
End Select
MsgBox "pemrosesan RECORD database telah berhasil...!", vbInformation, "data buku"
Call hapus
kd_buku.SetFocus
End Sub

Private Sub cmdproses_Click(Index As Integer)
Select Case Index

Case 0
Call hapus
kd_buku.SetFocus

Case 1
If cmdproses(1).Caption = " &simpan" Then
SQL = "UPDATE buku SET judul='" & judul.Text & "'," & _
"penerbit='" & penerbit.Text & "' " & _
"harga='" & harga.Text & "' " & _
"jumlah='" & jumlah.Text & "' " & _
"where kd_buku='" & kd_buku.Text & "'"
ws.SendData "UPDATE-" & SQL
Else
SQL = "UPDATE buku SET " & _
"judul='" & judul.Text & _
"penerbit='" & penerbit.Text & _
"harga='" & harga.Text & _
"jumlah='" & jumlah.Text & _
"where kd_buku='" & kd_buku.Text & "'"
ws.SendData "UPDATE-" & SQL
End If

Case 2
X = MsgBox("yakin RECORD buku akan di hapus....!", vbQuestion + vbYesNo, "buku")
If X = vbYes Then
ws.SendData "DELETE-" & kd_buku.Text
End If
Call hapus
kd_buku.SetFocus
Case 3
Call hapus
kd_buku.SetFocus
Case 4
Unload Me
End Select
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
DoEvents
End
End Sub

Private Sub kd_buku_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If kd_buku.Text = "" Then Exit Sub
ws.SendData "SEARCH-" & kd_buku.Text
End If
End Sub


Sub mulaikoneksi()
IpServer = "127.0.0.1"
IPClient = ws.LocalIP
ws.Connect IpServer, 1000
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim xkirim As String
Dim xdata1() As String
Dim xdata2() As String
Dim xdata3() As String
ws.GetData xkirim, vbString, bytesTotal
xdata1 = Split(xkirim, "-")
Select Case xdata1(0)
Case "NOTHING"
X = kd_buku.Text
Call hapus
kd_buku.Text = X
Call rubahCMD(Me, False, True, False, True)
cmdproses(1).Caption = "&simpan"
judul.SetFocus
Case "RECORD"
xdata2 = Split(xdata1(1), "/")
judul.Text = xdata2(0)
penerbit.Text = xdata2(1)
harga.Text = xdata2(2)
jumlah.Text = xdata2(3)
End Sub

Call rubahCMD(Me, False, True, True, True)
cmdproses(1).Caption = "&Edit"
kd_buku.Enabled = False
judul.SetFocus

Case "DEL"
MsgBox "penghapusan data berhasil!"
Call hapus
Case "EDIT"
MsgBox "pengeditan Record berhasil!"
Call hapus
End Select

Tampilan listing module:
Public SQL As String
Sub clearFORM(f As Form)
Dim ctl As Control
For Each ctl In f
If TypeOf ctl Is TextBox Then ctl.Text = ""
If TypeOf ctl Is ComboBox Then ctl.Text = ""
Next
End Sub
Sub center(f As Form)
f.Move (Screen.Width - f.Width) / 2, (Screen.Height - f.Height) / 4
End Sub
Sub rubahCMD(f As Form, L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean)
f.cmdproses(0).Enabled = L0
f.cmdproses(1).Enabled = L1
f.cmdproses(2).Enabled = L2
f.cmdproses(3).Enabled = L3
End Sub