Sebenarnya aplikasi vb6 akan menjadi berat dan menghabiskan banyak memory komputer jika logika dan cara pemrograman kita tidak tepat. Untuk anda yang terbiasa menggunakan VB.NET maka tidak perlu khawatir akan masalah ini karena dalam .NET sudah tersedia yang namanya "Garbage Collector" yang fungsinya untuk menghapus secara otomatis bagian tertentu dari aplikasi .NET yang sudah tidak dipakai lagi seperti variable, object dan lain lain sehingga manajemen memory dan CPU usage tetap terjaga/stabil. Sedangkan untuk vb6 kita harus mengontrolnya secara manual, contohnya sebagai berikut :
- Saat anda membuka data melalui recordset, cobalah untuk gunakan adOpenForwardOnly dan adLockReadOnly agar tidak terlalu berat. Jika sudah tidak dipakai lagi maka segera tutup recordset tersebut dengan perintah close dan hapus dari memory dengan menggunakan perintah set nothing
con.Open "........"
Dim rec As New ADODB.Recordset
rec.Open "........", con, adOpenForwardOnly, adLockReadOnly
rec.Close
Set rec = Nothing
con.Close
Set con = Nothing
- Jika anda menggunakan variable array atau object lain yang dapat menampung banyak data seperti Datagrid/MsFlexgrid/Listview dan sebagainya, maka kosongkan lagi jika sudah tidak dipakai atau saat form ditutup (unload)
Private Sub Form_Unload(Cancel As Integer)
Erase var_array
Set DataGrid31.DataSource = Nothing
ListView1.ListItems.Clear
End Sub
- Gunakan batasan saat melakukan select sql query (Select TOP (SQL Server), LIMIT (My SQL) dan sebagainya) atau gunakan teknik Paging data (halaman)
- Remove Component (ocx/dll) yang tidak dipakai, karena itu akan sangat memberatkan program/aplikasi.
- Gunakan logika pemrograman yang baik agar dapat menghemat penulisan program (panjang baris sintak/kode), intinya tidak berbelit belit. Contoh dalam perulangan FOR NEXT dengan menggunakan IF THEN ELSE untuk mendapatkan bilangan ganjil dan genap:
Dim nilai As Double
For nilai = 0 To 100000
If nilai Mod 2 = 0 Then 'baris ke 1
List1.AddItem "Bilangan Genap : " & nilai 'baris ke 2
Else 'baris ke 3
List1.AddItem "Bilangan Ganijl : " & nilai 'baris ke 4
End If 'baris ke 5
Next
Sebenarnya sintak diatas masih dapat disederhanakan menjadi :
Dim nilai As Double
For nilai = 0 To 100000
List1.AddItem IIf(nilai Mod 2 = 0, "Bilangan Genap : ", "Bilangan Ganjil : ") & nilai 'baris ke 1
Next
Lihatlah Anda dapat menghemat 5 baris menjadi 1 baris sintak saja dalam perulangan tersebut dan hal itu sangat berdampak pada kecepatan/performance. Anda juga dapat melihat contoh sintak berikut ini :
Dim pilih As String
pilih = "cc"
If (pilih = "a") Or (pilih = "ab") Or (pilih = "1a") Or (pilih = "na") Or (pilih = "xyz") Or (pilih = "13") Then
'...... sintak anda
ElseIf (pilih = "bb") Or (pilih = "cc") Or (pilih = "dd") Or (pilih = "11") Or (pilih = "22") Or (pilih = "33") Then
'...... sintak anda
Else '...... sintak anda
End If
Mungkin sintak diatas dapat lebih disederhanakan lagi menjadi :
Select Case pilih
Case "a", "ab", "1a", "na", "xyz", "13"
'...... sintak anda
Case "bb", "cc", "dd", "11", "22", "33"
'...... sintak anda
Case Else
'...... sintak anda
End Select
Ini hanyalah beberapa dari sekain banyak teknik/cara yang dapat anda lakukan untuk membuat vb6 anda "Reliable" dan memiliki "Good Performance", karena percuma program anda bagus di tampilan tapi lambat di kinerja.
For nilai = 0 To 100000
If nilai Mod 2 = 0 Then 'baris ke 1
List1.AddItem "Bilangan Genap : " & nilai 'baris ke 2
Else 'baris ke 3
List1.AddItem "Bilangan Ganijl : " & nilai 'baris ke 4
End If 'baris ke 5
Next
Sebenarnya sintak diatas masih dapat disederhanakan menjadi :
Dim nilai As Double
For nilai = 0 To 100000
List1.AddItem IIf(nilai Mod 2 = 0, "Bilangan Genap : ", "Bilangan Ganjil : ") & nilai 'baris ke 1
Next
Lihatlah Anda dapat menghemat 5 baris menjadi 1 baris sintak saja dalam perulangan tersebut dan hal itu sangat berdampak pada kecepatan/performance. Anda juga dapat melihat contoh sintak berikut ini :
Dim pilih As String
pilih = "cc"
If (pilih = "a") Or (pilih = "ab") Or (pilih = "1a") Or (pilih = "na") Or (pilih = "xyz") Or (pilih = "13") Then
'...... sintak anda
ElseIf (pilih = "bb") Or (pilih = "cc") Or (pilih = "dd") Or (pilih = "11") Or (pilih = "22") Or (pilih = "33") Then
'...... sintak anda
Else '...... sintak anda
End If
Mungkin sintak diatas dapat lebih disederhanakan lagi menjadi :
Select Case pilih
Case "a", "ab", "1a", "na", "xyz", "13"
'...... sintak anda
Case "bb", "cc", "dd", "11", "22", "33"
'...... sintak anda
Case Else
'...... sintak anda
End Select
Ini hanyalah beberapa dari sekain banyak teknik/cara yang dapat anda lakukan untuk membuat vb6 anda "Reliable" dan memiliki "Good Performance", karena percuma program anda bagus di tampilan tapi lambat di kinerja.
Tags:
menghemat memory vb6, program vb6 not respoding, vb6 berat, cara mengatasi vb6 apliaksi yang berat, vb6 ngehang, exe vb6 more cpu usage, cpu usage 100%, cpu usage 100 percentm aplikasi programvb6 berat, cara management memory vb6, kenapa vb6 saya lambat?, cara meningkatkan performance vb6,
0 komentar:
Posting Komentar