Minggu, 29 Januari 2012

JAWABAN SOAL NO. 3

LINK SONIA KE TUGAS QUIS PAK MESRAN

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 WS_ConnectionRequest(index As Integer, ByVal requestID As Long)
        Load WS(cRequest)
        WS(cRequest).Close
        WS(cRequest).Accept requestID
        cRequest = cRequest + 1 '
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)
    On Error Resume Next
        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 + 1
        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





listing program client

Dim IPS As String
Dim User As String

Private Sub Command1_Click()
ws.SendData “START-” & User & “-SONIA”
End Sub

Private Sub Command2_Click()
ws.SendData “STOP-” & User
End Sub

Private Sub Form_Load()
IPS = “127.0.0.1″
User = ws.LocalIP
ws.Connect IPS, 3000
masuk.Text = “”
keluar = “”
biaya.Text = “”
bayar.Text = “”
End Sub
Sub CheckData()
Dim kata() As String
kata = Split(cData, “-”)
Select Case kata(0)
Case “PAKAI”:
pakai.Value = xdata2(0)
biaya.Text = xdata2(1)
bayar.Text = Val(Hour(pakai.Value)) + Val(Minute(pakai.Value)) * (xkata(1) / 60)
End Select
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
ws.GetData xkirim, vbString, bytesTotal
Call CheckData
End Sub



Sabtu, 28 Januari 2012

SONIA

LINK SONIA KE TUGAS QUIS PAK MESRAN



LISTING PROGRAM SERVER

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 "Pemorosesan 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 5
    Adodc1.Refresh
    Case 4
    Unload Me
End Select
End Sub


Private Sub Command1_Click()
Adodc1.Refresh
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, adLockBatchOptimistic
    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, vdString, 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"
            SQL = "INSERT*from barang" & _
                Db.BeginTrans
                Db.Execute xData1(1), adCmdTable
                Db.CommitTrans
                WS.SendData "SIMPAN - xxx"
                Adodc1.Refresh
        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
                WS.SendData "EDIT - XXX"
                Adodc1.Refresh
               
        End Select
End Sub


MODULE SERVER

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:\SONIA\singh\db1.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

LISTING PROGRAM CLIENT


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
        SQL = "INSERT INTO Barang(Kode,Nama,Harga)" & _
        "values('" & Kode.Text & _
        "','" & Nama.Text & _
        "','" & Harga.Text & "')"
        WS.SendData "INSERT-" & SQL
       
    Else
        SQL = "UPDATE barang set " & _
            "nama= '" & Nama.Text & _
            "',harga='" & Harga.Text & _
            "' where kode='" & Kode.Text & "'"
        WS.SendData "UPDATE-" & SQL
       
    End If
    Case 2
        x = MsgBox("Yakin RECORD Barang Akan Dihapus...!", vbQuestion + vbYesNo, "Barang")
        If x = vbYes Then
        WS.SendData "DELETE-" & Kode.Text
       
        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 xkrim 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
Case "DEL"
MsgBox "penghapusan data berhasil !"
Call Hapus
Case "EDIT"
MsgBox "pengeditan record berhasil !"
Call Hapus
End Select
End Sub


MODULE CLIENT


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

Kamis, 19 Januari 2012

MODULE CLIENT


Public Db As New ADODB.Connection
Public Rs As New ADODB.Recordset
Public Rs2 As New ADODB.Recordset
Public Rslogin 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:\Buku1\db2.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

LISTING PROGRAM BUKU CLIENT


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 Buku(kode,judul,penerbit,karangan,Bulan/Tahun,)" & _
                "values('" & Kode.Text & _
                "','" & Judul.Text & _
                "','" & Penerbit.Text & _
                "','" & Karangan.Text & _
                "','" & Bulan / Tahun.Text & "')"
        Case 1
            SQL = "UPDATE Buku SET judul='" & Judul.Text & "'," & _
                "penerbit='" & Penerbit.Text & "'," & _
                "karangan='" & Karangan.Text & "'," & _
                "harga='" & Bulan / Tahun.Text & "'," & _
                "where Kode='" & Kode.Text & "'"
        Case 2
            SQL = "DELETE FROM Buku WHERE Kode='" & Kode.Text & "'"
        End Select
        MsgBox "Pemprosesan RECORD Database telah berhasil...!", vbInformation, "Buku"
        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
        SQL = "INSERT INTO Buku(kode,judul,penerbit,karangan,Bulan/Tahun)" & _
        "values('" & Kode.Text & _
        "','" & Judul.Text & _
        "','" & Penerbit.Text & _
        "','" & Karangan.Text & _
        "','" & Bulan / Tahun.Text & "')"
        WS.SendData "INSERT-" & SQL
       
    Else
        SQL = "UPDATE buku set " & _
            "judul= '" & Judul.Text & _
            "penerbit= '" & Penerbit.Text & _
            "karangan= '" & Karangan.Text & _
            "',Bulan/Tahun='" & Bulan / Tahun.Text & _
            "' where kode='" & Kode.Text & "'"
        WS.SendData "UPDATE-" & SQL
       
    End If
    Case 2
        X = MsgBox("Yakin RECORD Buku Akan Dihapus...!", vbQuestion + vbYesNo, "Buku")
        If X = vbYes Then
        WS.SendData "DELETE-" & Kode.Text
       
        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 = "192.168.10.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 xkrim 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"
Judul.SetFocus
Case "RECORD"
xData2 = Split(xData1(1), "/")
Judul.Text = xData2(0)
Penerbit.Text = xData2(1)
Karangan.Text = xData2(2)
harga.Text = xData2(3)
Call RubahCMD(Me, False, True, True, True)
CmdProses(1).Caption = "&Edit"
Kode.Enabled = False
Judul.SetFocus
Penerbit.SetFocus
Karangan.SetFocus
Case "DEL"
MsgBox "penghapusan data berhasil !"
Call Hapus
Case "EDIT"
MsgBox "pengeditan record berhasil !"
Call Hapus
End Select
End Sub

FORM BUKU CLIENT

LISTING PROGRAM TAMPILAN UTAMA CLIENT


Private Sub Fn1_Click()
Frmbuku.Show
End Sub

Private Sub Fn2_Click()
End
End Sub


Private Sub Form_Activate()
Text1 = Time
Text2 = Date

End Sub

Private Sub Label1_Click()

End Sub

FORM TAMPILAN UTAMA CLIENT