Rabu, 13 April 2011

Tips Visual Basic - Cara Menjalankan Program Lain Dengan Berbagai Model Jendela

Pada tips visual basic kali ini, kita akan mempraktekkan cara menjalankan program lain (seperti Notepad, Paint, dan lainnya) dengan berbagai macam model jendelanya, seperti maximized, minimized, normal, atau bahkan menyembunyikan jendelanya alias program tersebut akan berjalan di belakang layar. Juga bisa ditentukan apakah jendela program itu akan fokus atau tidak fokus.
Kita akan membuat contoh programnya dulu, di sini saya membuat sebuah project Standard Exe di Visual Basic. Kontrol-kontrolnya terdiri dari: CommandButton (cmdJalankanProgram), Textbox (txtProgram), dan ComboBox (cboModelJendela). Tampilannya seperti gambar di atas. Lalu untuk kode-kodenya adalah sebagai berikut:

Option Explicit

Private Enum enumJenisJendela
    Normal_dan_Fokus = vbNormalFocus
    Normal_Tidak_Fokus = vbNormalNoFocus
    Maximized = vbMaximizedFocus
    Minimized_dan_Fokus = vbMinimizedFocus
    Minimized_Tidak_Fokus = vbMinimizedNoFocus
    SembunyikanJendela = vbHide
End Enum
Private Sub JalankanProgram(sProgramPath As String, JenisJendela As enumJenisJendela)
    On Error GoTo Er:
    'cek jika file program tersebut tidak ada
    If Dir(sProgramPath) = "" Then
        MsgBox "File Tidak Ditemukan: " & sProgramPath
        Exit Sub
    End If
    'jalankan program
    Shell sProgramPath, JenisJendela
    Exit Sub
Er:
    MsgBox "Error menjalankan program " & sProgramPath & vbCrLf & _
        "Penjelasan: " & Err.Description, , "Error"
End Sub
Private Sub cmdJalankanProgram_Click()
    If cboModelJendela.ListIndex = 0 Then JalankanProgram txtProgram.Text, Normal_dan_Fokus
    If cboModelJendela.ListIndex = 1 Then JalankanProgram txtProgram.Text, Normal_Tidak_Fokus
    If cboModelJendela.ListIndex = 2 Then JalankanProgram txtProgram.Text, Maximized
    If cboModelJendela.ListIndex = 3 Then JalankanProgram txtProgram.Text, Minimized_dan_Fokus
    If cboModelJendela.ListIndex = 4 Then JalankanProgram txtProgram.Text, Minimized_Tidak_Fokus
    If cboModelJendela.ListIndex = 5 Then JalankanProgram txtProgram.Text, SembunyikanJendela
End Sub

Private Sub Form_Load()
    cboModelJendela.AddItem "Normal dan Fokus"
    cboModelJendela.AddItem "Normal, Tidak Fokus"
    cboModelJendela.AddItem "Maximized"
    cboModelJendela.AddItem "Minimized dan Fokus"
    cboModelJendela.AddItem "Minimized, Tidak Fokus"
    cboModelJendela.AddItem "Sembunyikan Jendela"
    cboModelJendela.ListIndex = 0
End Sub
Keterangan:
Fungsi utamanya adalah pada teks berwarna biru.
Warna merah adalah listing kode untuk tombol cmdJalankanProgram (CommandButton).
Warna merah muda adalah kode untuk Form.

Saat dijalankan, isikan nama file program lengkap bersama pathnya, lalu pilih jenis jendelanya, kemudian klik tombol Jalankan.
Keterangan Untuk Model Jendela:
- Fokus / Tidak fokus : menunjukkan apakah jendela program akan aktif (berada di depan jendela program lain) atau tidak.
- Normal : Tampilan standar jendela
- Maximized : Jendela akan menutupi seluruh desktop kecuali Taskbar.
- Minimized : Jendela program tidak terlihat tetapi tombol program masih ada di Taskbar. Dengan meng-klik tombol program di taskbar maka jendelanya akan muncul kembali.
- Sembunyikan jendela : Jendela program tidak terlihat begitu pula tombolnya di taskbar. Untuk menutup programnya, anda harus membuka Task Manager, caranya tekan CTRL+ALT+DEL. Lalu pada jendela Task Manager, klik tab Processes, lalu cari dan pilih program yang dijalankan, kemudian klik tombol End Process. Tampilan Task Manager seperti berikut ini:
  

Tips Visual Basic - Enkripsi / Dekripsi (Penyandian) Password dan Teks

Dalam tips VB kali ini, kita akan mencoba menyandikan teks atau password. Penyandian sangat diperlukan, agar setiap kata-kata yang rahasia yang tidak boleh diketahui oleh orang lain bisa dengan aman disimpan baik didalam program EXE ataupun dalam file lain. Jadi kalau ada yang coba-coba membongkar file EXE atau file penting lainnya yang telah disandikan, maka orang tersebut tidak akan dengan mudah mendapatkan teks aslinya. Kecuali kalau ia memang seorang hacker yang sangat tangguh.
Banyak teknik penyandian (enkripsi) yang telah dikembangkan saat ini, mulai dari yang sangat sederhana sampai pada yang amat kompleks dan aman. Dalam tips kali ini diberikan sebuah teknik sederhana namun kiranya sudah cukup aman untuk sebuah program kecil-kecilan. Teknik ini adalah kreasi dari John Clark Craig, bersumber dari bukunya yang berjudul Microsoft Visual Basic 4.0 Developer's Workshop Edisi Ketiga. Enkripsi ini adalah simetris, artinya teks yang telah dienkripsi bisa dikembalikan ke teks asalnya (dekripsi).

Berikut ini adalah kodenya (beberapa kodenya telah saya rubah sedikit untuk penyesuaian)
Function Cipher(TXT As String, Optional A As Integer, Optional B As Integer, Optional RV As Integer)
    Static R As Long
    Static M As Long
    Static N As Long
    Const BN As Long = 32768
    Dim I As Integer, C As Integer, D As Integer
    If IsMissing(RV) = False Then R = RV
    If IsMissing(A) Then
        If M = 0 Then M = 69
    Else
        M = (A * 4 + 1) Mod BN
    End If
    If IsMissing(B) Then
        If N = 0 Then N = 47
    Else
        N = (B * 2 + 1) Mod BN
    End If
'proses setiap karakter
    For I = 1 To Len(TXT)
        C = Asc(Mid$(TXT, I, 1))
        'modifikasi khusus teks yg bisa dibaca saja
        Select Case C
        Case 48 To 57
            D = C - 48
        Case 63 To 90
            D = C - 53
        Case 97 To 122
            D = C - 59
        Case Else
            D = -1
        End Select
        If D >= 0 Then
            R = (R * M + N) Mod BN
            D = (R And 63) Xor D
            Select Case D
            Case 0 To 9
                C = D + 48
            Case 10 To 37
                C = D + 53
            Case 38 To 63
                C = D + 59
            End Select
            Mid$(TXT, I, 1) = Chr$(C)
        End If
    Next I
    Cipher = TXT
End Function

Perhatikan teks berwarna merah di atas (parameternya), TXT adalah teks yang akan dienkripsi/dekripsi. Sedangkan nilai A, B, dan RV bisa anda ganti-ganti. Setiap perubahan nilai A,B atau RV akan menghasilkan teks hasil enkripsi yang berbeda. Jadi anda bisa mengkombinasikannya.

Karena enkripsi ini adalah simetris, maka jika teks hasil enkripsi anda masukkan kembali ke fungsi di atas, akan menghasilkan teks aslinya kembali (tentunya menggunakan nilai A, B, dan RV yang sama dengan saat mengenkripsi).

Contoh menggunakan fungsi di atas adalah seperti berikut:
txtHasilEnkripsi.Text = Cipher(txtSumber.Text, 4, 6, 9)  
txtHasilDekripsi.Text = Cipher(txtHasilEnkripsi.Text, 4, 6, 9)

Tips Visual Basic: Menyimpan dan Mengambil Setting Aplikasi di Registry Windows

Visual Basic telah menyediakan dua buah fungsi untuk menyimpan dan mengambil data (konfigurasi) di registry, yaitu:

Untuk mengambil data dari registry:
GetSetting(AppName As String, Section As String, Key As String, [Default]) As String
Keterangan:
AppName = nama aplikasi anda.
Section = bagian atau bisa disebut sebagai folder
Key = nama setting
Default = nilai kembalian jika setting tidak ditemukan. Ini bisa dikosongkan.

Untuk menyimpan data ke registry:
SaveSetting(AppName As String, Section As String, Key As String, Setting As String) 
Keterangan:
AppName = nama aplikasi anda.
Section = bagian atau bisa disebut sebagai folder
Key = nama setting
Setting = nilai dari setting
 

Bahasa VB

Bahasa VB, bahasa apa tuh?
Ya, mungkin teman-teman yang kurang tau (gak tau) tentang programming komputer akan bertanya seperti itu. Soalnya, di sekolah yang ada itu bahasa Arab, bahasa Indonesia, bahasa Inggris, atau mungkin ada yang bahasa Jerman.
Bahasa VB (Visual Basic) itu adalah salah satu bahasa komputer (wah…, komputer punya bahasa sendiri ya?!), tepatnya bahasa program. Biasanya programmer VB membuat programnya dengan ini. Maksud programmer VB di sini adalah pembuat program, yang menggunakan Visual Basic (VB). Microsoft Visual Basic 6.0, itu lah nama teman yang kiranya bisa menemani dalam membuat program VB.
Sebelum mengenal Microsoft Visual Basic 6.0, saya sempat bertemu dengan yang namanya Visual Basic Editor.
Mau bertemu dengan Visual Basic Editor juga?
Buka Microsoft Word (tau kan di mana Microsoft Word berada? itu lho, klik kanan, New, Microsoft Word Document, dan setelah terbuka silakan lanjutkan membaca), lalu pilih Tools (yang ada di atas itu lho), pada Tools kita pilih Macro, dan pada Macro kita pilih Visual Basic Editor, atau lebih cepatnya bisa pencet Alt+F11. (penulis menggunakan Microsoft Office Word 2003).
Cukup sampai di sini penjelasan Visual Basic Editor yang menggunakan Microsoft Office Word 2003, soalnya selanjutnya sama dengan Microsoft Visual Basic 6.0 yang akan dilanjutkan dari tulisan ini. (selamat membaca!).
Nah, karena belum mengenal Microsoft Visual Basic 6.0, jadi setelah download Microsoft Visual Basic 6.0 dan kenal, saya gunakan Microsoft Visual Basic 6.0 saja untuk pembelajaran lebih lanjut.

Langsung saja kita ke contoh:
Pada VB (tentunya sudah terbuka dan siap untuk digunakan), pilih UserForm atau Form, maka akan tersedia sebuah Form (bentuk, isian) kosong yang siap untuk kita isi. Coba kita isi dengan CommandBotton yang ada pada ToolBox (kotak peralatan) yang ada di samping Form kita, kalau tidak ada, cari dengan View (yang ada di atas itu lho), dan temukan yang namanya ToolBox. CommandBotton berbentuk segi empat, polos. (nanti ada tulisan CommandBotton yang ngasih tau kalau kita jalankan korsur mouse ke arahnya). Setelah CommandBotton ditemukan, coba deh kita masukkan dia ke Form kita tadi (n’tah diseret atau dibentuk seperti membuat kotak pada Microsoft Word), nanti dia dikasih nama CommandBotton1 atau Command1. Setelah dia masuk di dalam Form1 punya kita tadi, coba diklik dobel (double click) pada CommandBotton1 atau Command1, nanti ada tulisan “Private Sub CommandButton1_Click() - End Sub” atau “Private Sub Command1_Click() - End Sub”. Nah, di situ kita masukkan kode (kode program tentnya), biasanya saya sebut dengan VBS (Visual Basic Script, atau tulisan kode Visual Basic).
Coba deh kita isi dengan kode (script) seperti di bawah ini (bisa dicopy kalo malas nulisnya):
MsgBox "Wah…, belajar VB ya?" & vbCrLf & _
"Kayaknya seru nih!" & vbCrLf & _
"Selamat belajar ya!" & vbCrLf & _
"]*_^[", vbInformation, ".::Warning (Peringatan) dari bekabe.blogspot.com::."
Ingat, letakkan contoh kode tulisan di atas di antara “Private Sub” dan “End Sub”, tepatnya “di atas dari End Sub, dibawah dari Private Sub
Setelah itu, kita pilih Run (yang berada di atas itu lho), dan cari tuisan “Start”, atau “Run Sub/UserForm”, atau lebih cepatnya bisa kita pencet tombol “F5” pada keyboard, dan tinggal klik saja “CommandBotton1 atau Command1”.
“Selamat! Anda telah berhasil membuat sebuah kotak informasi dari VB”
Ya, itu lah yang dapat saya ucapkan ketika Anda telah berhasil membuatnya!
Berhubung saat ini saya bukan programmer (cos, belum bisa bikin program aplikasi, yang exe tuh maunya), jadi hanya itu yang dapat saya bagi. Insya Allah kalau saja sudah jadi programmer VB, akan saya bagikan apa yang saya ketahui tentang membuat program dari VB.








Ilmu yang baik adalah ilmu yang bermanfaat
Bagiku, ilmu terlalu berat untuk ku pikul sendiri
Karena ku tak tahu sampai kapan perjalananku bisa ku tempuh
Entah esok
Atau lusa
Sehingga ilmu tak berarti lagi di hari itu 

Script untuk Pembuatan Tabel

Tabel JENIS
CREATE TABLE JENIS (
KODE_TRAINING varchar2(3) PRIMARY KEY,
TRAINING varchar2(30),
JUMLAHJAM  number (2),
               NIP  varchar2(10) REFERENCES DOSEN(NIP));

Tabel TRAINING
CREATE TABLE TRAINING (
TANGGAL DATE,
KODE_TRAINING varchar2(3) REFERENCES
JENIS(KODE_TRAINING),
NRP  varchar2(10) REFERENCES SISWA(NRP),
PRIMARY KEY (TANGGAL,KODE_TRAINING));
Koneksi dengan
Oracle Data Control (ORADC)
 
Untuk menggunakan koneksi ORADC ini terlebih dahulu menyiapkan atau mengaktifkan komponen obyek ini dengan memilih menu Project >> Components lalu pilihlah  komponen Oracle Data Control untuk koneksi database dengan ORADC, Microsoft DataBound Grid untuk tabel grid dengan koneksi ADO, dan Microsoft 
Properti yang harus diisikan dalam obyek koneksi database dengan ORADC ini antara lain:
Database, diisi dengan nama hostname dari server database Oracle yang digunakan.
Connection, diisi dengan nama user dan password yang dipisahkan dengan tanda garis 
miring.
               Record Source, diisi dengan perintah SQL untuk memilih suatu query atau tabel.
Entry Data Mahasiswa 
 Buat form entry dengan menempatkan component dan object seperti berikut :
Dengan nama component sebagai berikut :
  Textbox
  Textbox
  Textbox
  Textbox
  Dbgrid
   Oradc
   CommandButton  cmdsimpan
    CommandButton  cmdhapus
Entry Data Mahasiswa
 
 

Selasa, 12 April 2011

PostgreSQL to VB

Tutorial kali ini kita akan membahas bagaimana mengolah data menggunakan database PostgreSQl dengan Visual Basic... Seperti gambar diatas...

Componen: Datagrid..
Buat Database: lihat gambar dibawah ini...
 setelah database penjualan di buat, maka untuk membuat table pada PostgreSQL, ikuti langkah dibawah ini..
Connect to database penjualan
==============================

Buat table
===============================
untuk dapat di akses dengan visual basic, kita harus menghubungkan database penjualan ke dalam Driver ODBC, seperti gambar dibawah ini:
Buat DSN
Ok .. kembali ke Visual basic..
isikan source code di bawah ini:

Dim CN As New ADODB.Connection
Dim RS As New ADODB.Recordset


Private Sub cmdExit_Click()
Unload Me
End Sub

Private Sub Form_Load()
Set CN = New ADODB.Connection
'cara pertama
CN.Open "Driver={PostgreSQL ANSI};Server=localhost;Port=5432;Database=penjualan;Uid=postgres;Pwd=mahmud;"
'cara ke dua
'CN.Open "DSN=inventory;" & _
"UID=postgres;" & _
"PWD=mahmud;" & _
"database=penjualan"
TData
End Sub

Private Sub TData()
Set RS = New ADODB.Recordset
RS.CursorLocation = adUseClient
RS.Open "SELECT * from Pelanggan", CN, adOpenDynamic, adLockPessimistic
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
End Sub

=================================================================================





Sahabat jadi Cinta

Tidak ada yang berubah J tentang persahabatan kita, lakukan apapun yang kamu mau, tapi aku tidak akan merubahnya. Sayang dan perhatian yang aku kasih ke kamu, tidak lebih dari perasaan sayangku terhadap sahabat/saudara. Dari remaja kita bersahabat, dari kita tidak tau arti kata sahabat, dari kita belum tau cara menghargai perasaan, dari sebelum kita mengerti arti cinta. Tapi persahabatan itu lebih penting buatku. J, aku ngerti tapi tolong hargai persahabatan kita selama ini. Apa aku harus menghindar lagi seperti 5 tahun lalu?.
Aku tau kamu nggak baca ini, maaf…