Kata Pengantar
Kiranya tidak ada kata yang pantas terucap dari penulis, selain rasa syukur kepada Allah SWT, atas segala petunjuk, kekuatan, dan kejernihan pikiran dalam menyusun buku ini hingga bisa hadir di hadapan pembaca yang budiman. Buku ini ditulis dengan harapan dapat menjadi panduan praktis bagi pembaca dalam membuat program Visual Basic .NET (VB.NET). Lebih lanjut lagi, penulis berharap ada manfaat lebih yang bisa diperoleh pembaca, dalam upaya menghasilkan aplikasi-aplikasi .NET yang lebih baik. Walaupun VB.NET mampu menghasilkan berbagai aplikasi, namun materi di buku ini membatasi dalam lingkup aplikasi Windows Forms. Adapun mengingat desain buku ini adalah tip dan trik, diasumsikan pembaca sudah pernah menggunakan bahasa Visual Basic. Meskipun demikian, juga tidak menutup kemungkinan bagi pemula untuk mempelajari materi buku ini, dengan dibantu dokumentasi SDK. Pembahasan buku ini secara keseluruhan dibuat menggunakan VB.NET 2003 (.NET Framework 1.1). Meskipun demikian, materi yang diulas didesain agar kompatibel dengan versi 2002 (.NET Framework 1.0). Adapun untuk materi-materi yang khusus menyajikan fitur-fitur baru .NET Framework 2.0, dibuat menggunakan VB.NET 2005 edisi Express, dan selanjutnya mungkin akan lebih sering disebut VB.NET 2005 saja. Secara garis besar, pembahasan materimateri di buku ini dibagi menjadi dua kategori. Kategori pertama adalah materi tingkat dasar, yang mencakup Bab 1 sampai Bab 5. Kategori kedua adalah materi tingkat lanjut, yang meliputi Bab 6 sampai Bab 9. v
Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada Ayahanda dan Ibunda, atas do’a dan dukungannya. Terima kasih juga buat Mbak Susi, Mas Udin, keponakan kecil, dan Heru Tri Kusuma. Tidak lupa juga buat “adik baik hati” Ro’yal Aini, yang berulang tahun saat buku ini mulai ditulis. Met ultah ya? Semoga panjang umur dan senantiasa mendapat petunjuk-Nya dalam meraih citacita. Penulis menyadari bahwa buku ini masih jauh dari sempurna. Oleh karena itu, segala saran dan kritik yang membangun sangatlah penulis harapkan, dan bisa dikirimkan ke
[email protected]. Selain itu, peran dan partisipasi Anda juga penulis nantikan di http://groups.yahoo.com/group/didik_directory. Adapun untuk mendapatkan kode program buku ini, kunjungi http://groups.yahoo.com/group/didik_directory (menu File) atau http://didik.indodesain.com. Akhir kata, terima kasih kepada pembaca yang budiman, dan semoga hari ini jauh lebih baik dari hari-hari sebelumnya.
Bandung, September 2006 Penulis
vi
Daftar Isi
Kata Pengantar ....................................................................... v Daftar Isi ...............................................................................vii Bab 1 1 2 3 4 5 6 7 8 9 10 11
Menggunakan IDE............................................... 1 Mempercepat Startup IDE ..................................... 1 Konfigurasi IDE..................................................... 3 Mengelola Window Pendukung............................. 6 Membagi Lembar Kerja......................................... 7 Meletakkan Kode Snippet di Toolbox ................... 8 Bekerja di Editor Teks ........................................... 9 Menggunakan Macro ........................................... 13 Menetapkan Lokasi Assembly............................. 15 Membuat Custom Template................................. 16 Eksekusi Side-by-Side ......................................... 18 Upgrade VB 6.0 ke VB.NET ............................... 20
Bab 2 12 13 14 15 16 17
Teknik Dasar VB.NET ...................................... 25 Standar Coding .................................................... 25 Teknik Dasar VB.NET ........................................ 28 Mengelompokkan Kode Program ........................ 31 Konversi dan Casting Tipe .................................. 33 Operasi String ...................................................... 35 Date dan Time...................................................... 38 vii
18 19 20 21 22 23
File dan Direktori................................................. 40 Menangani Objek................................................. 43 Membuat Event Handler Dinamis ....................... 45 Exception Handling ............................................. 47 Informasi Aplikasi ............................................... 48 Split Class ke Beberapa File ................................ 50
Bab 3 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
Membangun User Interface .............................. 53 Mengatur Posisi Kontrol Windows...................... 53 Tip Dasar Form.................................................... 56 Form Transparan.................................................. 58 Membuat Ikon System Tray ................................ 60 Mengelola Koleksi Kontrol Windows ................. 63 Check/Uncheck CheckedListBox ........................ 65 ListView Multicolumn......................................... 66 Membuat Custom Menu ...................................... 67 Aplikasi MDI ....................................................... 70 Kotak Dialog File ................................................ 73 Cut/Copy/Paste Teks ........................................... 75 Drag dan Drop Objek........................................... 77 Menghubungkan Aplikasi ke Help ...................... 80 Validasi Data ....................................................... 83 Menggunakan Theme XP .................................... 85
Bab 4 39 40 41 42 43 44 45 46 47 48 49 50
Akses Data dengan ADO.NET.......................... 89 Koneksi ke Data Source....................................... 89 Mapping Objek Database..................................... 92 Meng-copy Tabel................................................. 93 Typed Dataset ...................................................... 94 Mengatur Tampilan DataGrid.............................. 96 Menampilkan Data dengan ProgressBar.............. 98 Modifikasi Data dengan Cepat .......................... 100 Mengolah Data Gambar..................................... 102 Menampilkan Gambar di DataGrid ................... 103 Pencarian Cepat ................................................. 106 Master-Detail dan Lookup ................................. 108 Prepared Statement ............................................ 111
viii
51 52 53 54
Ekspor dan Impor Data...................................... 112 Menggunakan BindingSource............................ 114 Serializing/Deserializing DataSet ...................... 115 Stored Procedure................................................ 117
Bab 5 Printing dan Report......................................... 121 55 56 57 58 59 60
Informasi Printer................................................ 121 Mencetak Gambar dan File Word...................... 122 Mengatur Orientasi Pencetakan ......................... 125 Mencetak Report MS Access............................. 127 Membuat Report dari Dataset ............................ 129 Menggunakan Formula Crystal Report.............. 131
Bab 6 61 62 63 64 65 66 67 68 69 70 71 72 73
Interaksi dengan Sistem .................................. 135 Manajemen Proses ............................................. 135 Pemanggilan Win32 API ................................... 138 Menangani Mouse ............................................. 139 Menangani Keyboard......................................... 141 Mengunci Mouse dan Keyboard........................ 142 Event Log .......................................................... 144 File Watcher ...................................................... 146 Informasi SystemUp .......................................... 148 Akses Registry ................................................... 150 Restart/Shutdown Windows .............................. 152 Menjalankan Aplikasi Saat Startup.................... 153 Menggunakan WMI........................................... 155 Interaksi dengan Windows Service.................... 158
Bab 7 74 75 76 77 78 79 80 81
.NET Framework Lanjut ................................ 161 Otomasi Visual Studio .NET ............................. 161 Membuat Add-in Visual Studio .NET ............... 164 Globalisasi dan Lokalisasi ................................. 167 Assembly ........................................................... 169 Reflection........................................................... 170 Multithreading ................................................... 172 Membuat Kontrol Windows .............................. 174 Membuat Windows Service............................... 176 ix
82 Hosting Aplikasi Windows di Internet Explorer............................................ 178 83 App Setting VB.NET......................................... 179 84 Manipulasi Gambar dengan GDI+..................... 181 85 Mengintegrasikan MS Agent ............................. 183 86 Pemrograman Jaringan/Internet ......................... 186 87 Intranet Messenger............................................. 188 88 Mendeteksi USB Device.................................... 190 Bab 8 Optimasi dan Sekuriti ..................................... 193 89 90 91 92 93 94 95 Bab 9 96 97 98 99 100 101
Teknik Optimasi Kode Program ........................ 193 Memperbaiki Performansi ADO.NET ............... 198 Optimasi Aplikasi Windows Forms................... 201 Embedded Resource .......................................... 203 Enkripsi dan Dekripsi ........................................ 204 Memproteksi Folder........................................... 206 Code Access Security ........................................ 209 Debugging dan Deployment ............................ 213 Debugging Aplikasi ........................................... 213 Pengujian Aplikasi............................................. 216 Membuat Dokumentasi...................................... 217 Strategi Deployment .......................................... 218 Deployment Aplikasi Windows......................... 220 Deployment dengan ClickOnce ......................... 224
Standar Penamaan ........................................................ 227 Daftar Pustaka............................................................... 231
x
1
Menggunakan IDE
Pada umumnya, kita membuat kode program VB.NET menggunakan IDE (Integrated Development Environment) Visual Studio .NET. Walaupun sebenarnya Anda juga bisa memprogram tanpa melalui IDE, namun lingkungan pengembangan yang terintegrasi ini menawarkan banyak sekali fitur yang dapat memudahkan pembuatan program. Terkait dengan penggunaan IDE, bagian awal ini secara khusus akan menjelaskan tip dan trik ketika bekerja dengan IDE.
1 Mempercepat Startup IDE Konsekuensi dari kompleksnya fitur Visual Studio .NET adalah waktu startup yang boleh dibilang agak lama. Adapun bagi kita yang memiliki RAM terbatas, keadaan ini tentu akan membosankan sekali. Oleh karena itu, sangat menguntungkan sekali apabila kita menemukan solusi guna lebih mempercepat waktu startup IDE.
1
Solusi tepat yang bisa kita implementasikan adalah mengatur IDE agar menampilkan lingkungan yang kosong ketika startup dan menutup window-window default yang di-load. Langkah-langkah yang diperlukan seperti berikut: 1 Pada tampilan IDE, pilih menu Tools > Options. 2 Di bagian General dari Environment, pilih item Show empty environment di combo box At startup. 3 Setelah itu, keluar dari IDE dan restart Visual Studio .NET Anda. Apabila Anda menggunakan VB.NET 2005 Express, buka window Options, kemudian pilih Startup di bagian Environment. Setelah itu, pilih item Show empty environment di bagian At startup. Sebagai tambahan, saat Anda akan membuka Visual Studio .NET, sebaiknya jangan dilakukan dari start menu. Seperti diketahui, ketika nilai registry MenuShowDelay masih default, diperlukan rentang waktu beberapa detik untuk memunculkan daftar program. Adapun cara yang praktis adalah melalui kombinasi tombol Ctrl+Esc (atau Windows, jika tersedia), kemudian tekan tombol R, ketik devenv dan tekan Enter. Untuk VB.NET 2005 Express, Anda harus mengetikkan vbexpress. Cara lain untuk memanggil Visual Studio .NET yang praktis adalah membuat shortcut di toolbar Quick Launch. Shortcut ini normalnya lebih cepat dibanding shortcut di desktop karena cukup dengan sekali klik.
2
2 Konfigurasi IDE Dalam upaya menghasilkan kode program yang lebih baik dan untuk meningkatkan produktivitas, ada beberapa konfigurasi penting yang bisa dilakukan pada IDE Visual Studio .NET. x Startup di folder project
Setiap kali Anda akan membuka atau menyimpan project, Visual Studio .NET secara otomatis mengarahkan ke lokasi default yang telah dispesifikasikan, yaitu Visual Studio Projects. Begitu juga ketika Anda meletakkan file-file project di lokasi lain, IDE masih tetap mengacu pada lokasi default. Apabila kondisi di atas cukup menggangu aktivitas, Anda bisa mengatur agar IDE selalu mengacu pada lokasi yang telah Anda spesifikasikan. Langkah-langkah pengaturannya sebagai berikut: 1 Buka kotak dialog Options dari menu Tools. 2 Pilih Project and Solutions (untuk .NET 2003 berada di bawah Environment). 3 Pada bagian Settings di sebelah kanan, klik Browse untuk mengubah lokasi project sesuai lokasi yang diinginkan. 4 Klik OK untuk menutup kotak dialog Tools. x Pernyataan Option Pada saat menulis kode program, sebaiknya tetapkan opsi kompilasi menggunakan pernyataan Option Explicit On. Pernyataan ini dimaksudkan untuk menginstruksikan kompiler Visual Basic agar tidak mendukung deklarasi 3
variabel secara implisit. Pernyataan ini bisa Anda tetapkan melalui kotak dialog Options.
Gambar 1.1 Opsi kompilasi default di IDE
Di VB.NET pernyataan Option bisa berupa Explicit, Strict, atau Compare. Pernyataan Option Strict menyatakan apakah operasi-operasi dan konversi-konversi objek diatur secara tegas (strict) atau tidak. Apabila Option Strict On, maka operasi komparasi, kombinasi, atau penambahan variabel mensyaratkan dilakukan dari tipe yang sama. Pernyataan Option Compare menyatakan semantik perbandingan string, dan nilainya adalah Binary atau Text. Secara garis besar, perbandingan string dalam mode Text akan berperilaku case-insensitive, sedangkan Binary adalah case-sensitive. x Mengaktifkan advanced member Secara normal, window Intellisense di editor teks hanya akan menampilkan member standar dari suatu class. Artinya, masih ada beberapa member lanjut yang sengaja disembunyikan. Apabila pekerjaan Anda menuntut penggunaan member-member lanjut, Anda bisa mengaktifkannya dari window Options. 4
Gambar 1.2 Mengaktifkan advanced members
x Menambah Tool Eksternal Pada saat sedang bekerja di IDE, adakalanya kita perlu menggunakan tool eksternal. Walaupun Anda bisa memanggil tool eksternal secara terpisah, namun akan lebih praktis jika Anda menambahkan menu khusus untuk menjalankan tool tersebut. Cara ini bisa kita lakukan melalui menu Tools > External Tools. Di kotak dialog External Tools ini Anda bisa menambah atau memodifikasi tool eksternal yang Anda kehendaki. Sebagai contoh, kita menambahkan Command Prompt Visual Studio .NET di tool eksternal. Command Prompt ini sangat membantu pekerjaan Anda, dan selanjutnya akan sering kita gunakan.
Gambar 1.3 Menambah tool eksternal
5
x Impor/Ekspor Setting Bagi Anda yang sering berganti-ganti komputer, namun tidak ingin kehilangan pengaturan kesukaan Anda, Visual Studio .NET 2005 menawarkan solusi yang sangat praktis. Anda bisa memanfaatkan tool Import/Export Settings untuk mengimpor atau mengekspor pengaturan yang telah Anda spesifikasikan. Cara menggunakan tool Import/Export Settings sangat mudah sekali. Anda cukup mengaktifkan pilihan yang Anda kehendaki, kemudian mengikuti instruksi yang diberikan. Tool ini juga mengizinkan Anda untuk me-reset pengaturan IDE. Pada prinsipnya, pengaturan IDE Visual Studio .NET diorganisasikan ke dalam sebuah kotak dialog, yaitu Options. Di sinilah Anda dapat melakukan berbagai pengaturan terhadap IDE.
3 Mengelola Window Pendukung Pada saat bekerja di IDE, ada beberapa window pendukung yang sangat diperlukan, yaitu Properties, Solution Explorer, Output, dan Task List. Window-window ini erat kaitannya dengan tahap pengembangan aplikasi-aplikasi .NET sehingga defaultnya akan ditampilkan semua. Bagaimanapun juga, menampilkan semua window pendukung akan memerlukan alokasi memori. Di samping itu, tidak mungkin kita menggunakan window-window pendukung secara bersamaan. Oleh karena itu, cara yang praktis 6
untuk menghemat penggunaan memori adalah dengan menutup window-window yang belum diperlukan. Untuk memanggil window dengan cepat, gunakan shortcut, seperti F4 (Properties), Ctrl+Alt+L (Solution Explorer), Ctrl+Alt+S (Server Explorer), Ctrl+Shift+C (Class View), Ctrl+Alt+O (window Output), Ctrl+Alt+X (Toolbox), dan Ctrl+Alt+K (Task List). Sebagai tambahan, Anda bisa mengatur status window, misalnya Dockable, Hide, Floating, atau Auto Hide. Adapun nilai default yang digunakan untuk tiap window adalah Dockable. Status Dockable menjadikan window bisa ìmengapungî di atas window lain atau di-dock pada tepi IDE. Status Hide mengakibatkan window disembunyikan, Floating mengakibatkan window ìmengapungî, dan Auto Hide akan menyembunyikan window secara otomatis apabila tidak digunakan dalam rentang waktu tertentu.
4 Membagi Lembar Kerja Secara normal, ketika kita menulis kode program yang terkait dengan kontrol atau komponen Windows, kita akan berganti-ganti membuka kode editor dan tampilan desainer. Bergantung pada banyaknya kontrol atau komponen dan juga daya ingat kita, kondisi ini akan menambah aktivitas. Sebagai solusinya, Anda bisa membagi layar kerja sehingga dapat menulis kode dengan lancar tanpa kehilangan tampilan desainer. Caranya, klik kanan tab window Anda, kemudian pilih New Horizontal Tab Group. Adapun hasilnya, lembar kerja Anda akan terbagi menjadi dua bagian, yaitu tampilan desainer dan kode editor. 7
Gambar 1.4 Membagi lembar kerja
Jika diperlukan, Anda juga bisa membagi lagi window yang sudah dibagi dua tersebut menjadi beberapa bagian. Namun, hal ini akan mengakibatkan ruang kerja Anda menjadi semakin sempit.
5 Meletakkan Kode Snippet di Toolbox Anda pasti sering menulis bagian-bagian kecil kode yang kemudian digunakan berulang-ulang, atau istilahnya adalah kode snippet. Normalnya, kita menulis kode snippet secara manual, di mana penulisan dilakukan berulang-ulang, sebanyak yang diperlukan. Cara seperti ini sebenarnya kurang efektif karena jelas menyita waktu Anda. Ada tip menarik bagi Anda yang sering bekerja dengan kode snippet, yaitu meletakkan kode snippet di Toolbox. Dengan demikian, setiap kali kita memerlukan kode tersebut, kita tinggal mengambilnya langsung. Cara ini bisa menghindari penulisan ulang kode, yang pada kenyataannya adalah sama.
8
Untuk meletakkan kode snippet ke Toolbox, pilih blok kode yang Anda kehendaki, kemudian klik kanan dan copy (atau Ctrl+C). Jika Anda mengaktifkan Toolbox Clipboard Ring (disarankan), Anda cukup menggunakan Ctrl+C untuk meletakkan kode snippet. Lakukan langkah seperti ini untuk kode-kode yang Anda anggap sering digunakan.
Gambar 1.5 Kode snippet di Toolbox
Kode snippet di Toolbox memiliki perilaku seperti kontrolkontrol atau komponen-komponen Windows. Dengan kata lain, Anda bisa menambahkannya ke editor teks melalui klik ganda atau men-drag dan meletakkannya di baris yang Anda inginkan. Begitu kode diletakkan di Toolbox, ia akan selalu ada meskipun project ditutup dan tersedia bagi projectproject lainnya.
6 Bekerja di Editor Teks Editor teks sebenarnya sudah menyediakan sejumlah fitur yang kita perlukan. Meskipun demikian, karena tidak terbiasa, mungkin kita lebih sering menggunakan cara manual dibanding memanfaatkan fitur yang tersedia. Terkait hal ini, 9
ada beberapa cara praktis yang bisa kita lakukan saat bekerja di kode editor. x Mengakses Member Class
Program yang Anda tulis pasti terdiri atas sejumlah member, seperti method dan properti. Semakin banyak member dari suatu class, akan semakin padat kode programnya sehingga bisa menyulitkan Anda ketika ingin menuju ke member tertentu. Adapun untuk memudahkan pengaksesan member, manfaatkan window Class View (Ctrl+Shift+C). Window ini akan menampilkan member-member class yang ada di project Anda. x Komentar
Pemberian komentar merupakan aktivitas yang sering kita lakukan saat menulis kode program. Akan tetapi, bagaimana membuat komentar yang praktis? Ada tip menarik untuk memberi atau menghilangkan komentar di sejumlah baris. Tekniknya, begitu baris kode yang Anda kehendaki sudah diblok (di-select), tekan Ctrl+K kemudian lanjutkan dengan Ctrl+C untuk memberikan komentar. Adapun untuk menghilangkan komentar, tekan Ctrl+K kemudian Ctrl+U. Anda juga bisa melihat shortcut-shortcut lain melalui menu Edit > Advanced. x Pemilihan Teks
Saat melakukan pemilihan (seleksi) teks, normalnya blok akan dimulai dari posisi awal kursor hingga posisi akhir.
Gambar 1.6 Seleksi teks secara normal
10
Pendekatan di atas terkadang tidak selalu kita kehendaki, misalnya ketika ingin memilih teks tertentu saja. Sebagai solusi, kita bisa menggunakan pemilihan blok. Teknik pemilihan blok teks mengizinkan Anda untuk memilih teks tertentu (secara vertikal). Cara melakukan pemilihan, tekan dan tahan tombol Alt, kemudian lakukan seleksi. Hasilnya akan terlihat seperti Gambar 1.7.
Gambar 1.7 Seleksi blok teks
x Bookmark Penggunaan bookmark memberi keuntungan tersendiri bagi Anda, terutama jika Anda sering berpindah dari satu tab editor teks ke tab lainnya. Tekniknya, Anda cukup memberi tanda pada baris yang akan ditinggalkan kemudian ingin dituju lagi. Untuk menetapkan dan mengakses bookmark, gunakan shortcut seperti tabel berikut. Shortcut Ctrl+K, Ctrl+K Ctrl+K, Ctrl+N Ctrl+K, Ctrl+P Ctrl+K, Ctrl+L
Deskripsi Menetapkan bookmark pada baris di mana kursor berada. Jika bookmark sudah ada, akan menghapus bookmark (di baris itu). Menuju ke bookmark berikutnya. Menuju ke bookmark sebelumnya. Menghapus semua bookmark di dokumen.
Sebagai tambahan, untuk menuju ke awal atau akhir kode program dengan cepat, gunakan shortcut Ctrl+Home dan 11
Ctrl+End. Teknik-teknik penggunaan shortcut seperti ini tentu lebih praktis dibanding Anda harus menggeser-geser scroll mouse. x Window Command
Window Command sangat membantu kita ketika ingin melakukan operasi-operasi sederhana dengan cepat. Window ini menyediakan dua jenis mode, yaitu Command dan Immediate. Pada mode Command, window Command dapat menjalankan perintah-perintah yang dikenal.
Gambar 1.8 Menggunakan window Command
Mode Immediate berfungsi untuk mengevaluasi ekspresi yang terkait dengan kode program saat itu. Untuk berpindah ke mode Immediate, ketikkan immed. Jika Anda ingin kembali ke mode Command, ketikkan >cmd. x Pencarian Incremental
Dalam melakukan pencarian teks di kode editor, umumnya kita menggunakan kotak dialog Find (Ctrl+F). Untuk kasus pencarian spesifik (atau sambil me-replace), cara ini memang tepat sekali. Namun, jika Anda hanya ingin mencari teks saja, akan lebih cepat dengan cara mencari secara incremental. Untuk memulai pencarian incremental, tekan Ctrl+i, kemudian ketikkan teks (kata kunci) yang Anda inginkan secara langsung. Apabila pencarian ingin dilanjutkan tekan F3, dan 12
tekan Enter untuk mengakhiri pencarian. Jika Anda ingin menghapus atau mengubah kata kunci, tekan tombol Backspace. Selama kursor masih menandakan mode pencarian, menekan backspace tidak akan mengakibatkan penghapusan kode program. Dengan demikian, Anda tidak perlu khawatir ketika ingin mengubah kata kunci dalam pencarian secara incremental ini. Akan tetapi, perlu diperhatikan, ini tidak berlaku bagi tombol Delete.
7 Menggunakan Macro Ada tip menarik bagi Anda yang ingin bekerja secara praktis dan efisien, yakni memanfaatkan fungsionalitas Macro. Seperti halnya ketika bekerja di editor teks, makro juga menyediakan IDE. IDE Macro adalah miniatur Visual Studio yang digunakan untuk membuat dan memodifikasi macro. Tip berikut akan menguraikan tahap pembuatan macro baru dan cara penggunaannya. Sebagai contoh, di sini kita akan membuat macro string koneksi. Untuk lebih jelasnya, ikuti langkah-langkah berikut: 1. Klik menu Tools > Macros > New Macro Project, kemudian tentukan nama dan lokasi macro. 2. Sesaat Anda akan mendapati project macro di window Macro Explorer. Jika Macro Explorer tidak terlihat, tekan kombinasi tombol Alt+F8. 3. Klik ganda modul yang telah disediakan, misalnya Module1, untuk membuka IDE Macro. 4. Lengkapi kode programnya seperti berikut. 13
Imports EnvDTE Imports System.Diagnostics Public Module Module1
Public Sub InsertStringKoneksi() ' Menciptakan obje DataLinks Dim obj As Object = _ CreateObject("DataLinks") ' Menciptakan objek ADODB, tab Connection Dim cn As Object = _ CreateObject("ADODB.Connection") ' Membuka kotak dialog Data Link obj.PromptEdit(cn) If cn.connectionstring = "" Then Exit Sub ' Insert string koneksi di editor teks Dim sel As TextSelection = _ ActiveDocument().Selection sel.Text = cn.connectionstring End Sub
End Module
5. Simpan kode macro Anda, kemudian tutup IDE Macro. Begitu Anda kembali ke IDE Visual Studio, akan terlihat method baru yang telah Anda ciptakan. Langkah selanjutnya adalah menggunakan macro. 1. Letakkan kursor Anda pada kode program yang akan disisipi macro. 2. Klik ganda method InsertStringKoneksi dari Macro Explorer. 3. Sesaat akan muncul kotak dialog Data Link Properties. 4. Lengkapi koneksi database yang akan Anda gunakan, kemudian klik OK jika sudah selesai. Seharusnya, Anda akan mendapati string koneksi yang baru saja Anda buat. Praktis bukan? Sampai di sini kiranya Anda
14
sudah bisa memahami tentang kegunaan macro dan bisa lebih meningkatkan fungsionalitasnya.
8 Menetapkan Lokasi Assembly Fitur-fitur yang disediakan oleh IDE Visual Studio .NET sebenarnya sudah cukup bagi kita untuk menghasilkan aplikasi-aplikasi .NET. Meskipun demikian, ada sedikit kendala pada saat kita menggunakan assembly eksternal. Di mana kita perlu melakukan pencarian file assembly terlebih dahulu karena tidak tersedia di daftar assembly. Kondisi di atas sebenarnya tidak akan terjadi apabila Anda melakukan ìhackî ringan pada Visual Studio .NET. Berikut ini trik untuk mengatur dan menambah lokasi referensi. Namun sebelumnya, sebaiknya terlebih dahulu tutup Visual Studio .NET Anda. 1. Buka Registry Editor (Start > Run, ketik regedit). 2. Cari dan klik key HKEY_CURRENT_USER\Software\ Microsoft. 3. Buat key .NETFramework\AssemblyFolders di bawah key Microsoft. 4. Klik kanan AssemblyFolders dan pilih New Key, kemudian buat key baru, misalnya MyRef. 5. Klik ganda (Default) MyRef yang berada di sebelah kanan. Pada bagian Value data, isikan lokasi di mana Anda ingin meletakkan file-file assembly, misalnya C:\TTVBNET\AssemblyKu. 6. Tutup kembali window Registry Editor. 15
Untuk menguji pengaturan referensi, buka kembali salah satu project Anda, kemudian tambahkan referensi ke assembly yang telah Anda simpan di folder AssemblyKu. Anda akan melihat file assembly Anda sudah terdapat pada daftar assembly.
Gambar 1.9 Assembly di referensi .NET Apabila Anda ingin agar pengaturan lokasi referensi berakibat (diterapkan) bagi semua user komputer, gunakan predefined key HKEY_LOCAL_MACHINE (bukan HKEY_CURRENT_USER).
9 Membuat Custom Template Walaupun Visual Studio .NET sudah menyediakan template yang lengkap, namun kita juga bisa menambahkannya. Adapun cara yang mudah untuk membuat template adalah mengacu template yang sudah ada. Meskipun demikian, kita tidak bisa meng-copy template begitu saja karena ada tindakan lanjut yang perlu dilakukan.
16
Secara normal, Visual Studio .NET menyimpan file-file template VB.NET di lokasi VBProjectItems, misalnya di C:\Program Files\Microsoft Visual Studio .NET 2003\Vb7\ VBProjectItems. Template dihasilkan dari kombinasi file .vsz dan .vsdir, di mana isi file .vsdir merujuk ke file .vsz. Untuk lebih jelasnya, berikut ini langkah-langkah pembuatan template. 1. Buat file .vsz baru, misalnya MyTemplate.vsz, kemudian simpan di folder VBProjectItems. Adapun isinya adalah seperti berikut. VSWIZARD 6.0 Wizard=VsWizard.VsWizardEngine.7.1 Param="WIZARD_NAME = WinForm" Param="WIZARD_UI = FALSE" Param="PROJECT_TYPE = VBPROJ"
2. Buat file MyTemplate.vsdir di folder Local Project Items yang ada di VBProjectItems. ..\MyTemplate.vsz| |My Template|15|Deskripsi: Template Favorit saya|{164B10B9-B200-11D0-8C6100A0C91E29D5}|4533|0|MyTemplate.vb
3. Agar template Anda ditampilkan pada kotak dialog Add New Item, buat folder di VBWizards. Untuk lebih mudahnya, Anda bisa meng-copy folder WinForm, kemudian rename menjadi MyTemplate. 4. Buka folder MyTemplate\Templates\1033, kemudian rename file Form.vb menjadi MyTemplate.vb. Penamaan file ini harus sesuai dengan isi file MyTemplate.vsdir. 5. Langkah selanjutnya adalah mengaitkan ikon template di kotak dialog Add New Item dengan file template yang akan digunakan. Untuk melakukan langkah ini, buka file default.js yang berada di folder Scripts\1033, kemudian sesuaikan baris berikut.
17
var strTemplateFile = strTemplatePath + "\\MyTemplate.vb";
6. Simpan kembali semua file yang telah Anda buat dan modifikasi. Untuk menguji hasil pembuatan template, buka Visual Studio .NET Anda, kemudian buka/buat project dan tambahkan item baru. Sampai di sini, seharusnya Anda sudah dapat melihat template MyTemplate di kotak dialog Add New Item. Contohnya seperti Gambar 1.10.
Gambar 1.10 Hasil pembuatan template
10 Eksekusi Side-by-Side Dukungan eksekusi side-by-side diterapkan oleh aplikasi Anda melalui file konfigurasi (app.config). Namun, secara default, app.config hanya mendukung versi .NET Framework yang Anda gunakan saat itu. Sebagai contoh, aplikasi yang dibangun dengan .NET Framework 1.1 hanya bisa dijalankan 18
di lingkungan yang menyediakan .NET Framework dengan versi sama. Untuk mengaktifkan dukungan eksekusi side-byside, lakukan langkah-langkah berikut: 1 Dari menu Project, klik properti project Anda untuk memunculkan kotak dialog Property Pages. 2 Klik properti Build. Pada bagian Supported Runtimes, klik button Changes untuk melihat atau mengubah pengaturan. 3 Di kotak dialog .NET Framework Version inilah Anda bisa mengatur lingkungan runtime bagi aplikasi. Terlihat bahwa pengaturan default hanya mendukung versi yang ada di mesin Anda.
Gambar 1.11 Mengatur konfigurasi eksekusi side-by-side
Eksekusi side-by-side memungkinkan aplikasi yang lebih rendah (versi .NET Framework-nya) dapat berjalan ìsempurnaî di lingkungan .NET Framework yang lebih tinggi. Namun sebaliknya, tidak semua fitur pada aplikasi yang lebih tinggi dapat bekerja di lingkungan yang lebih rendah. Kondisi ini tentu merupakan hal yang wajar karena lingkungan baru umumnya menambahkan fitur-fitur baru yang tidak ada di lingkungan sebelumnya.
19
11 Upgrade VB 6.0 ke VB.NET Dalam upaya mempertahankan kompatibilitas, Visual Studio .NET mengizinkan kita untuk membuka project yang dibuat dengan versi sebelumnya, misalnya Visual Basic 6.0. Meskipun demikian, ada satu tahap yang diperlukan sebelum project dapat dijalankan dengan baik, yakni tahap upgrade. Untuk melakukan upgrade, ada dua pendekatan yang bisa kita pilih. Pertama dengan memanfaatkan tool (built-in) Upgrade Wizard, dan kedua melalui add-in untuk Visual Studio 6.0, yaitu Code Advisor for Visual Basic 6.0. Tool ini bisa kita dapatkan secara gratis dari http://www.microsoft.com/downloads/. Pada pendekatan pertama, begitu Anda membuka project dari versi lama, Visual Studio .NET 2002/2003 secara otomatis akan menampilkan Upgrade Wizard. Adapun di Visual Studio .NET 2005, akan muncul Conversion Wizard.
Gambar 1.12 Visual Basic Upgrade Wizard
20
Setelah menyelesaikan lima instruksi, wizard akan menciptakan project baru sesuai versi yang Anda gunakan. Proses upgrade ini akan menghasilkan laporan yang tersimpan di file _UpgradeReport.htm.
Gambar 1.13 Laporan proses upgrade
Pada pendekatan kedua, yang kita lakukan sebenarnya adalah meninjau ulang kode VB 6.0, dengan tujuan memastikan agar sesuai standar yang ditetapkan. Begitu Code Advisor diinstal, Anda akan menjumpai tombol-tombol baru di toolbar Visual Studio 6.0.
Gambar 1.14 Toolbar Code Advisor for Visual Basic 6.0
Sebagai contoh, kode yang akan dievaluasi adalah seperti berikut: Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Command1_Click End If End Sub
21
Private Sub Command1_Click() If Len(Trim(Me.Text1.Text)) <> 0 Then MsgBox ("Hello " & Trim(Me.Text1.Text)) End If End Sub
Untuk memulai evaluasi kode, klik tombol Add FixIts. Hasilnya akan terlihat seperti berikut: 'FIXIT: Use Option Explicit to avoid implicitly 'creating variables of type Variant 'FixIT90210ae-R383-H1984 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Command1_Click End If End Sub Private Sub Command1_Click() 'FIXIT: Replace 'Trim' function with 'Trim$' 'FixIT90210ae-R9757-R1B8ZE If Len(Trim(Me.Text1.Text)) <> 0 Then 'FIXIT: Replace 'Trim' function with 'Trim$' 'FixIT90210ae-R9757-R1B8ZE MsgBox ("Hello " & Trim(Me.Text1.Text)) End If End Sub
Komentar FIXIT menyatakan bahwa kode terkait perlu diperbaiki, dan berdasarkan informasi yang diberikan, kita bisa memperbaiki kode program. Untuk menghapus komentar FIXIT, klik tombol Remove FixIts. Apabila sudah tidak terdapat komentar FIXIT, lanjutkan untuk menguji kode pada simulasi versi baru. Ini dilakukan dengan mengklik tombol Filter FixIts Rules, dan akan menampilkan window seperti Gambar 1.15.
22
Gambar 1.15 Menetapkan profil target
Untuk memastikan kode dapat bekerja pada lingkungan yang telah ditetapkan, klik sekali lagi tombol Add FixIts. Apabila tidak ada masalah (kesalahan), kita bisa melanjutkan ke tahap upgrade. Bagaimanapun juga, project masih merupakan versi lama sehingga memerlukan Upgrade Wizard. Perlu sekali diperhatikan, project yang sudah di-upgrade tidak bisa lagi dijalankan di lingkungan asalnya (versi lama). Aturan ini juga berlaku bagi project-project VB.NET di Visual Studio .NET.
23