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











Tidak ada komentar:

Posting Komentar