Senin, 20 Desember 2010

Basic Client - Server

Beberapa hari lalu ada teman yang menulis komentar pada postingan Remote Desktop - Pengontrol Komputer Orang Lain ,dia mendapat tugas untuk membuat aplikasi Client-Server yang fungsi aplikasi tersebut adalah untuk mengontrol Sistem Registry komputer target. Untuk memenuhi pertanyaan teman tersebut serta mengupdate Blog ini maka jawabannya saya tulis dalam bentuk postingan..
Langsung saja ini screenshot dan kodenya.


 Langkah Pembuatan Project
  1. Buat dua buah project, yaitu Project Client dan Project Server.
  2. Untuk Project Client terdiri atas 3 CommandButton, 1 Text untuk menampung IP Address komputer target (server), 1 label info koneksi  dan 1 Component Microsoft Winsock Control 6.0. Lebih jelasnya lihat gambar di atas.
  3. UntukProject Server cukup 1 label info dan 1 Component Microsoft Winsock Control 6.0.
Copy Paste Code dibawah ini pada form Project Client.

'panggil URL
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const conSwNormal = 1

Private Sub ConnectToServer()
On Error Resume Next
        WscClient.Connect Text1.Text, 2010
End Sub
Private Sub DisConnectToServer()
        WscClient.Close
End Sub
Private Sub Command1_Click()
    If Command1.Caption = "Connect" Then
        ConnectToServer
    ElseIf Command1.Caption = "Disconnect" Then
        DisConnectToServer
        Command1.Caption = "Connect"
        Command2.Enabled = False
        Command3.Enabled = False
        lblInfo.Caption = "Belum Konek Server..."
    End If
End Sub


Private Sub Command2_Click()
   WscClient.SendData "enablereg"
End Sub

Private Sub Command3_Click()
    WscClient.SendData "disablereg"
End Sub

Private Sub Form_Load()
    WscClient.Protocol = sckTCPProtocol
End Sub

Private Sub Label1_Click()
ShellExecute hwnd, "open", "Http://vbasiccode.blogspot.com", vbNullString, vbNullString, conSwNormal

End Sub

Private Sub Label2_Click()
ShellExecute hwnd, "open", "http://vbasiccode.blogspot.com/2010/04/tutorial-ptc.html", vbNullString, vbNullString, conSwNormal
End Sub

Private Sub Label3_Click()
ShellExecute hwnd, "open", "http://www.facebook.com/OutOfStack", vbNullString, vbNullString, conSwNormal

End Sub

Private Sub WscClient_Close()
        Command1.Caption = "Connect"
        Command2.Enabled = False
        Command3.Enabled = False
        lblInfo.Caption = "Aplikasi Server Ditutup..."
End Sub

Private Sub WscClient_Connect()
    lblInfo.Caption = "Terkoneksi dengan Server"
    Command2.Enabled = True
    Command3.Enabled = True
    Command1.Caption = "Disconnect"
End Sub
Private Sub WscClient_DataArrival(ByVal bytesTotal As Long)
Dim date_primite As String
Dim Vector() As String
WscClient.GetData date_primite
Vector = Split(date_primite, "|")

Select Case Vector(0)

Case "laporan"
    MsgBox Vector(1)
End Select

End Sub


Copy Paste Code dibawah ini pada form Project Server.
Private Sub Form_Load()
    WskServer.LocalPort = 2010
    WskServer.Listen
End Sub


Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        WskServer.Close
End Sub

Private Sub WskServer_Close()
    WskServer.Close
    WskServer.Listen
    lblInfo.Caption = "Koneksi ditutup Client..."
End Sub

Private Sub WskServer_ConnectionRequest(ByVal requestID As Long)
    WskServer.Close
    WskServer.Accept requestID
    lblInfo.Caption = "Terkoneksi dengan client..."
End Sub

Private Sub WskServer_DataArrival(ByVal bytesTotal As Long)
    Dim date_primite As String
    Dim Vector() As String
    Dim regrun
    Set regrun = CreateObject("WScript.Shell")
    WskServer.GetData date_primite
    Vector = Split(date_primite, "|")
    Select Case Vector(0)
    Case "disablereg"
        regrun.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools", 1, "REG_DWORD"
        regrun.regwrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools", 1, "REG_DWORD"
        WskServer.SendData "laporan|" + "Laporan dari Server:""Registry Server tidak dapat dibuka."""
    Case "enablereg"
        regrun.regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools", 0, "REG_DWORD"
        regrun.regwrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools", 0, "REG_DWORD"
        WskServer.SendData "laporan|" + "Laporan dari Server: ""Registry Server sudah dapat dibuka kembali."""
    End Select

End Sub

Private Sub WskServer_Error(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)
    WskServer.Close
    WskServer.Listen
End Sub

Silahkan Download BasicRemoteDesktop.rar
Aplikasi dibuat di windows XP dan jika dijalankan di Windows 7 maka klik kanan dan jalankan aplikasi sebagai Administrator.
Semoga bermanfaat..Amin.

      Selasa, 07 Desember 2010

      Tips Instalasi Visual Basic 6.0 di Windows 7

      Setelah lama malas tidak otak-atik VB 6.0 karena setelah VB 6.0 diinstal di windows 7 tampilan/komposisi dari layar acak-acakan maka malam ini aktifitas otak-atik dimulai lagi, ternyata tips untuk mengatasi hal tersebut simpel dan semoga dalam otak-atik nanti tidak mengalami gangguan compatible dengan windows 7 ultimate.
      Langsung saja Tips Instalasi VB 6.0 di Windows 7 :

      1. Buka folder Visual Basic
      2. Cari file setup.exe
      3. Klik kanan setup.exe dan pilih Properties
      4. Sesuaikan Properties File setup.exe dengan gambar di bawah ini :
      5. Setelah selesai lakukan Instalasi seperti biasa, dan jika muncul peringatan seperti gambar di bawah ini klik Run Program.
      6. Setelah selesai silahkan buka Project maka tampilan/komposisi layar Visual Basic sudah tidak acak-acakan lagi dan kembali seperti tampilan Windows XP SP 2, karena pada properties Setup.exe Tab Compability kita telah mencentang Disable Visual Themes, Disable Desktop Composition, Disable Display Scaling on high DPI Settings dan juga Run As Administrator.
      7. Semoga bermanfaat.

      Kamis, 30 September 2010

      program sederhana untuk menghitung waktu akses pada tape

      tambah lagi pada menu editor.


      hasilnya seperti berikut :

















      buat form awal seperti saat membuat form awal menghitung waktu akses

















      ini adalah rumus asli cara menghitung waktu akses :
      ==> record x ((panjang char/densitas)/kec. akses tape saat membaca) x waktu berhenti x block

      lalu buat coding vb nya

      Private Sub Command1_Click()
      a = Val(Text2.Text) / Val(Text1.Text)
      b = Val(Text5.Text)
      Text7.Text = (Val(Text5.Text) * (a / Val(Text3.Text))) + Val(Text5.Text) * Val(Text4.Text) * Val(Text6.Text)
      End Sub

      masukan coding ini kedalam vb, beserta coding yang lainnya.
      sbb :

      Private Sub Command1_Click()
      a = Val(Text2.Text) / Val(Text1.Text)
      b = Val(Text5.Text)
      Text7.Text = (Val(Text5.Text) * (a / Val(Text3.Text))) + Val(Text5.Text) * Val(Text4.Text) * Val(Text6.Text)
      End Sub


      Private Sub Command2_Click()
      Form1.Show
      Unload Me
      End Sub


      setelah selesai coba di running..

      selamat mencoba

      program sederhana untuk menghitung kapasitas penyimpanan pada tape

      lanjutan yang kemarin, tambah pada menu editor. contoh. sbb :


      hasilnya seperti berikut :


      lalu buat formnya, disini saya membuat contoh sederhana dalam form :


      masukan rumus asli dari cara menghitung kapasitas penyimpanan kedalam format vb nya,
      co : panjang tape x 12 / record x (panjang char/densitas) x block

      lalu di samakan menggunakan coding vb nya

      a = Val(Text4.Text) * 12
      b = Val(Text3.Text) / Val(Text1.Text)
      c = Val(Text5.Text) * b + Val(Text2.Text) * Val(Text6.Text)
      Text7.Text = a / c

      masukan coding ini kedalam vb, beserta coding yang lainnya.
      sbb :

      Private Sub Command1_Click()
      a = Val(Text4.Text) * 12
      b = Val(Text3.Text) / Val(Text1.Text)
      c = Val(Text5.Text) * b + Val(Text2.Text) * Val(Text6.Text)
      Text7.Text = a / c
      End Sub

      Private Sub Command2_Click()
      Form1.Show
      Unload Me
      End Sub


      setelah selesai coba di running..

      selamat mencoba

      Rabu, 29 September 2010

      Membuat Program Sedehana untuk Vektor

      langkah yang pertama
      - buat form awal seperti berikut


      - buat menu editor seperti berikut


      - klik form awal, lalu pada object pilih general dan masukan coding seperti di bawah ini

      Private Sub di3_Click()
      Form5.Show
      Unload Me
      End Sub

      Private Sub ku1_Click()
      Form2.Show
      Unload Me
      End Sub

      Private Sub ku3_Click()
      Form4.Show
      Unload Me
      End Sub

      Private Sub ku4_Click()
      Form6.Show
      Unload Me
      End Sub

      Private Sub kuII_Click()
      Form3.Show
      Unload Me
      End Sub


      - buat form baru / ke 2 pada program vb tersebut
      buat bentuk form seperti ini


      lalu buat coding seperti berikut pada object umum (general):

      Private Sub Command1_Click()
      Text7.Text = Tan(Val(Text4.Text) / Val(Text1.Text))
      Text10.Text = Sqr((Val(Text1.Text) ^ 2) + (Val(Text4.Text) ^ 2))
      End Sub

      Private Sub Command2_Click()
      Form1.Show
      Unload Me
      End Sub


      -buat lagi form berikutnya / ke 3 dengan cara yang sama
      -buat bentuk formnya


      -lalu masukan codingnya seperti berikut, sama seperti yang tadi di tempatkan pada object umum (general)

      Private Sub Command1_Click()
      Text7.Text = 180 - Tan(Val(Text4.Text) / Val(Text1.Text))
      Text10.Text = Sqr((Val(Text1.Text) ^ 2) + (Val(Text4.Text) ^ 2))
      End Sub

      Private Sub Command2_Click()
      Form1.Show
      Unload Me
      End Sub

      -buat lagi form berikutnya yang ke 4
      -buat bentuk formnya


      masukan codingnya dengan cara yang sama

      Private Sub Command1_Click()
      Text7.Text = 180 + Tan(Val(Text4.Text) / Val(Text1.Text))
      Text10.Text = Sqr((Val(Text1.Text) ^ 2) + (Val(Text4.Text) ^ 2))
      End Sub

      Private Sub Command2_Click()
      Form1.Show
      Unload Me
      End Sub

      -buat lagi form berikutnya yang ke 5
      -buat bentuk formnya


      masukan codingnya

      Private Sub Command1_Click()
      Text10.Text = Sqr((Val(Text1.Text) ^ 2) + (Val(Text4.Text) ^ 2) + (Val(Text2.Text) ^ 2))
      Text7.Text = Cos((Val(Text1.Text) / Text10.Text))
      Text3.Text = Cos((Val(Text4.Text) / Text10.Text))
      Text5.Text = Cos((Val(Text2.Text) / Text10.Text))
      End Sub

      Private Sub Command2_Click()
      Form1.Show
      Unload Me
      End Sub


      -buat lagi form yang ke 6
      - bentuk formnya


      masukan codingnya


      Private Sub Command1_Click()
      a = (Val(Text2.Text) - Val(Text1.Text))
      b = (Val(Text3.Text) - Val(Text4.Text))
      c = Val(b / a)
      Text7.Text = Val(360 - Tan(c))
      Text10.Text = Sqr((Val(Text1.Text) ^ 2) + (Val(Text4.Text) ^ 2))
      End Sub

      Private Sub Command2_Click()
      Form1.Show
      Unload Me
      End Sub

      selesai.. sekian ia.. selamat mencoba..

      Kamis, 08 April 2010

      membuat deret pada vb

      Membuat deret pada vb

      Buat form seperti berikut














      klik 2 kali pada command1

      dan masukan seperti berikut

      Private Sub Command1_Click()
      Dim a, b, c, d, e, f As Integer
      For a = 1 To Val(Text1.Text)
      For b = 1 To a
      Print "*";
      Next b
      Print
      Next a
      For c = Val(Text1.Text) - 1 To 1 Step -1
      For d = 1 To c
      Print "*";
      Next d
      Print
      Next c
      End Sub

      dan command 2 seperti berikut

      Private Sub Command2_Click()
      Cls
      Text1.Text = ""
      End Sub

      Misal text box di isi 4
      Diagram alur

      A.....B...........output
      1.....1............1
      2.....12.........12
      3.....123.......123
      4.....1234.....1234

      C.....D..........output
      3.....123.....123
      2.....12........12
      1.....1..........1

      Jasi hasli output nya

      1 namun pada program yang ditampilkan dalam bentuk buntang (“*”)
      12
      123
      1234
      123
      12
      1

      Berikut hasil program

      membuat menu input box pada VB

      pertama buat form kosong seperti berikut











      lalu klik 2 kali pada form vb

      setelah itu tulis seperti berikut

      Private Sub Form_Load()

      1 pass = InputBox("arbi pramana", "password")
      If pass = "password anda" Then
      MsgBox "password benar, silakan masuk ke program menu", vbInformation
      GoTo 10
      Else
      MsgBox " maaf password anda salah", vbCritical
      GoTo 1
      10 End If
      End Sub

      Logika program tersebut di maksudkan agar, saat program di jalan kan tepatnya pada form 1, akan box.

      Jadi.. apabila inputbox di isi dengan “password anda” program akan menampilkan menu program Jika tidak, kembali ke menu inputbox.
      Berikut tampilan saat di jalankan

      jika salah











      dan menampilkan messege box seperti berikut







      dan kembali ke input box


      jika benar





















      dan akan masuk ke dalam form 1.