Showing posts with label Visual Basic 6.0. Show all posts
Showing posts with label Visual Basic 6.0. Show all posts

30 June 2010

Menentukan Bilangan Prima

Bilangan prima adalah bilangan yang hanya bisa dibagi dengan angka 1 dan angka itu sendiri kecuali bilangan 1, kalau tidak salah itu adalah definisi yang diberikan guru dulu waktu SD, kalau sekarang da berubah aku gak tau. Untuk membuat sebuah aplikasi sederhana, terutama dengan menggunakan visual basic 6 kita bisa menggunakan banyak algoritma, bisa saja algoritma pemrograman yang saya gunakan tidak sama dengan yang anda pikirkan, saya kira hal itu sah-sah saja. Disini saya mencoba menggunakan algoritma yang sederhana saja dengan memamfaatkan perulangan "for ... next".

Untuk membuat aplikasi ini cukup mengggunakan sebuah textbox dan sebuah commandbutton. Berikut adalah contoh kode yang saya gunakan:

Private Sub cmdOK_Click()
Dim nilai, x
If Text1.Text = "" Then
MsgBox "Anda belum memasukkan angka", vbInformation + vbOKOnly, "Error"
Text1.SetFocus
ElseIf Val(Text1.Text) <= "0" Then
MsgBox "Anda hanya boleh memasukkan angka lebih besar dari 0", vbInformation + vbOKOnly, "Error"
Text1.SetFocus
ElseIf Val(Text1.Text) = "1" Or Val(Text1.Text) = "2" Then
MsgBox Text1.Text & " BUKAN PRIMA", vbInformation + vbOKOnly, "Informasi"
Text1.SetFocus
Else
For i = 2 To (Val(Text1.Text) - 1)
nilai = Val(Text1.Text) Mod Val(i)
If nilai = "0" Then
x = x + 1
Exit For
End If
Next i

If x > 0 Then
MsgBox Text1.Text & " BUKAN PRIMA"
Else
MsgBox Text1.Text & " BILANGAN PRIMA"
End If
End If
End Sub


Algoritma yang saya gunakan sangat sederhana menurut saya, dimana saya akan melakukan perulangan yang dimulai dari 2 sampai angka yang kita masukkan yang sudah dikurangi 1, dimana bila dalam perulangan program menemukan nilai bagi yang tidak ada sisa atau "0" maka bisa dipastikan bilangan itu bukan prima karena memiliki angka bagi. Untuk menghasilkan program seperti itu maka saya menggunakan operator matematika berupa"mod", yaitu nilai sisa dari hasil bagi. Misalnya 15 / 4 maka sisa baginya adalah 3, maka 15 mod 4 hasilnya adalah 3.

Bila sisa bagi adalah "0" maka nilai dari baris "If nilai = "0" Then" menjadi True maka program akan mengeksekusi baris dibawahnya yang menyebabkan nilai "x" menjadi bertambah 1 dan "exit for" digunakan untuk keluar dari perulangan dan akan langsung mengeksekusi perintah setelah "next".

Dalam kode program yang saya gunakan saya menggunakan kata "Val" yang merupakan perintah untuk konversi nilai ke numerik.

Sekali lagi saya tekankan, cara saya membuat program ini mungkin berbeda dengan yang anda pikirkan, namun itu bukanlah sebuah persoalan, mudah-mudahan contoh yang saya berikan bisa menambah pengetahuan kita semua. Semoga berguna.
Read more ...

22 June 2010

Form Login dengan Database

Untuk membuat form login yang berhubungan dengan data base pada dasarnya sama dengan membuat form login biasa. Yang menjadi perbedaan adalah kita mengambil data dari database yang sebelumnya telah tersimpan.

Untuk memulai mencoba membuat halaman login, terlebih dahulu membuat database misalnya dari microsoft access dengan nama tabel "login" dan berisi 2 buah kolom yaitu "username" dan "pass".

Setelah database kita buat maka tahap selanjutnya adalah membuat tampilan halaman login yang terdiri dari dua buah label, 2 buah text box dan dua buah command button.
Berikut adalah property yang saya ubah dari masing-masing tool:
Form : Caption > LOGIN
Label1 : caption > Username
Label2: caption > Password
Text1 : name > txtuser
Text2 : name > txtpass
PasswordChar > *
Command1: name > cmdLogin
Caption > &Login
Command2: name > cmdExit
Caption > &Exit
Berikut adalah bentuk tampilannya

formlogin


Setelah itu kita baru masuk pada tahap pembuatan kode:

Kalo mau coba ini ada contoh kode-nya. Kalo malas ngetik atau copas desain dan codenya bisa di ambil disini:

Private con As New ADODB.Connection
Private rst As New ADODB.Recordset
Private strconn As String
Private sql As String

Private Sub Connections()
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\db.mdb ;Persist Security Info=False;Jet OLEDB"
If con.State = adStateOpen Then
con.Close
Set con = New ADODB.Connection
con.Open strconn
Else
con.Open strconn
End If
End Sub

Private Sub cmdExit_Click()
End
End Sub

Private Sub cmdLogin_Click()
On Error Resume Next

Static i As Integer

If txtUser.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Nama", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus
ElseIf txtPass.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Kata Sandi", vbInformation + vbOKOnly, ":: Informasi ::"
txtPass.SetFocus
Else
sql = "SELECT * FROM LOGIN WHERE username='" & txtUser.Text & "'"
Set rst = con.Execute(sql)
If rst.EOF Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus

ElseIf txtPass.Text <> rst("pass") Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus

Else
MsgBox "Selamat anda berhasil login", vbInformation + vbOKOnly, "Informasi"
Unload Me
End If
End If
Exit Sub

noacc:
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
End
Else
Return
End If

End Sub

Private Sub Form_Load()
Call Connections
txtUser.Text = ""
txtPass.Text = Empty
End Sub

Penjelasan singkatnya sbb:

Private con As New ADODB.Connection
Private rst As New ADODB.Recordset
Private strconn As String
Private sql As String

Private Sub Connections()
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\db.mdb ;Persist Security Info=False;Jet OLEDB"
If con.State = adStateOpen Then
con.Close
Set con = New ADODB.Connection
con.Open strconn
Else
con.Open strconn
End If
End Sub


Baris-baris kode ini adalah modul koneksi ke database, biasanya diletakkan pada sebuah modul apabila kita memiliki banyak form, karena kita hanya memiliki sebuah form maka kita letakkan pada form. Dan prosedur ini akan kita panggil pada saat form kita load “call Connections”

Private Sub cmdExit_Click()
End
End Sub

Kode ini saya kira sudah sangat jelas, yaitu untuk mengakhiri atau menutup form.

Private Sub cmdLogin_Click()
On Error Resume Next

Static i As Integer

If txtUser.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Nama", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus
ElseIf txtPass.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Kata Sandi", vbInformation + vbOKOnly, ":: Informasi ::"
txtPass.SetFocus
Else
sql = "SELECT * FROM LOGIN WHERE username='" & txtUser.Text & "'"
Set rst = con.Execute(sql)
If rst.EOF Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus

ElseIf txtPass.Text <> rst("pass") Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus

Else
MsgBox "Selamat anda berhasil login", vbInformation + vbOKOnly, "Informasi"
Unload Me
End If
End If
Exit Sub

noacc:
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
End
Else
Return
End If

End Sub

Untuk bagian ini hamper sama ketika kita membuat halaman login tanpa data base yang sudah pernah saya postingkan, hanya saja yang menjadi perbedaan hanya terletak pada beberapa bagian saja. Yaitu pada

sql = "SELECT * FROM LOGIN WHERE username='" & txtUser.Text & "'"
Set rst = con.Execute(sql)
If rst.EOF Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus

ElseIf txtPass.Text <> rst("pass") Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtUser.SetFocus

Disini kita akan menggunakan query sql untuk melakukan pencarian username terlebih dahulu kemudian hasilnya kita simpan pada variable rst setelah eksekusi query dilakukan. Apabila data tidak ditemukan maka akan menuju ke sub prosedur noacc, namun bila ditemukan maka kita akan membandingkan nilai password yang ada pada database dan password yang di-input-kan oleh user.

Private Sub Form_Load()
Call Connections
txtUser.Text = ""
txtPass.Text = Empty
End Sub


Bagian ini adalah bagian yang pertama kali dijalankan oleh program karena ditelakkan pada saat form kita buka. Kode ini hanya berfungsi untuk melakukan pengaturan awal saya, misalnya call connections, yaitu untuk melakukan pangggilam koneksi ke database, kemudian pengatur textbox menjadi kosong yaitu dengan menggunakan (“”) atau bisa juga dengan kata Empty.

Dah Cuma gitu aja, kayaknya gak susah2 bgt. Met mencoba deh.
Read more ...

18 April 2010

Halaman Login Sederhana

Untuk membuat sebuah halaman login yang sederhana tidaklah sulit. Kita hanya membutuhkan sebuah form kemudian dua buah label dan textbox serta sebuah commandbutton. Halaman login yang akan dibuat ini akan melakukan pengecekan terhadap username dan password yang dimasukkan dan membatasi user dengan hanya boleh melakukan tiga kali kesalahan saja, bila melakukan tiga kali kesalahan maka aplikasi akan langsung melakukan logoff system. Berikut ini adalah property yang diubah pada masing-masing komponen dan ini bersifat optional saja, jadi kita bisa melakukan perubahan sesuai kemauan.
Form :
(Name) : frmLogin
BorderStyle : 1-fixed single
Caption : LOGIN
Label1:
Caption :Username
Label2:
Caption :Password
TextBox1:
Name :txtName
Text :dikosongkan
TextBox2:
Name :txtpass
PasswordChar: * (asterisk)
Text :dikosongkan
CommandButtton:
Name : cmdLogin
Caption : LOGIN

Berikut adalah contoh tampilan halaman login:



Untuk kodenya sebagai berikut:

Private Sub cmdLogin_Click()
Static i As Integer

If txtNama.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Nama", vbInformation + vbOKOnly, ":: Informasi ::"
txtNama.SetFocus
ElseIf txtPass.Text = "" Then
GoSub noacc
MsgBox "Anda belum memasukkan Kata Sandi", vbInformation + vbOKOnly, ":: Informasi ::"
txtPass.SetFocus
ElseIf (txtNama.Text <> "Nama") Or (txtPass.Text <> "pass") Then
GoSub noacc
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtNama.SetFocus
Else
MsgBox "Selamat anda berhasil melakukan login", , "Berhasi"
End If
Exit Sub

noacc:
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
Shell "cmd /c shutdown -f"
Else
Return
End If
End Sub

Private Sub txtNama_KeyPress(KeyAscii As Integer)
If Not InStr("'", Chr(KeyAscii)) = 0 Then
If KeyAscii <> vbKeyBack Then
KeyAscii = 0
End If
End If
End Sub

Private Sub txtPass_KeyPress(KeyAscii As Integer)
If Not InStr("'", Chr(KeyAscii)) = 0 Then
If KeyAscii <> vbKeyBack Then
KeyAscii = 0
End If
End If

End Sub

Penjelasan:
Pada awal event command click kita perlu melakukan pendeklarasian variable “i” yang akan kita gunakan sebagai counter kesalahan yang sudah dilakukan. Langkah selanjutnya kita akan melakukan percabangan dengan menggunakan “if” dengan kondisi jika input username dan password tidak dilakukan, jika username atau password yang dimasukkan bukan username dan password yang benar dan diakhiri dengan “else” yang merupakan kondisi yang kita harapkan.
Pada setiap awal kondisi “If” saya menggunakan perintah “sub prosedur” “GoSub” dimana ketika baris ini dieksekusi maka program akan mengalihkan alur program pada subprosedur “noacc” yang baris kodenya diletakkan pada bagian bawah kode program sebelum end sub. Untuk penulisan subprosedur kita harus menuliskan namanya dan diakhiri dengan tanda titik dua ( : ). Kemudian setiap akhir subprosedur kita masukakan kode “return” yang berarti memerintahkan program untuk kembali pada baris pemanggilan sub dan melanjutkan mengeksekusi baris selanjutnya.
Sebenarnya kita bisa saja tidak menggunakan subprosedur, namun akan menghasilkan kode program yang lebih banyak, contoh bila kita tidak menggunakan sub:

If txtNama.Text = "" Then
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
Shell "cmd /c shutdown -f"
End
End If

MsgBox "Anda belum memasukkan Nama", vbInformation + vbOKOnly, ":: Informasi ::"
txtNama.SetFocus

ElseIf txtPass.Text = "" Then
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
Shell "cmd /c shutdown -f"
End
End If

MsgBox "Anda belum memasukkan Kata Sandi", vbInformation + vbOKOnly, ":: Informasi ::"
txtPass.SetFocus
ElseIf (txtNama.Text <> "Nama") Or (txtPass.Text <> "pass") Then
i = i + 1
If i = 3 Then
MsgBox "Maaf anda tidak berhak mengakses aplikasi ini !", vbCritical, ":: Gagal ::"
Shell "cmd /c shutdown -f"
End
End If
MsgBox "Nama atau Kata sandi yang anda masukkan salah", vbInformation + vbOKOnly, ":: Informasi ::"
txtNama.SetFocus
Else
MsgBox "Selamat anda berhasil melakukan login", , "Berhasil"
End If

Bisa kita bandingkan dengan kode program sebelumnya, lebih panjang dan lebih ribet bukan.
Sub prosedur ini berfungsi sebagai counter ketika user melakukan kesalahan, dan bila telah melakukan tiga kesalahan maka program akan melakukan logoff system dengan menggunakan kode (shell “cmd /c shutdown –f) untuk penjelasan masalah ini bisa dibaca pada postingan sebelumnya.
Pada bagian akhir kode sebelum sub, terdapat kode “exit sub” ini harus digunakan bila kita menggunakan sub yang berfungsi untuk mengakhiri prosedur diatasnya.
Read more ...

22 December 2009

CommandButton Abjad

Untuk membuat tombol yang berurutan dari A hingga Z, bila kita melakukannya secara manual, berarti kita harus membuat 25 buah command button dengan caption yang berbeda, tentu hal ini akan membutuhkan waktu. Maka disini akan saya berikan cara membuat deretan command button dari A hingga Z dengan menggunakan kode program.

Langkah-langkanya sebagai berikut:

1. Buatlah sebuah commandbutton pada form dengan memberikan properti index dengan nilai “0” dan caption “A”.
2. Ketikkan kode berikut pada procedure Form_Load

For i = 1 To 25
Load Command1(i)
Command1(i).Left = Command1(i - 1).Left + Command1(0).Width
Command1(i).Caption = Chr(vbKeyA + i)

Next i


Dalam program ini kita memanfaatkan perulangan For...Next yang digunakan untuk membuat tombol-tombolnya. Perulangan dilakukan sebanyak 25 karena jumlah abjadnya ada 26 kita kurangi 1 karena sudah kita buat secara manual.
Perintah “Load Command1(i)” berfungsi untuk memuat atau membuat commandbutton selanjutnya dengan property name Command dan dengan index “i”.
Langkah selanjutnya program akan mengatur property Left pada tombol yang baru berdasarkan jarak kiri commandbutton sebelumnya ditambahkan dengan nilai property Width commandbutton sebelumnya.
Untuk memberikan nilai caption-nya kta menggunakan fungsi Chr dengan parameter nilai ASCII dari A (vbKeyA) ditambah dengan nilai “i”.
Bila kita selesai sampai disini maka tombol yang kita buat belum bisa tampil pada saat program kita run, sehingga kita perlu mengatur nilai visible-nya menjadi true. Untuk itu tambahkan kode berikut sebelum perintah “Next i”.

Command1(i).Visible = True
Read more ...

12 December 2009

Tool Debugging

Untuk mencari dan mengurangi error pada saat program dijalankan atau error karena kesalahan logika alur program maka kita harus menguasai beberapa tool debugging. Selain itu tool debugging jaga dapat kita gunakan untuk dapat lebih memahami dan mengikuti alur logika dari sebuah program agar dapat mengerti dengan baik proses yang terjadi di dalam program dan pada saat program kita jalankan.

Berikut ini adalah beberapa tool debungging yang dapat kita gunakan. Sebelumnya untuk menampikan tool debugging pada toolbar kita bisa masuk pada menu View -> Toolbars -> Pilih Debug. Maka akan muncul sbb:


  • Toggle Breakpoint
Berfungsi untuk mengatur statemen code dimana eksekusi seharusnya dihentikan. (F9)

  • Step Into
Berfungsi untuk mengeksekusi kode dibaris berikutnya dan masuk pada prosedur yang dipanggil (F8)

  • Step Over
Berfungsi untuk mengeksekusi kode dibaris berikutnya dan keluar dari prosedur yang dipanggil (Shift + F8)

  • Step Out
Berfungsi untuk menyelesaikan eksekusi dari sebuah prosedur dan berhenti di baris berikutnya di prosedur yang dipanggil. ( Ctrl + Shift + F8 )

  • Run to Cursor
Tool ini berfungsi untuk meneruskan dan menghentikan eksekusi di statement yang kita tentukan. (Ctrl + F8)

  • Quick Watch
Untuk menampilkan nilai dari ekspresi yang dipilih pada saat Break Mode ( Kondisi pada saat program menemukan sebuah kesalahan program, dimana biasanya VB akan masuk ke kondisi ini secara otomatis ). (Shift + F9)

Untuk dapat menguasai tool-tool ini tentu kita harus membiasakan diri dengan mereka. Untuk mencobanya anda bisa mencoba membuat program apa saja trus dicobain tool tadi.
Read more ...

22 November 2008

Perintah DOS pada Visual Basic 6.0

Terkadang kita ingin menggunakan perintah yang ada pada dos untuk melakukan sebuah kondisi, ni aku bagi caranya gampangnya, hanya beberapa baris aja kok gak panjang :

Sebelumnya siapkan sebuah form dengan satu buah command button, trus ketik code berikut:

Private sub command1_click()

sYourCommand="copy C:/vb.txt D:/vb.txt"
shell "cmd \c " & sYourCommand

End Sub

Dah cuma gitu aja code-nya.
Variabel sYourCommand adalah perintah dos yang ingin kita lakukan, pada code di atas dicontohkan kita akan menyalin file vb.txt pada C: ke D:, perintah ini bisa kita ganti dengan perintah dos yang lainnya.

Pada baris bawahnya kita menggunakan "Shell" yang berfungsi untuk memanggil aplikasi yang ada, disini kita memanggil aplikasi commnad promt, untuk memasukkan perintah dos kita menggunakan tambahan " \c " lalu kita tambahkan string tersebut dengan perintah dos yan telah kita simpan pada variabel sYourCommand.
Read more ...

10 July 2008

Mencari ASCII Sebuah Tombol

KEYASCII dari suatu tombol penting untuk kita ketahui bila kita sering menggunakan event keypress dari suatu kontrol. Namun untuk dapat menghafal semua ASCII dari tiap tombol pada keyboard lumayan sulit mengingat cukup banyaknya tombol. Lalu bagaimana cara membuat sebuah program aplikasi dari visual basic 6 untuk mengtahui nilai ASCII dari sebuah tombol.

Berikut ini ada sebuah aplikasi sederhana untuk mengetahui nilai ASCII pada tombol keyboard yang kita tekan dengan memanfaatkan event keypress.

Buatlah sebuah project baru dengan menambahkan sebuah kontrol. Kemudian ketikkan kode berikut :


Private Sub Text1_KeyPress(KeyAscii As Integer)

MsgBox "Nilai ASCII dari tombol yang anda tekan adalah " & KeyAscii

End Sub


Cara kerja dari program diatas sangat sederhana, yaotu kita cukup menekan sebuah tombol atau gabungan dengan tombol Shift maka akan muncul sebuah Message box yang menampilkan nilai ASCII-nya.

Sebagai catatan, tidak semua tombol dapat kita tampilkan KEYASCII-nya misalnya tombol anak panah, Shift, CTRL, dll.
Read more ...

19 June 2008

Mencari Selisih Tanggal

Untuk mencari selisih dari dua buah tanggal tidaklah sulit, karena dalam visual basic telah disediakan fasilitas untuk melakukan hal tersebut dengan menggunakan fungsi " datediff ", yaitu sebuah fungsi yang digunakan untuk mendapatkan selisih dari dua buah tanggal. Dari fungsi dafediff kita bisa mendapatkan selisih hari, bulan dan tahun dari dua buah tanggal.

Cara penggunaan dari fungsi ini adalah sbb:

dim hari, bulan, tahun

'Untuk mencari selisih hari
hari=DateTime.DateDiff("d", CDate(Text1.Text), CDate(Text2.Text))

'Untuk mencari selisih bulan
bulan = DateTime.DateDiff("m", CDate(Text1.Text), CDate(Text2.Text))

'Untuk mencari selisih tahun
tahun = DateTime.DateDiff("yyyy", CDate(Text1.Text), CDate(Text2.Text))


Dalam contoh code diatas yang membedakan dari tiap kegunaannya adalah fungsi "d,m dan yyyy", dimana ketiganya mewakili untuk hari atau day (d), bulan atau month (m).

Dalam kode diatas, terdapat satu fungsi yang berfungsi untuk meng convert mengubah tipe data dari string ke tipe tanggal, yaitu fungsi CDate .

Kode diatas dapat kita letakkan pada prosedur command_click atau bisa juga diletakkan pada tempat lain.
Read more ...

11 May 2008

Membuat Paket File Instalasi

Untuk membuat paket file instalasi dibutuhkan beberapa langkah sbb:
  1. Pastikan program yang kita buat sudah tidak terdapat kesalahan

  2. Buatlah file exe-nya dengan memilih file >> Make (Project Name) exe...

  3. Masuklah ke menu Add-Ins

  4. Pada kolom Available Add-Ins carilah Package and Deployment Wizard

  5. Pada bagian Load Behavior beri tanda centang pada Loaded/Unloaded dan Load on Startup >> OK.

  6. Maka pada menu Add-Ins akan muncul menu baru yaitu Package and Deployment Wizard pilihlah menu ini untuk langkah selanjutnya.

  7. Pada window yang muncul pilihlah Package

  8. Apabila muncul permintaan untuk mengkompile ulang pilihlah perintah Yes. Apabila proses kompile gagal, itu berarti program yang dibuat masih memiliki kesalahan.

  9. Langkah selanjutnya kita bisa langsung memilih Next hingga muncul jendela Package folder. Pada bagian ini pilihlah letak tempat penyimpanan hasil paketan kemudian Next.

  10. Apabila muncul jendela Missing Dependency Information kita bisa melewati bagian ini dan langsung memilih OK.

  11. Langkah selanjutnya adalah munculnya jendela Included Files, apabila anda menggunakan database access maka pilihlah Add dan carilah database anda. Apabila file tidak ditemukan pada jendela Add File, ubahlah files of type menjadi All Files (*.*).

  12. Sebelum memilih Next perhatikan terlebih dahulu Name dari File, hilangkan tanda centang pada file msado25.tlb. Pengalaman saya bila file ini tidak dihilangkan maka pada saat proses instalasi akan muncul pesan kesalahan yang bila kita Ignore maka tidak akan mempengaruhi aplikasi kita.

  13. Pada jendela selanjutnya ada dua pilihan yaitu Single Cap dan Multiple Caps, apabila dipilih Single Cap maka file-file aplikasi akan dibuat dalam satu file, namun bila kita memilih Multiple Caps kita bisa membagi file-file instalasi menjadi beberapa file sebesar Cap size, lalu Next

  14. Pada bagian Installation Title isilah kata-kata yang biasanya merupakan nama dari aplikasi yang kita buat, dan akan muncul sebagai latarbelakang pada saat proses instalasi.

  15. Pada langkah selanjutnya merupakan pengaturan tata letak shortcut pada start menu kita bisa mengubah tata letak dan namanya atau kita bisa langsung klik Next.

  16. Langkah selanjutnya kita bisa langsung klik Next juga pada bagian Shared files di langkah selanjutnya.

  17. Finish

  18. Pada akhir proses paket ada laporan yang bisa kita sompan atau bisa juga diabaikan.

  19. Cobalah melakukan instalasi dan cobalah.



Read more ...

02 May 2008

Visual Basic ? Apaan Sih ?

Apa sih visual basic itu ??

Visual Basic atau yang lebih dikenal dengan VB merupakan bahasa pemrograman yang menawarkan IDE ( Integrated Development Environment ) yang bertujuan untuk menfasilitasi pembangun perangkat lunak dengan utilitas yang diperlukan.

Visual Basic merupakan turunan dari bahasa basic. Basic yang singkatan dari Beginners’ All-purpose Symbolic Instruction Code yang merupakan salah satu bahasa tingkat tinggi dan sebenarnya tidak bisa disebut sebagai bahasa pemula karena bahasa basic juga digunakan oleh senior-senior atau pemrogram ahli.

Pada visual basic ditawarkan akses ke basis data menggunakan Data Access Objects(DAO), Remote Data Objects (RDO), atau ActiveX Data Object (ADO) dan dapat melibatkan banyak basis data mulai dari Oracle, Sql Server, Access dan MySql, serta menawarkan pembuatan kontrol ActiveX dan objek ActiveX dan masih banyak lagi keunggulan yang lain.

"Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang sangat luas. Dalam sebuah survey yang dilakukan pada tahun 2005, 62% pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual Basic, yang diikuti oleh C++, JavaScript, C#, dan Java."(Wikimedia.org)
Read more ...

13 April 2008

Pencegahan Error Dengan Membatasi Tindakan Pengguna

Sebagai seorang pembuat program yang baik. Kita harus dapat memikirkan segala tindakan yang mungkin dilakukan oleh pengguna aplikasi kita dan kemudian mencegah hal-hal yang tidak boleh dilakukan agar error program dapat dicegah.

Ada beberapa cara sederhana yang dapat dilakukan untuk mencegah pengguna melakukan kesalahan dalam menggunakan aplikasi salah satunya adalah dengan membatasi tindakan pengguna.

Untuk dapat membatasi tindakan pengguna maka dapat dilakukan dengan menjaga agar tindakan yang dilakukan pengguna benar-benar aman walaupun terkesan dipaksakan. Contoh kasus, pada saat pengguna akan menambah data dengan menekan tombol Tambah lalu menuliskan data yang baru. Bagaimana bila sebelum pengguna belum menekan tombol Simpan dan langsung menekan tombol navigasi ? Untuk mencegah hal tersebut maka kita dapat mengatur propertis enable pada tombol navigasi. Contoh kode program untuk mengaktifkan dan menonaktifkan tombol navigasi :

Private Sub cmdNavigasi(status As Boolean)

cmdFirst.Enabled = status

cmdLast.Enabled = status

cmdNext.Enabled = status

cmdPre.Enabled = status
End Sub

Private Sub cmdTambah_Click()

Call cmdNavigasi(False) ‘---Menonaktifkan tombol navigasi
End Sub

Private Sub cmdSimpan_Click()

Call cmdNavigasi(True) ‘---Mengaktifkan tombol navigasi
End Sub

Tindakan lain yang perlu diwaspadai adalah bila pengguna tanpa sengaja menekan tombol Hapus, maka kita harus membuat sebuah konfirmasi sebelum data benar-benar dihapus.

Selain itu untuk membatasi tindakan penguna dapat dilakukan dengan mengunci textbox sehingga pengguna tidak dapat melakukan perubahan. Misalnya kita tidak ingin pengguna merubah kode tetapi kita juga tidak ingin menggunakan kontrol label sebab kadang kita juga ingin menambah data baru. Oleh karena itu kita dapat mencegahnya dengan melakukan penguncian pada textbox yang kita inginkan dengan mengatur properti Locked-nya menjadi True atau False untuk sebaliknya.

Agar kesalahan pada database dapat dihindari kita juga bisa membatasi jumlah karakter yang boleh dimasukkan oleh pengguna dengan mengatur properti maxlength-nya menjadi lebar data pada database misalnya pada database lebar data adalah 5 karakter maka properti textbox-nya kita set menjadi 5 yang default-nya adalah 0.

Kesalahan lain yang dapat terjadi adalah pada tipe data yang berbeda dan pengaturan Null atau data boleh kosong dan Not Null atau data tidak boleh dikosongkan, misalnya pada database tipe datanya adalah int(integer) maka pengguna tidak boleh memasukkan unsur huruf didalamnya. Untuk mencegah hal tersebut maka dibutuhkan sebuah validasi data untuk mengecek apakah data yang dimasukkan sudah sesuai dengan ketentuan database yang diharapkan. Contoh kode programnya adalah sebagai berikut :

Private Sub cmdSimpan_Click()

If txtKode.Text = “” Then ‘---input kosong

MsgBox "Data tidak boleh kosong", vbExclamation + vbOKOnly,"Sistem Error"

txtKode.SetFocus

ElseIf Not IsNumeric(txtKode.Text) Then ‘---input bukan angka

MsgBox "Data tidak boleh kosong", vbExclamation + vbOKOnly, "Sistem Error"

txtKode.SetFocus

Else

Call simpan_data

End If
End Sub
Read more ...

17 February 2008

Pembuatan Modul Pada VB 6.0 dan Pengaplikasiannya

Untuk membuat sebuah modul, sama aja seperti kita mau menambahkan sebuah form ke aplikasi kita, tapi yang kita tambahkan bukan form tapi modul.

Kalo saya biasanya menggunakan modul buat prosedur2 yang akan saya pake di hampir semua form yang saya gunakan jadi dari pada saya buat prosedur yang sama maka saja buat di modul. Tapi gak harus di modul juga bisa, misalnya di sebuah form tapi dibagian depannya kita ganti biasanya "Private Sub Nama prosedur" kita ganti menjadi "Public sub Nama Prosedur". Public disini berarti prosedur yang kita buat bisa dipake disemua form yang ada di aplikasi kita.

Trus cara pemanggilannya juga gampang banget kok. Klo prosedurnya diletakkan di modul maka pemanggilannya "Call Nama prosedur", fungsi "call" berfungsi untuk memanggil prosedur yang sudah kita buat. Tapi kalo prosedurnya kita letakkan di form maka pemanggilannya agak berbeda, tapi tetap menggunakan fungsi "Call", menjadi "Call (nama form letak prosedur).(nama prosedur). Semua prosedur atau metode dan fungsi juga sama dalam pemanggilannya dengan menggunakan call dan pembuatannya didahului dengan kata "Public", klo sub prosedur ya menjadi Public Sub nama prosedur, kalo fungsi ya menjadi "public Function".
Semoga bermanfaat.
Read more ...

19 January 2008

Simple Stopwatch Application from VB 6.0

Untuk membuat sebuah aplikasi yang menggunakan control timer satu hal yang perlu diperhatiin atau diketahui yaitu interval yang digunakan. Pada visual basic untuk satu detik nilai interval timernya adalah 1000.

Code program ini bisa kalian coba buat dengan metode perulangan atau looping. Namun pada code ini saya menggunakan "if bersarang". dan saya mencoba membuat sebuah logika yang sederhana yang semoga saja bisa dimengerti.
Berikut tampilan design dan name dari tiap control nya aplikasinya:


Dan berikut adalah coding yang digunakan :

Dim jam, menit, detik, milisec

Private Sub cmdExit_Click()

Timer1.Enabled = False
Timer2.Enabled = False
End

End Sub

Private Sub cmdreset_Click()

'membuat tampilan menjadi 00:00:00:00

lblSecon.Caption = "00"
lblMinute.Caption = "00"
lblHour.Caption = "00"

'pengaturan nilai variabel

jam = "0"
menit = "0"
detik = "0"

End Sub

Private Sub cmdStart_Click()

Timer1.Enabled = True
Timer2.Enabled = True
cmdreset.Enabled = False
cmdStart.Enabled = False
cmdStop.Enabled = True

jam = lblHour.Caption
menit = lblMinute.Caption
detik = lblSecon.Caption

End Sub

Private Sub cmdStop_Click()

Timer1.Enabled = False
Timer2.Enabled = False
cmdreset.Enabled = True
cmdStart.Enabled = True
cmdStop.Enabled = False

End Sub

Private Sub Form_Load()

'pemberian nilai properti interval timer
' interval untuk satu detik sama dengan kuranglebih 1000

Timer1.Interval = 1000
Timer2.Interval = 500

End Sub

Private Sub Timer1_Timer()

detik = detik + 1
If Val(detik) > 59 Then 'fungsi "val" untuk menggubah karakter menjadi angka atau number

detik = "00"
menit = Val(menit) + 1

If Val(menit) > 59 Then

menit = "00"
jam = Val(jam) + 1

If Val(jam) > 23 Then
jam = "00"

End If
End If
End If

d = Len(detik) 'fungsi "len" berguna untuk mengetahui banyak/panjang karakter
If d = 1 Then
lblSecon.Caption = "0" & detik 'membuat tampilan menjadi "0X"
'tanda "&" berfungsi untuk penggabungan karakter
Else
lblSecon.Caption = detik
End If

m = Len(menit)
If m = 1 Then
lblMinute.Caption = "0" & menit
Else
lblMinute.Caption = menit
End If

j = Len(jam)
If j = 1 Then
lblHour.Caption = "0" & jam
Else
lblHour.Caption = jam
End If

End Sub

Private Sub Timer2_Timer()

'Untuk membuat karakter titik dua ( : ) berkedip

Label1.Visible = Not Label1.Visible
Label2.Visible = Not Label2.Visible

End Sub

Untk pengembangannya bisa dicoba menambahkan fasilitas milisecon nya.

Read more ...
 
>