Quiz Online Pemrograman Jaringan No. 2

Tugas ini di buat guna menyelesaikan Quiz yang diberikan dari kampus saya.

Untuk mengetahui Soal dari Quiz No. 2 tersebut : [Klik Disini]

SERVER

 

 

 

 

 

 

 

 

 

Listing Program :

Sub Hapus()
Kode.Enabled = True
ClearFORM Me
Call RubahCmd(Me, True, False, False, False)
CmdProses(1).Caption = “Simpan”
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 “Pemprosesan 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 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

Private Sub Form_Load()
Call OPENDB
Call Hapus
MulaiServer
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 = “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”

Case “EDIT”

Case “DELETE”
SQL = “DELETE*from Barang” & _
“Where Kode='” & xData1(1) & “‘”
DB.BeginTrans
DB.Execute SQL, adcmtable
DB.CommitTrans
Adodc1.Refresh
WS.SendData “DEL-xxx”

Case “UPDATE”
DB.BeginTrans
DB.Execute xData1(1), adCmdTable
DB.CommitTrans
WS.SendData “EDIT-xxx”
Adodc1.Refresh

End Select
End Sub

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=C:\Belajar Server\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

CLIENT

Listing Program :

Dim IPServer As String

Sub Hapus()
Kode.Enabled = True
ClearFORM Me
Call RubahCMD(Me, True, False, False, False)
CmdProses(1).Caption = “&Simpan”
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 “Pemprosesan RECORD Database telah berhasil…!”, vbInformation, “Barang”
Call Hapus
Kode.SetFocus
End Sub

Private Sub CmdProses_Click(Index As Integer)
Select Case Index
Case 0
Call Hapus
Kode.SetFocus
Case 1
If CmdProses(1).Caption = “&Simpan” Then

Else

End If
Case 2
x = MsgBox(“Yakin RECORD Barang Akan Dihapus…!”, vbQuestion + vbYesNo, “Barang”)
If x = vbYes Then

End If
Call Hapus
Kode.SetFocus
Case 3
Call Hapus
Kode.SetFocus
Case 4
Unload Me
End Select
End Sub

Private Sub Form_Load()
Call Hapus
MulaiKoneksi
End Sub

Private Sub Kode_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Kode.Text = “” Then Exit Sub
WS.SendData “SEARCH-” & Kode.Text
End If
End Sub

Sub MulaiKoneksi()
IPServer = “127.0.0.1”
IPClient = WS.LocalIP
WS.Connect IPServer, 1000
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
DoEvents
End
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 “NOTHING”
x = Kode.Text
Call Hapus
Kode.Text = x
Call RubahCMD(Me, False, True, False, True)
CmdProses(1).Caption = “&Simpan”
Nama.SetFocus
Case “RECORD”
xData2 = Split(xData1(1), “/”)
Nama.Text = xData2(0)
Harga.Text = xData2(1)
Call RubahCMD(Me, False, True, True, True)
CmdProses(1).Caption = “&Edit”
Kode.Enabled = False
Nama.SetFocus
End Select
End Sub

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

Database :

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: