Minggu, 29 Januari 2012

Jawaban Quiz No 3 (Fitka Detri)

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 & “-fitka detri”
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






Hasil Program Client




Jawaban Quiz No 2 (FITKA DETRI)

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 "pemrosesan RECORD database telah berhasil....!", vbInformation, "data barang"
    db.BeginTrans
    db.Execute sql, adCmdTable
    db.CommitTrans
    Adodc1.Refresh
    Call hapus
    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 di hapus...!", vbQuestion + vbYesNo, "barang")
        If x = vbYes Then prosesdb 2
        Call hapus
        kode.SetFocus
    Case 3
        Call hapus
        kode.SetFocus
    Case 4
        Unload Me
    Case 5
        Adodc1.Refresh
    End Select
   
End Sub



Private Sub Form_Load()
    Call opendb
    Call hapus
End Sub
Private Sub kode_keypress(keyascii As Integer)
    If keyascii = 13 Then
        If kode.Text = "" Then
        MsgBox "masukan 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, adopendymic, 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, True, True)
            cmdproses(1).Caption = "&simpan"
        End If
        nama.SetFocus
    End If
   
End Sub


LISTING 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:\pertemuan X\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

Hasil Program






Senin, 23 Januari 2012

MENJADI ORANG BIJAK

MENJADI ORANG BIJAK

Bagaimana menjadi orang bijak? Tidak mudah menjelaskannya karena saya sendiri belum merasa sebagai orang bijak.Konon caranya banyak dan bisa dilihat dari berbagai prespektif antara lain:
·        selalu mengevaluasi diri apa adanya (kekuatan dan kelemahan) sebelum mengevaluasi orang lain;sekaligus  mau mengakui kelemahan diri kita;
·        selalu memprioritaskan pengunaan sumberdaya secara optimum (tidak boros) tanpa merugikan pihak lain;
·         berempati terhadap orang lain yang sedang mengalami duka atau sukacita;
·         menahan emosi (bersabar dan menahan amarah) atas kritik orang lain tentang diri kita;
·        menjadi pendengar dan pembicara yang baik (ucapan,bahasa tubuh,kadar emosi);
·        merespon pendapat orang lain tanpa harus menyakiti orang tersebut; dan hendaknya memberi jalan keluarnya;
·        berpenampilan murah senyum dan tidak kikir menghargai orang lain;sekaligus menihilkan sifat menyakiti orang lain;
·        menunjukkan kerendahan hati namun tidak rendah diri kecuali di hadapan Allah;
·        selalu menambah ilmu pengetahuan utamanya agama dan memanfaatkannya demi rahmatan lil alamin;
·         mensyukuri apapun yang diberikan Allah kepada kita;
 ·       mengurangi rasa kesedihan atas kehidupan yang keras; bersabar dan siap-siaplah menerima pertolongan yang segera datang dari Allah; 

PEMROGRAMAN JARINGAN

Ditulis oleh Eko Budhi Suprasetiawan e-mail : ekobs@developerforce.net Last update 8 July 2002

Tujuan

Dalam latihan ini Anda akan mengenal pemrograman jaringan dalam Java.

Rancangan

Anda akan mengembangkan aplikasi client server sederhana, di mana sebuah server berjalan dan jika dihubungi oleh sebuah client akan mengirimkan pesan "Salam Keadilan !"

Pembekalan

Pemrograman jaringan dikembangkan untuk menyambungkan proses-proses komputasi yang lumrahnya berjalan dalam mesin-mesin yang berbeda yang terhubung dalam suatu jaringan komputer. Contohnya adalah :
  • Web browser mengakses Web server melalui jaringan.
  • Aplikasi basis data, di mana terdapat client dan server yang berada di mesin komputer yang terpisah, dan berinteraksi dalam dalam jaringan.
  • Aplikasi e-mail di mana terdapat mail client berkomunikasi dengan mail server.
Dalam pemrograman jaringan, inti tantangannya adalah bagaimana Anda dapat mengirimkan data dari sebuah proses ke proses lainnya melalui pipa yang menghubungkan keduanya. Pipa antara dua proses ini dapat dianalogikan dengan saluran telepon antara dua pembicara. Dalam analogi sambungan telepon, seorang pembicara dapat bercakap di satu sisi , kemudian suaranya akan mengalir melalui kabel telepon ke lawan bicaranya, sehingga lawan bicara dapat mendengarnya, dan sebaliknya.
Dalam pemrograman jaringan, setelah Anda membuat sebuah pipa data antara dua proses, maka masing-masing proses akan memegang satu ujung. Setiap ujung dari pipa data ini disebut socket. Aliran data antara kedua socket ini disebut data stream. Masing-masing socket menggenggam dua stream, yaitu output stream dan input stream.
Sebuah proses dapat mengirim data ke proses lain dengan menuliskannya ke output stream yang dimiliki sebuah socket. Sebuah proses dapat menerima data dengan membacanya dari input stream yang dimiliki sebuah socket. Dengan cara ini maka dapat terjadi pertukaran data, komunikasi dan interaksi antara dua proses yang berbeda meskipun mereka terpisah dalam jaringan. Proses-proses ini dapat terpisah tetapi terjaring, baik dalam intranet, extranet atapun internet, tidak peduli apakah satu proses berada di Afrika Tengah dan proses lainnya berada di tengah Samudra Pasifik.
Class-class untuk mengembangkan pemrograman jaringan dikumpulkan dalam package java.net, yang mempunyai dua class utama yaitu dan
  • java.net.ServerSocket, digunakan untuk membangun server
  • java.net.Socket, digunakan untuk membangun pipa antara server dan client

Persiapan

  • Anda perlu meng-install terlebih dahulu Java Development Kit (JDK)
  • Buatlah sebuah directory untuk latihan Anda, misalnya /home/lab/touch

Langkah

Langkah 1 : Dengan text editor tulislah SalamKeadilanServer.java

import java.io.*;
import java.net.*;


public class SalamKeadilanServer
{
        private String namaServer;
        private ServerSocket serverSocket;

        public SalamKeadilanServer(String namaServer, int port)
                throws IOException
        {
                this.namaServer = namaServer;
                System.out.println("Menghidupkan server bernama :
    " + namaServer + " di port : " + port);
                serverSocket = new ServerSocket(port);
        }


        public void operateService()
                throws IOException
        {
                System.out.println(namaServer + " menanti connection ... ");
                Socket socket = serverSocket.accept();
                String alamatClient = socket.getInetAddress().getHostAddress();

                System.out.println(namaServer + " menangkap connection dari "
    + alamatClient);


                InputStream inputStream = socket.getInputStream();
                InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
                BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

                OutputStream outputStream = socket.getOutputStream();
                PrintWriter printWriter = new PrintWriter(outputStream, true);

                String namaClient = bufferedReader.readLine();
                System.out.println(namaServer + " membaca nama client : "
    + namaClient);

                System.out.println(namaServer + " mengirim pesan : ");
                String pesanDikirim = "Pesan dari " + namaServer + ", untuk "
    + namaClient + "di " + alamatClient +
    " : Salam Keadilan !";
                System.out.println(pesanDikirim);
                printWriter.println(pesanDikirim);

                bufferedReader.close();
                printWriter.close();
                socket.close();
                System.out.println(namaServer + " menutup connection.");
        }
}
Simpanlah di directory yang telah Anda persiapkan sebagai SalamKeadilanServer.java

Langkah 2 : Dengan text editor tulislah SalamKeadilanServerApp.java

public class SalamKeadilanServerApp
{
        public static void main(String[] args)
        {
                if(args.length<2)
                {
                        System.out.println("Cara penggunaan
:java SalamKeadilanServerApp
 <namaServer> <port>");
                        System.exit(0);
                }

                try
                {
                        String namaServer = args[0];
                        String portStr = args[1];
                        int port = Integer.parseInt(portStr);
                        SalamKeadilanServer server =
 new SalamKeadilanServer(namaServer, port);
                        server.operateService();
                }
                catch(java.io.IOException ioe)
                {
                        ioe.printStackTrace();
                }
        }
}
Simpanlah di directory yang telah Anda persiapkan sebagai SalamKeadilanServerApp.java

Langkah 3 : Dengan text editor tulislah SalamKeadilanClient.java

import java.io.*;
import java.net.*;


public class SalamKeadilanClient
{
        private String namaClient;
        private String alamatServer;
        private int port;

        public SalamKeadilanClient(String namaClient, String alamatServer, int port)
        {
                System.out.println("Membuat client dengan nama : " + namaClient);
                this.namaClient = namaClient;
                this.alamatServer = alamatServer;
                this.port = port;
        }


        public void connectToServer()
                throws IOException
        {
                System.out.println(namaClient + " menghubungi server di alamat "
    + alamatServer + " di " + port);
                Socket socket = new Socket(alamatServer, port);

                InputStream inputStream = socket.getInputStream();
                InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
                BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

                OutputStream outputStream = socket.getOutputStream();
                PrintWriter printWriter = new PrintWriter(outputStream, true);

                System.out.println(namaClient + " mengirim data tentang nama ke server.");
                printWriter.println(namaClient);

                System.out.println(namaClient + " menangkap pesan  dari server : ");
                String pesan = bufferedReader.readLine();

                System.out.println(pesan);

                bufferedReader.close();
                printWriter.close();
                System.out.println(namaClient + " menutup connection.");
                socket.close();
        }
}
Simpanlah di directory yang telah Anda persiapkan sebagai SalamKeadilanClient.java

Langkah 4 : Dengan text editor tulislah SalamKeadilanClientApp.java

public class SalamKeadilanClientApp
{
        public static void main(String[] args)
        {
                if(args.length<3)
                {
                        System.out.println("Cara penggunaan:
java SalamKeadilanClientApp
<namaClient> <alamatServer> <nomorPortdariServer>");
                        System.exit(0);
                }

                try
                {
                        String namaClient = args[0];
                        String alamatServer = args[1];
                        String portStr = args[2];
                        int port = Integer.parseInt(portStr);
                        SalamKeadilanClient client = new SalamKeadilanClient
      (namaClient, alamatServer, port);
                        client.connectToServer();
                }
                catch(java.io.IOException ioe)
                {
                        ioe.printStackTrace();
                }
        }
}
Simpanlah di directory yang telah Anda persiapkan sebagai SalamKeadilanClientApp.java

Langkah 5 : Persiapkan dua buah console

Anda akan meng-compile dan meluncurkan aplikasi dari console. Luncurkan dua buah console, dan lakukan change directory di kedua console tsb ke directory yang sudah dipersiapkan.
Untuk dapat sukses melakukan kompilasi dan meluncurkan aplikasi, Anda harus menge-set setidaknya dua buah variabel lingkungan dalam Operating System Anda, yaitu : Variabel lingkungan PATH harus memuat directory dimana perintah java dan javac. Contoh untuk menge-set variabel lingkungan PATH :
$ export PATH=/home/lab/jdk1.3.1_01/bin:$PATH
Variabel lingkungan CLASSPATH harus memuat directory di mana file .class dari aplikasi Anda berada. Contoh untuk menge-set variabel lingkungan CLASSPATH :
$ export CLASSPATH=/home/lab/touch

Langkah 6 : Meng-compile SalamKeadilanServerApp.java di console pertama

Melalui console, jalankan javac :
$ javac SalamKeadilanServerApp.java
Jika Anda menjalani langkah-langkah dengan benar, Anda dapat menemukan file SalamKeadilanServerApp.class, dan SalamKeadilanServer.class di dalam directory yang sama.

Langkah 6 : Meng-compile SalamKeadilanClientApp.java di console kedua

Melalui console, jalankan javac :
$ javac SalamKeadilanClientApp.java
Jika Anda menjalani langkah-langkah dengan benar, Anda dapat menemukan file SalamKeadilanClientApp.class, dan SalamKeadilanClient.class di dalam directory yang sama.

Langkah 7 : Meluncurkan aplikasi SalamKeadilanServerApp di console pertama

Untuk meluncurkan aplikasi Anda, melalui console, jalankan java :
$ java SalamKeadilanServerApp SalamKeadilanServer 8080
Log di console :
Menghidupkan server bernama : SalamKeadilanServer di port : 8080
SalamKeadilanServer menanti connection ...

Langkah 8 : Meluncurkan aplikasi SalamKeadilanClientApp di console kedua

Untuk meluncurkan aplikasi Anda, melalui console, jalankan java :
$ java SalamKeadilanClientApp ekobs@developerforce.net localhost 8080
Log di console :
Membuat client dengan nama : ekobs@developerforce.net
ekobs@developerforce.net menghubungi server di alamat localhost di 8080

Langkah 9 : Perkembangan komunikasi client-server

Saat SalamKeadilanServerApp mendapat connection, akan ditemukan log :
SalamKeadilanServer menangkap connection dari 127.0.0.1
SalamKeadilanServer membaca nama client : ekobs@developerforce.net
SalamKeadilanServer mengirim pesan :
Pesan dari SalamKeadilanServer, untuk ekobs@developerforce.net
di 127.0.0.1 : Salam Keadilan !
Di sisi client, dapat ditemukan log :
ekobs@developerforce.net mengirim data tentang nama ke server.
ekobs@developerforce.net menangkap pesan  dari server :
Pesan dari SalamKeadilanServer, untuk ekobs@developerforce.net
di 127.0.0.1 : Salam Keadilan !
Selanjutnya keduanya menutup connection. Di sisi client :
ekobs@developerforce.net menutup connection.
Di sisi server :
SalamKeadilanServer menutup connection.     

Kamis, 19 Januari 2012

TUGAS TGL 20 JAN 2012 CLIENT-SERVER


FORM SERVER

Dim i As Byte
Private Sub CmdProses_Click(Index As Integer)
    Select Case Index
    Case 0
        PanggilDataPegawai
    Case 1
        End
    End Select
End Sub
Private Sub Form_load()
User.Text = ""
Password.Text = ""
Password.PasswordChar = "*"
i = 1
End Sub
Sub PanggilDataPegawai()
If User.Text = "HARIYADI" And Password.Text = "vb" Then
    MsgBox "Selamat Menggunakan..." & vbCrLf & _
    "Data Pegawai" & vbCrLf & _
    " " & vbCrLf & _
    "(C)opy Right by HARIYADI", vbInformation + vbOKOnly, "Password"
Unload Me
DataPegawai.Show
Else
If i > 2 Then
MsgBox "Maaf..!" & vbCrLf & _
    "Anda tidak berhak menggnakan program ini !", vbInformation + vbOKOnly, "Password"
    End
Else
    MsgBox "Maaf..!" & vbCrLf & _
        "Password Anda Salah", vbInformation + vbOKOnly, "Password"
    End If
User.Text = ""
Password.Text = ""
User.SetFocus
i = i + 1
End If
End Sub
Private Sub Password_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    If TextPassword.Text = "" Then Exit Sub
    CmdProses(0).SetFocus
End If
End Sub
Private Sub User_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    If TextUser.Text = "" Then Exit Sub
    Password.SetFocus
End If
End Sub
Private Sub MnF1_Click()
Password.Show
End Sub
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=D:\Tugas tgl 20\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, L4 As Boolean)
    f.CmdProses(0).Enabled = L0
    f.CmdProses(1).Enabled = L1
    f.CmdProses(2).Enabled = L2
    f.CmdProses(3).Enabled = L3
    f.CmdProses(4).Enabled = L4
End Sub

 
Private Sub CmdProses_Click(Index As Integer)
Select Case Index
    Case 0
        Call Hapus
        Nip.SetFocus
    Case 1
        If CmdProses(1).Caption = "&Simpan" Then
            Call ProsesDB(0)
        Else
            Call ProsesDB(1)
        End If
    Case 2
        X = MsgBox("Yakin Record Pegawai Akan Dihapus.", vbQuestion + vbYesNo, "Pegawai")
        If X = vbYes Then ProsesDB 2
        Call Hapus
        Nip.SetFocus
    Case 3
        Call Hapus
        Nip.SetFocus
    Case 4
        Unload Me
End Select
End Sub
Private Sub Command1_Click()
    Adodc1.Refresh
End Sub
Sub MulaiServer()
    WS.LocalPort = 1000
    WS.Listen
End Sub
Private Sub Form_load()
Pendidikan.AddItem "S1"
Pendidikan.AddItem "S2"
Pendidikan.AddItem "D3"
    Call OPENDB
    Call Hapus
    MulaiServer
End Sub
Sub Hapus()
    Nip.Enabled = True
    ClearFORM Me
    Call RubahCMD(Me, True, False, False, False, False)
    CmdProses(1).Caption = "&Simpan"
End Sub
Sub ProsesDB(Log As Byte)
    Select Case Log
        Case 0
            SQL = "INSERT INTO Pegawai(Nip, Nama, Alamat, Jabatan, Gol, Pendidikan, Telp)" & _
                "values('" & Nip.Text & _
                "','" & Nama.Text & _
                "','" & Alamat.Text & _
                "','" & Jabatan.Text & _
                "','" & Gol.Text & _
                "','" & Pendidikan.Text & _
                "','" & Telp.Text & "')"
        Case 1
            SQL = "Update Pegawai set Nama='" & Nama.Text & "'," & _
                "Alamat='" & Alamat.Text & "'" & _
                "Jabatan='" & Jabatan.Text & "'" & _
                "Gol='" & Gol.Text & "'" & _
                "Pendidikan='" & Pendidikan.Text & "'" & _
                "Telp='" & Telp.Text & "'" & _
                "where Nip ='" & Nip.Text & "'"
        Case 2
            SQL = "Delete from Pegawai where Nip='" & Nip.Text & "'"
    End Select
    MsgBox "Pemrosesan Record Database telah berhasil.", vbInformation, "Pegawai"
    Db.BeginTrans
    Db.Execute SQL, adCmdTable
    Db.CommitTrans
    Call Hapus
    Adodc1.Refresh
    Nip.SetFocus
End Sub
Sub TampilPegawai()
    On Error Resume Next
    Nip.Text = RS!Nip
    Nama.Text = RS!Nama
    Alamat.Text = RS!Alamat
    Jabatan.Text = RS!Jabatan
    Gol.Text = RS!Gol
    Pendidikan.Text = RS!Pendidikan
    Telp.Text = RS!Telp
End Sub
Private Sub Nip_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        If Nip.Text = "" Then
            MsgBox "Masukkan Nip Pegawai.", vbInformation, "Pegawai"
            Nip.SetFocus
            Exit Sub
        End If
        SQL = "Select*from Pegawai where Nip='" & Nip.Text & "'"
        If RS.State = adStateOpen Then RS.Close
        RS.Open SQL, Db, adOpenDynamic, adLockOptimistic
        If RS.RecordCount <> 0 Then
            TampilPegawai
            Call RubahCMD(Me, False, True, True, True, True)
            CmdProses(1).Caption = "&Edit"
            Nip.Enabled = False
        Else
            X = Nip.Text
            Call Hapus
            Nip.Text = X
            Call RubahCMD(Me, False, True, False, True, False)
            CmdProses(1).Caption = "&Simpan"
        End If
        Nama.SetFocus
    End If
End Sub
Private Sub Text2_Change()
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 Pegawai WHERE Nip='" & 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!Jabatan & "/" & RS!Gol & "/" & RS!Pendidikan & "/" & RS!Telp
            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
        WS.SendData "edit-sukses"
        Adodc1.Refresh
        Case "DELETE"
    SQL = "delete*From Pegawai " & _
        "where Nip='" & xData1(1) & "'"
        Db.BeginTrans
        Db.Execute SQL, adCmdTable
        Db.CommitTrans
        Adodc1.Refresh
        WS.SendData "DEL-sukses"
  
    End Select
   
End Sub


FORM CLIENT
Dim IPServer As String
Sub Hapus()
    Nip.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 Pegawai(Nip,Nama,Alamat,Jabatan,Gol,Pendidikan,Telpon)" & _
                "values('" & Nip.Text & _
                "','" & Nama.Text & _
                "','" & Alamat.Text & _
                "','" & Jabatan.Text & _
                "','" & Gol.Text & _
                "','" & Pendidikan.Text & _
                "','" & Telpon.Text & "')"
        Case 1
            SQL = "Update Pegawai set Nama='" & Nama.Text & "'," & _
                "Alamat='" & Alamat.Text & "'" & _
                "Jabatan='" & Jabatan.Text & "'" & _
                "Gol='" & Gol.Text & "'" & _
                "Pendidikan='" & Pendidikan.Text & "'" & _
                "Telpon='" & Telpon.Text & "'" & _
                "where Nip ='" & Nip.Text & "'"
        Case 2
            SQL = "Delete from Pegawai where Nip='" & Nip.Text & "'"
    End Select
    MsgBox "Pemrosesan Record Database telah berhasil...!", vbInformation, "Pegawai"
    Db.BeginTrans
    Db.Execute SQL, adCmdTable
    Db.CommitTrans
    Call Hapus
    Nip.SetFocus
End Sub
Private Sub CmdProses_Click(Index As Integer)
Select Case Index
    Case 0
        Call Hapus
        Nip.SetFocus
    Case 1
        If CmdProses(1).Caption = "&Simpan" Then
            SQL = "insert into Pegawai (Nip,Nama,Alamat,Jabatan,Gol,Pendidikan,Telpon)" & _
            "values ('" & Nip.Text & _
            "','" & Nama.Text & _
            "','" & Alamat.Text & _
            "','" & Jabatan.Text & _
            "','" & Gol.Text & _
            "','" & Pendidikan.Text & _
            "','" & Telpon.Text & "')"
            WS.SendData "INSERT-" & SQL
        Else
            SQL = "update Pegawai set nama='" & Nama.Text & _
            "', Alamat='" & Alamat.Text & _
            "', Jabatan='" & Jabatan.Text & _
            "', Gol='" & Gol.Text & _
            "', Pendidikan='" & Pendidikan.Text & _
            "', Telpon='" & Telpon.Text & _
            "' where Nip='" & Nip.Text & "'"
            WS.SendData "UPDATE-" & SQL
        End If
    Case 2
        X = MsgBox("Yakin Record Pegawai Akan Dihapus.", vbQuestion + vbYesNo, "Pegawai")
        If X = vbYes Then
        WS.SendData "DELETE-" & Nip.Text
        End If
        Call Hapus
        Nip.SetFocus
    Case 3
        Call Hapus
        Nip.SetFocus
    Case 4
        Unload Me
End Select
End Sub
Sub MulaiKoneksi()
    IPServer = "192.168.10.1"
    IPClient = WS.LocalIP
    WS.Connect IPServer, 1000
End Sub
Private Sub Form_load()
Pendidikan.AddItem "S1"
Pendidikan.AddItem "S2"
Pendidikan.AddItem "D3"
    Call Hapus
    MulaiKoneksi
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    DoEvents
    End
End Sub
Private Sub Nip_Keypress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        If Nip.Text = "" Then Exit Sub
       
        WS.SendData "SEARCH-" & Nip.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 = Nip.Text
            Call Hapus
            Nip.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)
            Alamat.Text = xData2(1)
            Jabatan.Text = xData2(2)
            Gol.Text = xData2(3)
            Pendidikan.Text = xData2(4)
            Telpon.Text = xData2(5)
            Call RubahCMD(Me, False, True, True, True)
            CmdProses(1).Caption = "&Edit"
            Nip.Enabled = False
            Nama.SetFocus
        Case "INSERT"
            Call Hapus
        Case "UPDATE"
            Call Hapus
        Case "DEL"
            MsgBox "Hapus Berhasil"
            WS.SendData "INSERT" & Nip.Text & "/" & _
            Nama.Text & "/" & Alamat.Text & "/" & Jabatan.Text & "/" & Gol.Text & "/" & Pendidikan.Text & "/" & Telpon.Text
            Call Hapus
        End Select
End Sub
 
Private Sub MnF1_Click()
Password.Show
End Sub
Dim i As Byte
Private Sub CmdProses_Click(Index As Integer)
    Select Case Index
    Case 0
        PanggilDataPegawai
    Case 1
        End
    End Select
End Sub
Private Sub Form_load()
User.Text = ""
Password.Text = ""
Password.PasswordChar = "*"
i = 1
End Sub
Sub PanggilDataPegawai()
If User.Text = "FITKA DETRI" And Password.Text = "COBA" Then
    MsgBox "Selamat Menggunakan..." & vbCrLf & _
    "Data Pegawai" & vbCrLf & _
    " " & vbCrLf & _
    "copy Right by FITKA DETRI", vbInformation + vbOKOnly, "Password"
Unload Me
Pegawai.Show
Else
If i > 2 Then
MsgBox "Maaf..!" & vbCrLf & _
    "Anda tidak berhak menggnakan program ini !", vbInformation + vbOKOnly, "Password"
    End
Else
    MsgBox "Maaf..!" & vbCrLf & _
        "Password Anda Salah", vbInformation + vbOKOnly, "Password"
    End If
User.Text = ""
Password.Text = ""
User.SetFocus
i = i + 1
End If
End Sub
Private Sub Password_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    If TextPassword.Text = "" Then Exit Sub
    CmdProses(0).SetFocus
End If
End Sub
Private Sub User_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    If TextUser.Text = "" Then Exit Sub
    Password.SetFocus
End If
End Sub