161
Bab I Pengenalan Visual Basic.........................................1 1.1. IDE Visual Basic................................................1 a) Menjalankan IDE................................................1 b) Memilih jenis Project..........................................1 c) Jendela IDE....................................................2 1.2. Toolbox.........................................................3 1.3. Mengatur Lingkungan Kerja Visual Basic..........................4 a) Mengatur Editor................................................5 b) Mengatur Format Editor.........................................5 c) Mengatur hal-hal yang General..................................6 d) Mengatur Docking Jendela.......................................6 e) Mengatur Environment...........................................7 f) Mengatur SDI Development Environment atau MDI..................7 1.4. Bahasa Visual Basic Aplication..................................8 a) Type Variabel..................................................8 b) Operator Pada Visual Basic dan urutan operasinya...............8 c) Operator Like..................................................9 d) Deklarasi Variabel.............................................9 Bab II Memahami Objek pada Visual Basic..............................11 2.1. Apa yang dimaksud dengan Objek.................................11 2.2. Dari mana datangnya Objek......................................11 2.3. Bekerja dengan objek...........................................12 a) Mengatur Nilai properti.......................................12 b) Mengambil nilai dari Properti.................................13 c) Menggunakan Metode dalam Kode.................................13 d) Beberapa properti yang umum...................................13 e) Beberapa Metode-metode umum...................................17 f) Beberapa Event yang umum......................................19 2.4. Objek Browser..................................................20 2.5. Mengenal Form..................................................21 a) Struktur kode pada Form.......................................22 b) Beberapa Event, Metoda, dan Perintah pada Form................24 c) Urutan Event pada Form........................................27 2.6. Bahasa Visual Basic Aplication.................................27 a) Konvensi penamaan dalam Visual Basic..........................27 b) Mengenal Struktur Kendali.....................................28 Bab III Kontrol Standard.............................................30 3.1. Jenis Kontrol Standar..........................................30 a) Label.........................................................30 b) Textbox.......................................................31 c) Option........................................................33 d) Check.........................................................34 e) Frame.........................................................34 f) CommandButton.................................................35 g) ListBox.......................................................37 h) Combo Box.....................................................40 i) Image..........................................................42

Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Bab I Pengenalan Visual Basic.....................................................................................11.1. IDE Visual Basic...............................................................................................1

a) Menjalankan IDE.............................................................................................1b) Memilih jenis Project.......................................................................................1c) Jendela IDE.....................................................................................................2

1.2. Toolbox............................................................................................................31.3. Mengatur Lingkungan Kerja Visual Basic.........................................................4

a) Mengatur Editor..............................................................................................5b) Mengatur Format Editor..................................................................................5c) Mengatur hal-hal yang General......................................................................6d) Mengatur Docking Jendela..............................................................................6e) Mengatur Environment...................................................................................7f) Mengatur SDI Development Environment atau MDI........................................7

1.4. Bahasa Visual Basic Aplication........................................................................8a) Type Variabel..................................................................................................8b) Operator Pada Visual Basic dan urutan operasinya........................................8c) Operator Like..................................................................................................9d) Deklarasi Variabel...........................................................................................9

Bab II Memahami Objek pada Visual Basic.................................................................112.1. Apa yang dimaksud dengan Objek................................................................112.2. Dari mana datangnya Objek..........................................................................112.3. Bekerja dengan objek....................................................................................12

a) Mengatur Nilai properti.................................................................................12b) Mengambil nilai dari Properti........................................................................13c) Menggunakan Metode dalam Kode...............................................................13d) Beberapa properti yang umum.....................................................................13e) Beberapa Metode-metode umum.................................................................17f) Beberapa Event yang umum........................................................................19

2.4. Objek Browser...............................................................................................202.5. Mengenal Form..............................................................................................21

a) Struktur kode pada Form..............................................................................22b) Beberapa Event, Metoda, dan Perintah pada Form.......................................24c) Urutan Event pada Form...............................................................................27

2.6. Bahasa Visual Basic Aplication......................................................................27a) Konvensi penamaan dalam Visual Basic.......................................................27b) Mengenal Struktur Kendali...........................................................................28

Bab III Kontrol Standard.............................................................................................303.1. Jenis Kontrol Standar.....................................................................................30

a) Label.............................................................................................................30b) Textbox........................................................................................................31c) Option...........................................................................................................33d) Check...........................................................................................................34e) Frame...........................................................................................................34f) CommandButton...........................................................................................35g) ListBox..........................................................................................................37h) Combo Box...................................................................................................40i) Image............................................................................................................42j) PictureBox.....................................................................................................44k) HScrollBar dan VScrollBar.............................................................................48l) Line dan Shape..............................................................................................50m) Timer............................................................................................................51n) DriveListBox.................................................................................................52o) DirListBox.....................................................................................................53p) FileListBox....................................................................................................54

Bab IV Fungsi Bantu pada Visual Basic dan Visual Basic Aplication...........................57

Page 2: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

4.1. Visual Basic Application.................................................................................57a) Deklarasi Konstanta......................................................................................57b) Struktur Perulangan......................................................................................57c) Struktur Kendali Nested................................................................................59

4.2. Fungsi Bantu pada Visual Basic.....................................................................60a) Fungsi Bantu Konversi..................................................................................60b) Fungsi Bantu Waktu......................................................................................64

4.3. Module Pada Visual Basic..............................................................................66a) Deklarasi Variabel Pada Module....................................................................67b) Deklarasi Fungsi dan Sub pada module........................................................67c) Procedure.....................................................................................................67d) Function Procedure.......................................................................................68

4.4. Mencetak Isi Form ke Printer.........................................................................68a) Memahami Objek App...................................................................................69b) Mendapatkan Path dimana aplikasi berada..................................................69c) Mendapatkan nama file Executable..............................................................69d) Memeriksa apakah aplikasi telah dijalankan.................................................69e) Tidak menampilkan aplikasi pada task list ketika sedang berjalan...............69f) Memahami Objek Screen..............................................................................70

Bab V MDI Form, Menu dan Objek Printer..................................................................725.1. Mengenal Multiple Document Interface.........................................................725.2. Membuat suatu Aplikasi MDI pada Visual Basic.............................................72

a) Karakteristik dari MDI Form..........................................................................73b) Mendapatkan MDI Child yang sedang aktif...................................................73c) Mengatur MDI Child dalam jendela MDI form................................................73

5.3. Membuat Menu Pada Visual Basic.................................................................73a) Membuat Garis Pemisah antar Menu............................................................74b) Melakukan Koding terhadap Menu................................................................75c) Membuat Menu yang memiliki tanda Check.................................................75

5.4. Membuat Menu Pop Up..................................................................................775.5. Memahami Objek Printer...............................................................................77

a) Mencetak Data ke Objek Printer...................................................................78b) Menentukan ukuran kertas...........................................................................78c) Menentukan posisi pencetakkan...................................................................79d) Menentukan font pencetakkan.....................................................................79e) Menentukan orientasi pencetakkan..............................................................79f) Mendapatkan informasi printer yang terinstalasi pada sistem.....................80g) Menentukan  Printer yang akan digunakan..................................................80

Bab VI Database dan Data Kontrol.............................................................................816.1. Konsep Database Relational..........................................................................81

a) Tabel............................................................................................................82b) Record..........................................................................................................83c) Field..............................................................................................................83d) Key...............................................................................................................83e) Index............................................................................................................83

6.2. Membuat Database dengan Visual Data Manager.........................................846.3. Membuat Relasi antar database....................................................................876.4. Mengenal Data kontrol..................................................................................89

a) DBList...........................................................................................................89b) Properti pada Data kontrol...........................................................................89

6.5. Memahami Jenis RecordSet...........................................................................906.6. Metoda-metoda pada Data Kontrol................................................................90

a) Bergerak dalam RecordSet...........................................................................90b) Mencari suatu record tertentu......................................................................90c) Memeriksa hasil pencarian record................................................................91

Page 3: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

d) Menandai posisi record.................................................................................91e) Mengambil nilai field dari record aktif...........................................................92f) Mengubah nilai field dari record aktif...........................................................92g) Menambah record baru ke recordset............................................................92h) Menghapus record yang sedang aktif...........................................................93i) Melakukan refresh data pada Recordset.......................................................93j) Menutup suatu Recordset..............................................................................93

6.7. Event Pada Data Kontrol................................................................................94a) Event Error...................................................................................................94b) Event Reposition...........................................................................................94c) Event Validate..............................................................................................94

Bab VII Pengaturan MultiUser pada Data Kontrol.......................................................957.1. Masalah pada Pesimistik Locks......................................................................967.2. Masalah pada Optimistik Locks.....................................................................987.3. Recordset pada lingkungan MultiUser...........................................................99

a) Table............................................................................................................99b) Dynaset........................................................................................................99

Bab VIII Mengenal SQL.............................................................................................1008.1. Data Definition Language (DDL)..................................................................100

a) Membuat Tabel Baru..................................................................................100b) Membuat Index...........................................................................................103c) Memodifikasi Tabel.....................................................................................103d) Menghapus Table atau Index......................................................................104

8.2. Menambah data dengan APPEND query......................................................1048.3. Menghapus data dengan DELETE query......................................................1048.4. Memperbaiki Data dengan UPDATE query...................................................1048.5. Mengambil Data dengan SELECT query.......................................................1058.6. Menganti nama kolom recordset dengan reserved word AS........................1058.7. Membatasi hasil query dengan WHERE clause............................................1058.8. Mengurut hasil query dengan ORDER BY clause..........................................1068.9. Mengetahui statistik data dengan Fungsi Agregate.....................................1068.10. Meringkas data dengan GROUP BY clause................................................1068.11. Membatasi data yang telah diringkas dengan HAVING clause..................1068.12. Menggunakan predikat ALL, DISTINCT, DISTINCT ROW dan TOP..............1078.13. Mengambil kolom dari dua atau lebih tabel dengan Operasi INNER JOIN. 1078.14. Operasi LEFT JOIN, RIGHT JOIN.................................................................1098.15. Membuat union query dengan Operasi UNION.........................................1098.16. Membuat CROSSTAB query dengan TRANSFORM statement....................110

Bab IX Memahami ADODC melalui Data Form Wizard..............................................1119.1. Mengaktifkan fasilitas Data Form Wizard....................................................1119.2. Menjalankan Data Form Wizard...................................................................1119.3. Mempelajari kontrol ADODC hasil Form Wizard...........................................1129.4. Bound TextBox pada ADODC.......................................................................1139.5. Memahami koding ADO melalui Data Form Wizard.....................................1159.6. Reference ke Microsoft ActiveX Data Objects 2.0 Library............................1169.7. Bound TextBox pada ADO...........................................................................117

Page 4: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Bab IPengenalan Visual Basic

Visual Basic adalah salah suatu developement tools untuk membangun aplikasi dalam lingkungan Windows.

Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam

bentuk form, sedangkan untuk kodingnya menggunakan dialek bahasa Basic yang cenderung mudah dipelajari. Visual

Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer.

Dalam lingkungan Window's User-interface sangat memegang peranan penting, karena dalam pemakaian

aplikasi yang kita buat, pemakai senantiasa berinteraksi dengan User-interface tanpa menyadari bahwa

dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dilakukan.

Pada pemrograman Visual, pengembangan aplikasi dimulai dengan pembentukkan user interface, kemudian

mengatur properti dari objek-objek yang digunakan dalam user interface, dan baru dilakukan penulisan kode program

untuk menangani kejadian-kejadian (event). Tahap pengembangan aplikasi demikian dikenal dengan istilah

pengembangan aplikasi dengan pendekatan Bottom Up.

1.1. IDE Visual BasicLangkah awal dari belajar Visual Basic adalah mengenal IDE (Integrated Developement Environment) Visual

Basic yang merupakan Lingkungan Pengembangan Terpadu bagi programmer dalam mengembangkan aplikasinya.

Dengan menggunakan IDE programmer dapat membuat user interface, melakukan koding, melakukan testing dan

debuging serta menkompilasi program menjadi executable. Penguasaan yang baik akan IDE akan sangat membantu

programmer dalam mengefektifkan tugas-tugasnya sehingga dapat bekerja dengan efisien.

a) Menjalankan IDESalah satu cara untuk mengaktifkan IDE Visual Basic adalah menjalankannya dari Menu Start, pilih menu

Command, dan pilih Microsoft Visual Basic 6.0 dan akhirnya Microsoft Visual Basic 6.0.

Gambar 1-1. Mengaktifkan IDE Visual Basic 6.0

Catatan : Seperti aplikasi Windows umumnya, anda dapat juga mengaktifkan IDE Visual Basic dengan

melakukan open terhadap file yang berkaitan dengan Visual Basic, misalnya file *.vbp yang merupakan file project dari

Visual Basic.

b) Memilih jenis ProjectSesaat anda aktif di IDE Visual Basic, maka anda akan dihadapkan kepada suatu pilihan terhadap jenis

Project yang ingin anda buat sebagaimana yang ditunjukan oleh Gambar 1-2.

Sebagai langkah awal dari proses belajar adalah memilih project Standard EXE.

1

Page 5: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Gambar 1-2. Dialog box New Project ditampilkan sesaat anda menjalankan IDE Visual Basic 6.

c) Jendela IDEIDE Visual Basic 6 menggunakan model MDI (Multiple Document Interface). Berikut ini adalah gambar yang

menunjukan bagian-bagian dan nama-nama jendela yang dapat tampil pada IDE Visual Basic. Mungkin pada IDE

anda hanya ditampilkan sebagian jendela dibandingkan dengan Gambar 1-3 anda tidak perlu terkejut, karena

penampilan dari jendela-jendela tersebut dapat diatur dengan perintah pada menu View.

Sebagai langkah awal dari proses belajar, tidak semua jendela akan kita gunakan, tetapi hanya beberapa yang

penting, sedangkan yang lainnya bersifat khusus. Anda dapat lihat pada Gambar 1-3. IDE Visual Basic dengan

jendela-jendela yang terbuka.

Sebagaimana dengan proses belajar ini, kita akan fokus pada beberapa jendela yang penting terlebih dahulu

sehingga konsentrasi tidak menjadi pecah, dan peserta belajar menjadi bingung. Adapun jendela-jendela yang perlu

anda perhatikan adalah sebagai berikut :

Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dll

Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan cepat.

Jendela Project, jendela ini berisi gambaran dari semua modul yang terdapat dalam aplikasi anda. Anda

dapat menggunakan icon Toggle Folders untuk menampilkan modul-modul dalam jendela tersebut secara di

group atau berurut berdasarkan nama. Anda dapat menggunakan Ctrl+R untuk menampilkan jendela project,

ataupun menggunakan icon Project Explorer.

Jendela Form Designer, jendela ini merupakan tempat anda untuk merancang user interface dari aplikasi

anda. Jadi jendela ini menyerupai kanvas bagi seorang pelukis.

2

Page 6: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Jendela Toolbox, jendela ini berisi komponen-komponen yang dapat anda gunakan untuk mengembangkan

user interface.

Jendela Code, merupakan tempat bagi anda untuk menulis koding. Anda dapat menampilkan jendela ini

dengan menggunakan kombinasi Shift-F7.

Jendela Properties, merupakan daftar properti-properti object yang sedang terpilih. Sebagai contohnya anda

dapat mengubah warna tulisan (foreground) dan warna latarbelakang (background). Anda dapat

menggunakan F4 untuk menampilkan jendela properti.

Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu object.

Jendela Form Layout, akan menunjukan bagaimana form bersangkutan ditampilkan ketika runtime.

Jika jendela-jendela tersebut tidak ada, anda dapat memunculkannya dengan Menu View dan pilih :

Project Explorer (Ctrl+R)

Properties Windows (F4)

Form Layout Windows

Property Pages (Shift+F4)

Toolbox

 Color Pallete Toolbars

1.2. ToolboxJendela Toolbox merupakan jendela yang sangat penting bagi anda. Dari jendela ini anda dapat mengambil

komponen-komponen (object) yang akan ditanamkan pada form untuk membentuk user interface. Perhatikan gambar

1-3. Toolbox Visual Basic 6 dengan semua kontrol intrinsic.

Adapun secara garis besar fungsi dari masing-masing intrinsic kontrol tersebut adalah sebagai berikut :

Pointer bukan merupakan suatu kontrol; gunakan icon ini ketika anda ingin memilih kontrol yang sudah

berada pada form.

PictureBox adalah kontrol yang digunakan untuk menampilkan image dengan format: BMP, DIB (bitmap),

ICO (icon), CUR (cursor), WMF (metafile), EMF (enhanced metafile), GIF, dan JPEG.

Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak dapat diperbaiki oleh pemakai.

TextBox adalah kontrol yang mengandung string yang dapat diperbaiki oleh pemakai, dapat berupa satu

baris tunggal, atau banyak baris.

Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol lainnya.

CommandButton merupakan kontrol hampir ditemukan pada setiap form, dan digunakan untuk

membangkitkan event proses tertentu ketika pemakai melakukan klik padanya.

3

Page 7: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

CheckBox digunakan untuk pilihan yang isinya bernilai yes/no, true/false.

OptionButton sering digunakan lebih dari satu sebagai pilihan terhadap beberapa option yang hanya dapat

dipilih satu.

ListBox mengandung sejumlah item, dan user dapat memilih lebih dari satu (bergantung pada property

MultiSelect).

ComboBox merupakan konbinasi dari TextBox dan suatu ListBox dimana pemasukkan data dapat dilakukan

dengan pengetikkan maupun pemilihan.

HScrollBar dan VScrollBar digunakan untuk membentuk scrollbar berdiri sendiri.

Timer digunakan untuk proses background yang diaktifkan berdasarkan interval waktu tertentu. Merupakan

kontrol non-visual.

DriveListBox, DirListBox, dan FileListBox sering digunakan untuk membentuk dialog box yang berkaitan

dengan file.

Shape dan Line digunakan untuk menampilkan bentuk seperti garis, persegi, bulatan, oval.

Image berfungsi menyerupai image box, 5tetapi tidak dapat digunakan sebagai kontainer bagi kontrol

lainnya. Sesuatu yang perlu diketahui bahwa kontrol image menggunakan resource yang lebih kecil

dibandingkan dengan PictureBox

Data digunakan untuk data binding

OLE dapat digunakan sebagai tempat bagi program eksternal seperti Microsoft Excel, Word, dll.

1.3. Mengatur Lingkungan Kerja Visual Basic Pengaturan IDE Visual Basic dapat dilakukan dengan menu Tools, Option, pengaturan dapat dilakukan sesuai dengan

selera dan kebiasaan programmer sehingga dapat bekerja dengan baik dan efektif. Mulai Visual Basic 5.0, IDE Visual

Basic memperkenalkan MDI Developement Environment, dan beberapa hal dapat diatur dengan menggunakan menu

Tools, Option adalah sebagai berikut :

a) Mengatur Editor

4

Page 8: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

b) Mengatur Format Editor

c) Mengatur hal-hal yang General

5

Page 9: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

d) Mengatur Docking Jendela

e) Mengatur Environment

6

Page 10: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

f) Mengatur SDI Development Environment atau MDI

1.4. Bahasa Visual Basic Aplication

7

Page 11: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Dasar dari pemrograman pada Visual Basic adalah VBA yang menggunakan dialek Basic. Bagi anda yang

pernah belajar bahasa Basic, tidak akan sulit untuk belajar VBA.

a) Type VariabelDibandingkan dengan type data yang terdapat pada bahasa basic, maka pada VBA, type data yang disediakan

lebih banyak, seperti type Currency, Decimal, Object, dan Variant.. Variant merupakan type variabel yang istimewa,

karena dapat berubah dari satu type ke type yang lain, sesuai dengan evaluasi ekspresi oleh Visual Basic.

Ketepatan pemilihan type variabel akan sangat menentukan pemakaian resources oleh aplikasi yang dihasilkan, adalah tugas programmer untuk memilih type yang sesuai untuk menghasilkan program yang efisien dan berperfomance tinggi.Type Data Ukuran Storage JangkuanByte 1 byte 0 s/d 255Boolean 2 byte True atau FalseInteger 2 byte -32,768 s/d 32767Long 4 byte -2,147,483,648 s/d 2,147,483,647

Single 4 byte -3.402823E38 s/d -1.401298E-45 (-)1.401298E-45 s/d 3.402823E38 (+)

Double 8 byte -1.79769313486232E308 s/d -4.94065645841247E-324 (-)Currency 8 byte -922,337,203,685,477.5808 s/d 922,337,203,685,477.5807Decimal 14 byte +/-79,228,162,514,264,337,593,543,950,335Date 8 byte 1 Januari 100 s/d 31 Desember 9999Object 4 byte Mengacu pada objek tertentuString (panjang variabel) 10 byte + panjang string 0 sampai lebih kurang 2 milyarString (panjang tetap) panjang dari string 1 sampai lebih kurang 65,400Variant (dengan angka) 16 byte Sembarang angka sampai jangkauan jenis DoubleVariant (dengan karakter) 22 byte + panjang string Sama dengan jangkauan variabel String

Tabel 1-1. Type variabel, pemakaian storage dan jangkauan masing-masing

b) Operator Pada Visual Basic dan urutan operasinyaVisual basic meyediakan operator aritmatika, komparasi dan logika, salah satu hal yang harus dipahami oleh

programmer adalah tata urutan operasi dari masing-masing operator tersebut sehingga mampu membuat ekspresi

yang akan menghasilkan nilai yang benar, Tabel 1-2, menunjukkan operator dan urutan operasinya dari atas kebawah.

Contoh :A = 1 + 2 * 3 'Akan menghasilkan 7B = (1 + 2) * 3 'Akan menghasilkan 9

Aritmatika Komparasi LogikaPangkat (^) Sama (=) NotNegatif (-) Tidak sama (<>) AndKali dan Bagi (*, /) Kurang dari (<) OrPembagian bulat (\) Lebih dari (>) XorSisa Bagi (Mod) Kurang dari atau sama (<=) EqvTambah dan Kurang (+,-) Lebih dari atau sama (>=) ImpPengabungan String (&) Like

Tabel 1-2. Operator pada Visual Basic dan urutan operasi dari atas ke bawah

c) Operator Like

8

Page 12: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Salaj satu operator yang menarik untuk dibahas adalah operator like, Operator digunakan untuk operasi

pencocokan pola pada string yang akan sangat membantu programmer.

Syntax :Result = string Like pattern

Karakter dalam pola Penyamaan dalam string? Sembarang karakter tunggal* Nol atau lebih karakter# Sembarang digit tunggal (0-9)[charlist] Sembarang karakter yang berada dalam charlist[!charlist] Sembarang karakter yang tidak berada dalam charlist

Tabel 1-3. Character dalam pencocokan pola pada operator Like

Contoh :

MyCheck = "aBBBa" Like "a*a" ' Returns True.

MyCheck = "F" Like "[A-Z]" ' Returns True.

MyCheck = "F" Like "[!A-Z]" ' Returns False.

MyCheck = "a2a" Like "a#a" ' Returns True.

MyCheck = "aM5b" Like "a[L-P]#[!c-e]" ' Returns True.

MyCheck = "BAT123khg" Like "B?T*" ' Returns True.

MyCheck = "CAT123khg" Like "B?T*"

d) Deklarasi Variabel Visual Basic memungkinkan kita untuk menggunakan variabel tanpa deklarasi. Tetapi hal ini adalah kurang

baik untuk program yang terstruktur dan menghindari kesalahan pengolahan yang diakibatkan oleh kesalahan dalam

pengetikkan nama variabel.

Agar setiap variabel yang digunakan harus dideklarasikan, dapat digunakan perintah :

Option ExplicitPada setiap awal module, atau pada menu Tools, pilih Option, pilih tab Editor, buat tanda check pada Require Variable

Declaration.

Deklarasi variabel pada Visual Basic dapat dilakukan dengan Keyword berikut :Keyword Digunakan padaPublic Berlaku pada level modulPrivate Berlaku pada level modulDim Berlaku pada level modul dan level procedureStatic Berlaku pada level procedure

Tabel 1-4. Keyword pada deklarasi variabel Syntax : <keyword> NamaVariabel [As TypeVariabel]

9

Page 13: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Bab IIMemahami Objek pada Visual Basic

2.1. Apa yang dimaksud dengan ObjekObjek merupakan suatu kombinasi dari kode dan data yang dapat diperlakukan sebagai satu kesatuan. Suatu

Objek dapat merupakan bagian dari aplikasi seperti suatu kontrol atau suatu form. Secara keseluruhan dari aplikasi

dapat juga berupa suatu objek.

2.2. Dari mana datangnya ObjekSetiap objek pada Visual Basic didefinisikan oleh suatu class. Untuk memahami hubungan antara objek

dengan class-nya, perhatikan contoh berikut :

Kontrol-kontrol yang berada pada jendela Toolbox pada Visual Basic merupakan class-class. Objek tersebut

dikenal sebagai kontrol tidak akan ada sampai anda menanamkannya pada suatu form. Ketika anda

menanamkan suatu kontrol, anda telah membuat suatu duplikasi atau instance dari class kontrol tersebut.

Form dimana anda bekerja pada saat desain adalah suatu class. Pada saat run time, Visual Basic

menciptakan suatu instance dari class form.

Gambar 2-1, kontrol Text1 yang ditanam diatas form berasal dari class Textbox

Misalnya anda menamkan sebuah textbox diatas form1, coba perhatikan jendela properti kontrol tersebut akan

menampilkan Text1 (nama dari kontrol textbox tersebut) dan Textbox (nama dari class kontrol tersebut).

Gambar 2-2, jendela property menunjukkan nama kontrol dan jenis Class-nyaSemua objek merupakan duplikasi dari class mereka. Sesaat setelah menjadi objek berdiri sendiri, masing-

masing dapat memiliki properti yang berbeda-beda.

10

Page 14: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Misalnya anda menanam tiga buah command button pada suatu form, masing-masing command button

merupakan instance dari class CommandButton sehingga memiliki sejumlah karakteristik dan kemampuan (properti-

properti, metode-metode, dan event-event) yang sama, dimana yang terdefinisi pada class-nya. Tetapi, masing-

masing dapat memiliki Name, Caption, BackColor, Style yang berbeda sesuai dengan pengaturan pada masing-

masing properti.

Gambar 2-3, masing-masing kontrol dapat memiliki properti masing-masing

2.3. Bekerja dengan objekObjek-objek Visual Basic memiliki properti-properti, metode-metode, dan event-event. Pada Visual Basic,

suatu data dari objek (setting dan atribut) disebut sebagai properti, sedangkan berbagai subrutin yang dapat

beroperasi pada objek tersebut disebut sebagai metodenya. Dan suatu event adalah aksi yang dikenali oleh suatu

objek, seperti klik pada mouse atau penekanan tombol, sehingga anda dapat menulis kode untuk menangani event

tersebut.

a) Mengatur Nilai propertiAnda dapat langsung mengatur nilai properti suatu kontrol pada jendela properti, maupun pada saat runtime

dengan menggunakan bentuk penulisan berikut :

Objek.properti = ekspresi

Contoh : Private Sub Form_Load()MyForm.Caption = "Pemakai Telepon"

End Sub

11

Page 15: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Gambar 2-4, pengaturan properti dapat dilakukan melalui jendela properti pada waktu desain

b) Mengambil nilai dari PropertiAnda dapat mengambil nilai dari properti suatu objek dengan penulisan sebagai berikut :

Variabel = Objek.properti

Contoh :Private Sub cmdProses_Click()

Nama = txtNama.Text

End Sub

c) Menggunakan Metode dalam KodeKetika anda mengunakan suatu metode dalam kode anda, hal tersebut tergantung kepada bagaimana kaitan

perintah dan berapa argumen yang diperlukan, dan apakah metode tersebut mengembalikan suatu nilai. Ketika suatu

metode tidak membutuhkan argumen anda dapat menulisnya sebagai berikut :

Objek.Metode

Contoh :Private Sub cmdBuka_Click()

frmPemakai.show

End Sub

d) Beberapa properti yang umumBerikut ini akan dibahas beberapa properti yang umum yang hampir terdapat pada semua intrinsic kontrol

pada Visual Basic.

Properti Left , Top , Width dan Height Semua objek yang visible memiliki properti yang menentukan letak dan ukurannya. Nilai properti Left dan Top

sifatnya relatif terhadap kontainernya (misalnya suatu textbox yang ditanamkan diatas form, maka form tersebut

disebut sebagai kontainer bagi textbox tersebut), sedangkan Width dan Height menentukan ukuran dari objek tersebut.

Gambar 2-5, Form1 merupakan kontainer bagi Text1Nb. Pada defaultnya nilai properti ini dinyatakan dalam twips ( 1 inch = 1440 twips; 1 cm = 576 twips)

Perhatian : Properti Width dan Height pada control Combobox sifatnya readonly.

Properti Forecolor dan BackColor

12

Page 16: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Umumnya objek yang visible memiliki properti Forecolor dan Backcolor, yang mempengaruhi warna tulisan dan

warna latarbelakang, tetapi beberapa diantaranya tidak ada (misalnya control scroll-bars), pada command button tidak

terdapat properti Forecolor, dan Backcolornya hanya berfungsi jika anda menganti properti style menjadi 1 - Graphical.

Gambar 2-6, form dengan pemakaian backcolor dan forecolor

Nb. Setting properti Backcolor menjadi tidak berfungsi jika anda menset properti BackStyle menjadi 0 - transparent.

Gambar 2-7, pengaturan Backcolor dan ForeColor melalui jendela propertiKetika anda menentukan nilai untuk properti ini, anda dapat menggunakan suatu warna standard, atau warna

custom (saya menyarankan anda untuk menggunakan warna standard untuk menjaga nilai rasa pemakai integrasi

dengan sistem operasi)

Properti Font

13

Page 17: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Pada waktu desain, anda dapat menentukan properti Font dengan dialog box, tetapi pada saat runtime, hal

tersebut harus dilakukan dengan properti Name, Size, Bold, Italic, Underline, and Strikethrough, karena sebenarnya

Font adalah suatu objek campuran.

Contoh :Text1.Font.Name = "Tahoma"

Text1.Font.Size = 12

Text1.Font.Bold = True

Text1.Font.Underline = True

Properti Caption dan Text Caption adalah tulisan yang tampil dalam suatu control (atau title pada objek form) yang mana pemakai tidak

dapat melakukan modifikasi langsung (control Label, CommandButton, Checkbox, Optionbutton, Data, dan Frame),

sebaliknya Text adalah tulisan yang dapat dimodifikasi oleh pemakai (control Textbox, Listbox dan Combobox).

Gambar 2-8, pengaturan Font melalui dialog box Font dari jendela propertiNb. Pada properti Caption, kita dapat menggunakan tanda & (ampersand) untuk menyatakan hotkey bagi

control tersebut. Properti Text dapat diabaikan, karena merupakan properti default bagi suatu control.

Contoh : Kedua perintah ini adalah sama

Text2.Text = Text1.Text

Text2 = Text1 'tanpa properti text

Properti Enabled dan Visible Pada defaultnya semua control dan form adalah Enabled dan Visible. Anda dapat menyembunyikan suatu

kontrol dengan menggunakan properti Visible = False. Kontrol yang properti Enabled = False tidak dapat diakses oleh

pemakai, tetapi dapat diakses secara kode.

Programmer dapat juga menggunakan properti Locked = True untuk membuat suatu kontrol read only.

Properti TabStop dan TabIndex

14

Page 18: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Suatu kontrol yang dapat menerima fokus input memiliki properti TabStop. Kontrol yang memiliki properti

TabStop juga memiliki properti TabIndex. Properti TabStop menentukan apakah suatu kontrol dapat menerima fokus

pada penekanan tombol Tab oleh pemakai, defaultnya adalah true, sedangkan properti TabIndex menentukan urutan

fokus pada saat pemakai menekan Tab.

Properti MousePointer dan MouseIcon Properti ini akan menentukan bentuk kursor mouse ketika berada diatas kontrol tersebut. Windows

memperbolehkan kita mengatur tampilan mouse untuk setiap form dan kontrol dengan mengikuti aturan berikut :

Jika properti Screen.MousePointer di set ke nilai yang bukan 0-vbDefault, kursor mouse akan mengikuti nilai

ini, tetapi ketika mouse berada diatas aplikasi lain (atau pada desktop), tampilan kursor akan bergantung

kepada kondisi aplikasi bersangkutan, bukan pada aplikasi anda.

Jika Screen.MousePointer adalah 0 dan kursor mouse berada diatas suatu kontrol, Visual Basic akan

memeriksa nilai properti MousePointer kontrol tersebut; jika nilainya bukan 0-vbDefault, kursor mouse akan

di set ke nilai tersebut.

Jika Screen.MousePointer adalah 0 dan mouse berada diatas permukaan suatu form atau berada diatas

kontrol yang properti MousePointer adalah 0, Visual Basic akan menggunakan nilai yang tersimpan pada

properti Mousepointer pada form.

Properti MouseIcon dapat digunakan untuk menampilkan bentuk pointer mouse sesuai dengan keinginan

pemakai, tetapi sebelumnya properti MouseIcon harus di set ke 99-vbCustom, dan kemudian set suatu icon pada

properti MouseIcon.

Gambar 2-9, pengaturan Mouse Pointer dan Mouse Pointer melalui jendela properti

Properti Tag Semua kontrol mendukung properti Tag, tanpa kecuali, karena properti ini disediakan oleh Visual Basic, bukan

oleh kontrol. Properti Tag digunakan sebagai kontainer untuk bagi data dari kontrol yang anda ingin simpan (misalnya

15

Page 19: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

anda dapat mengunakannya untuk menyimpan nilai awal dari textbox, sehingga pemakai dapat melakukan Undo

dengan mengembalikan nilai awal tersebut dari properti Tag).

e) Beberapa Metode-metode umumBerikut ini akan dibahas beberapa metode yang umum yang hampir terdapat pada semua intrinsic kontrol pada Visual

Basic.

Metode Move Jika suatu kontrol mendukung properti Left, Top, Width, dan Height, juga mendukung metode Move,

dengannya dimana anda dapat mengubah beberapa atau semua properti dalam satu operasi tunggal. Contoh berikut

mengubah tiga properti: Left, Top, dan Width.

Contoh :'Mendoublekan lebar form, dan memindahkan ke sudut kiri atas layar

'Syntaxnya adalah: Move Left, Top, Width, Height.

Form1.Move 0, 0, Form1.Width * 2

Metode Refresh Metode refresh menyebabkan suatu form akan digambar ulang. Pada dasarnya Visual Basic otomatis

memanggil metode ini setiap ada kesempatan, tetapi anda dapat menggunakannya untuk mengupdate tampilan

seketika.

Contoh :For n = 1000 To 1 Step -1 Label1.Caption = CStr(i) Label1.Refresh ' Mengupdate label seketika.

Next

Metode SetFocusMetode ini memindahkan fokus input ke kontrol tertentu. Sesuatu masalah yang sering terjadi adalah metode

ini akan menyebabkan error ketika diterapkan pada kontrol yang sedang di Disable atau dalam keadaan Invisible.

Untuk menhindari hal ini, metode SetFocus jangan digunakan pada bagian Form Load.

Contoh :Private Sub cmdAdd_Click()

Aksi = flAdd

Call Buka

Call Kosong

txtCCode.SetFocus 'Memindahkan fokus ke kontrol txtCCode

End Sub

Metode ZOrder Metode ZOrder memberikan efek tampilan kontrol yang saling menimpa. Anda menggunakan metode ini untuk

memindahkan kontrol keatas kontrol yang lain. Gunakan argumen satu untuk sebaliknya.

Contoh :Label1.ZOrder 'Memindahkan ke atas

16

Page 20: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Label1.ZOrder 1 'Memindahkan ke bawah

Pada saat design, anda dapat menggunakan Ctrl+J untuk memindahkan kontrol ke depan, dan Ctrl+K untuk

memindahkan form ke belakang.

Gambar 2-10, contoh pemakaian metode ZOrder

f) Beberapa Event yang umumBerikut ini akan dibahas beberapa metode yang umum yang hampir terdapat pada semua intrinsic kontrol pada Visual

Basic.

Event Click dan DblClick Event click terjadi ketika pemakai melakukan klik pada tombol kiri mouse. demikian juga Event DblClick terjadi

karena pemakai melakukan klik dua kali.

Private Sub cmdUpdate_Click()JlhRec = JlhRec + 1

DatPemakai.CCode = txtCCode.Text

DatPemakai.Nama = txtNama.Text

DatPemakai.Ekstension = txtEkstension.Text

DatPemakai.Local = optLocal.Value

DatPemakai.SLJJ = optSLJJ.Value

DatPemakai.SLI = optSLI.Value

Put #1, JlhRec, DatPemakai

Posisi = JlhRec

End SubPada kontrol-kontrol seperti Checkbox dan OptionButton, event Click juga dibangkitkan kalau terjadi

perubahan nilai properti Value secara koding.

ListBox dan Combobox juga melakukan hal yang sama kalau properti ListIndex-nya berubah.

Adalah penting untuk menghindari pemakaian Event Click dan DblClick pada satu kontrol yang sama, karena

tidak menjamin Event DblClick dibangkitkan setelah Event Click terjadi.

Event Change

17

Page 21: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Event Change dibangkitkan ketika isi dari suatu kontrol berubah. Tetapi pada CheckBox, dan OptionButton

Event Click yang dibangkitkan.

Pada kontrol TextBox dan ComboBox dibangkitkan ketika pemakai mengetik sesuatu. (Tetapi pada kontrol

ComboBox, kontrol membangkitkan event Click kalau pemakai memilih item dari list dari pada mengetiknya). Pada

kontrol Scroll bar event Change terjadi ketika pemakai melakukan klik baik pada panah maupun scroll box. Event

Change juga terdapat pada PictureBox, DriveListBox, dan kontrol DirListBox.

Event Change juga dibangkitan oleh isi kontrol yang diubah melalui koding.

Event GotFocus dan LostFocusGotFocus dibangkitkan ketika kontrol menerima fokus, dan LostFocus dibangkitkan ketika fokus

meninggalkannya dan beralih ke kontrol lain. Pada awalnya event ini banyak digunakan untuk mekanisme validasi

ketika kontrol kehilangan fokus. Pada Visual Basic 6 telah diperkenalkan suatu event Validate event, yang lebih sesuai

untuk masalah yang sama.

Event KeyPress, KeyDown, dan KeyUp Event-event ini dibangkitkan ketika pemakai menekan tombol pada keyboard pada kontrol yang memiliki fokus.

Urutan eventnya adalah : KeyDown (ketika pemakai menekan tombol), KeyPress (Visual Basic menterjemahkan

tombol ke numerik ANSI code), dan KeyUp (ketika pemakai melepas tombol). Hanya tombol yang berkaitan dengan

tombol kontrol (Ctrl+x, BackSpace, Enter, dan Escape) serta karakter yang dapat dicetak membangkitkan event

KeyPress event. Tombol lainnya--termasuk tombol panah, tombol fungsi, kombinasi Alt+x, tidak menyebabkan event

ini, hanay membangkitkan event KeyDown dan KeyUp.

Event KeyPress melewatkan ANSI code dari tombol yang ditekan. Anda dapat memanipulasinya untuk keperluan

tertentu.

2.4. Objek BrowserAnda dapat melihat properti-properti, metode-metode, dan event-event pada suatu objek dengan

menggunakan fasilitas Objek Browser yang dapat diaktifkan dengan menggunakan menu View, Object Browser.

18

Page 22: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Gambar 2-11, jendela objek browser untuk melihat isi suatu objek

2.5. Mengenal FormForm merupakan objek pertama yang anda hadapi begitu membuat suatu project dan merupakan tempat kita

membentuk user interface. Pada form kita dapat menanamkan berbagai Kontrol seperti label, textbox, combobox,

listbox, optionbutton, dll.

Gambar 2-12, user interface form dengan berbagai kontrol diatasnyaUntuk memudah anda dalam menempatkan kontrol-kontrol pada form, periksalah option seperti Show Grid dan

ukurannya, serta Align Control to Grid, pengaturan ini dapat dilakukan dengan menu Tools, Option, kemudian memilih

tab General.

19

Page 23: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Gambar 2-13, jendela option untuk pengaturan formUntuk memudahkan anda mengatur ukuran, jarak antar kontrol maupun pemerataan kontrol-kontrol yang anda

tempatkan diatas form, anda dapat menggunakan kelompok menu format

Gambar 2-14, menu format

a) Struktur kode pada FormMemahami struktur kode pada jendela kode di suatu form akan sangat membantu programmer untuk menulis

kode yang terstruktur. Adapun struktur kode pada form dapat dibagi atas tiga bagian yaitu :

Bagian General Declaration, bagian ini digunakan untuk deklarasi Option Explicit, Option Base, Type, dan

variabel yang dapat digunakan pada form level (dikenal oleh semua subrutin pada form tersebut) baik pada

tingkat Public maupun Private. Bagian ini biasanya terletak pada bagian teratas pada jendela koding.

20

Page 24: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Gambar 2-15, bagian general declaration pada jendela koding form Bagian General Procedure, bagian ini merupakan subrutin maupun fungsi yang dibuat oleh pemakai. Bagian

ini ditandai dengan (General), dan nama subrutin.

Gambar 2-16, bagian general procedure pada jendela koding form

Bagian Event Procedure, bagian ini merupakan subrutin yang digunakan untuk menangani kejadian yang

diakibatkan oleh aksi pemakai terhadap kontrol tertentu. Ditandai dengan nama kontrol dan jenis eventnya.

21

Page 25: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Gambar 2-17, bagian event procedure pada jendela koding form

b) Beberapa Event, Metoda, dan Perintah pada Form Supaya anda dapat bekerja baik dengan objek form, anda perlu mengetahui dan mengerti Event-Event,

Metode-Metode serta perintah yang berhubungan dengan pemakaian form.

Event InitializeEvent ini terjadi pertama kali ketika Form dibuat dari Class-nya dan hanya sekali selama keberadaan form

tersebut, Event ini digunakan untuk menginisialisasi nilai awal variabel.

Event TerminateEvent ini terjadi ketika objek Form akan dimusnahkan dari memori.

Event Load Event ini terjadi ketika suatu form di Load. Pada Event procedure ini anda letakkan statement yang digunakan

untuk mengatur setting awal form anda, misalnya membuka file, menginisialisasi nilai awal variabel, dan mengatur

properti kontrol-kontrol pada form.

Contoh :Private Sub Form_Load()

Open "C:\Pemakai.Dat" For Random As #1 Len=Len(DatPemakai)

JlhRec = LOF(1) / Len(DatPemakai)

If JlhRec > 0 Then

Posisi = 1

Else

Posisi = 0

End If

Call Tampil

End Sub

Event QueryUnload

22

Page 26: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Event ini terjadi ketika suatu form akan tutup, dan dapat mempelajari bagaimana pemakai menutup form

tersebut dengan mempelajari parameter UnloadMode.

Contoh :Private Sub Form_QueryUnload(Cancel As Integer, _

UnloadMode As Integer)

Select Case UnloadMode

Case vbFormControlMenu ' = 0

' From diclose oleh pemakai.

Case vbFormCode ' = 1

' Form diclose dengan kode.

Case vbAppWindows ' = 2

' Session windows berakhir.

Case vbAppTaskManager ' = 3

' Task manager mengakhiri program ini.

Case vbFormMDIForm ' = 4

' From ditutup oleh MDI.

Case vbFormOwner ' = 5

' From ditutup oleh Owner.

End Select

End SubParameter Cancel dapat digunakan untuk menentukan apakah proses dilanjutkan ke Event UnLoad atau tidak.

(0 berarti proses dihentikan, 1 berarti proses dilanjutkan ke Event Unload)

Event UnLoad Event ini terjadi ketika suatu form di unload dengan menggunakan command Close pada Control menu atau

dengan statement UnLoad. Event ini terjadi setelah Event QueryUnload. Anda dapat mengetikkan kode-kode untuk

menutup file-file yang terbuka pada Event ini.

Contoh :Private Sub Form_Unload(Cancel As Integer)

Close #1

End SubParameter Cancel dapat digunakan untuk menentukan apakah proses UnLoad dilakukan atau tidak. (0 berarti

proses UnLoad dilakukan, 1 berarti proses Unload dibatalkan)

Contoh :Private Sub Form_Unload(Cancel As Integer)

Dim nPil As Integer

nPil = MsgBox("Apakah Anda Yakin", vbYesNo)

If nPil = vbYes Then

Close #1

Cancel = 0

Else

Cancel = 1

23

Page 27: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

End If

End SubEvent Resize

Event ini terjadi ketika form pertama kali ditampilkan atau ukuran dari suatu object berubah.

Contoh : Private Sub Form_Resize ()

'Mengubah ukuran PictureBox menjadi sama dengan ukuran form yang diresize.

Picture1.Move 0,0, ScaleWidth, ScaleHeight

End Sub Catatan :

ScaleWidth, properti yang mengembalikan nilai ukuran lebar interior dari suatu kontrol

ScaleHeight, properti yang mengembalikan nilai ukuran lebar interior dari suatu kontrol

Event Activate Event Activate terjadi ketika suatu form menjadi jendela aktif, ketika user melakukan klik pada form, atau

menggunakan metode SHOW atau SETFOCUS.

Event DeActivate Event DeActivate terjadi ketika suatu form menjadi jendela yang tidak aktif, dimana ketika focus bergeser ke

form lain. Event ini tidak terjadi pada saat UNLOAD.

Perintah Load Melakukan Load Form, tetapi tidak membuatnya menjadi Visibel Syntax :

Load formContoh :

Private Sub cmdLoad_Click()Load Form2

End SubMetoda Show Melakukan Load suatu Form, dan membuatnya menjadi Visible. Syntax :

Object.ShowContoh :

Private Sub cmdShow_Click()Form2.Show

End Sub

Metoda Hide Menyembunyikan form, tetapi tidak melakukan unload Syntax :

Object.Hide

Contoh :Private Sub cmdHide_Click()

Form2.Hide

24

Page 28: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

End Sub

Perintah UnLoad Melakukan UnLoad Form

Syntax :UnLoad form

Contoh :Private Sub cmdUnload_Click()

Unload Form2

End Sub

c) Urutan Event pada FormSecara garis besar Event pada Form adalah sebagai berikut :

Initialize, hanya sekali yaitu ketika form pertama kali dibuat dari Class-nya Load, Activate Deactivate Terminate,

hanya sekali yaitu ketika form dimusnahkan dari memori.

2.6. Bahasa Visual Basic Aplication

a) Konvensi penamaan dalam Visual BasicKetika anda menulis Code Visual Basic, anda mendeklarasikan banyak elemen (Sub dan Function procedures,

variables, constants,dan lainnya). Nama dari procedure, variabel, dan konstanta yang mana anda deklarasi pada

Visual Basic harus mengikuti petunjuk berikut :

Harus dimulai dengan suatu Huruf

Tidak dapat mengandung titik atau spesial karakter

Tidak dapat lebih dari 255 huruf, nama dari control, forms, classes, dan module tidak melebihi 40 karakter.

Tidak dapat sama dengan keywords yang tercadang.

Keyword yang tercadang adalah kata yang Visual Basic gunakan sebagai bagian dari bahasanya. Ini terdiri

dari predefined statements (seperti If dan Loop), function (seperti Len dan Abs), dan operator (seperti Or dan Mod).

Deklarasi Variabel

Deklarasi variabel pada bagian deklarasi di suatu form, standard, atau class module, dari pada dalam

suatu procedure, membuat variabel itu berlaku untuk semua procedure dalam module tersebut

Deklarasi variabel dengan menggunakan keyword Public membuatnya berlaku pada keseluruhan aplikasi anda.

Deklarasi suatu variabel lokal dengan menggunakanan keyword Static akan menyimpan nilainya ketika suatu procedure berakhir.

Deklarasi Implicit Anda tidak perlu mendeklarasikan suatu variabel sebelum menggunakannya.

Deklarasi Explicit

25

Page 29: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Untuk mencegah kesalahan mengetik variabel, dan Visual Basic akan selalu memberikan peringatan jika

menemukan nama yang tidak dideklarasikan terlebih dahulu sebagai suatu variabel.

Catatan :

Pernyataan Option Explicit hanya bekerja per-module, sehingga harus diletakkan pada bagian deklarasi pada

setiap form, dan class module yang mana anda ingin Visual Basic memaksakan suatu explicit variabel deklarasi

b) Mengenal Struktur Kendali Struktur kendali memungkinkan anda untuk mengatur jalannya program anda, Jika membiarkan tanpa di

periksa oleh statement control-flow, suatu logika program akan berjalan dari kiri ke kanan dan dari atas kebawah.

Hanya program yang sangat sederhana dapat ditulis tanpa statement control-flow.

Struktur Keputusan Struktur keputusan yang didukung oleh Visual Basic adalah sebagai berikut :

If...Then Gunakan suatu struktur If...Then untuk menjalankan suatu pernyataan secara kondisional. Anda dapat

menggunakan syntax satu baris ataupun syntax banyak baris :

If kondisi Then pernyataanatauIf kondisi Then

pernyataan-pernyataanEnd If

Kondisi biasanya berupa suatu perbandingan, maupun ekspresi yang menghasilkan nilai numerik. Visual Basic

menginterpretasikan False sebagai nol (0), dan True sebagai bukan nol.

If...Then...Else Gunakan If…Then…Else untuk mendefinisikan beberapa blok pernyataan yang akan dijalankan salah satu

berdasarkan kondisi yang memenuhi syarat

If kondisi1 Then[blok pernyataan-1]

[ElseIf kondisi2 Then[blok pernyataan-2]] ...

[Else[blok pernyataan-n]]

End If Visual Basic awalnya akan mencoba kondisi1. Jika False, maka Visual Basic akan memeriksa kondisi2, dan

seterusnya sampai menemukan suatu kondisi True untuk dijalankan blok pernyataannya.

Contoh : If JlhRec > 0 Then

Posisi = 1

Else

Posisi = 0

End If

Select Case

26

Page 30: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Visual Basic menyediakan struktur Select Case sebagai suatu alternatif terhadap If...Then...Else. Suatu Select

Case statement memiliki kemampuan yang sama dengan If…Then…Else…, tetapi membuat code lebih mudah

dibaca.

Struktur Select Case bekerja dengan suatu percobaan tunggal yang hanya dievaluasi satu kali pada bagian

atas struktur. Visual Basic then membandingkan hasil ekspresi dengan nilai pada setiap Case didalam struktur

tersebut, jika ada yang sesuai, akan dijalankan blok statement yang sesuai

Select Case ekspresiyangdicoba[Case ekspresi1

[blokpernyataan-1]]

[Case ekspresi2[blokpernyataan-2]]

[Case Else

[blokpernyataan-n]]

End Select

27

Page 31: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Bab IIIKontrol Standard

Kontrol standard terdapat pada semua versi Visual Basic, baik pada Learning Edition, Profesional Edition,

maupun Enterprised Edition.

Kontrol-kontrol standard ini akan sering anda gunakan untuk pembentukkan user interface pada setiap project

yang anda buat. Pada bagian ini kita akan membahas beberapa kontrol standard beserta properti-properti, event-event

dan metoda-metoda yang bekerja pada masing-masing kontrol. Dengan memahami properti, event dan metoda akan

sangat membantu anda dalam memanfaatkan kontrol-kontrol tersebut secara efektif dan efisien.

3.1. Jenis Kontrol Standar

a) LabelDigunakan untuk menampilkan text tanpa bisa diubah oleh pemakai pada saat runtime. Beberapa properti

pada label :

Properti Fungsi

Alignment Digunakan untuk menentukan pemerataan tulisan pada kontrol label (0 - Left Justify, 1 - Right Justify, 2 - Center)

Appearance Digunakan untuk menentukan tampilan dari kontrol label di cat atau tidak (0 - Flat, 1 - 3D)

AutoSize Digunakan untuk menentukan apakah ukuran kontrol otomatis disesuaikan dengan ukuran tulisan (False, True)

BackColor Digunakan untuk menentukan warna latar belakang (properti ini saling berkaitan dengan properti Appearance)

BackStyle Digunakan untuk menentukan prilaku latar belakang kontrol label (0 - Transparent, 1 - Opaque), kalau transparan, maka BackColor menjadi tidak berarti, demikian juga Appearance.

BorderStyle Digunakan untuk menentukan bentuk border, apakah (0- None, 1 - Fixed Single)

Caption Digunakan untuk menentukan tulisan pada kontrol label, mungkin ini adalah properti yang paling sering anda gunakan.

DragIcon Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol labelDragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)

Enabled Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll.

Font Digunakan untuk menentukan jenis font, ukuran, style, dllForeColor Digunakan untuk menentukan warna tulisanHeight Digunakan untuk menentukan tinggi dari kontrolIndex Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

MouseIcon Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)

MousePointer Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.

Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut

ToolTipText Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrolTop Digunakan untuk menentukan jarak atas kontrol dari kontainernya.

UseMnenomic Digunakan untuk menentukan perlakuan terhadap tanda & ampersand sebagai access key, atau sebagai simbol & (False, True)

Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True)

Width Digunakan untuk menentukan lebar kontrol label

WordWrap Digunakan untuk menentukan apakah tulisan dalam kontrol label dapat dilipat menjadi beberapa baris.

28

Page 32: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Adapun event-event yang efektif pada kontrol label adalah :

Event KeteranganChange Event ini terjadi ketika nilai properti Caption dari kontrol

Click Event ini terjadi ketika pemakai melakukan klik pada kontrol, event ini terjadi dengan urutan (MouseDown, MouseUp, Click)

DblClick Event ini terjadi ketika pemakai melakukan double klik pada kontrol, event ini terjadi dengan urutan (MouseDown, MouseUp, Click, MouseDown, DblClick, MouseUp)

MouseDownEvent ini terjadi ketika pemakai melakukan penekanan tombol mouse pada kontrol, parameter yang dapat digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 - Alt), X (posisi kolom pointer), Y (posisi baris pointer)

MouseMoveEvent ini terjadi ketika pamakai mengerakan mouse pada kontrol, parameter yang dapat digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 - Alt), X (posisi kolom pointer), Y (posisi baris pointer)

MouseUpEvent ini terjadi ketika pemakai melepaskan penekanan tombol mouse pada kontrol, parameter yang dapat digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 - Alt), X (posisi kolom pointer), Y (posisi baris pointer)

Adapun metoda yang efektif pada kontrol label adalah :

Metoda Keterangan

Move Metoda ini digunakan untuk memindahkan letak (koordinat Left, Top) dari kontrol label maupun ukurannya (ukuran Height, Width)

Refresh Metoda ini digunakan untuk mencetak ulang kontrol label.Zorder Metoda ini digunakan untuk menentukan order kontrol, apakah diatas atau dibawah kontrol lain.

b) TextboxDigunakan untuk menampilkan text yang dapat diubah oleh pemakai pada saat runtime

Properti FungsiAlignment SdaAppearance SdaBackColor SdaBorderStyle Sda

CauseValidation Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True)

DragIcon SdaDragMode SdaEnabled SdaFont SdaForeColor SdaHeight SdaHideSelection Digunakan untuk menentukan apakah selection disembunyikan ketika kontrol kehilangan fokusIndex SdaLeft Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

Locked Digunakan untuk menentukan apakah text dalam kontrol textbox dapat di perbaharui oleh pemakai atau tidak (False, True)

MaxLength Digunakan untuk menentukan jumlah huruf maksimal yang dapat diketikkan dalam textbox (0 s/d 65535), 0 tidak dibatasi.

MouseIcon Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)

MousePointer Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.

MultiLine Digunakan untuk menentukan apakah tulisan dalam textbox dapat ditampilkan dalam bentuk beberapa baris, dan mengenali Enter untuk memasuki baris baru. (False, True)

PasswordCharDigunakan untuk menentukan karakter yang digunakan untuk menyandikan tampilan huruf yang diketik oleh pemakai. Biasanya digunakan untuk pengisian password, dimana huruf yang ditekan ditampilkan dalam bentuk *

ScrollBars Digunakan untuk menentukan penampilan ScrollBar pada textbox, properti ini efektif jika setting properti

29

Page 33: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

MultiLine adalah True (0 - None, 1 - Horizontal, 2 - Vertical, 3 - Both)

TabIndex Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True

TabStop Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False, True)

Tag SdaText Properti ini berisi tulisan yang berada dalam textbox ToolTipText SdaTop SdaWidth Sda

Adapun event-event yang efektif pada kontrol Textbox adalah :

Event KeteranganChange Event ini terjadi ketika nilai properti Text dari kontrol mengalami perubahanClick SdaDblClick SdaGotFocus Event ini terjadi ketika kontrol mendapatkan fokusKeyDown Event ini terjadi ketika pemakai mengetik karakter pada kontrol

KeyPress

Event ini terjadi setelah event KeyDown ketika pemakai mengetik karakter pada kontrol, parameter yang dapat digunakan adalah KeyAscii. Anda dapat memanipulasi tombol yang diketik dengan melakukan perubahan pada nilai KeyAscii.

Contoh :

Private Sub txtNama_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenSendKeys "{Tab}"End IfEnd Sub

KeyUp Event ini terjadi setelah event KeyPress ketika pemakai mengetik karakter pada kontrol dengan urutan (KeyDown, KeyPress, KeyUp, Change)

LostFocus Event ini terjadi ketika kontrol kehilangan fokusMouseDown SdaMouseMove SdaMouseUp SdaValidate Event ini terjadi ketika kontrol akan kehilangan fokus.

Adapun metoda yang efektif pada kontrol Textbox adalah :

Metoda KeteranganMove SdaRefresh SdaSetfocus Metoda ini digunakan untuk menimdahkan fokus ke kontrol yang bersangkutanZorder sda

c) Option Digunakan untuk menampilkan beberapa pilihan yang hanya dapat dipilih salah satu dalam suatu form, untuk

Properti FungsiAlignment SdaAppearance sdaBackColor sdaCaption sdaCauseValidation sda

DisablePicture Digunakan untuk menentukan gambar yang ditampilkan ketika kontrol Option disable (properti Enabled = False), properti ini efektif jika setting properti Style adalah (1- Graphical)

DownPicture Digunakan untuk menentukan gambar yang ditampilkan ketika kontrol Option dipilih (properti Value = True), properti ini efektif jika setting properti Style adalah (1- Graphical)

DragIcon sdaDragMode sdaEnabled sdaFont sda

30

Page 34: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

ForeColor sdaHeight sdaIndex sdaLeft Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

MaskColor Digunakan untuk warna pada bitmap yang akan dijadikan transparan, properti ini efektif jika picture yang masukkan adalah (*.bmp), dan setting properti UseMaskColor adalah True

MouseIcon sdaMousePointer sda

Picture Digunakan untuk menentukan gambar yang digunakan, properti ini efektif jika setting properti Style adalah (1 - Graphical)

Style Digunakan untuk menentukan jenis style pada kontrol option (0 - Standard, 1 - Graphical)TabIndex sdaTabStop sdaTag sdaToolTipText sdaTop sdaUseMaskColor Digunakan akan warna yang ditentukan pada MaskColor efektif atau tidak (False, True)Value Adalah nilai kontrol option button (True - terpilih, False - tidak terpilih)Visible Digunakan untuk menentukan apakah kontrol Visibel atau tidak.Width sda

Adapun event-event yang efektif pada kontrol option adalah :

Event Keterangan

Click sda, pada option event ini juga dibangkitkan ketika kontrol menerima fokus, maupun ketika pemakai menekan space pada kontrol bersangkutan.

DblClick sdaGotFocus sdaKeyDown sdaKeyPress sdaKeyUp sdaLostFocus sdaMouseDown sdaMouseMove sdaMouseUp sdaValidate sda

Adapun metoda yang efektif pada kontrol Option adalah :

Metoda KeteranganMove SdaRefresh sdaSetfocus sda, pada kontrol option, metoda ini akan membangkitkan event Click.Zorder sda

d) Check Digunakan untuk menampilkan beberapa pilihan yang dapat dipilih lebih dari satu. Properti kontrol Check,

maupun event dapat dilihat pada properti Option

e) Frame Digunakan untuk mengelompokan sekelompok kontrol. Pemakaian kontrol frame yang paling nyata adalah

untuk mengelompokan sejumlah option, sebagaimana kita ketahui, pada suatu form, hanya 1 option yang dapat dipilih

setiap saat, hal ini dapat diatasi dengan pemakaian frame, sehingga option dapat dipilih sesuai dengan konteks yang

diwakili.

Properti FungsiAppearance sdaBackColor sdaBorderStyle sda

31

Page 35: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Caption sdaCauseValidation sdaDragIcon sdaDragMode sdaEnabled sdaFont sdaForeColor sdaHeight sdaIndex sdaLeft Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.MouseIcon sdaMousePointer sdaTabIndex sdaTag sdaToolTipText sdaTop sda

Visible Digunakan untuk menentukan apakah kontrol Visibel atau tidak, jika Visible false, maka semua kontrol yang berada diatasnya menjadi tidak kelihatan.

Width sdaAdapun event-event yang efektif pada kontrol frame adalah :

Event KeteranganClick SdaDblClick sdaMouseDown sdaMouseMove sdaMouseUp sda

Adapun metoda yang efektif pada kontrol Frame adalah :

Metoda KeteranganMove sdaRefresh sdaZorder sda

f) CommandButton Digunakan untuk mendapatkan konfirmasi pemakai untuk pelaksanaan fungsi tertentu.

Properti FungsiAlignment SdaAppearance sdaBackColor sda

CancelDigunakan untuk menentukan apakah command button merupakan perintah Cancel untuk form tersebut , jika properti ini True, maka ketika pemakai menekan ESC, akan membangkitkan event Click untuk kontrol tersebut.

Caption sdaCauseValidation sda

DefaultDigunakan untuk menentukan apakan command button merupakan Default command untuk form tersebut, jika properti ini True, maka ketika pemakai menekan Enter, akan membangkitkan event Click untuk kontrol tersebut.

DragIcon sdaDragMode sdaEnabled sdaFont sdaForeColor sdaHeight sdaIndex sdaLeft Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

MaskColor Digunakan untuk warna pada bitmap yang akan dijadikan transparan, properti ini efektif jika picture yang masukkan adalah (*.bmp), dan setting properti UseMaskColor adalah True

MouseIcon sda

32

Page 36: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

MousePointer sdaPicture sdaStyle sdaTabIndex sdaTabStop sdaTag sdaToolTipText sdaTop sdaUseMaskColor sdaVisible Digunakan untuk menentukan apakah kontrol Visibel atau tidak.Width sda

Adapun event-event yang efektif pada kontrol commandbutton adalah :

Event Keterangan

Click sda, pada commandbutton, event ini juga dibangkitkan ketika pemakai menekan space pada kontrol tersebut.

GotFocus sdaKeyDown sdaKeyPress sdaKeyUp sdaLostFocus sdaMouseDown sdaMouseMove sdaMouseUp sda

Adapun metoda yang efektif pada kontrol CommandButton adalah :

Metoda KeteranganMove sdaRefresh sdaSetfocus SdaZorder Sda

33

Page 37: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

g) ListBox

Digunakan untuk menampilkan daftar pilihan yang dapat bergeser. Suatu listbox digunakan jika jumlah pilihan cukup banyak, sehingga menjadi tidak efektif kalau menggunakan Option maupun Check.

Properti FungsiAppearance Digunakan untuk menentukan tampilan dari kontrol (0 - Flat, 1 - 3D)BackColor Digunakan untuk menentukan warna latar belakang.

CauseValidation Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True)

Column

Digunakan untuk menentukan apakah daftar pilihan dalam listbox ditampilkan 1 kolom vertikal kebawah (0), atau kebawah dan menyamping sesuai dengan jumlah kolom yang ditentukan jika daftar pilihan cukup panjang.

DragIcon Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol labelDragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)

Enabled Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll.

Font Digunakan untuk menentukan jenis font, ukuran, style, dllForeColor Digunakan untuk menentukan warna tulisanHeight Digunakan untuk menentukan tinggi dari kontrolIndex Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.

IntegralHeight

Digunakan untuk menentukan tinggi dari kontrol (Height) sedemikian rupa sehingga tidak ada item yang ditampilkan sebagian ( False, True)

ItemData Adalah daftar ya ng dapat digunakan untuk menyimpan nilai numerik yang berkaitan dengan item-item yang terdapat dalam listbox. Berkoresponden satu-satu.

Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

List Merupakan properti yang berisi pilihan dalam Listbox, untuk mengetik itemnya anda harus menggunakan Ctrl-Enter untuk memasukki item yang berikutnya.

MouseIcon Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)

MousePointer Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.

MultiSelect

Digunakan untuk menentukan apakah item dalam listbox dapat dipilih lebih dari satu atau tidak (0 - None, 1 - Simple, 2 - Extended) Perbedaan antara 1 - Simple dengan 2 - Extended, adalah pada Simple pemilihan beberapa item sekaligus tidak dapat menggunakan bantuan Shift.

Sorted Digunakan untuk menentukan apakah item dalam listbox otomatis diurut berdasarkan aphabetik atau tidak (False, True)

StyleDigunakan untuk menentukan bentuk tampilan item yang digunakan (0 - Standard, 1 - Checkbox)

TabIndex Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True

TabStop Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False, True)

Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut

ToolTipText Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrolTop Digunakan untuk menentukan jarak atas kontrol dari kontainernya.Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True)Width Digunakan untuk menentukan lebar kontrol label

34

Page 38: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Menentukan isi ListBox

Untuk menentukan isi listbox anda dapat mengetikkannya pada waktu design dengan mengisinya di properti List.

Misalnya daftar pilihan yang diinginkan adalah Satu, Dua, Tiga ..., Lima, maka :

klik pada properti List,

ketikkan Satu, tekan Ctrl-Enter

ketikkan Dua, tekan Ctrl-Enter

dst

Cara lain adalah dengan menggunakan metoda AddItem(string, index) pada Event Load pada Form, dimana string

adalah item yang ingin ditambahkan ke ListBox, sedangkan index adalah posisi dimana item akan disisip, defaultnya

adalah posisi terakhir. Contoh :

Private Sub Form_Load() LstAngka.AddItem("Satu")

LstAngka.AddItem("Dua")

LstAngka.AddItem("Tiga")

LstAngka.AddItem("Empat")

LstAngka.AddItem("Lima")

End SubMendapatkan jumlah item dalam Listbox

Untuk mendapatkan jumlah item dalam Listbox anda dapat menggunakan properti ListCount.

Menggambil item yang dipilih oleh pemakai

Pada Listbox jenis Multiselect = False, maka item yang dapat dipilih oleh pemakai hanya satu, sehingga hal

tersebut efektif diambil dengan menggunakan properti Text dari Listbox. Contoh berikut akan menampilkan item yang

diklik oleh pemakai.

Private Sub LstAngka_Click() MsgBox LstAngka.Text

End Sub

Jika pada Listbox dengan Multiselect = True, maka pekerjaan menjadi sedikit lebih rumit, dimana kita perlu

memeriksa item pada listbox satu persatu untuk memeriksa apakah item tersebut dalam keadaan terpilih (diperiksa

dengan properti selected(index) atau tidak. Contoh berikut akan menampilkan kotak pesan yang berisi item-item yang

terpilih.

Private Sub cmdPeriksa_Click() For i = 0 To LstAngka.ListCount - 1

If LstAngka.Selected(i) Then 'Jika True artinya terpilih

MsgBox LstAngka.List(i) 'Tampilkan item tersebut dari List

End If

Next i

35

Page 39: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

End Sub

Sesuatu hal yang perlu diingat bahwa nomor index item pada Listbox dimulai dari 0 s/d ListCount - 1

Mendapatkan nomor posisi item yang sedang difokus

Untuk mendapatkan posisi item yang sedang difokus pada Listbox dapat digunakan properti ListIndex

Menghapus Item pada Listbox

Untuk menghapus item pada Listbox, anda dapat menggunakan metoda RemoveItem(index), dimana index

adalah nomor index yang akan dihapus.

Contoh : Untuk memindahkan item yang terpilih pada ListBox kiri ke listbox kanan, dimana setting properti

pada Listbox kiri Multiselect = False.

Contoh program yang menggunakan ListIndex dan RemoveItem

Private Sub cmdPindah_Click() If LstAngka.ListIndex > -1 Then

LstPindah.AddItem (LstAngka.List(LstAngka.ListIndex))

LstAngka.RemoveItem (LstAngka.ListIndex)

End If

End Sub

Pada Listbox yang MultiSelect = False, properti ListIndex menunjukkan nomor index (mulai dari 0) item yang sedang

terpilih, dan jika tidak ada yang terpilih nilainya -1.

Mengosongkan isi seluruh Listbox

Untuk mengosongkan isi seluruh Listbox, anda dapat menggunakan Metoda Clear.

Adapun event-event yang efektif pada Listbox adalah sebagai berikut :Event Keterangan

Click Event ini terjadi ketika pemakai melakukan klik pada kontrol, event ini terjadi dengan urutan (MouseDown, MouseUp, Click)

DblClick Event ini terjadi ketika pemakai melakukan double klik pada kontrol, event ini terjadi dengan urutan (MouseDown, MouseUp, Click, MouseDown, DblClick, MouseUp)

GotFocus Event ini terjadi ketika kontrol mendapatkan fokus

ItemCheck Event ini terjadi ketika pemakai melakukan klik untuk menandai checkbox pada item Listbox, Event ini efektif pada ListBox yang Style = Checkbox

KeyDown Event ini terjadi ketika pemakai mengetik karakter pada kontrol

KeyPressEvent ini terjadi setelah event KeyDown ketika pemakai mengetik karakter pada kontrol, parameter yang dapat digunakan adalah KeyAscii. Anda dapat memanipulasi tombol yang diketik dengan melakukan perubahan pada nilai KeyAscii.

KeyUp Event ini terjadi setelah event KeyPress ketika pemakai mengetik karakter pada kontrol dengan urutan (KeyDown, KeyPress, KeyUp, Change)

LostFocus Event ini terjadi ketika kontrol kehilangan fokus

MouseDownEvent ini terjadi ketika pemakai melakukan penekanan tombol mouse pada kontrol, parameter yang dapat digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 - Alt), X (posisi kolom pointer), Y (posisi baris pointer)

MouseMove Event ini terjadi ketika pamakai mengerakan mouse pada kontrol, parameter yang dapat digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 - Alt), X (posisi kolom

36

Page 40: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

pointer), Y (posisi baris pointer)

MouseUpEvent ini terjadi ketika pemakai melepaskan penekanan tombol mouse pada kontrol, parameter yang dapat digunakan adalah Button (1 - Tombol kiri, 2 - Tombol kanan), Shift (1 - Shift, 2 - Ctrl, 3 - Alt), X (posisi kolom pointer), Y (posisi baris pointer)

Scroll Event ini terjadi ketika Listbox mengalami scroll.Validate Event ini terjadi ketika kontrol akan kehilangan fokus.

h) Combo Box

Jika dibandingkan dengan Listbox, maka ComboBox lebih menghemat pemakaian tempat pada form, dimana hasil pilihan pemakai ditempilkan dalam suatu textbox, dimana pilihan-pilihan dapat di drop-down dalam bentuk listbox. Pada Combobox pemakai juga dapat mengetik langsung pilihannya, tetapi hal ini sangat bergantung pada Style yang digunakan. Jika pada Listbox dimungkinkan pemakai melakukan MultiSelect, tetapi pada Combobox hal tersebut tidak dapat dilakukan.

Properti FungsiBackColor SdaCauseValidation SdaDragIcon SdaDragMode SdaEnabled SdaFont SdaForeColor SdaHeight SdaIndex SdaIntegralHeight SdaItemData SdaLeft SdaLocked SdaMouseIcon SdaMousePointer SdaSorted Sda

Style

Digunakan untuk menentukan bentuk tampilan combo yang digunakan (0 - Dropdown Combo, 1 - Simple Combo, 2 - Dropdown List), pada Dropdown Combo, pemakai diperbolehkan mengetik tulisan yang tidak ada di list, pada Simple Combo, pemakai boleh mengetik atau memilih dengan tombol keatas atau kebawah dan daftar tidak bisa terbuka, pada Dropdown List, tulisan hanya dapat dipilih dari daftar.

TabIndex SdaTabStop SdaTag SdaText SdaToolTipText SdaTop SdaVisible SdaWidth Sda

Untuk pengolahan ComboBox tidak jauh berbeda dengan Listbox, untuk itu perhatikan kembali contoh-contoh

pengolahan Listbox diatas dengan sedikit perbedaan karakteristik antara Listbox dan ComboBox.

37

Page 41: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Adapun event-event yang efektif pada ComboBox adalah sebagai berikut

Event KeteranganClick SdaDblClick SdaGotFocus SdaKeyDown SdaKeyPress SdaKeyUp SdaLostFocus SdaMouseDown SdaMouseMove SdaMouseUp SdaValidate Sda

38

Page 42: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

i) Image

Digunakan untuk menampilkan gambar dalam format bitmaps (BMP), device independent bitmaps (DIB), metafiles (WMF), enhanced metafiles (EMF), GIF dan JPEG compressed files, dan icons (ICO dan CUR).

Properti Fungsi

BorderStyle

Digunakan untuk menentukan jenis border yang digunakan (0 - None, 1 - Fixed Single)

DragIcon Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol labelDragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)

Enabled Menentukan apakah kontrol dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll.

Height Digunakan untuk menentukan tinggi dari kontrolIndex Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

MouseIcon Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)

MousePointer Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.

Stretch

Digunakan untuk menentukan apakah gambar disesuaikan dengan ukuran kontrol (gambar dapat menggalami pengecilan maupun pembesaran)

Picture Digunakan untuk menentukan gambar dalam image, atau mengambil gambar dalam image.

39

Page 43: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol picture tersebut

ToolTipText Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrolTop Digunakan untuk menentukan jarak atas kontrol dari kontainernya.Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True)Width Digunakan untuk menentukan lebar kontrol label

Menampilkan gambar kedalam kontrol image

Pada saat design anda dapat mengisikan gambar kedalam image box dengan menggunakan properti Picture,

sedangkan pada runtime anda dapat menggunakan fungsi LoadPicture(namafile) untuk memuat gambar ke properti

Picture dari kontrol image, contoh :

MyImage.Picture = LoadPicture("C:\Grafik\Indoprog.gif")

Catatan : Fungsi LoadPicture(namafile) digunakan untuk memuat file grafik dengan format grafik bitmap (.bmp), icon

(.ico), run-length encoded (.rle), metafile (.wmf), enhanced metafiles (.emf), GIF, JPEG (.jpg).

Mengambil gambar dari Clipboard ke kontrol image

Anda dapat menggunakan metoda GetData(option) dari object Clipboard untuk mengambil isi Clipboard ke suatu

kontrol image, contoh :

MyImage.Picture = Clipboard.GetData

Catatan : Metoda GetData Mengembalikan suatu grafik dari objek Clipboard, format adalah suatu konstanta optional

yang menentukan format grafik. Jika format adalah 0 (nol) atau diabaikan, GetData secara otomatis.

argumen format Optional. Suatu konstanta atau nilai yang menunjukkan format grafik pada clipboard, Jika format 0 (nol) atau diabaikan, GetData otomatis menggunakan format yang sesuai. Adapun nilai konstanta untuk argumen format Optional adalah sebagai berikut :Konstanta Nilai KeteranganvbCFBitmap 2 Bitmap (.bmp)vbCFMetafile 3 Metafile (.wmf)vbCFDIB 8 Device-independent bitmap (DIB)vbCFPalette 9 Color palette

Mengosongkan kontrol image

Untuk mengosongkan kontrol image pada saat runtime, anda dapat menggunakan fungsi LoadPicture, tanpa menggunakan argumen nama file,

contoh : MyImage.Picture = LoadPicture

Catatan :Anda dapat juga menggunakan fungsi LoadPicture tanpa argumen untuk memeriksa apakah kontrol image

dalam keadaan kosong atau tidak.

40

Page 44: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

If MyImage.Picture = LoadPicture Then

MsgBox "Gambar harus diisi"

Endif

Menyimpan gambar dalam kontrol image ke file

Anda dapat menggunakan perintah SavePicture gambar, namafile untuk menyimpan gambar kedalam file dengan

format BMP, contoh :

SavePicture MyImage.Picture, "C:\Grafik\Indoprog.bmp"

Catatan : Perintah SavePicture akan selalu menyimpan gambar ke format bitmap (.bmp), tanpa memperhatikan format

sumber gambar.

j) PictureBox

Kalau image digunakan untuk menampilkan gambar, demikian juga picturebox. Selain menampilkan gambar picture

box mendukung berbagai metoda untuk operasi grafik, dan dapat berfungsi sebagai kontainer bagi kontrol-kontrol lain.

Contoh :

Dihasilkan oleh pemakaian metoda Line, dan Pset pada PictureBox

Private Sub cmdGrafik_Click()MyPicture.ScaleMode = 0

MyPicture.ScaleWidth = 360

MyPicture.ScaleHeight = 2

MyPicture.ScaleLeft = 0

MyPicture.ScaleTop = -1

MyPicture.Line (0, 0)-(360, 0)

For i = 0 To 360

MyPicture.PSet (i, -Sin(i * 3.14 / 180))

MyPicture.PSet (i, -Cos(i * 3.14 / 180))

41

Page 45: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Next i

End Sub

Berikut ini adalah picturebox sebagai kontainer.

Properti Fungsi

Align Digunakan untuk menentukan bagaimana pemerataan objek pada form (0 - None, 1 - Align Top, 2 - Align Bottom, 3 - Align Left, 4 - Align Right)

Appearance sda

BackColorDigunakan untuk menentukan warna latar belakang.

AutoRedraw Digunakan untuk menentukan apakah grafik yang dihasilkan dengan metoda pengambaran (Line, Circle, PSet) akan dijadikan sebagai bitmap yang tetap.

AutoSize Digunakan untuk menentukan apakah ukuran kontrol otomatis disesuaikan dengan ukuran objek picture.BorderStyle sda

CauseValidation Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True)

ClipControl Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol labelDragIcon Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol labelDragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)

DrawModeMenentukan jenis modus yang digunakan pada saat pengambaran grafik dalam picture dimana merupakan interaksi antara warna latar belakang dengan warna garis sehingga menghasilkan warna baru.

DrawStyle Menentukan style garis yang digunakan dalam mengambar garis.DrawWidth Menentukan ukuran garis pengambaran

Enabled Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll.

FillColor Menentukan warna pengisian grafik

FillStyleMenentukan pola pengisian grafik

Font Digunakan untuk menentukan jenis font, ukuran, style, dllForeColor Digunakan untuk menentukan warna tulisan

42

Page 46: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Contoh :

Private Sub cmdGrafik_Click()MyPicture.ScaleMode = 0MyPicture.ScaleWidth = 360MyPicture.ScaleHeight = 2MyPicture.ScaleLeft = 0MyPicture.ScaleTop = -1MyPicture.ForeColor = vbBlack 'Set ForeColor jadi hitamMyPicture.Line (0, 0)-(360, 0) 'Garis hitamFor i = 0 To 360 MyPicture.ForeColor = vbRed MyPicture.PSet (i, -Sin(i * 3.14 / 180)) 'Titik Merah MyPicture.ForeColor = vbBlue MyPicture.PSet (i, -Cos(i * 3.14 / 180)) 'Titik BiruNext iEnd Sub

FontTransparant

Digunakan untuk menentukan apakah latar belakang tulisan transparant atau tidak. Private Sub MyCommand_Click()MyPicture.FontTransparent = TrueMyPicture.Print "Transparent"MyPicture.FontTransparent = FalseMyPicture.Print "Tidak Transparent"End Sub

Height Digunakan untuk menentukan tinggi dari kontrolIndex Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

MouseIcon Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)

MousePointer Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.

Picture Digunakan untuk menentukan gambar dalam picture box.

ScaleMode

Digunakan untuk menentukan unit skala yang digunakan (0 - User, 1 - Twip, 2 - Point, 3 - Pixel, 4 - Character, 5 - Inch, 6 - Milimeter, 7 - Centimeter)

1 inchi = 1440 Twip1 cm = 567 Twip

1 inchi = 72 point

1 character = (120 Twip untuk lebar, 240 untuk tinggi)

1 cm = 1000 unit (Himetric)

Anda dapat membuat modus skala sendiri dengan menset properti ini menjadi 0 - User, dan skala anda dapat ditentukan pada ScaleWidth dan ScaleHeight, perhatikan kembali contoh Grafik sinus sebelumnya.

ScaleLeft Digunakan untuk menentukan nilai koodinat horizontal paling kiri, anda dapat menggunakan properti ini untuk menentukan koordinat paling kiri dari suatu sumbu X.

ScaleTop Digunakan untuk menentukan nilai koodinat vertikal paling atas, anda dapat menggunakan properti ini

43

Page 47: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

untuk menentukan koordinat paling atas dari suatu sumbu Y.ScaleHeight Digunakan untuk menentukan tinggi sumbu vertikal. Menentukan panjang sumbu Y.ScaleWidth Digunakan untuk menentukan panjang sumbu horizontal. Menentukan panjang sumbu X.

Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol picture tersebut

ToolTipText Digunakan untuk menentukan tip tulisan ketika mouse pointer berada diatas kontrolTop Digunakan untuk menentukan jarak atas kontrol dari kontainernya.Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True)Width Digunakan untuk menentukan lebar picturebox

 Properti Fungsi

CurrentX Digunakan untuk mendapatkan/menentukan posisi X yang sedang aktif, digunakan untuk perintah Print CurrentY Digunakan untuk mendapatkan/menentukan posisi Y yang sedang aktif, digunakan untuk perintah Print

Pengolahan gambar dalam Picturebox dapat dicontoh dari contoh pada Image diatas.

Metoda Grafik pada Picturebox

Salah satu perbedaan antara Image dengan Picturebox adalah tersedianya berbagai metoda pengambaran grafik pada Picturebox, antara lain :

Metoda Keterangan

Circle(x,y),r,warna,awal,akhir,AspekMengambarkan sebuah lingkaran dengan berpusat pada koordinat x,y dan jari-jari r dengan warna garis, mulai dari sudut awal, sampai sudut akhir yang dinyatakan dalam radian), serta aspek perbandingkan tinggi dengan lebar.

Cls Membersihkan Picturebox dengan warna BackColorLine (x1,y1) - (x2, y2),warna Mengambarkan garis tunggal dari koordinat x1,y1 sampai dengan x2,y2Line (x1,y1) - (x2, y2),warna,B Mengambarkan kotak dari koordinat x1,y1 sampai dengan x2,y2Line (x1,y1) - (x2, y2),warna,BF Mengambarkan kotak berisi dari koordinat x1,y1 sampai dengan x2,y2

PSet (x,y) Mencetak dot (titik) pada koordinat tertentu pada Form, Picturebox, dan Printer, pada koordinat yang ditentukan

PSet Step (x,y) Mencetak dot (titik) pada koordinat relatif terhadap posisi dot sebelunnya.

Point(x,y)

Mendapatkan warna dot (titik) tertentu pada layar

Contoh :

Color& = MyPicture.Point(100,200)

Refresh Menyebabkan kontrol picture dan bitmap tetapnya digambar ulang.

Event Paint Pada PictureBox

Event Paint akan diaktifkan ketika PictureBox mengalami pengambaran. Anda dapat menggunakan event ini untuk

menjalankan fungsi-fungsi tertentu ketika PictureBox digambar.

Metoda PaintPicture Pada PictureBox

Metoda PaintPicture merupakan metoda yang sangat bermanfaat untuk melakukan operasi seperti pembesaran,

pengecilan, duplikasi sebagian gambar berdasarkan koordinat tertentu. Adapun sintax penulisannya adalah sebagai

berikut :

PictureboxTujuan.PaintPicture PictureboxAsal, posisiXtujuan, posisiYtujuan, [lebarTujuan], _

[tinggiTujuan], [koordinatXAsal], [KoordinatYAsal], [lebarAsal], [tinggiAsal]

44

Page 48: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Private Sub cmdCopy_Click()

Tujuan.PaintPicture MyPicture.Image, _

0, 0, Tujuan.Width, Tujuan.Height, _

0, 0, MyPicture.Width, MyPicture.Height

End Sub

Menyimpan Grafik dalam Picturebox ke file

Untuk meyimpan ataupun mengambil grafik yang terdapat dalam suatu picturebox, baik yang di muat dari suatu file

gambar, maupun yang dibuat dengan menggunakan metoda pengambaran, Anda dapat menggunakan properti image.

Contoh :

SavePicture MyPicture.Image, "C:\Grafik.bmp"

k) HScrollBar dan VScrollBarHorizontal ScrollBar dan Vertical ScrollBar digunakan untuk memungkinkan pemakai melakukan pemasukkan

data secara analog, dengan melakukan pengeseran ataupun penekanan tombol (kiri, kanan, atas, bawah). Anda dapat

membayangkan Scrollbar sebagai pengatur Volume pada Radio.

Properti Fungsi

CauseValidation Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True)

DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic) DragIcon Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol.

Enabled Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll.

Height Digunakan untuk menentukan tinggi dari kontrol Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.

LargeChangeDigunakan untuk menentukan besar perubahan Value ketika pemakai melakukan klik di antara tanda Arah dan Bar, atau ketika pemakai melakukan penekanan tombol PgUp dan PgDn pada saat aktif di ScrollBar.

Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya. Max Digunakan untuk menentukan nilai Maksimal dari kontrol ScrollBar, ketika Bar rapat ke kanan atau

ketika pemakai melakukan penekanan tombol End pada saat aktif di ScrollBar.

45

Page 49: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Min

Digunakan untuk menentukan nilai Minimal dari kontrol ScrollBar, ketika Bar rapat ke kiri atau ketika pemakai melakukan penekanan tombol Home pada saat aktif di ScrollBar.

MouseIcon Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)

MousePointer Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.

SmallChange Digunakan untuk menentukan besar perubahan Value ketika pemakai melakukan klik pada tanda Arah, atau ketika pemakai melakukan penekanan tombol panah kiri dan kanan pada saat aktif di ScrollBar.

TabIndex Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True

TabStop Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False, True)

Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut

Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya. Value Digunakan untuk mendapatkan / menentukan nilai dari ScrollBar Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True) Width Digunakan untuk menentukan lebar kontrol.

Event Pada ScrollBar

Pada ScrollBar ada dua event yang perlu diperhatikan, yaitu Event Change dan Event Scroll, dimana :

Event ChangeAkan dibangkitkan ketika terjadi perubahan Value pada ScrollBar, tetapi event ini tidak dibangkitkan ketika

pemakai masih melakukan pengeseran terhadap Bar, kecuali kalau pemakai telah melepaskan tombol kiri Mouse.

Contoh :

Private Sub VScroll_Change()ImgGambar.Top = -VScroll.Value 'Berlawanan arah

End Sub

Private Sub HScroll_Change()ImgGambar.Left = -HScroll.Value 'Berlawanan arah

End Sub

Event ScrollAkan dibangkitkan ketika pemakai melakukan pergeseran terhadap Bar dengan menggunakan drag pada

tombol kiri mouse, jadi Event Scroll akan terjadi ketika pemakai melakukan pergeseran dengan menekan tombol kiri

mouse, dan diakhiri dengan Event Change ketika pemakai melepas penekenan tombol mouse.

46

Page 50: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Jadi anda harus memanfaatkan kedua event tersebut untuk mendapatkan hasil yang baik dari pemakaian ScrollBar.

l) Line dan ShapeProperti Fungsi

BackColor

Menentukan warna latarbelakang dari suatu Shape. Properti ini efektif jika setting Backstyle dari Shape adalah (1 - Opaque)

BackStyle Menentukan jenis latarbelakang dari suatu Shape, apakah (0 - Transparent, 1 - Opaque)

BorderColor

Menentukan warna bingkai dari suatu Shape. Properti ini efektif jika setting BorderStyle bukan (0 - Transparent)

BorderStyle

Menentukan jenis garis border yang digunakan. (0 - Transparent, 1 - Solid, 2 - Dash, 3 - Dot, 4 - Dash Dot, 5 - Dash Dot Dot, dst)

BorderWidth

Menentukan ukuran ketebalan garis border.

DrawMode

Menentukan jenis Drawmode yang digunakan. defaultnya adalah (13 - Copy pen)

FillColor

Menentukan warna yang digunakan untuk menggambarkan pola isinya yang ditentukan pada properti FillStyle.

47

Page 51: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

FillStyle Menentukan jenis arsiran yang digunakan untuk isian kontrol Shape. Lihat gambar pada properti FillColor.

Height Digunakan untuk menentukan tinggi dari kontrol Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array. Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

Shape Digunakan untuk menentukan bentuk Shape (0 - Rectangle, 1 - Square, 2 - Oval, 3 - Circle, 4 - Rounded Rectangle, 5 - Rounded Square)

Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut

Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya. Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True) Width Digunakan untuk menentukan lebar kontrol.

m) TimerProperti Fungsi

Enabled Menentukan apakah kontrol dapat efektif terhadap Event Timer.

Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array.

Interval Menentukan nilai interval dalam mili detik (1/1000) antar pemanggilan Event Timer.

Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut

Event Timer

Event Timer adalah event yang dibangkitkan oleh kontrol timer berdasarkan interval waktu yang telah ditentukan.

Contoh :

Private Sub Timer_Timer()Call AturJarum

End Sub

n) DriveListBoxDriveListBox dapat digunakan untuk menampilkan drive yang terdapat pada sistem komputer

Properti FungsiBackColor Digunakan untuk menentukan warna latarbelakang kontrol

CauseValidation Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True)

DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic)

48

Page 52: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

DragIcon Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol label

Enabled Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll.

Font Digunakan untuk menentukan Font, Size, dan Style huruf yang digunakan pada kontrol DriveListBox

ForeColor Digunakan untuk menentukan warna tulisan yang digunakan pada kontrol DriveListBox Height Digunakan untuk menentukan tinggi dari kontrol Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array. Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

MouseIconDigunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)

MousePointer Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.

TabIndex Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True

TabStop Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False, True)

Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut

Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya. Value Digunakan untuk mendapatkan / menentukan nilai dari ScrollBar Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True) Width Digunakan untuk menentukan lebar kontrol.

Mendapatkan Drive yang aktif di DriveListBoxUntuk mendapatkan drive yang aktif di DriveListBox, anda dapat menggunakan properti Drive.

o) DirListBoxDirListBox dapat digunakan untuk menampilkan folder-folder yang terdapat didrive yang aktif.

Properti FungsiAppearance Digunakan untuk menentukan penampilan dari kontrol (0 - Flat, 1 - 3D) BackColor Digunakan untuk menentukan warna latarbelakang kontrol

CauseValidation Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True)

DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic) DragIcon Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol label Enabled Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event

49

Page 53: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Click, MouseDown, MouseUp, dll. Font Digunakan untuk menentukan Font, Size, dan Style huruf yang digunakan pada kontrol. ForeColor Digunakan untuk menentukan warna tulisan yang digunakan pada kontrol. Height Digunakan untuk menentukan tinggi dari kontrol Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array. Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

MouseIcon Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)

MousePointer Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.

TabIndex Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True

TabStop Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False, True)

Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut

Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya. Value Digunakan untuk mendapatkan / menentukan nilai dari ScrollBar Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True) Width Digunakan untuk menentukan lebar kontrol.

Mendapatkan Path yang aktif pada DirListBoxUntuk mendapatkan Path yang sedang aktif pada DirListBox, anda dapat menggunakan properti Path.

p) FileListBoxDirListBox dapat digunakan untuk menampilkan file-file yang terdapat pada folder yang sedang aktif.

Properti FungsiAppearance Digunakan untuk menentukan penampilan dari kontrol (0 - Flat, 1 - 3D)

Archive Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut Archive atau tidak.

BackColor Digunakan untuk menentukan warna latarbelakang kontrol

CauseValidation Digunakan untuk menentukan apakan event Validate di aktifkan ketika kontrol akan kehilangan fokus (False, True)

DragMode Menentukan modus drag-n-drop (0 - manual, 1 - automatic) DragIcon Digunakan untuk menentukan icon yang digunakan pada operasi drag-n-drop pada kontrol label

Enabled Menentukan apakah kontrol label dapat menerima event yang dibuat oleh pemakai, misalnya event Click, MouseDown, MouseUp, dll.

Font Digunakan untuk menentukan Font, Size, dan Style huruf yang digunakan pada kontroi. ForeColor Digunakan untuk menentukan warna tulisan yang digunakan pada kontrol.

Hidden Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut Hidden atau tidak.

50

Page 54: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Height Digunakan untuk menentukan tinggi dari kontrol Index Digunakan untuk menentukan nomor index, jika kontrol tersebut merupakan kontrol array. Left Digunakan untuk menentukan jarak kiri kontrol dari kontainernya.

Normal Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut Normal atau tidak.

MouseIcon Digunakan untuk menentukan icon mouse yang digunakan ketika pointer mouse berada diatas kontrol label tersebut, properti ini berarti bila properti MousePointer diset menjadi (99 - Custom)

MousePointer Digunakan untuk menentukan bentuk pointer yang digunakan ketika mouse pointer berada diatas kontrol label tersebut.

MultiSelectDigunakan untuk menentukan apakah item dalam listbox dapat dipilih lebih dari satu atau tidak (0 - None, 1 - Simple, 2 - Extended) Perbedaan antara 1 - Simple dengan 2 - Extended, adalah pada Simple pemilihan beberapa item sekaligus tidak dapat menggunakan bantuan Shift.

Pattern Digunakan untuk menentukan pola wildcard yang digunakan untuk membatasi file yang akan ditampilkan dalam kontrol (*.* semua file, *.bmp, ?A*.jpg)

ReadOnly Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut ReadOnly atau tidak.

System Digunakan untuk menentukan apakah FileListBox dapat menampilkan file dengan atribut System atau tidak.

TabIndex Digunakan untuk menentukan urutan tabindex, 0 adalah kontrol yang pertama mendapat fokus jika form dijalankan. Properti ini efektif jika setting properti TabStop adalah True

TabStop Digunakan untuk menentukan apakah textbox dapat menerima fokus karena penekanan tombol TAB oleh pemakai (False, True)

Tag Properti ini dapat digunakan sebagai tempat menyimpan data sementara yang berkaitan dengan kontrol label tersebut

Top Digunakan untuk menentukan jarak atas kontrol dari kontainernya. Value Digunakan untuk mendapatkan / menentukan nilai dari ScrollBar Visible Digunakan untuk menentukan apakah kontrol label tersebut Visible atau tidak (False, True) Width Digunakan untuk menentukan lebar kontrol.

Membatasi file pada FileListBoxUntuk membatasi file berdasarkan nama file, anda dapat menggunakan properti Pattern, misalnya kalau file

yang ingin ditampilkan hanya berupa file bitmap, maka kita dapat menggunakan (*.bmp), kalau file yang ingin

ditampilkan berupa file grafik kita dapat menggunakan (*.bmp;*.jpg;*.gif;*.wmf;*.ico)

Untuk membatasi file berdasarkan attributnya, anda dapat menggunakan properti Archive, Hidden, Normal,

ReadOnly dan System, dengan menentukan masing-masing menjadi True atau False.

Contoh :MyFile.System = False

Menghubungkan DriveListBox, DirListBox, dan FileListBoxMisalnya kita memiliki tiga buah kontrol yaitu DriveListBox, DirListBox, dan FileListBox dimana perubahan

pada DriveListBox akan menyebabkan preubahan tampilan pada DirListBox, dan FileListBox.

51

Page 55: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Maka Koding yang dapat dilakukan adalah sebagai berikut :Private Sub MyDrive_Change()

MyDir.Path = MyDrive.DriveEnd Sub

Private Sub MyDir_Change()MyFile.Path = MyDir.Path

End Sub

52

Page 56: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Bab IVFungsi Bantu pada Visual Basic dan Visual Basic Aplication

4.1. Visual Basic Application

a) Deklarasi Konstanta Anda sering menjumpai suatu code yang mengandung nilai yang berulang-ulang dimunculkan, atau anda

menemukan bahwa angka tersebut susah diingat. Dalam hal ini anda dapat membuat code anda menjadi lebih mudah

dibaca-lebih mudah ditangani-dengan menggunakan suatu konstanta. Suatu konstanta adalah nama yang menyimpan

dari suatu nilai yang tidak dapat berubah. Ada dua sumber dari suatu konstanta :

Intrinsic atau System-defined konstanta yang disediakan oleh suatu aplikasi atau control. Konstanta Visual

Basic terdaftar pada Visual Basic (VB), Visual Basic for Application (VBA), dan Data Access (DAO).

ymbolic atau User-defined konstanta adalah dideklarasikan dengan menggunakan statement Const.

Membuat Konstanta Anda Sendiri

Syntax untuk deklarasi konstanta adalah :

[Public|Private] Const constantname [As type] = expression Contoh :

Const Pi = 3.12159265358979

Public Const Planet As Integer= 9

Const ReleaseDate = #7/1/95#

Scope dari suatu user-defined konstanta

Membuat suatu konstanta yang mana hanya ada dalam suatu procedure, deklarasikan dia dalam procedure

tersebut

Membuat suatu konstanta berlaku pada semua procedure dalam suatu module, deklarasikan dia pada

bagian deklarasi di module tersebut

Membuat suatu konstanta berlaku pada semua aplikasi, deklarasikan dia dengan keyword Public sebelum

kata Const.

b) Struktur PerulanganStruktur loop memperbolehkan anda untuk melaksanakan sekelompok baris lebih dari satu kali :

Do...LoopGunakan Do loop untuk mengeksekusi suatu blok statement dengan jumlah perulangan yang tak terhingga,

ada beberapa Do...Loop statement, tetapi masing-masing mengevaluasi suatu kondisi untuk menentukan apakah

melanjutkan eksekusi

Berikut ini adalah statement Do…Loop, yang dijalankan selama kondisi benar :

Do While condition

53

Page 57: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

statements

Loop

Ketika Visual menjalankan Do loop ini, pertama kali akan di coba kondisinya, jika kondisi False (zero), akan

diloncati semua statements yang mengikuti kondisi tersebut. Visual Basic akan menjalankan statements jika kondisi

benar dan kembali ke Do…Loop berikutnya.

Function Faktorial (x)Dim Hasil As Double

Dim Count As Long

Hasil = 1

count = 2

Do While Count <= x

Hasil = Hasil * count

count = count + 1

Loop

Faktorial = count

End Function Variasi lain dari statement Do…Loop, yang menjamin minimal satu kali statement dijalankan :

Do

statements

Loop While condition

Dua variasi yang analog dengan dua contoh sebelumnya adalah perulangan minimal satu kali. Dan berikut ini

adalah berulang atau tidak sama sekali :

Do Until condition

statements

Loop

Do

statements

Loop Until condition

For...NextDo loops bekerja dengan baik, ketika anda tidak tahu berapa bayak kali untuk butuhkan untuk menjalankan

statement. Ketika anda mengetahui harus menjalankan statement sejumlah kali, bagaimanapun For…Next adalah

pilihan yang lebih baik. Tidak seperti Do Loop, For…loop menggunakan suatu variabel yang disebut counter yang

mana akan bertambah atau berkurang pada setiap perulangan. Syntaxnya adalah :

For counter = start To end [Step increment]

statements

Next [counter]

Argumen counter, start, end, dan increment semuanya adalah numerik

1. Dalam melakukan For loop, Visual Basic :

2. Menset nilai counter sama dengan start

54

Page 58: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

3. Mencoba apakah counter lebih besar dari end. Jika ya, Visual Basic meninggalkan looping tersebut.

4. Menjalankan statements tersebut.

5. Menaikkan counter dengan 1 atau dengan nilai step yang ditentukan

6. Mengulangi langkah 2 sampai 4 Code berikut akan mencetak semua item yang terdapat pada suatu daftar list.

Private Sub Form_Click ()Dim I As Integer

For i = 0 To List1.ListCount-1

Print List1.List(I)

Next

End Sub

c) Struktur Kendali NestedAnda dapat meletakkan suatu struktur kendali didalam struktur kendali lainnya, yang dikenal dengan istilah

nested. Struktur kendali pada Visual Basic dapat nested sebanyak level yang anda inginkan.

Meninggalkan suatu Struktur KendaliStatement Exit memperbolehkan anda untuk keluar langsung dari suatu For loop, Do Loop, syntax untuk

statement Exit adalah sederhana : Exit For dapat muncul sebanyak mungkin dalam suatu For. Loop, demikian juga

Exit Do untuk Do loop.

For counter = start To end [Step increment]

[statementblock]

[Exit For]

[statementblock]

Next [counter[, counter] [,...]]

Do [{While | Until} condition]

[statementblock]

[Exit Do]

[statementblock]

Loop

Statement Exit Do bekerja pada semua versi syntax Do loop.

Exit For dan Exit Do adalah kadang-kadang perlu untuk keluar dari suatu loop dengan segera. Tanpa melakukan

interaksi yang berikutnya.

4.2. Fungsi Bantu pada Visual Basic

a) Fungsi Bantu Konversi

IsNumeric(ekspresi)

55

Page 59: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Mengembalikan nilai boolean yang menunjukkan suatu ekspresi dapat dievaluasi sebagai numerik

IsEmpty(ekspresi)

Mengembalikan nilai boolean yang menunjukkan suatu variabel telah diinitialiasi, biasanya fungsi ini digunakan untuk

memeriksa variabel yang dideklarasikan sebagai Variant.

Contoh :

Dim A as Variant

If IsEmpty(A) Then

Msgbox "Variabel A Empty" 'Message akan muncul karena A belum terinisialisai

End If

A = 1If IsEmpty(A) Then Msgbox "Variabel A masih Empty" 'Tidak akan muncul lagi karena A telah 'terinisialisasi sebagai IntegerEnd IfDim B as Integer

If IsEmpty(B) Then

Msgbox "Variabel B Emtpy" 'Tidak akan muncul karena B adalah Integer

End If

IsNull(ekspresi)

Mengembalikan nilai boolean yang menunjukkan suatu ekspresi mengandung data yang tidak valid, biasanya

digunakan untuk memeriksa isi field recordset.

IsArray(varname)

Mengembalikan suatu nilai boolean yang menunjukan suatu variabel adalah suatu array.

IsDate(ekspresi)

Mengembalikan suatu nilai boolean yang menunjukan suatu ekspresi dapat dikonversi ke date.

IsError(ekspresi)

Mengembalikan suatu nilai boolean yang menunjukkan suatu ekspresi adalah nilai error

IsObject(ekspresi)

Mengembalikan suatu nilai boolean yang menunjukkan suatu ekspresi mengacu pada suatu OLE Automation object.

IsMissing(argname)

Mengembalikan suatu nilai boolean yang menunjukan suatu argumen optional pada procedure ada dilewatkan atau tidak

CBool(ekspresi)

Konversi suatu ekspresi ke boolean

Contoh :

56

Page 60: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

A = 5: B = 5 ' Inisialiasi variabelCheck = CBool(A = B) ' Check berisi nilai True

A = 0Check = CBool(A) ' Check berisi False.

CByte(ekspresi)

Konversi ekspresi ke Byte

Contoh :

MyDouble = 125.5678 ' MyDouble adalah suatu nilai DoubleMyByte = CByte(MyDouble) ' MyByte berisi 126.

CCur(ekspresi)

Konversi suatu ekspresi ke Currency

Contoh :

MyDouble = 543.214588 ' MyDouble adalah suatu nilai Double.

MyCurr = CCur(MyDouble * 2) ' Konversi hasil MyDouble * 2

' (1086.429176) menjadi suatu

' Currency (1086.4292).

CDate(date)

Konversi suatu ekspresi ke date

Contoh :

MyDate = "February 12, 1969" ' Definisi waktu dalam stringMyShortDate = CDate(MyDate) ' Konversi ke type data DateMyTime = "4:35:47 PM" ' Definisi waktu dalam stringMyShortTime = CDate(MyTime) ' Konversi ke type data Date

CDbl(ekspresi)

Konversi suatu ekspresi ke Double

Contoh :

MyCurr = CCur(234.456784) ' MyCurr adalah nilai Currency.MyDouble = CDbl(MyCurr * 8.2 * 0.01) ' Konversi hasil ke suatu Double.

CInt(ekspresi)

Konversi suatu ekspresi ke Integer

Contoh :

MyDouble = 2345.5678 ' MyDouble adalah nilai Double.MyInt = CInt(MyDouble) ' MyInt berisi nilai 2346.

CLng(ekspresi)

57

Page 61: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Konversi suatu ekspresi ke Long

Contoh :

MyVal1 = 25427.45: MyVal2 = 25427.55 ' MyVal1, MyVal2 adalah DoubleMyLong1 = CLng(MyVal1) ' MyLong1 berisi nilai 25427.MyLong2 = CLng(MyVal2) ' MyLong2 berisi nilai 25428.

CSng(ekspresi)

Konversi suatu ekspresi ke single

Contoh :

' MyDouble1, MyDouble2 adalah Double.MyDouble1 = 75.3421115: MyDouble2 = 75.3421555MySingle1 = CSng(MyDouble1) ' MySingle1 berisi nilai 75.34211.MySingle2 = CSng(MyDouble2) ' MySingle2 berisi nilai 75.34216.

CStr(ekspresi)

Konversi suatu ekspresi ke string

Contoh :

MyDouble = 437.324 ' MyDouble adalah DoubleMyString = CStr(MyDouble) ' MyString berisi nilai "437.324".

CVar(ekspresi)

Konversi suatu ekspresi ke Variant

Contoh :

MyInt = 4534 ' MyInt adalah suatu Integer.MyVar = CVar(MyInt & "000") ' MyVar berisi nilai string 4534000.

Asc(string)

Mengembalikan kode character dari huruf pertama di suatu string.

Contoh :

MyNumber = Asc("A") ' Mengembalikan 65.MyNumber = Asc("a") ' Mengembalikan 97.MyNumber = Asc("Apple") ' Mengembalikan 65.

Chr(charcode)

Mengembalikan karakter dari suatu kode karakter

Contoh :

MyChar = Chr(65) ' Mengembalikan A.MyChar = Chr(97) ' Mengembalikan a.MyChar = Chr(62) ' Mengembalikan >.MyChar = Chr(37) ' Mengembalikan %.

Format(ekspresi[, format[, hariPertamaDariMinggu[, mingguPertamaDariTahun]]])

58

Page 62: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Memformat suatu ekspresi berdasarkan ekspresi format

Contoh :

MyTime = #17:04:23#MyDate = #January 27, 1993#

Mengembalikan waktu sistem dalam format long timeMyStr = Format(Time, "Long Time")

Mengembalikan tannggal sistem dalam format long dateMyStr = Format(Date, "Long Date")

MyStr = Format(MyTime, "h:m:s") ' Mengembalikan "17:4:23".MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Mengembalikan "05:04:23 PM".MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Mengembalikan "Wednesday, Jan 27 1993".

'Jika format tidak tersedia, suatu string dikembalikan.MyStr = Format(23) ' Mengembalikan "23".

' Format User-defined MyStr = Format(5459.4, "##,##0.00") ' Mengembalikan "5,459.40".MyStr = Format(334.9, "###0.00") ' Mengembalikan "334.90".MyStr = Format(5, "0.00%") ' Mengembalikan "500.00%".MyStr = Format("HELLO", "<") ' Mengembalikan "hello".MyStr = Format("This is it", ">") ' Mengembalikan "THIS IS IT".

Hex(number) dan Oct(number)

Mengembalikan string yang mewakili Octal atau Hexa dari suatu bilangan

Contoh :

MyHex = Hex(5) ' Mengembalikan 5.MyHex = Hex(10) ' Mengembalikan A.MyHex = Hex(459) ' Mengembalikan 1CB.MyOct = Oct(4) ' Mengembalikan 4.MyOct = Oct(8) ' Mengembalikan 10.MyOct = Oct(459) ' Mengembalikan 713.

Str(number)

Mengembalikan string yang mewakili suatu angka.

Contoh :

MyString = Str(459) ' Mengembalikan " 459".MyString = Str(-459.65) ' Mengembalikan "-459.65".MyString = Str(459.001) ' Mengembalikan " 459.001".

Val(string)

Mengembalikan angka yang terkandung dalam suatu string.

Contoh :

MyVal =Val(" 1615 198th Street N.E.") ' Mengembalikan 1615198MyVal =Val("&HFFFF") ' Mengembalikan -1MyVal =Val("2457") ' Mengembalikan 2457.

59

Page 63: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

MyVal =Val(" 2 45 7") ' Mengembalikan 2457.MyVal =Val("24 and 57") ' Mengembalikan 24.

b) Fungsi Bantu Waktu

Now

Mengembalikan suatu Variant (Date) yang menunjukkan tanggal dan waktu berdasarkan sistem komputer.

Time

Mengembalikan waktu sistem sekarang

Timer

Mengembalikan suatu bilangan yang menunjukan jumlah detik sejak tengah malam

Date

Mengembalikan tanggal sistem sekarang

Time = TimeDate = Date

Mengatur waktu atau tanggal sistem

Untuk sistem yang menjalankan Microsoft Windows 95, tanggal yang dibutuhkan harus berupa tanggal dari 1 Jan 1998

sampai 31 Des 2099. Untuk sistem yang menjalankan Microsoft Windows NT, tanggal yang dibutuhkan harus berupa

tanggal dari 1 Jan 1980 sampai 31 Desember 2079.

Hour(time) dan Minute(time) dan Second(time)

Mengembalikan suatu Variant (Integer) berupa bilangan 0 s/d 23 untuk jam, 0 s/d 59 untuk menit, dan 0 s/d 59 untuk detik.

Day(date) dan Month(date) dan Year(date)

Mengembalikan suatu Variant (Integer) berupa bilangan 1 s/d 31 untuk bulan, 1 s/d 12 untuk bulan, dan tahun.

Weekday(date, [hariPertamaDariMinggu])

Mengembalikan suatu Variant (Integer) yang menunjukkan hari dari mingguhariPertamaDariMinggu Optional. suatu konstanta yang menunjukkan hari pertama dari minggu, jika tidak ditentukan, maka vbSunday diasumsikan. Konstanta Nilai KeteranganVbUseSystem 0 Menggunakan setting NLS APIvbSunday 1 Minggu (default)vbMonday 2 SeninvbTuesday 3 SelasavbWednesday 4 Rabu

60

Page 64: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

vbThursday 5 KamisvbFriday 6 JumatvbSaturday 7 Sabtu

Nilai yang dikembalikan : Konstanta Nilai KeteranganVbSunday 1 MingguVbMonday 2 SeninVbTuesday 3 SelasaVbWednesday 4 RabuVbThursday 5 KamisVbFriday 6 JumatVbSaturday 7 Sabtu

DateAdd(interval, number, date)

Mengembalikan suatu Variant (Date) yang mana merupakan hasil penjumlahan. Bagian Keteranganinterval Ekspresi string yang menunjukkan interval waktu yang ingin dijumlahkan (Perlu)

number Ekspresi numerik yang merupakan jumlah dari interval yang ingin dijumlahkan. Nilai Positif menunjukan (tanggal berikutnya), Nilai Negatif menunjukan (tanggal sebelumnya) (Perlu)

date Suatu Variant (Date) atau literal yang merupakan tanggal dimana interval akan dijumlahkan padanya. (Perlu)

Setting argumen untuk interval : Setting KeteranganYyyy TahunQ Triwulanm Bulany Hari dari tahund Hariw Hari dari mingguww Mingguh Jamn Menits Detik

Contoh :

DateAdd("m", 1, "31-Jan-95") 'mengembalikan 28-Feb-95

DateDiff(interval, date1, date2)Mengembalikan suatu Variant (Long) untuk menunjukkan bilangan dari interval waktu antara dua tanggal.

4.3. Module Pada Visual BasicVisual Basic menyediakan module yang dapat digunakan untuk memuat fungsi,subrutin, konstanta, variabel

dan type ciptaan yang akan disediakan bagi keseluruhan project. Untuk membuat module dalam project anda dapat

menggunakan perintah Project, Add Module.

61

Page 65: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Sesaat setelah anda menambahkan module, maka pada Jendela Project Explorer akan nampak Module1

Untuk melakukan koding, anda dapat melakukan double klik pada Module tersebut.

a) Deklarasi Variabel Pada ModulePada Module anda dapat mendeklarasikan variabel dengan awalan DIM, PRIVATE maupun PUBLIC, dimana

awalan DIM dan PRIVATE anda membentuk variabel Module Level (hanya berlaku didalam pemakaian module

bersangkutan), sedangkan awalan PUBLIC akan menghasilkan variabel Global yang akan berfungsi bagi keseluruhan

Program.

Contoh :

Dim A as Integer 'Variabel A adalah Module LevelPrivate B as Integer 'Variabel B adalah Module LevelPublic C as Integer 'Variabel C dapat digunakan oleh program keseluruhan

b) Deklarasi Fungsi dan Sub pada moduleSub dan Function yang dideklarasikan dalam suatu Module bersifat Global bagi keseluruhan program, kecuali

kalau diawali dengan awalan PRIVATE.

Contoh :

Sub Tengah(x)x.Move (Screen.Width - x.Width) \ 2, _(Screen.Height - x.Height) \ 2

End SubSub Tengah diatas berlaku untuk program secara keseluruhan.

c) Procedure

62

Page 66: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Procedure digunakan untuk memadatkan tugas-tugas berulang ataupun proses yang digunakan bersama,

seperti perhitungan yang sering dilakukan, text dan manipulasi kontrol, serta operasi database.

Secara umum ada dua keuntungan dengan pemakaian procedure dalam program :

Procedure memungkinkan anda untuk memecahkan program anda pada unit logika yang lebih kecil,

sehingga anda dapat dengan mudah melakukan proses debug dari pada jika keseluruhan program tanpa

menggunakan procedure.

Procedure yang digunakan dalam suatu program dapat bertindak sebagai suatu blok yang dibangun untuk

program lain dengan sedikit perubahan atau tanpa perubahan sama sekali.

Ada beberapa jenis procedure yang digunakan dalam Visual Basic

Sub procedure yang tidak menggembalikan nilai

Function procedure yang mengembalikan nilai

Property procedure yang dapat mengembalikan nilai dan diisi nilai yang mengacu pada suatu objek.

Sub ProcedureSyntax penulisan Sub procedure:

[Private|Public][Static]Sub namaprosedur (argumen-argumen)

pernyataan-pernyataan

End SubSetiap kali procedure dipanggil, maka pernyataan-pernyataan yang berada di antara Sub dan End Sub akan

dijalankan.

Argumen pada procedure adalah nilai yang akan dilewatkan saat pemanggilan procedure.

Di Visual Basic Sub Procedure dapat dibagi atas dua yaitu :

General Procedure, procedure yang diaktifkan oleh aplikasi

Event Procedure, Procedure yang diaktifkan oleh system sebagai respon terhadap event.

Contoh, sub Tengah yang dapat digunakan untuk menampilkan form ketengah Layar, dimana x adalah parameter

yang merupakan form yang akan dibuat ketengah layar.

Sub Tengah(x As Form) x.Top = (Screen.Height - x.Height) \ 2 x.Left = (Screen.Width - x.Width) \ 2

End Sub

Private Sub Form_Load()Call Tengah(Me)

End Sub

d) Function ProcedurePada Visual Basic telah tersedia berbagai fungsi bawaan seperti Sqr, Cos, dan Chr, tetapi fungsi-fungsi yang

tersedia tersebut bersifat umum dan kandang-kadang tidak memenuhi kebutuhan programer, untuk keperluan tersebut

anda dapat menciptakan fungsi-fungsi sendiri yang dikenal dengan Function procedure.

63

Page 67: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Adapun syntax penulisan function procedure :

[Private|Public][Static]Function namaprocedure (argumen-argumen) [As type]

statements

End FunctionAda tiga perbedaan antara function dan procedure :

Umumnya anda dapat memanggil suatu function dengan mengikutkan nama function sisi kanan dari

statement atau ekspresi. (returnvalue = function()).

Function memiliki type data seperti suatu variabel. Ini menentukan type yang dari nilai yang dikembalikan.

Nilai kembali dimasukkan ke namafunction itu sendirinya, dan suatu function dapat menjadi bagian dari

suatu ekspresi yang panjang.

4.4. Mencetak Isi Form ke PrinterUntuk mencetak isi Form ke Printer anda dapat menggunakan Metoda PrintForm pada object Form.Contoh :Private Sub Command1_Click()

Me.PrintFormEnd Sub

a) Memahami Objek AppObjek App disediakan oleh Visual Basic library dan mewakili aplikasi yang sedang dijalankan. Objek App

memiliki banyak properti dan metoda, yang tidak akan dibahas secara keseluruhan disini.

b) Mendapatkan Path dimana aplikasi beradaSalah satu masalah dalam pengaktifan file adalah menentukan path dimana file tersebut berada, sebagaimana

kita ketahui, pada aplikasi Windows umumnya di instalasi pada folder Program Files, tetapi ketika kita

mengembangkan program tersebut, tentu saja kita lakukan pada folder sendiri, sehingga kadang-kadang menjadi

masalah ketika program tersebut didistribusikan. Untuk mendapatkan Path dimana aplikasi berada kita dapat

menggunakan properti Path pada objek App

Contoh :

cFolder = App.Path

Open cFolder & "\Pegawai.Dat" For Random As #1 Len = Len(DatPegawai)

Dengan potongan program diatas, kita senantiasa yakin bahwa file Pegawai.Dat akan berada di Path yang

sama dengan aplikasi.

c) Mendapatkan nama file ExecutableAnda dapat menggunakan properti EXEname untuk mendapatkan nama file Executable anda.

Contoh :

Private Sub Form_Load()

If UCase$(App.ExeName) <> "INDOPROG" Then

MsgBox "Anda tidak berhak mengganti nama program tanpa izin programmer"

End

64

Page 68: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

End IfEnd Sub

d) Memeriksa apakah aplikasi telah dijalankanKadang-kadang aplikasi kita hanya boleh dijalankan sekali pada komputer yang sama. Untuk memeriksa

apakah instance yang sama dari aplikasi telah berjalan pada sistem, anda dapat menggunakan properti PrevInstance.

Contoh :

Private Sub Form_Load()

If App.PrevInstance Then

MsgBox "Aplikasi yang sama telah aktif" End

End IfEnd Sub

e) Tidak menampilkan aplikasi pada task list ketika sedang berjalanAnda dapat menggunakan properti TaskVisible untuk menentukan apakah aplikasi ditampikan di Task List

ketika dijalankan. Jendela Task List akan dimunculkan ketika anda menekan Ctrl + Alt + Del.

Contoh :Sub Main()

App.TaskVisible = FalseEnd Sub

Sedangkan properti Title dapat digunakan untuk menentukan judul aplikasi pada Task List.

Contoh :Sub Main()

App.Title = "Program Kwitansi Ver 1.0"End Sub

atau anda dapat juga menentukannya pada saat design, pada menu Project Properties

65

Page 69: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Sedangkan properti seperti Major, Minor, dan Revision mengembalikan informasi tentang versi dari aplikasi

yang sedang dijalankan. Comments, CompanyName, FileDescription, LegalCopyright, LegalTrademarks, dan

ProductName akan berguna ketika anda membuat Splash Screen ataupun dialog box About

f) Memahami Objek ScreenPada contoh maupun latihan modul-modul sebelumnya kita banyak menggunakan Objek screen, terutama

untuk mendapatkan Tinggi (Height) dan Lebar (Width) dari Layar komputer untuk menempatkan suatu Form ke posisi

di Tengah layar. Contoh :

Contoh :

Sub Tengah(x)x.Move (Screen.Width - x.Width) \ 2, _

(Screen.Height - x.Height) \ 2

End SubProperti Height dan Width mengembalikan ukuran Tinggi dan Lebar layar dalam ukuran Twips, tetapi untuk

fungsi-fungsi API kita membutuhkan ukuran dalam pixel. Untuk mendapatkan jumlah Twips per pixel kita dapat

menggunakan properti TwipsPerPixelY dan TwipsPerPixelX.

Contoh :'Mendapatkan ukuran tinggi dan lebar layar dalam Pixel

scrWidth = Screen.Width / Screen.TwipsPerPixelX

scrHeight = Screen.Height / Screen.TwipsPerPixelY

Dengan menggunakan objek Screen kita juga dapat memperoleh nama-nama font yang tersedia dilayar dengan

menggunakan properti Font dan FontCount.

Contoh :

66

Page 70: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

' Menggambil semua font pada objek Screen dan memasukkannya ke kontrol ListBox.

Dim i As Integer

For i = 0 To Screen.FontCount - 1

lstFonts.AddItem Screen.Fonts(i)

Next

Anda dapat juga mengubah mouse pointer dengan menggunakan properti MousePointer.

Contoh :Screen.MousePointer = vbHourglass

Catatan : Efek mouse pointer hanya berlaku pada aplikasi anda.

Bab VMDI Form, Menu dan Objek Printer

5.1. Mengenal Multiple Document InterfacePada Visual Basic, anda dapat mengembangkan aplikasi dengan interface sebagai berikut :

SDI (Single Document Interface)

MDI (Multiple Document Interface)

Pada aplikasi SDI, setiap form merupakan form-form yang berdiri sendiri, Aplikasi SDI pada windows terdapat

pada aplikasi seperti Notepad, WordPad dan Paint.

Sedangkan aplikasi seperti Microsoft Word menggunakan MDI, yaitu terdiri dari suatu MDIForm, dan

didalamnya merupakan form-form anak (MDIchild).

Ada beberapa hal yang harus diperhatikan dalam penggunaan MDIForm adalah :1. Didalam satu project hanya dapat terdiri dari satu MDIForm

2. Anda tidak dapat menempatkan kontrol-kontrol secara langsung pada MDIForm, kecuali kontrol yang

memiliki properti Alignment, atau menempatkannya diatas kontainer seperti Picturebox.

67

Page 71: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

3. Anda tidak dapat menggunakan metode pengambaran (Print, Line, Circle, dan PSet) seperti pada form

umumnya.

5.2. Membuat suatu Aplikasi MDI pada Visual Basic

1. Membuat suatu MDI formDari menu Insert, Pilih Add MDI Form. (Suatu aplikasi hanya dapat terdiri dari satu MDI form)

2. Membuat suatu Form menjadi MDI ChildDari properti Form tersebut, ubah nilai properti MDI Child-nya menjadi True.

2. Menentukan StartUp ObjekPada Menu Tools, pilih Command Options, pilih Tab Project, Tentukan StartUp Object ke MDI form yang telah ditambahkan.

a) Karakteristik dari MDI Form

Semua child form tidak dapat dipindahkan keluar dari MDI Form.

Ketika suatu child form diminimize, akan menjadi icon dibawah MDI Form.

Anda dapat menentukan apakah child form secara otomatis ditampilkan atau tidak dengan menggunakan

properti AutoShowChildren pada MDIForm.

Jika pada child form ada menu, maka menu akan ditampilkan pada MDIform menu.

Pada MDIform anda tidak dapat menempatkan kontrol-kontrol visible yang tidak mendukung alignment, kecuali

kalau anda menempatkannya kedalam suatu kontainer seperti Picturebox, dan Toolbar. Sedangkan kontrol non-visible

seperti Timer dan CommonDialog box dapat ditempatkan diatas MDIForm.

b) Mendapatkan MDI Child yang sedang aktif.Untuk mendapatkan form-form yang sedang aktif didalam suatu MDIform, anda dapat menggunakan properti

ActiveForm, contoh :

Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)If Not Me.ActiveForm Is Nothing Then

MsgBox "Masih ada Form yang aktif"

Cancel = True

68

Page 72: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

End If

End Sub

c) Mengatur MDI Child dalam jendela MDI formAnda dapat menggunakan metoda Arrange untuk mengatur penyusunan form-form yang sedang aktif didalam

suatu MDI form. Metoda Arrange ini diikuti oleh suatu parameter yang menentukan jenis penyusunan yang akan

dilakukan, contoh :

Private Sub mnuTileHorizontally_Click() Arrange vbTileHorizontalEnd Sub

Private Sub mnuTileVertically_Click() Arrange vbTileVerticalEnd Sub

Private Sub mnuCascade_Click() Arrange vbCascadeEnd Sub

Private Sub mnuArrangeIcons_Click() Arrange vbArrangeIconsEnd Sub

5.3. Membuat Menu Pada Visual BasicPembuatan menu pada Visual Basic dapat dilakukan dengan bantuan Menu Editor yang terdapat pada Menu Tools.

Pada dasarnya setiap item menu memiliki Caption dan sebuah Nama. Anda dapat membentuk Kunci Akses

dengan menggunakan tanda & (ampersand) pada Caption dari menu tersebut. Untuk membuat menu anda cukup

mengetikan Caption dan Name, selanjutnya klik pada Next, dan ketikkan menu yang berikutnya, sampai selesai.

Selanjutnya adalah menbuat Sub Menu dengan melakukan klik pada panah kanan dan sebaliknya. Anda dapat

membuat sampai 5 Sub Menu (6 kalau termasuk Menu Utama).

Pada contoh diatas akan menghasilkan menu sebagai berikut :

69

Page 73: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

a) Membuat Garis Pemisah antar MenuAnda dapat menggunakan tanda - (karakter hypen) untuk membuat garis pemisah antar menu pada Caption.

Sehingga akan menghasilkan menu sebagai berikut :

70

Page 74: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

b) Melakukan Koding terhadap MenuUntuk melakukan koding terhadap item menu, anda dapat membuka menu pada saat design dan akan

menghasilkan Event Click untuk item menu tersebut, contoh :

Private Sub mnuDataDepartemen_Click()frmDepartemen.Show

End Subc) Membuat Menu yang memiliki tanda Check

Anda dapat membuat menu yang memiliki tanda Check dengan memanfaatkan option Checked pada Menu

Editor.

Sehingga akan menghasilkan menu sebagai berikut :

71

Page 75: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Anda dapat mengatur keaktifan tanda Check dari item menu tersebut dengan koding sebagai berikut :Private Sub mnuTampilWaktu_Click()

mnuTampilWaktu.Checked = Not mnuTampilWaktu.CheckedIf mnuTampilWaktu.Checked Then frmWaktu.ShowElse Unload frmWaktuEnd If

End Sub

Anda dapat memanfaatkan option Visible untuk menyembunyikan menu ataupun menampilkan suatu item menu

berdasarkan kondisi tertentu, dan option Enabled untuk membuat suatu menu dapat dipilih atau tidak.

5.4. Membuat Menu Pop UpPada Visual Basic, anda dapat membuat menu pop up dengan memanfaatkan menu Editor untuk

mendefinisikan nama kelompok menu Pop Up beserta Sub Menunya, dan menonaktifkan option Visible dari kelompok

menu tersebut.

Kemudian lakukan koding pada Event MouseDown pada MDIformPrivate Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button And vbRightButton Then

72

Page 76: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

PopupMenu mnuAturEnd If

End Sub

Sehingga kalau dilakukan klik kanan pada form akan menanpilkan suatu Pop Up menu yang berupa Sub Menu dari mnuAtur.

5.5. Memahami Objek PrinterUntuk memcetak hasil aplikasi anda ke printer, anda dapat mengunakan objek Printer yang disediakan oleh

Visual Basic. Pada objek printer tersedia berbagai metoda pencetakkan text dan pengambaran grafik (Line, Circle,

Pset, dll) seperti yang tersedia pada form maupun kontrol Picturebox.

Objek printer juga mendukung properti ScaleWidth, ScaleHeight, ScaleTop, dan ScaleLeft. Anda dapat

memeriksa kembali fungsi properti-properti ini pada control Picture.

a) Mencetak Data ke Objek PrinterAnda dapat menggunakan metoda print untuk mengirim tulisan yang akan dicetak ke objek printer. Anda dapat

juga menggunakan metoda Newpage untuk membuat printer mencetak tulisan berikutnya ke halaman baru. Metoda

EndDoc untuk memulai pencetakkan yang sebenarnya, sedangkan KillDoc untuk membatalkan pencetakkan. Anda

juga dapat menggunakan properti Page untuk mendapatkan nomor halaman.

Contoh :

Printer.Print "Indoprog-vb, forum diskusi dan belajar bersama Visual Basic"

Printer.NewPage

Printer.Print "Ini akan dicetak pada halaman kedua"

Printer.EndDoc

Untuk menentukan jumlah rangkap pencetakkan dapat menggunakan properti Copies.

Contoh :

Printer.Copies = 2

Printer.Print "Indoprog-vb, forum diskusi dan belajar bersama Visual Basic"

Printer.NewPage

Printer.Print "Ini akan dicetak pada halaman kedua"

Printer.EndDoc

73

Page 77: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Anda dapat juga menggunakan metode pengambaran grafik seperti Line, Circle, PSet, dan PaintPicture seperti yang

terdapat pada Form dan PictureBox.

b) Menentukan ukuran kertasProperti PaperSize dapat digunakan untuk menentukan ukuran kertas, misalnya vbPRPSLetter untuk 8 1/2 x

11 (Letter). Untuk konstanta jenis ukuran kertas dapat anda lihat dengan Object Browser pada PrinterObjectConstants.

Contoh :Printer.PaperSize = vbPRPSLetter

c) Menentukan posisi pencetakkanAnda dapat mengatur/mendapatkan posisi pencetakkan dengan menggunakan properti CurrentX dan

CurrentY.

Contoh :Printer.CurrentX = 0.5*1440 '1/2 inchPrinter.CurrentY = 1*1440 '1 inchPrinter.Print "Hello Indoprog-vb"Catatan : Ukuran dinyatakan dalam Twips, dimana 1 inch = 1440 Twips

d) Menentukan font pencetakkanAnda dapat mengatur font pencetakan dengan menggunakan objek font. Pada objek font anda dapat mengatur

setting seperti :

Properti KeteranganBold Mengaktifkan cetak tebal (True, False)Name Menentukan nama font yang digunakan, misalnya Verdana, Times New Roman, Arial, Courier New, dllItalic Mengaktifkan cetak miring (True, False)Size Menentukan ukuran fontStrikeThrought Mengaktifkan cetak coret (True, False)Underline Mengaktifkan cetak garis bawah (True, False)Contoh :

Printer.Font.Name = "Verdana"Printer.Font.Size = 14Printer.Font.Bold = TruePrinter.Print "Hello Indoprog-vb"

74

Page 78: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

e) Menentukan orientasi pencetakkanAnda dapat menggunakan properti Orientation untuk menentukan orientasi pencetakkan Portrait atau

Landscape (1-vbPRORPortrait, 2-vbPRORLandscape).

Contoh :Printer.Orientation = vbPRORLandscape

f) Mendapatkan informasi printer yang terinstalasi pada sistemUntuk mendapatkan jumlah printer yang terinstalasi pada sistem, anda dapat menggunakan properti Count,

sedangkan nama printer dapat diperoleh dengan DeviceName, dan DriverName untuk mendapatkan nama Driver.

Berikut ini adalah contoh mengisi nama Device dan Driver dari printer yang terinstalasi pada sistem pada suatu

ComboBox.

Contoh :For i = 0 To Printers.Count _ 1

cboPrinters.AddItem Printers(i).DeviceName & " [" & _

Printers(i).DriverName & "]"

Next

Anda dapat juga mendapatkan informasi dengan properti Port (misalnya, LPT1:), memeriksa apakah printer

tertentu dapat melakukan pencetakkan berwarna denga properti ColorMode (1-vbPRCMMonochrome or 2-

vbPRCMColor).

g) Menentukan Printer yang akan digunakanJika anda tidak menentukan printer yang akan digunakan, maka printer yang akan digunakan adalah printer

default pada sistem anda.

Untuk mencetak dengan menggunakan printer yang tertentu anda dapat melakukan setting printer ke printer

yang bersesuaian. Contoh berikut akan menlakukan setting printer ke nomor printer tertentu berdasarkan pilihan

pemakai dari ComboBox.

Contoh :Private Sub cmdMakeCurrent_Click() Set Printer = Printers(cboPrinters.ListIndex)End Sub

75

Page 79: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Bab VIDatabase dan Data Kontrol

Mulai modul ini kita akan bekerja dengan database, sebagai dasar dari proses belajar, anda harus memahami

dasar dari database dan model database relational.

Suatu database merupakan koleksi dari informasi yang berhubungan dengan subjek atau fungsi tertentu,

seperti menangani nilai-nilai ujian mahasiswa atau menangani suatu daftar koleksi musik. Jika database anda tidak

tersimpan dalam komputer, maka anda harus menangani informasi tersebut dari berbagai sumber dan mengkoordinir

serta mengorganisasinya sendiri.

Dengan mengunakan suatu Sistem Manajemen Database (DBMS) anda dapat menempatkan database anda

dalam suatu file, dan mengorganisasikannya menjadi tabel-tabel, dan mengkoordinir data tersebut menjadi laporan

dengan berbagai fasilitas seperti Form, Query, Report.

6.1. Konsep Database RelationalModel relational merupakan standar untuk rancangan database, dimana database disimpan dan ditampilkan

sebagai suatu koleksi dari tabel-tabel.

Suatu struktur didefinisikan dengan membuat relasi antar tabel, kaitan data antar tabel ini di dalam database

merupakan model dari relationship.

76

Page 80: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Adapun model database relational menawarkan keuntungan sebagai berikut :

Mengorganisasikan data didalam suatu koleksi tabel-tabel membuat rancangan menjadi mudah dipahami.

Menyediakan suatu bahasa yang relatif lengkap untuk mendefinisikan data, mengambil dan mengupdate.

Menyediakan aturan integritas yang mana mendefinisikan suatu keadaan yang konsisten untuk meningkatkan reliabilitas data.

Suatu relational database manajemen sistem (RDBMS) adalah software yang memungkinkan anda untuk

menampilkan data anda pada suatu model relational. Database-database Relational mendukung suatu bahasa standar

yang dikenal sebagai Structured Query Language (SQL). SQL telah berkembang menjadi suatu bahasa yang

comprehensive untuk pengendalian dan interaksi dengan suatu sistem manajemen database (DBMS). SQL adalah

suatu standar yang disetujui oleh American National Standards Institute (ANSI). Database Northwind (Nwind.mdb)

adalah suatu contoh database relational yang ada pada Microsoft Access dan Visual Basic.

a) TabelModel database relational menampilkan data sebagai suatu koleksi dari tabel-tabel. Suatu tabel adalah

pengelompokan secara logika dari informasi yang berhubungan. Sebagai contoh, pada database Northwind memiliki

suatu daftar dari tabel-tabel karyawan, pelanggan, order. Tabel-tabel dibentuk oleh baris-baris dan kolom-kolom. Baris-

baris sering disebut sebagai record-record dan kolom-kolom disebut sebagai field-field.

77

Page 81: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

b) RecordSuatu record mengandung informasi dari suatu isian tunggal dalam suatu tabel. Sebagai contoh, sebuah

record dalam suatu tabel Karyawan akan mengandung informasi dari karyawan-karyawan.

c) FieldSuatu record dibentuk oleh banyak field. Setiap field dalam suatu record mengandung suatu potongan tunggal

dari informasi tentang record. Sebagai contoh, suatu record Karyawan memiliki No Induk Karyawan, Nama, Marga dan

yang lainnya.

d) KeyUntuk secara unik mengenali suatu baris (record), setiap tabel harus memiliki suatu primary key. Primary key

adalah suatu field, atau konbinasi dari field-field, yang mana nilainya bersifat unik untuk tiap baris atau record dalam

tabel. Sebagai contoh, field Nomor Induk Karyawan adalah primary key untuk tabel Karyawan. Tidak ada dua

karyawan yang memiliki Nomor Induk yang sama.

Suatu tabel dapat mengandung field yang merupakan foreign key. Suatu foreign key "menunjuk pada" suatu

field primary key pada tabel yang berhubungan. Sebagai contoh, pada database Northwind, Tabel Pesanan

mengandung suatu field Nomor Pelanggan. Setiap Nomor Pelanggan pada tabel Order menunjukkan Pelanggan yang

melakukan Pesanan tersebut.

Hubungan antara tabel Pesanan dan Pelangan adalah one-to-many relationship yang mana adalah, setiap

pelanggan dapat melakukan lebih dari satu pesanan.

e) IndexUntuk mempercepat akses, banyak database menggunakan index. Data tabel yang terindex berurut akan lebih

cepat pencariaannya dibandingkan dengan tabel. Setiap isi index menunjuk ke posisi ditabelnya.

6.2. Membuat Database dengan Visual Data Manager

78

Page 82: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Pada Visual Basic, anda dapat membuat database dengan menggunakan Visual Data Manager yang dapat

diaktifkan dari menu Add Ins, Visual Data Manager.

Membuat Database anda yang pertama

1. Dari menu File, pilih New, Microsoft Access, Version 7.0

2. Tentukan lokasi penyimpanan dan nama database anda, misalnya Indoprog.mdb

Selanjutnya akan ditampilkan dua jendela yaitu :

1. Database Window, menunjukan koleksi dari database anda

2. SQL Statement, tempat anda mengetikkan bahasa SQL

Membuat Tabel anda yang pertama1. Klik kanan pada "Properties" yang berada pada Database Window

79

Page 83: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

2. Pilih New Table, sehingga akan muncul kotak dialog Table Structure

3. Pada Table Name ketikkan nama tabel yang ingin anda buat, misalnya Forum

4. Klik pada Add Field untuk mengetikkan field-field tabel anda, dan akan muncul kotak dialog Add Field, Name

ketikkan nama field anda, pilihlah Type data yang bersesuaian dan ukuran dari field tersebut

Anda dapat menentukan apakah field tersebut adalah AutoIncrField (untuk type Long), AllowZeroLength (untuk

type Text), Required.

Klik pada Ok, dan lakukan hal yang sama untuk field berikutnya, jika telah selesai klik pada Close.

80

Page 84: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

5. Langkah selanjutnya adalah membuat Primary Key untuk tabel anda dengan melakukan klik pada tombol

Add Index. Pada Name ketikkan nama Index, dan double klik pada field yang ingin di Index pada kotak

Available Fields.

Anda dapat menentukan option Primary, Unique dan IgnoreNulls, klik OK jika telah selesai, dan

akhirnya Close.

81

Page 85: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

6. Akhirnya klik pada Build The Table.

Mengetik data pada Visual Data Manager1. Pilih jenis Table type recordset

2. Pada Database Windows klik kanan pada tabel yang ingin anda ketik datanya. Dalam hal ini adalah tabel

Forum, dan pilih Open, klik Add dan mulai mengetikkan data anda, dan akhirnya Update.

6.3. Membuat Relasi antar databaseSesuai dengan konsep database relational, tentu saja tabel-tabel didalam suatu database memiliki link

berdasarkan field tertentu yang bertindak sebagai foreign key dan primary key.

Pada database yang telah kita buat pada Latihan 1, adapun relasi antar tabel tersebut adalah sebagai berikut :

82

Page 86: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Tabel Aktifitas berisi data aktifitas peserta dimana seorang Peserta dapat mengikuti lebih dari satu forum Diskusi, dan

sebuah forum diskusi dapat diikuti oleh lebih dari satu peserta, dan status Peserta pada masing-masing forum diskusi

dapat berbeda-beda.

Tabel Aktifitas

Nama Field (Foreign key) Foreign Tabel Foreign FieldEmail Peserta EmailForumID Forum ForumIDStatus Status Status

Untuk membuat Relasi antar tabel pada Visual Data Manager anda dapat menggunakan Bahasa SQL yang

diketikan pada jendela SQL Language dan kemudian di Execute.

Adapun DDL (Data Definition Language) SQL untuk membuat Relasi antar tabel adalah sebagai berikut :

ALTER TABLE table ADD CONSTRAINT name FOREIGN KEY (ref1[, ref2 [, ...]]) REFERENCES foreigntable [(foreignfield1 [, foreignfield2 [, ...]])]dimana :

table Nama tablename Nama Constraint yang akan dibuatref Nama field yang akan dibuat relasiforeigntable Nama foreign tableforeignfield Nama foreign field

Contoh :ALTER TABLE Aktifitas ADD CONSTRAINT AktifitasEmail FOREIGN KEY (Email) REFERENCES Peserta (Email);ALTER TABLE Aktifitas ADD CONSTRAINT AktifitasForumID FOREIGN KEY (ForumId) REFERENCES Forum (ForumId);ALTER TABLE Aktifitas ADD CONSTRAINT AktifitasStatus FOREIGN KEY (Status) REFERENCES Satus (Status);

Jika dibuka dengan Relationship pada Microsoft Access maka hasil perintah SQL diatas akan membuat relasi antar

tabel sebagai berikut :

83

Page 87: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

6.4. Mengenal Data kontrol

a) DBListData kontrol merupakan kontrol standar yang disediakan pada Visual Basic untuk digunakan untuk membuat

aplikasi database sederhana. Data kontrol merupakan suatu lapisan yang menghubungkan data dengan user

interface.

b) Properti pada Data kontrolProperti Keterangan

Align Menentukan pemerataan kontrol pada Form (0-None, 1- Top, 2 - Bottom, 3 - Left, 4 - Right)

BOFAction Menentukan metoda yang akan otomatis diaktifkan ketika posisi pointer mencapai BOF (1 - MoveFirst, 0 - BOF)

Caption Menentukan tulisan pada data kontrolAccess Menentukan jenis software file database (Access, dBaseIII, dBaseIV, dll) sebagai sumber dataDatabaseName Menentukan path dan nama database file yang akan digunakan sebagai sumber data

DefaultCursorType Menentukan jenis kursor yang digunakan (0 - DefaultCursor, 1 - ODBCCursor, 2 - ServerSideCursor)

DefaultType Menentukan jenis data yang digunakan (2 - UseJext, 1 - UseODBC)

EOFAction Menentukan metoda yang akan otomatis diaktifkan ketika posisi pointer mencapai BOF (1 - MoveLast, 0 - EOF,2-AddNew)

Exclusive Menentukan modus pengaktifan database secara Share atau Exclusive (False, True)ReadOnly Menentukan apakah recordset adalah readonly atau tidak (False, True)RecordsetType Menentukan jenis recordset yang akan digunakan (1-Dynaset, 0-Table, 2-Snapshot)

RecordSource Menentukan sumber data untuk recordset, dapat berupa nama tabel maupun bahasa SQL (khusus untuk Dynaset dan Snapshot)

6.5. Memahami Jenis RecordSet

84

Page 88: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Visual Basic menerima dan menampilkan record dari database dengan menggunakan objek Recordset.

Recordset menampilkan record dari suatu Tabel atau record yang merupakan hasil Query (SQL). Ada tiga jenis

recordset yang dapat ditentukan pada properti RecordSetType pada data control, adapun ketiga jenis recordset

tersebut adalah sebagai berikut :

Jenis Recordset KeteranganTable Suatu himpunan dari record yang diambil dari suatu tabel tunggal database. Anda dapat menambah,

mengubah, atau menghapus record pada jenis recordset ini.Dynaset Suatu himpunan dari record secara dinamis yang di ambil dari suatu tabel tunggal maupun hasil Query

(SQL) dari satu atau lebih tabel. Anda dapat menambah, mengurangi, atau menghapus record pada jenis recordset ini, dan perubahan akan mempengaruhi tabel yang bersangkutan.

Snapshot Suatu himpunan dari record yang merupakan duplikasi secara statis. Anda dapat menggunakan recordset jenis ini untuk mencari data, dan membuat laporan. Recorset Snapshot dapat mengandung field dari satu atau lebih tabel yang tidak dapat di update.

Anda dapat memilih jenis objek Recordset yang ingin anda gunakan pada Property (RecordsetType), dan nilai

defaultnya adalah vbDynasetType.

Catatan :Pada Dynaset dan Snapshot, recordset disimpan pada memori lokal, jika aplikasi anda tidak menggambil data

lebih dari satu tabel, ataupun sumber data non-ODBC, maka Recordset jenis Table merupakan pilihan yang baik dari

segi kecepatan dan efisiensi pemakaian memori.

6.6. Metoda-metoda pada Data KontrolSebagaimana objek-objek standar lainnya, objek Data kontrol menyediakan berbagai metoda yang dapat anda

gunakan.

a) Bergerak dalam RecordSetMetoda Fungsi

MoveFirst Memindahkan keaktifan pointer ke awal recordsetMoveLast Memindahkan keaktifan pointer ke akhir recordsetMovePrevious Memindahkan keaktifan pointer ke record sebelumnyaMoveNext Memindahkan keaktifan pointer ke record berikutnya

Contoh :Data1.Recordset.MoveFirst

b) Mencari suatu record tertentu

Untuk RecordSet jenis Dynaset dan SnapShotMetoda Fungsi

FindFirst kriteria Mencari record pertama yang memenuhi kriteriaFindLast kriteria Mencari record terakhir yang memenuhi kriteriaFindNext kriteria Mencari record berikutnya yang memenuhi kriteriaFindPrevious Kriteria Mencari record sebelumnya yang memenuhi kriteriaContoh :

Data1.Recordset.FindFirst "Email = '[email protected]'"

Untuk RecordSet jenis Table Pada recordset jenis table anda dapat menggunakan metoda Seek, tetapi sebelumnya anda perlu menentukan

index yang digunakan dengan properti index

Data1.RecordSet.Index = NamaIndex Data1.RecordSet.Seek perbandingan, key1, key2, ...

Perbandingan Keterangan"=" Sama dengan

85

Page 89: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

">=" Lebih besar atau sama">" Lebih besar"<=" Lebih kecil atau sama"<" Lebih kecil

Contoh :Data1.Recordset.Index = "P_Key"Data1.Recordset.Seek "=",[email protected]

c) Memeriksa hasil pencarian recordAnda dapat menggunakan properti NoMatch untuk memeriksa hasil pencarian dengan metoda Find maupun

metoda Seek.

ContohData1.Recordset.FindFirst "Email = '[email protected]'"If Data1.Recordset.NoMatch Then MsgBox "Peserta belum terdaftar !"Else MsgBox "Peserta telah terdaftar !"End Ifatau

Data1.Recordset.Index = "P_Key"Data1.Recordset.Seek "=","[email protected]"If Data1.Recordset.NoMatch Then MsgBox "Peserta belum terdaftar !"Else MsgBox "Peserta telah terdaftar !"End If

d) Menandai posisi recordUntuk menyimpan posisi record anda dapat menggunakan properti bookmark.

Contoh : Dim MyBookMark As Variant

MyBookMark = Data1.RecordSet.Bookmark

Data1.RecordSet.MoveFirst

Data1.RecordSet.Bookmark = MyBookMark

e) Mengambil nilai field dari record aktifJika suatu kontrol di bound pada data kontrol, maka kontrol tersebut akan menampilkan nilai field dari record

yang sedang aktif.

Untuk mengambil nilai field dari record yang sedang aktif secara koding, anda dapat menggunakan salah satu

cara berikut :

Data1.Recordset.Fields(0).Value ' Mengacu pada nilai pada field pertama n = 0 ' Mengacu tidak langsung dengan suatu field number. Data1.Recordset.Fields(n) ' Mengacu pada nilai pada field pertama. Data1.Recordset.Fields("FName") ' Mengacu pada FName field. string$ = "FName" ' Mengacu tidak langsung dengan nama field. Data1.Recordset.Fields(string$) ' Mengacu pada FName field Data1.Recordset("FName") ' Mengacu kepada field sebagai collection default.

86

Page 90: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Data1.Recordset(n) ' Mengacu kepada field sebagai collection default.

Contoh :Debug.Print Data1.Recordset("Email")

f) Mengubah nilai field dari record aktifJika suatu kontrol di bound pada data kontrol, maka perubahan nilai pada kontrol tersebut akan mempengaruhi

isi field yang bersangkutan ketika posisi record pointer berpindah, maupun ketika dilakukan proses update dengan

metoda UpdateRecord.

Contoh :Private Sub cmdUpdate_Click()

Data1.UpdateRecordEnd Sub

Untuk mengubah nilai field dari record yang sedang aktif secara koding, anda dapat melakukan langkah

sebagai berikut :

1. Posisikan current record ke record yang akan diedit.

2. Tentukan nilai baru kefield yang mau diubah

3. Gunakan method Update atau method Move, Find, atau Seek.

Contoh :Data1.Recordset.EditData1.Recordset("Email") = "[email protected]"...Data1.RecordSet.Update

g) Menambah record baru ke recordsetAnda dapat menggunakan prilaku properti EOFAction untuk secara otomatis menambahkan record baru ketika

posisi record pointer berada di EOF, anda dapat segera mengetikkan data pada kontrol-kontrol yang dibound pada

kontrol data tersebut, dan memindahkan keaktifan record pointer untuk proses update, ataupun menggunakan metoda

UpdateRecord.

Secara koding anda dapat melakukan langkah berikut untuk menambahkan record baru ke recordset :

1. Membuat suatu record baru dengan method AddNew. Current record pointer disimpan dan berpindah ke

record baru.

2. Tentukan nilai baru untuk record baru.

3. Simpan record baru dengan method Update.

Contoh :Data1.Recordset.AddNewData1.Recordset("Email") = "[email protected]"...Data1.RecordSet.Update

Catatan :Setelah update, posisi record pointer akan dikembalikan keposisi sebelum record baru tersebut ditambah.

Untuk membuat posisi record berada di record baru tersebut anda dapat menggunakan bookmark yang diset ke

lastmodified.

87

Page 91: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Contoh :Data1.Recordset.AddNewData1.Recordset("Email") = "[email protected]"...Data1.RecordSet.UpdateData1.RecordSet.Bookmark = Data1.Recordset.LastModified

h) Menghapus record yang sedang aktifUntuk menghapus seluruh record, posisikan ke record yang akan dihapus, dan gunakan method Delete.

Sesaat setelah record tersebut dihapus, maka record tersebut menjadi invalid, sehingga anda harus menggunakan

MoveNext untuk memindahkan posisi setelah setiap penghapusan.

Contoh :Data1.Recordset.DeleteData1.Recordset.MoveNextIf Data1.Recordset.Eof Then Data1.Recordset.MoveLastEnd If

i) Melakukan refresh data pada RecordsetAnda dapat menggunakan metoda Refresh untuk menutup dan membentuk ulang isi Recordset.

Contoh :Data1.Refresh

j) Menutup suatu RecordsetMethod Close menutup recordset dan membebaskan resource yang dialokasikan padanya. Usaha untuk

melakukan suatu metode atau akses pada element dari recordset yang telah terhapus akan menghasilkan kesalahan.

Contoh :Data1.Recordset.Close

Database dan recordset akan secara otomatis tertutup ketika :

1. Anda menggunakan method Close terhadap recordset tertentu.

2. Form yang mengandung data control di unload

3. Program menjalankan statement End.

6.7. Event Pada Data Kontrol

a) Event ErrorEvent Error akan dibangkitkan ketika terjadi kesalahan pada data kontrol yang bukan disebabkan oleh koding

yang menggunakan perintah Visual Basic.

Private Sub Data1_Error(DataErr As Integer, Response As Integer)

End Sub

Anda dapat mendapatkan nomor kesalahan dengan mengevaluasi nilai DataErr, dan menentukan Response

terhadap kesalahan tersebut (vbDataErrContinue, vbDataErrDisplay) apakah diabaikan atau ditampilkan.

Contoh :

88

Page 92: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Private Sub Data1_Error(DataErr As Integer, Response As Integer)Select case DataErr Case 3163 MsgBox "Panjang data melebihi ukuran field" Response = vbDataErrContinue Case Else Response = vbDataErrDisplayEnd Select

End Sub

b) Event RepositionEvent ini terjadi ketika suatu record menjadi Current position.

Private Sub Data1_Reposition()

End Sub

Contoh berikut akan mengunci semua textbox dari perubahan ketika terjadi event reposition.

Private Sub Data1_Reposition()txtForumID.Locked = TruetxtKeterangan.Locked = TruetxtAlamat.Locked = True

End Sub

c) Event ValidateEvent ini terjadi sebelum perubahan dilakukan terhadap yang sedang aktif seperti metoda update, delete

ataupun close.

Private Sub Data1_Validate(Action As Integer, Save As Integer)

End Sub

Anda dapat melakukan evaluasi terhadap Action untuk mendapatkan aksi yang membangkitkan event Validate

tersebut, misalnya vbDataActionAddNew, vbDataActionBookmark, vbDataActionCancel, dll.

CboPrinters

89

Page 93: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Bab VIIPengaturan MultiUser pada Data Kontrol

Suatu program MultiUser sangat tergantung pada bagaimana file database sebagai sumber daya yang

digunakan dapat dibuka oleh lebih dari satu pemakai pada saat yang bersamaan.

Pengaturan modus pembukaan file database pada Data kontrol dapat dilakukan dengan menentukan nilai dari

properti Exclusive menjadi True (Single User) atau False (Multi User).

Sesuatu hal yang perlu diperhatikan dalam pengaktifan file Database secara Share (Exclusive False) adalah

mekanisme penguncian ketika data di Edit. Mekanisme penguncian pada Data kontrol dapat menggunakan dua jenis

strategi, yaitu :

1. Optimistik Locks, penguncian dilakukan sesaat pada saat metoda .Update

2. Pesimistik Locks, penguncian dilakukan sesaat setelah pemakaian metoda .Edit

Pemakaian strategi penguncian ini dapat ditentukan pada Properti LockEdits dengan mengubah nilainya

menjadi True (Pesimistik Locks) atau False (Optimistik Locks).

Contoh :Private Sub Form_Load()

RsForum.RefreshRsForum.Recordset.LockEdits = True 'Menggunakan Strategi Pesimistik Locks

End Sub

Catatan :

Penguncian dilakukan oleh Visual Basic secara per Page (Halaman) dimana terdiri dari 2 Kilobyte Page dimana record

tersebut berada. Pada saat suatu Page sedang dikunci, maka usaha penguncian oleh pemakai lain terhadap data lain

yang berada pada Page yang sama akan gagal.

Perhatikan kembali potongan program berikut yang diambil dari Latihan 3 Modul 9, dimana mekanisme

masing-masing Locks dapat dijelaskan sebagai berikut :

Private Sub cmdEdit_Click()Flag = flEditRsForum.Recordset.Edit ' Penguncian terjadi disini pada Pesimistik LocksCall Kunci(False)Call AturTombol(False, False, False, True, True)

End Sub

90

Page 94: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Private Sub cmdUpdate_Click()On Error GoTo ErrUpdate_clickIf txtForumID.Text = "" Then MsgBox "Forum ID tidak boleh kosong", vbCritical, "Warning" Exit SubEnd IfIf txtKeterangan.Text = "" Then MsgBox "Keterangan tidak boleh kosong", vbCritical, "Warning" Exit SubEnd IfIf txtAlamat.Text = "" Then MsgBox "Alamat tidak boleh kosong", vbCritical, "Warning" Exit SubEnd IfRsForum.Recordset.Update ' Penguncian terjadi disini pada Optimistik LocksFlag = flNoneCall Kunci(True)Call AturTombol(True, True, True, False, False)RsForum.Recordset.Bookmark = RsForum.Recordset.LastModifiedExit SubErrUpdate_click:Select Case Err.Number Case 3022 MsgBox "Telah terjadi duplikasi pada Forum ID", vbOKOnly + vbInformation, "Warning" Case Else MsgBox Err.Number & vbCrLf & Err.DescriptionEnd SelectEnd Sub

Pada Pesimistik Locks, penguncian dilakukan sesaat setelah metoda Edit, dan penguncian dibuka kembali

sampai metoda Update maupun Cancel Update, sedangkan Optimistik Locks, penguncian dilakukan sesaat metoda

Update dilakukan.

7.1. Masalah pada Pesimistik LocksMasalah pada Pesimistik Locks adalah kegagalan penguncian karena Page sedang dikunci oleh pemakai lain,

sehingga permintaan Locks pada saat Edit (Pesimistik) maupun Delete gagal dilakukan.

Anda dapat menggunakan Error Handling untuk menangani kegagalan ini dengan mengevaluasi nilai Err yang dihasilkan, dalam hal ini adalah 3260.

Contoh :Private Sub cmdEdit_Click()On Error GoTo ErrcmdEdit_ClickFlag = flEditRsForum.Recordset.Edit 'Sumber Error pada Pesimistik LocksCall Kunci(False)Call AturTombol(False, False, False, True, True)

CancelcmdEdit:Exit Sub

ErrcmdEdit_Click:Select Case Err 'Data telah dihapus pemakai lain Case 3167 MsgBox "Data telah dihapus pemakai lain" & vbCrLf & _ "Lakukan refresh data anda !", vbOKOnly + vbInformation 'Data Page (2 kb) telah dikunci oleh pemakai lain Case 3260

91

Page 95: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

nHitung = nHitung + 1 'Memungkinkan pemakai membuat keputusan ulangi 'Penguncian atau batal, maksimum 2 kali If nHitung > 2 Then nPilih = MsgBox("Ulangi penguncian ?", vbYesNo + _ vbQuestion) If nPilih = vbYes Then nHitung = 1 Else Resume CancelcmdEdit End If End If DoEvents 'menjalankan event windows 'menunda sejumlah waktu random nTunda = nHitung ^ 2 * Int(Rnd * 3000 + 1000) For i = 1 To nTunda: Next i Resume Case Else MsgBox "Error " & Err & ":" & Error, vbOKOnly Resume CancelcmdEditEnd SelectEnd Sub

Private Sub cmdDelete_Click()On Error GoTo ErrCmdDelete_ClickRsForum.Recordset.Delete 'Sumber Error pada Pesimistik LocksRsForum.Recordset.MoveNextIf RsForum.Recordset.EOF Then RsForum.Recordset.MoveLast 'Sumber Error kalau data telah habisEnd If

CancelcmdDelete:Exit Sub

ErrCmdDelete_Click:Select Case Err.Number 'Data telah kosong Case 3021 MsgBox "Data telah kosong", vbOKOnly + vbInformation, "Warning" 'Data Page (2 kb) telah dikunci oleh pemakai lain Case 3260 MsgBox "Data dikunci user lain, hapus tidak dapat dilakukan !", vbOKOnly + vbInformation Resume CancelcmdDelete Case Else MsgBox "Error" & Err.Number & vbCrLf & Err.DescriptionEnd SelectEnd Sub

7.2. Masalah pada Optimistik LocksMasalah pada Optimistik Locks adalah kegagalan penguncian karena Page sedang dikunci oleh pemakai lain,

sehingga permintaan Locks pada saat Update (Optimistik) gagal dilakukan, ataupun data telah diubah oleh pemakai

lain sejak metoda Edit, karena pada Optimistik Locks, tetap terbuka pemakai lain melakukan Edit terhadap data yang

sama.

Anda dapat menggunakan Error Handling untuk menangani kegagalan ini dengan mengevaluasi nilai Err yang

dihasilkan, dalam hal ini adalah 3260 (kegagalan penguncian) dan 3197 (data telah berubah sejak metoda edit). Untuk

merefresh data yang telah berubah, anda dapat menggunakan metoda Move 0.

92

Page 96: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Contoh :Private Sub cmdUpdate_Click()On Error GoTo ErrcmdUpdate_clickIf txtForumID.Text = "" Then MsgBox "Forum ID tidak boleh kosong", vbCritical, "Warning" Exit SubEnd IfIf txtKeterangan.Text = "" Then MsgBox "Keterangan tidak boleh kosong", vbCritical, "Warning" Exit SubEnd IfIf txtAlamat.Text = "" Then MsgBox "Alamat tidak boleh kosong", vbCritical, "Warning" Exit SubEnd IfRsForum.Recordset.Update 'Sumber Error Pada Optimistik LocksFlag = flNoneCall Kunci(True)Call AturTombol(True, True, True, False, False)RsForum.Recordset.Bookmark = RsForum.Recordset.LastModifiedCancelcmdUpdate:Exit SubErrcmdUpdate_click:Select Case Err.Number 'Terjadi duplikasi pada Primary Key Case 3022 MsgBox "Telah terjadi duplikasi pada Forum ID", vbOKOnly + vbInformation, "Warning" 'Data telah dihapus pemakai lain Case 3167 MsgBox "Data telah dihapus pemakai lain" & vbCrLf & _ "Lakukan refresh data anda !", vbOKOnly + vbInformation 'Data telah berubah sejak metoda Edit Case 3197 'Data pada recordset telah berubah 'sejak ditampilkan. MsgBox "Data telah diubah oleh pemakai lain !", vbOKOnly + vbInformation 'Hal ini secara otomatis akan menyegarkan 'kembali recordset untuk menampilkan data terakhir RsForum.Recordset.Move 0 Resume CancelcmdUpdate 'Data Page (2 kb) telah dikunci oleh pemakai lain Case 3260 'Record dikunci pemakai lain nHitung = nHitung + 1 'Mencoba mengunci dua kali 'Memungkinkan pemakai membuat keputusan ulangi, batal If nHitung > 2 Then nPilih = MsgBox("Data sedang dikunci pemakai lain" & vbCrLf & _ "Ulangi penguncian ?", vbYesNo + _ vbQuestion) If nPilih = vbYes Then nHitung = 1 Else Resume CancelcmdUpdate End If End If DoEvents 'menjalankan event windows 'menunda sejumlah waktu random nTunda = nHitung ^ 2 * Int(Rnd * 3000 + 1000) For i = 1 To nTunda: Next i

93

Page 97: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Resume Case Else MsgBox "Error " & Err & ":" & Error, vbOKOnly Resume CancelcmdUpdateEnd SelectEnd Sub

7.3. Recordset pada lingkungan MultiUser

a) TableSuatu Recordset jenis Tabel mengambil data dari suatu tabel, anda dapat melakukan tambah, perbaiki

maupun hapus data dari tabel, Hanya record yang aktif yang dimuat ke memori. Sehingga perubahan, penambahan

dan penghapusan data oleh pemakai lain dapat langsung diakses.

b) DynasetRecordset jenis Dynaset adalah himpunan dari record-record secara dinamis yang dapat mengandung field-

field dari satu atau lebih tabel maupun query yang dapat di update. Ketika user mengupdate data, maka tabel yang

berkaitan akan berubah. Pada lingkungan MultiUser, perubahan data tersebut dapat langsung diakses, tetapi jika

seorang user melakukan penambahan data, data tersebut tidak akan kelihatan sama user lain, sampai pemakaian

metoda Requery (pada Data Kontrol digunakan Refresh). Jika seorang user menghapus suatu record, user lain akan

diberitahu ketika akan mengakses record tersebut.

Contoh :Private Sub cmdRefresh_Click()

RsForum.RefreshEnd Sub

94

Page 98: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Bab VIIIMengenal SQL

Structured Query Language (SQL) adalah suatu bahasa database standar industri. SQL menyediakan Data

Definiton Language (DDL) dan Data Manipulation Language (DML). Walaupun dalam beberapa bagian saling

bersangkutan, perintah DDL memungkinkan kita untuk membuat dan mendefinisikan tabel (CREATE TABLE), dan

index (CREATE INDEX), sedangkan perintah DML memungkinkan anda untuk membangun query untuk mengambil

data (SELECT) dari beberapa tabel, menyisip (INSERT) data baru, memperbaiki (UPDATE) data, dan menghapus

(DELETE).

8.1. Data Definition Language (DDL)

a) Membuat Tabel BaruCREATE TABLE table (field1 type [(size)] [NOT NULL] [index1] [, field2 type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])Perintah CREATE TABLE digunakan untuk mendefinisikan suatu tabel baru beserta fieldnya dan konstraint,

jika NOT NULL disebutkan, maka record baru membutuhkan data yang sah untuk field tersebut.

CONSTRAINT clause dapat digunakan untuk membuat berbagai batasan pada field termasuk PRIMARY KEY,

anda dapat juga menggunakan perintah CREATE INDEX untuk membuat index dan PRIMARY KEY pada tabel yang

ada. CONSTRAINT clause menyerupai CREATE INDEX, tetapi dapat digunakan untuk membuat Relation antar tabel.

CONSTRAINT name {PRIMARY KEY | UNIQUE | NOT NULL | REFERENCES foreigntable [(foreignfield1, foreignfield2)]}

dimana :table nama tabel yang akan dibuat

field1, field2 nama fieldType jenis data pada masing-masing fieldsize ukuran field untuk jenis data TEXT dan Binaryindex untuk membuat CONSTRAINT

Jenis data pada database JETJenis Data Ukuran Penyimpanan Keterangan

BINARY 1 byte per karakter Menyimpan segala jenis data sebagaimana adanya tanpa translasi.BIT 1 byte Menyimpan nilai Yes atau No.BYTE 1 byte Menyimpan nilai integer 0 s/d 255

COUNTER 4 byte Menyimpan nilai numerik yang otomatis bertambah setiap record baru ditambahkan.

CURRENCY 8 byte Menyimpan suatu nilai skalar antara – 922,337,203,685,477.5808 dan 922,337,203,685,477.5807

DATETIME 8 byte Menyimpan suatu nilai tanggal dan waktu antara tahun 100 s/d 9999GUID 128 byte Menyimpan suatu nomor identifikasi unik yang digunakan untuk RPC

SINGLE 4 byteMenyimpan suatu nilai floating point single-precision dengan jangkauan – 3.402823E38 s/d – 1.401298E-45 untuk nilai negatif , 1.401298E-45 s/d 3.402823E38 untuk nilai positif dan 0.

DOUBLE 8 byte

Menyimpan suatu nilai floating point double-precision dengan jangkauan – 1.79769313486232E308 s/d – 4.94065645841247E-324 untuk nilai negatif, 4.94065645841247E-324 s/d 1.79769313486232E308 untuk nilai positif, dan 0

SHORT 2 byte Menyimpan suatu nilai short integer antara – 32,768 dan 32,767.

LONG Menyimpan suatu nilai long integer antara – 2,147,483,648 dan 2,147,483,647.

LONGTEXT 1 byte per karakter Kosong s/d maksimal 1.2 gigabytes.

95

Page 99: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

LONGBINARY Sesuai dengan kebutuhan Kosong s/d maksimal 1.2 gigabytes. Digunakan untuk objek OLE.TEXT 1 byte per karakter 0 s/d 255 karakter

Contoh :Tabel Forum

Nama Field Type Size AutoIncrField AllowNulls RequireForumID Text 25 Tidak YaKeterangan Text 50 Alamat Text 50 Tidak Ya

Primary Key (P_Key) dengan field ForumIDPerintah SQL :CREATE TABLE FORUM (

ForumID TEXT(25) NOT NULL CONSTRAINT P_KEY PRIMARY KEY,Keterangan TEXT(50),Alamat TEXT(50) NOT NULL);

atau CREATE TABLE FORUM (

ForumID TEXT(25) NOT NULL ,Keterangan TEXT(50),Alamat TEXT(50) NOT NULL,CONSTRAINT P_KEY PRIMARY KEY (ForumID));

Tabel StatusNama Field Type Size AutoIncrField AllowNulls Require

Status Byte 1 Tidak YaKeterangan Text 50

Primary Key (P_Key) dengan field StatusPerintah SQL :CREATE TABLE STATUS (

Status BYTE NOT NULL CONSTRAINT P_KEY PRIMARY KEY,Keterangan TEXT(50));

Tabel PesertaNama Field Type Size AutoIncrField AllowNulls Require

Email Text 25 Tidak YaNama Text 50 Alamat Text 50 Kota Text 50 Telepon Text 25 Homepage Text 50 Perusahaan Text 50 TanggalGabung Date 8

Primary Key (P_Key) dengan field EmailPerintah SQL :CREATE TABLE PESERTA (Email TEXT(25) NOT NULL CONSTRAINT P_KEY PRIMARY KEY,

Nama TEXT(50),Alamat TEXT(50),Kota TEXT(50),Telepon TEXT(50),Homepage TEXT(50),Perusahaan TEXT(50),TanggalGabung Date);

Tabel AktifitasNama Field Type Size AutoIncrField AllowNulls Require

96

Page 100: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

ID Long 4 Ya Email Text 25 Tidak YaForumID Text 25 Tidak YaStatus Byte Tidak Ya

Primary Key (P_Key) dengan field IDBerserta Relation terhadap tabel PESERTA, FORUM dan STATUS

Nama Field (Foreign key) Foreign Tabel Foreign FieldEmail Peserta EmailForumID Forum ForumIDStatus Status Status

Perintah SQL :CREATE TABLE AKTIFITAS (

ID COUNTER CONSTRAINT P_KEY PRIMARY KEY,Email TEXT(25) NOT NULL CONSTRAINT AktifitasPeserta REFERENCES PESERTA(Email),ForumID TEXT(25) NOT NULL CONSTRAINT AktifitasForum REFERENCES FORUM (ForumID),Status BYTE CONSTRAINT AktifitasStatus REFERENCES STATUS(Status));

b) Membuat IndexCREATE [ UNIQUE ] INDEX indexON table (field [ASC|DESC][, field [ASC|DESC], ...])[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

Membuat suatu index pada tabel yang telah ada.dimana :

index nama dari index yang akan dibuattable nama dari tabel yang akan mengandung index tersebutfield nama dari field yang akan di index

97

Page 101: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Gunakan UNIQUE untuk membuat nilai unik terhadap field tertentu sehingga tidak memungkinkan duplikasi

data. Gunakan WITH clause untuk menentukan apakah :

Tidak memperbolehkan pemasukan nilai Null pada field yang diindex dengan menggunakan option

DISALLOW NULL.

Menghindarkan record dengan nilai Null pada field yang diindex untuk diikutsertakan dalam index.

Membuat index sebagai PRIMARY, setiap tabel hanya dapat memiliki satu index PRIMARY.

Contoh membuat Index S_KEY berdasarkan Nama pada tabel PESERTA, perintah SQL DDL-nya adalah

sebagai berikut :

CREATE INDEX S_KEY ON PESERTA(NAMA);

c) Memodifikasi TabelALTER TABLE table {ADD {COLUMN field type[(size)] [NOT NULL] [CONSTRAINT index] |CONSTRAINT multifieldindex} |DROP {COLUMN field I CONSTRAINT indexname} }

Melakukan modifikasi terhadap rancangan tabel yang telah ada.dimana :Table Nama dari tabelField Nama field yang akan ditambah (ADD), dihapus (DROP)Type Type field yang akan ditambahkanSize Ukuran field yang akan ditambahkanIndex Perintah CONSTRAINT clauseindexname Nama index yang akan dihapus

Contoh menambahkan field Keterangan Text(50) pada tabel aktifitas :ALTER TABLE Aktifitas ADD COLUMN Keterangan Text(50);

d) Menghapus Table atau IndexDROP {TABLE table | INDEX index ON table}

Menghapus tabel yang ada dalam database, atau index dari suatu tabeltable nama tabel yang akan dihapus atau tabel dimana index beradaindex nama index yang akan dihapus

Contoh menghapus tabel TEMPDROP TABLE Temp;

Telah kita ketahui bahwa perintah SQL dibagi atas dua kelompok besar yaitu DDL (Data Definition Language)

dan DML (Data Manipulation Language). Pada DML, terbagi atas APPEND, UPDATE, DELETE, dan SELECT query

yang dapat digunakan untuk pengolahan data.

8.2. Menambah data dengan APPEND queryINSERT INTO target [(field1[, field2[, ...]])] VALUES (value1[, value2[, ...])

Menambah suatu record ke table, hal ini dikenal sebagai append query.

98

Page 102: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Contoh :KodeAnggota Nama Alamat Telepon Limit Daftar Blacklist

SD001 Susan Dewichan Jl. Thamrin No. 95 Medan 4513490 3 23-Sept-2001 False

INSERT INTO Anggota (KodeAnggota, Nama, Alamat, Telepon, Limit, BlackList)VALUES ('SD001','Susan Dewichan','Jl. Thamrin No. 95','4513490',3,#23-Sept-2001#);

8.3. Menghapus data dengan DELETE queryDELETE FROM tableWHERE criteria

Menghapus satu atau lebih record dari tabel yang berada di daftar FROM clause yang memenuhi WHERE

clause.

Pada tabel yang memiliki hubungan one-to-many relationship dengan tabel lain. Operasi Cascade delete dapat

menyebabkan record lain yang berada pada sisi many ikut terhapus ketika penghapusan di lakukan terhadap data

pada sisi one.

Catatan: Data yang telah dihapus dengan delete query, tidak dapat dibatalkan. Lakukan backup terhadap data anda

setiap saat. Jika anda salah menghapus, maka anda dapat mengambil kembali dari backup.

Contoh : DELETE FROM Anggota WHERE BlackList;

8.4. Memperbaiki Data dengan UPDATE queryMengubah nilai pada field-field yang ditentukan pada tabel berdasarkan kriteria tertentu.

Syntax :

UPDATE tableSET newvalueWHERE criteria;

Penting :· UPDATE tidak menghasilkan suatu himpunan hasil. Juga, setelah anda mengupdate record dengan

menggunakan update query, anda tidak dapat membatalkan operasi tersebut. Jika anda ingin mengetahui record

mana saja yang akan terupdate, pertama anda perlu melakukan select query dengan kriteria yang sama.

· Lakukan backup terhadap data anda setiap saat. Jika anda salah menghapus, maka anda dapat mengambil kembali

dari backup.

Contoh :UPDATE Anggota SET BlackList = True WHERE KodeAnggota = 'SD001';

8.5. Mengambil Data dengan SELECT queryMemerintahkan kepada Microsoft Jet Engine untuk mengembalikan data dari database dalam bentuk

recordset.

Syntax yang paling minimum dari SELECT statement adalah : SELECT fields FROM table

dimana fields adalah daftar dari field-field yang akan diambil dari tabel, anda dapat menggunakan tanda *

(Asterisk) untuk menyatakan seluruh field dari tabel.

Contoh :SELECT KodeAnggota, Nama, Alamat, Telepon, Limit, Daftar, Blacklist FROM Anggota;

AtauSELECT * FROM Anggota;

99

Page 103: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

8.6. Menganti nama kolom recordset dengan reserved word ASKetika recordset terbentuk, Microsoft Jet Engine menggunakan nama field sebagai nama objek field pada

recordset, anda dapat menentukan nama objek field tersebut dengan reserved word AS.

Contoh :SELECT KodeAnggota, Nama, Daftar As TanggalDaftar FROM Anggota;

dalam hal ini nama objek field TanggalDaftar akan digunakan untuk field Daftar.Anda dapat menggunakan AS untuk menentukan nama objek field pada recordset yang merupakan hasil dari

fungsi Agregate maupun ekspresi.

Contoh :SELECT Count(*) AS JlhAnggota FROM Anggota;

Akan mendapat suatu recordset dengan field JlhAnggota dan record tunggal yang berisi jumlah anggota yang

terdaftar pada tabel Anggota.

8.7. Membatasi hasil query dengan WHERE clauseSELECT fieldlistFROM tableexpressionWHERE criteria

Sebagaimana pemakaian WHERE clause pada UPDATE dan DELETE query, anda dapat menggunakan

WHERE clause untuk membatasi data yang dikembalikan berdasarkan kriteria tertentu.

Contoh :SELECT * FROM Anggota WHERE TanggalDaftar <= #01-Jan-2001#;

8.8. Mengurut hasil query dengan ORDER BY clauseSELECT fieldlistFROM tableWHERE selectcriteria[ORDER BY field1 [ASC | DESC ][, field2 [ASC | DESC ]][, ...]]]

Anda dapat menggunakan ORDER BY clause untuk menentukan urutan data hasil query berdasarkan field

tertentu, pada defaultnya adalah Ascending kalau tidak disebutkan ASC ataupun DESC.

Contoh :SELECT * FROM Anggota ORDER BY Nama;SELECT * FROM Anggota WHERE TanggalDaftar <= #01-Jan-2001# ORDER BY Nama;

8.9. Mengetahui statistik data dengan Fungsi AgregateAnda dapat menggunakan fungsi-fungsi Agregate seperti AVG (rata-rata), COUNT (jumlah data), MIN atau

MAX, SUM (hasil jumlah), StDEV atau StDEVP (standard deviasi sample/populasi), VAR atau VARP (variasi sample /

populasi) untuk mendapatkan nilai statistifk field terentu.

Contoh :SELECT Sum(Denda) AS JlhDenda FROM Transaksi Where Kembali = #20-Sep=2001#;

Akan mendapat suatu recordset dengan field JlhDenda dan record tunggal yang berisi jumlah perhitungan field

denda pada tanggal 20 September 2001 dari tabel Transaksi.

100

Page 104: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

8.10. Meringkas data dengan GROUP BY clauseSELECT fieldlistFROM tableWHERE criteria[GROUP BY groupfieldlist]

Anda dapat menggunakan ORDER BY clause untuk meringkas record yang nilai fieldnya sama menjadi satu

record dikombinasikan dengan fungsi Agregate untuk mendapatkan statistik dari masing-masing ringkasan.

Misalnya kita ingin mendapatkan suatu daftar recordset yang berisi jumlah denda harian berdasarkan tanggal

pengembalian (Kembali), maka perintah SQL adalah :

SELECT Kembali, Sum(Denda) AS JlhDenda FROM Transaksi ORDER BY kembali;

8.11. Membatasi data yang telah diringkas dengan HAVING clauseSELECT fieldlistFROM tableWHERE selectcriteriaGROUP BY groupfieldlist[HAVING groupcriteria]

Jika anda menggunakan WHERE clause untuk membatasi data hasil query berdasarkan kriteria tertentu, maka

HAVING clause digunakan untuk membatasi data setelah GROUPING dilakukan.

Contoh :SELECT Kembali, Sum(Denda) AS JlhDenda FROM Transaksi ORDER BY kembali HAVING Sum(Denda) > 10000;

Mendapatkan daftar hasil jumlah denda harian, dimana yang dikembalikan hanya jumlah denda yang diatas 10000.

8.12. Menggunakan predikat ALL, DISTINCT, DISTINCT ROW dan TOPSELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]FROM table

Secara default kalau tidak dituliskan, maka predikat ALL akan digunakan. Anda dapat menggunakan predikat

DISTINCT untuk mengambil satu record dari beberapa record yang memiliki nilai yang sama.

Contoh :SELECT DISTINCT Aktor FROM CD;

Akan menghasilkan daftar nama Aktor dari tabel CD yang kita miliki. pemakaian predikat DISTINCT dalam hal

ini untuk memastikan hanya 1 aktor terambil dari beberapa CD yang mungkin memiliki aktor utama yang sama.

Pemakaian predikat TOP untuk mendapatkan n record atau n persen record dari daftar teratas.

Misalnya kita ingin mendapatkan 10 kode CD yang paling sering diTransaksi oleh Anggota.

SELECT TOP 10 KodeCD, Count(*) FROM Transaksi GROUP BY KodeCD ORDER BY Count(*) DESC;

Syntax penulisan kongkrit dari SELECT statementSELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}FROM tableexpression [, ...]

101

Page 105: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

[WHERE... ][GROUP BY... ][HAVING... ][ORDER BY... ]

8.13. Mengambil kolom dari dua atau lebih tabel dengan Operasi INNER JOINKadang-kadang kita perlu melakukan kombinasi kolom-kolom dari beberapa tabel menjadi suatu recordset

tunggal dimana yang memiliki nilai yang sama pada kolom tertentu.

Pada operasi INNER JOIN akan mengabungkan record-record yang memiliki nilai sama pada kolom tertentu pada

kedua tabel.

FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2

Perhatikan kembali tabel-tabel pada Rental.Mdb modul sebelumnya :Tabel TransaksiNama Field Type

NoTransaksi LongTanggal DateTimeKodeAnggota TextKodeCD TextKembali DateTimeDenda Currency

Tabel CDNama Field Type

KodeCD TextJudul TextKategori TextAktor TextHarga CurrencyDaftar DateTime

Tabel AnggotaNama Field Type

KodeAnggota TextNama TextAlamat TextTelepon TextLimit ByteDaftar DateTime

Misalnya kita ingin mengambil suatu recordset yang berisi kolom-kolom berikut :

Kolom Tabel sumber KriteriaTanggal Transaksi Judul Transaksi Nama Anggota Denda Transaksi Not Null

102

Page 106: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Dalam hal ini kita akan menggambil data dari dua tabel, yaitu tabel Transaksi, dan tabel Anggota, dimana

dalam pengambilan tersebut KodeAnggota pada tabel Transaksi harus bersesuaian dengan KodeAnggota pada tabel

Anggota, sehingga FROM clause-nya dapat ditulis menjadi :

FROM Transaksi INNER JOIN Anggota ON Transaksi.KodeAnggota = Anggota.KodeAnggota

Sehingga Perintah SQL adalah sebagai berikut :SELECT Transaksi.Tanggal, Transaksi.KodeAnggota, Anggota.Nama, Transaksi.Denda FROM Transaksi INNER JOIN Anggota ON Transaksi.KodeAnggota = Anggota.KodeAnggota WHERE NOT Denda Is NULL;

Pada perintah SELECT yang menggambil kolom lebih dari satu tabel, kita perlu menuliskan nama Tabel dan Field yang dipisahkan dengan dot (.).

Anda dapat melakukan nested untuk mengambil data lebih dari dua tabel

Misalnya kita ingin mengambil suatu recordset yang berisi kolom-kolom berikut :

Kolom Tabel sumber KriteriaTanggal Transaksi Judul CD Nama Anggota Harga CD

Dalam hal ini kita akan menggambil data dari tiga tabel, yaitu tabel Transaksi, tabel CD dan tabel Anggota,

dimana dalam pengambilan tersebut KodeCD pada tabel Transaksi harus bersesuaian dengan KodeCD pada tabel

CD, dan KodeAnggota pada tabel Transaksi harus bersesuaian dengan KodeAnggota pada tabel Anggota, sehingga

FROM clause-nya dapat ditulis menjadi :

FROM (Transaksi INNER JOIN Anggota ON Transaksi.KodeAnggota = Anggota.KodeAnggota) INNER JOIN CD ON

Transaksi.KodeCD =CD.KodeCD;

Atau

FROM (Transaksi INNER JOIN CD ON Transaksi.KodeCD =CD.KodeCD) INNER JOIN Anggota ON

Transaksi.KodeAnggota = Anggota.KodeAnggota ;

dan perintah SQLnya adalah sebagai berikut :SELECT Transaksi.NoTransaksi, CD.Judul, CD.Harga, Anggota.NamaFROM (Transaksi INNER JOIN Anggota ON Transaksi.KodeAnggota = Anggota.KodeAnggota)INNER JOIN CD ON Transaksi.KodeCD =CD.KodeCD;

atauSELECT Transaksi.NoTransaksi, CD.Judul, CD.Harga, Anggota.NamaFROM (Transaksi INNER JOIN CD ON Transaksi.KodeCD =CD.KodeCD)INNER JOIN Anggota ON Transaksi.KodeAnggota = Anggota.KodeAnggota ;

8.14. Operasi LEFT JOIN, RIGHT JOIN Jika pada operasi INNER JOIN, recordset yang dihasilkan adalah data-data yang memiliki nilai yang

bersesuaian pada kolom tertentu, sedangkan operasi OUTER JOIN seperti LEFT JOIN dan RIGHT JOIN dapat

digunakan untuk mengambil seluruh data dari suatu tabel walaupun pada tabel lainnya tidak ada data yang

bersesuaian.

Contoh :SELECT Transaksi.Tanggal, Transaksi.KodeAnggota, Anggota.Nama, Transaksi.Denda

103

Page 107: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

FROM Transaksi LEFT JOIN Anggota ON Transaksi.KodeAnggota = Anggota.KodeAnggota WHERE NOT Denda Is NULL;

8.15. Membuat union query dengan Operasi UNIONMembuat suatu query union, yang mana mengabung hasil dari dua query atau tabel dengan menghilangkan

record duplikat, untuk mengikutkan record yang duplikat, anda dapat mencamtumkan ALL.

[TABLE] query1 UNION [ALL] [TABLE] query2 [UNION [ALL] [TABLE] queryn [ ... ]]

Misalnya kita memiliki dua tabel History (data transaksi bulan lalu), Transaksi (data transaksi sekarang), kita

ingin mengambil data dari dua tabel tersebut menjadi satu recordset.

SELECT * FROM History UNION ALL SELECT * FROM Transaksi;

8.16. Membuat CROSSTAB query dengan TRANSFORM statementTRANSFORM aggfunctionselectstatementPIVOT pivotfield [IN (value1[, value2[, ...]])]

Anda dapat menggunakan perintah TRANSFORM untuk membuat suatu Crosstab query yang merupakan

ringkasan data yang kolomnya berasal dari field atau ekspresi.

Misalnya kita akan membuat ringkasan data jumlah transaksi peminjaman CD oleh masing-masing Anggota

(baris) pada masing-masing bulan JAN, FEB, ... (kolom)

Maka perintahnya adalah :TRANSFORM Count(NoTransaksi)SELECT Transaksi.KodeAnggotaFROM Transaksi

104

Page 108: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

GROUP BY Transaksi.KodeAnggotaPIVOT Format([Tanggal],"mmm") In ("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

Bab IXMemahami ADODC melalui Data Form Wizard

Data Form wizard adalah salah satu fasilitas Add In yang disediakan oleh Visual Basic untuk membuat form

isian data lokal maupun remote.

Pada Modul ini kita akan memanfaatkan fasilitas ini untuk mempelajari kontrol ADODC yang diperkenalkan

sejak Visual Basic 6.0.

9.1. Mengaktifkan fasilitas Data Form WizardAnda dapat mengaktifkan fasilitas ini melalui menu Add Ins, Add Ins Manager, dan kemudian akan muncul

dialog box Add-In Manager, dan lakukan double klik pada VB 6 Data Form Wizard.

9.2. Menjalankan Data Form WizardUntuk mengaktifkan data form wizard anda dapat memilihnya langsung pada menu Add-Ins, sehingga ditampilkan dialog box Data Form Wizard.

Lakukan klik Next, dan akan muncul dialog box berikutnya yaitu memilih jenis database yang akan digunakan, dalam hal ini Access (data lokal), atau Remote (SQL server)

Misalnya kita memilih Access, dan akan muncul sebuah kotak dialog.

Tentukan nama database yang akan digunakan, misalnya C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb, dan lakukan klik pada tombol Next.

105

Page 109: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Dalam hal ini kita akan menggunakan ADO Data Control.

Tentukan Record Source yang akan digunakan, dalam hal ini kita menggunakan tabel Customers, kemudian tentukan field-field yang akan digunakan, dan kolom yang akan di Sort, dan klik pada Next.

Selanjutnya tentukan tombol-tombol yang ingin ditambahkan pada form, dan klik pada next.

Akhirnya akan menghasilkan suatu form frmCustomer.Untuk menjalankan frmCustomer, anda dapat melakukan pengaturan pada Project, Project Properties, dan lakukan pemilihan frmCustomer pada bagian StartUp Object.

9.3. Mempelajari kontrol ADODC hasil Form Wizard.Lakukan klik kanan pada kontrol ADODC, dan pilih ADODC Properties

Hal yang paling paling penting dari suatu ADODC adalah Connection String. Connection String ini dapat dibuat

dengan command Build, atupun dengan mengetik sendiri.

PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;

Misalnya dengan menggunakan command Build.

Dalam hal ini PROVIDER yang kita gunakan adalah Microsoft.Jet.OLEDB.3.51. Jenis provider ini sangat tergantung

kepada jenis database yang kita gunakan, dalam hal ini adalah *.mdb.

Catatan :Microsoft.Jet.OLEDB.3.51, hanya mampu membuka sampai database Access 97, untuk membuka data Access 2000, anda perlu mengunakan PROVIDER Microsoft.Jet.OLEDB.4.0.

Selanjutkan adalah menunjukkan database yang kita gunakan dalam connection. Klik pada Test Connection untuk mencoba keberhasilan koneksi dengan sumber data.

Halaman Authentication dapat digunakan untuk login ke sistem database yang membutuhkan authentication User Name dan Password, misalnya pada database SQL Server.

Halaman RecordSource digunakan untuk menentukan sumber data dari Table, Query ataupun suatu SQL Statement.

Dalam hal ini menggunakan SQL Statement :

106

Page 110: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

select CustomerID,CompanyName,Address,City,ContactName,ContactTitle,Country,Fax,Phone,PostalCode,Region

from Customers

9.4. Bound TextBox pada ADODC

Hasil dari Data Form Wizard menggunakan metode bound kontrol terhadap kontrol ADODC. Untuk mempelajari cara bound kontorl tersebut lakukan klik pada txtFields(0), dan pelajari properti-propertinya :Property ValueDataSource DatPrimaryRsDataField CustomerIdDalam hal ini Property DataSource berisi DatPrimaryRs (nama dari kontrol ADODC), dan properti DataField berisi

CustomerId (nama dari field yang di bound)

Periksa juga txtFields(1), dst.

Mempelajari Koding yang dihasilkan Event datPrimaryRS_Error, merupakan event yang akan dibangkitkan ketika terjadi kesalahan pada

proses data oleh ADODC.

Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean)

'Ini merupakan tempat anda menempatkan kode error handling

MsgBox "Data error event hit err:" & Description

End Sub

Event datPrimaryRS_MoveComplete, merupakan event yang akan dibangkitkan ketika terjadi

perubahan posisi record.

Private Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)

'Dalam hal ini akan menampilkan posisi record pada data kontrol

datPrimaryRS.Caption = "Record: " & CStr(datPrimaryRS.Recordset.AbsolutePosition)

End Sub

Event datPrimaryRS_WillChangeRecord, merupakan event yang akan dibangkitkan ketika akan terjadi perubahan pada record, yang dapat dipelajari dari parameter adReason, dan perubahan tersebut dapat

dibatalkan dengan parameter adStatus.

Private Sub datPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 'Merupakan tempat anda menempatkan kode validasi, ubah isi bCancel menjadi False untuk membatalkan

perubahan

'Event ini akan dibangkitkan ketika terjadi hal seperti

107

Page 111: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Dim bCancel As Boolean

Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select If bCancel Then adStatus = adStatusCancelEnd Sub

Event cmdAdd_Click, merupakan event untuk command button cmdAdd.Private Sub cmdAdd_Click() On Error GoTo AddErr datPrimaryRS.Recordset.AddNew

Exit SubAddErr: MsgBox Err.DescriptionEnd Sub

Event cmdDelete_Click, merupakan event untuk command button cmdDeletePrivate Sub cmdDelete_Click() On Error GoTo DeleteErr With datPrimaryRS.Recordset .Delete .MoveNext If .EOF Then .MoveLast End With Exit SubDeleteErr: MsgBox Err.DescriptionEnd Sub

Event cmdRefresh_Click, merupakan event untuk command button cmdRefreshPrivate Sub cmdRefresh_Click() 'Bagian ini dibutuhkan pada lingkungan multiuser On Error GoTo RefreshErr datPrimaryRS.Refresh Exit SubRefreshErr: MsgBox Err.DescriptionEnd Sub

Event cmdUpdate_Click, merupakan event untuk command button cmdUpdatePrivate Sub cmdUpdate_Click() On Error GoTo UpdateErr

datPrimaryRS.Recordset.UpdateBatch adAffectAll Exit SubUpdateErr: MsgBox Err.DescriptionEnd Sub

108

Page 112: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Event cmdClose_Click, merupakan event untuk command button cmdClosePrivate Sub cmdClose_Click() Unload MeEnd Sub

Event Form_Unload, merupakan event untuk Form_UnloadPrivate Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefaultEnd Sub

9.5. Memahami koding ADO melalui Data Form WizardPada data form wizard memberikan pilihan kepada anda jenis data binding yang akan digunakan, apakah

dengan ADODC atau ADO Code. Pada bagian ini kita akan mempelajari koding ADO.

Selanjutnya langkah wizard adalah sama dengan bagian sebelumnya.

109

Page 113: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Sesuatu hal yang harus anda sadari adalah bahwa record navigator yang ada bukan merupakan suatu

ADODC, melainkan dibuat dengan menggunakan Command button dan Label.

9.6. Reference ke Microsoft ActiveX Data Objects 2.0 LibrarySesaat setelah frmCustomer berhasil di generate, maka pada project anda otomatis direference ke Microsoft ActiveX

Data Objects 2.0 Library.

9.7. Bound TextBox pada ADO

110

Page 114: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Untuk mempelajari cara bound kontrol ke ADO, lakukan klik pada txtFields(0), dan pelajari properti-propertinya :Property ValueDataSource kosong (tidak diisi)DataField CustomerId

Dalam hal ini, properti DataSource tidak disi (binding akan dilakukan secara koding pada event Form_Load),

sedangkan DataField berisi nama field yang akan di bound.

Mempelajari Koding yang dihasilkan Pada bagian General Declaration, pada bagian ini dideklarasikan variabel-variabel yang digunakan pada

form, salah satu variabel yang sangat penting adalah adoPrimaryRS yang dideklarasikan sebagai Recordset (dalam

hal ini adalah Recordset dari ADO, karena project kita reference ke Microsoft ActiveX Data Objects 2.0 Library.

Sesuatu hal yang baru disini adalah deklarasi variabel object adoPrimaryRS diawali dengan WithEvents. Pada

VB 6.0 kita dapat mendeklarasi variabel object beserta dengan eventnya untuk object yang memiliki event (dalam hal

ini ADO memiliki beberapa event yang dapat dikoding). Hal ini tidak ditemui pada VB 5.0 maupun DAO.

Dim WithEvents adoPrimaryRS As Recordset

Attribute adoPrimaryRS.VB_VarHelpID = -1

Dim mbChangedByCode As Boolean

Dim mvBookMark As Variant

Dim mbEditFlag As Boolean

Dim mbAddNewFlag As Boolean

Dim mbDataChanged As Boolean

Event Form_Load, pada bagian ini akan membuka tabel Customer (dengan SQL) sebagai recordset yang

akan digunakan pada form. Pada ADO, pembukaan recordset harus didahului dengan membuka koneksi ke data

provider dengan object Connection dan Connection String.

Perhatikan Connection String yang digunakan : "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;"

Selanjutnya adalah melakukan bind masing-masing textbox ke data provider adoPrimaryRs dengan looping

For Each, dan menggunakan properti DataSource.

For Each oText In Me.txtFields Set oText.DataSource = adoPrimaryRSNext

Private Sub Form_Load() Dim db As Connection 'Mempersiapkan variabel object Connection Set db = New Connection db.CursorLocation = adUseClient db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;"

Set adoPrimaryRS = New Recordset adoPrimaryRS.Open "select Address,City,CompanyName,ContactName,ContactTitle,Country,CustomerID,Fax,Phone,PostalCode,Region from Customers", db, adOpenStatic, adLockOptimistic

Dim oText As TextBox 'Bind masing-masing textbox ke data provider For Each oText In Me.txtFields

111

Page 115: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Set oText.DataSource = adoPrimaryRS Next

mbDataChanged = FalseEnd Sub

Pada Event Form Resize, pada bagian ini dilakukan pengaturan ukuran record navigator yang disesuaikan

dengan ukuran form, dalam hal ini record navigator dibuat dengan command button, dan Label.

Private Sub Form_Resize() On Error Resume Next

lblStatus.Width = Me.Width - 1500 cmdNext.Left = lblStatus.Width + 700 cmdLast.Left = cmdNext.Left + 340

End Sub

Pada Event Form KeyDown, pada bagian ini akan dibangkitkan event-event yang bersesuaian dengan

penekanan tombol oleh pemakai pada form aktif.

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If mbEditFlag Or mbAddNewFlag Then Exit Sub

Select Case KeyCode Case vbKeyEscape cmdClose_Click Case vbKeyEnd cmdLast_Click Case vbKeyHome cmdFirst_Click Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then cmdFirst_Click Else cmdPrevious_Click End If Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then cmdLast_Click Else cmdNext_Click End If End SelectEnd Sub

Pada Event adoPrimaryRS_MoveComplete, event ini akan dibangkitkan setelah perubahan posisi record.

Event ini bekerja pada object adoPrimaryRS yang dideklarasikan dengan WithEvents.

Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 'This will display the current record position for this recordset lblStatus.Caption = "Record: " & CStr(adoPrimaryRS.AbsolutePosition)End Sub

Pada Event adoPrimaryRS_WillChangeRecord, event ini akan dibangkitkan sesaat terjadi perubahan isi record. Private Sub adoPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 'This is where you put validation code 'This event gets called when the following actions occur Dim bCancel As Boolean

112

Page 116: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select

If bCancel Then adStatus = adStatusCancelEnd Sub

Event cmdAdd_Click, merupakan event untuk command button cmdAdd. Private Sub cmdAdd_Click() On Error GoTo AddErr With adoPrimaryRS If Not (.BOF And .EOF) Then mvBookMark = .Bookmark End If .AddNew lblStatus.Caption = "Add record" mbAddNewFlag = True SetButtons False End With

Exit SubAddErr: MsgBox Err.DescriptionEnd Sub

Event cmdDelete_Click, merupakan event untuk command button cmdDelete Private Sub cmdDelete_Click() On Error GoTo DeleteErr With adoPrimaryRS .Delete .MoveNext If .EOF Then .MoveLast End With Exit SubDeleteErr: MsgBox Err.DescriptionEnd Sub

Event cmdRefresh_Click, merupakan event untuk command button cmdRefresh Private Sub cmdRefresh_Click() 'This is only needed for multi user apps On Error GoTo RefreshErr adoPrimaryRS.Requery Exit SubRefreshErr: MsgBox Err.DescriptionEnd Sub

Event cmdEdit_Click, merupakan event untuk command button cmdEdit

113

Page 117: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

Private Sub cmdEdit_Click() On Error GoTo EditErr

lblStatus.Caption = "Edit record" mbEditFlag = True SetButtons False Exit Sub

EditErr: MsgBox Err.DescriptionEnd SubPrivate Sub cmdCancel_Click() On Error Resume Next

SetButtons True mbEditFlag = False mbAddNewFlag = False adoPrimaryRS.CancelUpdate If mvBookMark > 0 Then adoPrimaryRS.Bookmark = mvBookMark Else adoPrimaryRS.MoveFirst End If mbDataChanged = FalseEnd Sub

Event cmdUpdate_Click, merupakan event untuk command button cmdUpdate Private Sub cmdUpdate_Click() On Error GoTo UpdateErr

adoPrimaryRS.UpdateBatch adAffectAll

If mbAddNewFlag Then adoPrimaryRS.MoveLast 'move to the new record End If

mbEditFlag = False mbAddNewFlag = False SetButtons True mbDataChanged = False

Exit SubUpdateErr: MsgBox Err.DescriptionEnd Sub

Event cmdClose_Click, merupakan event untuk command button cmdClose Private Sub cmdClose_Click() Unload MeEnd Sub

Event cmdFirst_Click, merupakan event untuk command button cmdFirst Private Sub cmdFirst_Click() On Error GoTo GoFirstError

adoPrimaryRS.MoveFirst mbDataChanged = False

Exit Sub

114

Page 118: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

GoFirstError: MsgBox Err.DescriptionEnd Sub

Event cmdLast_Click, merupakan event untuk command button cmdLast Private Sub cmdLast_Click() On Error GoTo GoLastError

adoPrimaryRS.MoveLast mbDataChanged = False

Exit Sub

GoLastError: MsgBox Err.DescriptionEnd Sub

Event cmdNext_Click, merupakan event untuk command button cmdNext Private Sub cmdNext_Click() On Error GoTo GoNextError

If Not adoPrimaryRS.EOF Then adoPrimaryRS.MoveNext If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount > 0 Then Beep 'moved off the end so go back adoPrimaryRS.MoveLast End If 'show the current record mbDataChanged = False

Exit SubGoNextError: MsgBox Err.DescriptionEnd Sub

Event cmdPrevious_Click, merupakan event untuk command button cmdPrevious Private Sub cmdPrevious_Click() On Error GoTo GoPrevError

If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious If adoPrimaryRS.BOF And adoPrimaryRS.RecordCount > 0 Then Beep 'moved off the end so go back adoPrimaryRS.MoveFirst End If 'show the current record mbDataChanged = False

Exit Sub

GoPrevError: MsgBox Err.DescriptionEnd Sub

Private Sub SetButtons(bVal As Boolean) cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal

115

Page 119: Pengenalan Visual Basic · Web viewc) Menggunakan Metode dalam Kode 13 d) Beberapa properti yang umum 13 e) Beberapa Metode-metode umum 17 f) Beberapa Event yang umum 19 2.4. Objek

cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Visible = bVal cmdRefresh.Visible = bVal cmdNext.Enabled = bVal cmdFirst.Enabled = bVal cmdLast.Enabled = bVal cmdPrevious.Enabled = bValEnd Sub

Event Form_Unload, merupakan event yang akan dibangkitkan ketika form di buang dari memori. Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefaultEnd Sub

116