Kamis, 19 Januari 2012

client-server(TUGAS)

Pendaftaran Mahasiswa Baru
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 
Private Sub cmdproses_Click(Index As Integer)
Select Case Index

    Case 0
        Call hapus
        npm.SetFocus
    Case 1
        If cmdproses(1).Caption = "&Simpan" Then
            Call prosesDB(0)
        Else
            Call prosesDB(1)
        End If
    Case 2
        X = MsgBox("yakin RECORD data akan dihapus...!", vbQuestion + vbYesNo, "test")
        If X = vbYes Then prosesDB 2
        Call hapus
        npm.SetFocus
    Case 3
        Call hapus
        npm.SetFocus
    Case 4
    Unload Me
End Select
End Sub

Sub hapus()
npm.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 data(npm,nama,alamat,jurusan)" & _
        "values('" & npm.Text & _
        "','" & nama.Text & _
        "','" & alamat.Text & _
        "','" & jurusan.Text & "')"
    Case 1
        SQL = "UPDATE data SET nama='" & nama.Text & "'," & _
            "alamat='" & alamat.Text & "' " & _
            "jurusan='" & jurusan.Text & "' " & _
            "WHERE npm='" & npm.Text & "'"
    Case 2
        SQL = "DELETE  FROM data WHERE npm='" & npm.Text & "'"
    End Select
MsgBox "Pemrosesan  record Database telah berhasil....!!", vbInformation, "test"
    db.BeginTrans
    db.Execute SQL, adCmdTable
    db.CommitTrans
    Call hapus
    Adodc1.Refresh
    npm.SetFocus
End Sub
Private Sub npm_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    If npm.Text = "" Then
        MsgBox "Masukkan npm!", vbInformation, "test"
        npm.SetFocus
        Exit Sub
End If
SQL = " SELECT * FROM data WHERE npm='" & npm.Text & "'"
If rs.State = adStateOpen Then rs.Close
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount <> 0 Then
    tampildata
    Call rubahcmd(Me, False, True, True, True)
    cmdproses(1).Caption = "&Edit"
    npm.Enabled = False
    Else
        X = npm.Text
        Call hapus
        npm.Text = X
        Call rubahcmd(Me, False, True, False, True)
          cmdproses(1).Caption = "&Simpan"
End If
npm.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 = " delete * FROM data " & _
    " where npm= '" & xData1(1) & "'"
    SQL = "SELECT * FROM data WHERE npm='" & 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!alamat & "/" & rs!jurusan
    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 data " & _
    " where npm= '" & xData1(1) & "'"
    db.BeginTrans
    db.Execute SQL, adCmdTable
    db.CommitTrans
    Adodc1.Refresh
    ws.SendData "DEL-xxx"
   End Select
End Sub

4.Tampilan Login

 
Listing Program FrmLogin
Private Sub Command1_Click()
If user.Text = "ferayunita" And password.Text = "0902123" 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 Command2_Click()
Unload Me
End Sub
            Private Sub Form_Load()
user.Text = ""
password.Text = ""
password.PasswordChar = "*"
End Sub

5.Tampilan MDIform
 
Listing Program FrmMDI
Private Sub e_Click()
Unload Me
End Sub
            Private Sub ldm_Click()
formbarang.Show
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 = "elsa_fitri" And password.Text = "elsa" 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


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 Pendaftaran maka akan tampil form client. 
Listing Program Form Client

Dim IpServer As String

Sub hapus()
npm.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 data(npm,nama,alamat,jurusan)" & _
"values('" & npm.Text & _
"','" & nama.Text & _
"','" & alamat.Text & _
"','" & jurusan.Text & "')"
Case 1
SQL = "UPDATE data SET nama='" & nama.Text & "'," & _
"alamat='" & alamat.Text & "' " & _
"jurusan='" & jurusan.Text & "' " & _
"where npm='" & npm.Text & "'"
Case 2
SQL = "DELETE FROM data WHERE npm='" & npm.Text & "'"
End Select
MsgBox "pemrosesan RECORD database telah berhasil...!", vbInformation, "test"
Call hapus
npm.SetFocus
End Sub
Private Sub cmdproses_Click(Index As Integer)
Select Case Index
Case 0
Call hapus
npm.SetFocus
Case 1
If cmdproses(1).Caption = " &Simpan" Then
Else
SQL = "UPDATE data Set " & _
"nama = '" & nama.Text & _
"alamat = '" & alamat.Text & _
"' , jurusan= '" & jurusan.Text & _
"' where npm= '" & npm.Text & "'"
ws.SendData "UPDATE-" & SQL
End If
Case 2
X = MsgBox("yakin RECORD data akan dihapus...!", vbQuestion + vbYesNo, "test")
If X = vbYes Then
ws.SendData "DELETE-" & npm.Text
End If
Call hapus
npm.SetFocus
Case 3
Call hapus
npm.SetFocus
Case 4
Unload Me
End Select
End Sub
Private Sub Form_Load()
Call hapus
mulaikoneksi

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 npm_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If npm.Text = "" Then Exit Sub
ws.SendData "SEARCH-" & npm.Text
End If
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 = npm.Text
 Call hapus
 npm.Text = X
 Call rubahCMD(Me, False, True, False, True)
 cmdproses(1).Caption = "&Simpan"
 nama.SetFocus
 Case "RECORD"
 xdata2 = Split(xdata1(1), "/")
 npm.Text = xdata2(0)
 alamat.Text = xdata2(1)
 jurusan.Text = xdata2(2)
 Call rubahCMD(Me, False, True, True, True)
 cmdproses(1).Caption = "&Edit"
 npm.Enabled = False
 nama.SetFocus
 Case "DEL"
 MsgBox "penghapusan data berhasil!"
 Call hapus
 Case "EDIT"
 MsgBox "Pengeditan Record berhasil!"
 Call hapus
 End Select
End Sub
 
Listing Program 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
 

 
 














0 komentar:

Posting Komentar