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
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;
- Mulai : 0 %
- Mengecek Apakah Data yang akan di-load ada? (misalnya ada 4 data), yaitu: 1 s/d 10 %, yaitu:
- Data pertama: mengecek keberadaan (misalnya) : file : mysound.wav.- > 1 %.
- Data kedua: mengecek keberadaan (misalnya) : file : userphoto.jpg. -> 1 %.
- Data ketiga: mengecek keberadaan (misalnya) : file : mydatabase.mdb. -> 5 %.
- Data keempat: mengecek apakah user memang terdaftar sebagai user yang memiliki hak akses pada program ini (misalnya) : username -> Herman Nz. -> 3 %.
- Me-load frmDataInduk.frm -> 40%.
- Me-load frmInputData.frm -> 40%.
- Me-load kode penghubung : KONEKSI_DATABASE -> 5%.
- Memastikan bahwa nomor 1 s/d 5 telah siap dan siap digunakan! -> 4%
- 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"