Dalam pembuatan sebuah program, seorang programer harus memperhatikan segi kompabilitas dan stabilitas program yang di buatnya begitu juga dengan ukuran/Size program.
Banyak user yang slalu mengeluhkan akan ukuran sebuah aplikasi yang di gunakanya, sebagai contoh :
Sekarang ini adalah dunianya portable, segala aplikasi di masukan kedalam sebuah media penyimpanan external dengan tujuan bisa dibawa kemana-mana dan bisa di pakai dimana-mana. Sukur klo kapasitas media penyimpananya besar sehingga bisa di masukan banyak aplikasi untuk keperluan yang berbeda tapi bagaimana klo kapasitas media penyimpananya kecil, sementara aplikasi yang diperlukan lumayan banyak, disini pasti kita akan memilih aplikasi yang tidak memakan banyak tempat agar kita dapat memasukan banyak aplikasi kedalam media external kita.
Ketika kita telah selesai membuat program, ada kalanya kita ingin mempublikasikan program kita keorang lain.salah satu caranya itu melalui media internet.tapi ada kendala ketika kita akan meng-upload program kita karena ukuran/sizenya terlalu besar jadi bakalan lama tuh proses uploadnya. Bukan Cuma itu,ketika ada orang yang antusias inginmencoba program kita tapi pas dia liat size program kita.”waduh gede amat sizenya, bakalan lama nih downloadnya”.mungkin kebanyakan orang-orang ngomong kaya gitu dan ujung-ujungnya dia ga jadi deh download & nyoba program kita …:-(
Nah sekarang dah tau kan kenapa penting sekali memperhatikan ukuran program yang kita buat, di atas Cuma sebagian contoh aja. daripada panjang lebar mending Langsung aja ke intinya.
Di dalam visual basic, element Form,Variable dalam bentuk Array multi dimensi & Variable dalam bentuk Colection sangatlah memakan banyak resource memory.jadi klo bisa hindari pemakaian yang sanga berlebih element-element tersebut.
1. Jangan Menggunakan banyak Form
Setiap Form yang diload, baik itu yang sembunyi (visiblenya false) ataupun yang tampak akan memakan resource memory (ukuranya berfariasi tergantung dari jumlah control yang ada di form tersebut).
Usahakan tidak perlu menggunakan Form yang banyak-Banyak karena control yang satu ini lumayan make resource memori. Apabila program anda memang memerlukan form yang banyak maka cara mengakalinya dengan mengload Form ketika di perlukan saja n ketika sudah tidak diperlukan maka usahakan jangan langsung mengset form itu dengan “nothing”.
Code:: Unload form1
Penjelasan: sintak diatas akan mengunload form1, metode ini hanya membebaskan sebagian memori yang diggunakan oleh form tersebut.
Code:: Set form1 = nothing
Penjelasan : sintak diatas akan menghilangkan referensi terhadap form1 dan menghapus semua resource yang dipakai oleh form1.
2. Kurangi Pemakaian Control yang berlebihan
cobalah untuk menempatkan sedikit mungkin control dalam sebuah form. Jumlah control sebenarnya tergantung pada tipe control dan juga sistem yang digunakan, tapi pada umumnya, form yang memiliki banyak control di dalamnya akan memperlambat dalam pemunculan. Cara untuk mengatasi hal ini adalah dengan menggunakan control array sebisa mungkin, daripada membuat banyak control yang memiliki tipe sama di dalam sebuah form pada saat pendisainan form.
Solusinya : jika ingin membuat sebuah control, misalkan kita ingin membuat sebuah Commnad Button, maka buatlah satu command button lalu copy dan paste kan control tersebut sesuai dengan jumlah Command Button yang di perlukan(disini kita akan bermain dengan index pada control).
Mungkin ini adalah hal yang sepele tapi ini cukup efektif untuk memperkecil ukuran program yang kita buat.
3. Ganti Control TextBox dangan Control Label
Control Label menggunakan sumber daya Windows lebih sedikit dibandingkan TextBox, jadi sebaiknya gunakanlah Label untuk menggantikan TextBox sebisa mungkin. Sebagai contoh, jika membutuhkan sebuah control yang bersifat hanya untuk menampilkan teks di dalam sebuah form, akan lebih efisien dengan menggunakan Label.
4. Atur/Rapihkan Modul yang ada
Mungkin banyak yang tidak menyadari bahwa hal sekecil ini pun sangat berpengaruh terhadap ukuran dari program kita.
VB akan me-load Module hanya saat ada "permintaan", itulah mengapa, aplikasi me-load sebuah module ke memori hanya ketika coding memanggil sebuah prosedur/ fungsi yang terdapat di dalam module tersebut. klo tidak pernah memanggil sebuah prosedur/ fungsi yang terdapat di suatu module, Visual Basic tidak akan pernah juga me-load module ini.
Menempatkan beberapa prosedur yang saling berhubungan dalam satu module yang sama menyebabkan Visual Basic akan me-load satu module ini di saat diperlukan saja
5. Hindari Penggunaan Type Data Variant
data dengan type variant memang bersifat fleksibel tapi type data ini memakan memori yang paling besar dari pada type data yang lain.
Type data dan memory yang diggunakan
byte =1 bytes
integer =2 bytes
long =4 bytes
double =8 bytes
string =9 bytes (+1 bytes per setiap karakter)
variant =16 bytes
Diatas adalah data sebagian type data yang ada di visual basic. Bukan hanya type data saja yang harus diperhatikan tetapi jangkauan/ range dari sebuah type data tersebut, maka kita harus cermat dalam menentukan type data dari sebuah variable.sebisa mungkin hindari type data yang memakan size yang besar di memory termasuk menghindari penggunaan type data variant di sebuah program.
6. Gunakan Array Dinamik dan Hapus Jika Tidak Digunakan
Pertimbangkanlah untuk menggunakan array dinamis menggantikan array statik (berukuran tetap). Ketika kita tidak lagi membutuhkan data yang tersimpan di sebuah array dinamis, gunakan "Erase" atau "ReDim Preserve" untuk menghapus data yang sudah tidak dibutuhkan, dan bebaskan/kembalikan memori yang digunakan oleh array. Atau sebagai contoh, Anda apat membebaskan ruang yang digunakan oleh array dinamis dengan coding berikut ini:
Code:: Erase Array
Sementara menggunakan "Erase" untuk menghapus array, ReDim Preserve membuat array bisa lebih kecil tanpa harus kehilangan isinya:
Code:: ReDim Preserve Array(10, smallernum)
Menghapus sebuah array statik tidak akan mengembalikan atau membebaskan memori yang digunakan oleh array tersebut, tapi hanya menghilangkan nilai dari setiap elemen array ini. Jika setiap elemen array merupakan string, atau sebuah data bertipe Variant yang di dalamnya mengandung sebuah array string, maka menghapus array akan mengembalikan memori dari string atau data Variant itu, bukan memori yang digunakan oleh array tersebut.
7. Kosongkan Nilai yang Digunakan oleh type data String atau Variabel Object
Ruang yang digunakan oleh variabel string Local (non Statik) dan variabel array, secara otomatis dibebaskan ketika prosedur ini selesai. Tetapi, variabel string dan array global yang dideklarasikan di dalam module tetap ada selama program Anda dijalankan. Jika Kita tetap berusaha untuk menjaga agar ukuran aplikasi sekecil mungkin, Kita harus membebaskan ruang yang digunakan oleh variabel-variabel ini segera setelah digunakan. Kita membebaskan ruang yang digunakan oleh string ini dengan cara membuat string kosong (panjangnya nol):
Code:: str = ""
Sama dengan hal tersebut, Kita dapat membebaskan beberapa (tapi tidak semua) dari ruang yang digunakan oleh sebuah variabel object dengan mengesetnya menjadi "Nothing". Sebagai contoh, untuk menghapus sebuah variabel object bertipe Recordset, dapat dilakukan dengan cara:
Code:: Private rs As New RecordSet
rs.Close 'Tutup Recordset
Set rs = Nothing 'Set referensi ke objek tersebut menjadi Nothing
Jika Kita tidak mengeset secara explisit variabel object menjadi Nothing, sebuah referensi ke objek tersebut akan tetap ada di memori sampai aplikasi Anda selesai dijalankan; dan untuk sebuah aplikasi yang menggunakan banyak objek seperti ini, dapat mengakibatkan banyak memakan memori dan memperlambat dalam performansi aplikasi alias lemot.
8. Hapus "Dead Code" dan Variabel yang Tidak Pernah Digunakan
Ketika kita membangun dan memodifikasi aplikasi Anda, mungkin kita menyisakan "dead-code", yaitu prosedur yang tidak pernah dipanggil dari coding manapun di aplikasi. Mungkin juga kita telah mendeklarasikan variabel yang tidak pernah digunakan. Walaupun Visual Basic menghapus konstanta yang tidak pernah digunakan, hal ini tidak menghapus variabel yang tidak digunakan tersebut beserta "dead-code" ketika kita mengkompile aplikasi Anda menjadi sebuah file exe. Pertimbangkan dalam menemukan dan menghapus prosedur dan variabel yang tidak pernah digunakan. Sebagai contoh, statement Debug.Print diabaikan ketika run-time .exe, kadang-kadang digunakan setelah menjadi file exe.
Statement Debug.Print dengan string atau variabel seperti argument tidak dicompile ketika dibuatnya menjadi file exe. Bagaimanapun, ketika statement Debug.Print milik sebuah fungsi yang dipanggil sebagai argument, statement Debug.Print ini akan diabaikan oleh compiler, tetapi pada pemanggilan fungsi tetap ikut dicompile. Kemudian, ketika aplikasi dijalankan, fungsi ini dipanggil, tetapi hasil pengembaliannya diabaikan karena fungsi yang tampak sebagai argument untuk Debug.Print akan "mengangkat" ruang dan siklus waktu dalam sebuah file exe, hal ini mungkin berguna untuk menghapus statement tadi sebelum Anda membuat menjadi file exe.
Gunakan perintah Find di menu Edit untuk mencari referensi ke sebuah variabel. Atau, jika Anda menggunakan statement "Option Explicit" dalam setiap module/form, Anda dapat dengan cepat menemukan jika sebuah variabel digunakan di aplikasi Anda dengan cara menghapus atau menutupnya dengan komentar di pendeklarasiannya, lalu coba jalankan aplikasi Anda. Jika variabel tersebut digunakan, Visual Basic akan menampilkan pesan kesalahan, sedangkan jika Anda tidak menemukan pesan kesalahan, berarti variabel tersebut tidak digunakan.
9. Petimbangkan Menggunakan Resource
mungkin dengan cara yang satu ini kita dapat mengetahui perubahan size program kita(penurunan yang bisa dibilang sangat lumayan klo menurut saya) .
kita dapat menempatkan file gambar,icon,string ataupun file apaun kedalam sebuah resource, yang nantinya file tersebut kita pakai dalam program.
Sebagai perbandingan :
1.Coba mulai sebuah project dan masukan sebuah bitmap sebagai background sebuah form dengan cara:
Set pada property form (Picture)
2.Masukin dulu ke resource trus masukan sintak berikut:
Code:: Private Sub Form_Load()
Form1.Picture = LoadResPicture("BACK_GROUND", vbResBitmap)
End sub
Note:
BACK_GROUND = ID dari bitmap yang telah kita masukan (disini saya beri nilai BACK_GROUND)
vbResBitmap = type resource Bitmap pada VB.
Kemudian compile programnya, trus bandingkan cara yang 1 dan 2. Ternyata program dengan cara 2 ukuranya lebih kecil daripada program yang ke dua.klo ga percaya silahkan di coba….=)
Note :
Di Visual basic kita seringkali menggunakan Comments (komentar) agar dapat memberikan penjelasan atas sintaks yang bersangkutan.pada saat program dicompile semua Comments & baris kosong dianggap tidak ada atau di abaikan jadi menghapus semua comments dan baris kosong tidak akan mengurangi ukuran program kita ketika di load oleh memori.
Sekian dulu tipsnya dan Mudah-mudahan bermamfaat.