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
PROGRAM CLIENT
Dim IPS As String
Dim User As String
Private Sub Command1_Click()
WS.SendData "START-" & User & "-Isna"
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
End Sub
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
Purnama Sari
Jumat, 27 Januari 2012
Jawaban Soal 2 (PURNAMA SARI)
LISTING PROGRAM
PROGRAM SERVER
MODUL
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:\BelajarServer\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
PROGRAM FORM BARANG
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 "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 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"
Db.BeginTrans
Db.Execute xData1(1), adCmdTable
Db.CommitTrans
WS.SendData " INSERT-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
PROGRAM CLIENT
MODUL
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
PROGRAM FORM BARANG
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 "Pemrosesan RECORD Database telah berhasil....!", vbInformation, "Data Barang"
Call Hapus
Kode.SetFocus
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 Kode_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Kode.Text = "" Then Exit Sub
WS.SendData "SEARCH-" & Kode.Text
End If
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 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, "-")
xData2 = Split(xData1(1), "/")
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 "INSERT"
MsgBox "Penyimpanan Berhasil!"
Call Hapus
Case "DEL"
MsgBox "Penghapusan Data Berhasil!"
Call Hapus
Case "EDIT"
MsgBox "Pengeditan Record Berhasil!"
Call Hapus
End Select
End Sub
HASIL PROGRAM
Program Server
Program Client
PROGRAM SERVER
MODUL
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:\BelajarServer\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
PROGRAM FORM BARANG
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 "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 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"
Db.BeginTrans
Db.Execute xData1(1), adCmdTable
Db.CommitTrans
WS.SendData " INSERT-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
PROGRAM CLIENT
MODUL
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
PROGRAM FORM BARANG
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 "Pemrosesan RECORD Database telah berhasil....!", vbInformation, "Data Barang"
Call Hapus
Kode.SetFocus
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 Kode_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Kode.Text = "" Then Exit Sub
WS.SendData "SEARCH-" & Kode.Text
End If
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 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, "-")
xData2 = Split(xData1(1), "/")
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 "INSERT"
MsgBox "Penyimpanan Berhasil!"
Call Hapus
Case "DEL"
MsgBox "Penghapusan Data Berhasil!"
Call Hapus
Case "EDIT"
MsgBox "Pengeditan Record Berhasil!"
Call Hapus
End Select
End Sub
HASIL PROGRAM
Program Server
Program Client
Kamis, 19 Januari 2012
Tugas Program Karyawan Client
1. Form Karyawan
LISTING PROGRAM KARYAWAN
Sub Hapus()
Nik.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 karyawan(nik,nama,golongan,jabatan, bagian)" & _
"values('" & Nik.Text & _
"','" & Nama.Text & _
"','" & golongan.Text & _
"','" & jabatan.Text & _
"','" & bagian.Text & "')"
Case 1
SQL = "UPDATE karyawan Set nama='" & Nama.Text & "'," & _
"Golongan='" & golongan.Text & "'," & _
"Jabatan='" & jabatan.Text & "'," & _
"Bagian='" & bagian.Text & "'," & _
"where Nik='" & Nik.Text & "'"
Case 2
SQL = " DELETE * FROM karyawan WHERE Nik='" & Nik.Text & "'"
End Select
MsgBox "Pemrosesan RECORD Database telah berhasil....!", vbInformation, "Data karyawan"
Call Hapus
Nik.SetFocus
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 Label3_Click()
End Sub
Private Sub Nik_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Nik.Text = "" Then Exit Sub
WS.SendData "SEARCH-" & Nik.Text
End If
End Sub
Private Sub CmdProses_Click(Index As Integer)
Select Case Index
Case 0
Call Hapus
Nik.SetFocus
Case 1
If CmdProses(1).Caption = "&Simpan" Then
SQL = "Insert into karyawan(Nik, Nama,Golongan,Jabatan, Bagian)" & _
"Nama='" & Nama.Text & _
"',Golongan='" & golongan.Text & _
"',Jabatan='" & jabatan.Text & _
"',Bagian='" & bagian.Text & _
"'Where Nik='" & Nik.Text & "'"
WS.SendData "INSERT-" & SQL
Else
SQL = "UPDATE karyawan set " & _
WS.SendData "UPDATE-" & SQL
End If
Case 2
X = MsgBox("Yakin RECORD karyawan Akan Dihapus.....!", vbQuestion + vbYesNo, "karyawan")
If X = vbYes Then
WS.SendData "DELETE-" & Nik.Text
End If
Call Hapus
Nik.SetFocus
Case 3
Call Hapus
Nik.SetFocus
Case 4
Unload Me
End Select
End Sub
Private Sub Form_Load()
Call Hapus
MulaiKoneksi
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, "-")
xData2 = Split(xData1(1), "/")
Select Case xData1(0)
Case "NOTHING"
X = Nik.Text
Call Hapus
Nik.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)
golongan.Text = xData2(1)
jabatan.Text = xData2(2)
bagian.Text = xData2(3)
Call RubahCMD(Me, False, True, True, True)
CmdProses(1).Caption = "&Edit"
Nik.Enabled = False
Nama.SetFocus
Case "DEL"
MsgBox "Penghapusan Data Berhasil!"
Call Hapus
Case "EDIT"
MsgBox "Pengeditan Record Berhasil!"
Call Hapus
Case "INSERT"
MsgBox "Penginputan Data Record Berhasil!"
Call Hapus
End Select
End Sub
MODUL FORM KARYAWAN
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
2. FORM LOGIN
Private Sub Command1_Click()
If username.Text = "sari" And pass.Text = "1234" Then
Menu.Show
End If
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
3. FORM MENU UTAMA
Menu.Show
End Sub
Private Sub Karyawan_Click()
FrmKaryawan.Show
End Sub
Kamis, 20 Oktober 2011
keuntungan dan kelemahan sistem basis data
Keuntungan Sistem Basis Data
Terkontrolnya kerangkapan data
Dalam basis data hanya mencantumkan satu kali saja field yang sama yang dapat dipakai oleh semua aplikasi yang memerlukannya.
Terpeliharanya keselarasan (ke-konsistenan) data
Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan
1. Data dapat dipakai secara bersama (shared)
Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun on-line) pada saat bersamaan.
Dapat diterapkan standarisasi
Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun pertukaran data.
Keamanan data terjamin
DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberian hak akses bagi user (misal : modify, delete, insert, retrieve)
Terpeliharanya integritas data
Jika kerangkapan data dikontrol dan ke konsistenan data dapat dijaga maka data menjadi akurat
1. Terpeliharanya keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi
Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat
2. Data independence (kemandirian data)
Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada
Kelemahan Sistem Basis Data
1. Memerlukan tenaga spesialis
2. Kompleks
3. Memerlukan tempat yang besar
4. Mahal
basis data
Pangkalan data[1] atau basis data (bahasa Inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.
Elemen Basis Data
- Entitas adalah sekumpulan objek yang terdefinisikan yang mempunyai karakteristik sama dan bisa dibedakan satu dengan lainnya. Objek dapat berupa barang, orang, tempat atau suatu kejadian.
- Contoh entitas : Seseorang yang menjadi siswa di sebuah sekolah.
- contoh lainya : barang yang menjadi inventaris suatu perusahaan
- siswa merupakan entitas
- barang juga di sebut entitas
- Atribut adalah deskripsi data yang bisa mengidentifikasi entitas yang membedakan entitas tersebut dengan entitas yang lain. Seluruh atribut harus cukup untuk menyatakan identitas obyek, atau dengan kata lain, kumpulan atribut dari setiap entitas dapat mengidentifikasi keunikan suatu individu.
- sedangkan atribut adalah bagian dari entitas
- siswa memiliki atribut :
- no siswa
- alamat siswa
- barang memiliki atribut :
- no barang
- harga barang
- Data Value (Nilai Data) : Data Value adalah data aktual atau informasi yang disimpan pada tiap data, elemen, atau atribut. Atribut nama pegawai menunjukan tempat dimana informasi nama karyawan disimpan, nilai datanya misalnya adalah Anjang, Arif, Suryo, dan lain-lain yang merupakan isi data nama pegawai tersebut.
- File/Tabel : Kumpulan record sejenis yang mempunyai panjang elemen yang sama, atribut yang sama, namun berbeda nilai datanya.
- Record/Tuple : Kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi.
pengertian database
- Basis data (database) adalah kumpulan dari berbagai data yang saling berhubungan satu dengan yang lainnya. Basis data tersimpan di perangkat keras, serta dimanipulasi dengan menggunakan perangkat lunak. Pendefinisian basis data meliputi spesifikasi dari tipe data, struktur dan batasan dari data atau informasi yang akan disimpan. Database merupakan salah satu komponen yang penting dalam sistem informasi, karena merupakan basis dalam menyediakan informasi pada para pengguna atau user.
- Penyusunan basis data meliputi proses memasukkan data kedalam media penyimpanan data dan diatur dengan menggunakan perangkat Sistem Manajemen Basis Data (Database Management System DBMS). Manipulasi basis data meliputi pembuatan pernyataan (query) untuk mendapatkan informasi tertentu, melakukan pembaharuan atau penggantian (update) data, serta pembuatan report data.
- Tujuan utama DBMS adalah untuk menyediakan tinjauan abstrak dari data bagi user. Jadi sistem menyembunyikan informasi mengenai bagaimana data disimpan dan dirawat, tetapi data tetap dapat diambil dengan efisien. Pertimbangan efisien yang digunakan adalah bagaimana merancang struktur data yang kompleks, tetapi tetap dapat digunakan oleh pengguna yang masih awam, tanpa mengetahui kompleksitas struktur data. Basis data menjadi penting karena munculnya beberapa masalah bila tidak menggunakan data yang terpusat, seperti adanya duplikasi data, hubungan antar data tidak jelas, organisasi data dan update menjadi rumit. Jadi tujuan dari pengaturan data dengan menggunakan basis data adalah :
- Menyediakan penyimpanan data untuk dapat digunakan oleh organisasi saat sekarang dan masa yang akan datang.
- Kemudahan pemasukan data, sehingga meringankan tugas operator dan menyangkut pula waktu yang diperlukan oleh pemakai untuk mendapatkan data serta hak-hak yang dimiliki terhadap data yang ditangani.
- Pengendalian data untuk setiap siklus agar data selalu up-to-date dan dapat mencerminkan perubahan spesifik yang terjadi di setiap sistem.
- Pengamanan data terhadap kemungkinan penambahan, pengubahan, pengerusakan dan gangguan-gangguan lain.
Langganan:
Postingan (Atom)