Log in

View Full Version : [TIPS+TRICK]Optimisasi Software kita(VB6 & VB.NET)


Braincode
11th November 2011, 01:06 PM
Hallo brother..

Viva Programmer Indonesia, newbie ijin gabung ya ke Grup ini. :)

Saya mau bagi-bagi tips nih, dan mohon koreksi dan tambahan jika ada yang salah.

Begini nih, dalam pembuatan software mungkin kita pernah terkendala dengan spek komputer client yang masih jadul, sedangkan software yang kita buat membutuhkan resource yang lumayan besar. Disini saya ingin sharing beberapa tips dan trik untuk membuat lebih cepat pengeksekusian code program, optimisasi penggunaan memori dan prosessor.



berikut beberapa listing codenya...



mungkin kita terbiasa apabila ingin mengosongkan suatu object(ex=textbox)

kita menggunakan code seperti ini : Textbox1.Text="".

jika kita menggunakan kode tersebut memang tidak salah, tapi kita dapat lebih menghemat memori apabila kita menggunakan TextBox1.Text=VbNullString.



hmm..

bikin simple aja deh buat contoh yang lainnya..



contoh ke-2




Code:

---slow
if TextBox1.Text="" then
'isi apa aja
endif

--faster
if lenb(trim$(TextBox1.Text))=0 then
'isi apa aja
endif

contoh ke-3




Code:


--slow
Dim A as boolen
dim B as Boolean

A=false
If A=False then msgbox"A False" 'if A=False And B=False Then
'letakkan kode anda disini
endif
--fast
If A=False then ''Bandingkan yang ini
11/2=5.5
'dengan yang ini
11*.5=5.5

contoh penggunaan STRING

biasakan memberi simbol $ pada setiap variable STRING

contoh :


Code:

dim Nama as String
Nama$="Joe Armstrong"a = Val(e$) 24.2 s

coba bandingkan dengan ini

a = CLng(e$) 6.5 s


Code:

Private Function Comp(a$, b$) as Boolean
If a$ > b$ Then Comp = True Else Comp = False
End Function
----VERSUS----
Private Function Comp(a$, b$) as Boolean
Comp = a$ > b$
End Function


Code:

Sub Slow()
Dim d As Database
Dim r As Recordset
Set d = CurrentDB()

Set r = d.OpenRecordset("Order Details")
While Not r.EOF
r.Edit
r.Fields("Price") = r.Fields("Qty") * r.Fields("UnitCost")
r.Update
r.MoveNext
Wend
r.Close
End Sub

Sub Faster()
Dim d As Database
Dim r As Recordset
Dim Price As Field, Qty As Field, UnitCost As Field

Set d = CurrentDB()
Set r = d.OpenRecordset("Order Detail")
Set Price = r.Fields("Price")
Set Qty = r.Fields("Qty")
Set UnitCost = r.Fields("UnitCost")

While Not r.EOF
r.Edit
Price = Qty * UnitCost
r.Update
r.MoveNext
Wend
r.Close
End Sub

<div style="margin:20px; margin-top:5px">
Code:

Dim obj As New Class '