PEMROGRAMAN CLIENT
Dalam arsitektur aplikasi model client/server, pemrosesan pada sebuah aplikasi terjadi pada client dan server. Aplikasi client mengeluarkan permintaan ke database yang mengirimkan kembali data ke client-nya. Dalam client/server, client-client yang cerdas bertanggung jawab untuk bagian dari aplikasi yang berinteraksi dengan user, termasuk logika bisnis dan komunikasi dengan server database. Tipe-tipe tugas yang terjadi pada client adalah : Antarmuka pengguna Interaksi database Pengambilan dan modifikasi data Sejumlah aturan bisnis Penanganan kesalahan Aplikasi client dapat dibangun dengan beberapa tool atau bahasa pemrograman, disesuaikan dengan kebutuhan dari aplikasi yang akan digunakan. Disini hanya akah dipelajari salah satu tool yang dapat kita gunakan untuk membuat aplikasi client, yaitu Visual Basic. Latihan 1. Buka IDE Visual Basic dan buat project baru, simpan pada folder anda masingmasing. 2. Tambahkan module pada project, klik menu Project Æ Add Module
3. Pada Project Properties akan terdapat module yang baru ditambahkan Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client
4. Klik Project Æ References, kemudian aktifkan Microsoft AktivX Data Object 2.8 Library Æ OK
5. Tambahkan kode berikut di module Public conn As New ADODB.Connection 'buat obyek untuk koneksi Public rs As New ADODB.Recordset Public Sub Konek() Dim strConnect As String strConnect = "Provider=SQLOLEDB.1;Integrated Security=SSPI;" _ & "Persist Security Info=False;" _ & "Initial Catalog=penjualan_xxxx;Data Source=." conn.CursorLocation = adUseClient On Error GoTo out Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client
If conn.State = adStateClosed Then conn.Open strConnect 'buka koneksi End If Exit Sub out: MsgBox "Koneksi gagal" + vbCr + Err.Description, vbCritical, "Error" End Sub 6. Aktifkan Obyek Microsoft DataGrid Control 6.0 untuk kita gunakan
7. Buatlah design form seperti gambar dibawah
Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client
8. Atur property dari form dan object diatas dengan aturan sebagai berikut: Object Proterty Value Name frmProduk Form Caption Data Produk 1 Caption Kode Produk 2 Caption Nama Produk 3 Caption Harga Beli 4 Caption Harga Jual 5 Caption Stok 6 Caption Gangguan Name txtKdProduk 7 Text (Kosongkan) Locked True Name txtNmProduk 8 Text (Kosongkan) Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client
9
10
11 12 13
14
15
16
17
18
19
20
21
22
Locked Name Text Locked Name Text Locked Name Text Locked Name Text Enabled Name Text Enabled Name Text Enabled Name Text Enabled Name Text Enabled Name Text Enabled Name Text Enabled Name Text Enabled Name Text Enabled Name Text Enabled
True txtHrgBeli (Kosongkan) True txtHrgJual (Kosongkan) True txtStok (Kosongkan) True cmdBaru Baru True cmdUbah Ubah True cmdBatal Batal False cmdSimpan Simpan False cmdHapus Hapus True cmdFirst << True cmdPrev < True cmdNext > True cmdLast >> True cmdKeluar Keluar True
Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client
23
Name
DataGrid1
9. Setalah semua property diatur maka form akan tampak seperti gambar dibawah
10. Tambahkan kode berikut Dim rsproduk As New ADODB.Recordset Dim operasi As String 11. Tambahkan procedure untuk mengosongkan text Sub kosongkan() txtKdProduk.Text = "" txtNmProduk.Text = "" txtHrgBeli.Text = "" txtHrgJual.Text = "" txtStok.Text = "" Option1.Value = False Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client
Option2.Value = False End Sub 12. Buat procedure untuk menampilkan data dari table produk Sub tampilkan() Call kosongkan If rsProduk.RecordCount < 0 Then Exit Sub With rsProduk txtKdProduk.Text = Trim(.Fields("KdProduk")) txtNmProduk.Text = Trim(.Fields("NmProduk")) txtHrgBeli.Text = Trim(.Fields("HrgBeli")) txtHrgJual.Text = Trim(.Fields("HrgJual")) txtStok.Text = Trim(.Fields("Stok")) If Trim(.Fields("gangguan")) = 0 Then Option1.Value = True ElseIf Trim(.Fields("gangguan")) = 1 Then Option2.Value = True End If End With End Sub 13. Tempatkan kode dibwah pada form load Private Sub Form_Load() Konek On Error GoTo out operasi = "" Set rsProduk = conn.Execute("SELECT * FROM V_tampil_produk") Set DataGrid1.DataSource = rsProduk Call tampilkan Exit Sub out: MsgBox "Terjadi kesalahan" + vbCr + Err.Description, vbCritical, "Error" End Sub 14. Buat Procedure untuk me-non-aktifkan atau mengaktifkan tombol Sub ubahTombolAktif(status As Boolean) cmdBaru.Enabled = Not (status) Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client
cmdBatal.Enabled = (status) cmdUbah.Enabled = Not (status) cmdSimpan.Enabled = (status) cmdHapus.Enabled = Not (status) cmdFirst.Enabled = Not (status) cmdPrev.Enabled = Not (status) cmdNext.Enabled = Not (status) cmdLast.Enabled = Not (status) End Sub 15. Buat Procedure untuk me-non-aktifkan atau mengaktifkan TextBox Sub ubahAktifTextBox(status As Boolean) txtKdProduk.Locked = Not (status) txtNmProduk.Locked = Not (status) txtHrgBeli.Locked = Not (status) txtHrgJual.Locked = Not (status) txtStok.Locked = Not (status) optGangguan(0).Value = Not (status) optGangguan(1).Value = Not (status) End Sub 16. Tambahkan kode pada cmdBaru Private Sub cmdBaru_Click() Call ubahTombolAktif(True) Call kosongkan Call ubahAktifTextBox(True) txtKdProduk.SetFocus operasi = "BARU" End Sub 17. Tambahkan kode pada cmdUbah Private Sub cmdUbah_Click() Call ubahTombolAktif(True) Call ubahAktifTextBox(True) txtKdProduk.Locked = True txtNmProduk.SetFocus operasi = "UBAH" End Sub 18. Tambahkan kode pada cmdBatal Private Sub cmdBatal_Click() Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client
operasi = "" Call tampilkan Call ubahTombolAktif(False) Call ubahAktifTextBox(False) End Sub 19. Tambahkan kode pada cmdSimpan Private Sub cmdSimpan_Click() Dim query As String Dim gangguan As Integer If txtKdProduk.Text = "" Then MsgBox "Kode Produk tidak boleh kosong", vbInformation, "Warning" Exit Sub End If If optGangguan(0).Value = True Then gangguan = 1 Else gangguan = 0 End If If operasi = "BARU" Then query = "Exec SP_InsertProduk '" & txtKdProduk.Text & "'," _ & "'" & txtNmProduk.Text & "'," & txtHrgBeli.Text & " " _ & "," & txtHrgJual.Text & "," & txtStok.Text & "," _ & "'" & gangguan & "'" ElseIf operasi = "UBAH" Then query = "Exec SP_UpdateProduk '" & txtKdProduk.Text & "'," _ & "'" & txtNmProduk.Text & "'," & txtHrgBeli.Text & " " _ & "," & txtHrgJual.Text & ", '" & gangguan & "'" End If On Error GoTo out conn.Execute query rsProduk.Requery DataGrid1.Refresh Call cmdBatal_Click operasi = "" Exit Sub out: MsgBox "Terjadi Error" + vbCr + Err.Description, vbCritical, "ERROR" Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client
End Sub 20. Tambahkan kode pada cmdHapus Private Sub cmdHapus_Click() Dim konfirm As VbMsgBoxResult konfirm = MsgBox("Anda yakin mau menghapus Produk dengan KdProduk='" & _ txtKdProduk.Text & "'", vbExclamation + vbOKCancel, "Konfirmasi") On Error GoTo out If konfirm = vbOK Then conn.Execute "Exec SP_DelProduk'" & Trim(txtKdProduk.Text) & "'" rsProduk.Requery DataGrid1.Refresh Call cmdNext_Click End If Exit Sub out: MsgBox "Terjadi Error" + vbCr + Err.Description, vbCritical, "Error" End Sub 21. Tambahkan kode pada cmdFirst Private Sub cmdFirst_Click() rsProduk.MoveFirst Call tampilkan End Sub 22. Tambahkan kode pada cmdPrev Private Sub cmdPrev_Click() rsProduk.MovePrevious If rsProduk.BOF Then rsProduk.MoveFirst Call tampilkan End Sub 23. Tambahkan kode pada cmdNext Private Sub cmdNext_Click() rsProduk.MoveNext If rsProduk.EOF Then rsProduk.MoveLast Call tampilkan End Sub 24. Tambahkan kode pada cmdLast Private Sub cmdLast_Click() Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client
rsProduk.MoveLast Call tampilkan End Sub 25. Tambahkan kode pada cmdKeluar (isi sendiri) 26. Tambahkan kode dibawah Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer) If rsProduk.BOF Or rsProduk.EOF Then MsgBox "Sudah di Akhir atau Awal data" Else tampilkan End If End Sub
Pemrograman Client Server – Sarji, S.Kom Membuat Aplikasi Client