Skip to content Skip to sidebar Skip to footer

Prinsip Penggunaan ProgressBar

Prinsip Penggunaan ProgressBar
Apa kegunaan ProgressBar? ProgressBar adalah salah satu ActiveX Component dalam bundle Microsoft Windows Common Control 6.0(SP6) yang bisa diakses dengan cara klik kanan pada ToolBox dan [Add Component...], lalu cari tulisan Microsoft Windows Common Control 6.0(SP6), centang, [Apply] & [Close]. ProgressBar umumnya (bagi newbie) sebagai Splash Screen alias diletakkan pada Form, misalnya, frmSplash sebagai Jeda/ pembatas sementara saat user login dari frmLogin menuju frmUtama. Dengan kata lain, "gaya-gaya-an saja" :D.

Tapi, sebenarnya, penggunaan ProgressBar itu lebih ditujukan untuk user tentang seberapa jauh proses kemajuan "sesuatu" itu saat ini. Contohnya, pada saat user mengklik tombol [Download] maka ProgressBar diaktifkan dan disana akan bisa diketahui berapa persenkah file tersebut sudah berhasil di download.

Penggunaan progressbar bisa dibarengi dengan LabelProsentase untuk info tambahan agar user mengetahui sudah berapa persen sesuatu itu berhasil dikerjakan oleh sistem/program tersebut.
Tutorial berikut ini akan membahas prinsip penggunaan progressbar dalam sebuah project Visual Basic 6.0.

Seperti yang baru diuraikan diatas, buatlah project baru untuk latihan ini, kemudian, ambil activeX Component atau OCX ProgressBar di bundle Microsoft Windows Common Control 6.0 (SP6), lalu letakkan pada Form. Detailnya sbb:

  • 1 OCX ProgressBar dan beri nama: pb1
  • 1 Label: lblProgress
  • 1 CommandButton: cmdOK
  • 1 Timer: tProgress
Selanjutnya, aturlah properties pada OCX ProgressBar sesuai yang anda inginkan, misalnya, sbb:
properti Appearance -> 0 - ccFlat
properti Scrolling -> 1 - ccScrollingSmooth

Kemudian, aturlah properti tProgress  [enabled] ke FALSE. Lalu, setting properti [Interval] ke 10. Dengan demikian, tProgress akan tampil (enabled=true) pada saat tombol cmdOK di klik.

Prinsip Penggunaan ProgressBar & Penentuan Tahapan Progress


Sebelum masuk ke script/kode, sebaiknya tentukan terlebih dahulu, apa saja yang akan dicantumkan dalam kemajuan progressbar. Dalam kasus ini, penulis akan mendata bentuk/wujud kemajuan itu, misalnya;

  1. Mulai : 0 %
  2. Mengecek Apakah Data yang akan di-load ada? (misalnya ada 4 data), yaitu: 1 s/d 10 %, yaitu:
    1. Data pertama: mengecek keberadaan (misalnya) : file : mysound.wav.- > 1 %.
    2. Data kedua: mengecek keberadaan (misalnya) : file : userphoto.jpg. -> 1 %.
    3. Data ketiga: mengecek keberadaan (misalnya) : file : mydatabase.mdb. -> 5 %.
    4. Data keempat: mengecek apakah user memang terdaftar sebagai user yang memiliki hak akses pada program ini (misalnya) : username -> Herman Nz. -> 3 %.
  3. Me-load frmDataInduk.frm -> 40%.
  4. Me-load frmInputData.frm -> 40%.
  5. Me-load kode penghubung : KONEKSI_DATABASE -> 5%.
  6. Memastikan bahwa nomor 1 s/d 5 telah siap dan siap digunakan! -> 4%
  7. 1 Persen khusus untuk menonaktfikan tProgress, pb1 dan meng-Unload Form saat ini.
 
Sehingga total semuanya adalah: 100%. Pada saat progressbar bernilai 0%, maka progressbar berstatus aktif alias Visible=True. dan, kondisi timer tProgress.value=True. Detailnya sbb:-

Private Sub Form_Load()
'***tujuan: menyembunyikan pb1 dan menonaktifkan tProgress.
tProgress.Enabled=False
pb1.Value=0
pb1.Visible=False
lblProgress.Caption=""
End Sub

Selanjutnya, menjalankan progressbar pada saat user mengklik tombol [OK]:

Private Sub cmdOK_Click()
pb1.Visible=True
tProgress.Enabled=True
Exit Sub

Berikut ini contoh Module yang berjalan saat tProgress berstatus Enabled=True.

Private Sub tProgress_Timer()
'***tahap 1:  Mengecek Data yang akan di-load = 10%
On Error Resume Next
pb1.Object = pb1.Object + 1 '***menjalankan pb1 dengan tProgress
lblProgress.Caption="Loading mysound.wav"
If pb1.Value = "1" Then
        If Dir(App.Path + "\mysound.wav") Then
                If pb1.Value = "2" Then
                        cekFileUserPhoto
                End If
                Exit Sub
        Else
                MsgBox "File mysound.wav tidak ditemukan/korup!", vbCritical, " Error loading mysound.wav"
                tProgress.Enabled = False
                pb1.Visible = False
                lblProgress.Caption = ""
                Exit Sub
        End If
End Sub

Sub cekFileUserPhoto()
lblProgress.Caption="Loading userphoto.jpg"
If tProgress.Enabled = True Then
        If Dir(App.Path + "\userphoto.jpg") Then
                If pb1.Value = "3" Then
                        cekFileDatabase
                End If
                Exit Sub
        Else
                MsgBox "File userphoto.jpg tidak ditemukan/korup!", vbCritical, " Error loading userphoto.jpg"
                tProgress.Enabled = False
                pb1.Visible = False
                lblProgress.Caption = ""
                Exit Sub
        End If
Else: Exit Sub
End If
End Sub

Sub cekFileDatabase()
lblProgress.Caption="Loading mydatabase.mdb"
If tProgress.Enabled = True Then
        If Dir(App.Path + "\mydatabase.mdb") Then
                If pb1.Value = "7" Then
                        cekDataUser
                End If
                Exit Sub
        Else
                MsgBox "File mydatabase.mdb tidak ditemukan/korup!", vbCritical, " Error loading mydatabase.mdb"
                tProgress.Enabled = False
                pb1.Visible = False
                lblProgress.Caption = ""
                Exit Sub
        End If
Else: Exit Sub
End If
End Sub

Sub cekDataUser()
lblProgress.Caption="Loading validitas hak akses user"
If tProgress.Enabled = True Then
        KONEKSI_DATABASE
        With Adodc1.Recordset
                .Find "username='" + txtUsername.Text + "'", , adSearchForward, 1
                If .EOF Then
                        tProgress.Enabled = False
                        pb1.Visible = False
                        lblProgress.Caption = ""
                        MsgBox "Maaf, anda tidak memiliki akses untuk menjalankan program ini", vbCritical, " Unregistered User"
                        Exit Sub
                Else
                        If pb1.Value = "10" Then
                                Load frmDataInduk.frm
                                loadfrmInputData
                                Exit Sub
                        Else
                                MsgBox "Error me-load Module Data Induk!", vbCritical, " Gagal"
                                tProgress.Enabled = False
                                pb1.Visible = False
                                lblProgress.Caption = ""
                                Exit Sub
                        End If
                End If
        End With
Else: Exit Sub
End If
End Sub

Sub loadfrmInputData()
lblProgress.Caption="Loading module Data Induk"
If tProgress.Enabled = True Then
        If pb1.Value = "50" Then
                Load frmDataInduk.frm
                cekKoneksiDatabase
                Exit Sub
        Else
                MsgBox "Error me-load Module Input Data!", vbCritical, " Gagal"
                tProgress.Enabled = False
                pb1.Visible = False
                lblProgress.Caption = ""
                Exit Sub
        End If
Else: Exit Sub
End If
End Sub

Sub cekKoneksiDatabase()
lblProgress.Caption="Loading module Input Data - Cek Koneksi ...."
If tProgress.Enabled = True Then
        If pb1.Value = "80" Then
                Load frmDataInduk
                Load frmInputData
                LastCek
                Exit Sub
        Else
                MsgBox "Error me-load Module Koneksi Data!", vbCritical, " Gagal"
                tProgress.Enabled = False
                pb1.Visible = False
                lblProgress.Caption = ""
                Exit Sub
        End If
Else: Exit Sub
End If
End Sub

Sub LastCek()
lblProgress.Caption="Pemeriksaan selesai, ...................... finishing 100%"
If tProgress.Enabled = True Then
        If pb1.Value = "99" Then
                tProgress.Enabled = False
                pb1.Visible = False
                lblProgress.Caption = "Berhasil ... Siap Mengaktifkan Module Utama ..."
                Unload Me
                frmUtama.Show
                Exit Sub
        Else
                MsgBox "Telah Terjadi Error pada Sistem Loading, Hubungi Administrator Anda", vbCritical, " Unknown Fatal Error"
                tProgress.Enabled = False
                pb1.Visible = False
                lblProgress.Caption = ""
                End 'Program diterminasi/dihentikan mendadak
                Exit Sub
        End If
Else: Exit Sub
End If
End Sub


Dalam contoh script diatas, khusus koneksi_database bisa dibaca pada link ini> ConnectionString Database. Anda dapat mengembangkan sistem pengunaan ProgressBar tersebut agar bisa lebih singkat dan lebih baik lagi. 
Selamat Mencoba!


Post a Comment for "Prinsip Penggunaan ProgressBar"