Sejarah Visual Basic

| | 1 komentar

Bahasa pemrograman yang paling awal dirancang pada tahun 1950-an dan dibuat semata-mata untuk memecahkan masalah matematika yang kompleks. Bahasa-bahasa tersebut agak membingungkan bagi orang awam. Namun hal itu bukanlah masalah berbesar, karena komputer hanya ditemukan di lembaga-lembaga riset besar. Lambat laut tentunya orang sadar bahwa teknologi komputer bisa berguna tidak hanya untuk melakukan perhitungan matematika, namun bisa berguna untuk bidang yang lain. Maka komputer pun mulai menjadi barang yang biasa ditemukan di lingkungan bisnis dan universitas. Dengan semakin banyaknya orang yang menggunakan komputer, semakin banyak pula orang yang sadar bahwa bahasa pemrograman yang rumit hanya akan menghambat perkembangan komputer itu sendiri. Pada tanggal 1 Mei 1964, penemu bahasa BASIC, yaitu Profesor John G. Kemeny dan Thomas E. Kurtz di Dartmouth College di New Hampshire menjalankan pertama kali program BASIC.

Bahasa BASIC (Beginner’s All-purpose Symbolic Instruction Code) merupakan bahasa tingkat tinggi yang berbentuk interpreter, yang memungkinkan untuk mengoperasikan komputer secara interaktif, program dapat ditulis, dijalankan, diubah dan dijalankan lagi tanpa harus melalui tahap kompilasi seperti pada bahasa tingkat tinggi lainnya yang berbentu compiler. Bahasa ini dirancang khusus untuk memudahkan tugas belajar memprogram.

Pada tahun 1975, Paul Allen, pemrogram muda yang bekerja ada perusahaan komputer Honeywall dengan teman masa kecilnya William Bill Gates menawarkan interpreter BASIC kepada Ed Robert, pemilik perusahaan MITS yang memproduksi komputer mikro Altair 8800 yang mempunyai RAM 4 KB. Kedua orang ini semasa di SMA sudah pernah mendirikan perusahaan dengan nama Traf-O-Data, tetapi tidak sukses. Ed Robert berjanji akan membeli interpreter BASIC tersebut apabila ia bisa berjalan di atas komputer Altair. Paul Allen dan Bill Gates mengembangkan interpreter BASIC tersebut tanpa pernah melihat secara langsung bentuk dari komputer Altair, apalagi menggunakannya. Apa yang mereka andalkan adalah manual dari microprocessorIntel 8080 yang digunakan di Altair dan diagram dari komputer Altair itu sendiri. Untuk mengujinya, mereka menjalankan interpreter BASIC-nya pada komputer besar dan akhirnya merekam hasilnya ke pita kertas (paper tape). Ketika Paul Allen akan mendemonstrasikan hasil kerjanya pada Ed Robert, dia teringat bahwa belum ditulis suatu program loader untuk membaca dan meletakkan interpreter BASIC yang ada di paper tape ke dalam main memory Altair. Paul Allen langsung menulis program loader tersebut dalam bahasa mesin dan memanggil interpreter BASIC dari pita kertas. Setelah beberapa menit, program berhasil masuk ke main memory. Paul Allen menyadari bahwa dia dan Bill Gates telah membuat banyak kesalahan di sana-sini, walaupun demikian, interpreter BASIC ini akhirnya dapat berjalan juga di komputer mikro Altair dan Ed Robert jadi membelinya. Untuk kedua kalinya, Paul Allen dan Bill Gates mendirikan suatu perusahaan yang disebut dengan Microsoft, yang terkenal sampai sekarang. Inilah cikal bakal dari BASIC yang terkenal itu.

Beberapa tahun kemudian muncullah bahasa pemrograman tingkat tinggi yang dengan menawarkan berbagai macam fungsi dalam pustakanya (library). Akan tetapi, untuk membuat sebuah aplikasi bisnis berbentuk grafik masih merupakan pekerjaaan yang cukup sulit untuk dilakukan. Jangankan aplikasi berbentuk grafik untuk menangani permasalahan mencetak data ke dalam printer saja sudah cukup untuk membuat pemrogram kesulitan. Belum lagi untuk membedakan antara printer satu dengan yang lainnya, walaupun keduanya mempunyai tipe yang sama, yaktu sama-sama dotmatrix, pemrogram harus terlebih dahulu membuat sebuah program yang mengakomodasi semua printer tersebut. Itulah gambaran kesulitan yang dialami oleh generasi pertama pemrogram. Dibutuhkan lebih dari 20 tahun untuk mendapatkan lingkungan pemrograman berbasis DOS yang cukup stabil.

Ketika komputer mikro tergusur oleh IBM PC, maka inilah zaman dimulainya era komputer pribadi (personal computer – PC) dengan antarmuka pemakai grafis (Graphical User Interface – GUI). Dengan munculnya Microsoft Windows, para pemakai PC bisa bekerja dalam lingkungan yang kaya grafis dan intuitif. Dengan GUI menyebabkan aplikasi-aplikasi jauh lebih mudah dipelajari dan dipakai. Hal ini sebagai ganti belajar mengetikkan dan menghafal perintah-perintah yang panjang, para pemakai cukup memilih sebuah menu dengan mengklik tombol mouse. Jendela-jendela pada layar memungkinkan pemakai untuk menjalankan lebih dari satu program secara bersamaan (multi-tasking). Kotak-kotak dialog muncul ketika sebuah program membutuhkan konfirmasi dari pemakai.

Pada tahun 1986, Dr. Bjarne Stroustrup meluncurkan bukunya yang sangat berpengaruh dengan judul The C++ Programming Language sebagai tanda dimulainya era pemrograman berorientasi objek (Object Programming Language -OOP). Pada tahun yang sama Intel meluncurkan microprocessor 32 bit yang pertama kali yakni 386. Banyak pemrogram profesional Amerika menggunakan bahasa C++ sebagai bahasa pemrogramannya ketika membangun suatu aplikasi yang berjalan di atas Windows. Pustaka-pustaka class (class library) dibangun untuk membantu kecepatan pengembangan suatu aplikasi. Terutama class yang berhubungan dengan objek.

Banyak orang percaya bahwa Windows mengawali masa berakhirnya pemrogram amatir. Dalam dunia MS-DOS, para profesional dalam di bidang non-komputer, biasanya mampu menulis aplikasi-aplikasi sederhana yang membantu mereka dalam pekerjaannya, merampingkan perhitungan yang membosankan, atau mengelola data dengan cepat. Jadi C++ bukanlah bahasa yang tepat untuk mereka. Karena yang mereka butuhkan adalah bahasa pemrograman yang cepat dan mudah dipelajari. Sementara C++ adalah bahasa yang benar-benar berbeda dengan bahasa C sebelumnya karena mengandung OOP. Pada waktu itu, sebagian besar pemrogram profesional membutuhkan waktu 6 bulan untuk akrab dengan konsep OOP seperti pengkapsulan (encapsulation), pewarisan (inheritance), dan polimorfisme (polymorphism). Namun bisakah setiap orang memahami hal-hal tersebut? Tentu tidak, apalagi tuntutan pemrograman dalam Windows begitu rumit bahkan untuk aplikasi yang paling sederhana sekalipun.

Tuntutan ini terjawab pada 1991, ketika Microsoft memperkenalkan Visual Basic versi 1.0. Sistem pemrograman Visual Basic mengemas kerumitan Windows dengan cara yang benar-benar menakjubkan. Sejumlah besar pemrogram yang kesulitan untuk mempelajari C++ atau pemrogram yang membutuhkan bahasa pemrograman yang lebih mudah dan lebih produktif untuk lingkungan Windows 3.0, dapat dengan mudah dan sukses pindah ke Visual Basic.

Dengan mengkombinasikan kemampuan bahasa Basic dan peranti desain visual, bahasa ini menyediakan kesederhanaan dan kemudahan pakai tanpa mengorbankan kinerja atau fasilitas grafis yang menyebabkan Windows menjadi lingkungan kerja yang begitu menyenangkan. Menu, tombol, textbox, font, dan semua elemen lainnya dengan mudah dapat dirancang. Dan semua fasilitas tersebut tidak membutuhkan lebih dari beberapa baris pemrograman.

Berikut Perjalanan Visual Basic (VB 1.0 Sampai VB 10)

VB 1.0
Visual Basic 1.0 adalah salah satu bahasa komputer pertama yang mendukung pemrograman event-driven. Event-driven adalah gaya pemrograman yang sangat cocok untuk antarmuka pemakai grafis. Secara tradisional, pemrograman adalah sesuatu yang berorientasi pada proses dan langkah demi langkah. Sebagai ganti menuliskan sebuah program yang mengeplot setiap langkah dalam urutan tepat, pemrogram menuliskan sebuah program yang bereaksi terhadap tindakan pemakai seperti memilih sebuah menu, mengklik jendela, atau menggerak mouse. Suatu program yang besar dapat diganti dengan kumpulan miniprogram yang dipicu oleh event-event yang dilakukan oleh pemakai. Dan dengan Visual Basic, aplikasi seperti ini bisa dituliskan dengan cepat dan mudah. Sebagaimana kata Visual yang tersirat, pemrograman dilakukan secara visual. Ini berarti bahwa sebuah aplikasi sudah terlihat hasilnya walaupun belum dijalankan. Letak dan ukuran menu, textbox, tombol, dan elemen lainnya dapat dirancang dengan menggunakan mouse dan keyboard.

VB 2.0
Visual Basic 2.0 dirilis pada November 1992, Cakupan pemrogramannya cukup mudah untuk digunakan dan kecepatannya juga telah di modifikasi. Khususnya pada Form yg menjadikan object dapat dibuat secara seketika, serta konsep dasar dari Class modul yg berikutnya di implementasikan pada VB 4

VB3.0
Untuk memenuhi untuk tuntutan dari para pemrogram seiring dengan perkembangan bisnis perusahaan, beberapa tahun kemudian Visual Basic 3.0 diluncurkan dengan kinerja yang sudah ditingkatkan. Visual Basic 3.0 , dirilis pada musim panas 1993 dan dibagi menjadi versistandard dan professional. VB 3 memasukan Versi 1.1 dari Microsoft Jet Database Engine yg dapat membaca serta menulis database Jet (atau Access) 1.x Bukan hanya DAO (Data Access Object – yang berfungsi untuk mengakses database) sudah ditambahkan, tapi juga akses data visual dengan kontrol data (data control) juga sudah diberikan. Aplikasi data-browsing dapat dengan mudah dilakukan tanpa menulis kode. Kontrol OLE (Object Linking and Embedding) juga sudah ditambahkan. Visual Basic 3.0 , dirilis pada musim panas 1993 dan dibagi menjadi versistandard dan professional. VB 3 memasukan Versi 1.1 dari Microsoft Jet Database Engine yg dapat membaca serta menulis database Jet (atau Access) 1.x

VB4.0
Seiring dengan perkembangan teknologi microprocessor yang telah berbasis 386 ke teknologi Pentium, Microsoft pun kemudian meluncurkan Windows 32 bit-nya yang pertama kali yakni Windows 95. Windows 95 sangat terkenal karena menampilkan GUI dengan konsep baru yang lebih memudahkan pemakai dalam menjalankan aplikasi. Untuk menjembatani perubahan dari Windows 3.11 (16 bit) ke dalam Windows 95, Microsoft meluncurkan Visual Basic 4.0 (Agustus 1995) yang menawarkan 2 compiler yang terpisah dan berbeda, yang satu untuk pengembangan windows 16 bit dan yang lain untuk windows 32 bit. Pada versi ini, pemrogram sudah dapat membangun program dengan berbasiskan Componen Object Model (COM) yang mendukung kemampuan untuk membuat Dynamic-Link Libraries (DLLs). Inilah untuk kali pertama konsep OOP diterapkan dalam Visual Basic.

VB5.0
Visual Basic 5.0 (February 1997), Microsoft merilis secara eksklusif Visual basic untuk versi windows 32 bit . Programmer yg menulis programnya pada versi 16 bit dapat dengan mudah melakukan import porgramnya dari VB4 ke VB5. dan juga sebaliknya, program VB5 dapat diimport menjadi VB4. VB 5 memperkenalakan kemampuan untuk membuat User Control. Kemampuan untuk membangun dan mendistribusikan ActiveX Control diberikan pada Visual Basic 5.0. Dengan ditemukannya teknologi ActiveX, baik berbentuk Active DLL (COM) ataupun ActiveX Control (OCX).

VB6.0
pada 1998, Microsoft meluncurkan Visual Basic 6.0 dengan 3 fitur projek baru: Data Project, DHTML Application, IIS Application. Dengan 3 senjata baru ini, diharapkan pemrograman Visual Basic sudah mampu untuk membuat aplikasi internet yang handal.

VB7.0
Visual Basic .NET (VB 7), dirilis pada tahun 2002, Beberapa yang mencoba pada versi pertama .NET ini mengemukakan bahwa bahasa ini sangat powerful tapi bahasa yg digunakan sangat berbeda dengan bahasa sebelumnya, dengan kekurangan diberbagai area, termasuk runtime-nya yang 10 kali lebih besar dari paket runtime VB6 serta peningkatan penggunan memory.

VB8.0
Visual Basic 2005 (VB 8.0) , merupakan iterasi selanjutnya dari Visual Basic .NET. dan Microsoft memutuskan untuk menghilangkan kata kata .NET pada judulnya. Pada Rilis ini , Microsoft memasukan beberapa fitur baru, diantaranya:
Edit and Continue , mungkin inilah kekurangan fitur terbesar dari VB .NET . pada VB 2005 ini kita diperbolehkan melakukan perubahan kode pada saat program sedang dijalankan
Perbaikan pada Konversi dari VB ke VB NET12Visual Basic .NET 2003 (VB 7.1) , dirilis dengan menggunakan NET framework versi 1.1.

Visual Basic 2005 Express
Visual Basic 2005 Express , merupkan bagian dari Product Visual Studio. Microsoft membuat Visual Studio 2005 Express edition untuk pemula dan yg gemar dengan VB, salah satu produknya adalah Visual Basic 2005 Express yg merupakan produk gratis dari Microsoft

VB9.0
Basic “Orcas” (VB 9.0) , dijadwalkan akan dirilis pada tahun 2007 dan dibangun diatas .NET 3.5. Pada rilis ini, Microsoft menambahkan beberapa fitur, diantaranya :
  • True Tenary operator , yaitu fungsi If(boolean,value, value) yg digunakan untuk menggantikan fungsi IIF
  • LINQ Support
  • Ekspresi Lambda
  • XML Literals
  • Nullable types
  • Type Inference

VB10.0
Visual Basic ‘VBx’ (VB 10.0) , Visual Basic 10, yang juga dkenal dengan nama VBx, akan menawarkan dukungan untuk Dynamic Language Runtime. VB 10 direncanakan akan menjadi bagian dari SilverLight 1.1

Beberapa Fungsi Komponen-Komponen VB :
  • Text Box -> Text box merupakan kontrol yang dipakai sebagai tempat untuk mengisi maupun menampilkan data.
  • Label -> Label merupakan kontrol yang dipakai sebagai tempat untuk menampilkan keterangan.
  • Command Botton -> Command button merupakan kontrolyang dipakai sebagai tombol untuk melakukan sebuah proses.
  • Combo Box -> Combo box merupakan kontrol yang dipakai sebagai tempat untuk menampilkan daftar pilihan. Dengan combo box kita tinggal memilih pilihan yang ada pada combo box tersebut.
  • List Box -> List Box memiliki fungsi yang hamper sama dengan combo box, yaitu menampilkan daftar. Perbedaannya, pada combo box hanya satu pilihan yang terlihat sebelum combo box diklik, sedangkan pada list box dapat menampilkan beberapa pilihan.
  • Option Botton -> Option button berfungsi untuk menampilkan daftar pilihan.
  • Frame -> Frame berfungsi untuk mengelompokan kontrol-kontrol pada form menjadi satu bagian.
  • List Box -> Digunakan Untuk Menampilkan Daftar Pilihan Yang Bisa Digulung.
  • Hscroll bar -> Untuk Penggulungan Dengan Langkah Lebar Dengan Indikasi Posisi Pemilihan Dlm Posisi Horizontal.
  • Vscroll bar ->Untuk Penggulungan Dengan Langkah Lebar Mengindikasikan Posisi Pemilihannya Vertical.
  • Timer -> Untuk Penghitung Waktu Event Dalam Interval Yang Ditentukan.
  • Drive list box -> Untuk Menampilkan Disk Drive Yang Di Miliki Komputer.
  • Dir list box -> Menampilkan Direktori Dan Path.
  • File list box -> Menampilkan Sebuah Daftar File.
  • Shape -> Untuk Memasang Kontrol Yang Mampu Menghasilkan Sarana Agar Peamakia Bisa Menggambar Berbagai Bentuk

Fungsi Convert Angka Menjadi Terbilang

| | 2 komentar
Berikut saya akan membagikan Source Code Membuat Fungsi/Convert Angka Menjadi Terbilang dengan menggunakan Visual Basic 6. Penerapannya adalah apabila di suatu perusahaan baik di bank, pertokoan atau instansi pemerintah pembuatan nota kwitansi setoran,penarikan atau pembayaran pasti disertai dengan terbilang agar lebih akurat pengesahan nilai atau nominal angka. Memang secara manual bisa kita ketik di Microsoft Excel atau aplikasi lainnya tapi membutuhkan waktu sedikit lama,
Berikut saya memberikan contoh mengubah angka menjadi terbilang dengan menggunakan Visual Basic.

1. Source code di form
Option Explicit
Private Sub cmdClose_Click()
    End
End Sub
Private Sub cmdTerbilang_Click()
    Dim obj As New clsTerbilang
    txtTerbilang.Text = obj.NumToText(txtNumber.Text)
End Sub
Private Sub txtNumber_KeyPress(KeyAscii As Integer)
    If ((KeyAscii < 48 And KeyAscii <> 8) Or KeyAscii > 57) Then
        KeyAscii = 0
    End If
End Sub
2. Sorce code class modul terbilang

Option Explicit
Dim Once(0 To 20) As String
Dim Tenths(9) As String
Dim Num As String
Dim n(9) As Integer
Dim i As Integer
Dim meValue As String
Private Sub Class_Initialize()
    Once(0) = ""
    Once(1) = " Satu"
    Once(2) = " Dua"
    Once(3) = " Tiga"
    Once(4) = " Empat"
    Once(5) = " Lima"
    Once(6) = " Enam"
    Once(7) = " Tujuh"
    Once(8) = " Delapan"
    Once(9) = " Sembilan"
    Once(10) = " Sepuluh"
    Once(11) = " Sebelas"
    Once(12) = " Dua Belas"
    Once(13) = " Tiga Belas"
    Once(14) = " Empat Belas"
    Once(15) = " Lima Belas"
    Once(16) = " Enam Belas"
    Once(17) = " Tujuh Belas"
    Once(18) = " Delapan Belas"
    Once(19) = " Sembilan Belas"
    Tenths(2) = " Dua Puluh"
    Tenths(3) = " Tiga Puluh"
    Tenths(4) = " Empat Puluh"
    Tenths(5) = " Lima Puluh"
    Tenths(6) = " Enam Puluh"
    Tenths(7) = " Tujuh Puluh"
    Tenths(8) = " Delapan Puluh"
    Tenths(9) = " Sembilan Puluh"
End Sub
Public Function NumToText(Num As String) As String
    meValue = ""
    Num = Format(Num, "000,000,000.00")
    n(1) = Mid(Num, 1, 1)
    n(2) = Mid(Num, 2, 1)
    n(3) = Mid(Num, 3, 1)
    n(4) = Mid(Num, 5, 1)
    n(5) = Mid(Num, 6, 1)
    n(6) = Mid(Num, 7, 1)
    n(7) = Mid(Num, 9, 1)
    n(8) = Mid(Num, 10, 1)
    n(9) = Mid(Num, 11, 1)
    '*** MILLIONS
    i = n(1) & n(2) & n(3)
    If i > 0 Then
        If n(1) > 0 Then
            meValue = Once(n(1)) & " Ratus"
        End If
        i = n(2) & n(3)
        If i >= 20 Then
            meValue = meValue & Tenths(n(2)) & Once(n(3)) & " Juta"
        Else
            meValue = meValue & Once(i) & " Juta"
        End If
    End If
    '*** THOUSANDS
    i = n(4) & n(5) & n(6)
    If i > 0 Then
        If n(4) > 0 Then
            meValue = meValue & Once(n(4)) & " Ratus"
        End If
        i = n(5) & n(6)
        If i >= 20 Then
            meValue = meValue & Tenths(n(5)) & Once(n(6)) & " Ribu"
        Else
            meValue = meValue & Once(i) & " Ribu"
        End If
    End If
    '*** HUNDREDS
    i = n(7) & n(8) & n(9)
    If i > 0 Then
        If n(7) > 0 Then
            meValue = meValue & Once(n(7)) & " Ratus"
        End If
        i = n(8) & n(9)
        If i >= 20 Then
            meValue = meValue & Tenths(n(8)) & Once(n(9))
        Else
            meValue = meValue & Once(i)
        End If
    End If
    meValue = Replace(meValue, "Satu Ribu", "Seribu")
    meValue = Replace(meValue, "Satu Ratus", "Seratus")
    meValue = Trim(meValue)
    NumToText = meValue
End Function

Demikian souce code semoga bisa bermanfaat dan membantu rekan-rekan dalam pekerjaan.
Download disini

Membuat Halaman Database VB 6

| | 0 komentar
Membuat halaman database sangat dibutuhkan dalam pengolaan database yang cukup besar. Apabila kita menemukan suatu project demikian apa yang bisa lakukan?. Bagi anda yang mengetahui atau sudah mahir dalam programing VB 6 tentu saja sudah mengetahui solusinya. Berikut saya sharing atau berikan suatu "Tips Membuat Halaman Database atau Page Paging" dengan menggunakan database "Microsoft Access". 

Option Explicit
Dim mykoneksi As Connection
Dim WithEvents tb_1 As Recordset
Dim WithEvents tb_2 As Recordset
Dim record As Integer
Dim field As Integer
Dim page As Integer
Dim jumlah_per_halaman As Integer
Dim eop As Integer
Dim j As Integer

Private Sub cbopage_Click()
  Dim i As Integer
  Dim tempBottom As Integer
  Dim tempTop As Integer
  If cbopage.Text > 1 And _
     cbopage.Text < tb_1.PageCount Then cmdprev.Enabled = True: cmdnext.Enabled = True
  If cbopage.Text = tb_1.PageCount Then cmdprev.Enabled = True: cmdnext.Enabled = False
  If cbopage.Text <= 1 Then cmdprev.Enabled = False: cmdnext.Enabled = True
  If cbopage.ListCount = 1 Then cmdprev.Enabled = False: cmdnext.Enabled = False  
  If cbopage.Text = "1" Then
    j = 0
    tb_1.MoveFirst
    For i = 1 To jumlah_per_halaman
      j = j + 1
      tb_1.MoveNext
      If tb_1.EOF Then Exit For
    Next i
  Else
    j = 0
    tb_1.MoveFirst
    eop = cbopage.Text * jumlah_per_halaman
    tb_1.Move eop - jumlah_per_halaman
    For i = 1 To jumlah_per_halaman
      j = j + 1
      tb_1.MoveNext
      If tb_1.EOF Then Exit For
    Next i
  End If
  tempBottom = (cbopage * jumlah_per_halaman) - (jumlah_per_halaman - 1)
  tempTop = ((cbopage * jumlah_per_halaman) - (jumlah_per_halaman - 1)) + (j - 1)
  Set tb_2 = New Recordset
  tb_2.Open "SELECT * FROM table1 WHERE no_urut>=" _
                 & tempBottom & " AND no_urut<=" & tempTop & "", _
                 mykoneksi, adOpenDynamic, adLockOptimistic
  Set DataGrid1.DataSource = tb_2.DataSource
  record = tb_2.RecordCount
  field = tb_2.Fields.Count
  DoEvents
End Sub

Private Sub cbo_perpage_Click()
  Dim i As Integer
  jumlah_per_halaman = cbo_perpage.Text
  tb_1.PageSize = jumlah_per_halaman
  page = tb_1.PageCount
  cbopage.Clear
  For i = 1 To page
     cbopage.AddItem i
  Next i
  cbopage.Text = cbopage.List(0)
End Sub

Private Sub cmdCLOSE_Click()
 Unload Me
End Sub

Private Sub cmdnext_Click()
  cbopage.Text = cbopage.Text + 1
  If cbopage.Text > 1 Then cmdprev.Enabled = True
  If cbopage.Text >= tb_1.PageCount Then cmdnext.Enabled = False: cmdprev.SetFocus
End Sub

Private Sub cmdprev_Click()
  cbopage.Text = cbopage.Text - 1
  If cbopage.Text > 1 Then cmdprev.Enabled = True: cmdprev.SetFocus
  If cbopage.Text <= 1 Then cmdprev.Enabled = False: cmdnext.Enabled = True
End Sub

Private Sub Form_Load()
Dim i As Integer
  Set mykoneksi = New Connection
  mykoneksi.CursorLocation = adUseClient
  mykoneksi.Open "PROVIDER=MSDataShape;Data PROVIDER=" & _
          "Microsoft.Jet.OLEDB.4.0;Data Source=" _
          & App.Path & "\db1.mdb;"
   
  Set tb_1 = New Recordset
  tb_1.Open "SELECT * FROM table1", mykoneksi
    
  For i = 10 To 35 Step 10
     cbo_perpage.AddItem i
  Next i
  cbo_perpage.Text = cbo_perpage.List(0)
  jumlah_per_halaman = cbo_perpage.List(0)
  tb_1.PageSize = jumlah_per_halaman
  page = tb_1.PageCount
  cmdprev.Enabled = False
  cmdnext.Enabled = True
  Exit Sub
Pesan:
  MsgBox Err.Number & " - " & Err.Description
  End
End Sub
Contoh Kode membuat halaman vb 6 diatas masih sederhana dan bisa dikembangkan sesuai kebutuhan kita.  NB : "mungkin ada rekan-rekan yang ahli mohon di share... terima kasih".

Download Source disini.

Membuat Animasi Picture

| | 0 komentar
Membuat aplikasi seringkali kita ingin agar aplikasi kita kelihatan menarik misalnya about me, loading form atau halaman pembuka. berikut saya berikan contoh Membuat Animasi Picture VB 6 dan bisa dikembangkan sesuai kebutuhan kita.
Contoh tampilan latihan membuat animasi picture seperti di bawah ini :
Option Explicit
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Dim flipped As Integer  ' bit field

Private Sub Form_Load()

    ' we need to make the form visible, first
    Show
    DoEvents
    ' then we can show the image (this cause a refresh)
    cboDissolve.ListIndex = 0
End Sub

Private Sub cboZoom_Click()

    cmdShow.Value = True
End Sub

Private Sub chkTile_Click()

    cmdShow.Value = True
End Sub

Private Sub cboDissolve_Click()

    fraZoom.Enabled = (cboDissolve.ListIndex = 0)
    cmdHorizontal.Enabled = (cboDissolve.ListIndex = 0)
    cmdVertical.Enabled = (cboDissolve.ListIndex = 0)
    cmdBoth.Enabled = (cboDissolve.ListIndex = 0)
    cmdShow.Value = True
End Sub

Private Sub cmdShow_Click()

    If cboDissolve.ListIndex = 0 Then
        ShowImage
    Else
        DissolveImage
    End If
    flipped = 0
End Sub

Sub ShowImage()

    ' show the hidden image
    Dim destWidth As Single, destHeight As Single
    Dim destX As Single, destY As Single
    Dim stepX As Single, stepY As Single
    
    ' determine zoom factor
    Select Case cboZoom.ListIndex
        Case cboZoom.ListCount - 4
            ' fit width
            destWidth = picDest.ScaleWidth
            destHeight = picSource.ScaleHeight * (destWidth / picSource.ScaleWidth)
        Case cboZoom.ListCount - 3
            ' fit height
            destHeight = picDest.ScaleHeight
            destWidth = picSource.ScaleWidth * (destHeight / picSource.ScaleWidth)
        Case cboZoom.ListCount - 2
            ' fit page (no distorsion)
            destWidth = picDest.ScaleWidth
            destHeight = picDest.ScaleHeight
            If destWidth / picSource.ScaleWidth < destHeight / picDest.ScaleHeight Then
                ' fit width, adjust height
                destHeight = picSource.ScaleHeight * (destWidth / picSource.ScaleWidth)
            Else
                ' fit height, adjust width
                destWidth = picSource.ScaleWidth * (destHeight / picSource.ScaleWidth)
            End If
        Case cboZoom.ListCount - 1
            ' fit page (distorsion)
            destWidth = picDest.ScaleWidth
            destHeight = picDest.ScaleHeight
        Case Else
            On Error Resume Next
            destWidth = picSource.ScaleWidth * Val(cboZoom) / 100
            destHeight = picSource.ScaleHeight * Val(cboZoom) / 100
            If Err Then Exit Sub
    End Select
    
    picDest.Cls
    
    If chkTile.Value = vbChecked Then
        ' tile images
        For destX = 0 To picDest.ScaleWidth Step destWidth
            For destY = 0 To picDest.ScaleHeight Step destHeight
                picDest.PaintPicture picSource.Picture, destX, destY, destWidth, destHeight
            Next
        Next
    Else
        ' simple copy
        picDest.PaintPicture picSource.Picture, 0, 0, destWidth, destHeight
    End If
End Sub

Sub DissolveImage()

    ' show the hidden image
    Dim srcWidth As Single, srcHeight As Single
    Dim srcX As Single, srcY As Single
    Dim destWidth As Single, destHeight As Single
    Dim destX As Single, destY As Single
    Dim stepX As Single, stepY As Single
    Dim i As Integer
    
    Const DISSOLVE_STEPS = 20
    
    ' most routine below use these values
    srcWidth = picSource.ScaleWidth
    srcHeight = picSource.ScaleHeight
        
    stepX = srcWidth / DISSOLVE_STEPS
    stepY = srcHeight / DISSOLVE_STEPS
    
    picDest.Cls
    
    Select Case cboDissolve.ListIndex
        Case 1
            ' Scroll from Left
            srcX = srcWidth
            For i = 1 To DISSOLVE_STEPS
                srcX = srcX - stepX
                picDest.PaintPicture picSource.Picture, 0, 0, , , srcX, 0
                RefreshAndDelay
            Next
        Case 2
            ' Scroll from right
            destX = srcWidth
            For i = 1 To DISSOLVE_STEPS
                destX = destX - stepX
                picDest.PaintPicture picSource.Picture, destX, 0, srcWidth - destX, , , , srcWidth - destX
                RefreshAndDelay
            Next
        Case 3
            ' Scroll from Top
            srcY = srcHeight
            For i = 1 To DISSOLVE_STEPS
                srcY = srcY - stepY
                picDest.PaintPicture picSource.Picture, 0, 0, , , 0, srcY
                RefreshAndDelay
            Next
        Case 4
            ' Scroll from bottom
            destY = srcHeight
            For i = 1 To DISSOLVE_STEPS
                destY = destY - stepY
                picDest.PaintPicture picSource.Picture, 0, destY, , , , , , srcHeight - destY
                RefreshAndDelay
            Next
            
        Case 5
            ' Roll from Left
            destWidth = 0
            For i = 1 To DISSOLVE_STEPS
                destWidth = destWidth + stepX
                picDest.PaintPicture picSource.Picture, 0, 0, , , 0, 0, destWidth
                RefreshAndDelay
            Next
        Case 6
            ' Roll from right
            destX = srcWidth
            For i = 1 To DISSOLVE_STEPS
                destX = destX - stepX
                picDest.PaintPicture picSource.Picture, destX, 0, , , destX, 0, srcWidth - destX
                RefreshAndDelay
            Next
        Case 7
            ' Roll from Top
            destHeight = 0
            For i = 1 To DISSOLVE_STEPS
                destHeight = destHeight + stepY
                picDest.PaintPicture picSource.Picture, 0, 0, , , 0, 0, , destHeight
                RefreshAndDelay
            Next
        Case 8
            ' Roll from bottom
            destY = srcHeight
            For i = 1 To DISSOLVE_STEPS
                destY = destY - stepY
                picDest.PaintPicture picSource.Picture, 0, destY, , , 0, destY, , srcHeight - destY
                RefreshAndDelay
            Next
        Case 9
            ' explode
            destX = srcWidth / 2
            destY = srcHeight / 2
            srcWidth = 0
            srcHeight = 0
            For i = 1 To DISSOLVE_STEPS
                destX = destX - stepX / 2
                destY = destY - stepY / 2
                srcWidth = srcWidth + stepX
                srcHeight = srcHeight + stepY
                picDest.PaintPicture picSource.Picture, destX, destY, , , destX, destY, srcWidth, srcHeight
                RefreshAndDelay
            Next
        Case 10
            ' mosaic
            ' first, prepare the matrix of the (X,Y) coordinates
            ' for all the tiles
            Dim xy(DISSOLVE_STEPS * DISSOLVE_STEPS, 1) As ShiftConstants
            Dim kx As Integer, ky As Integer, ndx As Integer
            destX = 0
            For kx = 1 To DISSOLVE_STEPS
                destY = 0
                For ky = 1 To DISSOLVE_STEPS
                    i = i + 1
                    xy(i, 0) = destX
                    xy(i, 1) = destY
                    destY = destY + stepY
                Next
                destX = destX + stepX
            Next
            ' this loop picks up a random tile, draws it and then
            ' deletes it from the xy() array so that it can't be
            ' selected any more
            For ndx = UBound(xy) To 1 Step -1
                ' draw the tile
                i = Int(Rnd * ndx + 1)
                destX = xy(i, 0)
                destY = xy(i, 1)
                picDest.PaintPicture picSource.Picture, destX, destY, , , destX, destY, stepX, stepY
                ' delete it from xy() - actually it just replace it
                ' with the last item in the array
                xy(i, 0) = xy(ndx, 0)
                xy(i, 1) = xy(ndx, 1)
            Next
    End Select

End Sub


Private Sub cmdHorizontal_Click()

    ' flip the image horizontally
    flipped = flipped Xor 1
    ShowFlippedImage
End Sub

Private Sub cmdVertical_Click()

    ' flip the image vertically
    flipped = flipped Xor 2
    ShowFlippedImage
End Sub

Private Sub cmdBoth_Click()

    ' flip the image on both axis
    flipped = flipped Xor 3
    ShowFlippedImage
End Sub

Sub ShowFlippedImage()

    picDest.Cls
    Select Case flipped
        Case 0
            picDest.PaintPicture picSource.Picture, 0, 0
        Case 1
            ' flip the image horizontally
            picDest.PaintPicture picSource.Picture, picSource.ScaleWidth, 0, -picSource.ScaleWidth
        Case 2
            ' flip the image vertically
            picDest.PaintPicture picSource.Picture, 0, picSource.ScaleHeight, , -picSource.ScaleHeight
        Case 3
            ' flip the image on both axis
            picDest.PaintPicture picSource.Picture, picSource.ScaleWidth, picSource.ScaleHeight, -picSource.ScaleWidth, -picSource.ScaleHeight
    End Select
End Sub

Sub RefreshAndDelay()

    'Refresh
    Sleep 50
End Sub

Kode diatas hanya sederhana, saya dapat dari internet melalui Om Googleee. dan telah membantu saya membuat aplikasi-aplikasi sederhan.

Source Code

Lupa Password Administrator Windows

| | 0 komentar
Kalau suatu saat kita lupa user password di windows (xp, vista, 7), itu tidak terlalu masalah, karena masih bisa direset menggunakan account administrator , tetapi kalau yang lupa adalah password administratornya, ini baru masalah karena sudah barang tentu tidak bisa direset menggunakan account user.
Ada cara alternatif untuk mengatasi kalau kita lupa password administrator, sebelum menggunakan jalan terakhir yaitu menginstal ulang windowsnya, caranya yaitu dengan me-reset password menggunakan tool berikut:
  • Silakan download disini softwarenya, ukurannya sekitar 3,6 MB, (suport windows xp, vista dan windows 7)
  • Extract file zipnya, di dalamnya ada file iso (cd080802.iso), kemudian copykan (burn) ke CDR blank menggunakan software burning seperti  nero. Gunakan pilihan Burn image to disc. 
  • Untuk windows XP  setelah diextract file zipnya , untuk burning ke CD tingal klik kanan pada file ISOnya pilih Burn Image to Disc ( tanpa perlu memakai software tambahan).
  • Booting komputer menggunakan CD yang telah kita buat (set komputer (bios) agar first bootnya ke CD/DVD drive).
Untuk Microsoft Windows yang terinstall secara standard (yang umum), sampai step/urutan ke 7 kita tinggal tekan enter enter.
Berikut Langkah-langkahnya :
1. Tampilan pertama seperti ini

2. Tekan Enter,  tunggu loading beberapa saat

3. Pilih Partisi dimana windows terinstall, atau langsung Tekan Enter

4. Pilih  windows registry directory atau langsung Tekan Enter

5. Tekan Enter ( Pilihan :Pasword Reset )

6. Tekan Enter (User data and Password )

7. Tekan Enter (pilihan : administrator account)

8. Ketik   1  (angka satu ) kemudian tekan Enter  ( memilihclear / blank password )

9. Ketik  !  (tanda seru) kemudian tekan Enter (untuk keluar)

10. Ketik q  kemudian tekan Enter (untuk keluar)

11. Ketik y kemudian tekan Enter untuk menyimpan.

12. ketik n kemudian tekan enter untuk keluar

13. Keluarkan CD, tekan tombol Control + Alt + Del Untuk Rebootkomputer Account administrator saat ini sudah tidak memakai password (blank ).
Demikian semoga bermanfaat.

Menampilkan Gambar VB

| | 0 komentar
Berikut ini saya akan bagikan source code untuk Menampilkan Gambar/Image Visual Basic, mudah-mudahan dapat membantu bagi penggemar programing visual basic. Source code ini hanya sederhana dan anda bisa kembangkan sesuai kebutuhan. 
Tampilannya seperti gambar berikut:




Dalam source kode diatas ada fungsi menampilkan data dengan memilih drive. berikut source codenya:


Option Explicit

Private Sub Form_Load()
    Drive1.Drive = "c:"
    Dir1.Path = "c:\windows"
    File1.Pattern = "*.bmp;*.dib;*.wmf;*.emf;*.gif;*.jpg"
End Sub

Private Sub Drive1_Change()
    Dir1.Path = Left$(Drive1.Drive, 1) & ":\"
End Sub

Private Sub Dir1_Change()
    File1.Path = Dir1.Path
End Sub

Private Sub File1_Click()
    LoadImage File1.Path & IIf(Right$(File1.Path, 1) <> "\", "\", "") &     File1.filename
End Sub

Private Sub Form_Resize()
    On Error Resume Next
    File1.Height = ScaleHeight - File1.Top
    picPreview.Move picPreview.Left, picPreview.Top, ScaleWidth - picPreview.Left, ScaleHeight - picPreview.Top
    ShowImage
End Sub

Private Sub optActual_Click()
    ShowImage
End Sub

Private Sub optStretch_Click()
    ShowImage
End Sub

Private Sub optTile_Click()
    ShowImage
End Sub

Sub LoadImage(filename As String)
    On Error Resume Next
    Set imgHidden.Picture = LoadPicture(filename)
    If Err Then
        MsgBox "Unable to load file " & filename, vbExclamation
        Exit Sub
    End If
    Caption = filename & "- Image Preview"
    ShowImage
End Sub

Sub ShowImage()
    Dim x As Single, y As Single
    If optActual.Value Then
        ' Tampilan image center
        picPreview.Cls
        picPreview.PaintPicture imgHidden.Picture, (picPreview.ScaleWidth - imgHidden.Width) / 2, (picPreview.ScaleHeight - imgHidden.Height) / 2
    ElseIf optStretch.Value Then
        ' Tampilan image stretch
        picPreview.PaintPicture imgHidden.Picture, 0, 0, picPreview.ScaleWidth, picPreview.ScaleHeight
    ElseIf optTile.Value Then
        ' Tampilan image actual
        x = 0
        Do While x < picPreview.ScaleWidth
            y = 0
            Do While y < picPreview.ScaleHeight
                picPreview.PaintPicture imgHidden.Picture, x, y
                y = y + imgHidden.Height
            Loop
            x = x + imgHidden.Width
        Loop
    End If

End Sub


Demikian sample source code Menampilkan Gambar/Image VB apabila masih ada kekurangan mohon dimaafkan. Source code Download

Fungsi Event LostFocus dan GotFocus

| | 0 komentar
Fungsi Event Gotfocus yaitu terjadi pada saat focus object memasuki sebuah komponen . dan LostFocus kebalikan dari fungsi GotFocus yaitu terjadi pada saat focus object meninggalkan sebuah kompunen.
Private Sub txtUserID_LostFocus()If txtUserID.Text = "" ThenMsgBox "Harus diisi"End If 
End SubPrivate Sub txtUserID_GotFocus()txtUserID.Text = ""End Sub

Contoh penerapan Fungsi Event LostFocus dan GotFocus seperti source code sederhana di bawah ini:

Option Explicit

Private m_FocusControl As Control

Private Sub HighlightControl(ByVal ctl As Control)
    ctl.BackColor = RGB(&HC0, &HFF, &HFF)
End Sub

Private Sub UnHighlightControl(ByVal ctl As Control)
    ctl.BackColor = vbWhite
End Sub

Private Sub txtCity_GotFocus()
    HighlightControl txtCity
End Sub

Private Sub txtCity_LostFocus()
    UnHighlightControl txtCity
End Sub

Private Sub txtFirstName_GotFocus()
    HighlightControl txtFirstName
End Sub

Private Sub txtFirstName_LostFocus()
    UnHighlightControl txtFirstName
End Sub

Private Sub txtLastName_GotFocus()
    HighlightControl txtLastName
End Sub

Private Sub txtLastName_LostFocus()
    UnHighlightControl txtLastName
End Sub

Private Sub txtState_GotFocus()
    HighlightControl txtState
End Sub

Private Sub txtState_LostFocus()
    UnHighlightControl txtState
End Sub

Private Sub txtStreet_GotFocus()
    HighlightControl txtStreet
End Sub

Private Sub txtStreet_LostFocus()
    UnHighlightControl txtStreet
End Sub

Private Sub txtZip_GotFocus()
    HighlightControl txtZip
End Sub

Private Sub txtZip_LostFocus()
    UnHighlightControl txtZip
End Sub

Jika anda pingin mengembangkannya silakan klik  Download 

About Me

Followers

Home | Profile | Blogger | Template